emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-28 8e7a3f21e0: Fix evaluation of negated argument predicates in Es


From: Lars Ingebrigtsen
Subject: emacs-28 8e7a3f21e0: Fix evaluation of negated argument predicates in Eshell
Date: Sun, 13 Mar 2022 15:01:14 -0400 (EDT)

branch: emacs-28
commit 8e7a3f21e00649bacc01be627edd45ff01b51a33
Author: Jim Porter <jporterbugs@gmail.com>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Fix evaluation of negated argument predicates in Eshell
    
    * lisp/eshell/em-pred.el (eshell-add-pred-func): Let-bind 'pred' so
    the lambdas see the original value (bug#54369).
    
    Committed on the wrong branch.
    
    Do not merge to master.
---
 lisp/eshell/em-pred.el | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el
index b1dc7abc69..4f4e85c1a6 100644
--- a/lisp/eshell/em-pred.el
+++ b/lisp/eshell/em-pred.el
@@ -364,12 +364,12 @@ resultant list of strings."
 
 (defun eshell-add-pred-func (pred funcs negate follow)
   "Add the predicate function PRED to FUNCS."
-  (if negate
-      (setq pred (lambda (file)
-                  (not (funcall pred file)))))
-  (if follow
-      (setq pred (lambda (file)
-                  (funcall pred (file-truename file)))))
+  (when negate
+    (setq pred (let ((pred pred))
+                 (lambda (file) (not (funcall pred file))))))
+  (when follow
+    (setq pred (let ((pred pred))
+                 (lambda (file) (funcall pred (file-truename file))))))
   (cons pred funcs))
 
 (defun eshell-pred-user-or-group (mod-char mod-type attr-index get-id-func)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]