[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
167/197: installer: Fix bug when changing languages.
From: |
Danny Milosavljevic |
Subject: |
167/197: installer: Fix bug when changing languages. |
Date: |
Mon, 3 Jul 2017 20:37:19 -0400 (EDT) |
dannym pushed a commit to branch wip-installer-2
in repository guix.
commit 8a9db7e89c76ccbf3a5bbd8cf46aaa7a42f902e2
Author: John Darrington <address@hidden>
Date: Thu Feb 2 12:55:18 2017 +0100
installer: Fix bug when changing languages.
* gnu/system/installer/guixsd-installer.scm (guixsd-installer): Set
locale to a utf8 based locale before initialising ncurses.
---
gnu/system/installer/guixsd-installer.scm | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/gnu/system/installer/guixsd-installer.scm
b/gnu/system/installer/guixsd-installer.scm
index c84e099..4f2e92b 100644
--- a/gnu/system/installer/guixsd-installer.scm
+++ b/gnu/system/installer/guixsd-installer.scm
@@ -286,7 +286,18 @@ tail of the list."
(catch #t
(lambda ()
- (define stdscr (initscr)) ; Start curses
+ (define stdscr
+ ((lambda ()
+ ;; initscr must be called whilst the UTF-8 encoding is in the
locale.
+ ;; Otherwise, on certain terminal types, bad things will happen when
+ ;; one later changes to UTF-8.
+ (define old-locale #f)
+ (dynamic-wind
+ (lambda ()
+ (set! old-locale (setlocale LC_ALL))
+ (setlocale LC_ALL "en_US.UTF-8"))
+ (lambda () (initscr)) ;; Initialise ncurses
+ (lambda () (setlocale LC_ALL old-locale))))))
;; We don't want any nasty kernel messages damaging our beautifully
;; crafted display.
- 132/197: installer: Add new procedure to check file system specifications., (continued)
- 132/197: installer: Add new procedure to check file system specifications., Danny Milosavljevic, 2017/07/03
- 145/197: gurses: Avoid yet another use of car and cdr., Danny Milosavljevic, 2017/07/03
- 129/197: installer: Emphasise that writing filesystems destroys existing data., Danny Milosavljevic, 2017/07/03
- 150/197: gurses: Reimplement pad-complex-string., Danny Milosavljevic, 2017/07/03
- 159/197: installer: Fix i18n in dialogs., Danny Milosavljevic, 2017/07/03
- 154/197: installer: Main page: Redisplay translatable strings upon refresh., Danny Milosavljevic, 2017/07/03
- 157/197: installer: Replace 'file-browser' with 'key-map'., Danny Milosavljevic, 2017/07/03
- 161/197: installer: Improve i18n in ping page., Danny Milosavljevic, 2017/07/03
- 162/197: gurses: Avoid one use of car/cdr., Danny Milosavljevic, 2017/07/03
- 166/197: installer: Provide verbose description of locale., Danny Milosavljevic, 2017/07/03
- 167/197: installer: Fix bug when changing languages.,
Danny Milosavljevic <=
- 156/197: installer: New page to select language., Danny Milosavljevic, 2017/07/03
- 168/197: installer: Fix the startup locale., Danny Milosavljevic, 2017/07/03
- 173/197: installer: Remove whitespace., Danny Milosavljevic, 2017/07/03
- 01/197: gnu: Add graphical installer, Danny Milosavljevic, 2017/07/03
- 174/197: installer: Provide the ability to add new users., Danny Milosavljevic, 2017/07/03
- 178/197: installer: Infer likely entries for user accounts from the gecos field., Danny Milosavljevic, 2017/07/03
- 180/197: installer: Use a different mount-point for each install attempt., Danny Milosavljevic, 2017/07/03
- 183/197: installer: Specify a pid file for wpa_supplicant., Danny Milosavljevic, 2017/07/03
- 181/197: installer: Make the install attempts counter global., Danny Milosavljevic, 2017/07/03
- 186/197: installer: Return to network page after passphrase entry., Danny Milosavljevic, 2017/07/03