On Thu, May 22 2014, Mark Walters wrote: > On Tue, 20 May 2014, David Edmondson <dme at dme.org> wrote: >> Add a function and key-binding to toggle the collapsing of citations >> within the current message. > > Hi > > I like the idea. It seems a little odd to want to toggle the citations > closing some and opening others. I wonder whether the following action > would be more intuitive.
Toggle is a side-effect of the implementation, I agree. > If any citation is closed then open all citations. Otherwise close all > citations. > > Alternatively, we could mirror things like M-RET and have ">" always opens > citations and PREFIX ">" always closes all citations. > > What do you think? I'll do this. (Busy next week, so it won't be immediate.) > Best wishes > > Mark > >> --- >> emacs/notmuch-show.el | 17 +++++++++++++++++ >> 1 file changed, 17 insertions(+) >> >> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el >> index 10fc872..e4b56c7 100644 >> --- a/emacs/notmuch-show.el >> +++ b/emacs/notmuch-show.el >> @@ -1036,6 +1036,22 @@ useful for quoting in replies)." >> "Content is not indented.")) >> (notmuch-show-refresh-view)) >> >> +(defun notmuch-show-toggle-citation-visibility () >> + "Toggle the visibility of the citations in the current message." >> + (interactive) >> + (let ((beg (notmuch-show-message-top)) >> + (end (notmuch-show-message-bottom)) >> + button) >> + (save-excursion >> + (goto-char beg) >> + (while (and (setq button (next-button (point))) >> + (< (goto-char (button-start button)) >> + end)) >> + (let ((overlay (button-get button 'overlay))) >> + (when (and overlay >> + (string= (overlay-get overlay 'type) "citation")) >> + (push-button (point)))))))) >> + >> (defun notmuch-show-insert-tree (tree depth) >> "Insert the message tree TREE at depth DEPTH in the current thread." >> (let ((msg (car tree)) >> @@ -1311,6 +1327,7 @@ reset based on the original query." >> (define-key map "!" 'notmuch-show-toggle-elide-non-matching) >> (define-key map "$" 'notmuch-show-toggle-process-crypto) >> (define-key map "<" 'notmuch-show-toggle-thread-indentation) >> + (define-key map ">" 'notmuch-show-toggle-citation-visibility) >> (define-key map "t" 'toggle-truncate-lines) >> (define-key map "." 'notmuch-show-part-map) >> map) >> -- >> 2.0.0.rc0 >> >> _______________________________________________ >> notmuch mailing list >> notmuch at notmuchmail.org >> http://notmuchmail.org/mailman/listinfo/notmuch -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 310 bytes Desc: not available URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20140522/692c2b0c/attachment.pgp>