]> git.notmuchmail.org Git - notmuch/blobdiff - emacs/notmuch-hello.el
emacs: Allow the user to choose the "From" address when composing a new message
[notmuch] / emacs / notmuch-hello.el
index f8ae332c440ed3b4d9fed18ceb05cd41db6a6e3f..ab06d3a6a9c1937a2183f4bd10d534eed567f22a 100644 (file)
@@ -19,9 +19,9 @@
 ;;
 ;; Authors: David Edmondson <dme@dme.org>
 
+(eval-when-compile (require 'cl))
 (require 'widget)
 (require 'wid-edit) ; For `widget-forward'.
-(require 'cl)
 
 (require 'notmuch-lib)
 (require 'notmuch-mua)
@@ -115,6 +115,7 @@ Typically \",\" in the US and UK and \".\" in Europe."
     (while (> n 0)
       (push (% n 1000) result)
       (setq n (/ n 1000)))
+    (setq result (or result '(0)))
     (apply #'concat
      (number-to-string (car result))
      (mapcar (lambda (elem)
@@ -209,11 +210,12 @@ should be. Returns a cons cell `(tags-per-line width)'."
                   ;; after the name.
                   (+ 9 1 widest)))))))
 
-    (cons tags-per-line (/ (- (window-width) notmuch-hello-indent
-                             ;; Count is 9 wide (8 digits plus
-                             ;; space), 1 for the space after the
-                             ;; name.
-                             (* tags-per-line (+ 9 1)))
+    (cons tags-per-line (/ (max 1
+                               (- (window-width) notmuch-hello-indent
+                                  ;; Count is 9 wide (8 digits plus
+                                  ;; space), 1 for the space after the
+                                  ;; name.
+                                  (* tags-per-line (+ 9 1))))
                           tags-per-line))))
 
 (defun notmuch-hello-insert-tags (tag-alist widest target)
@@ -249,7 +251,9 @@ should be. Returns a cons cell `(tags-per-line width)'."
                ;; can just insert `(- widest (length name))' spaces -
                ;; the column separator is included in the button if
                ;; `(equal widest (length name)'.
-               (widget-insert (make-string (- widest (length name)) ? ))))
+               (widget-insert (make-string (max 1
+                                                (- widest (length name)))
+                                           ? ))))
            (setq count (1+ count))
            (if (eq (% count tags-per-line) 0)
                (widget-insert "\n")))
@@ -290,11 +294,11 @@ should be. Returns a cons cell `(tags-per-line width)'."
     (define-key map "v" '(lambda () "Display the notmuch version" (interactive)
                            (message "notmuch version %s" (notmuch-version))))
     (define-key map "?" 'notmuch-help)
-    (define-key map "q" 'kill-this-buffer)
+    (define-key map "q" 'notmuch-kill-this-buffer)
     (define-key map "=" 'notmuch-hello-update)
     (define-key map "G" 'notmuch-hello-poll-and-update)
     (define-key map (kbd "<C-tab>") 'widget-backward)
-    (define-key map "m" 'notmuch-mua-mail)
+    (define-key map "m" 'notmuch-mua-new-mail)
     (define-key map "s" 'notmuch-hello-goto-search)
     map)
   "Keymap for \"notmuch hello\" buffers.")
@@ -314,7 +318,9 @@ Complete list of currently available key bindings:
  ;;(setq buffer-read-only t)
 )
 
+;;;###autoload
 (defun notmuch-hello (&optional no-display)
+  "Run notmuch and display saved searches, known tags, etc."
   (interactive)
 
   ; Jump through a hoop to get this value from the deprecated variable
@@ -378,7 +384,7 @@ Complete list of currently available key bindings:
                     :help-echo "Refresh"
                     (notmuch-hello-nice-number
                      (string-to-number (car (process-lines notmuch-command "count")))))
-      (widget-insert " messages (that's not much mail).\n"))
+      (widget-insert " messages.\n"))
 
     (let ((found-target-pos nil)
          (final-target-pos nil))
@@ -510,7 +516,6 @@ Complete list of currently available key bindings:
       (unless (widget-at)
        (notmuch-hello-goto-search)))))
 
-;;;###autoload
 (defun notmuch-folder ()
   "Deprecated function for invoking notmuch---calling `notmuch' is preferred now."
   (interactive)