unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
blob f8dac613075cedd730f8560c95535d3803f888d6 2149 bytes (raw)
name: gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
From a13db62a4da06426cf2eb2376d1a3723b5ee52d5 Mon Sep 17 00:00:00 2001
From: Vasily Postnicov <shamaz.mazum@gmail.com>
Date: Fri, 14 Dec 2018 20:01:53 +0300
Subject: [PATCH] READ-ONE-LINE: Turn COMPLETIONS into a keyword argument

This keeps READ-ONE-line backwards compatible to changes prior
dae0422811771d179077b9336618f2b19be85b7b. Currently both
ARGUMENT-POP-OR-READ and ARGUMENT-POP-REST-OR-READ are still being
called with the previous lambda list. Update the calls to the
READ-ONE-LINE that used the 'new' lambda list, COMPLETING-READ and
YES-OR-NO-P.

Closes #538
---
 input.lisp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/input.lisp b/input.lisp
index b698a368..7904b35f 100644
--- a/input.lisp
+++ b/input.lisp
@@ -307,10 +307,13 @@ passed the substring to complete on and is expected to return a list
 of matches. If require-match argument is non-nil then the input must
 match with an element of the completions."
   (check-type completions (or list function symbol))
-  (let ((line (read-one-line screen prompt completions :initial-input initial-input :require-match require-match)))
+  (let ((line (read-one-line screen prompt
+                             :completions completions
+                             :initial-input initial-input
+                             :require-match require-match)))
     (when line (string-trim " " line))))
 
-(defun read-one-line (screen prompt completions &key (initial-input "") require-match password)
+(defun read-one-line (screen prompt &key completions (initial-input "") require-match password)
   "Read a line of input through stumpwm and return it. Returns nil if the user aborted."
   (let ((*input-last-command* nil)
         (*input-completions* completions)
@@ -842,6 +845,7 @@ user presses 'y'"
 user presses 'yes'"
   (loop for line = (read-one-line (current-screen)
                                   (format nil "~a(yes or no) " message)
+                                  :completions
                                   '("yes" "no"))
         until (find line '("yes" "no") :test 'string-equal)
         do (message "Please answer yes or no")

debug log:

solving f8dac6130 ...
found f8dac6130 in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).