* bug#32630: 26; [REGRESSION] `dired-query' key help (`help-form-show')
@ 2018-09-04 1:04 Drew Adams
2018-09-04 20:09 ` Michael Heerdegen
0 siblings, 1 reply; 5+ messages in thread
From: Drew Adams @ 2018-09-04 1:04 UTC (permalink / raw)
To: 32630
[-- Attachment #1: Type: text/plain, Size: 1377 bytes --]
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''
[-- Attachment #2: throw-emacs-bug-dired-query.png --]
[-- Type: image/png, Size: 38045 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#32630: 26; [REGRESSION] `dired-query' key help (`help-form-show')
2018-09-04 1:04 bug#32630: 26; [REGRESSION] `dired-query' key help (`help-form-show') Drew Adams
@ 2018-09-04 20:09 ` Michael Heerdegen
2018-10-12 14:44 ` Michael Heerdegen
0 siblings, 1 reply; 5+ messages in thread
From: Michael Heerdegen @ 2018-09-04 20:09 UTC (permalink / raw)
To: Drew Adams; +Cc: 32630
[-- Attachment #1: Type: text/plain, Size: 437 bytes --]
Drew Adams <drew.adams@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:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-FIX-bug-32630.patch --]
[-- Type: text/x-diff, Size: 862 bytes --]
From 5ae01a1079cac88cdf6b38f419a6f8b1b874c97c Mon Sep 17 00:00:00 2001
From: Michael Heerdegen <michael_heerdegen@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
[-- Attachment #3: Type: text/plain, Size: 11 bytes --]
Michael.
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#32630: 26; [REGRESSION] `dired-query' key help (`help-form-show')
2018-09-04 20:09 ` Michael Heerdegen
@ 2018-10-12 14:44 ` Michael Heerdegen
2018-10-12 15:08 ` Eli Zaretskii
0 siblings, 1 reply; 5+ messages in thread
From: Michael Heerdegen @ 2018-10-12 14:44 UTC (permalink / raw)
To: 32630
Michael Heerdegen <michael_heerdegen@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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#32630: 26; [REGRESSION] `dired-query' key help (`help-form-show')
2018-10-12 14:44 ` Michael Heerdegen
@ 2018-10-12 15:08 ` Eli Zaretskii
2018-10-20 16:58 ` Michael Heerdegen
0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2018-10-12 15:08 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: 32630
> From: Michael Heerdegen <michael_heerdegen@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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#32630: 26; [REGRESSION] `dired-query' key help (`help-form-show')
2018-10-12 15:08 ` Eli Zaretskii
@ 2018-10-20 16:58 ` Michael Heerdegen
0 siblings, 0 replies; 5+ messages in thread
From: Michael Heerdegen @ 2018-10-20 16:58 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 32630-done
Eli Zaretskii <eliz@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.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-10-20 16:58 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-04 1:04 bug#32630: 26; [REGRESSION] `dired-query' key help (`help-form-show') Drew Adams
2018-09-04 20:09 ` Michael Heerdegen
2018-10-12 14:44 ` Michael Heerdegen
2018-10-12 15:08 ` Eli Zaretskii
2018-10-20 16:58 ` Michael Heerdegen
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.