all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#31794: 26.1; dired-do-shell-command broken
@ 2018-06-12  4:24 Leo Liu
  2018-06-19 11:40 ` Mark Oteiza
  0 siblings, 1 reply; 5+ messages in thread
From: Leo Liu @ 2018-06-12  4:24 UTC (permalink / raw)
  To: 31794; +Cc: Mark Oteiza


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





^ permalink raw reply related	[flat|nested] 5+ messages in thread

* bug#31794: 26.1; dired-do-shell-command broken
  2018-06-12  4:24 bug#31794: 26.1; dired-do-shell-command broken Leo Liu
@ 2018-06-19 11:40 ` Mark Oteiza
  2018-06-23 13:18   ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Oteiza @ 2018-06-19 11:40 UTC (permalink / raw)
  To: Leo Liu; +Cc: 31794

On Tue, Jun 12, 2018 at 12:24 AM, Leo Liu <sdl.web@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.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#31794: 26.1; dired-do-shell-command broken
  2018-06-19 11:40 ` Mark Oteiza
@ 2018-06-23 13:18   ` Eli Zaretskii
  2018-06-23 13:32     ` Leo Liu
  0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2018-06-23 13:18 UTC (permalink / raw)
  To: Mark Oteiza; +Cc: sdl.web, 31794

> From: Mark Oteiza <mvoteiza@udel.edu>
> Date: Tue, 19 Jun 2018 07:40:51 -0400
> Cc: 31794@debbugs.gnu.org
> 
> On Tue, Jun 12, 2018 at 12:24 AM, Leo Liu <sdl.web@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.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#31794: 26.1; dired-do-shell-command broken
  2018-06-23 13:18   ` Eli Zaretskii
@ 2018-06-23 13:32     ` Leo Liu
  2018-06-23 13:49       ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Leo Liu @ 2018-06-23 13:32 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Mark Oteiza, 31794

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





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#31794: 26.1; dired-do-shell-command broken
  2018-06-23 13:32     ` Leo Liu
@ 2018-06-23 13:49       ` Eli Zaretskii
  0 siblings, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2018-06-23 13:49 UTC (permalink / raw)
  To: Leo Liu; +Cc: mvoteiza, 31794-done

> From:  Leo Liu <sdl.web@gmail.com>
> Cc: Mark Oteiza <mvoteiza@udel.edu>,  31794@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.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-06-23 13:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-12  4:24 bug#31794: 26.1; dired-do-shell-command broken Leo Liu
2018-06-19 11:40 ` Mark Oteiza
2018-06-23 13:18   ` Eli Zaretskii
2018-06-23 13:32     ` Leo Liu
2018-06-23 13:49       ` Eli Zaretskii

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.