*** dist/Makefile.dist Wed Nov 29 20:40:32 2000 --- Makefile Fri Dec 15 12:05:39 2000 *************** *** 6,12 **** # where the Info file should go ! INFODIR = /usr/local/lib/emacs/info # where the vm.elc, tapestry.elc, etc. files should go ! LISPDIR = /usr/local/lib/emacs/site-lisp --- 6,15 ---- + # top of the installation + prefix = /usr/local + # where the Info file should go ! INFODIR = ${prefix}/lib/emacs/info # where the vm.elc, tapestry.elc, etc. files should go ! LISPDIR = ${prefix}/lib/emacs/site-lisp *************** *** 15,20 **** # vm-image-directory must point to the same place. ! PIXMAPDIR = /usr/local/lib/emacs/etc/vm # where the binaries should be go. ! BINDIR = /usr/local/bin --- 18,23 ---- # vm-image-directory must point to the same place. ! PIXMAPDIR = ${prefix}/lib/emacs/etc/vm # where the binaries should be go. ! BINDIR = ${prefix}/bin *************** *** 110,111 **** --- 113,115 ---- install-info: vm.info + test -d $(INFODIR) || mkdir -p $(INFODIR) cp vm.info vm.info-* $(INFODIR) *************** *** 113,114 **** --- 117,119 ---- install-vm: vm.elc + test -d $(LISPDIR) || mkdir -p $(LISPDIR) cp *.elc $(LISPDIR) *************** *** 116,117 **** --- 121,123 ---- install-pixmaps: + test -d $(PIXMAPDIR) || mkdir -p $(PIXMAPDIR) cp pixmaps/*.x[pb]m $(PIXMAPDIR) *************** *** 119,120 **** --- 125,127 ---- install-utils: $(UTILS) + test -d $(BINDIR) || mkdir -p $(BINDIR) cp $(UTILS) $(BINDIR) *************** *** 122,124 **** clean: ! rm -f $(UTILS) vm-autoload.el vm-autoload.elc $(OBJECTS) tapestry.elc --- 129,131 ---- clean: ! rm -f $(UTILS) vm.info vm.info-* vm-autoload.el vm-autoload.elc $(OBJECTS) tapestry.elc *** dist/vm-folder.el.dist Tue Dec 12 00:11:09 2000 --- vm-folder.el Fri Dec 22 15:31:47 2000 *************** *** 3444,3446 **** ! (defun vm-count-messages-in-file (file) (let ((type (vm-get-folder-type file nil nil t)) --- 3444,3446 ---- ! (defun vm-count-messages-in-file (file &optional quietly) (let ((type (vm-get-folder-type file nil nil t)) *************** *** 3449,3451 **** (if (or (memq type '(unknown nil)) (null vm-grep-program)) ! 0 (unwind-protect --- 3449,3451 ---- (if (or (memq type '(unknown nil)) (null vm-grep-program)) ! nil (unwind-protect *************** *** 3461,3464 **** (setq regexp "^\037"))) ! (call-process vm-grep-program nil t nil "-c" regexp ! (expand-file-name file)) (setq count (string-to-int (buffer-string))) --- 3461,3472 ---- (setq regexp "^\037"))) ! (condition-case data ! (progn ! (or quietly (message "Counting messages in %s..." file)) ! (call-process vm-grep-program nil t nil "-c" regexp ! (expand-file-name file)) ! (or quietly (message "Counting messages in %s... done" file))) ! (error (message "Attempt to run %s on %s signaled: %s" ! vm-grep-program file data) ! (sleep-for 2) ! (setq vm-grep-program nil))) (setq count (string-to-int (buffer-string))) *** dist/vm-mime.el.dist Tue Dec 12 00:11:09 2000 --- vm-mime.el Fri Dec 22 15:52:18 2000 *************** *** 2443,2445 **** (cond (vm-fsfemacs-p ! (let (o-list o (found nil)) (setq o-list (overlays-at (point))) --- 2443,2445 ---- (cond (vm-fsfemacs-p ! (let (o-list o retval (found nil)) (setq o-list (overlays-at (point))) *************** *** 2448,2455 **** (setq found t) ! (funcall (or function (overlay-get (car o-list) ! 'vm-mime-function)) ! (car o-list)))) ! (setq o-list (cdr o-list))))) (vm-xemacs-p (let ((e (extent-at (point) nil 'vm-mime-layout))) (funcall (or function (extent-property e 'vm-mime-function)) --- 2448,2459 ---- (setq found t) ! ;; return value is used by caller. ! (setq retval ! (funcall (or function (overlay-get (car o-list) ! 'vm-mime-function)) ! (car o-list))))) ! (setq o-list (cdr o-list))) ! retval )) (vm-xemacs-p (let ((e (extent-at (point) nil 'vm-mime-layout))) + ;; return value is used by caller. (funcall (or function (extent-property e 'vm-mime-function)) *** dist/vm-misc.el.dist Wed Nov 29 20:40:32 2000 --- vm-misc.el Wed Dec 13 20:55:56 2000 *************** *** 290,291 **** --- 290,294 ---- + (defun vm-delete-directory-names (list) + (vm-delete 'file-directory-p list)) + (defun vm-index-file-name-p (file) *************** *** 683,684 **** --- 686,692 ---- (car list))) + + (defun vm-nonneg-string (n) + (if (< n 0) + "?" + (int-to-string n))) *** dist/vm-page.el.dist Tue Dec 12 00:11:09 2000 --- vm-page.el Mon Dec 18 12:41:24 2000 *************** *** 222,224 **** (defun vm-emit-eom-blurb () ! (message (if (and (stringp vm-summary-uninteresting-senders) (string-match vm-summary-uninteresting-senders --- 222,225 ---- (defun vm-emit-eom-blurb () ! (let ((vm-summary-uninteresting-senders-arrow "")) ! (message (if (and (stringp vm-summary-uninteresting-senders) (string-match vm-summary-uninteresting-senders *************** *** 227,230 **** "End of message %s from %s") ! (vm-number-of (car vm-message-pointer)) ! (vm-summary-sprintf "%F" (car vm-message-pointer)))) --- 228,231 ---- "End of message %s from %s") ! (vm-number-of (car vm-message-pointer)) ! (vm-summary-sprintf "%F" (car vm-message-pointer))))) *** dist/vm-reply.el.dist Wed Nov 29 20:40:32 2000 --- vm-reply.el Wed Dec 13 18:21:50 2000 *************** *** 333,335 **** (setq end (vm-marker (+ start (- (vm-text-end-of message) ! (vm-headers-of message))) b))))) ;; get rid of read-only text properties on the text, as --- 333,339 ---- (setq end (vm-marker (+ start (- (vm-text-end-of message) ! (vm-headers-of message))) b)) ! (if vm-display-using-mime ! (progn ! (narrow-to-region start end) ! (vm-decode-mime-encoded-words)))))) ;; get rid of read-only text properties on the text, as *************** *** 764,766 **** "\n") ! (insert "Content-Description: forwarded message\n")) ((equal vm-forwarding-digest-type "rfc934") --- 768,774 ---- "\n") ! (insert "Content-Description: forwarded message\n") ! ;; eight bit chars will get \201 prepended if we ! ;; don't do this. ! (if vm-fsfemacs-mule-p ! (set-buffer-multibyte t))) ((equal vm-forwarding-digest-type "rfc934") *** dist/vm-startup.el.dist Tue Dec 12 00:11:10 2000 --- vm-startup.el Fri Dec 22 16:00:50 2000 *************** *** 341,343 **** ! This is VM 6.88. --- 341,343 ---- ! This is VM 6.89. *************** *** 345,346 **** --- 345,347 ---- h - summarize folder contents + H - summarize contents of all folders C-t - toggle threads display *************** *** 366,367 **** --- 367,371 ---- ] - go to next button + D - decode MIME if not already decoded. If already decoded, + display all MIME objects as tags. If already displaying + tags, show raw unecoded MIME> *************** *** 425,427 **** M V - toggle the marked-ness of all messages ! M ? - partial help for mark commands --- 429,436 ---- M V - toggle the marked-ness of all messages ! M X - apply the selectors of a named virtual folder to the ! messages in the current folder and mark all messages ! that match those selectors. ! M x - apply the selectors of a named virtual folder to the ! messages in the current folder and unmark all messages ! that match those selectors. M ? - partial help for mark commands *************** *** 457,467 **** ! $ - prefix for MIME commands. Position the cursor over a MIME ! tag and use these keystrokes to operate on a MIME object. ! $ s - save the MIME object ! $ p - print the MIME object ! $ | - pipe the MIME object to a shell command. ! $ RET - display the MIME object's text using the \"default\" face. ! $ e - display the MIME object with an external viewer. ! $ d - delete the MIME object from the message. --- 466,476 ---- ! $ - prefix for MIME commands. Position the cursor over a MIME ! tag and use these keystrokes to operate on a MIME object. ! $ s - save the MIME object ! $ p - print the MIME object ! $ | - pipe the MIME object to a shell command. ! $ RET - display the MIME object's text using the \"default\" face. ! $ e - display the MIME object with an external viewer. ! $ d - delete the MIME object from the message. *** dist/vm-summary.el.dist Tue Dec 12 00:11:10 2000 --- vm-summary.el Fri Dec 22 15:27:13 2000 *************** *** 1248,1254 **** (setq c (cdr totals)) ! (if (vm-new-flag m) ! (setcar c (+ (car c) arrived))) ! (setq c (cdr totals)) ! (if (vm-unread-flag m) ! (setcar c (+ (car c) arrived)))))) (setq data (prin1-to-string totals)) --- 1248,1258 ---- (setq c (cdr totals)) ! (if (eq (car c) -1) ! nil ! (if (vm-new-flag m) ! (setcar c (+ (car c) arrived)))) ! (setq c (cdr c)) ! (if (eq (car c) -1) ! nil ! (if (vm-unread-flag m) ! (setcar c (+ (car c) arrived))))))) (setq data (prin1-to-string totals)) *************** *** 1480,1482 **** (vm-delete-index-file-names ! (directory-files (car dp))))) (function string-lessp))) --- 1484,1487 ---- (vm-delete-index-file-names ! (vm-delete-directory-names ! (directory-files (car dp)))))) (function string-lessp))) *************** *** 1487,1490 **** (if (null totals) nil - (setq totals (read totals)) (setq fs (vm-make-folder-summary)) --- 1492,1502 ---- (if (null totals) + (let ((ff (expand-file-name f (car dp)))) + (setq totals (list (or (vm-count-messages-in-file ff) -1) + -1 -1 -1)) + (if (eq (car totals) -1) + nil + (vm-store-folder-totals ff totals))) + (setq totals (read totals))) + (if (eq (car totals) -1) nil (setq fs (vm-make-folder-summary)) *************** *** 1492,1497 **** (vm-set-fs-short-folder-of fs f) ! (vm-set-fs-total-count-of fs (int-to-string (car totals))) ! (vm-set-fs-new-count-of fs (int-to-string (nth 1 totals))) ! (vm-set-fs-unread-count-of fs (int-to-string (nth 2 totals))) ! (vm-set-fs-deleted-count-of fs (int-to-string (nth 3 totals))) (vm-set-fs-folder-key-of fs key) --- 1504,1511 ---- (vm-set-fs-short-folder-of fs f) ! (vm-set-fs-total-count-of fs (vm-nonneg-string (car totals))) ! (vm-set-fs-new-count-of fs (vm-nonneg-string (nth 1 totals))) ! (vm-set-fs-unread-count-of fs (vm-nonneg-string ! (nth 2 totals))) ! (vm-set-fs-deleted-count-of fs (vm-nonneg-string ! (nth 3 totals))) (vm-set-fs-folder-key-of fs key) *************** *** 1522,1526 **** (let ((ooo vm-folders-summary-overlay) ! (fs (symbol-value (intern (vm-make-folders-summary-key ! (buffer-file-name vm-mail-buffer)) ! vm-folders-summary-hash)))) (if (and fs --- 1536,1540 ---- (let ((ooo vm-folders-summary-overlay) ! (fs (symbol-value (intern-soft (vm-make-folders-summary-key ! (buffer-file-name vm-mail-buffer)) ! vm-folders-summary-hash)))) (if (and fs *************** *** 1563,1564 **** --- 1577,1579 ---- (vm-set-fs-modflag-of fs t) + (vm-check-for-killed-summary) (if vm-folders-summary-buffer *** dist/vm-version.el.dist Tue Dec 12 00:11:10 2000 --- vm-version.el Fri Dec 22 16:00:50 2000 *************** *** 4,6 **** ! (defconst vm-version "6.88" "Version number of VM.") --- 4,6 ---- ! (defconst vm-version "6.89" "Version number of VM.")