X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch.el;h=00cf271a2126574a6425f06898fc0f189dadf164;hb=ecdfa9a6b0d92ebc9bb0a41b597ad7420883d9ca;hp=7994d742f7fc702ef77843af4efbefa4a2bd5da3;hpb=915a707ae482253ea93b13f854153f98dca0d563;p=notmuch diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 7994d742..00cf271a 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -213,8 +213,8 @@ For a mouse binding, return nil." (defvar notmuch-search-mode-map (let ((map (make-sparse-keymap))) (define-key map "?" 'notmuch-help) - (define-key map "q" 'notmuch-search-quit) - (define-key map "x" 'notmuch-search-quit) + (define-key map "q" 'notmuch-kill-this-buffer) + (define-key map "x" 'notmuch-kill-this-buffer) (define-key map (kbd "") 'notmuch-search-scroll-down) (define-key map "b" 'notmuch-search-scroll-down) (define-key map " " 'notmuch-search-scroll-up) @@ -257,18 +257,9 @@ For a mouse binding, return nil." (defvar notmuch-search-query-string) (defvar notmuch-search-target-thread) (defvar notmuch-search-target-line) -(defvar notmuch-search-continuation) (defvar notmuch-search-disjunctive-regexp "\\<[oO][rR]\\>") -(defun notmuch-search-quit () - "Exit the search buffer, calling any defined continuation function." - (interactive) - (let ((continuation notmuch-search-continuation)) - (notmuch-kill-this-buffer) - (when continuation - (funcall continuation)))) - (defun notmuch-search-scroll-up () "Move forward through search results by one window's worth." (interactive) @@ -412,7 +403,6 @@ Complete list of currently available key bindings: (make-local-variable 'notmuch-search-oldest-first) (make-local-variable 'notmuch-search-target-thread) (make-local-variable 'notmuch-search-target-line) - (set (make-local-variable 'notmuch-search-continuation) nil) (set (make-local-variable 'scroll-preserve-screen-position) t) (add-to-invisibility-spec (cons 'ellipsis t)) (use-local-map notmuch-search-mode-map) @@ -821,8 +811,7 @@ non-authors is found, assume that all of the authors match." (parse-buf (process-get proc 'parse-buf)) (inhibit-read-only t) done) - (if (not (buffer-live-p results-buf)) - (delete-process proc) + (when (buffer-live-p results-buf) (with-current-buffer parse-buf ;; Insert new data (save-excursion @@ -897,7 +886,7 @@ PROMPT is the string to prompt with." 'notmuch-search-history nil nil))))) ;;;###autoload -(defun notmuch-search (&optional query oldest-first target-thread target-line continuation) +(defun notmuch-search (&optional query oldest-first target-thread target-line) "Run \"notmuch search\" with the given `query' and display results. If `query' is nil, it is read interactively from the minibuffer. @@ -907,8 +896,18 @@ Other optional parameters are used as follows: target-thread: A thread ID (without the thread: prefix) that will be made current if it appears in the search results. target-line: The line number to move to if the target thread does not - appear in the search results." - (interactive) + appear in the search results. + +When called interactively, this will prompt for a query and use +the configured default sort order." + (interactive + (list + ;; Prompt for a query + nil + ;; Use the default search order (if we're doing a search from a + ;; search buffer, ignore any buffer-local overrides) + (default-value notmuch-search-oldest-first))) + (let* ((query (or query (notmuch-read-query "Notmuch search: "))) (buffer (get-buffer-create (notmuch-search-buffer-title query)))) (switch-to-buffer buffer) @@ -919,7 +918,6 @@ Other optional parameters are used as follows: (set 'notmuch-search-oldest-first oldest-first) (set 'notmuch-search-target-thread target-thread) (set 'notmuch-search-target-line target-line) - (set 'notmuch-search-continuation continuation) (let ((proc (get-buffer-process (current-buffer))) (inhibit-read-only t)) (if proc @@ -956,10 +954,9 @@ same relative position within the new buffer." (let ((target-line (line-number-at-pos)) (oldest-first notmuch-search-oldest-first) (target-thread (notmuch-search-find-thread-id 'bare)) - (query notmuch-search-query-string) - (continuation notmuch-search-continuation)) + (query notmuch-search-query-string)) (notmuch-kill-this-buffer) - (notmuch-search query oldest-first target-thread target-line continuation) + (notmuch-search query oldest-first target-thread target-line) (goto-char (point-min)))) (defcustom notmuch-poll-script nil @@ -1009,17 +1006,8 @@ depending on the value of `notmuch-poll-script'." (defun notmuch-search-toggle-order () "Toggle the current search order. -By default, the \"inbox\" view created by `notmuch' is displayed -in chronological order (oldest thread at the beginning of the -buffer), while any global searches created by `notmuch-search' -are displayed in reverse-chronological order (newest thread at -the beginning of the buffer). - -This command toggles the sort order for the current search. - -Note that any filtered searches created by -`notmuch-search-filter' retain the search order of the parent -search." +This command toggles the sort order for the current search. The +default sort order is defined by `notmuch-search-oldest-first'." (interactive) (set 'notmuch-search-oldest-first (not notmuch-search-oldest-first)) (notmuch-search-refresh-view))