unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Pierre Langlois <pierre.langlois@gmx.com>
To: Alex Kost <alezost@gmail.com>
Cc: 33772@debbugs.gnu.org
Subject: bug#33772: StumpWM broken commands?
Date: Tue, 18 Dec 2018 21:29:09 +0000	[thread overview]
Message-ID: <cubmup2ttga.fsf@gmx.com> (raw)
In-Reply-To: <87o99iwmuo.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2645 bytes --]


Alex Kost writes:

> Pierre Langlois (2018-12-18 17:34 +0000) wrote:
>
>> Hello!
>>
>> Christopher Lemmer Webber writes:
>>
>>> Ludovic Courtès writes:
>>>
>>>> Hi,
>>>>
>>>> Christopher Lemmer Webber <cwebber@dustycloud.org> skribis:
>>>>
>>>>> It seems to me that StumpWM broke somehow, for some reason.  I can
>>>>> confirm there was a version change:
>>>>>
>>>>> -sbcl-stumpwm@18.05:out        /gnu/store/i0picr2xr2aq2a52nsaw67nvar1r3khw-sbcl-stumpwm-18.05
>>>>> +sbcl-stumpwm@18.11:out        /gnu/store/6h2iln76dx8pxdp1hsaqb1yncm8viczj-sbcl-stumpwm-18.11
>>>>>
>>>>> I am not sure if this is the cause or something else.  At any rate, when
>>>>> I try to run commands such as "gnew" (the command to make a new
>>>>> group/workstation) I get back:
>>>>>
>>>>>   Error In Command 'gnew': invalid number of arguments: 2
>>>>>
>>>>> I though I'd try running the command manually and check the error, but
>>>>> this also happens with eval!  Some other commands are not affected.
>>>>>
>>>>> (I can try re-enabling the live REPL in StumpWM to play around with it,
>>>>> but I currently have it off because they have the same live hacking
>>>>> vulnerability in SBCL/SLIME that we had in Guile/Geiser some time ago.)
>>>>
>>>> Pierre, does that ring a bell?
>>>>
>>>> Others on the mailing list reported being happy with the upgrade, but
>>>> maybe they use different bits of StumpWM.
>>
>> Ah yes, I can reproduce this :-/. Both in GuixSD and with Guix on top of
>> ArchLinux.  The 'gnew' command does work if you pass it the name of the
>> new group as an argument, that's why I didn't notice this.  It should
>> interactively ask for a name if you don't pass one so that's still a
>> regression.
>>
>> Maybe that's a bug upstream? It would be good to try StumpWM 18.11 on
>> another distribution to see if this is specific to Guix. I cannot
>> install it on ArchLinux though at the moment.
>
> I use StumpWM from git checkout (not from Guix) and I don't reproduce
> this problem.  When I run "gnew", it asks me for a group name and
> creates a new group without any problem.
>
> I have built stumpwm from the latest commit (which is one commit after
> 18.11 release) and tried it on GuixSD and on ArchLinux.  Works for me
> on both systems, so it's probably not an upstream bug.

Hi Alex,

I was investigating just now and thought I'd try that one commit that
was pushed after the release. The description doesn't sound like it
would fix the problem but it was easy to try that.  But it looks like it
does fix the problem!

Can you confirm the attached patch works for you?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-stumpwm-Fix-gnew-command.patch --]
[-- Type: text/x-patch, Size: 4644 bytes --]

From 735bda15874bdb9209c171ae2b1a99256763697d Mon Sep 17 00:00:00 2001
From: Pierre Langlois <pierre.langlois@gmx.com>
Date: Tue, 18 Dec 2018 21:17:16 +0000
Subject: [PATCH] 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.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/lisp.scm                         |  4 +-
 .../stumpwm-fix-broken-read-one-line.patch    | 45 +++++++++++++++++++
 3 files changed, 49 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 0d60e9b75..8e1ce88bc 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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		\
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index d8da2951d..e4669e34f 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -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)
diff --git a/gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch b/gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch
new file mode 100644
index 000000000..f8dac6130
--- /dev/null
+++ b/gnu/packages/patches/stumpwm-fix-broken-read-one-line.patch
@@ -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")
-- 
2.20.1


  reply	other threads:[~2018-12-18 21:30 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-16 19:05 bug#33772: StumpWM broken commands? Christopher Lemmer Webber
2018-12-18 11:18 ` Ludovic Courtès
2018-12-18 14:47   ` Christopher Lemmer Webber
2018-12-18 17:34     ` Pierre Langlois
2018-12-18 18:57       ` Christopher Lemmer Webber
2018-12-19 10:37         ` Ludovic Courtès
2018-12-18 21:23       ` Alex Kost
2018-12-18 21:29         ` Pierre Langlois [this message]
2018-12-19 13:42           ` Christopher Lemmer Webber
2018-12-19 14:49             ` Christopher Lemmer Webber
2018-12-19 14:56               ` Pierre Langlois
2019-12-24  1:58                 ` Brett Gilio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cubmup2ttga.fsf@gmx.com \
    --to=pierre.langlois@gmx.com \
    --cc=33772@debbugs.gnu.org \
    --cc=alezost@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).