diff options
Diffstat (limited to 'lisp/ibuf-macs.el')
-rw-r--r-- | lisp/ibuf-macs.el | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/lisp/ibuf-macs.el b/lisp/ibuf-macs.el index 5d2dd479455..acffb74ead3 100644 --- a/lisp/ibuf-macs.el +++ b/lisp/ibuf-macs.el @@ -35,7 +35,7 @@ If TEST returns non-nil, bind `it' to the value, and evaluate TRUE-BODY. Otherwise, evaluate forms in FALSE-BODY as if in `progn'. Compare with `if'." - (declare (indent 2)) + (declare (obsolete if-let "29.1") (indent 2)) (let ((sym (make-symbol "ibuffer-aif-sym"))) `(let ((,sym ,test)) (if ,sym @@ -47,10 +47,9 @@ Compare with `if'." (defmacro ibuffer-awhen (test &rest body) "Evaluate BODY if TEST returns non-nil. During evaluation of body, bind `it' to the value returned by TEST." - (declare (indent 1)) - `(ibuffer-aif ,test - (progn ,@body) - nil)) + (declare (indent 1) (obsolete when-let "29.1")) + `(when-let ((it ,test)) + ,@body)) (defmacro ibuffer-save-marks (&rest body) "Save the marked status of the buffers and execute BODY; restore marks." @@ -321,10 +320,15 @@ bound to the current value of the filter. (when (cdr qualifier) ; Compose individual filters with `or'. (setq ,filter `(or ,@(mapcar (lambda (m) (cons ',name m)) qualifier)))))) (if (null (ibuffer-push-filter ,filter)) - (message ,(format "Filter by %s already applied: %%s" description) - ,qualifier-str) - (message ,(format "Filter by %s added: %%s" description) - ,qualifier-str) + (if ,qualifier-str + (message ,(format "Filter by %s already applied: %%s" + description) + ,qualifier-str) + (message ,(format "Filter by %s already applied" description))) + (if ,qualifier-str + (message ,(format "Filter by %s added: %%s" description) + ,qualifier-str) + (message ,(format "Filter by %s added" description))) (ibuffer-update nil t)))) (push (list ',name ,description (lambda (buf qualifier) |