]> git.notmuchmail.org Git - notmuch/blobdiff - emacs/notmuch-hello.el
emacs: do not modify the alist passed to notmuch-sort-saved-searches
[notmuch] / emacs / notmuch-hello.el
index aad373d6fbbae7d1d52fc9bd3e1180833ea1fe4d..6b4b2c14de5cd16fc1a2c74da4f199c228ea19e7 100644 (file)
@@ -41,7 +41,7 @@
 
 (defun notmuch-sort-saved-searches (alist)
   "Generate an alphabetically sorted saved searches alist."
-  (sort alist (lambda (a b) (string< (car a) (car b)))))
+  (sort (copy-sequence alist) (lambda (a b) (string< (car a) (car b)))))
 
 (defcustom notmuch-saved-search-sort-function nil
   "Function used to sort the saved searches for the notmuch-hello view.
@@ -461,7 +461,7 @@ Such a list can be computed with `notmuch-hello-query-counts'."
                  ;; just insert `(- widest (length name))' spaces - the
                  ;; column separator is included in the button if
                  ;; `(equal widest (length name)'.
-                 (widget-insert (make-string (max 1
+                 (widget-insert (make-string (max 0
                                                   (- widest (length name)))
                                              ? )))))
            (setq count (1+ count))
@@ -695,16 +695,16 @@ Supports the following entries in OPTIONS as a plist:
                                (notmuch-hello-update))
                     "hide"))
     (widget-insert "\n")
-    (let (target-pos
-         (searches (apply 'notmuch-hello-query-counts query-alist options)))
-      (when (and (not is-hidden)
-              (or (not (plist-get options :hide-if-empty))
-                 searches))
-       (widget-insert "\n")
-       (setq target-pos
-             (notmuch-hello-insert-buttons searches))
-       (indent-rigidly start (point) notmuch-hello-indent)
-       target-pos))))
+    (let (target-pos)
+      (when (not is-hidden)
+       (let ((searches (apply 'notmuch-hello-query-counts query-alist options)))
+         (when (or (not (plist-get options :hide-if-empty))
+                   searches)
+           (widget-insert "\n")
+           (setq target-pos
+                 (notmuch-hello-insert-buttons searches))
+           (indent-rigidly start (point) notmuch-hello-indent))))
+      target-pos)))
 
 (defun notmuch-hello-insert-tags-section (&optional title &rest options)
   "Insert a section displaying all tags with message counts.