[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
76/197: installer: New procedure "page-leave".
From: |
Danny Milosavljevic |
Subject: |
76/197: installer: New procedure "page-leave". |
Date: |
Mon, 3 Jul 2017 20:37:03 -0400 (EDT) |
dannym pushed a commit to branch wip-installer-2
in repository guix.
commit e8ab67f4af59f9bf12db6055eae3c1d67d88717a
Author: John Darrington <address@hidden>
Date: Fri Jan 6 20:46:09 2017 +0100
installer: New procedure "page-leave".
* gnu/system/installer/page.scm (page-leave): New procedure.
* gnu/system/installer/configure.scm,
gnu/system/installer/dialog.scm,
gnu/system/installer/disks.scm,
gnu/system/installer/file-browser.scm,
gnu/system/installer/filesystems.scm,
gnu/system/installer/hostname.scm,
gnu/system/installer/install.scm,
gnu/system/installer/mount-point.scm,
gnu/system/installer/network.scm,
gnu/system/installer/passphrase.scm,
gnu/system/installer/ping.scm,
gnu/system/installer/role.scm,
gnu/system/installer/time-zone.scm,
gnu/system/installer/wireless.scm: Use it where appropriate.
---
gnu/system/installer/configure.scm | 4 ++--
gnu/system/installer/dialog.scm | 2 +-
gnu/system/installer/disks.scm | 3 +--
gnu/system/installer/file-browser.scm | 4 ++--
gnu/system/installer/filesystems.scm | 5 ++---
gnu/system/installer/hostname.scm | 6 ++----
gnu/system/installer/install.scm | 2 +-
gnu/system/installer/mount-point.scm | 3 +--
gnu/system/installer/network.scm | 2 +-
gnu/system/installer/page.scm | 6 +++++-
gnu/system/installer/passphrase.scm | 7 ++-----
gnu/system/installer/ping.scm | 2 +-
gnu/system/installer/role.scm | 4 ++--
gnu/system/installer/time-zone.scm | 5 ++---
gnu/system/installer/wireless.scm | 3 +--
15 files changed, 26 insertions(+), 32 deletions(-)
diff --git a/gnu/system/installer/configure.scm
b/gnu/system/installer/configure.scm
index d454488..e0594b6 100644
--- a/gnu/system/installer/configure.scm
+++ b/gnu/system/installer/configure.scm
@@ -97,7 +97,7 @@
((buttons-key-matches-symbol? nav ch 'back)
;; Close the menu and return
- (set! page-stack (cdr page-stack)))
+ (page-leave))
@@ -111,7 +111,7 @@
(close-port cfg-port))
;; Close the menu and return
- (set! page-stack (cdr page-stack)))
+ (page-leave))
)
#f))
diff --git a/gnu/system/installer/dialog.scm b/gnu/system/installer/dialog.scm
index 2c8f3ed..785c02c 100644
--- a/gnu/system/installer/dialog.scm
+++ b/gnu/system/installer/dialog.scm
@@ -54,7 +54,7 @@
((buttons-key-matches-symbol? nav ch 'ok)
(delwin (page-datum page 'text-window))
- (set! page-stack (cdr page-stack))
+ (page-leave)
))
#f))
diff --git a/gnu/system/installer/disks.scm b/gnu/system/installer/disks.scm
index 9a1c8b6..b53dc0a 100644
--- a/gnu/system/installer/disks.scm
+++ b/gnu/system/installer/disks.scm
@@ -94,8 +94,7 @@
(system* "partprobe")))
((buttons-key-matches-symbol? nav ch 'continue)
- (set! page-stack (cdr page-stack))
- ((page-refresh (car page-stack)) (car page-stack))))
+ (page-leave)))
(std-menu-key-handler menu ch))
diff --git a/gnu/system/installer/file-browser.scm
b/gnu/system/installer/file-browser.scm
index 70fcae3..e0af0ec 100644
--- a/gnu/system/installer/file-browser.scm
+++ b/gnu/system/installer/file-browser.scm
@@ -56,7 +56,7 @@
((buttons-key-matches-symbol? nav ch 'back)
- (set! page-stack (cdr page-stack)))
+ (page-leave))
((and (eqv? ch #\newline)
(menu-active menu))
@@ -70,7 +70,7 @@
(begin
(system* "loadkeys" i)
(set! key-map i)
- (set! page-stack (page-datum page 'exit-point))
+ (page-leave (page-datum page 'exit-point))
#f)))))
(std-menu-key-handler menu ch)
#f))
diff --git a/gnu/system/installer/filesystems.scm
b/gnu/system/installer/filesystems.scm
index 0908f52..9631e7e 100644
--- a/gnu/system/installer/filesystems.scm
+++ b/gnu/system/installer/filesystems.scm
@@ -188,7 +188,7 @@
))
((buttons-key-matches-symbol? nav ch 'back)
- (set! page-stack (cdr page-stack)))
+ (page-leave))
((buttons-key-matches-symbol? nav ch 'continue)
@@ -198,8 +198,7 @@
(set! page-stack (cons next page-stack))
((page-refresh next) next))
(begin
- (set! page-stack (cdr page-stack))
- ((page-refresh (car page-stack)) (car page-stack)))
+ (page-leave))
))))
(std-menu-key-handler menu ch))
diff --git a/gnu/system/installer/hostname.scm
b/gnu/system/installer/hostname.scm
index 3939120..66096cb 100644
--- a/gnu/system/installer/hostname.scm
+++ b/gnu/system/installer/hostname.scm
@@ -69,13 +69,11 @@
(cond
((buttons-key-matches-symbol? nav ch 'back)
- (set! page-stack (cdr page-stack))
- ((page-refresh (car page-stack)) (car page-stack)))
+ (page-leave))
((select-key? ch)
(set! host-name (form-get-value form 0))
- (set! page-stack (cdr page-stack))
- ((page-refresh (car page-stack)) (car page-stack)))
+ (page-leave))
((eq? ch #\tab)
(form-set-enabled! form #f)
diff --git a/gnu/system/installer/install.scm b/gnu/system/installer/install.scm
index a08b4f8..3ba1327 100644
--- a/gnu/system/installer/install.scm
+++ b/gnu/system/installer/install.scm
@@ -70,7 +70,7 @@
((buttons-key-matches-symbol? nav ch 'back)
;; Close the menu and return
- (set! page-stack (cdr page-stack)))
+ (page-leave))
((buttons-key-matches-symbol? nav ch 'reboot)
(system* "reboot"))
diff --git a/gnu/system/installer/mount-point.scm
b/gnu/system/installer/mount-point.scm
index 632b81d..2468ba2 100644
--- a/gnu/system/installer/mount-point.scm
+++ b/gnu/system/installer/mount-point.scm
@@ -71,8 +71,7 @@
(set! mount-points (assoc-set! mount-points
dev mp))))
- (set! page-stack (cdr page-stack))
- ((page-refresh (car page-stack)) (car page-stack)))
+ (page-leave))
((buttons-key-matches-symbol? nav ch 'check)
(window-pipe (page-datum page 'output) "fsck.ext4" "fsck.ext4"
"-n" "-v"
diff --git a/gnu/system/installer/network.scm b/gnu/system/installer/network.scm
index 7eb4807..d59bbda 100644
--- a/gnu/system/installer/network.scm
+++ b/gnu/system/installer/network.scm
@@ -116,7 +116,7 @@
;; Cancel the timer
(setitimer ITIMER_REAL 0 0 0 0)
- (set! page-stack (cdr page-stack))))
+ (page-leave)))
(std-menu-key-handler menu ch))
#f)
diff --git a/gnu/system/installer/page.scm b/gnu/system/installer/page.scm
index e17326c..59361d1 100644
--- a/gnu/system/installer/page.scm
+++ b/gnu/system/installer/page.scm
@@ -23,7 +23,7 @@
#:export (page-refresh)
#:export (page-initialised?)
#:export (page-set-initialised!)
- #:export (page-stack)
+ #:export (page-leave)
#:export (page-set-wwin!)
#:export (page-wwin)
#:export (page-title)
@@ -54,3 +54,7 @@
(define (page-datum page key)
(assq-ref (page-data page) key))
+
+(define* (page-leave #:optional (return-point #f))
+ (set! page-stack
+ (or return-point (cdr page-stack))))
diff --git a/gnu/system/installer/passphrase.scm
b/gnu/system/installer/passphrase.scm
index f7b165b..42b7b0c 100644
--- a/gnu/system/installer/passphrase.scm
+++ b/gnu/system/installer/passphrase.scm
@@ -66,8 +66,7 @@
(cond
((buttons-key-matches-symbol? nav ch 'back)
- (set! page-stack (cdr page-stack))
- ((page-refresh (car page-stack)) (car page-stack)))
+ (page-leave))
((eq? ch #\tab)
(form-set-enabled! form #f)
@@ -86,9 +85,7 @@
(page-datum page 'ifce)
(page-datum page 'network)
(form-get-value form 'passphrase))
-
- (set! page-stack (cdr (cdr page-stack)))
- ((page-refresh (car page-stack)) (car page-stack)))
+ (page-leave (cdr (cdr page-stack))))
(else
(form-enter form ch)))
diff --git a/gnu/system/installer/ping.scm b/gnu/system/installer/ping.scm
index 1afb2cf..e4bef7a 100644
--- a/gnu/system/installer/ping.scm
+++ b/gnu/system/installer/ping.scm
@@ -74,7 +74,7 @@
((buttons-key-matches-symbol? nav ch 'continue)
(delwin (page-datum page 'test-window))
- (set! page-stack (cdr page-stack))
+ (page-leave)
)
((buttons-key-matches-symbol? nav ch 'test)
diff --git a/gnu/system/installer/role.scm b/gnu/system/installer/role.scm
index 369f695..9d4baf4 100644
--- a/gnu/system/installer/role.scm
+++ b/gnu/system/installer/role.scm
@@ -88,10 +88,10 @@
((select-key? ch)
(set! system-role (menu-get-current-item menu))
- (set! page-stack (cdr page-stack)))
+ (page-leave))
((buttons-key-matches-symbol? nav ch 'back)
- (set! page-stack (cdr page-stack))))
+ (page-leave)))
(std-menu-key-handler menu ch))
#f)
diff --git a/gnu/system/installer/time-zone.scm
b/gnu/system/installer/time-zone.scm
index 416067f..00f2858 100644
--- a/gnu/system/installer/time-zone.scm
+++ b/gnu/system/installer/time-zone.scm
@@ -55,8 +55,7 @@
(buttons-select-next nav))))
((buttons-key-matches-symbol? nav ch 'back)
-
- (set! page-stack (cdr page-stack)))
+ (page-leave))
((and (eqv? ch #\newline)
(menu-active menu))
@@ -78,7 +77,7 @@
(if (page-datum page 'stem)
(string-append (page-datum page 'stem) "/" i)
i))
- (set! page-stack (page-datum page 'exit-point))
+ (page-leave (page-datum page 'exit-point))
#f)))
))
(std-menu-key-handler menu ch)
diff --git a/gnu/system/installer/wireless.scm
b/gnu/system/installer/wireless.scm
index 8615004..dda9195 100644
--- a/gnu/system/installer/wireless.scm
+++ b/gnu/system/installer/wireless.scm
@@ -70,8 +70,7 @@
(buttons-unselect-all nav))
((buttons-key-matches-symbol? nav ch 'back)
- (set! page-stack (cdr page-stack))
- ((page-refresh (car page-stack)) (car page-stack)))
+ (page-leave))
((select-key? ch)
(let ((next (make-passphrase-page
- 54/197: installer: Change the order of the filesystem task conditions., (continued)
- 54/197: installer: Change the order of the filesystem task conditions., Danny Milosavljevic, 2017/07/03
- 60/197: installer: Do not allow forms to set the cursor visibility., Danny Milosavljevic, 2017/07/03
- 56/197: installer: Do not use /tmp for holding the configuration., Danny Milosavljevic, 2017/07/03
- 66/197: installer: Add option to final page to reboot the system., Danny Milosavljevic, 2017/07/03
- 71/197: installer: Add confidence indicator., Danny Milosavljevic, 2017/07/03
- 67/197: installer: Add predicate for the network task., Danny Milosavljevic, 2017/07/03
- 74/197: installer: Remove explicit calls to curs-set from pages., Danny Milosavljevic, 2017/07/03
- 64/197: installer: Make setting up of the network a prerequisite., Danny Milosavljevic, 2017/07/03
- 80/197: installer: Ignore case in button accelerators., Danny Milosavljevic, 2017/07/03
- 86/197: installer: slurp: Ignore blank lines in output., Danny Milosavljevic, 2017/07/03
- 76/197: installer: New procedure "page-leave".,
Danny Milosavljevic <=
- 84/197: installer: Use guix build syscalls module for network interrogation., Danny Milosavljevic, 2017/07/03
- 94/197: installer: Add the notion of uuids to prospective filesystems., Danny Milosavljevic, 2017/07/03
- 89/197: installer: Make the network menu more reliable., Danny Milosavljevic, 2017/07/03
- 90/197: installer: Enable direct scrolling to top or bottom of menus., Danny Milosavljevic, 2017/07/03
- 78/197: installer: Ensure that the cursor visibility is updated on each page., Danny Milosavljevic, 2017/07/03
- 107/197: installer: Do not allow the creation of invalid file-system specificaitons., Danny Milosavljevic, 2017/07/03
- 57/197: installer: Add a console-keymap service., Danny Milosavljevic, 2017/07/03
- 69/197: installer: Remove "continue" button from host name page., Danny Milosavljevic, 2017/07/03
- 58/197: installer: Add flags to indicate network interface status., Danny Milosavljevic, 2017/07/03
- 72/197: installer: Use --fallback when installing., Danny Milosavljevic, 2017/07/03