gnu: stumpwm: Fix gnew command.
The new release of StumpWM broken the interactive 'gnew' command. It was fixed upstream [0] and will be part of the next release. 0: https://github.com/stumpwm/stumpwm/pull/538 * gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch: New file. * gnu/packages/lisp.scm (stumpwm)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Register it.
This commit is contained in:
		
							parent
							
								
									38abef124b
								
							
						
					
					
						commit
						dba83d7d14
					
				
					 3 changed files with 49 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -1174,6 +1174,7 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/swish-e-search.patch			\
 | 
			
		||||
  %D%/packages/patches/swish-e-format-security.patch		\
 | 
			
		||||
  %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch 	\
 | 
			
		||||
  %D%/packages/patches/stumpwm-fix-broken-read-one-line.patch	\
 | 
			
		||||
  %D%/packages/patches/t1lib-CVE-2010-2642.patch		\
 | 
			
		||||
  %D%/packages/patches/t1lib-CVE-2011-0764.patch		\
 | 
			
		||||
  %D%/packages/patches/t1lib-CVE-2011-1552+.patch		\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -976,7 +976,9 @@ from other CLXes around the net.")
 | 
			
		|||
                    version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32 "177gxfk4c127i9crghx6fmkipznhgylvzgnjb2pna38g21gg6s39"))
 | 
			
		||||
              (file-name (string-append "stumpwm-" version ".tar.gz"))))
 | 
			
		||||
              (file-name (string-append "stumpwm-" version ".tar.gz"))
 | 
			
		||||
              (patches
 | 
			
		||||
               (search-patches "stumpwm-fix-broken-read-one-line.patch"))))
 | 
			
		||||
    (build-system asdf-build-system/sbcl)
 | 
			
		||||
    (native-inputs `(("fiasco" ,sbcl-fiasco)))
 | 
			
		||||
    (inputs `(("cl-ppcre" ,sbcl-cl-ppcre)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										45
									
								
								gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,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")
 | 
			
		||||
		Reference in a new issue