GNU bug report logs - #31794
26.1; dired-do-shell-command broken

Previous Next

Package: emacs;

Reported by: Leo Liu <sdl.web <at> gmail.com>

Date: Tue, 12 Jun 2018 04:25:01 UTC

Severity: normal

Found in version 26.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 31794 in the body.
You can then email your comments to 31794 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to mvoteiza <at> udel.edu, bug-gnu-emacs <at> gnu.org:
bug#31794; Package emacs. (Tue, 12 Jun 2018 04:25:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Leo Liu <sdl.web <at> gmail.com>:
New bug report received and forwarded. Copy sent to mvoteiza <at> udel.edu, bug-gnu-emacs <at> gnu.org. (Tue, 12 Jun 2018 04:25:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Leo Liu <sdl.web <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.1; dired-do-shell-command broken
Date: Tue, 12 Jun 2018 12:24:09 +0800
1. emacs -q
2. in dired mode press !
3. C-h v

Step 3 should give you no completion. Another issue is when
icomplete-mode is on one constantly gets "No matches" for every input.

This is due to the following change.

commit c2a8cffe8044cc38c4cf1b5c3d1c9571ddeec623
Date:   Sun Aug 6 10:15:17 2017 -0400

    ; Fix previous commit
    
    The mailcap minibuffer completion used dynamic binding.  Locally set
    a dynamic variable.
    * lisp/dired-aux.el: Store list of files in
    `minibuffer-completion-table'.

I intend to fix the issue on emacs-26 with the following patch. Comments?

diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index c336103f..516cd2c5 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -614,14 +614,16 @@ with a prefix argument."
 
 (declare-function mailcap-file-default-commands "mailcap" (files))
 
+(defvar dired-aux-files)
+
 (defun minibuffer-default-add-dired-shell-commands ()
   "Return a list of all commands associated with current dired files.
 This function is used to add all related commands retrieved by `mailcap'
 to the end of the list of defaults just after the default value."
   (interactive)
-  (let* ((files minibuffer-completion-table)
-         (commands (and (require 'mailcap nil t)
-                        (mailcap-file-default-commands files))))
+  (let ((commands (and (boundp 'dired-aux-files)
+		       (require 'mailcap nil t)
+		       (mailcap-file-default-commands dired-aux-files))))
     (if (listp minibuffer-default)
 	(append minibuffer-default commands)
       (cons minibuffer-default commands))))
@@ -639,9 +641,9 @@ This normally reads using `read-shell-command', but if the
 offer a smarter default choice of shell command."
   (minibuffer-with-setup-hook
       (lambda ()
-        (set (make-local-variable 'minibuffer-completion-table) files)
-	(set (make-local-variable 'minibuffer-default-add-function)
-	     'minibuffer-default-add-dired-shell-commands))
+	(setq-local dired-aux-files files)
+	(setq-local minibuffer-default-add-function
+		    #'minibuffer-default-add-dired-shell-commands))
     (setq prompt (format prompt (dired-mark-prompt arg files)))
     (if (functionp 'dired-guess-shell-command)
 	(dired-mark-pop-up nil 'shell files




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#31794; Package emacs. (Tue, 19 Jun 2018 11:41:02 GMT) Full text and rfc822 format available.

Message #8 received at 31794 <at> debbugs.gnu.org (full text, mbox):

From: Mark Oteiza <mvoteiza <at> udel.edu>
To: Leo Liu <sdl.web <at> gmail.com>
Cc: 31794 <at> debbugs.gnu.org
Subject: Re: bug#31794: 26.1; dired-do-shell-command broken
Date: Tue, 19 Jun 2018 07:40:51 -0400
On Tue, Jun 12, 2018 at 12:24 AM, Leo Liu <sdl.web <at> gmail.com> wrote:
>
> 1. emacs -q
> 2. in dired mode press !
> 3. C-h v
>
> Step 3 should give you no completion. Another issue is when
> icomplete-mode is on one constantly gets "No matches" for every input.
>
> This is due to the following change.
>
> commit c2a8cffe8044cc38c4cf1b5c3d1c9571ddeec623
> Date:   Sun Aug 6 10:15:17 2017 -0400
>
>     ; Fix previous commit
>
>     The mailcap minibuffer completion used dynamic binding.  Locally set
>     a dynamic variable.
>     * lisp/dired-aux.el: Store list of files in
>     `minibuffer-completion-table'.
>
> I intend to fix the issue on emacs-26 with the following patch. Comments?

Nope, looks fine to me.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#31794; Package emacs. (Sat, 23 Jun 2018 13:19:02 GMT) Full text and rfc822 format available.

Message #11 received at 31794 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Mark Oteiza <mvoteiza <at> udel.edu>
Cc: sdl.web <at> gmail.com, 31794 <at> debbugs.gnu.org
Subject: Re: bug#31794: 26.1; dired-do-shell-command broken
Date: Sat, 23 Jun 2018 16:18:21 +0300
> From: Mark Oteiza <mvoteiza <at> udel.edu>
> Date: Tue, 19 Jun 2018 07:40:51 -0400
> Cc: 31794 <at> debbugs.gnu.org
> 
> On Tue, Jun 12, 2018 at 12:24 AM, Leo Liu <sdl.web <at> gmail.com> wrote:
> >
> > 1. emacs -q
> > 2. in dired mode press !
> > 3. C-h v
> >
> > Step 3 should give you no completion. Another issue is when
> > icomplete-mode is on one constantly gets "No matches" for every input.
> >
> > This is due to the following change.
> >
> > commit c2a8cffe8044cc38c4cf1b5c3d1c9571ddeec623
> > Date:   Sun Aug 6 10:15:17 2017 -0400
> >
> >     ; Fix previous commit
> >
> >     The mailcap minibuffer completion used dynamic binding.  Locally set
> >     a dynamic variable.
> >     * lisp/dired-aux.el: Store list of files in
> >     `minibuffer-completion-table'.
> >
> > I intend to fix the issue on emacs-26 with the following patch. Comments?
> 
> Nope, looks fine to me.

Leo, do you need help in installing this?

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#31794; Package emacs. (Sat, 23 Jun 2018 13:33:02 GMT) Full text and rfc822 format available.

Message #14 received at 31794 <at> debbugs.gnu.org (full text, mbox):

From: Leo Liu <sdl.web <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Mark Oteiza <mvoteiza <at> udel.edu>, 31794 <at> debbugs.gnu.org
Subject: Re: bug#31794: 26.1; dired-do-shell-command broken
Date: Sat, 23 Jun 2018 21:32:09 +0800
On 2018-06-23 16:18 +0300, Eli Zaretskii wrote:
> Leo, do you need help in installing this?
>
> Thanks.

Sorry for the lack of activity. I was moving last week and things are
bit messy at the moment. The worst is no good internet connection. So
yes I'd appreciate it if someone can help me install the fix. Otherwise
I'll get to it ASAP (might be one or two weeks).

Leo




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 23 Jun 2018 13:50:02 GMT) Full text and rfc822 format available.

Notification sent to Leo Liu <sdl.web <at> gmail.com>:
bug acknowledged by developer. (Sat, 23 Jun 2018 13:50:02 GMT) Full text and rfc822 format available.

Message #19 received at 31794-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Leo Liu <sdl.web <at> gmail.com>
Cc: mvoteiza <at> udel.edu, 31794-done <at> debbugs.gnu.org
Subject: Re: bug#31794: 26.1; dired-do-shell-command broken
Date: Sat, 23 Jun 2018 16:49:03 +0300
> From:  Leo Liu <sdl.web <at> gmail.com>
> Cc: Mark Oteiza <mvoteiza <at> udel.edu>,  31794 <at> debbugs.gnu.org
> Date: Sat, 23 Jun 2018 21:32:09 +0800
> 
> Sorry for the lack of activity. I was moving last week and things are
> bit messy at the moment. The worst is no good internet connection. So
> yes I'd appreciate it if someone can help me install the fix. Otherwise
> I'll get to it ASAP (might be one or two weeks).

Thanks, I pushed it to the emacs-26 branch, and I'm marking this bug
done.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 22 Jul 2018 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 276 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.