From 7171e77d4d1e83fdf9c7a56987b98bce3f181598 Mon Sep 17 00:00:00 2001 From: Jameson Rollins Date: Sat, 6 Nov 2010 16:49:28 -0400 Subject: [PATCH] Don't use kill-this-buffer to kill notmuch emacs buffers kill-this-buffer appears to be a function intended specifically for use in the menu bar, and causes problem killing notmuch buffers when multiple frames have been used. This patch replaces kill-this-buffer with notmuch-kill-this-buffer, which in turn just simply calls (kill-buffer (current-buffer)). --- emacs/notmuch-hello.el | 2 +- emacs/notmuch-lib.el | 5 +++++ emacs/notmuch-show.el | 4 ++-- emacs/notmuch.el | 4 ++-- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el index 4b6a90db..e58dd24e 100644 --- a/emacs/notmuch-hello.el +++ b/emacs/notmuch-hello.el @@ -294,7 +294,7 @@ 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 "") 'widget-backward) diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index abcbfa1f..dfdcd052 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -87,6 +87,11 @@ the user hasn't set this variable with the old or new value." "Return the user.primary_email value from the notmuch configuration." (notmuch-config-get "user.primary_email")) +(defun notmuch-kill-this-buffer () + "Kill the current buffer." + (interactive) + (kill-buffer (current-buffer))) + ;; ;; XXX: This should be a generic function in emacs somewhere, not diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index ae483dde..70121254 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -555,7 +555,7 @@ function is used. " (defvar notmuch-show-mode-map (let ((map (make-sparse-keymap))) (define-key map "?" 'notmuch-help) - (define-key map "q" 'kill-this-buffer) + (define-key map "q" 'notmuch-kill-this-buffer) (define-key map (kbd "") 'widget-backward) (define-key map (kbd "M-TAB") 'notmuch-show-previous-button) (define-key map (kbd "") 'notmuch-show-previous-button) @@ -1043,7 +1043,7 @@ argument, hide all of the messages." until (not (notmuch-show-goto-message-next))) ;; Move to the next item in the search results, if any. (let ((parent-buffer notmuch-show-parent-buffer)) - (kill-this-buffer) + (notmuch-kill-this-buffer) (if parent-buffer (progn (switch-to-buffer parent-buffer) diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 2a87ab92..4a9223e4 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -232,7 +232,7 @@ For a mouse binding, return nil." "Exit the search buffer, calling any defined continuation function." (interactive) (let ((continuation notmuch-search-continuation)) - (kill-this-buffer) + (notmuch-kill-this-buffer) (when continuation (funcall continuation)))) @@ -824,7 +824,7 @@ same relative position within the new buffer." (target-thread (notmuch-search-find-thread-id)) (query notmuch-search-query-string) (continuation notmuch-search-continuation)) - (kill-this-buffer) + (notmuch-kill-this-buffer) (notmuch-search query oldest-first target-thread target-line continuation) (goto-char (point-min))))