* [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region @ 2019-04-09 16:47 Pierre Neidhardt 2019-04-09 16:47 ` [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree Pierre Neidhardt 2019-05-07 9:35 ` [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region David Bremner 0 siblings, 2 replies; 14+ messages in thread From: Pierre Neidhardt @ 2019-04-09 16:47 UTC (permalink / raw) To: notmuch --- emacs/notmuch-lib.el | 9 +++++++++ emacs/notmuch.el | 17 ++++------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 546ab6fd..7fc342a5 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -1008,6 +1008,15 @@ status." (defvar notmuch-show-process-crypto nil) (make-variable-buffer-local 'notmuch-show-process-crypto) +(defun notmuch-interactive-region () + "Return the bounds of the current interactive region. + +This returns (BEG END), where BEG and END are the bounds of the +region if the region is active, or both `point' otherwise." + (if (region-active-p) + (list (region-beginning) (region-end)) + (list (point) (point)))) + (provide 'notmuch-lib) ;; Local Variables: diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 804e78ab..773d1206 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -557,20 +557,11 @@ thread." (setq output (append output (notmuch-search-get-tags pos))))) output)) -(defun notmuch-search-interactive-region () - "Return the bounds of the current interactive region. - -This returns (BEG END), where BEG and END are the bounds of the -region if the region is active, or both `point' otherwise." - (if (region-active-p) - (list (region-beginning) (region-end)) - (list (point) (point)))) - (defun notmuch-search-interactive-tag-changes (&optional initial-input) "Prompt for tag changes for the current thread or region. Returns (TAG-CHANGES REGION-BEGIN REGION-END)." - (let* ((region (notmuch-search-interactive-region)) + (let* ((region (notmuch-interactive-region)) (beg (first region)) (end (second region)) (prompt (if (= beg end) "Tag thread" "Tag region"))) (cons (notmuch-read-tag-changes @@ -590,8 +581,8 @@ is inactive this applies to the thread at point. If ONLY-MATCHED is non-nil, only tag matched messages." (interactive (notmuch-search-interactive-tag-changes)) (unless (and beg end) - (setq beg (car (notmuch-search-interactive-region)) - end (cadr (notmuch-search-interactive-region)))) + (setq beg (car (notmuch-interactive-region)) + end (cadr (notmuch-interactive-region)))) (let ((search-string (notmuch-search-find-stable-query-region beg end only-matched))) (notmuch-tag search-string tag-changes) @@ -627,7 +618,7 @@ messages will be \"unarchived\" (i.e. the tag changes in `notmuch-archive-tags' will be reversed). This function advances the next thread when finished." - (interactive (cons current-prefix-arg (notmuch-search-interactive-region))) + (interactive (cons current-prefix-arg (notmuch-interactive-region))) (when notmuch-archive-tags (notmuch-search-tag (notmuch-tag-change-list notmuch-archive-tags unarchive) beg end)) -- 2.21.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree 2019-04-09 16:47 [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region Pierre Neidhardt @ 2019-04-09 16:47 ` Pierre Neidhardt 2019-05-08 11:00 ` David Bremner 2019-05-07 9:35 ` [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region David Bremner 1 sibling, 1 reply; 14+ messages in thread From: Pierre Neidhardt @ 2019-04-09 16:47 UTC (permalink / raw) To: notmuch --- emacs/notmuch-tree.el | 101 +++++++++++++++++++++++++++++++++++------- 1 file changed, 86 insertions(+), 15 deletions(-) diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el index c00315e8..ff471c19 100644 --- a/emacs/notmuch-tree.el +++ b/emacs/notmuch-tree.el @@ -297,13 +297,15 @@ FUNC." map)) (fset 'notmuch-tree-mode-map notmuch-tree-mode-map) -(defun notmuch-tree-get-message-properties () +(defun notmuch-tree-get-message-properties (&optional pos) "Return the properties of the current message as a plist. Some useful entries are: :headers - Property list containing the headers :Date, :Subject, :From, etc. :tags - Tags for this message" + (setq pos (or pos (point))) (save-excursion + (goto-char pos) (beginning-of-line) (get-text-property (point) :notmuch-message-properties))) @@ -332,6 +334,13 @@ Some useful entries are: "Return the tags of the current message." (notmuch-tree-get-prop :tags)) +(defun notmuch-tree-get-tags-region (beg end) + (let (output) + (notmuch-tree-foreach-result beg end + (lambda (pos) + (setq output (append output (notmuch-tree-get-tags))))) + output)) + (defun notmuch-tree-get-message-id (&optional bare) "Return the message id of the current message." (let ((id (notmuch-tree-get-prop :id))) @@ -387,24 +396,86 @@ NOT change the database." (when (string= tree-msg-id (notmuch-show-get-message-id)) (notmuch-show-update-tags new-tags))))))) -(defun notmuch-tree-tag (tag-changes) +(defun notmuch-tree-result-beginning (&optional pos) + "Return the point at the beginning of the message at POS (or point). + +If there is no thread at POS (or point), returns nil." + (when (notmuch-tree-get-message-properties pos) + ;; We pass 1+point because previous-single-property-change starts + ;; searching one before the position we give it. + (previous-single-property-change (1+ (or pos (point))) + :notmuch-message-properties nil (point-min)))) + +(defun notmuch-tree-result-end (&optional pos) + "Return the point at the end of the message at POS (or point). + +The returned point will be just after the newline character that +ends the result line. If there is no thread at POS (or point), +returns nil" + (when (notmuch-tree-get-message-properties pos) + (next-single-property-change (or pos (point)) :notmuch-message-properties + nil (point-max)))) + +(defun notmuch-tree-foreach-result (beg end fn) + "Invoke FN for each result between BEG and END. + +FN should take one argument. It will be applied to the +character position of the beginning of each result that overlaps +the region between points BEG and END. As a special case, if (= +BEG END), FN will be applied to the result containing point +BEG." + + (lexical-let ((pos (notmuch-tree-result-beginning beg)) + ;; End must be a marker in case fn changes the + ;; text. + (end (copy-marker end)) + ;; Make sure we examine at least one result, even if + ;; (= beg end). + (first t)) + ;; We have to be careful if the region extends beyond the results. + ;; In this case, pos could be null or there could be no result at + ;; pos. + (while (and pos (or (< pos end) first)) + (when (notmuch-tree-get-message-properties pos) + (funcall fn pos)) + (setq pos (notmuch-tree-result-end pos) + first nil)))) +(put 'notmuch-tree-foreach-result 'lisp-indent-function 2) + +(defun notmuch-tree-interactive-tag-changes (&optional initial-input) + "Prompt for tag changes for the current message or region. + +Returns (TAG-CHANGES REGION-BEGIN REGION-END)." + (let* ((region (notmuch-interactive-region)) + (beg (first region)) (end (second region)) + (prompt (if (= beg end) "Tag message" "Tag region"))) + (cons (notmuch-read-tag-changes + (notmuch-tree-get-tags-region beg end) prompt initial-input) + region))) + +(defun notmuch-tree-tag (tag-changes &optional beg end) "Change tags for the current message" - (interactive - (list (notmuch-read-tag-changes (notmuch-tree-get-tags) "Tag message"))) - (notmuch-tag (notmuch-tree-get-message-id) tag-changes) - (notmuch-tree-tag-update-display tag-changes)) - -(defun notmuch-tree-add-tag (tag-changes) + (interactive (notmuch-tree-interactive-tag-changes)) + (unless (and beg end) + (setq beg (car (notmuch-interactive-region)) + end (cadr (notmuch-interactive-region)))) + (notmuch-tree-foreach-result beg end + (lambda (pos) + (save-mark-and-excursion + (goto-char pos) + (notmuch-tag (notmuch-tree-get-message-id) + tag-changes) + (notmuch-tree-tag-update-display tag-changes))))) + +(defun notmuch-tree-add-tag (tag-changes &optional beg end) "Same as `notmuch-tree-tag' but sets initial input to '+'." - (interactive - (list (notmuch-read-tag-changes (notmuch-tree-get-tags) "Tag message" "+"))) - (notmuch-tree-tag tag-changes)) + (interactive (notmuch-tree-interactive-tag-changes "+")) + (notmuch-tree-tag tag-changes beg end)) -(defun notmuch-tree-remove-tag (tag-changes) +(defun notmuch-tree-remove-tag (tag-changes &optional beg end) "Same as `notmuch-tree-tag' but sets initial input to '-'." - (interactive - (list (notmuch-read-tag-changes (notmuch-tree-get-tags) "Tag message" "-"))) - (notmuch-tree-tag tag-changes)) + (interactive (notmuch-tree-interactive-tag-changes "-")) + (notmuch-tree-tag tag-changes beg end)) (defun notmuch-tree-resume-message () "Resume EDITING the current draft message." -- 2.21.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree 2019-04-09 16:47 ` [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree Pierre Neidhardt @ 2019-05-08 11:00 ` David Bremner 2019-05-14 10:40 ` Pierre Neidhardt 0 siblings, 1 reply; 14+ messages in thread From: David Bremner @ 2019-05-08 11:00 UTC (permalink / raw) To: Pierre Neidhardt, notmuch Thanks for contributing to Notmuch. Some generic comments: 1) Please consider a more comprehensive commit message [1]. The "why" here is maybe obvious, but consider pointing out whether this makes it more consistent with other parts of the UI (or not). Also, a (bit more extended) of the changes is always helpful, both to help read the diff and to warn of any potential breaking changes. 2) Please update doc/notmuch-emacs.rst. You can re-use docstrings; let me know if you need help doing that. We haven't been strict about this is in the past, but the emacs docs are really lagging. 3) We generally want at least one test for a new feature. test/T460-emacs-tree.sh has the existing tree related tests. Again, if you need help with the test suite, let us know. 4) Please use notmuch-tree-- as a prefix for new private symbols that users should not rely on. I'm not sure about which symbols that applies to here. [1] https://notmuchmail.org/contributing/#index5h2 Pierre Neidhardt <mail@ambrevar.xyz> writes: > +(defun notmuch-tree-foreach-result (beg end fn) > + (lexical-let ((pos (notmuch-tree-result-beginning beg)) As an aside, I'm curious if we can profitably start to use file level lexical-binding for parts of notmuch-emacs. > + (notmuch-tree-foreach-result beg end > + (lambda (pos) > + (save-mark-and-excursion I did wonder if notmuch-tree-foreach-result should be a macro. I'm not sure if the small gain in code compactness from just passing a "body" in the style of notmuch-show--with-currently-shown-message is worth it. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree 2019-05-08 11:00 ` David Bremner @ 2019-05-14 10:40 ` Pierre Neidhardt 2019-05-25 11:13 ` David Bremner 0 siblings, 1 reply; 14+ messages in thread From: Pierre Neidhardt @ 2019-05-14 10:40 UTC (permalink / raw) To: David Bremner, notmuch [-- Attachment #1.1: Type: text/plain, Size: 2793 bytes --] Hi! Thanks for your review. I've submitted and updated patch. > Thanks for contributing to Notmuch. Some generic comments: > > 1) Please consider a more comprehensive commit message [1]. The "why" > here is maybe obvious, but consider pointing out whether this makes > it more consistent with other parts of the UI (or not). Also, a (bit > more extended) of the changes is always helpful, both to help read > the diff and to warn of any potential breaking changes. Done. > 2) Please update doc/notmuch-emacs.rst. You can re-use docstrings; let > me know if you need help doing that. We haven't been strict about > this is in the past, but the emacs docs are really lagging. I've documented +/-. > 3) We generally want at least one test for a new > feature. test/T460-emacs-tree.sh has the existing tree related > tests. Again, if you need help with the test suite, let us know. I've added a test, but I wasn't able to run it on Guix (https://guix.info). It fails like this: --8<---------------cut here---------------start------------->8--- > guix environment notmuch -- /home/ambrevar/.local/share/emacs/site-lisp/notmuch/test/T460-emacs-tree.sh guix environment: error: execlp: No such file or directory: "/home/ambrevar/.local/share/emacs/site-lisp/notmuch/test/T460-emacs-tree.sh" --8<---------------cut here---------------end--------------->8--- > 4) Please use notmuch-tree-- as a prefix for new private symbols that > users should not rely on. I'm not sure about which symbols that applies > to here. I've mirrored the implementation of search-mode. There are indeed a few functions that are only used locally, but so are they in notmuch.el, so I guess this should be part of another patch. >> +(defun notmuch-tree-foreach-result (beg end fn) > >> + (lexical-let ((pos (notmuch-tree-result-beginning beg)) > > As an aside, I'm curious if we can profitably start to use > file level lexical-binding for parts of notmuch-emacs. Absolutely, lexical bindings are heavily recommended: - It enforces better coding practice. - It's more performent. - It will spot bugs! :) I believe this should be part of a different patch set though. >> + (notmuch-tree-foreach-result beg end >> + (lambda (pos) >> + (save-mark-and-excursion > > I did wonder if notmuch-tree-foreach-result should be a macro. I'm not > sure if the small gain in code compactness from just passing a "body" in > the style of notmuch-show--with-currently-shown-message is worth it. A macro could work here, but this would only save typing "(lambda". Functions are preferable to macros if they can fit the bill, and I think it's the case here. Cheers! -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0002-emacs-Allow-tagging-regions-in-notmuch-tree.patch --] [-- Type: text/x-patch, Size: 5920 bytes --] From bb078dc42649a15c704185610ae15e566a161d7e Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt <mail@ambrevar.xyz> Date: Tue, 9 Apr 2019 18:37:48 +0200 Subject: [PATCH 2/4] emacs: Allow tagging regions in notmuch-tree Primarily this allows the user to tag multiple emails at once. This also enforces consistency with the search view. The implementation mostly adapts the search-mode code to the tree-mode. --- emacs/notmuch-tree.el | 101 +++++++++++++++++++++++++++++++++++------- 1 file changed, 86 insertions(+), 15 deletions(-) diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el index c00315e8..ff471c19 100644 --- a/emacs/notmuch-tree.el +++ b/emacs/notmuch-tree.el @@ -297,13 +297,15 @@ FUNC." map)) (fset 'notmuch-tree-mode-map notmuch-tree-mode-map) -(defun notmuch-tree-get-message-properties () +(defun notmuch-tree-get-message-properties (&optional pos) "Return the properties of the current message as a plist. Some useful entries are: :headers - Property list containing the headers :Date, :Subject, :From, etc. :tags - Tags for this message" + (setq pos (or pos (point))) (save-excursion + (goto-char pos) (beginning-of-line) (get-text-property (point) :notmuch-message-properties))) @@ -332,6 +334,13 @@ Some useful entries are: "Return the tags of the current message." (notmuch-tree-get-prop :tags)) +(defun notmuch-tree-get-tags-region (beg end) + (let (output) + (notmuch-tree-foreach-result beg end + (lambda (pos) + (setq output (append output (notmuch-tree-get-tags))))) + output)) + (defun notmuch-tree-get-message-id (&optional bare) "Return the message id of the current message." (let ((id (notmuch-tree-get-prop :id))) @@ -387,24 +396,86 @@ NOT change the database." (when (string= tree-msg-id (notmuch-show-get-message-id)) (notmuch-show-update-tags new-tags))))))) -(defun notmuch-tree-tag (tag-changes) +(defun notmuch-tree-result-beginning (&optional pos) + "Return the point at the beginning of the message at POS (or point). + +If there is no thread at POS (or point), returns nil." + (when (notmuch-tree-get-message-properties pos) + ;; We pass 1+point because previous-single-property-change starts + ;; searching one before the position we give it. + (previous-single-property-change (1+ (or pos (point))) + :notmuch-message-properties nil (point-min)))) + +(defun notmuch-tree-result-end (&optional pos) + "Return the point at the end of the message at POS (or point). + +The returned point will be just after the newline character that +ends the result line. If there is no thread at POS (or point), +returns nil" + (when (notmuch-tree-get-message-properties pos) + (next-single-property-change (or pos (point)) :notmuch-message-properties + nil (point-max)))) + +(defun notmuch-tree-foreach-result (beg end fn) + "Invoke FN for each result between BEG and END. + +FN should take one argument. It will be applied to the +character position of the beginning of each result that overlaps +the region between points BEG and END. As a special case, if (= +BEG END), FN will be applied to the result containing point +BEG." + + (lexical-let ((pos (notmuch-tree-result-beginning beg)) + ;; End must be a marker in case fn changes the + ;; text. + (end (copy-marker end)) + ;; Make sure we examine at least one result, even if + ;; (= beg end). + (first t)) + ;; We have to be careful if the region extends beyond the results. + ;; In this case, pos could be null or there could be no result at + ;; pos. + (while (and pos (or (< pos end) first)) + (when (notmuch-tree-get-message-properties pos) + (funcall fn pos)) + (setq pos (notmuch-tree-result-end pos) + first nil)))) +(put 'notmuch-tree-foreach-result 'lisp-indent-function 2) + +(defun notmuch-tree-interactive-tag-changes (&optional initial-input) + "Prompt for tag changes for the current message or region. + +Returns (TAG-CHANGES REGION-BEGIN REGION-END)." + (let* ((region (notmuch-interactive-region)) + (beg (first region)) (end (second region)) + (prompt (if (= beg end) "Tag message" "Tag region"))) + (cons (notmuch-read-tag-changes + (notmuch-tree-get-tags-region beg end) prompt initial-input) + region))) + +(defun notmuch-tree-tag (tag-changes &optional beg end) "Change tags for the current message" - (interactive - (list (notmuch-read-tag-changes (notmuch-tree-get-tags) "Tag message"))) - (notmuch-tag (notmuch-tree-get-message-id) tag-changes) - (notmuch-tree-tag-update-display tag-changes)) - -(defun notmuch-tree-add-tag (tag-changes) + (interactive (notmuch-tree-interactive-tag-changes)) + (unless (and beg end) + (setq beg (car (notmuch-interactive-region)) + end (cadr (notmuch-interactive-region)))) + (notmuch-tree-foreach-result beg end + (lambda (pos) + (save-mark-and-excursion + (goto-char pos) + (notmuch-tag (notmuch-tree-get-message-id) + tag-changes) + (notmuch-tree-tag-update-display tag-changes))))) + +(defun notmuch-tree-add-tag (tag-changes &optional beg end) "Same as `notmuch-tree-tag' but sets initial input to '+'." - (interactive - (list (notmuch-read-tag-changes (notmuch-tree-get-tags) "Tag message" "+"))) - (notmuch-tree-tag tag-changes)) + (interactive (notmuch-tree-interactive-tag-changes "+")) + (notmuch-tree-tag tag-changes beg end)) -(defun notmuch-tree-remove-tag (tag-changes) +(defun notmuch-tree-remove-tag (tag-changes &optional beg end) "Same as `notmuch-tree-tag' but sets initial input to '-'." - (interactive - (list (notmuch-read-tag-changes (notmuch-tree-get-tags) "Tag message" "-"))) - (notmuch-tree-tag tag-changes)) + (interactive (notmuch-tree-interactive-tag-changes "-")) + (notmuch-tree-tag tag-changes beg end)) (defun notmuch-tree-resume-message () "Resume EDITING the current draft message." -- 2.21.0 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0003-doc-emacs-document-tagging-bindings-for-notmuch-sear.patch --] [-- Type: text/x-patch, Size: 975 bytes --] From 55cb33079a49697d2713a27c4375a2e83ff1d184 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt <mail@ambrevar.xyz> Date: Tue, 14 May 2019 12:06:20 +0200 Subject: [PATCH 3/4] doc/emacs: document "+/-" tagging bindings for notmuch-search and notmuch-tree --- doc/notmuch-emacs.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/notmuch-emacs.rst b/doc/notmuch-emacs.rst index 1655e2f0..a9357350 100644 --- a/doc/notmuch-emacs.rst +++ b/doc/notmuch-emacs.rst @@ -162,6 +162,10 @@ menu of results that the user can explore further by pressing ``g`` ``=`` Refresh the buffer +``+,-`` + Add or remove arbitrary tags from the current thread or the + threads in the region. + ``?`` Display full set of key bindings @@ -302,6 +306,10 @@ tags. ``g`` ``=`` Refresh the buffer +``+,-`` + Add or remove arbitrary tags from the current message or the + messages in the region. + ``?`` Display full set of key bindings -- 2.21.0 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #4: 0004-T460-emacs-tree-test-tagging-on-region-in-tree-view.patch --] [-- Type: text/x-patch, Size: 2310 bytes --] From b4e594a6f5ed452d025641ee9e3f45ca8c48c229 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt <mail@ambrevar.xyz> Date: Tue, 14 May 2019 12:29:33 +0200 Subject: [PATCH 4/4] T460-emacs-tree: test tagging on region in tree view --- test/T460-emacs-tree.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test/T460-emacs-tree.sh b/test/T460-emacs-tree.sh index cb2c90b8..b68b905e 100755 --- a/test/T460-emacs-tree.sh +++ b/test/T460-emacs-tree.sh @@ -88,6 +88,45 @@ test_begin_subtest "Untag message in notmuch tree view (database)" output=$(notmuch search --output=messages 'tag:test_thread_tag') test_expect_equal "$output" "" +test_begin_subtest "Tag region in notmuch tree view" +test_emacs '(notmuch-tree "tag:inbox") + (notmuch-test-wait) + ;; move to test thread above so that we can reuse the test output. + (forward-line 23) + (set-mark-command) + (forward-line 7) + (notmuch-tree-tag (list "+test_thread_tag")) + (test-output) + (delete-other-windows)' +test_expect_equal_file $EXPECTED/notmuch-tree-tag-inbox-thread-tagged OUTPUT + +test_begin_subtest "Tag region in notmuch tree view (database)" +output=$(notmuch search --output=messages 'tag:test_thread_tag') +test_expect_equal "$output" \ +"id:87ocn0qh6d.fsf@yoom.home.cworth.org +id:20091118005040.GA25380@dottiness.seas.harvard.edu +id:yunaayketfm.fsf@aiko.keithp.com +id:87fx8can9z.fsf@vertex.dottedmag +id:20091117203301.GV3165@dottiness.seas.harvard.edu +id:87iqd9rn3l.fsf@vertex.dottedmag +id:20091117190054.GU3165@dottiness.seas.harvard.edu" + +test_begin_subtest "Untag region in notmuch tree view" +test_emacs '(notmuch-tree "tag:inbox") + (notmuch-test-wait) + ;; mark the same region as above + (forward-line 23) + (set-mark-command) + (forward-line 7) + (notmuch-tree-tag-thread (list "-test_thread_tag")) + (test-output) + (delete-other-windows)' +test_expect_equal_file $EXPECTED/notmuch-tree-tag-inbox OUTPUT + +test_begin_subtest "Untag region in notmuch tree view (database)" +output=$(notmuch search --output=messages 'tag:test_thread_tag') +test_expect_equal "$output" "" + test_begin_subtest "Navigation of notmuch-hello to search results" test_emacs '(notmuch-hello) (goto-char (point-min)) -- 2.21.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree 2019-05-14 10:40 ` Pierre Neidhardt @ 2019-05-25 11:13 ` David Bremner 2019-05-25 11:41 ` Pierre Neidhardt 0 siblings, 1 reply; 14+ messages in thread From: David Bremner @ 2019-05-25 11:13 UTC (permalink / raw) To: Pierre Neidhardt, notmuch Pierre Neidhardt <mail@ambrevar.xyz> writes: Thanks for the updated patches. > >> 3) We generally want at least one test for a new >> feature. test/T460-emacs-tree.sh has the existing tree related >> tests. Again, if you need help with the test suite, let us know. > > I've added a test, but I wasn't able to run it on Guix > (https://guix.info). It fails like this: > > --8<---------------cut here---------------start------------->8--- >> guix environment notmuch -- /home/ambrevar/.local/share/emacs/site-lisp/notmuch/test/T460-emacs-tree.sh > guix environment: error: execlp: No such file or directory: "/home/ambrevar/.local/share/emacs/site-lisp/notmuch/test/T460-emacs-tree.sh" > --8<---------------cut here---------------end--------------->8--- I can't really help you with Guix, but I suggest setting up some environment where you can run things in an interactive shell. In particular that error seems to be claiming the test file doesn't exist, which would be easy to debug in an interactive shell. > >> 4) Please use notmuch-tree-- as a prefix for new private symbols that >> users should not rely on. I'm not sure about which symbols that applies >> to here. > > I've mirrored the implementation of search-mode. > There are indeed a few functions that are only used locally, but so are > they in notmuch.el, so I guess this should be part of another patch. > For better or for worse, our standards are higher for new code. Since (as you have just observed) minor style problems in existing code tend to linger unfixed. I assume you are not using git-send-email because it's difficult for you; it's not that a big of a deal, although we do prefer series generated git-send-email for reviewing. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree 2019-05-25 11:13 ` David Bremner @ 2019-05-25 11:41 ` Pierre Neidhardt 2019-05-25 13:42 ` David Bremner 0 siblings, 1 reply; 14+ messages in thread From: Pierre Neidhardt @ 2019-05-25 11:41 UTC (permalink / raw) To: David Bremner, notmuch [-- Attachment #1: Type: text/plain, Size: 1885 bytes --] David Bremner <david@tethera.net> writes: >> --8<---------------cut here---------------start------------->8--- >>> guix environment notmuch -- /home/ambrevar/.local/share/emacs/site-lisp/notmuch/test/T460-emacs-tree.sh >> guix environment: error: execlp: No such file or directory: "/home/ambrevar/.local/share/emacs/site-lisp/notmuch/test/T460-emacs-tree.sh" >> --8<---------------cut here---------------end--------------->8--- > > I can't really help you with Guix, but I suggest setting up some > environment where you can run things in an interactive shell. > > In particular that error seems to be claiming the test file doesn't > exist, which would be easy to debug in an interactive shell. Yup, that's what I did with "guix environment notmuch": it sets up a build environment (and an interactive shell) for notmuch. And I really wonder why it can't find the file, it's there in the interactive shell. It's possible that the error message is a red herring though, I'll look into it. > For better or for worse, our standards are higher for new code. Since > (as you have just observed) minor style problems in existing code tend > to linger unfixed. So would you like me to patch the namespacing along with these changes or leave it for another patch? > I assume you are not using git-send-email because it's difficult for > you; it's not that a big of a deal, although we do prefer series > generated git-send-email for reviewing. I'm using git-send-email on a regular basis, no problem with that. (I wonder why you would think it's difficult for me :p) git-send-email comes with different workflows though, I'm not sure which one Notmuch follows. Do you prefer versioned patch series (e.g. [PATCHv2], etc.) or patch updates sent with "--in-reply-to=<message-id-of-the-last-email>"? -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree 2019-05-25 11:41 ` Pierre Neidhardt @ 2019-05-25 13:42 ` David Bremner 0 siblings, 0 replies; 14+ messages in thread From: David Bremner @ 2019-05-25 13:42 UTC (permalink / raw) To: Pierre Neidhardt, notmuch [-- Attachment #1: Type: text/plain, Size: 1482 bytes --] Pierre Neidhardt <mail@ambrevar.xyz> writes: > David Bremner <david@tethera.net> writes: > >>> --8<---------------cut here---------------start------------->8--- >>>> guix environment notmuch -- /home/ambrevar/.local/share/emacs/site-lisp/notmuch/test/T460-emacs-tree.sh >>> guix environment: error: execlp: No such file or directory: "/home/ambrevar/.local/share/emacs/site-lisp/notmuch/test/T460-emacs-tree.sh" >>> --8<---------------cut here---------------end--------------->8--- >> >> I can't really help you with Guix, but I suggest setting up some >> environment where you can run things in an interactive shell. >> >> In particular that error seems to be claiming the test file doesn't >> exist, which would be easy to debug in an interactive shell. > > Yup, that's what I did with "guix environment notmuch": it sets up a > build environment (and an interactive shell) for notmuch. And I really > wonder why it can't find the file, it's there in the interactive shell. > It's possible that the error message is a red herring though, I'll look > into it. I case it helps, attached is the output from % cd test && ./T460-emacs-tree.sh Note that the tests do need to be run from that directory. The two new tests that actually use emacs are failing with output: *ERROR*: Wrong number of arguments: (1 . 1), 0 Running the tests interactively (just eval testl-lib.el first) suggests that is output from set-mark-command (in emacs 26.1, it demands at least one argument). [-- Attachment #2: test.out --] [-- Type: application/octet-stream, Size: 14869 bytes --] T460-emacs-tree: Testing emacs tree view interface PASS Basic notmuch-tree view in emacs PASS Refreshed notmuch-tree view in emacs PASS Tag message in notmuch tree view (display) PASS Tag message in notmuch tree view (database) PASS Untag message in notmuch tree view PASS Untag message in notmuch tree view (database) PASS Tag thread in notmuch tree view PASS Tag message in notmuch tree view (database) PASS Untag thread in notmuch tree view PASS Untag message in notmuch tree view (database) FAIL Tag region in notmuch tree view --- T460-emacs-tree.11.notmuch-tree-tag-inbox-thread-tagged 2019-05-25 13:21:49.729140808 +0000 +++ T460-emacs-tree.11.OUTPUT 2019-05-25 13:21:49.733140808 +0000 @@ -1,53 +0,0 @@ - 2010-12-29 François Boulogne ─►[aur-general] Guidelines: cp, mkdir vs install (inbox unread) - 2010-12-16 Olivier Berger ─►Essai accentué (inbox unread) - 2009-11-18 Chris Wilson ─►[notmuch] [PATCH 1/2] Makefile: evaluate pkg-config once (inbox unread) - 2009-11-18 Alex Botero-Lowry ┬►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread) - 2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (inbox unread) - 2009-11-17 Ingmar Vanhassel ┬►[notmuch] [PATCH] Typsos (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Adrian Perez de Cast ┬►[notmuch] Introducing myself (inbox signed unread) - 2009-11-18 Keith Packard ├─► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Israel Herraiz ┬►[notmuch] New to the list (inbox unread) - 2009-11-18 Keith Packard ├─► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Jan Janak ┬►[notmuch] What a great idea! (inbox unread) - 2009-11-17 Jan Janak ├─► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Jan Janak ┬►[notmuch] [PATCH] Older versions of install do not support -C. (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Aron Griffis ┬►[notmuch] archive (inbox unread) - 2009-11-18 Keith Packard ╰┬► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Keith Packard ┬►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread) - 2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread) - 2009-11-17 Lars Kellogg-Stedman ┬►[notmuch] Working with Maildir storage? (inbox signed test_thread_tag unread) - 2009-11-17 Mikhail Gusarov ├┬► ... (inbox signed test_thread_tag unread) - 2009-11-17 Lars Kellogg-Stedman │╰┬► ... (inbox signed test_thread_tag unread) - 2009-11-17 Mikhail Gusarov │ ├─► ... (inbox test_thread_tag unread) - 2009-11-17 Keith Packard │ ╰┬► ... (inbox test_thread_tag unread) - 2009-11-18 Lars Kellogg-Stedman │ ╰─► ... (inbox signed test_thread_tag unread) - 2009-11-18 Carl Worth ╰─► ... (inbox test_thread_tag unread) - 2009-11-17 Mikhail Gusarov ┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread) - 2009-11-17 Mikhail Gusarov ├─►[notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++ file with gcc 4.4 (inbox unread) - 2009-11-17 Carl Worth ╰┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread) - 2009-11-17 Keith Packard ╰┬► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-18 Keith Packard ┬►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread) - 2009-11-18 Alexander Botero-Low ╰─►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread) - 2009-11-18 Alexander Botero-Low ─►[notmuch] request for pull (inbox unread) - 2009-11-18 Jjgod Jiang ┬►[notmuch] Mac OS X/Darwin compatibility issues (inbox unread) - 2009-11-18 Alexander Botero-Low ╰┬► ... (inbox unread) - 2009-11-18 Jjgod Jiang ╰┬► ... (inbox unread) - 2009-11-18 Alexander Botero-Low ╰─► ... (inbox unread) - 2009-11-18 Rolland Santimano ─►[notmuch] Link to mailing list archives ? (inbox unread) - 2009-11-18 Jan Janak ─►[notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread) - 2009-11-18 Stewart Smith ─►[notmuch] [PATCH] count_files: sort directory in inode order before statting (inbox unread) - 2009-11-18 Stewart Smith ─►[notmuch] [PATCH 2/2] Read mail directory in inode number order (inbox unread) - 2009-11-18 Stewart Smith ─►[notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++ libs. (inbox unread) - 2009-11-18 Lars Kellogg-Stedman ┬►[notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread) - 2009-11-18 Lars Kellogg-Stedman ╰─► ... (attachment inbox signed unread) - 2009-11-17 Mikhail Gusarov ─►[notmuch] [PATCH] Handle rename of message file (inbox unread) - 2009-11-17 Alex Botero-Lowry ┬►[notmuch] preliminary FreeBSD support (attachment inbox unread) - 2009-11-17 Carl Worth ╰─► ... (inbox unread) -End of search results. *ERROR*: Wrong number of arguments: (1 . 1), 0 FAIL Tag region in notmuch tree view (database) --- T460-emacs-tree.12.expected 2019-05-25 13:21:49.741140808 +0000 +++ T460-emacs-tree.12.output 2019-05-25 13:21:49.741140808 +0000 @@ -1,7 +1 @@ -id:87ocn0qh6d.fsf@yoom.home.cworth.org -id:20091118005040.GA25380@dottiness.seas.harvard.edu -id:yunaayketfm.fsf@aiko.keithp.com -id:87fx8can9z.fsf@vertex.dottedmag -id:20091117203301.GV3165@dottiness.seas.harvard.edu -id:87iqd9rn3l.fsf@vertex.dottedmag -id:20091117190054.GU3165@dottiness.seas.harvard.edu + FAIL Untag region in notmuch tree view --- T460-emacs-tree.13.notmuch-tree-tag-inbox 2019-05-25 13:21:49.865140809 +0000 +++ T460-emacs-tree.13.OUTPUT 2019-05-25 13:21:49.865140809 +0000 @@ -1,53 +0,0 @@ - 2010-12-29 François Boulogne ─►[aur-general] Guidelines: cp, mkdir vs install (inbox unread) - 2010-12-16 Olivier Berger ─►Essai accentué (inbox unread) - 2009-11-18 Chris Wilson ─►[notmuch] [PATCH 1/2] Makefile: evaluate pkg-config once (inbox unread) - 2009-11-18 Alex Botero-Lowry ┬►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread) - 2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (inbox unread) - 2009-11-17 Ingmar Vanhassel ┬►[notmuch] [PATCH] Typsos (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Adrian Perez de Cast ┬►[notmuch] Introducing myself (inbox signed unread) - 2009-11-18 Keith Packard ├─► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Israel Herraiz ┬►[notmuch] New to the list (inbox unread) - 2009-11-18 Keith Packard ├─► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Jan Janak ┬►[notmuch] What a great idea! (inbox unread) - 2009-11-17 Jan Janak ├─► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Jan Janak ┬►[notmuch] [PATCH] Older versions of install do not support -C. (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Aron Griffis ┬►[notmuch] archive (inbox unread) - 2009-11-18 Keith Packard ╰┬► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Keith Packard ┬►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread) - 2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread) - 2009-11-17 Lars Kellogg-Stedman ┬►[notmuch] Working with Maildir storage? (inbox signed unread) - 2009-11-17 Mikhail Gusarov ├┬► ... (inbox signed unread) - 2009-11-17 Lars Kellogg-Stedman │╰┬► ... (inbox signed unread) - 2009-11-17 Mikhail Gusarov │ ├─► ... (inbox unread) - 2009-11-17 Keith Packard │ ╰┬► ... (inbox unread) - 2009-11-18 Lars Kellogg-Stedman │ ╰─► ... (inbox signed unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-17 Mikhail Gusarov ┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread) - 2009-11-17 Mikhail Gusarov ├─►[notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++ file with gcc 4.4 (inbox unread) - 2009-11-17 Carl Worth ╰┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread) - 2009-11-17 Keith Packard ╰┬► ... (inbox unread) - 2009-11-18 Carl Worth ╰─► ... (inbox unread) - 2009-11-18 Keith Packard ┬►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread) - 2009-11-18 Alexander Botero-Low ╰─►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread) - 2009-11-18 Alexander Botero-Low ─►[notmuch] request for pull (inbox unread) - 2009-11-18 Jjgod Jiang ┬►[notmuch] Mac OS X/Darwin compatibility issues (inbox unread) - 2009-11-18 Alexander Botero-Low ╰┬► ... (inbox unread) - 2009-11-18 Jjgod Jiang ╰┬► ... (inbox unread) - 2009-11-18 Alexander Botero-Low ╰─► ... (inbox unread) - 2009-11-18 Rolland Santimano ─►[notmuch] Link to mailing list archives ? (inbox unread) - 2009-11-18 Jan Janak ─►[notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread) - 2009-11-18 Stewart Smith ─►[notmuch] [PATCH] count_files: sort directory in inode order before statting (inbox unread) - 2009-11-18 Stewart Smith ─►[notmuch] [PATCH 2/2] Read mail directory in inode number order (inbox unread) - 2009-11-18 Stewart Smith ─►[notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++ libs. (inbox unread) - 2009-11-18 Lars Kellogg-Stedman ┬►[notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread) - 2009-11-18 Lars Kellogg-Stedman ╰─► ... (attachment inbox signed unread) - 2009-11-17 Mikhail Gusarov ─►[notmuch] [PATCH] Handle rename of message file (inbox unread) - 2009-11-17 Alex Botero-Lowry ┬►[notmuch] preliminary FreeBSD support (attachment inbox unread) - 2009-11-17 Carl Worth ╰─► ... (inbox unread) -End of search results. *ERROR*: Wrong number of arguments: (1 . 1), 0 PASS Untag region in notmuch tree view (database) PASS Navigation of notmuch-hello to search results PASS Tree view of a single thread (from search) PASS Tree view of a single thread (from show) PASS Message window of tree view PASS Stash id PASS Move to next matching message PASS Move to next thread PASS Move to previous thread PASS Move to previous previous thread [-- Attachment #3: Type: text/plain, Size: 1069 bytes --] > > So would you like me to patch the namespacing along with these changes > or leave it for another patch? I'd leave namespacing of existing code for a new series if you're motivated to work on that. For your new code, I think it makes most sense to have it in the patch that introduces the code. > >> I assume you are not using git-send-email because it's difficult for >> you; it's not that a big of a deal, although we do prefer series >> generated git-send-email for reviewing. > > I'm using git-send-email on a regular basis, no problem with that. (I > wonder why you would think it's difficult for me :p) My mistake, I assume everyone read https://notmuchmail.org/contributing/#index11h2 ;). > git-send-email comes with different workflows though, I'm not sure which > one Notmuch follows. Do you prefer versioned patch series > (e.g. [PATCHv2], etc.) or patch updates sent with > "--in-reply-to=<message-id-of-the-last-email>"? For series, probably the former. For single patches, or updates to the single patches in the series, the latter. Thanks! d ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region 2019-04-09 16:47 [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region Pierre Neidhardt 2019-04-09 16:47 ` [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree Pierre Neidhardt @ 2019-05-07 9:35 ` David Bremner 2019-05-20 12:35 ` Leo Vivier 1 sibling, 1 reply; 14+ messages in thread From: David Bremner @ 2019-05-07 9:35 UTC (permalink / raw) To: Pierre Neidhardt, notmuch pushed this one patch to master. d ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region 2019-05-07 9:35 ` [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region David Bremner @ 2019-05-20 12:35 ` Leo Vivier 2019-05-20 17:11 ` Tomi Ollila 0 siblings, 1 reply; 14+ messages in thread From: Leo Vivier @ 2019-05-20 12:35 UTC (permalink / raw) To: notmuch [-- Attachment #1: Type: text/plain, Size: 617 bytes --] Hello, With the patch now in master, the documentation for Emacs (‘Tips and Tricks for using Notmuch with Emacs’) needs to be updated: https://notmuchmail.org/emacstips/#index5h2 ‘notmuch-search-interactive-region’ is mentioned in the second block of Elisp. Also, could we mark the old function as obsolete? Some of my commands broke after pulling the changes, and that’s what led me to the doc in the first place. I’ve attached a quick patch for marking the old command as obsolete. I don't think the `emacstips' doc is in the repo, so I couldn't fix it. Best, -- Leo Vivier [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-emacs-make-old-function-obsolete.patch --] [-- Type: text/x-patch, Size: 1101 bytes --] From 5481c2fe61d9e776d15166bc46f8dfc6221bf975 Mon Sep 17 00:00:00 2001 From: Leo Vivier <leo.vivier+org@gmail.com> Date: Mon, 20 May 2019 14:21:13 +0200 Subject: [PATCH] emacs: make old function obsolete `notmuch-search-interactive-region' was moved to notmuch-lib.el in f3cba19f882471a396a6b6175a709ccd1f6f34a0 and renamed to `notmuch-interactive-region' without making the old function obsolete, thereby breaking user-commands which made use of it. This patch marks the function as obsolete and makes it an alias for the new function. --- | 5 +++++ 1 file changed, 5 insertions(+) --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 7fc342a5..96a1da90 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -1017,6 +1017,11 @@ region if the region is active, or both `point' otherwise." (list (region-beginning) (region-end)) (list (point) (point)))) +(define-obsolete-function-alias + 'notmuch-search-interactive-region + 'notmuch-interactive-region + "notmuch 0.28.1") + (provide 'notmuch-lib) ;; Local Variables: -- 2.21.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region 2019-05-20 12:35 ` Leo Vivier @ 2019-05-20 17:11 ` Tomi Ollila 2019-05-22 14:56 ` Leo Vivier 0 siblings, 1 reply; 14+ messages in thread From: Tomi Ollila @ 2019-05-20 17:11 UTC (permalink / raw) To: Leo Vivier, notmuch On Mon, May 20 2019, Leo Vivier wrote: > Hello, > > With the patch now in master, the documentation for Emacs (‘Tips and > Tricks for using Notmuch with Emacs’) needs to be updated: > https://notmuchmail.org/emacstips/#index5h2 > > ‘notmuch-search-interactive-region’ is mentioned in the second block of > Elisp. > > Also, could we mark the old function as obsolete? Some of my commands > broke after pulling the changes, and that’s what led me to the doc in > the first place. > > I’ve attached a quick patch for marking the old command as obsolete. I > don't think the `emacstips' doc is in the repo, so I couldn't fix it. It is wiki -- look around the web page to see how to update. > > Best, > > -- > Leo Vivier > From 5481c2fe61d9e776d15166bc46f8dfc6221bf975 Mon Sep 17 00:00:00 2001 > From: Leo Vivier <leo.vivier+org@gmail.com> > Date: Mon, 20 May 2019 14:21:13 +0200 > Subject: [PATCH] emacs: make old function obsolete > > `notmuch-search-interactive-region' was moved to notmuch-lib.el in > f3cba19f882471a396a6b6175a709ccd1f6f34a0 and renamed to > `notmuch-interactive-region' without making the old function > obsolete, thereby breaking user-commands which made use of it. > > This patch marks the function as obsolete and makes it an alias for s/patch/commit/ -- it is no longer patch when applied! it may be possible that db could amend this... Tomi > the new function. > --- > emacs/notmuch-lib.el | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el > index 7fc342a5..96a1da90 100644 > --- a/emacs/notmuch-lib.el > +++ b/emacs/notmuch-lib.el > @@ -1017,6 +1017,11 @@ region if the region is active, or both `point' otherwise." > (list (region-beginning) (region-end)) > (list (point) (point)))) > > +(define-obsolete-function-alias > + 'notmuch-search-interactive-region > + 'notmuch-interactive-region > + "notmuch 0.28.1") > + > (provide 'notmuch-lib) > > ;; Local Variables: > -- > 2.21.0 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > https://notmuchmail.org/mailman/listinfo/notmuch ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region 2019-05-20 17:11 ` Tomi Ollila @ 2019-05-22 14:56 ` Leo Vivier 2019-05-23 11:14 ` David Bremner 0 siblings, 1 reply; 14+ messages in thread From: Leo Vivier @ 2019-05-22 14:56 UTC (permalink / raw) To: notmuch; +Cc: tomi.ollila [-- Attachment #1: Type: text/plain, Size: 415 bytes --] Hello, Sorry for answering late. On Mon, May 20 2019, Tomi Ollila wrote: > It is wiki -- look around the web page to see how to update. Thanks, I didn’t know it was wiki. I’ve pushed the amendment. [...] > s/patch/commit/ -- it is no longer patch when applied! > > it may be possible that db could amend this... You’re right. I’ve amended the commit message. -- Leo Vivier [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-emacs-make-old-function-obsolete.patch --] [-- Type: text/x-patch, Size: 1098 bytes --] From f7b0390ee411dbeb8c2c6691f717675ab3a723c2 Mon Sep 17 00:00:00 2001 From: Leo Vivier <leo.vivier@gmail.com> Date: Mon, 20 May 2019 14:21:13 +0200 Subject: [PATCH] emacs: make old function obsolete `notmuch-search-interactive-region' was moved to notmuch-lib.el in f3cba19f882471a396a6b6175a709ccd1f6f34a0 and renamed to `notmuch-interactive-region' without making the old function obsolete, thereby breaking user-commands which made use of it. This commit marks the function as obsolete and makes it an alias for the new function. --- | 5 +++++ 1 file changed, 5 insertions(+) --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 7fc342a5..96a1da90 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -1017,6 +1017,11 @@ region if the region is active, or both `point' otherwise." (list (region-beginning) (region-end)) (list (point) (point)))) +(define-obsolete-function-alias + 'notmuch-search-interactive-region + 'notmuch-interactive-region + "notmuch 0.28.1") + (provide 'notmuch-lib) ;; Local Variables: -- 2.21.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region 2019-05-22 14:56 ` Leo Vivier @ 2019-05-23 11:14 ` David Bremner 2019-05-23 11:19 ` Leo Vivier 0 siblings, 1 reply; 14+ messages in thread From: David Bremner @ 2019-05-23 11:14 UTC (permalink / raw) To: Leo Vivier, notmuch; +Cc: tomi.ollila Leo Vivier <leo.vivier@gmail.com> writes: > From f7b0390ee411dbeb8c2c6691f717675ab3a723c2 Mon Sep 17 00:00:00 2001 > From: Leo Vivier <leo.vivier@gmail.com> > Date: Mon, 20 May 2019 14:21:13 +0200 > Subject: [PATCH] emacs: make old function obsolete I would mention the actual function name in the subject. > > +(define-obsolete-function-alias > + 'notmuch-search-interactive-region > + 'notmuch-interactive-region > + "notmuch 0.28.1") > + I think 0.28.1 should be 0.29, no? d ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region 2019-05-23 11:14 ` David Bremner @ 2019-05-23 11:19 ` Leo Vivier 2019-05-23 17:07 ` David Bremner 0 siblings, 1 reply; 14+ messages in thread From: Leo Vivier @ 2019-05-23 11:19 UTC (permalink / raw) To: David Bremner, notmuch; +Cc: tomi.ollila [-- Attachment #1: Type: text/plain, Size: 393 bytes --] Hello, David Bremner <david@tethera.net> writes: [...] > I would mention the actual function name in the subject. Done. > I think 0.28.1 should be 0.29, no? Changed it to 0.29. I wasn’t sure whether to use the version number or the commit ID. Best, -- Leo Vivier English Studies & General Linguistics Master Student, English Department Université Rennes 2 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-emacs-make-notmuch-search-interactive-region-obsolet.patch --] [-- Type: text/x-patch, Size: 1117 bytes --] From a74a1cf358a768d89b68698fd3eeea198bf92b0d Mon Sep 17 00:00:00 2001 From: Leo Vivier <leo.vivier@gmail.com> Date: Mon, 20 May 2019 14:21:13 +0200 Subject: [PATCH] emacs: make notmuch-search-interactive-region obsolete `notmuch-search-interactive-region' was moved to notmuch-lib.el in f3cba19f882471a396a6b6175a709ccd1f6f34a0 and renamed to `notmuch-interactive-region' without making the old function obsolete, thereby breaking user-commands which made use of it. This commit marks the function as obsolete and makes it an alias for the new function. --- | 5 +++++ 1 file changed, 5 insertions(+) --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 7fc342a5..8acad267 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -1017,6 +1017,11 @@ region if the region is active, or both `point' otherwise." (list (region-beginning) (region-end)) (list (point) (point)))) +(define-obsolete-function-alias + 'notmuch-search-interactive-region + 'notmuch-interactive-region + "notmuch 0.29") + (provide 'notmuch-lib) ;; Local Variables: -- 2.21.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region 2019-05-23 11:19 ` Leo Vivier @ 2019-05-23 17:07 ` David Bremner 0 siblings, 0 replies; 14+ messages in thread From: David Bremner @ 2019-05-23 17:07 UTC (permalink / raw) To: Leo Vivier, notmuch; +Cc: tomi.ollila Leo Vivier <leo.vivier@gmail.com> writes: > Hello, > > David Bremner <david@tethera.net> writes: > > [...] > >> I would mention the actual function name in the subject. > > Done. > >> I think 0.28.1 should be 0.29, no? > > Changed it to 0.29. I wasn’t sure whether to use the version number or > the commit ID. Thanks Leo, I've pushed that version to master. d ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2019-05-25 13:42 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-04-09 16:47 [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region Pierre Neidhardt 2019-04-09 16:47 ` [PATCH 2/2] emacs: Allow tagging regions in notmuch-tree Pierre Neidhardt 2019-05-08 11:00 ` David Bremner 2019-05-14 10:40 ` Pierre Neidhardt 2019-05-25 11:13 ` David Bremner 2019-05-25 11:41 ` Pierre Neidhardt 2019-05-25 13:42 ` David Bremner 2019-05-07 9:35 ` [PATCH 1/2] emacs: Move notmuch-search-interactive-region to notmuch-lib as notmuch-interactive-region David Bremner 2019-05-20 12:35 ` Leo Vivier 2019-05-20 17:11 ` Tomi Ollila 2019-05-22 14:56 ` Leo Vivier 2019-05-23 11:14 ` David Bremner 2019-05-23 11:19 ` Leo Vivier 2019-05-23 17:07 ` David Bremner
Code repositories for project(s) associated with this public inbox https://yhetil.org/notmuch.git/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).