On Tue, 20 May 2014, David Edmondson <dme@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. 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? 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@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch