diff options
| -rw-r--r-- | gnu/installer.scm | 2 | ||||
| -rw-r--r-- | gnu/installer/newt/keymap.scm | 21 |
2 files changed, 14 insertions, 9 deletions
diff --git a/gnu/installer.scm b/gnu/installer.scm index 7863edbb67d..d2be4b34f91 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm | |||
| @@ -187,7 +187,7 @@ selected keymap." | |||
| 187 | (lambda (models layouts) | 187 | (lambda (models layouts) |
| 188 | ((installer-keymap-page current-installer) | 188 | ((installer-keymap-page current-installer) |
| 189 | layouts '#$context))))) | 189 | layouts '#$context))))) |
| 190 | (#$apply-keymap result) | 190 | (and result (#$apply-keymap result)) |
| 191 | result))) | 191 | result))) |
| 192 | 192 | ||
| 193 | (define (installer-steps) | 193 | (define (installer-steps) |
diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm index 1b3af2f158b..92f7f46f34d 100644 --- a/gnu/installer/newt/keymap.scm +++ b/gnu/installer/newt/keymap.scm | |||
| @@ -56,7 +56,7 @@ different layout at any time from the parameters menu."))) | |||
| 56 | (else (G_ "Exit"))) | 56 | (else (G_ "Exit"))) |
| 57 | #:button-callback-procedure | 57 | #:button-callback-procedure |
| 58 | (case context | 58 | (case context |
| 59 | ((param) (const #t)) | 59 | ((param) (const #f)) |
| 60 | (else | 60 | (else |
| 61 | (lambda _ | 61 | (lambda _ |
| 62 | (raise | 62 | (raise |
| @@ -183,7 +183,9 @@ options." | |||
| 183 | (compute | 183 | (compute |
| 184 | (lambda (result _) | 184 | (lambda (result _) |
| 185 | (let* ((layout (result-step result 'layout)) | 185 | (let* ((layout (result-step result 'layout)) |
| 186 | (variants (x11-keymap-layout-variants layout))) | 186 | (variants (if layout |
| 187 | (x11-keymap-layout-variants layout) | ||
| 188 | '()))) | ||
| 187 | ;; Return #f if the layout does not have any variant. | 189 | ;; Return #f if the layout does not have any variant. |
| 188 | (and (not (null? variants)) | 190 | (and (not (null? variants)) |
| 189 | (run-variant-page | 191 | (run-variant-page |
| @@ -196,16 +198,19 @@ options." | |||
| 196 | (gettext (x11-keymap-layout-description layout) | 198 | (gettext (x11-keymap-layout-description layout) |
| 197 | "xkeyboard-config"))))))))))) | 199 | "xkeyboard-config"))))))))))) |
| 198 | 200 | ||
| 199 | (define (format-result result) | 201 | (define (format-result layout variant) |
| 200 | (let ((layout (x11-keymap-layout-name | 202 | (let ((layout (x11-keymap-layout-name layout)) |
| 201 | (result-step result 'layout))) | 203 | (variant (and=> variant |
| 202 | (variant (and=> (result-step result 'variant) | ||
| 203 | (lambda (variant) | 204 | (lambda (variant) |
| 204 | (gettext (x11-keymap-variant-name variant) | 205 | (gettext (x11-keymap-variant-name variant) |
| 205 | "xkeyboard-config"))))) | 206 | "xkeyboard-config"))))) |
| 206 | (toggleable-latin-layout layout variant))) | 207 | (toggleable-latin-layout layout variant))) |
| 207 | (format-result | 208 | |
| 208 | (run-installer-steps #:steps keymap-steps))) | 209 | (let* ((result (run-installer-steps #:steps keymap-steps)) |
| 210 | (layout (result-step result 'layout)) | ||
| 211 | (variant (result-step result 'variant))) | ||
| 212 | (and layout | ||
| 213 | (format-result layout variant)))) | ||
| 209 | 214 | ||
| 210 | (define (keyboard-layout->configuration keymap) | 215 | (define (keyboard-layout->configuration keymap) |
| 211 | "Return the operating system configuration snippet to install KEYMAP." | 216 | "Return the operating system configuration snippet to install KEYMAP." |
