This commit is contained in:
djcb
2012-06-22 09:45:28 +03:00
parent cf2e716e9c
commit 59433c91cb
3 changed files with 10 additions and 11 deletions

View File

@ -1168,17 +1168,16 @@ to ensure we don't disturb other windows."
(headers-visible)) (headers-visible))
(walk-windows (walk-windows
(lambda (win) (lambda (win)
;; if we find a view window connected to this one, kill it ;; if we the view window connected to this one, kill it
(when (eq mu4e~headers-view-win win) (when (eq mu4e~headers-view-win win)
(delete-window win) (delete-window win)
(setq mu4e~headers-view-win nil)) (setq mu4e~headers-view-win nil))
;; and kill any _other_ (non-selected) window that shows the current ;; and kill any _other_ (non-selected) window that shows the current
;; buffer ;; buffer
(when (when (and
(and (eq curbuf (window-buffer win)) ;; does win show curbuf?
(eq curbuf (window-buffer win)) ;; does win show curbuf? (not (eq curwin win)) ;; it's not the curwin?
(not (eq curwin win)) ;; but it's not the curwin? (not (one-window-p))) ;; and not the last one?
(not (one-window-p))) ;; and not the last one on the frame?
(delete-window win)))) ;; delete it! (delete-window win)))) ;; delete it!
;; now, all *other* windows should be gone. kill ourselves, and return ;; now, all *other* windows should be gone. kill ourselves, and return
;; to the main view ;; to the main view

View File

@ -77,7 +77,7 @@ the length (in hex).")
(defun mu4e~proc-kill () (defun mu4e~proc-kill ()
"Kill the mu server process." "Kill the mu server process."
(let* ((buf (get-buffer mu4e~proc-name)) (let* ((buf (get-buffer mu4e~proc-name))
(proc (and buf (get-buffer-process buf)))) (proc (and (buffer-live-p buf) (get-buffer-process buf))))
(when proc (when proc
(let ((delete-exited-processes t)) (let ((delete-exited-processes t))
;; the mu server signal handler will make it quit after 'quit' ;; the mu server signal handler will make it quit after 'quit'
@ -283,7 +283,7 @@ terminates."
((eq code 11) ((eq code 11)
(mu4e-message "Database is locked by another process")) (mu4e-message "Database is locked by another process"))
((eq code 19) ((eq code 19)
(mu4e-message "Database empty or non-existent; try indexing some messages")) (mu4e-message "Database empty; try indexing some messages"))
(t (mu4e-message "mu server process ended with exit code %d" code)))) (t (mu4e-message "mu server process ended with exit code %d" code))))
(t (t
(mu4e-message "Something bad happened to the mu server process"))))) (mu4e-message "Something bad happened to the mu server process")))))

View File

@ -218,7 +218,7 @@ REFRESH is for re-showing an already existing message.
As a side-effect, a message that is being viewed loses its 'unread' As a side-effect, a message that is being viewed loses its 'unread'
marking if it still had that." marking if it still had that."
(let ((buf (get-buffer-create mu4e~view-buffer-name))) (let ((buf (generate-new-buffer mu4e~view-buffer-name)))
(with-current-buffer buf (with-current-buffer buf
(mu4e-view-mode) (mu4e-view-mode)
(let ((inhibit-read-only t)) (let ((inhibit-read-only t))
@ -668,12 +668,12 @@ number them so they can be opened using `mu4e-view-go-to-url'."
current message." current message."
`(progn `(progn
(unless '(buffer-live-p mu4e~view-headers-buffer) (unless '(buffer-live-p mu4e~view-headers-buffer)
(error "no headers buffer available.")) (error "no headers-buffer connected"))
(let* ((docid (mu4e-field-at-point :docid))) (let* ((docid (mu4e-field-at-point :docid)))
(with-current-buffer mu4e~view-headers-buffer (with-current-buffer mu4e~view-headers-buffer
(if (and docid (mu4e~headers-goto-docid docid)) (if (and docid (mu4e~headers-goto-docid docid))
,@body ,@body
(error "Cannot find corresponding message in headers (error "cannot find corresponding message in headers
buffer.")))))) buffer."))))))
(defun mu4e-view-headers-next(&optional n) (defun mu4e-view-headers-next(&optional n)