GNU bug report logs -
#32630
26; [REGRESSION] `dired-query' key help (`help-form-show')
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Tue, 4 Sep 2018 01:05:01 UTC
Severity: minor
Done: Michael Heerdegen <michael_heerdegen <at> web.de>
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 32630 in the body.
You can then email your comments to 32630 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#32630
; Package
emacs
.
(Tue, 04 Sep 2018 01:05:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Drew Adams <drew.adams <at> oracle.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Tue, 04 Sep 2018 01:05:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
This is a regression introduced in Emacs 26.1 - no problem before that.
emacs -Q
1. In a Dired buffer (directory `toto', say) create a subdir `foo', mark
two files in `toto', and then use `C' to copy those two files from `toto' to
`foo'.
2. Use `M' with `a-w' to make the copies in `foo' read-only.
3. Turn on `debug-on-error'.
4. In `toto', use `C' again to try to copy the same marked files.
Let's say that the first file to copy is `a'. You see this prompt:
Overwrite `/the/path/to/toto/foo/a'? [Type yn!q or C-h]
Use `C-h' to try to see the key help. This happens:
`help-form-show' raises an error: (void-variable to).
It seems like the "to" in the prompt is being evaluated as a variable.
Perhaps there is a missing quote somewhere.
You can no longer use any keys at this point, including mouse actions.
(Except you can use `q' to quit the debugger.)
Because I cannot use keys at that point I cannot select the text in the debugger to show it. Instead, see attached screenshot (file names redacted).
In GNU Emacs 26.1 (build 1, x86_64-w64-mingw32)
of 2018-05-30
Repository revision: 07f8f9bc5a51f5aa94eb099f3e15fbe0c20ea1ea
Windowing system distributor `Microsoft Corp.', version 10.0.16299
Configured using:
`configure --without-dbus --host=x86_64-w64-mingw32
--without-compress-install 'CFLAGS=-O2 -static -g3''
[throw-emacs-bug-dired-query.png (image/png, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#32630
; Package
emacs
.
(Tue, 04 Sep 2018 20:10:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 32630 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Drew Adams <drew.adams <at> oracle.com> writes:
> It seems like the "to" in the prompt is being evaluated as a variable.
> Perhaps there is a missing quote somewhere.
It's not the "to" in the prompt but a local variable in
`dired-create-files'. It's indeed a quoting problem. It existed for a
long time but I think it was originally negated by dynamic binding mode
until dired-aux was changed to lexical binding. Here is a trivial fix:
[0001-FIX-bug-32630.patch (text/x-diff, inline)]
From 5ae01a1079cac88cdf6b38f419a6f8b1b874c97c Mon Sep 17 00:00:00 2001
From: Michael Heerdegen <michael_heerdegen <at> web.de>
Date: Tue, 4 Sep 2018 22:00:11 +0200
Subject: [PATCH] FIX bug#32630
---
lisp/dired-aux.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 21ee50ce5c..dc34037be9 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -1731,7 +1731,7 @@ dired-create-files
(let* ((overwrite (file-exists-p to))
(dired-overwrite-confirmed ; for dired-handle-overwrite
(and overwrite
- (let ((help-form '(format-message "\
+ (let ((help-form (format-message "\
Type SPC or `y' to overwrite file `%s',
DEL or `n' to skip to next,
ESC or `q' to not overwrite any of the remaining files,
--
2.18.0
[Message part 3 (text/plain, inline)]
Michael.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#32630
; Package
emacs
.
(Fri, 12 Oct 2018 14:45:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 32630 <at> debbugs.gnu.org (full text, mbox):
Michael Heerdegen <michael_heerdegen <at> web.de> writes:
> lisp/dired-aux.el | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
> index 21ee50ce5c..dc34037be9 100644
> --- a/lisp/dired-aux.el
> +++ b/lisp/dired-aux.el
> @@ -1731,7 +1731,7 @@ dired-create-files
> (let* ((overwrite (file-exists-p to))
> (dired-overwrite-confirmed ; for dired-handle-overwrite
> (and overwrite
> - (let ((help-form '(format-message "\
> + (let ((help-form (format-message "\
> Type SPC or `y' to overwrite file `%s',
> DEL or `n' to skip to next,
> ESC or `q' to not overwrite any of the remaining files,
To which branch should I install this fix?
Thanks,
Michael.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#32630
; Package
emacs
.
(Fri, 12 Oct 2018 15:09:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 32630 <at> debbugs.gnu.org (full text, mbox):
> From: Michael Heerdegen <michael_heerdegen <at> web.de>
> Date: Fri, 12 Oct 2018 16:44:34 +0200
>
> > diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
> > index 21ee50ce5c..dc34037be9 100644
> > --- a/lisp/dired-aux.el
> > +++ b/lisp/dired-aux.el
> > @@ -1731,7 +1731,7 @@ dired-create-files
> > (let* ((overwrite (file-exists-p to))
> > (dired-overwrite-confirmed ; for dired-handle-overwrite
> > (and overwrite
> > - (let ((help-form '(format-message "\
> > + (let ((help-form (format-message "\
> > Type SPC or `y' to overwrite file `%s',
> > DEL or `n' to skip to next,
> > ESC or `q' to not overwrite any of the remaining files,
>
> To which branch should I install this fix?
To emacs-26, please.
Thanks.
Reply sent
to
Michael Heerdegen <michael_heerdegen <at> web.de>
:
You have taken responsibility.
(Sat, 20 Oct 2018 16:59:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Drew Adams <drew.adams <at> oracle.com>
:
bug acknowledged by developer.
(Sat, 20 Oct 2018 16:59:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 32630-done <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> > > diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
> > > index 21ee50ce5c..dc34037be9 100644
> > > --- a/lisp/dired-aux.el
> > > +++ b/lisp/dired-aux.el
> > > @@ -1731,7 +1731,7 @@ dired-create-files
> > > (let* ((overwrite (file-exists-p to))
> > > (dired-overwrite-confirmed ; for dired-handle-overwrite
> > > (and overwrite
> > > - (let ((help-form '(format-message "\
> > > + (let ((help-form (format-message "\
> > > Type SPC or `y' to overwrite file `%s',
> > > DEL or `n' to skip to next,
> > > ESC or `q' to not overwrite any of the remaining files,
> >
> > To which branch should I install this fix?
>
> To emacs-26, please.
Thanks. Committed as 1531bca "Fix help-form binding in
dired-create-files" to emacs-26.
Michael.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 18 Nov 2018 12:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 5 years and 158 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.