guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/05: installer: keymap: Fix keymap selection of layouts with not varia


From: guix-commits
Subject: 02/05: installer: keymap: Fix keymap selection of layouts with not variant.
Date: Wed, 5 Dec 2018 08:12:04 -0500 (EST)

mothacehe pushed a commit to branch wip-newt-installer
in repository guix.

commit 21b538a7cec76709385d9afc647d167fcfa9cf9e
Author: Mathieu Othacehe <address@hidden>
Date:   Wed Dec 5 21:55:51 2018 +0900

    installer: keymap: Fix keymap selection of layouts with not variant.
    
    * gnu/installer/newt/keymap.scm (run-keymap-page): Test if the layout has no
    variant at 'variant step, instead of raising a condition at 'layout step.
---
 gnu/installer/newt/keymap.scm | 28 ++++++++++++----------------
 1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm
index 9178a43..55a0aa6 100644
--- a/gnu/installer/newt/keymap.scm
+++ b/gnu/installer/newt/keymap.scm
@@ -66,28 +66,24 @@ names of the selected keyboard layout and variant."
       (id 'layout)
       (compute
        (lambda _
-         (let* ((layout (run-layout-page
-                         layouts
-                         (lambda (layout)
-                           (x11-keymap-layout-description layout)))))
-           (if (null? (x11-keymap-layout-variants layout))
-               ;; Break if this layout does not have any variant.
-               (raise
-                (condition
-                 (&installer-step-break)))
-               layout)))))
+         (run-layout-page
+          layouts
+          (lambda (layout)
+            (x11-keymap-layout-description layout))))))
      ;; Propose the user to select a variant among those supported by the
      ;; previously selected layout.
      (installer-step
       (id 'variant)
       (compute
        (lambda (result _)
-         (let ((variants (x11-keymap-layout-variants
-                          (result-step result 'layout))))
-           (run-variant-page variants
-                             (lambda (variant)
-                               (x11-keymap-variant-description
-                                variant)))))))))
+         (let* ((layout (result-step result 'layout))
+                (variants (x11-keymap-layout-variants layout)))
+           ;; Return #f if the layout does not have any variant.
+           (and (not (null? variants))
+                (run-variant-page variants
+                                  (lambda (variant)
+                                    (x11-keymap-variant-description
+                                     variant))))))))))
 
   (define (format-result result)
     (let ((layout (x11-keymap-layout-name



reply via email to

[Prev in Thread] Current Thread [Next in Thread]