Kevin Ryde writes: > (defun my-gnus-summary-exit (&optional temporary) > "Like `gnus-summary-exit', but sometimes preserve point in *Group*." > (interactive "P") > (if (save-excursion > (with-current-buffer "*Group*" > (beginning-of-line) > (looking-at "^ U\\|^. *0:"))) > (my-gnus-summary-exit-nonext temporary) > (gnus-summary-exit temporary))) > > (defun my-gnus-summary-exit-nonext (&optional temporary) > "Like `gnus-summary-exit', but don't move in *Group*." > (interactive "P") > (let ((group gnus-newsgroup-name)) > (gnus-summary-exit temporary) > (gnus-summary-jump-to-group group))) Well, you now can use (not tested at all) : (defun my-gnus-summary-exit (&optional temporary) (interactive "P") (let ((gnus-summary-next-group-on-exit (with-current-buffer "*Group*" (not (string-match "^ U\\|^. *0:" (thing-at-point 'line)))))) (gnus-summary-exit temporary))) Yeah! Less characters, less functions, more free disk space and memory! Gorgeous, isn't it? :-) > I guess it's personal preference, but maybe there'd be a clean way to > have a notion of "reading in sequence" versus revisiting, and only > advance for the former. On the other hand, I don't know if it's good to add customization mechanisms for summary exit that much. -- | Michaël `Micha' Cadilhac | La meilleure façon | | http://michael.cadilhac.name | de ne pas avancer, | | JID/MSN: | c'est de suivre une idée fixe. | `---- michael.cadilhac@gmail.com | -- Jacques Prévert - --'