mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
emacs: show: use interactive instead of current-prefix-arg
Currently notmuch-show looks at the prefix-arg directly via current-prefix-arg. This changes it to use the interactive specification. One test (for elide-toggle functionality) set the prefix arg directly. Update this test to set the new argument directly.
This commit is contained in:
parent
10596a5cce
commit
99d474c484
3 changed files with 11 additions and 9 deletions
|
@ -1080,15 +1080,17 @@ buttons for a corresponding notmuch search."
|
||||||
(make-text-button (first link) (second link)
|
(make-text-button (first link) (second link)
|
||||||
:type 'notmuch-button-type
|
:type 'notmuch-button-type
|
||||||
'action `(lambda (arg)
|
'action `(lambda (arg)
|
||||||
(notmuch-show ,(third link)))
|
(notmuch-show ,(third link) current-prefix-arg))
|
||||||
'follow-link t
|
'follow-link t
|
||||||
'help-echo "Mouse-1, RET: search for this message"
|
'help-echo "Mouse-1, RET: search for this message"
|
||||||
'face goto-address-mail-face)))))
|
'face goto-address-mail-face)))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun notmuch-show (thread-id &optional parent-buffer query-context buffer-name)
|
(defun notmuch-show (thread-id &optional elide-toggle parent-buffer query-context buffer-name)
|
||||||
"Run \"notmuch show\" with the given thread ID and display results.
|
"Run \"notmuch show\" with the given thread ID and display results.
|
||||||
|
|
||||||
|
ELIDE-TOGGLE, if non-nil, inverts the default elide behavior.
|
||||||
|
|
||||||
The optional PARENT-BUFFER is the notmuch-search buffer from
|
The optional PARENT-BUFFER is the notmuch-search buffer from
|
||||||
which this notmuch-show command was executed, (so that the
|
which this notmuch-show command was executed, (so that the
|
||||||
next thread from that buffer can be show when done with this
|
next thread from that buffer can be show when done with this
|
||||||
|
@ -1102,7 +1104,7 @@ The optional BUFFER-NAME provides the name of the buffer in
|
||||||
which the message thread is shown. If it is nil (which occurs
|
which the message thread is shown. If it is nil (which occurs
|
||||||
when the command is called interactively) the argument to the
|
when the command is called interactively) the argument to the
|
||||||
function is used."
|
function is used."
|
||||||
(interactive "sNotmuch show: ")
|
(interactive "sNotmuch show: \nP")
|
||||||
(let ((buffer-name (generate-new-buffer-name
|
(let ((buffer-name (generate-new-buffer-name
|
||||||
(or buffer-name
|
(or buffer-name
|
||||||
(concat "*notmuch-" thread-id "*")))))
|
(concat "*notmuch-" thread-id "*")))))
|
||||||
|
@ -1112,9 +1114,9 @@ function is used."
|
||||||
(setq notmuch-show-process-crypto notmuch-crypto-process-mime)
|
(setq notmuch-show-process-crypto notmuch-crypto-process-mime)
|
||||||
;; Set the default value for
|
;; Set the default value for
|
||||||
;; `notmuch-show-elide-non-matching-messages' in this buffer. If
|
;; `notmuch-show-elide-non-matching-messages' in this buffer. If
|
||||||
;; there is a prefix argument, invert the default.
|
;; elide-toggle is set, invert the default.
|
||||||
(setq notmuch-show-elide-non-matching-messages notmuch-show-only-matching-messages)
|
(setq notmuch-show-elide-non-matching-messages notmuch-show-only-matching-messages)
|
||||||
(if current-prefix-arg
|
(if elide-toggle
|
||||||
(setq notmuch-show-elide-non-matching-messages (not notmuch-show-elide-non-matching-messages)))
|
(setq notmuch-show-elide-non-matching-messages (not notmuch-show-elide-non-matching-messages)))
|
||||||
|
|
||||||
(setq notmuch-show-thread-id thread-id
|
(setq notmuch-show-thread-id thread-id
|
||||||
|
|
|
@ -510,13 +510,14 @@ If BARE is set then do not prefix with \"thread:\""
|
||||||
"Return a list of authors for the current region"
|
"Return a list of authors for the current region"
|
||||||
(notmuch-search-properties-in-region :subject beg end))
|
(notmuch-search-properties-in-region :subject beg end))
|
||||||
|
|
||||||
(defun notmuch-search-show-thread ()
|
(defun notmuch-search-show-thread (&optional elide-toggle)
|
||||||
"Display the currently selected thread."
|
"Display the currently selected thread."
|
||||||
(interactive)
|
(interactive "P")
|
||||||
(let ((thread-id (notmuch-search-find-thread-id))
|
(let ((thread-id (notmuch-search-find-thread-id))
|
||||||
(subject (notmuch-search-find-subject)))
|
(subject (notmuch-search-find-subject)))
|
||||||
(if (> (length thread-id) 0)
|
(if (> (length thread-id) 0)
|
||||||
(notmuch-show thread-id
|
(notmuch-show thread-id
|
||||||
|
elide-toggle
|
||||||
(current-buffer)
|
(current-buffer)
|
||||||
notmuch-search-query-string
|
notmuch-search-query-string
|
||||||
;; Name the buffer based on the subject.
|
;; Name the buffer based on the subject.
|
||||||
|
|
|
@ -91,8 +91,7 @@ test_begin_subtest "notmuch-show: elide non-matching messages (w/ prefix arg to
|
||||||
test_emacs '(let ((notmuch-show-only-matching-messages nil))
|
test_emacs '(let ((notmuch-show-only-matching-messages nil))
|
||||||
(notmuch-search "from:lars@seas.harvard.edu and subject:\"Maildir storage\"")
|
(notmuch-search "from:lars@seas.harvard.edu and subject:\"Maildir storage\"")
|
||||||
(notmuch-test-wait)
|
(notmuch-test-wait)
|
||||||
(let ((current-prefix-arg t))
|
(notmuch-search-show-thread t)
|
||||||
(notmuch-search-show-thread))
|
|
||||||
(notmuch-test-wait)
|
(notmuch-test-wait)
|
||||||
(test-visible-output))'
|
(test-visible-output))'
|
||||||
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-elide-non-matching-messages-on
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-elide-non-matching-messages-on
|
||||||
|
|
Loading…
Reference in a new issue