emacs: Fix notmuch-hello to not break when given a very narrow window.

Simply ensure that some subtractions never result in a negative
number, (since emacs complains when asked to create a string with a
negative length).
This commit is contained in:
Carl Worth 2010-10-22 12:03:34 -07:00
parent f117d80d9b
commit 1a17faf48d

View file

@ -209,11 +209,12 @@ should be. Returns a cons cell `(tags-per-line width)'."
;; after the name. ;; after the name.
(+ 9 1 widest))))))) (+ 9 1 widest)))))))
(cons tags-per-line (/ (- (window-width) notmuch-hello-indent (cons tags-per-line (/ (max 1
;; Count is 9 wide (8 digits plus (- (window-width) notmuch-hello-indent
;; space), 1 for the space after the ;; Count is 9 wide (8 digits plus
;; name. ;; space), 1 for the space after the
(* tags-per-line (+ 9 1))) ;; name.
(* tags-per-line (+ 9 1))))
tags-per-line)))) tags-per-line))))
(defun notmuch-hello-insert-tags (tag-alist widest target) (defun notmuch-hello-insert-tags (tag-alist widest target)
@ -249,7 +250,9 @@ should be. Returns a cons cell `(tags-per-line width)'."
;; can just insert `(- widest (length name))' spaces - ;; can just insert `(- widest (length name))' spaces -
;; the column separator is included in the button if ;; the column separator is included in the button if
;; `(equal widest (length name)'. ;; `(equal widest (length name)'.
(widget-insert (make-string (- widest (length name)) ? )))) (widget-insert (make-string (max 1
(- widest (length name)))
? ))))
(setq count (1+ count)) (setq count (1+ count))
(if (eq (% count tags-per-line) 0) (if (eq (% count tags-per-line) 0)
(widget-insert "\n"))) (widget-insert "\n")))