GNU bug report logs -
#54369
28.0.92; [PATCH] Fix negated argument predicates in Eshell
Previous Next
Reported by: Jim Porter <jporterbugs <at> gmail.com>
Date: Sun, 13 Mar 2022 06:35:01 UTC
Severity: normal
Tags: patch
Found in version 28.0.92
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
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 54369 in the body.
You can then email your comments to 54369 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#54369
; Package
emacs
.
(Sun, 13 Mar 2022 06:35:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Jim Porter <jporterbugs <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sun, 13 Mar 2022 06:35: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)]
From "emacs -Q --eval '(eshell)'":
~ $ echo *(^.)
Lisp nesting exceeds ‘max-lisp-eval-depth’
On Emacs 27, this correctly prints a list of everything in the current
directory *except* for regular files. ("*" matches all files, "()"
specifies an argument predicate, "." says "match regular files", and "^"
says "invert that logic".)
I think this is due to the lexical binding change in 28. Attached is a
patch to fix this. No unit tests right now, but I'm working on a patch
for 29 with full unit tests for Eshell globs and argument
predicates/modifiers. (I pulled this bit out of my branch for that,
since it's a regression that should probably get fixed in 28.)
Regarding the patch itself, I'm not sure if there's a cleaner way to do
this; it feels like there should be, but this is the only way I could
think of off-hand to fix it.
[0001-Fix-evaluation-of-negated-argument-predicates-in-Esh.patch (text/plain, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#54369
; Package
emacs
.
(Sun, 13 Mar 2022 14:39:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 54369 <at> debbugs.gnu.org (full text, mbox):
Jim Porter <jporterbugs <at> gmail.com> writes:
> I think this is due to the lexical binding change in 28. Attached is a
> patch to fix this. No unit tests right now, but I'm working on a patch
> for 29 with full unit tests for Eshell globs and argument
> predicates/modifiers. (I pulled this bit out of my branch for that,
> since it's a regression that should probably get fixed in 28.)
Yup. Pushed to emacs-28 now.
> Regarding the patch itself, I'm not sure if there's a cleaner way to
> do this; it feels like there should be, but this is the only way I
> could think of off-hand to fix it.
It looks like the most obvious minimal way to fix this to me.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
bug marked as fixed in version 29.1, send any further explanations to
54369 <at> debbugs.gnu.org and Jim Porter <jporterbugs <at> gmail.com>
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 13 Mar 2022 14:39:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 11 Apr 2022 11:24:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 70 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.