summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/eshell/em-pred.el12
1 files changed, 6 insertions, 6 deletions
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el
index b1dc7abc696..4f4e85c1a69 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)