Ryan Kavanagh has proposed merging lp:~ryanakca/vm/vm-move-after-reading into lp:vm.
Requested reviews: VM development team (vm) For more details, see: https://code.launchpad.net/~ryanakca/vm/vm-move-after-reading/+merge/151987 Add variable to enable vm to move to the next message after marking one as read, similar to vm-move-after-delete . -- https://code.launchpad.net/~ryanakca/vm/vm-move-after-reading/+merge/151987 Your team VM development team is requested to review the proposed merge of lp:~ryanakca/vm/vm-move-after-reading into lp:vm.
=== modified file 'configure.ac' --- configure.ac 2011-12-30 12:14:08 +0000 +++ configure.ac 2013-03-06 15:25:25 +0000 @@ -86,6 +86,18 @@ AC_MSG_WARN([*** DVI and PDF files will not be built.]) fi ]) +# Find a install-info program. A failure is not fatal, only that info +# files won't be properly installed +AC_DEFUN([VM_PROG_INSTALLINFO], + [ AC_CHECK_PROG(INSTALL_INFO, ginstall-info, ginstall-info) + if test "x${INSTALL_INFO}" = "x" ; then + AC_CHECK_PROG(INSTALL_INFO, install-info, install-info) + if test "x{INSTALL_INFO}" = "x" ; then + AC_MSG_WARN([*** No install-info program found.]) + AC_MSG_WARN([*** Info Dir file will not be updated.]) + fi + fi ]) + # Choose an Emacs flavor according to the --with-emacs user option, or try # emacs and xemacs. # We use EMACS_PROG instead of EMACS to avoid colliding with Emacs' own @@ -261,6 +273,7 @@ VM_PROG_XARGS VM_PROG_GNU_TAR VM_PROG_MAKEINFO +VM_PROG_INSTALLINFO VM_PROG_TEXI2DVI VM_PROG_EMACS === modified file 'info/Makefile.in' --- info/Makefile.in 2011-12-30 15:24:10 +0000 +++ info/Makefile.in 2013-03-06 15:25:25 +0000 @@ -16,6 +16,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_INFO = @INSTALL_INFO@ prefix = @prefix@ srcdir = @srcdir@ @@ -54,7 +55,11 @@ for i in `${LS} *.info* ` ; do \ echo "Installing $$i in $(DESTDIR)$(infodir)" ; \ $(INSTALL_DATA) $$i "$(DESTDIR)$(infodir)" ; \ - done ; \ + if test "$(INSTALL_INFO)" ; then \ + $(INSTALL_INFO) "$(DESTDIR)$(infodir)"/$$i \ + "$(DESTDIR)$(infodir)"/dir ; \ + fi ; \ + done ; \ else \ if test "x$(LINKPATH)" = "x" ; then \ for i in `${LS} *.info* ` ; do \ === modified file 'info/vm.texinfo' --- info/vm.texinfo 2013-02-15 08:44:48 +0000 +++ info/vm.texinfo 2013-03-06 15:25:25 +0000 @@ -1898,11 +1898,13 @@ @findex vm-mark-message-unread @kindex U @kindex . +@vindex vm-move-after-reading You can ``unread'' a message (so to speak) by typing @kbd{U} (@code{vm-unread-message}, also called @code{vm-mark-message-unread}). -The current message will be marked unread. Conversely, you can mark -an unread message as read by typing @kbd{.} -(@code{vm-mark-message-read}). +The current message will be marked unread. Conversely, you can mark an +unread message as read by typing @kbd{.} (@code{vm-mark-message-read}). +Setting the variable @var{vm-move-after-reading} will cause vm to move +to the next undeleted message after marking the current message as read. @findex vm-toggle-flag-message @kindex ! === modified file 'lisp/vm-folder.el' --- lisp/vm-folder.el 2013-01-02 21:38:39 +0000 +++ lisp/vm-folder.el 2013-03-06 15:25:25 +0000 @@ -3253,18 +3253,24 @@ thread are affected." (interactive "p") (or count (setq count 1)) - (vm-follow-summary-cursor) - (vm-select-folder-buffer-and-validate 1 (vm-interactive-p)) - (let ((mlist (vm-select-operable-messages - count (vm-interactive-p) "Mark as read"))) - (while mlist - (when (or (vm-unread-flag (car mlist)) - (vm-new-flag (car mlist))) + (let ((used-marks (eq last-command 'vm-next-command-uses-marks)) + (del-count 0)) + (vm-follow-summary-cursor) + (vm-select-folder-buffer-and-validate 1 (vm-interactive-p)) + (let ((mlist (vm-select-operable-messages + count (vm-interactive-p) "Mark as read"))) + (while mlist + (when (or (vm-unread-flag (car mlist)) + (vm-new-flag (car mlist))) (vm-set-unread-flag (car mlist) nil) (vm-set-new-flag (car mlist) nil)) - (setq mlist (cdr mlist)))) - (vm-display nil nil '(vm-mark-message-read) '(vm-mark-message-read)) - (vm-update-summary-and-mode-line)) + (setq mlist (cdr mlist)))) + (vm-display nil nil '(vm-mark-message-read) '(vm-mark-message-read)) + (vm-update-summary-and-mode-line) + (when (and vm-move-after-reading (not used-marks)) + (let ((vm-circular-folders (and vm-circular-folders + (eq vm-move-after-deleting t)))) + (vm-next-message count t executing-kbd-macro))))) (defalias 'vm-flag-message-read 'vm-mark-message-read) (make-obsolete 'vm-flag-message-read 'vm-mark-message-read "8.2.0") === modified file 'lisp/vm-vars.el' --- lisp/vm-vars.el 2013-02-12 00:09:02 +0000 +++ lisp/vm-vars.el 2013-03-06 15:25:25 +0000 @@ -4733,6 +4733,18 @@ (const :tag "Yes" t) (const :tag "Skip if some undeleted" skip-if-some-undeleted))) +(defcustom vm-move-after-reading nil + "*Non-nil value causes VM's `.' command to automatically invoke +`vm-next-message' or `vm-previous-message' after killing messages, to try +to move past the read messages. A value of t means motion +should honor the value of `vm-circular-folders'. A value that is +not t and not nil means that motion should be done as if +`vm-circular-folders' is set to nil." + :group 'vm-summary + :type '(choice (const :tag "No" nil) + (const :tag "Yes" t) + (const :tag "Skip if some undeleted" skip-if-some-undeleted))) + (defcustom vm-delete-after-saving nil "*Non-nil value causes VM automatically to mark messages for deletion after successfully saving them to a folder."
_______________________________________________ Mailing list: https://launchpad.net/~vm Post to : vm@lists.launchpad.net Unsubscribe : https://launchpad.net/~vm More help : https://help.launchpad.net/ListHelp