]> git.notmuchmail.org Git - notmuch/blobdiff - emacs/notmuch-compat.el
emacs: Add new option notmuch-search-hide-excluded
[notmuch] / emacs / notmuch-compat.el
index ad134dfee99c273f7ffb5895730364902abe40af..179bf59ca86116e79b64393ff76c41d65db53be9 100644 (file)
 (unless (fboundp 'message--fold-long-headers)
   (add-hook 'message-header-hook 'notmuch-message--fold-long-headers))
 
 (unless (fboundp 'message--fold-long-headers)
   (add-hook 'message-header-hook 'notmuch-message--fold-long-headers))
 
+;; `dlet' isn't available until Emacs 28.1.  Below is a copy, with the
+;; addition of `with-no-warnings'.
+(defmacro notmuch-dlet (binders &rest body)
+  "Like `let*' but using dynamic scoping."
+  (declare (indent 1) (debug let))
+  `(let (_)
+     (with-no-warnings  ; Quiet "lacks a prefix" warning.
+       ,@(mapcar (lambda (binder)
+                  `(defvar ,(if (consp binder) (car binder) binder)))
+                binders))
+     (let* ,binders ,@body)))
+
 (provide 'notmuch-compat)
 
 ;;; notmuch-compat.el ends here
 (provide 'notmuch-compat)
 
 ;;; notmuch-compat.el ends here