all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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.