GNU bug report logs -
#13152
24.2.90; [REGRESSION] dired-get-marked-files changed
Previous Next
Reported by: Leo <sdl.web <at> gmail.com>
Date: Wed, 12 Dec 2012 02:25:01 UTC
Severity: minor
Found in version 24.2.90
Done: Leo Liu <sdl.web <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> But FUNCTION "should not manipulate files, just read input
> \(an argument or confirmation)." so I don't see why this matters.
I agree it shouldn't matter in which buffer FUNCTION is called.
The problem is caused by the flawed design of dired-x where
`dired-guess-default' doesn't propagate the value of `files'
to the evaluated expressions in `dired-guess-shell-alist-default'.
Also note how `dired-guess-shell-alist-default' is forced to use the
dynamically bound variable `file'.
The proper fix would be to redesign `dired-guess-shell-alist-default'
to funcall lambdas with one arg `files' instead of using `eval'.
So instead of
(setq dired-guess-shell-alist-user
'(("." (let ((files (dired-get-marked-files t current-prefix-arg)))
(let (dired-guess-shell-alist-user)
(dired-guess-default files))))))
Leo would be able to use
(setq dired-guess-shell-alist-user
'(("." (lambda (files)
(let (dired-guess-shell-alist-user)
(dired-guess-default files))))))
This could help to move useful features from dired-x.el to dired-aux.el.
This bug report was last modified 12 years and 130 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.