*** dist/vm-folder.el.dist Mon Dec 3 08:03:04 2001 --- vm-folder.el Sat Mar 2 10:47:17 2002 *************** *** 3207,3208 **** --- 3207,3218 ---- + (defun vm-revert-buffer (&rest args) + (interactive) + (vm-select-folder-buffer-if-possible) + (apply 'revert-buffer args)) + + (defun vm-recover-file (&rest args) + (interactive) + (vm-select-folder-buffer-if-possible) + (apply 'recover-file args)) + (defun vm-handle-file-recovery-or-reversion (recovery) *** dist/vm-macro.el.dist Sun Nov 26 16:19:33 2000 --- vm-macro.el Sat Mar 2 10:46:37 2002 *************** *** 19,59 **** ! (defmacro vm-assert (expression) ! (list 'or expression ! (list 'let ! (list (list 'debug-on-error t)) ! (list 'error "assertion failed: %S" ! (list 'quote expression))))) ! (defmacro vm-marker (pos &optional buffer) ! (list 'set-marker '(make-marker) pos buffer)) ! (defmacro vm-increment (variable) ! (list 'setq variable (list '1+ variable))) ! (defmacro vm-decrement (variable) ! (list 'setq variable (list '1- variable))) ! (defmacro vm-select-folder-buffer () ! '(cond (vm-mail-buffer ! (or (buffer-name vm-mail-buffer) ! (error "Folder buffer has been killed.")) ! (set-buffer vm-mail-buffer)) ! ((not (memq major-mode '(vm-mode vm-virtual-mode))) ! (error "No VM folder buffer associated with this buffer")))) ! ! (defmacro vm-select-folder-buffer-if-possible () ! '(cond (vm-mail-buffer ! (set-buffer vm-mail-buffer)))) ! ! (defmacro vm-error-if-folder-read-only () ! '(while vm-folder-read-only ! (signal 'folder-read-only (list (current-buffer))))) ! ! (defmacro vm-error-if-virtual-folder () ! '(and (eq major-mode 'vm-virtual-mode) ! (error "%s cannot be applied to virtual folders." this-command))) ! ! (defmacro vm-build-threads-if-unbuilt () ! '(if (null vm-thread-obarray) ! (vm-build-threads nil))) --- 19,60 ---- ! (defsubst vm-marker (pos &optional buffer) ! (set-marker (make-marker) pos buffer)) ! (defsubst vm-select-folder-buffer () ! (cond (vm-mail-buffer ! (or (buffer-name vm-mail-buffer) ! (error "Folder buffer has been killed.")) ! (set-buffer vm-mail-buffer)) ! ((not (memq major-mode '(vm-mode vm-virtual-mode))) ! (error "No VM folder buffer associated with this buffer")))) ! ! (defsubst vm-select-folder-buffer-if-possible () ! (cond ((and (bufferp vm-mail-buffer) ! (buffer-name vm-mail-buffer)) ! (set-buffer vm-mail-buffer)))) ! ! (defsubst vm-error-if-folder-read-only () ! (while vm-folder-read-only ! (signal 'folder-read-only (list (current-buffer))))) ! ! (defsubst vm-error-if-virtual-folder () ! (and (eq major-mode 'vm-virtual-mode) ! (error "%s cannot be applied to virtual folders." this-command))) ! ! (defsubst vm-build-threads-if-unbuilt () ! (if (null vm-thread-obarray) ! (vm-build-threads nil))) ! (defsubst vm-binary-coding-system () ! (cond (vm-xemacs-mule-p 'binary) ! (vm-xemacs-file-coding-p 'binary) ! (t 'no-conversion))) ! (defsubst vm-line-ending-coding-system () ! (cond (vm-xemacs-mule-p 'no-conversion) ! (vm-xemacs-file-coding-p 'no-conversion) ! (t 'raw-text))) ! ;;; can't use defsubst where quoting is needed in some places but ! ;;; not others. *************** *** 66,124 **** (vm-sr-max (make-symbol "vm-sr-max"))) ! (list 'let (list (list vm-sr-clip '(> (buffer-size) ! (- (point-max) (point-min)))) ! ;; this shouldn't be necessary but the ! ;; byte-compiler turns these into interned symbols ! ;; which utterly defeats the purpose of the ! ;; make-symbol calls above. Soooo, until the compiler ! ;; is fixed, these must be made into (let ...) ! ;; temporaries so that nested calls to this macros ! ;; won't misbehave. ! vm-sr-min vm-sr-max) ! (list 'and vm-sr-clip ! (list 'setq vm-sr-min '(set-marker (make-marker) (point-min))) ! (list 'setq vm-sr-max '(set-marker (make-marker) (point-max)))) ! (list 'unwind-protect (cons 'progn forms) ! '(widen) ! (list 'and vm-sr-clip ! (list 'progn ! (list 'narrow-to-region vm-sr-min vm-sr-max) ! (list 'set-marker vm-sr-min nil) ! (list 'set-marker vm-sr-max nil))))))) (defmacro vm-save-buffer-excursion (&rest forms) ! (list 'let '((vm-sbe-buffer (current-buffer))) ! (list 'unwind-protect ! (cons 'progn forms) ! '(and (not (eq vm-sbe-buffer (current-buffer))) ! (buffer-name vm-sbe-buffer) ! (set-buffer vm-sbe-buffer))))) ! ! (defmacro vm-with-unibyte-buffer (&rest body) ! (nconc ! (list 'if 'vm-fsfemacs-mule-p ! (list 'let '((xzx enable-multibyte-characters)) ! (list 'unwind-protect ! (nconc (list 'let nil '(set-buffer-multibyte nil)) ! body) ! '(set-buffer-multibyte xzx)))) ! body)) ! ! (defmacro vm-with-multibyte-buffer (&rest body) ! (nconc ! (list 'if 'vm-fsfemacs-mule-p ! (list 'let '((xzx enable-multibyte-characters)) ! (list 'unwind-protect ! (nconc (list 'let nil '(set-buffer-multibyte t)) ! body) ! '(set-buffer-multibyte xzx)))) ! body)) ! (defsubst vm-binary-coding-system () ! (cond (vm-xemacs-mule-p 'binary) ! (vm-xemacs-file-coding-p 'binary) ! (t 'no-conversion))) ! (defsubst vm-line-ending-coding-system () ! (cond (vm-xemacs-mule-p 'no-conversion) ! (vm-xemacs-file-coding-p 'no-conversion) ! (t 'raw-text))) --- 67,108 ---- (vm-sr-max (make-symbol "vm-sr-max"))) ! `(let ((,vm-sr-clip (> (buffer-size) (- (point-max) (point-min)))) ! ;; this shouldn't be necessary but the ! ;; byte-compiler turns these into interned symbols ! ;; which utterly defeats the purpose of the ! ;; make-symbol calls above. Soooo, until the compiler ! ;; is fixed, these must be made into (let ...) ! ;; temporaries so that nested calls to this macros ! ;; won't misbehave. ! ,vm-sr-min ,vm-sr-max) ! (and ,vm-sr-clip ! (setq ,vm-sr-min (set-marker (make-marker) (point-min))) ! (setq ,vm-sr-max (set-marker (make-marker) (point-max)))) ! (unwind-protect ! (progn ,@forms) ! (widen) ! (and ,vm-sr-clip ! (progn ! (narrow-to-region ,vm-sr-min ,vm-sr-max) ! (set-marker ,vm-sr-min nil) ! (set-marker ,vm-sr-max nil))))))) (defmacro vm-save-buffer-excursion (&rest forms) ! `(let ((vm-sbe-buffer (current-buffer))) ! (unwind-protect ! (progn ,@forms) ! (and (not (eq vm-sbe-buffer (current-buffer))) ! (buffer-name vm-sbe-buffer) ! (set-buffer vm-sbe-buffer))))) ! (defmacro vm-assert (expression) ! (list 'or expression ! (list 'let ! (list (list 'debug-on-error t)) ! (list 'error "assertion failed: %S" ! (list 'quote expression))))) ! (defmacro vm-increment (variable) ! (list 'setq variable (list '1+ variable))) ! ! (defmacro vm-decrement (variable) ! (list 'setq variable (list '1- variable))) *** dist/vm-message.el.dist Mon Dec 3 08:03:04 2001 --- vm-message.el Sat Mar 2 09:50:28 2002 *************** *** 20,28 **** ;; data that is always shared with virtual folders ! (defmacro vm-location-data-of (message) (list 'aref message 0)) ;; where message begins starting at the message separator in the folder ! (defmacro vm-start-of (message) (list 'aref (list 'aref message 0) 0)) ;; where headers start (From_ line) ! (defmacro vm-headers-of (message) (list 'aref (list 'aref message 0) 1)) ;; where visible headers start ! (defun vm-vheaders-of (message) (or (aref (aref message 0) 2) --- 20,31 ---- ;; data that is always shared with virtual folders ! (defsubst vm-location-data-of (message) ! (aref message 0)) ;; where message begins starting at the message separator in the folder ! (defsubst vm-start-of (message) ! (aref (aref message 0) 0)) ;; where headers start (From_ line) ! (defsubst vm-headers-of (message) ! (aref (aref message 0) 1)) ;; where visible headers start ! (defsubst vm-vheaders-of (message) (or (aref (aref message 0) 2) *************** *** 31,33 **** ;; where text section starts ! (defun vm-text-of (message) (or (aref (aref message 0) 3) (progn (vm-find-and-set-text-of message) --- 34,36 ---- ;; where text section starts ! (defsubst vm-text-of (message) (or (aref (aref message 0) 3) (progn (vm-find-and-set-text-of message) *************** *** 35,239 **** ;; where text portion of message ends ! (defmacro vm-text-end-of (message) (list 'aref (list 'aref message 0) 4)) ;; where message ends ! (defmacro vm-end-of (message) (list 'aref (list 'aref message 0) 5)) ;; soft data vector ! (defmacro vm-softdata-of (message) (list 'aref message 1)) ! (defmacro vm-number-of (message) (list 'aref (list 'aref message 1) 0)) ! (defmacro vm-padded-number-of (message) (list 'aref (list 'aref message 1) 1)) ! (defmacro vm-mark-of (message) (list 'aref (list 'aref message 1) 2)) ;; start of summary line ! (defmacro vm-su-start-of (message) (list 'aref (list 'aref message 1) 3)) ;; end of summary line ! (defmacro vm-su-end-of (message) (list 'aref (list 'aref message 1) 4)) ;; symbol whose value is the real message. ! (defmacro vm-real-message-sym-of (message) ! (list 'aref (list 'aref message 1) 5)) ;; real message ! (defmacro vm-real-message-of (message) ! (list 'symbol-value (list 'aref (list 'aref message 1) 5))) ;; link to previous message in the message list ! (defmacro vm-reverse-link-of (message) ! (list 'symbol-value (list 'aref (list 'aref message 1) 6))) ;; message type ! (defmacro vm-message-type-of (message) (list 'aref (list 'aref message 1) 7)) ;; number that uniquely identifies each message ;; this is for the set handling stuff ! (defmacro vm-message-id-number-of (message) ! (list 'aref (list 'aref message 1) 8)) ;; folder buffer of this message ! (defmacro vm-buffer-of (message) ! (list 'aref (list 'aref message 1) 9)) ;; cache thread indentation value ! (defmacro vm-thread-indentation-of (message) ! (list 'aref (list 'aref message 1) 10)) ;; list of symbols from vm-thread-obarray that give this message's lineage ! (defmacro vm-thread-list-of (message) ! (list 'aref (list 'aref message 1) 11)) ;; babyl header frob flag (0 or 1 at beginning of message) ! (defmacro vm-babyl-frob-flag-of (message) ! (list 'aref (list 'aref message 1) 12)) ;; saved attributes, if message was switched from unmirrored to mirrored ! (defmacro vm-saved-virtual-attributes-of (message) ! (list 'aref (list 'aref message 1) 13)) ;; saved mirror data, if message was switched from unmirrored to mirrored ! (defmacro vm-saved-virtual-mirror-data-of (message) ! (list 'aref (list 'aref message 1) 14)) ;; summary for unmirrored virtual message ! (defmacro vm-virtual-summary-of (message) ! (list 'aref (list 'aref message 1) 15)) ;; MIME layout information; types, ids, positions, etc. of all MIME entities ! (defmacro vm-mime-layout-of (message) ! (list 'aref (list 'aref message 1) 16)) ! (defmacro vm-mime-encoded-header-flag-of (message) ! (list 'aref (list 'aref message 1) 17)) ! (defmacro vm-su-summary-mouse-track-overlay-of (message) ! (list 'aref (list 'aref message 1) 18)) ! (defmacro vm-message-access-method (message) ! (list 'aref (list 'aref message 1) 19)) ;; message attribute vector ! (defmacro vm-attributes-of (message) (list 'aref message 2)) ! (defmacro vm-new-flag (message) (list 'aref (list 'aref message 2) 0)) ! (defmacro vm-unread-flag (message) (list 'aref (list 'aref message 2) 1)) ! (defmacro vm-deleted-flag (message) (list 'aref (list 'aref message 2) 2)) ! (defmacro vm-filed-flag (message) (list 'aref (list 'aref message 2) 3)) ! (defmacro vm-replied-flag (message) (list 'aref (list 'aref message 2) 4)) ! (defmacro vm-written-flag (message) (list 'aref (list 'aref message 2) 5)) ! (defmacro vm-forwarded-flag (message) (list 'aref (list 'aref message 2) 6)) ! (defmacro vm-edited-flag (message) (list 'aref (list 'aref message 2) 7)) ! (defmacro vm-redistributed-flag (message) (list 'aref (list 'aref message 2) 8)) ;; message cached data ! (defmacro vm-cache-of (message) (list 'aref message 3)) ;; message size in bytes (as a string) ! (defmacro vm-byte-count-of (message) (list 'aref (list 'aref message 3) 0)) ;; weekday sent ! (defmacro vm-weekday-of (message) (list 'aref (list 'aref message 3) 1)) ;; month day ! (defmacro vm-monthday-of (message) (list 'aref (list 'aref message 3) 2)) ;; month sent ! (defmacro vm-month-of (message) (list 'aref (list 'aref message 3) 3)) ;; year sent ! (defmacro vm-year-of (message) (list 'aref (list 'aref message 3) 4)) ;; hour sent ! (defmacro vm-hour-of (message) (list 'aref (list 'aref message 3) 5)) ;; timezone ! (defmacro vm-zone-of (message) (list 'aref (list 'aref message 3) 6)) ;; message author's full name (Full-Name: or gouged from From:) ! (defmacro vm-full-name-of (message) (list 'aref (list 'aref message 3) 7)) ;; message author address (gouged from From:) ! (defmacro vm-from-of (message) (list 'aref (list 'aref message 3) 8)) ;; message ID (Message-Id:) ! (defmacro vm-message-id-of (message) (list 'aref (list 'aref message 3) 9)) ;; number of lines in message (as a string) ! (defmacro vm-line-count-of (message) (list 'aref (list 'aref message 3) 10)) ;; message subject (Subject:) ! (defmacro vm-subject-of (message) (list 'aref (list 'aref message 3) 11)) ;; Regexp that can be used to find the start of the already ordered headers. ! (defmacro vm-vheaders-regexp-of (message) ! (list 'aref (list 'aref message 3) 12)) ;; Addresses of recipients in a comma separated list ! (defmacro vm-to-of (message) (list 'aref (list 'aref message 3) 13)) ;; Full names of recipients in a comma separated list. Addresses if ;; full names not available. ! (defmacro vm-to-names-of (message) (list 'aref (list 'aref message 3) 14)) ;; numeric month sent ! (defmacro vm-month-number-of (message) (list 'aref (list 'aref message 3) 15)) ;; sortable date string (used for easy sorting, naturally) ! (defmacro vm-sortable-datestring-of (message) ! (list 'aref (list 'aref message 3) 16)) ;; sortable subject, re: garbage removed ! (defmacro vm-sortable-subject-of (message) ! (list 'aref (list 'aref message 3) 17)) ;; tokenized summary entry ! (defmacro vm-summary-of (message) ! (list 'aref (list 'aref message 3) 18)) ;; parent of this message, as determined by threading ! (defmacro vm-parent-of (message) ! (list 'aref (list 'aref message 3) 19)) ;; message IDs parsed from References header ! (defmacro vm-references-of (message) ! (list 'aref (list 'aref message 3) 20)) ;; have we retrieved the headers of this message? ;; only valid for remote folder access methods ! (defmacro vm-retrieved-headers-of (message) ! (list 'aref (list 'aref message 3) 21)) ;; have we retrieved the body of this message? ;; only valid for remote folder access methods ! (defmacro vm-retrieved-body-of (message) ! (list 'aref (list 'aref message 3) 22)) ;; pop UIDL value for message ! (defmacro vm-pop-uidl-of (message) ! (list 'aref (list 'aref message 3) 23)) ;; extra data shared by virtual messages if vm-virtual-mirror is non-nil ! (defmacro vm-mirror-data-of (message) (list 'aref message 4)) ;; if message is being edited, this is the buffer being used. ! (defmacro vm-edit-buffer-of (message) (list 'aref (list 'aref message 4) 0)) ;; list of virtual messages mirroring the underlying real message ! (defmacro vm-virtual-messages-of (message) ! (list 'symbol-value (list 'aref (list 'aref message 4) 1))) ;; modification flag for this message ;; nil if all attribute changes have been stuffed into the folder buffer ! (defmacro vm-modflag-of (message) (list 'aref (list 'aref message 4) 2)) ;; list of labels attached to this message ! (defmacro vm-labels-of (message) (list 'aref (list 'aref message 4) 3)) ;; comma list of labels ! (defmacro vm-label-string-of (message) (list 'aref (list 'aref message 4) 4)) ! (defmacro vm-set-location-data-of (message vdata) (list 'aset message 0 vdata)) ! (defmacro vm-set-start-of (message start) ! (list 'aset (list 'aref message 0) 0 start)) ! (defmacro vm-set-headers-of (message h) ! (list 'aset (list 'aref message 0) 1 h)) ! (defmacro vm-set-vheaders-of (message vh) ! (list 'aset (list 'aref message 0) 2 vh)) ! (defmacro vm-set-text-of (message text) ! (list 'aset (list 'aref message 0) 3 text)) ! (defmacro vm-set-text-end-of (message text) ! (list 'aset (list 'aref message 0) 4 text)) ! (defmacro vm-set-end-of (message end) ! (list 'aset (list 'aref message 0) 5 end)) ! (defmacro vm-set-softdata-of (message data) ! (list 'aset message 1 data)) ! (defmacro vm-set-number-of (message n) ! (list 'aset (list 'aref message 1) 0 n)) ! (defmacro vm-set-padded-number-of (message n) ! (list 'aset (list 'aref message 1) 1 n)) ! (defmacro vm-set-mark-of (message val) ! (list 'aset (list 'aref message 1) 2 val)) ! (defmacro vm-set-su-start-of (message pos) ! (list 'aset (list 'aref message 1) 3 pos)) ! (defmacro vm-set-su-end-of (message pos) ! (list 'aset (list 'aref message 1) 4 pos)) ! (defmacro vm-set-real-message-sym-of (message sym) ! (list 'aset (list 'aref message 1) 5 sym)) ! (defmacro vm-set-reverse-link-of (message link) ! (list 'set (list 'aref (list 'aref message 1) 6) link)) ! (defmacro vm-set-reverse-link-sym-of (message sym) ! (list 'aset (list 'aref message 1) 6 sym)) ! (defmacro vm-set-message-type-of (message type) ! (list 'aset (list 'aref message 1) 7 type)) ! (defmacro vm-set-message-id-number-of (message number) ! (list 'aset (list 'aref message 1) 8 number)) ! (defmacro vm-set-buffer-of (message buffer) ! (list 'aset (list 'aref message 1) 9 buffer)) ! (defmacro vm-set-thread-indentation-of (message val) ! (list 'aset (list 'aref message 1) 10 val)) ! (defmacro vm-set-thread-list-of (message list) ! (list 'aset (list 'aref message 1) 11 list)) ! (defmacro vm-set-babyl-frob-flag-of (message flag) ! (list 'aset (list 'aref message 1) 12 flag)) ! (defmacro vm-set-saved-virtual-attributes-of (message attrs) ! (list 'aset (list 'aref message 1) 13 attrs)) ! (defmacro vm-set-saved-virtual-mirror-data-of (message data) ! (list 'aset (list 'aref message 1) 14 data)) ! (defmacro vm-set-virtual-summary-of (message summ) ! (list 'aset (list 'aref message 1) 15 summ)) ! (defmacro vm-set-mime-layout-of (message layout) ! (list 'aset (list 'aref message 1) 16 layout)) ! (defmacro vm-set-mime-encoded-header-flag-of (message flag) ! (list 'aset (list 'aref message 1) 17 flag)) ! (defmacro vm-set-su-summary-mouse-track-overlay-of (message overlay) ! (list 'aset (list 'aref message 1) 18 overlay)) ! (defmacro vm-set-message-access-method-of (message method) ! (list 'aset (list 'aref message 1) 19 method)) ! (defmacro vm-set-attributes-of (message attrs) (list 'aset message 2 attrs)) ;; The other routines in attributes group are part of the undo system. --- 38,251 ---- ;; where text portion of message ends ! (defsubst vm-text-end-of (message) ! (aref (aref message 0) 4)) ;; where message ends ! (defsubst vm-end-of (message) ! (aref (aref message 0) 5)) ;; soft data vector ! (defsubst vm-softdata-of (message) ! (aref message 1)) ! (defsubst vm-number-of (message) ! (aref (aref message 1) 0)) ! (defsubst vm-padded-number-of (message) ! (aref (aref message 1) 1)) ! (defsubst vm-mark-of (message) ! (aref (aref message 1) 2)) ;; start of summary line ! (defsubst vm-su-start-of (message) ! (aref (aref message 1) 3)) ;; end of summary line ! (defsubst vm-su-end-of (message) ! (aref (aref message 1) 4)) ;; symbol whose value is the real message. ! (defsubst vm-real-message-sym-of (message) ! (aref (aref message 1) 5)) ;; real message ! (defsubst vm-real-message-of (message) ! (symbol-value (aref (aref message 1) 5))) ;; link to previous message in the message list ! (defsubst vm-reverse-link-of (message) ! (symbol-value (aref (aref message 1) 6))) ;; message type ! (defsubst vm-message-type-of (message) ! (aref (aref message 1) 7)) ;; number that uniquely identifies each message ;; this is for the set handling stuff ! (defsubst vm-message-id-number-of (message) ! (aref (aref message 1) 8)) ;; folder buffer of this message ! (defsubst vm-buffer-of (message) ! (aref (aref message 1) 9)) ;; cache thread indentation value ! (defsubst vm-thread-indentation-of (message) ! (aref (aref message 1) 10)) ;; list of symbols from vm-thread-obarray that give this message's lineage ! (defsubst vm-thread-list-of (message) ! (aref (aref message 1) 11)) ;; babyl header frob flag (0 or 1 at beginning of message) ! (defsubst vm-babyl-frob-flag-of (message) ! (aref (aref message 1) 12)) ;; saved attributes, if message was switched from unmirrored to mirrored ! (defsubst vm-saved-virtual-attributes-of (message) ! (aref (aref message 1) 13)) ;; saved mirror data, if message was switched from unmirrored to mirrored ! (defsubst vm-saved-virtual-mirror-data-of (message) ! (aref (aref message 1) 14)) ;; summary for unmirrored virtual message ! (defsubst vm-virtual-summary-of (message) ! (aref (aref message 1) 15)) ;; MIME layout information; types, ids, positions, etc. of all MIME entities ! (defsubst vm-mime-layout-of (message) ! (aref (aref message 1) 16)) ! (defsubst vm-mime-encoded-header-flag-of (message) ! (aref (aref message 1) 17)) ! (defsubst vm-su-summary-mouse-track-overlay-of (message) ! (aref (aref message 1) 18)) ! (defsubst vm-message-access-method (message) ! (aref (aref message 1) 19)) ;; message attribute vector ! (defsubst vm-attributes-of (message) (aref message 2)) ! (defsubst vm-new-flag (message) (aref (aref message 2) 0)) ! (defsubst vm-unread-flag (message) (aref (aref message 2) 1)) ! (defsubst vm-deleted-flag (message) (aref (aref message 2) 2)) ! (defsubst vm-filed-flag (message) (aref (aref message 2) 3)) ! (defsubst vm-replied-flag (message) (aref (aref message 2) 4)) ! (defsubst vm-written-flag (message) (aref (aref message 2) 5)) ! (defsubst vm-forwarded-flag (message) (aref (aref message 2) 6)) ! (defsubst vm-edited-flag (message) (aref (aref message 2) 7)) ! (defsubst vm-redistributed-flag (message) (aref (aref message 2) 8)) ;; message cached data ! (defsubst vm-cache-of (message) (aref message 3)) ;; message size in bytes (as a string) ! (defsubst vm-byte-count-of (message) (aref (aref message 3) 0)) ;; weekday sent ! (defsubst vm-weekday-of (message) (aref (aref message 3) 1)) ;; month day ! (defsubst vm-monthday-of (message) (aref (aref message 3) 2)) ;; month sent ! (defsubst vm-month-of (message) (aref (aref message 3) 3)) ;; year sent ! (defsubst vm-year-of (message) (aref (aref message 3) 4)) ;; hour sent ! (defsubst vm-hour-of (message) (aref (aref message 3) 5)) ;; timezone ! (defsubst vm-zone-of (message) (aref (aref message 3) 6)) ;; message author's full name (Full-Name: or gouged from From:) ! (defsubst vm-full-name-of (message) (aref (aref message 3) 7)) ;; message author address (gouged from From:) ! (defsubst vm-from-of (message) (aref (aref message 3) 8)) ;; message ID (Message-Id:) ! (defsubst vm-message-id-of (message) (aref (aref message 3) 9)) ;; number of lines in message (as a string) ! (defsubst vm-line-count-of (message) (aref (aref message 3) 10)) ;; message subject (Subject:) ! (defsubst vm-subject-of (message) (aref (aref message 3) 11)) ;; Regexp that can be used to find the start of the already ordered headers. ! (defsubst vm-vheaders-regexp-of (message) ! (aref (aref message 3) 12)) ;; Addresses of recipients in a comma separated list ! (defsubst vm-to-of (message) (aref (aref message 3) 13)) ;; Full names of recipients in a comma separated list. Addresses if ;; full names not available. ! (defsubst vm-to-names-of (message) (aref (aref message 3) 14)) ;; numeric month sent ! (defsubst vm-month-number-of (message) (aref (aref message 3) 15)) ;; sortable date string (used for easy sorting, naturally) ! (defsubst vm-sortable-datestring-of (message) ! (aref (aref message 3) 16)) ;; sortable subject, re: garbage removed ! (defsubst vm-sortable-subject-of (message) ! (aref (aref message 3) 17)) ;; tokenized summary entry ! (defsubst vm-summary-of (message) ! (aref (aref message 3) 18)) ;; parent of this message, as determined by threading ! (defsubst vm-parent-of (message) ! (aref (aref message 3) 19)) ;; message IDs parsed from References header ! (defsubst vm-references-of (message) ! (aref (aref message 3) 20)) ;; have we retrieved the headers of this message? ;; only valid for remote folder access methods ! (defsubst vm-retrieved-headers-of (message) ! (aref (aref message 3) 21)) ;; have we retrieved the body of this message? ;; only valid for remote folder access methods ! (defsubst vm-retrieved-body-of (message) ! (aref (aref message 3) 22)) ;; pop UIDL value for message ! (defsubst vm-pop-uidl-of (message) ! (aref (aref message 3) 23)) ;; extra data shared by virtual messages if vm-virtual-mirror is non-nil ! (defsubst vm-mirror-data-of (message) (aref message 4)) ;; if message is being edited, this is the buffer being used. ! (defsubst vm-edit-buffer-of (message) (aref (aref message 4) 0)) ;; list of virtual messages mirroring the underlying real message ! (defsubst vm-virtual-messages-of (message) ! (symbol-value (aref (aref message 4) 1))) ;; modification flag for this message ;; nil if all attribute changes have been stuffed into the folder buffer ! (defsubst vm-modflag-of (message) (aref (aref message 4) 2)) ;; list of labels attached to this message ! (defsubst vm-labels-of (message) (aref (aref message 4) 3)) ;; comma list of labels ! (defsubst vm-label-string-of (message) (aref (aref message 4) 4)) ! (defsubst vm-set-location-data-of (message vdata) (aset message 0 vdata)) ! (defsubst vm-set-start-of (message start) ! (aset (aref message 0) 0 start)) ! (defsubst vm-set-headers-of (message h) ! (aset (aref message 0) 1 h)) ! (defsubst vm-set-vheaders-of (message vh) ! (aset (aref message 0) 2 vh)) ! (defsubst vm-set-text-of (message text) ! (aset (aref message 0) 3 text)) ! (defsubst vm-set-text-end-of (message text) ! (aset (aref message 0) 4 text)) ! (defsubst vm-set-end-of (message end) ! (aset (aref message 0) 5 end)) ! (defsubst vm-set-softdata-of (message data) ! (aset message 1 data)) ! (defsubst vm-set-number-of (message n) ! (aset (aref message 1) 0 n)) ! (defsubst vm-set-padded-number-of (message n) ! (aset (aref message 1) 1 n)) ! (defsubst vm-set-mark-of (message val) ! (aset (aref message 1) 2 val)) ! (defsubst vm-set-su-start-of (message pos) ! (aset (aref message 1) 3 pos)) ! (defsubst vm-set-su-end-of (message pos) ! (aset (aref message 1) 4 pos)) ! (defsubst vm-set-real-message-sym-of (message sym) ! (aset (aref message 1) 5 sym)) ! (defsubst vm-set-reverse-link-of (message link) ! (set (aref (aref message 1) 6) link)) ! (defsubst vm-set-reverse-link-sym-of (message sym) ! (aset (aref message 1) 6 sym)) ! (defsubst vm-set-message-type-of (message type) ! (aset (aref message 1) 7 type)) ! (defsubst vm-set-message-id-number-of (message number) ! (aset (aref message 1) 8 number)) ! (defsubst vm-set-buffer-of (message buffer) ! (aset (aref message 1) 9 buffer)) ! (defsubst vm-set-thread-indentation-of (message val) ! (aset (aref message 1) 10 val)) ! (defsubst vm-set-thread-list-of (message list) ! (aset (aref message 1) 11 list)) ! (defsubst vm-set-babyl-frob-flag-of (message flag) ! (aset (aref message 1) 12 flag)) ! (defsubst vm-set-saved-virtual-attributes-of (message attrs) ! (aset (aref message 1) 13 attrs)) ! (defsubst vm-set-saved-virtual-mirror-data-of (message data) ! (aset (aref message 1) 14 data)) ! (defsubst vm-set-virtual-summary-of (message summ) ! (aset (aref message 1) 15 summ)) ! (defsubst vm-set-mime-layout-of (message layout) ! (aset (aref message 1) 16 layout)) ! (defsubst vm-set-mime-encoded-header-flag-of (message flag) ! (aset (aref message 1) 17 flag)) ! (defsubst vm-set-su-summary-mouse-track-overlay-of (message overlay) ! (aset (aref message 1) 18 overlay)) ! (defsubst vm-set-message-access-method-of (message method) ! (aset (aref message 1) 19 method)) ! (defsubst vm-set-attributes-of (message attrs) (aset message 2 attrs)) ;; The other routines in attributes group are part of the undo system. *************** *** 247,311 **** (vm-clear-modification-flag-undos)) ! (defmacro vm-set-cache-of (message cache) (list 'aset message 3 cache)) ! (defmacro vm-set-byte-count-of (message count) ! (list 'aset (list 'aref message 3) 0 count)) ! (defmacro vm-set-weekday-of (message val) ! (list 'aset (list 'aref message 3) 1 val)) ! (defmacro vm-set-monthday-of (message val) ! (list 'aset (list 'aref message 3) 2 val)) ! (defmacro vm-set-month-of (message val) ! (list 'aset (list 'aref message 3) 3 val)) ! (defmacro vm-set-year-of (message val) ! (list 'aset (list 'aref message 3) 4 val)) ! (defmacro vm-set-hour-of (message val) ! (list 'aset (list 'aref message 3) 5 val)) ! (defmacro vm-set-zone-of (message val) ! (list 'aset (list 'aref message 3) 6 val)) ! (defmacro vm-set-full-name-of (message author) ! (list 'aset (list 'aref message 3) 7 author)) ! (defmacro vm-set-from-of (message author) ! (list 'aset (list 'aref message 3) 8 author)) ! (defmacro vm-set-message-id-of (message id) ! (list 'aset (list 'aref message 3) 9 id)) ! (defmacro vm-set-line-count-of (message count) ! (list 'aset (list 'aref message 3) 10 count)) ! (defmacro vm-set-subject-of (message subject) ! (list 'aset (list 'aref message 3) 11 subject)) ! (defmacro vm-set-vheaders-regexp-of (message regexp) ! (list 'aset (list 'aref message 3) 12 regexp)) ! (defmacro vm-set-to-of (message recips) ! (list 'aset (list 'aref message 3) 13 recips)) ! (defmacro vm-set-to-names-of (message recips) ! (list 'aset (list 'aref message 3) 14 recips)) ! (defmacro vm-set-month-number-of (message val) ! (list 'aset (list 'aref message 3) 15 val)) ! (defmacro vm-set-sortable-datestring-of (message val) ! (list 'aset (list 'aref message 3) 16 val)) ! (defmacro vm-set-sortable-subject-of (message val) ! (list 'aset (list 'aref message 3) 17 val)) ! (defmacro vm-set-summary-of (message val) ! (list 'aset (list 'aref message 3) 18 val)) ! (defmacro vm-set-parent-of (message val) ! (list 'aset (list 'aref message 3) 19 val)) ! (defmacro vm-set-references-of (message val) ! (list 'aset (list 'aref message 3) 20 val)) ! (defmacro vm-set-retrieved-header-of (message val) ! (list 'aset (list 'aref message 3) 21 val)) ! (defmacro vm-set-retrieved-body-of (message val) ! (list 'aset (list 'aref message 3) 22 val)) ! (defmacro vm-set-pop-uidl-of (message val) ! (list 'aset (list 'aref message 3) 23 val)) ! (defmacro vm-set-mirror-data-of (message data) ! (list 'aset message 4 data)) ! (defmacro vm-set-edit-buffer-of (message buf) ! (list 'aset (list 'aref message 4) 0 buf)) ! (defmacro vm-set-virtual-messages-of (message list) ! (list 'set (list 'aref (list 'aref message 4) 1) list)) ! (defmacro vm-set-virtual-messages-sym-of (message sym) ! (list 'aset (list 'aref message 4) 1 sym)) ! (defmacro vm-set-modflag-of (message val) ! (list 'aset (list 'aref message 4) 2 val)) ! (defmacro vm-set-labels-of (message labels) ! (list 'aset (list 'aref message 4) 3 labels)) ! (defmacro vm-set-label-string-of (message string) ! (list 'aset (list 'aref message 4) 4 string)) --- 259,323 ---- (vm-clear-modification-flag-undos)) ! (defsubst vm-set-cache-of (message cache) (aset message 3 cache)) ! (defsubst vm-set-byte-count-of (message count) ! (aset (aref message 3) 0 count)) ! (defsubst vm-set-weekday-of (message val) ! (aset (aref message 3) 1 val)) ! (defsubst vm-set-monthday-of (message val) ! (aset (aref message 3) 2 val)) ! (defsubst vm-set-month-of (message val) ! (aset (aref message 3) 3 val)) ! (defsubst vm-set-year-of (message val) ! (aset (aref message 3) 4 val)) ! (defsubst vm-set-hour-of (message val) ! (aset (aref message 3) 5 val)) ! (defsubst vm-set-zone-of (message val) ! (aset (aref message 3) 6 val)) ! (defsubst vm-set-full-name-of (message author) ! (aset (aref message 3) 7 author)) ! (defsubst vm-set-from-of (message author) ! (aset (aref message 3) 8 author)) ! (defsubst vm-set-message-id-of (message id) ! (aset (aref message 3) 9 id)) ! (defsubst vm-set-line-count-of (message count) ! (aset (aref message 3) 10 count)) ! (defsubst vm-set-subject-of (message subject) ! (aset (aref message 3) 11 subject)) ! (defsubst vm-set-vheaders-regexp-of (message regexp) ! (aset (aref message 3) 12 regexp)) ! (defsubst vm-set-to-of (message recips) ! (aset (aref message 3) 13 recips)) ! (defsubst vm-set-to-names-of (message recips) ! (aset (aref message 3) 14 recips)) ! (defsubst vm-set-month-number-of (message val) ! (aset (aref message 3) 15 val)) ! (defsubst vm-set-sortable-datestring-of (message val) ! (aset (aref message 3) 16 val)) ! (defsubst vm-set-sortable-subject-of (message val) ! (aset (aref message 3) 17 val)) ! (defsubst vm-set-summary-of (message val) ! (aset (aref message 3) 18 val)) ! (defsubst vm-set-parent-of (message val) ! (aset (aref message 3) 19 val)) ! (defsubst vm-set-references-of (message val) ! (aset (aref message 3) 20 val)) ! (defsubst vm-set-retrieved-header-of (message val) ! (aset (aref message 3) 21 val)) ! (defsubst vm-set-retrieved-body-of (message val) ! (aset (aref message 3) 22 val)) ! (defsubst vm-set-pop-uidl-of (message val) ! (aset (aref message 3) 23 val)) ! (defsubst vm-set-mirror-data-of (message data) ! (aset message 4 data)) ! (defsubst vm-set-edit-buffer-of (message buf) ! (aset (aref message 4) 0 buf)) ! (defsubst vm-set-virtual-messages-of (message list) ! (set (aref (aref message 4) 1) list)) ! (defsubst vm-set-virtual-messages-sym-of (message sym) ! (aset (aref message 4) 1 sym)) ! (defsubst vm-set-modflag-of (message val) ! (aset (aref message 4) 2 val)) ! (defsubst vm-set-labels-of (message labels) ! (aset (aref message 4) 3 labels)) ! (defsubst vm-set-label-string-of (message string) ! (aset (aref message 4) 4 string)) *** dist/vm-menu.el.dist Tue Jan 22 14:28:29 2002 --- vm-menu.el Sat Mar 2 11:51:17 2002 *************** *** 51,87 **** ! (defconst vm-menu-folder-menu ! (list ! "Folder" ! (if vm-fsfemacs-p ! ["Manipulate Folders" ignore (ignore)] ! vm-menu-folders-menu) ! "---" ! ["Display Summary" vm-summarize t] ! ["Toggle Threading" vm-toggle-threads-display t] ! "---" ! ["Get New Mail" vm-get-new-mail (vm-menu-can-get-new-mail-p)] ! "---" ! ["Search" vm-isearch-forward vm-message-list] ! "---" ! ["Auto-Archive" vm-auto-archive-messages vm-message-list] ! ["Expunge" vm-expunge-folder vm-message-list] ! ["Expunge POP Messages" vm-expunge-pop-messages ! (vm-menu-can-expunge-pop-messages-p)] ! "---" ! ["Visit Folder" vm-visit-folder t] ! ["Visit POP Folder" vm-visit-pop-folder t] ! ["Revert Folder (back to disk version)" revert-buffer (vm-menu-can-revert-p)] ! ["Recover Folder (from auto-save file)" recover-file (vm-menu-can-recover-p)] ! ["Save" vm-save-folder (vm-menu-can-save-p)] ! ["Save As..." vm-write-file t] ! ["Quit" vm-quit-no-change t] ! ["Save & Quit" vm-quit t] ! "---" ! "---" ! ;; special string that marks the tail of this menu for ! ;; vm-menu-install-visited-folders-menu. ! "-------" ! )) ! (defconst vm-menu-dispose-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) --- 51,88 ---- ! (defvar vm-menu-folder-menu ! `("Folder" ! ,(if vm-fsfemacs-p ! ["Manipulate Folders" ignore (ignore)] ! vm-menu-folders-menu) ! "---" ! ["Display Summary" vm-summarize t] ! ["Toggle Threading" vm-toggle-threads-display t] ! "---" ! ["Get New Mail" vm-get-new-mail (vm-menu-can-get-new-mail-p)] ! "---" ! ["Search" vm-isearch-forward vm-message-list] ! "---" ! ["Auto-Archive" vm-auto-archive-messages vm-message-list] ! ["Expunge" vm-expunge-folder vm-message-list] ! ["Expunge POP Messages" vm-expunge-pop-messages ! (vm-menu-can-expunge-pop-messages-p)] ! "---" ! ["Visit Folder" vm-visit-folder t] ! ["Visit POP Folder" vm-visit-pop-folder t] ! ["Revert Folder (back to disk version)" vm-revert-buffer ! (vm-menu-can-revert-p)] ! ["Recover Folder (from auto-save file)" vm-recover-file ! (vm-menu-can-recover-p)] ! ["Save" vm-save-folder (vm-menu-can-save-p)] ! ["Save As..." vm-write-file t] ! ["Quit" vm-quit-no-change t] ! ["Save & Quit" vm-quit t] ! "---" ! "---" ! ;; special string that marks the tail of this menu for ! ;; vm-menu-install-visited-folders-menu. ! "-------" ! )) ! (defvar vm-menu-dispose-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) *************** *** 92,100 **** (list "Dispose")))) ! (append ! title ! (list ["Reply to Author" vm-reply vm-message-list] ["Reply to All" vm-followup vm-message-list] ! ["Reply to Author (citing original)" vm-reply-include-text vm-message-list] ! ["Reply to All (citing original)" vm-followup-include-text vm-message-list] ["Forward" vm-forward-message vm-message-list] --- 93,101 ---- (list "Dispose")))) ! `(,@title ["Reply to Author" vm-reply vm-message-list] ["Reply to All" vm-followup vm-message-list] ! ["Reply to Author (citing original)" vm-reply-include-text ! vm-message-list] ! ["Reply to All (citing original)" vm-followup-include-text ! vm-message-list] ["Forward" vm-forward-message vm-message-list] *************** *** 114,118 **** ["Decode MIME" vm-decode-mime-message (vm-menu-can-decode-mime-p)] ! )))) ! (defconst vm-menu-motion-menu '("Motion" --- 115,119 ---- ["Decode MIME" vm-decode-mime-message (vm-menu-can-decode-mime-p)] ! ))) ! (defvar vm-menu-motion-menu '("Motion" *************** *** 144,146 **** ! (defconst vm-menu-virtual-menu '("Virtual" --- 145,147 ---- ! (defvar vm-menu-virtual-menu '("Virtual" *************** *** 156,158 **** ! (defconst vm-menu-send-menu '("Send" --- 157,159 ---- ! (defvar vm-menu-send-menu '("Send" *************** *** 172,174 **** ! (defconst vm-menu-mark-menu '("Mark" --- 173,175 ---- ! (defvar vm-menu-mark-menu '("Mark" *************** *** 196,198 **** ! (defconst vm-menu-label-menu '("Label" --- 197,199 ---- ! (defvar vm-menu-label-menu '("Label" *************** *** 203,205 **** ! (defconst vm-menu-sort-menu '("Sort" --- 204,206 ---- ! (defvar vm-menu-sort-menu '("Sort" *************** *** 226,228 **** ! (defconst vm-menu-help-menu '("Help!" --- 227,229 ---- ! (defvar vm-menu-help-menu '("Help!" *************** *** 237,239 **** ! (defconst vm-menu-undo-menu ["Undo" vm-undo (vm-menu-can-undo-p)] --- 238,240 ---- ! (defvar vm-menu-undo-menu ["Undo" vm-undo (vm-menu-can-undo-p)] *************** *** 241,243 **** ! (defconst vm-menu-emacs-button ["XEmacs" vm-menu-toggle-menubar t] --- 242,244 ---- ! (defvar vm-menu-emacs-button ["XEmacs" vm-menu-toggle-menubar t] *************** *** 245,247 **** ! (defconst vm-menu-vm-button ["VM" vm-menu-toggle-menubar t] --- 246,248 ---- ! (defvar vm-menu-vm-button ["VM" vm-menu-toggle-menubar t] *************** *** 249,251 **** ! (defconst vm-menu-mail-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) --- 250,252 ---- ! (defvar vm-menu-mail-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) *************** *** 256,371 **** (list "Mail Commands")))) ! (append ! title ! (list ["Send and Exit" vm-mail-send-and-exit (vm-menu-can-send-mail-p)] ! ["Send, Keep Composing" vm-mail-send (vm-menu-can-send-mail-p)] ! ["Cancel" kill-buffer t] ! "----" ! ["Yank Original" vm-menu-yank-original vm-reply-list] ! "----" ! (append ! (if (vm-menu-fsfemacs19-menus-p) ! (list "Send Using MIME..." ! "Send Using MIME..." ! "---" ! "---") ! (list "Send Using MIME...")) ! (list ! ["Use MIME" ! (progn (set (make-local-variable 'vm-send-using-mime) t) ! (vm-mail-mode-remove-tm-hooks)) ! :active t ! :style radio ! :selected vm-send-using-mime] ! ["Don't use MIME" ! (set (make-local-variable 'vm-send-using-mime) nil) ! :active t ! :style radio ! :selected (not vm-send-using-mime)])) ! (append ! (if (vm-menu-fsfemacs19-menus-p) ! (list "Fragment Messages Larger Than ..." ! "Fragment Messages Larger Than ..." ! "---" ! "---") ! (list "Fragment Messages Larger Than ...")) ! (list ["Infinity, i.e., don't fragment" ! (set (make-local-variable 'vm-mime-max-message-size) nil) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size nil)] ! ["50000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 50000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 50000)] ! ["100000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 100000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 100000)] ! ["200000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 200000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 200000)] ! ["500000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 500000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 500000)] ! ["1000000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 1000000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 1000000)] ! ["2000000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 2000000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 2000000)])) ! (append ! (if (vm-menu-fsfemacs19-menus-p) ! (list "Encode 8-bit Characters Using ..." ! "Encode 8-bit Characters Using ..." ! "---" ! "---") ! (list "Encode 8-bit Characters Using ...")) ! (list ! ["Nothing, i.e., send unencoded" ! (set (make-local-variable 'vm-mime-8bit-text-transfer-encoding) ! '8bit) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-8bit-text-transfer-encoding '8bit)] ! ["Quoted-Printable" ! (set (make-local-variable 'vm-mime-8bit-text-transfer-encoding) ! 'quoted-printable) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-8bit-text-transfer-encoding ! 'quoted-printable)] ! ["BASE64" ! (set (make-local-variable 'vm-mime-8bit-text-transfer-encoding) ! 'base64) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-8bit-text-transfer-encoding 'base64)])) ! "----" ! ["Attach File..." vm-mime-attach-file vm-send-using-mime] ;; ["Attach MIME Message..." vm-mime-attach-mime-file ;; vm-send-using-mime] ! ["Encode MIME, But Don't Send" vm-mime-encode-composition ! (and vm-send-using-mime ! (null (vm-mail-mode-get-header-contents "MIME-Version:")))] ! ["Preview MIME Before Sending" vm-mime-preview-composition ! vm-send-using-mime] ! )))) ! (defconst vm-menu-mime-dispose-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) --- 257,369 ---- (list "Mail Commands")))) ! `(,@title ! ["Send and Exit" vm-mail-send-and-exit (vm-menu-can-send-mail-p)] ! ["Send, Keep Composing" vm-mail-send (vm-menu-can-send-mail-p)] ! ["Cancel" kill-buffer t] ! "----" ! ["Yank Original" vm-menu-yank-original vm-reply-list] ! "----" ! ( ! ,@(if (vm-menu-fsfemacs19-menus-p) ! (list "Send Using MIME..." ! "Send Using MIME..." ! "---" ! "---") ! (list "Send Using MIME...")) ! ["Use MIME" ! (progn (set (make-local-variable 'vm-send-using-mime) t) ! (vm-mail-mode-remove-tm-hooks)) ! :active t ! :style radio ! :selected vm-send-using-mime] ! ["Don't use MIME" ! (set (make-local-variable 'vm-send-using-mime) nil) ! :active t ! :style radio ! :selected (not vm-send-using-mime)]) ! ( ! ,@(if (vm-menu-fsfemacs19-menus-p) ! (list "Fragment Messages Larger Than ..." ! "Fragment Messages Larger Than ..." ! "---" ! "---") ! (list "Fragment Messages Larger Than ...")) ! ["Infinity, i.e., don't fragment" ! (set (make-local-variable 'vm-mime-max-message-size) nil) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size nil)] ! ["50000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 50000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 50000)] ! ["100000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 100000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 100000)] ! ["200000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 200000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 200000)] ! ["500000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 500000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 500000)] ! ["1000000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 1000000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 1000000)] ! ["2000000 bytes" ! (set (make-local-variable 'vm-mime-max-message-size) ! 2000000) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-max-message-size 2000000)]) ! ( ! ,@(if (vm-menu-fsfemacs19-menus-p) ! (list "Encode 8-bit Characters Using ..." ! "Encode 8-bit Characters Using ..." ! "---" ! "---") ! (list "Encode 8-bit Characters Using ...")) ! ["Nothing, i.e., send unencoded" ! (set (make-local-variable 'vm-mime-8bit-text-transfer-encoding) ! '8bit) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-8bit-text-transfer-encoding '8bit)] ! ["Quoted-Printable" ! (set (make-local-variable 'vm-mime-8bit-text-transfer-encoding) ! 'quoted-printable) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-8bit-text-transfer-encoding ! 'quoted-printable)] ! ["BASE64" ! (set (make-local-variable 'vm-mime-8bit-text-transfer-encoding) ! 'base64) ! :active vm-send-using-mime ! :style radio ! :selected (eq vm-mime-8bit-text-transfer-encoding 'base64)]) ! "----" ! ["Attach File..." vm-mime-attach-file vm-send-using-mime] ;; ["Attach MIME Message..." vm-mime-attach-mime-file ;; vm-send-using-mime] ! ["Encode MIME, But Don't Send" vm-mime-encode-composition ! (and vm-send-using-mime ! (null (vm-mail-mode-get-header-contents "MIME-Version:")))] ! ["Preview MIME Before Sending" vm-mime-preview-composition ! vm-send-using-mime] ! ))) ! (defvar vm-menu-mime-dispose-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) *************** *** 376,421 **** (list "Take Action on MIME body ...")))) ! (append ! title ! (list ["Display as Text using Default Face" ! (vm-mime-run-display-function-at-point ! 'vm-mime-display-body-as-text) t] ! ["Display using External Viewer" ! (vm-mime-run-display-function-at-point ! 'vm-mime-display-body-using-external-viewer) t]) ! ;; FSF Emacs does not allow a non-string menu element name. ! (if (vm-menu-can-eval-item-name) ! (list [(format "Convert to %s and Display" ! (or (nth 1 (vm-mime-can-convert ! (car ! (vm-mm-layout-type ! (vm-mime-get-button-layout e))))) ! "different type")) ! (vm-mime-run-display-function-at-point ! 'vm-mime-convert-body-then-display) ! (vm-mime-can-convert (car (vm-mm-layout-type ! (vm-mime-get-button-layout e))))])) ! (list "---" ! ["Save to File" vm-mime-reader-map-save-file t] ! ["Save to Folder" vm-mime-reader-map-save-message ! (let ((layout (vm-mime-run-display-function-at-point ! (function ! (lambda (e) ! (vm-extent-property e 'vm-mime-layout)))))) ! (if (null layout) ! nil ! (or (vm-mime-types-match "message/rfc822" ! (car (vm-mm-layout-type layout))) ! (vm-mime-types-match "message/news" ! (car (vm-mm-layout-type layout))))))] ! ["Send to Printer" (vm-mime-run-display-function-at-point ! 'vm-mime-send-body-to-printer) t] ! ["Feed to Shell Pipeline (display output)" ! (vm-mime-run-display-function-at-point ! 'vm-mime-pipe-body-to-queried-command) t] ! ["Feed to Shell Pipeline (discard output)" ! (vm-mime-run-display-function-at-point ! 'vm-mime-pipe-body-to-queried-command-discard-output) t] ! ["Delete object" vm-delete-mime-object t])))) ! (defconst vm-menu-url-browser-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) --- 374,419 ---- (list "Take Action on MIME body ...")))) ! `(,@title ! ["Display as Text using Default Face" ! (vm-mime-run-display-function-at-point ! 'vm-mime-display-body-as-text) t] ! ["Display using External Viewer" ! (vm-mime-run-display-function-at-point ! 'vm-mime-display-body-using-external-viewer) t] ! ;; FSF Emacs does not allow a non-string menu element name. ! ,@(if (vm-menu-can-eval-item-name) ! (list [(format "Convert to %s and Display" ! (or (nth 1 (vm-mime-can-convert ! (car ! (vm-mm-layout-type ! (vm-mime-get-button-layout e))))) ! "different type")) ! (vm-mime-run-display-function-at-point ! 'vm-mime-convert-body-then-display) ! (vm-mime-can-convert ! (car (vm-mm-layout-type ! (vm-mime-get-button-layout e))))])) ! "---" ! ["Save to File" vm-mime-reader-map-save-file t] ! ["Save to Folder" vm-mime-reader-map-save-message ! (let ((layout (vm-mime-run-display-function-at-point ! (function ! (lambda (e) ! (vm-extent-property e 'vm-mime-layout)))))) ! (if (null layout) ! nil ! (or (vm-mime-types-match "message/rfc822" ! (car (vm-mm-layout-type layout))) ! (vm-mime-types-match "message/news" ! (car (vm-mm-layout-type layout))))))] ! ["Send to Printer" (vm-mime-run-display-function-at-point ! 'vm-mime-send-body-to-printer) t] ! ["Feed to Shell Pipeline (display output)" ! (vm-mime-run-display-function-at-point ! 'vm-mime-pipe-body-to-queried-command) t] ! ["Feed to Shell Pipeline (discard output)" ! (vm-mime-run-display-function-at-point ! 'vm-mime-pipe-body-to-queried-command-discard-output) t] ! ["Delete object" vm-delete-mime-object t]))) ! (defvar vm-menu-url-browser-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) *************** *** 431,453 **** (t 'w3-fetch-other-frame)))) ! (append ! title ! (list (vector "Emacs W3" ! (list 'vm-mouse-send-url-at-position ! '(point) ! (list 'quote w3)) ! (list 'fboundp (list 'quote w3))) ! ["Mosaic" ! (vm-mouse-send-url-at-position (point) ! 'vm-mouse-send-url-to-mosaic) ! t] ! ["mMosaic" ! (vm-mouse-send-url-at-position (point) ! 'vm-mouse-send-url-to-mmosaic) ! t] ! ["Netscape" ! (vm-mouse-send-url-at-position (point) ! 'vm-mouse-send-url-to-netscape) ! t])))) ! (defconst vm-menu-mailto-url-browser-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) --- 429,447 ---- (t 'w3-fetch-other-frame)))) ! `(,@title ! ["Emacs W3" (vm-mouse-send-url-at-position (point) (quote ,w3)) ! (fboundp (quote ,w3))] ! ["Mosaic" ! (vm-mouse-send-url-at-position (point) ! 'vm-mouse-send-url-to-mosaic) ! t] ! ["mMosaic" ! (vm-mouse-send-url-at-position (point) ! 'vm-mouse-send-url-to-mmosaic) ! t] ! ["Netscape" ! (vm-mouse-send-url-at-position (point) ! 'vm-mouse-send-url-to-netscape) ! t]))) ! (defvar vm-menu-mailto-url-browser-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) *************** *** 458,464 **** (list "Send Mail using ...")))) ! (append ! title ! (list ["VM" (vm-mouse-send-url-at-position (point) 'ignore) t])))) ! (defconst vm-menu-subject-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) --- 452,457 ---- (list "Send Mail using ...")))) ! `(,@title ! ["VM" (vm-mouse-send-url-at-position (point) 'ignore) t]))) ! (defvar vm-menu-subject-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) *************** *** 469,473 **** (list "Take Action on Subject...")))) ! (append ! title ! (list ["Kill Subject" vm-kill-subject vm-message-list] --- 462,464 ---- (list "Take Action on Subject...")))) ! `(,@title ["Kill Subject" vm-kill-subject vm-message-list] *************** *** 483,487 **** vm-message-list] ! )))) ! (defconst vm-menu-author-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) --- 474,478 ---- vm-message-list] ! ))) ! (defvar vm-menu-author-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) *************** *** 492,496 **** (list "Take Action on Author...")))) ! (append ! title ! (list ["Mark Messages, Same Author" vm-mark-messages-same-author --- 483,485 ---- (list "Take Action on Author...")))) ! `(,@title ["Mark Messages, Same Author" vm-mark-messages-same-author *************** *** 501,505 **** vm-message-list] ! )))) ! (defconst vm-menu-content-disposition-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) --- 490,494 ---- vm-message-list] ! ))) ! (defvar vm-menu-content-disposition-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) *************** *** 510,530 **** (list "Set Content Disposition")))) ! (append ! title ! (list ["Unspecified" ! (vm-mime-set-attachment-disposition-at-point 'unspecified) ! :active vm-send-using-mime ! :style radio ! :selected (eq (vm-mime-attachment-disposition-at-point) ! 'unspecified)] ! ["Inline" ! (vm-mime-set-attachment-disposition-at-point 'inline) ! :active vm-send-using-mime ! :style radio ! :selected (eq (vm-mime-attachment-disposition-at-point) 'inline)] ! ["Attachment" ! (vm-mime-set-attachment-disposition-at-point 'attachment) ! :active vm-send-using-mime ! :style radio ! :selected (eq (vm-mime-attachment-disposition-at-point) ! 'attachment)])))) --- 499,518 ---- (list "Set Content Disposition")))) ! `(,@title ! ["Unspecified" ! (vm-mime-set-attachment-disposition-at-point 'unspecified) ! :active vm-send-using-mime ! :style radio ! :selected (eq (vm-mime-attachment-disposition-at-point) ! 'unspecified)] ! ["Inline" ! (vm-mime-set-attachment-disposition-at-point 'inline) ! :active vm-send-using-mime ! :style radio ! :selected (eq (vm-mime-attachment-disposition-at-point) 'inline)] ! ["Attachment" ! (vm-mime-set-attachment-disposition-at-point 'attachment) ! :active vm-send-using-mime ! :style radio ! :selected (eq (vm-mime-attachment-disposition-at-point) ! 'attachment)]))) *************** *** 532,534 **** ! (defconst vm-menu-vm-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) --- 520,522 ---- ! (defvar vm-menu-vm-menu (let ((title (if (vm-menu-fsfemacs19-menus-p) *************** *** 539,553 **** (list "VM")))) ! (append title ! (list vm-menu-folder-menu ! vm-menu-motion-menu ! vm-menu-send-menu ! vm-menu-mark-menu ! vm-menu-label-menu ! vm-menu-sort-menu ! vm-menu-virtual-menu ! ;; vm-menu-undo-menu ! vm-menu-dispose-menu ! "---" ! "---" ! vm-menu-help-menu)))) --- 527,541 ---- (list "VM")))) ! `(,@title ! vm-menu-folder-menu ! vm-menu-motion-menu ! vm-menu-send-menu ! vm-menu-mark-menu ! vm-menu-label-menu ! vm-menu-sort-menu ! vm-menu-virtual-menu ! ;; vm-menu-undo-menu ! vm-menu-dispose-menu ! "---" ! "---" ! vm-menu-help-menu))) *** dist/vm-misc.el.dist Sun Nov 18 23:57:25 2001 --- vm-misc.el Tue Feb 12 10:16:50 2002 *************** *** 854,856 **** (?8 . 8) (?9 . 9) (?A . 10) (?B . 11) ! (?C . 12) (?D . 13) (?E . 14) (?F . 15))) char) --- 854,858 ---- (?8 . 8) (?9 . 9) (?A . 10) (?B . 11) ! (?C . 12) (?D . 13) (?E . 14) (?F . 15) ! (?a . 10) (?b . 11) (?c . 12) (?d . 13) ! (?e . 14) (?f . 15))) char) *** dist/vm-page.el.dist Tue Jan 22 14:28:29 2002 --- vm-page.el Mon Feb 25 23:23:33 2002 *************** *** 463,464 **** --- 463,471 ---- (defun vm-display-xface () + (cond (vm-xemacs-p (vm-display-xface-xemacs)) + ((and vm-fsfemacs-p + (and (stringp vm-uncompface-program) + (fboundp 'create-image))) + (vm-display-xface-fsfemacs)))) + + (defun vm-display-xface-xemacs () (let ((case-fold-search t) e g h) *************** *** 499,500 **** --- 506,582 ---- + (defun vm-display-xface-fsfemacs () + (catch 'done + (let ((case-fold-search t) i g h) + (if (next-single-property-change (point-min) 'vm-xface) + nil + (goto-char (point-min)) + (if (re-search-forward "^X-Face:" nil t) + (progn + (goto-char (match-beginning 0)) + (vm-match-header) + (setq h (vm-matched-header-contents)) + (setq g (intern h vm-xface-cache)) + (if (boundp g) + (setq g (symbol-value g)) + (setq i (vm-convert-xface-to-fsfemacs-image-instantiator h)) + (cond (i + (set g i) + (setq g (symbol-value g))) + (t (throw 'done nil)))) + (let ((pos (vm-vheaders-of (car vm-message-pointer))) + o ) + ;; An image must replace the normal display of at + ;; least one character. Since we want to put the + ;; image at the beginning of the visible headers + ;; section, it will obscure the first character of + ;; that section. To display that character we add + ;; an after-string that contains the character. + ;; Kludge city, but it works. + (setq o (make-overlay (+ 0 pos) (+ 1 pos))) + (overlay-put o 'after-string + (char-to-string (char-after pos))) + (overlay-put o 'display g)))))))) + + (defun vm-convert-xface-to-fsfemacs-image-instantiator (data) + (let ((work-buffer nil) + retval) + (catch 'done + (unwind-protect + (save-excursion + (if (not (stringp vm-uncompface-program)) + (throw 'done nil)) + (setq work-buffer (vm-make-work-buffer)) + (set-buffer work-buffer) + (insert data) + (setq retval + (apply 'call-process-region + (point-min) (point-max) + vm-uncompface-program t t nil + (if vm-uncompface-accepts-dash-x '("-X") nil))) + (if (not (eq retval 0)) + (throw 'done nil)) + (if vm-uncompface-accepts-dash-x + (throw 'done + (list 'image ':type 'xbm + ':ascent 80 + ':foreground "black" + ':background "white" + ':data (buffer-string)))) + (if (not (stringp vm-icontopbm-program)) + (throw 'done nil)) + (goto-char (point-min)) + (insert "/* Width=48, Height=48 */\n"); + (setq retval + (call-process-region + (point-min) (point-max) + vm-icontopbm-program t t nil)) + (if (not (eq retval 0)) + nil + (list 'image ':type 'pbm + ':ascent 80 + ':foreground "black" + ':background "white" + ':data (buffer-string)))) + (and work-buffer (kill-buffer work-buffer)))))) + (defun vm-url-help (object) *************** *** 545,548 **** (if (and vm-display-xfaces ! vm-xemacs-p ! (featurep 'xface)) (save-restriction --- 627,631 ---- (if (and vm-display-xfaces ! (or (and vm-xemacs-p (featurep 'xface)) ! (and vm-fsfemacs-p (fboundp 'create-image) ! (stringp vm-uncompface-program)))) (save-restriction *** dist/vm-startup.el.dist Tue Jan 22 14:28:29 2002 --- vm-startup.el Sun Mar 3 22:31:16 2002 *************** *** 354,356 **** ! This is VM 7.01. --- 354,356 ---- ! This is VM 7.02. *************** *** 1347,1350 **** 'vm-mail-hook - 'vm-make-crash-box-name - 'vm-make-spool-file-name 'vm-mail-check-interval --- 1347,1348 ---- *************** *** 1352,1353 **** --- 1350,1353 ---- 'vm-mail-send-hook + 'vm-make-crash-box-name + 'vm-make-spool-file-name 'vm-mime-7bit-composition-charset *** dist/vm-vars.el.dist Tue Jan 22 14:28:30 2002 --- vm-vars.el Sun Mar 3 22:24:59 2002 *************** *** 19,36 **** ! (defvar vm-init-file "~/.vm" "*Startup file for VM that is loaded the first time you run VM ! in an Emacs session.") ! (defvar vm-preferences-file "~/.vm.preferences" ! "*Secondary startup file for VM, loaded after `vm-init-file'. This file is written and overwritten by VM and is not meant for ! users to edit directly.") ! ! (defvar vm-folder-directory nil ! "*Directory where folders of mail are kept.") ! (defvar vm-primary-inbox "~/INBOX" ! "*Mail is moved from the system mailbox to this file for reading.") ! (defvar vm-crash-box "~/INBOX.CRASH" "*File in which to store mail temporarily while it is transferred from --- 19,60 ---- ! ;; Emacs 19.34 doens't have defcustom but we want to continue to ! ;; supoprt that Emacs version. So fake up some definitions if we ! ;; need them and erase them after we're done. ! ! (defvar vm-faked-defcustom nil) ! ! (eval-and-compile ! (condition-case () ! (require 'custom) ! (error nil)) ! (if (and (featurep 'custom) (fboundp 'custom-declare-variable)) ! nil ;; We've got what we needed ! ;; We have the old custom-library, or no library at all so ! ;; hack around it! ! (setq vm-faked-defcustom t) ! (defmacro defgroup (&rest args) nil) ! (defmacro defcustom (var value doc &rest args) ! (` (defvar (, var) (, value) (, doc)))))) ! ! (defcustom vm-init-file "~/.vm" "*Startup file for VM that is loaded the first time you run VM ! in an Emacs session." ! :type 'file) ! (defcustom vm-preferences-file "~/.vm.preferences" ! "Unused. ! *Secondary startup file for VM, loaded after `vm-init-file'. This file is written and overwritten by VM and is not meant for ! users to edit directly." ! :type 'file) ! (defcustom vm-folder-directory nil ! "*Directory where folders of mail are kept." ! :type '(choice (const nil) directory)) ! ! (defcustom vm-primary-inbox "~/INBOX" ! "*Mail is moved from the system mailbox to this file for reading." ! :type 'file) ! (defcustom vm-crash-box "~/INBOX.CRASH" "*File in which to store mail temporarily while it is transferred from *************** *** 39,43 **** file. VM will do crash recovery from this file automatically at ! startup, as necessary.") ! (defvar vm-keep-crash-boxes nil "*Non-nil value should be a string specifying a directory where --- 63,68 ---- file. VM will do crash recovery from this file automatically at ! startup, as necessary." ! :type 'file) ! (defcustom vm-keep-crash-boxes nil "*Non-nil value should be a string specifying a directory where *************** *** 56,60 **** A nil value means VM should just delete crash boxes after it ! has copied out the mail.") ! (defvar vm-index-file-suffix nil "*Suffix used to construct VM index file names. --- 81,86 ---- A nil value means VM should just delete crash boxes after it ! has copied out the mail." ! :type 'boolean) ! (defcustom vm-index-file-suffix nil "*Suffix used to construct VM index file names. *************** *** 67,71 **** When you save a folder, the index file will be rewritten with ! updated informatoin about the folder. ! A nil value means VM should not read or write index files.") --- 93,98 ---- When you save a folder, the index file will be rewritten with ! updated information about the folder. ! A nil value means VM should not read or write index files." ! :type '(choice string (const nil))) *************** *** 86,88 **** ! (defvar vm-spool-files nil "*If non-nil this variable's value should be a list of strings --- 113,115 ---- ! (defcustom vm-spool-files nil "*If non-nil this variable's value should be a list of strings *************** *** 234,238 **** variables are defined and no particular value for `vm-spool-files' ! has been specified.") ! (defvar vm-spool-file-suffixes nil "*List of suffixes to be used to create possible spool file names --- 261,266 ---- variables are defined and no particular value for `vm-spool-files' ! has been specified." ! :type 'sexp) ! (defcustom vm-spool-file-suffixes nil "*List of suffixes to be used to create possible spool file names *************** *** 249,253 **** `vm-crash-box-suffix' is also defined, since a crash box is ! required for all mail retrieval from spool files.") ! (defvar vm-crash-box-suffix nil "*String suffix used to create possible crash box file names for folders. --- 277,282 ---- `vm-crash-box-suffix' is also defined, since a crash box is ! required for all mail retrieval from spool files." ! :type '(list string)) ! (defcustom vm-crash-box-suffix nil "*String suffix used to create possible crash box file names for folders. *************** *** 255,259 **** it will append the value of `vm-crash-box-suffix' to the folder's ! file name to create a crash box name.") ! (defvar vm-make-spool-file-name nil "*Non-nil value should be a function that returns a spool file name --- 284,289 ---- it will append the value of `vm-crash-box-suffix' to the folder's ! file name to create a crash box name." ! :type '(list string)) ! (defcustom vm-make-spool-file-name nil "*Non-nil value should be a function that returns a spool file name *************** *** 261,265 **** folder's file name. If the folder does not have a file name, ! the function will not be called.") ! (defvar vm-make-crash-box-name nil "*Non-nil value should be a function that returns a crash box file name --- 291,296 ---- folder's file name. If the folder does not have a file name, ! the function will not be called." ! :type 'function) ! (defcustom vm-make-crash-box-name nil "*Non-nil value should be a function that returns a crash box file name *************** *** 267,277 **** folder's file name. If the folder does not have a file name, ! the function will not be called.") ! (defvar vm-pop-md5-program "md5" "*Program that reads a message on its standard input and writes an ! MD5 digest on its output.") ! (defvar vm-pop-max-message-size nil ! "*If VM is about to retrieve via POP a message larger than this size ! (in bytes) it will ask the you whether it should retrieve the message. --- 298,311 ---- folder's file name. If the folder does not have a file name, ! the function will not be called." ! :type 'function) ! (defcustom vm-pop-md5-program "md5" "*Program that reads a message on its standard input and writes an ! MD5 digest on its output." ! :type 'string) ! (defcustom vm-pop-max-message-size nil ! "*If VM is about to retrieve via POP a message larger than this ! size (in bytes) it will ask the you whether it should retrieve ! the message. *************** *** 284,288 **** ! A nil value for `vm-pop-max-message-size' means no size limit.") ! (defvar vm-pop-messages-per-session nil "*Non-nil value should be an integer specifying how many messages to --- 318,323 ---- ! A nil value for `vm-pop-max-message-size' means no size limit." ! :type '(choice (const nil) integer)) ! (defcustom vm-pop-messages-per-session nil "*Non-nil value should be an integer specifying how many messages to *************** *** 292,296 **** ! A nil value means there's no limit.") ! (defvar vm-pop-bytes-per-session nil "*Non-nil value should be an integer specifying how many bytes to --- 327,332 ---- ! A nil value means there's no limit." ! :type '(choice (const nil) integer)) ! (defcustom vm-pop-bytes-per-session nil "*Non-nil value should be an integer specifying how many bytes to *************** *** 301,305 **** ! A nil value means there's no limit.") ! (defvar vm-pop-expunge-after-retrieving t "*Non-nil value means immediately delete messages from a POP mailbox --- 337,342 ---- ! A nil value means there's no limit." ! :type '(choice (const nil) integer)) ! (defcustom vm-pop-expunge-after-retrieving t "*Non-nil value means immediately delete messages from a POP mailbox *************** *** 314,318 **** This variable only affects POP mailboxes not listed in ! `vm-pop-auto-expunge-alist' (which see).") ! (defvar vm-pop-auto-expunge-alist nil "*List of POP mailboxes and values specifying whether messages --- 351,356 ---- This variable only affects POP mailboxes not listed in ! `vm-pop-auto-expunge-alist' (which see)." ! :type 'boolean) ! (defcustom vm-pop-auto-expunge-alist nil "*List of POP mailboxes and values specifying whether messages *************** *** 338,342 **** VM will complain about the lack of UIDL support and not retrieve ! messages from the server.") ! (defvar vm-pop-read-quit-response t "*Non-nil value tells VM to read the response to the POP QUIT command. --- 376,381 ---- VM will complain about the lack of UIDL support and not retrieve ! messages from the server." ! :type 'sexp) ! (defcustom vm-pop-read-quit-response t "*Non-nil value tells VM to read the response to the POP QUIT command. *************** *** 347,351 **** read, so for these servers you should set the variable's value to ! t.") ! (defvar vm-recognize-pop-maildrops "^\\(pop:\\|pop-ssl:\\|pop-ssh:\\)?[^:]+:[^:]+:[^:]+:[^:]+:[^:]+" "*Value if non-nil should be a regular expression that matches --- 386,391 ---- read, so for these servers you should set the variable's value to ! t." ! :type 'sexp) ! (defcustom vm-recognize-pop-maildrops "^\\(pop:\\|pop-ssl:\\|pop-ssh:\\)?[^:]+:[^:]+:[^:]+:[^:]+:[^:]+" "*Value if non-nil should be a regular expression that matches *************** *** 353,357 **** maildrops. A nil value tells VM that all the spool names are to ! be considered files except those matched by `vm-recognize-imap-maildrops'.") ! (defvar vm-pop-folder-alist nil "*Alist of POP maildrop specifications and names that refer to them. --- 393,398 ---- maildrops. A nil value tells VM that all the spool names are to ! be considered files except those matched by `vm-recognize-imap-maildrops'." ! :type 'regexp) ! (defcustom vm-pop-folder-alist nil "*Alist of POP maildrop specifications and names that refer to them. *************** *** 365,369 **** NAME is a string that should give a less cumbersome name that you ! will use to refer to this maildrop when using `vm-visit-pop-folder'.") ! (defvar vm-pop-folder-cache-directory nil "*Directory where VM stores cached copies of POP folders. --- 406,411 ---- NAME is a string that should give a less cumbersome name that you ! will use to refer to this maildrop when using `vm-visit-pop-folder'." ! :type 'sexp) ! (defcustom vm-pop-folder-cache-directory nil "*Directory where VM stores cached copies of POP folders. *************** *** 373,377 **** The cached copies are stored in the directory specified by this ! variable.") ! (defvar vm-imap-max-message-size nil "*If VM is about to retrieve via IMAP a message larger than this size --- 415,420 ---- The cached copies are stored in the directory specified by this ! variable." ! :type '(choice (const nil) directory)) ! (defcustom vm-imap-max-message-size nil "*If VM is about to retrieve via IMAP a message larger than this size *************** *** 386,390 **** ! A nil value for `vm-imap-max-message-size' means no size limit.") ! (defvar vm-imap-messages-per-session nil "*Non-nil value should be an integer specifying how many messages to --- 429,434 ---- ! A nil value for `vm-imap-max-message-size' means no size limit." ! :type '(choice (const nil) integer)) ! (defcustom vm-imap-messages-per-session nil "*Non-nil value should be an integer specifying how many messages to *************** *** 394,398 **** ! A nil value means there's no limit.") ! (defvar vm-imap-bytes-per-session nil "*Non-nil value should be an integer specifying how many bytes to --- 438,443 ---- ! A nil value means there's no limit." ! :type '(choice (const nil) integer)) ! (defcustom vm-imap-bytes-per-session nil "*Non-nil value should be an integer specifying how many bytes to *************** *** 403,407 **** ! A nil value means there's no limit.") ! (defvar vm-imap-expunge-after-retrieving t "*Non-nil value means immediately remove messages from an IMAP mailbox --- 448,453 ---- ! A nil value means there's no limit." ! :type '(choice (const nil) integer)) ! (defcustom vm-imap-expunge-after-retrieving t "*Non-nil value means immediately remove messages from an IMAP mailbox *************** *** 411,415 **** This variable only affects IMAP mailboxes not listed in ! `vm-imap-auto-expunge-alist' (which see).") ! (defvar vm-imap-auto-expunge-alist nil "*List of IMAP mailboxes and values specifying whether messages --- 457,462 ---- This variable only affects IMAP mailboxes not listed in ! `vm-imap-auto-expunge-alist' (which see)." ! :type 'boolean) ! (defcustom vm-imap-auto-expunge-alist nil "*List of IMAP mailboxes and values specifying whether messages *************** *** 429,433 **** corresponding IMAP mailbox, t if retrieved messages should be ! deleted from the mailbox immediately after retrieval.") ! (defvar vm-recognize-imap-maildrops "^\\(imap\\|imap-ssl\\|imap-ssh\\):[^:]+:[^:]+:[^:]+:[^:]+:[^:]+:[^:]+" "*Value if non-nil should be a regular expression that matches --- 476,481 ---- corresponding IMAP mailbox, t if retrieved messages should be ! deleted from the mailbox immediately after retrieval." ! :type 'sexp) ! (defcustom vm-recognize-imap-maildrops "^\\(imap\\|imap-ssl\\|imap-ssh\\):[^:]+:[^:]+:[^:]+:[^:]+:[^:]+:[^:]+" "*Value if non-nil should be a regular expression that matches *************** *** 435,439 **** maildrops. A nil value tells VM that all the spool names are to ! be considered files except those matched by `vm-recognize-pop-maildrops'.") ! (defvar vm-auto-get-new-mail t "*Non-nil value causes VM to automatically move mail from spool files --- 483,488 ---- maildrops. A nil value tells VM that all the spool names are to ! be considered files except those matched by `vm-recognize-pop-maildrops'." ! :type 'regexp) ! (defcustom vm-auto-get-new-mail t "*Non-nil value causes VM to automatically move mail from spool files *************** *** 446,450 **** other files. It should not disturb your editing, except perhaps ! for a pause while the check is being done.") ! (defvar vm-mail-check-interval 300 "*Numeric value specifies the number of seconds between checks --- 495,500 ---- other files. It should not disturb your editing, except perhaps ! for a pause while the check is being done." ! :type '(choice boolean integer)) ! (defcustom vm-mail-check-interval 300 "*Numeric value specifies the number of seconds between checks *************** *** 458,460 **** displays \"Mail\" in the mode line of folders that have mail ! waiting.") --- 508,511 ---- displays \"Mail\" in the mode line of folders that have mail ! waiting." ! :type '(choice (const nil) integer)) *************** *** 466,468 **** ! (defvar vm-default-folder-type (cond ((not (boundp 'system-configuration)) --- 517,519 ---- ! (defcustom vm-default-folder-type (cond ((not (boundp 'system-configuration)) *************** *** 494,498 **** If you set this variable's value to From_-with-Content-Length you ! must set `vm-trust-From_-with-Content-Length' non-nil.") ! (defvar vm-default-From_-folder-type 'From_ "*Value must be a symbol that tells VM which From-style folder type --- 545,554 ---- If you set this variable's value to From_-with-Content-Length you ! must set `vm-trust-From_-with-Content-Length' non-nil." ! :type '(choice (const From_) ! (const From_-with-Content-Length) ! (const BellFrom_) ! (const mmdf) ! (const babyl))) ! (defcustom vm-default-From_-folder-type 'From_ "*Value must be a symbol that tells VM which From-style folder type *************** *** 511,515 **** setting the variable `vm-default-From_-folder-type' to either From_ ! or BellFrom_.") ! (defvar vm-check-folder-types t "*Non-nil value causes VM to check folder and message types for --- 567,573 ---- setting the variable `vm-default-From_-folder-type' to either From_ ! or BellFrom_." ! :type '(choice (const From_) ! (const BellFrom_))) ! (defcustom vm-check-folder-types t "*Non-nil value causes VM to check folder and message types for *************** *** 528,532 **** error. The value of `vm-convert-folder-types' determines which ! action VM will take.") ! (defvar vm-convert-folder-types t "*Non-nil value means that when VM checks folder types and finds --- 586,591 ---- error. The value of `vm-convert-folder-types' determines which ! action VM will take." ! :type 'boolean) ! (defcustom vm-convert-folder-types t "*Non-nil value means that when VM checks folder types and finds *************** *** 536,540 **** If `vm-check-folder-types' is nil, then this variable isn't ! consulted.") ! (defvar vm-trust-From_-with-Content-Length (eq vm-default-folder-type 'From_-with-Content-Length) --- 595,600 ---- If `vm-check-folder-types' is nil, then this variable isn't ! consulted." ! :type 'boolean) ! (defcustom vm-trust-From_-with-Content-Length (eq vm-default-folder-type 'From_-with-Content-Length) *************** *** 549,553 **** If you set `vm-default-folder-type' to From_-with-Content-Length you ! must set this variable non-nil.") ! (defvar vm-visible-headers '("Resent-" --- 609,614 ---- If you set `vm-default-folder-type' to From_-with-Content-Length you ! must set this variable non-nil." ! :type 'boolean) ! (defcustom vm-visible-headers '("Resent-" *************** *** 570,574 **** specifies the order in which headers are displayed. Headers not ! matching `vm-visible-headers' are displayed last.") ! (defvar vm-invisible-header-regexp nil "*Non-nil value should be a regular expression that tells what headers --- 631,636 ---- specifies the order in which headers are displayed. Headers not ! matching `vm-visible-headers' are displayed last." ! :type '(list regexp)) ! (defcustom vm-invisible-header-regexp nil "*Non-nil value should be a regular expression that tells what headers *************** *** 580,584 **** Nil value causes VM to display ONLY those headers specified in ! `vm-visible-headers'.") ! (defvar vm-highlighted-header-regexp nil "*Value specifies which headers to highlight. --- 642,647 ---- Nil value causes VM to display ONLY those headers specified in ! `vm-visible-headers'." ! :type '(choice (const nil) regexp)) ! (defcustom vm-highlighted-header-regexp nil "*Value specifies which headers to highlight. *************** *** 589,592 **** - This does not work under version 18 Emacs. - If you're using XEmacs, you might want to use the builtin --- 652,653 ---- *************** *** 596,600 **** to customize highlighting. `vm-highlighted-header-regexp' is ! ignored in this case.") ! (defvar vm-use-lucid-highlighting (condition-case nil (progn --- 657,662 ---- to customize highlighting. `vm-highlighted-header-regexp' is ! ignored in this case." ! :type '(choice (const nil) regexp)) ! (defcustom vm-use-lucid-highlighting (condition-case nil (progn *************** *** 606,610 **** ! FSF Emacs always uses VM's builtin highlighting code.") ! (defvar vm-highlighted-header-face 'bold "*Face to be used to highlight headers. --- 668,673 ---- ! FSF Emacs always uses VM's builtin highlighting code." ! :type 'boolean) ! (defcustom vm-highlighted-header-face 'bold "*Face to be used to highlight headers. *************** *** 616,620 **** documentation for the function `highlight-headers' to find out how to ! customize header highlighting using this package.") ! (defvar vm-preview-lines 0 "*Non-nil value N causes VM to display the visible headers + N lines of text --- 679,684 ---- documentation for the function `highlight-headers' to find out how to ! customize header highlighting using this package." ! :type 'symbol) ! (defcustom vm-preview-lines 0 "*Non-nil value N causes VM to display the visible headers + N lines of text *************** *** 627,635 **** A nil value causes VM not to preview messages; no text lines are hidden and ! messages are immediately flagged as read.") ! (defvar vm-preview-read-messages nil "*Non-nil value means to preview messages even if they've already been read. ! A nil value causes VM to preview messages only if new or unread.") ! (defvar vm-fill-paragraphs-containing-long-lines nil "*Non-nil numeric value N causes VM to fill paragraphs that --- 691,701 ---- A nil value causes VM not to preview messages; no text lines are hidden and ! messages are immediately flagged as read." ! :type '(choice (const nil) integer)) ! (defcustom vm-preview-read-messages nil "*Non-nil value means to preview messages even if they've already been read. ! A nil value causes VM to preview messages only if new or unread." ! :type 'boolean) ! (defcustom vm-fill-paragraphs-containing-long-lines nil "*Non-nil numeric value N causes VM to fill paragraphs that *************** *** 638,647 **** itself is not modified; its text is copied into a presentation ! buffer before the filling is done.") ! (defvar vm-paragraph-fill-column (default-value 'fill-column) "*Column beyond which automatic line-wrapping should happen when re-filling lines longer than the value of ! `vm-fill-paragraphs-containing-long-lines'.") ! (defvar vm-display-using-mime t "*Non-nil value means VM should display messages using MIME. --- 704,715 ---- itself is not modified; its text is copied into a presentation ! buffer before the filling is done." ! :type '(choice (const nil) integer)) ! (defcustom vm-paragraph-fill-column (default-value 'fill-column) "*Column beyond which automatic line-wrapping should happen when re-filling lines longer than the value of ! `vm-fill-paragraphs-containing-long-lines'." ! :type 'integer) ! (defcustom vm-display-using-mime t "*Non-nil value means VM should display messages using MIME. *************** *** 657,659 **** A nil value means VM will not display MIME messages any ! differently than any other message.") --- 725,728 ---- A nil value means VM will not display MIME messages any ! differently than any other message." ! :type 'boolean) *************** *** 662,664 **** ;; reason vm-mime-avoid-folding-content-type is also set to t. ! (defvar vm-mime-ignore-mime-version t "*Non-nil value means ignore the version number in the MIME-Version --- 731,733 ---- ;; reason vm-mime-avoid-folding-content-type is also set to t. ! (defcustom vm-mime-ignore-mime-version t "*Non-nil value means ignore the version number in the MIME-Version *************** *** 668,672 **** can display. You can set `vm-mime-ignore-mime-version' non-nil if ! you use such systems.") ! (defvar vm-mime-require-mime-version-header t "Non-nil means a message must contain MIME-Version to be considered MIME. --- 737,742 ---- can display. You can set `vm-mime-ignore-mime-version' non-nil if ! you use such systems." ! :type 'boolean) ! (defcustom vm-mime-require-mime-version-header t "Non-nil means a message must contain MIME-Version to be considered MIME. *************** *** 675,679 **** this variable to nil if you want VM to be lax and parse such messages ! as MIME anyway.") ! (defvar vm-send-using-mime t "*Non-nil value means VM should support sending messages using MIME. --- 745,750 ---- this variable to nil if you want VM to be lax and parse such messages ! as MIME anyway." ! :type 'boolean) ! (defcustom vm-send-using-mime t "*Non-nil value means VM should support sending messages using MIME. *************** *** 691,695 **** A nil value means VM will not offer any support for composing ! MIME messages.") ! (defvar vm-honor-mime-content-disposition nil "*Non-nil value means use information from the Content-Disposition header --- 762,767 ---- A nil value means VM will not offer any support for composing ! MIME messages." ! :type 'boolean) ! (defcustom vm-honor-mime-content-disposition nil "*Non-nil value means use information from the Content-Disposition header *************** *** 700,704 **** Attachments will be displayed as a button that you can use ! mouse-2 to activate or mouse-3 to pull up a menu of options.") ! (defvar vm-auto-decode-mime-messages t "*Non-nil value causes MIME decoding to occur automatically --- 772,777 ---- Attachments will be displayed as a button that you can use ! mouse-2 to activate or mouse-3 to pull up a menu of options." ! :type 'boolean) ! (defcustom vm-auto-decode-mime-messages t "*Non-nil value causes MIME decoding to occur automatically *************** *** 707,711 **** command (normally bound to `D') manually to decode and display ! MIME objects.") ! (defvar vm-mime-decode-for-preview t "*Non-nil value causes partial MIME decoding to happen when a message --- 780,785 ---- command (normally bound to `D') manually to decode and display ! MIME objects." ! :type 'boolean) ! (defcustom vm-mime-decode-for-preview t "*Non-nil value causes partial MIME decoding to happen when a message *************** *** 715,719 **** MIME jumble. `vm-auto-decode-mime-messages' must also be set non-nil ! for this variable to have effect.") ! (defvar vm-auto-displayed-mime-content-types '("text" "multipart") "*List of MIME content types that should be displayed immediately --- 789,794 ---- MIME jumble. `vm-auto-decode-mime-messages' must also be set non-nil ! for this variable to have effect." ! :type 'boolean) ! (defcustom vm-auto-displayed-mime-content-types '("text" "multipart") "*List of MIME content types that should be displayed immediately *************** *** 746,750 **** be displayed as a button that allows you to save the body of the MIME ! object to a file.") ! (defvar vm-auto-displayed-mime-content-type-exceptions nil "*List of MIME content types that should not be displayed immediately --- 821,826 ---- be displayed as a button that allows you to save the body of the MIME ! object to a file." ! :type '(list string)) ! (defcustom vm-auto-displayed-mime-content-type-exceptions nil "*List of MIME content types that should not be displayed immediately *************** *** 762,766 **** If a top-level type is listed without a subtype, all subtypes of ! that type are assumed to be included.") ! (defvar vm-mime-internal-content-types t "*List of MIME content types that should be displayed internally --- 838,843 ---- If a top-level type is listed without a subtype, all subtypes of ! that type are assumed to be included." ! :type '(list string)) ! (defcustom vm-mime-internal-content-types t "*List of MIME content types that should be displayed internally *************** *** 780,784 **** Note that all multipart types are always handled internally. ! There is no need to list them here.") ! (defvar vm-mime-internal-content-type-exceptions nil "*List of MIME content types that should not be displayed internally. --- 857,862 ---- Note that all multipart types are always handled internally. ! There is no need to list them here." ! :type '(choice (const t) (const nil) (list string))) ! (defcustom vm-mime-internal-content-type-exceptions nil "*List of MIME content types that should not be displayed internally. *************** *** 793,797 **** If a top-level type is listed without a subtype, all subtypes of ! that type are assumed to be included.") ! (defvar vm-mime-external-content-types-alist nil "*Alist of MIME content types and the external programs used to display them. --- 871,876 ---- If a top-level type is listed without a subtype, all subtypes of ! that type are assumed to be included." ! :type '(list string)) ! (defcustom vm-mime-external-content-types-alist nil "*Alist of MIME content types and the external programs used to display them. *************** *** 823,830 **** ! If the COMMAND-LINE form is used, the program and its arguments are ! specified as a single string and that string is passed to the shell ! (\"sh -c\" typically) for execution. Since the command line will be ! passed to the shell, you can use shell variables and redirection if ! needed. As with the PROGRAM/ARGS form, the name of the temporary ! file that contains the MIME object will be appended to the command line if %f does not appear in the command line string. --- 902,909 ---- ! If the COMMAND-LINE form is used, the program and its arguments ! are specified as a single string and that string is passed to the ! shell for execution. Since the command line will be passed to ! the shell, you can use shell variables and redirection if needed. ! As with the PROGRAM/ARGS form, the name of the temporary file ! that contains the MIME object will be appended to the command line if %f does not appear in the command line string. *************** *** 853,857 **** ! No multipart message will ever be sent to an external viewer.") ! (defvar vm-mime-external-content-type-exceptions nil "*List of MIME content types that should not be displayed externally --- 932,937 ---- ! No multipart message will ever be sent to an external viewer." ! :type 'sexp) ! (defcustom vm-mime-external-content-type-exceptions nil "*List of MIME content types that should not be displayed externally *************** *** 867,876 **** If a top-level type is listed without a subtype, all subtypes of ! that type are assumed to be included.") ! (defvar vm-mime-delete-viewer-processes t "*Non-nil value causes VM to kill external MIME viewer processes when you switch to a different message or quit the current message's ! folder.") ! (defvar vm-mime-type-converter-alist nil "*Alist of MIME types and programs that can convert between them. --- 947,958 ---- If a top-level type is listed without a subtype, all subtypes of ! that type are assumed to be included." ! :type '(list string)) ! (defcustom vm-mime-delete-viewer-processes t "*Non-nil value causes VM to kill external MIME viewer processes when you switch to a different message or quit the current message's ! folder." ! :type 'boolean) ! (defcustom vm-mime-type-converter-alist nil "*Alist of MIME types and programs that can convert between them. *************** *** 906,908 **** ! (defvar vm-mime-charset-converter-alist nil "*Alist of MIME charsets and programs that can convert between them. --- 988,990 ---- ! (defcustom vm-mime-charset-converter-alist nil "*Alist of MIME charsets and programs that can convert between them. *************** *** 936,940 **** ! The first matching list element will be used.") ! (defvar vm-mime-alternative-select-method 'best-internal "*Value tells how to choose which multipart/alternative part to display. --- 1018,1023 ---- ! The first matching list element will be used." ! :type 'sexp) ! (defcustom vm-mime-alternative-select-method 'best-internal "*Value tells how to choose which multipart/alternative part to display. *************** *** 956,958 **** ! (favorite TYPE ...) --- 1039,1041 ---- ! (favorite TYPE ...) *************** *** 964,972 **** that matches an alternative that can be displayed internally will be ! chosen.") ! (defvar vm-mime-use-w3-for-text/html t "*Non-nil means use Emacs W3 to display text/html MIME objects ! Nil means don't use W3 for this.") ! (defvar vm-mime-default-face-charsets (if vm-fsfemacs-mule-p --- 1047,1057 ---- that matches an alternative that can be displayed internally will be ! chosen." ! :type 'sexp) ! (defcustom vm-mime-use-w3-for-text/html t "*Non-nil means use Emacs W3 to display text/html MIME objects ! Nil means don't use W3 for this." ! :type 'boolean) ! (defcustom vm-mime-default-face-charsets (if vm-fsfemacs-mule-p *************** *** 988,990 **** ! A value of t means all characters set can be displayed by the default face. This should be used in combination with --- 1073,1075 ---- ! A value of t means all character sets can be displayed by the default face. This should be used in combination with *************** *** 997,1001 **** To tell VM how to display other character sets, see ! `vm-mime-charset-font-alist'.") ! (defvar vm-mime-default-face-charset-exceptions nil "*List of character sets that cannot be displayed using the default face. --- 1082,1087 ---- To tell VM how to display other character sets, see ! `vm-mime-charset-font-alist'." ! :type '(choice (const t) (list string))) ! (defcustom vm-mime-default-face-charset-exceptions nil "*List of character sets that cannot be displayed using the default face. *************** *** 1003,1007 **** Character sets listed here will not be considered displayable using the ! default face even if they are also listed in `vm-mime-default-face-charsets'.") ! (defvar vm-mime-charset-font-alist nil "*Assoc list of character sets and fonts that can be used to display them. --- 1089,1094 ---- Character sets listed here will not be considered displayable using the ! default face even if they are also listed in `vm-mime-default-face-charsets'." ! :type '(list string)) ! (defcustom vm-mime-charset-font-alist nil "*Assoc list of character sets and fonts that can be used to display them. *************** *** 1031,1037 **** ! Note that under FSF Emacs 20.3 and any earlier version, any fonts ! you use must be the same height as your default font. XEmacs ! does not have this limitation.") ! (defvar vm-mime-use-image-strips t "*Non-nil means chop an image into horizontal strip for display. --- 1118,1128 ---- ! If you're using FSF Emacs 20 or later, or you're using XEmacs with ! compiled in MULE support, this value of this variable is ignored. ! ! Note that under FSF Emacs 19, any fonts you use must be the ! same height as your default font. XEmacs does not have this ! limitation." ! :type 'sexp) ! (defcustom vm-mime-use-image-strips t "*Non-nil means chop an image into horizontal strip for display. *************** *** 1048,1053 **** ! (defvar vm-mime-display-image-strips-incrementally t "*Non-nil means display image strips as they are created rather than waiting until all the strips are created and displaying ! them all at once. See `vm-mime-use-image-strips'.") --- 1139,1145 ---- ! (defcustom vm-mime-display-image-strips-incrementally t "*Non-nil means display image strips as they are created rather than waiting until all the strips are created and displaying ! them all at once. See `vm-mime-use-image-strips'." ! :type 'boolean) *************** *** 1065,1067 **** ! (defvar vm-imagemagick-convert-program (vm-locate-executable-file "convert") "*Name of ImageMagick 'convert' program. --- 1157,1159 ---- ! (defcustom vm-imagemagick-convert-program (vm-locate-executable-file "convert") "*Name of ImageMagick 'convert' program. *************** *** 1069,1076 **** images for display. Set this to nil and VM will not use the ! 'convert' program.") ! (defvar vm-imagemagick-identify-program (vm-locate-executable-file "identify") "*Name of ImageMagick 'identify' program. VM uses this to gather information about images. Set this to nil ! and VM will not use the 'convert' program.") --- 1161,1170 ---- images for display. Set this to nil and VM will not use the ! 'convert' program." ! :type '(choice string (const nil))) ! (defcustom vm-imagemagick-identify-program (vm-locate-executable-file "identify") "*Name of ImageMagick 'identify' program. VM uses this to gather information about images. Set this to nil ! and VM will not use the 'convert' program." ! :type '(choice string (const nil))) *************** *** 1089,1091 **** ! (defvar vm-mime-delete-after-saving nil "*Non-nil value causes VM to delete MIME body contents from a folder --- 1183,1185 ---- ! (defcustom vm-mime-delete-after-saving nil "*Non-nil value causes VM to delete MIME body contents from a folder *************** *** 1093,1104 **** with a message/external-body object that points to the disk copy of the ! object.") ! (defvar vm-mime-confirm-delete t "*Non-nil value causes VM to request confirmation from the user before ! deleting a MIME object with vm-delete-mime-object.") ! (defvar vm-mime-button-face 'gui-button-face ! "*Face used for text in buttons that trigger the display of MIME objects.") ! (defvar vm-mime-button-format-alist '(("text" . "%-35.35(%d, %c%) [%k to %a]") --- 1187,1201 ---- with a message/external-body object that points to the disk copy of the ! object." ! :type 'boolean) ! (defcustom vm-mime-confirm-delete t "*Non-nil value causes VM to request confirmation from the user before ! deleting a MIME object with vm-delete-mime-object." ! :type 'boolean) ! (defcustom vm-mime-button-face 'gui-button-face ! "*Face used for text in buttons that trigger the display of MIME objects." ! :type 'boolean) ! (defcustom vm-mime-button-format-alist '(("text" . "%-35.35(%d, %c%) [%k to %a]") *************** *** 1182,1186 **** truncated. If the value is negative, the string is truncated on ! the left instead of the right.") ! (defvar vm-mime-7bit-composition-charset "us-ascii" "*Character set that VM should assume if it finds no character codes > 128 --- 1279,1284 ---- truncated. If the value is negative, the string is truncated on ! the left instead of the right." ! :type 'sexp) ! (defcustom vm-mime-7bit-composition-charset "us-ascii" "*Character set that VM should assume if it finds no character codes > 128 *************** *** 1194,1198 **** the file coding system of the composition buffer to a single MIME ! character set that can display all the buffer's characters.") ! (defvar vm-mime-8bit-composition-charset "iso-8859-1" "*Character set that VM should assume if it finds non-US-ASCII characters --- 1292,1297 ---- the file coding system of the composition buffer to a single MIME ! character set that can display all the buffer's characters." ! :type 'string) ! (defcustom vm-mime-8bit-composition-charset "iso-8859-1" "*Character set that VM should assume if it finds non-US-ASCII characters *************** *** 1203,1210 **** ! This variable is unused in XEmacs/MULE. Since multiple character ! sets can be displayed in a single buffer under MULE, VM will map ! the file coding system of the buffer to a single MIME character ! set that can display all the buffer's characters.") ! (defvar vm-mime-8bit-text-transfer-encoding 'quoted-printable "*Symbol specifying what kind of transfer encoding to use on 8bit --- 1302,1311 ---- ! This variable is unused in XEmacs/MULE and FSF Emacs starting ! with version 20. Since multiple character sets can be displayed ! in a single buffer under MULE, VM will map the file coding system ! of the buffer to a single MIME character set that can display all ! the buffer's characters." ! :type 'string) ! (defcustom vm-mime-8bit-text-transfer-encoding 'quoted-printable "*Symbol specifying what kind of transfer encoding to use on 8bit *************** *** 1228,1232 **** are considered binary, as are messages that contain carriage ! returns (ascii code 13) or NULs (ascii code 0).") ! (defvar vm-mime-composition-armor-from-lines nil "*Non-nil value means \"From \" lines should be armored before sending. --- 1329,1334 ---- are considered binary, as are messages that contain carriage ! returns (ascii code 13) or NULs (ascii code 0)." ! :type '(choice (const quoted-printable) (const base64) (const 8bit))) ! (defcustom vm-mime-composition-armor-from-lines nil "*Non-nil value means \"From \" lines should be armored before sending. *************** *** 1242,1246 **** using either quoted-printable or BASE64 encoding so that the From ! line can be protected.") ! (defvar vm-mime-attachment-auto-type-alist '( --- 1344,1349 ---- using either quoted-printable or BASE64 encoding so that the From ! line can be protected." ! :type 'boolean) ! (defcustom vm-mime-attachment-auto-type-alist '( *************** *** 1276,1280 **** application/octet-stream objects for display purposes if the ! value of `vm-infer-mime-types' is non-nil.") ! (defvar vm-mime-attachment-auto-suffix-alist '( --- 1379,1384 ---- application/octet-stream objects for display purposes if the ! value of `vm-infer-mime-types' is non-nil." ! :type 'sexp) ! (defcustom vm-mime-attachment-auto-suffix-alist '( *************** *** 1303,1305 **** ! SUFFIX is a string specifying the suffix that shoul be used for the accompanying type. --- 1407,1409 ---- ! SUFFIX is a string specifying the suffix that should be used for the accompanying type. *************** *** 1312,1317 **** types to extensions that your external viewers will recognize. VM ! will search the list for a matching type. The suffix assocaited ! with the first type that matches will be used.") ! (defvar vm-mime-max-message-size nil "*Largest MIME message that VM should send without fragmentation. --- 1416,1422 ---- types to extensions that your external viewers will recognize. VM ! will search the list for a matching type. The suffix associated ! with the first type that matches will be used." ! :type 'sexp) ! (defcustom vm-mime-max-message-size nil "*Largest MIME message that VM should send without fragmentation. *************** *** 1319,1328 **** A message larger than this value will be split into multiple parts ! for transmission using the MIME message/partial type.") ! (defvar vm-mime-attachment-save-directory nil "*Non-nil value is a default directory for saving MIME attachments. When VM prompts you for a target file name when saving a MIME body, ! any relative pathnames will be relative to this directory.") ! (defvar vm-infer-mime-types nil "*Non-nil value means that VM should try to infer a MIME object's --- 1424,1435 ---- A message larger than this value will be split into multiple parts ! for transmission using the MIME message/partial type." ! :type '(choice (const nil) integer)) ! (defcustom vm-mime-attachment-save-directory nil "*Non-nil value is a default directory for saving MIME attachments. When VM prompts you for a target file name when saving a MIME body, ! any relative pathnames will be relative to this directory." ! :type (choice (const nil) directory)) ! (defcustom vm-infer-mime-types nil "*Non-nil value means that VM should try to infer a MIME object's *************** *** 1332,1336 **** is checked against the regexps in `vm-mime-attachment-auto-type-alist' ! and the type corresponding to the first match found is used.") ! (defvar vm-mime-avoid-folding-content-type t "*Non-nil means don't send folded Content- headers in MIME messages. --- 1439,1444 ---- is checked against the regexps in `vm-mime-attachment-auto-type-alist' ! and the type corresponding to the first match found is used." ! :type 'boolean) ! (defcustom vm-mime-avoid-folding-content-type t "*Non-nil means don't send folded Content- headers in MIME messages. *************** *** 1346,1350 **** If you see one of these, setting `vm-mime-avoid-folding-content-type' ! non-nil may let your mail get through.") ! (defvar vm-mime-base64-decoder-program nil "*Non-nil value should be a string that names a MIME base64 decoder. --- 1454,1459 ---- If you see one of these, setting `vm-mime-avoid-folding-content-type' ! non-nil may let your mail get through." ! :type 'boolean) ! (defcustom vm-mime-base64-decoder-program nil "*Non-nil value should be a string that names a MIME base64 decoder. *************** *** 1353,1361 **** base64 data on its standard input and write the converted data ! to its standard output.") ! (defvar vm-mime-base64-decoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-base64-decoder-program'.") ! (defvar vm-mime-base64-encoder-program nil "*Non-nil value should be a string that names a MIME base64 encoder. --- 1462,1472 ---- base64 data on its standard input and write the converted data ! to its standard output." ! :type '(choice string (const nil))) ! (defcustom vm-mime-base64-decoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-base64-decoder-program'." ! :type '(list string)) ! (defcustom vm-mime-base64-encoder-program nil "*Non-nil value should be a string that names a MIME base64 encoder. *************** *** 1364,1372 **** data on its standard input and write base64 data to its standard ! output.") ! (defvar vm-mime-base64-encoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-base64-encoder-program'.") ! (defvar vm-mime-qp-decoder-program nil "*Non-nil value should be a string that names a MIME quoted-printable --- 1475,1485 ---- data on its standard input and write base64 data to its standard ! output." ! :type '(choice string (const nil))) ! (defcustom vm-mime-base64-encoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-base64-encoder-program'." ! :type '(list string)) ! (defcustom vm-mime-qp-decoder-program nil "*Non-nil value should be a string that names a MIME quoted-printable *************** *** 1375,1383 **** read quoted-printable data on its standard input and write the ! converted data to its standard output.") ! (defvar vm-mime-qp-decoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-qp-decoder-program'.") ! (defvar vm-mime-qp-encoder-program nil "*Non-nil value should be a string that names a MIME quoted-printable --- 1488,1498 ---- read quoted-printable data on its standard input and write the ! converted data to its standard output." ! :type '(choice string (const nil))) ! (defcustom vm-mime-qp-decoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-qp-decoder-program'." ! :type '(list string)) ! (defcustom vm-mime-qp-encoder-program nil "*Non-nil value should be a string that names a MIME quoted-printable *************** *** 1386,1394 **** arbitrary data on its standard input and write quoted-printable ! data to its standard output.") ! (defvar vm-mime-qp-encoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-qp-encoder-program'.") ! (defvar vm-mime-uuencode-decoder-program "uudecode" "*Non-nil value should be a string that names UUENCODE decoder. --- 1501,1511 ---- arbitrary data on its standard input and write quoted-printable ! data to its standard output." ! :type '(choice string (const nil))) ! (defcustom vm-mime-qp-encoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-qp-encoder-program'." ! :type '(list string)) ! (defcustom vm-mime-uuencode-decoder-program "uudecode" "*Non-nil value should be a string that names UUENCODE decoder. *************** *** 1398,1411 **** data to the file specified in the ``begin'' line at the start of ! the data.") ! (defvar vm-mime-uuencode-decoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-uuencode-decoder-program'.") ! (defvar vm-auto-next-message t "*Non-nil value causes VM to use `vm-next-message' to advance to the next message in the folder if the user attempts to scroll past the end of the ! current messages. A nil value disables this behavior.") ! (defvar vm-honor-page-delimiters nil "*Non-nil value causes VM to honor page delimiters (as specified by the --- 1515,1531 ---- data to the file specified in the ``begin'' line at the start of ! the data." ! :type '(choice string (const nil))) ! (defcustom vm-mime-uuencode-decoder-switches nil "*List of command line flags passed to the command named by ! `vm-mime-uuencode-decoder-program'." ! :type '(list string)) ! (defcustom vm-auto-next-message t "*Non-nil value causes VM to use `vm-next-message' to advance to the next message in the folder if the user attempts to scroll past the end of the ! current messages. A nil value disables this behavior." ! :type 'boolean) ! (defcustom vm-honor-page-delimiters nil "*Non-nil value causes VM to honor page delimiters (as specified by the *************** *** 1419,1423 **** ! A nil value means ignore page-delimiters.") ! (defvar vm-page-continuation-glyph "...press SPACE to see more..." "*Glyph VM uses to indicate there is more text on the next page. --- 1539,1544 ---- ! A nil value means ignore page-delimiters." ! :type 'boolean) ! (defcustom vm-page-continuation-glyph "...press SPACE to see more..." "*Glyph VM uses to indicate there is more text on the next page. *************** *** 1431,1433 **** ! Under FSF Emacs, `vm-page-continuation-glyph' must be a string.") --- 1552,1555 ---- ! Under FSF Emacs, `vm-page-continuation-glyph' must be a string." ! :type 'boolean) *************** *** 1496,1498 **** ! (defvar vm-window-configuration-file "~/.vm.windows" "*Non-nil value should be a string that tells VM where to load --- 1618,1620 ---- ! (defcustom vm-window-configuration-file "~/.vm.windows" "*Non-nil value should be a string that tells VM where to load *************** *** 1516,1520 **** file as you update your window configuration settings, so ! anything else you put into this file will go away.") ! (defvar vm-confirm-quit 0 "*Value of t causes VM to always ask for confirmation before quitting --- 1638,1643 ---- file as you update your window configuration settings, so ! anything else you put into this file will go away." ! :type 'file) ! (defcustom vm-confirm-quit 0 "*Value of t causes VM to always ask for confirmation before quitting *************** *** 1524,1538 **** only when there are unsaved changes to message attributes, or when messages ! will be unwittingly lost.") ! (defvar vm-confirm-new-folders nil "*Non-nil value causes interactive calls to `vm-save-message' ! to ask for confirmation before creating a new folder.") ! (defvar vm-delete-empty-folders t ! "*Non-nil value means remove empty (zero length) folders after saving A value of t means always remove the folders. A value of nil means never remove empty folders. ! A value that's not t or nil means ask before removing empty folders.") ! (defvar vm-folder-file-precious-flag t "*Value that `file-precious-flag' should have in visited folders. --- 1647,1664 ---- only when there are unsaved changes to message attributes, or when messages ! will be unwittingly lost." ! :type '(const t) (const nil) (const if-something-will-be-lost)) ! (defcustom vm-confirm-new-folders nil "*Non-nil value causes interactive calls to `vm-save-message' ! to ask for confirmation before creating a new folder." ! :type 'boolean) ! (defcustom vm-delete-empty-folders t ! "*Non-nil value means remove empty (zero length) folders after saving. A value of t means always remove the folders. A value of nil means never remove empty folders. ! A value that's not t or nil means ask before removing empty folders." ! :type '(choice (const nil) (const t) (const ask))) ! (defcustom vm-folder-file-precious-flag t "*Value that `file-precious-flag' should have in visited folders. *************** *** 1541,1545 **** nil value causes folders to be saved by writing directly to the ! folder without the use of a temporary file.") ! (defvar vm-flush-interval 90 "*Non-nil value specifies how often VM flushes its cached internal --- 1667,1672 ---- nil value causes folders to be saved by writing directly to the ! folder without the use of a temporary file." ! :type 'boolean) ! (defcustom vm-flush-interval 90 "*Non-nil value specifies how often VM flushes its cached internal *************** *** 1561,1565 **** something while flushing is occurring, the flush will abort ! cleanly and Emacs will respond to your keystrokes as usual.") ! (defvar vm-visit-when-saving 0 "*Value determines whether VM will visit folders when saving messages. --- 1688,1693 ---- something while flushing is occurring, the flush will abort ! cleanly and Emacs will respond to your keystrokes as usual." ! :type '(choice integer (const nil))) ! (defcustom vm-visit-when-saving 0 "*Value determines whether VM will visit folders when saving messages. *************** *** 1580,1584 **** buffer if that folder is being visited, otherwise VM saves to the folder ! file itself.") ! (defvar vm-auto-folder-alist nil "*Non-nil value should be an alist that VM will use to choose a default --- 1708,1713 ---- buffer if that folder is being visited, otherwise VM saves to the folder ! file itself." ! :type '(choice (const nil) (const t) (const if-already-visited))) ! (defcustom vm-auto-folder-alist nil "*Non-nil value should be an alist that VM will use to choose a default *************** *** 1611,1620 **** of the variable `vm-auto-folder-case-fold-search'. Header names ! are always matched case insensitively.") ! (defvar vm-auto-folder-case-fold-search nil "*Non-nil value means VM will ignore case when matching header contents while doing automatic folder selection via the variable ! `vm-auto-folder-alist'.") ! (defvar vm-virtual-folder-alist nil "*Non-nil value should be a list of virtual folder definitions. --- 1740,1751 ---- of the variable `vm-auto-folder-case-fold-search'. Header names ! are always matched case insensitively." ! :type 'sexp) ! (defcustom vm-auto-folder-case-fold-search nil "*Non-nil value means VM will ignore case when matching header contents while doing automatic folder selection via the variable ! `vm-auto-folder-alist'." ! :type 'boolean) ! (defcustom vm-virtual-folder-alist nil "*Non-nil value should be a list of virtual folder definitions. *************** *** 1740,1744 **** written - matches message if it has been saved without its headers. ! ") ! (defvar vm-virtual-mirror t "*Non-nil value causes the attributes of messages in virtual folders --- 1871,1876 ---- written - matches message if it has been saved without its headers. ! " ! :type 'sexp) ! (defcustom vm-virtual-mirror t "*Non-nil value causes the attributes of messages in virtual folders *************** *** 1754,1759 **** set this variable directly, rather you should use the command ! `vm-toggle-virtual-mirror', normally bound to `V M'.") (make-variable-buffer-local 'vm-virtual-mirror) ! (defvar vm-folder-read-only nil "*Non-nil value causes a folder to be considered unmodifiable by VM. --- 1886,1892 ---- set this variable directly, rather you should use the command ! `vm-toggle-virtual-mirror', normally bound to `V M'." ! :type 'boolean) (make-variable-buffer-local 'vm-virtual-mirror) ! (defcustom vm-folder-read-only nil "*Non-nil value causes a folder to be considered unmodifiable by VM. *************** *** 1768,1776 **** set this variable directly, rather you should use the command ! `vm-toggle-read-only', normally bound to C-x C-q.") (make-variable-buffer-local 'vm-folder-read-only) ! (defvar vm-included-text-prefix " > " ! "*String used to prefix included text in replies.") ! (defvar vm-keep-sent-messages 1 "*Non-nil value N causes VM to keep the last N messages sent from within VM. --- 1901,1911 ---- set this variable directly, rather you should use the command ! `vm-toggle-read-only', normally bound to C-x C-q." ! :type 'boolean) (make-variable-buffer-local 'vm-folder-read-only) ! (defcustom vm-included-text-prefix " > " ! "*String used to prefix included text in replies." ! :type 'string) ! (defcustom vm-keep-sent-messages 1 "*Non-nil value N causes VM to keep the last N messages sent from within VM. *************** *** 1781,1789 **** Note that these buffers will vanish once you exit Emacs. To keep a permanent ! record of your outgoing mail, use the mail-archive-file-name variable.") ! (defvar vm-confirm-mail-send nil "*Non-nil means ask before sending a mail message. ! This affects `vm-mail-send' and `vm-mail-send-and-exit' in Mail mode.") ! (defvar vm-mail-header-from nil "*Non-nil value should be a string that will be appear as the body --- 1916,1926 ---- Note that these buffers will vanish once you exit Emacs. To keep a permanent ! record of your outgoing mail, use the mail-archive-file-name variable." ! :type '(choice (const nil) integer)) ! (defcustom vm-confirm-mail-send nil "*Non-nil means ask before sending a mail message. ! This affects `vm-mail-send' and `vm-mail-send-and-exit' in Mail mode." ! :type 'boolean) ! (defcustom vm-mail-header-from nil "*Non-nil value should be a string that will be appear as the body *************** *** 1792,1796 **** format of the Resent-From header, when resending a message with ! `vm-resend-message'.") ! (defvar vm-mail-header-insert-date t "*Non-nil value causes VM to insert a Date header into a message --- 1929,1934 ---- format of the Resent-From header, when resending a message with ! `vm-resend-message'." ! :type '(choice (const nil) string)) ! (defcustom vm-mail-header-insert-date t "*Non-nil value causes VM to insert a Date header into a message *************** *** 1804,1808 **** ! A nil value means don't insert a Date header.") ! (defvar vm-mail-header-insert-message-id t "*Non-nil value causes VM to insert a Message-ID header into a message --- 1942,1947 ---- ! A nil value means don't insert a Date header." ! :type 'boolean) ! (defcustom vm-mail-header-insert-message-id t "*Non-nil value causes VM to insert a Message-ID header into a message *************** *** 1817,1826 **** ! A nil value means don't insert a Message-ID header.") ! (defvar vm-reply-subject-prefix nil "*Non-nil value should be a string that VM should add to the beginning of the Subject header in replies, if the string is not already present. ! Nil means don't prefix the Subject header.") ! (defvar vm-reply-ignored-addresses nil "*Non-nil value should be a list of regular expressions that match --- 1956,1967 ---- ! A nil value means don't insert a Message-ID header." ! :type 'boolean) ! (defcustom vm-reply-subject-prefix nil "*Non-nil value should be a string that VM should add to the beginning of the Subject header in replies, if the string is not already present. ! Nil means don't prefix the Subject header." ! :type '(choice (const nil) string)) ! (defcustom vm-reply-ignored-addresses nil "*Non-nil value should be a list of regular expressions that match *************** *** 1832,1836 **** ! Case is ignored when matching the addresses.") ! (defvar vm-reply-ignored-reply-tos nil "*Non-nil value should be a list of regular expressions that match --- 1973,1978 ---- ! Case is ignored when matching the addresses." ! :type '(list regexp)) ! (defcustom vm-reply-ignored-reply-tos nil "*Non-nil value should be a list of regular expressions that match *************** *** 1844,1848 **** mailing lists that add a Reply-To: mailing list header, thereby ! leaving no way to reply to just the author of a message.") ! (defvar vm-in-reply-to-format "%i" "*String which specifies the format of the contents of the In-Reply-To --- 1986,1991 ---- mailing lists that add a Reply-To: mailing list header, thereby ! leaving no way to reply to just the author of a message." ! :type '(list regexp)) ! (defcustom vm-in-reply-to-format "%i" "*String which specifies the format of the contents of the In-Reply-To *************** *** 1851,1855 **** contain. The format should *not* end with a newline. ! Nil means don't put an In-Reply-To header in replies.") ! (defvar vm-included-text-attribution-format "%F writes:\n" "*String which specifies the format of the attribution that precedes the --- 1994,1999 ---- contain. The format should *not* end with a newline. ! Nil means don't put an In-Reply-To header in replies." ! :type '(choice (const nil) string)) ! (defcustom vm-included-text-attribution-format "%F writes:\n" "*String which specifies the format of the attribution that precedes the *************** *** 1857,1861 **** variable `vm-summary-format' for information on what this string may contain. ! Nil means don't attribute included text in replies.") ! (defvar vm-included-text-headers nil "*List of headers that should be retained in a message included in --- 2001,2006 ---- variable `vm-summary-format' for information on what this string may contain. ! Nil means don't attribute included text in replies." ! :type '(choice (const nil) string)) ! (defcustom vm-included-text-headers nil "*List of headers that should be retained in a message included in *************** *** 1878,1882 **** `vm-included-text-headers' list appearing last in the header ! section of the included text.") ! (defvar vm-included-text-discard-header-regexp nil "*Non-nil value should be a regular expression header that tells --- 2023,2028 ---- `vm-included-text-headers' list appearing last in the header ! section of the included text." ! :type '(list regexp)) ! (defcustom vm-included-text-discard-header-regexp nil "*Non-nil value should be a regular expression header that tells *************** *** 1895,1899 **** the `vm-included-text-headers' list appearing last in the header ! section of the included text.") ! (defvar vm-forwarding-subject-format "forwarded message from %F" "*String which specifies the format of the contents of the Subject --- 2041,2046 ---- the `vm-included-text-headers' list appearing last in the header ! section of the included text." ! :type 'regexp) ! (defcustom vm-forwarding-subject-format "forwarded message from %F" "*String which specifies the format of the contents of the Subject *************** *** 1902,1906 **** may contain. The format should *not* end with nor contain a newline. ! Nil means leave the Subject header empty when forwarding.") ! (defvar vm-forwarded-headers nil "*List of headers that should be forwarded by `vm-forward-message'. --- 2049,2054 ---- may contain. The format should *not* end with nor contain a newline. ! Nil means leave the Subject header empty when forwarding." ! :type 'string) ! (defcustom vm-forwarded-headers nil "*List of headers that should be forwarded by `vm-forward-message'. *************** *** 1923,1927 **** `vm-forwarded-headers' list appearing last in the header section of ! the forwarded message.") ! (defvar vm-unforwarded-header-regexp "only-drop-this-header" "*Non-nil value should be a regular expression header that tells --- 2071,2076 ---- `vm-forwarded-headers' list appearing last in the header section of ! the forwarded message." ! :type '(list regexp)) ! (defcustom vm-unforwarded-header-regexp "only-drop-this-header" "*Non-nil value should be a regular expression header that tells *************** *** 1940,1944 **** `vm-forwarded-headers' list appearing last in the header section of ! the forwarded message.") ! (defvar vm-forwarding-digest-type "mime" "*Non-nil value should be a string that specifies the type of --- 2089,2094 ---- `vm-forwarded-headers' list appearing last in the header section of ! the forwarded message." ! :type 'regexp) ! (defcustom vm-forwarding-digest-type "mime" "*Non-nil value should be a string that specifies the type of *************** *** 1953,1962 **** A nil value means don't use a digest, just mark the beginning and ! end of the forwarded message.") ! (defvar vm-burst-digest-messages-inherit-labels t "*Non-nil values means messages from a digest inherit the digest's labels. Labels are added to messages with `vm-add-message-labels', normally ! bound to `l a'.") ! (defvar vm-digest-preamble-format "\"%s\" (%F)" "*String which specifies the format of the preamble lines generated by --- 2103,2115 ---- A nil value means don't use a digest, just mark the beginning and ! end of the forwarded message." ! :type '(choice (const "rfc934") (const "rfc1153") (const "mime"))) ! ! (defcustom vm-burst-digest-messages-inherit-labels t "*Non-nil values means messages from a digest inherit the digest's labels. Labels are added to messages with `vm-add-message-labels', normally ! bound to `l a'." ! :type 'boolean) ! (defcustom vm-digest-preamble-format "\"%s\" (%F)" "*String which specifies the format of the preamble lines generated by *************** *** 1966,1975 **** on what this string may contain. The format should *not* end ! with nor contain a newline.") ! (defvar vm-digest-center-preamble t "*Non-nil value means VM will center the preamble lines that precede the start of a digest. How the lines will be centered depends on the ! ambient value of fill-column. A nil value suppresses centering.") ! (defvar vm-digest-identifier-header-format "X-Digest: %s\n" "*Header to insert into messages burst from a digest. --- 2119,2130 ---- on what this string may contain. The format should *not* end ! with nor contain a newline." ! :type 'string) ! (defcustom vm-digest-center-preamble t "*Non-nil value means VM will center the preamble lines that precede the start of a digest. How the lines will be centered depends on the ! ambient value of fill-column. A nil value suppresses centering." ! :type 'boolean) ! (defcustom vm-digest-identifier-header-format "X-Digest: %s\n" "*Header to insert into messages burst from a digest. *************** *** 1977,1981 **** that describes a header to be inserted into each message burst from a ! digest. The format string must end with a newline.") ! (defvar vm-digest-burst-type "guess" "*Value specifies the default digest type offered by `vm-burst-digest' --- 2132,2137 ---- that describes a header to be inserted into each message burst from a ! digest. The format string must end with a newline." ! :type 'string) ! (defcustom vm-digest-burst-type "guess" "*Value specifies the default digest type offered by `vm-burst-digest' *************** *** 2003,2007 **** response when `vm-burst-digest' queries you, VM will try to guess ! the digest type.") ! (defvar vm-digest-send-type "mime" "*String that specifies the type of digest `vm-send-digest' will use. --- 2159,2165 ---- response when `vm-burst-digest' queries you, VM will try to guess ! the digest type." ! :type '(choice (const "rfc934") (const "rfc1153") (const "mime") ! (const "guess"))) ! (defcustom vm-digest-send-type "mime" "*String that specifies the type of digest `vm-send-digest' will use. *************** *** 2013,2017 **** ! ") ! (defvar vm-rfc934-digest-headers '("Resent-" --- 2171,2176 ---- ! " ! :type '(choice (const "rfc934") (const "rfc1153") (const "mime"))) ! (defcustom vm-rfc934-digest-headers '("Resent-" *************** *** 2041,2045 **** `vm-rfc934-digest-headers' list appearing last in the headers ! of the digestified messages.") ! (defvar vm-rfc934-digest-discard-header-regexp nil "*Non-nil value should be a regular expression header that tells --- 2200,2205 ---- `vm-rfc934-digest-headers' list appearing last in the headers ! of the digestified messages." ! :type '(list regexp)) ! (defcustom vm-rfc934-digest-discard-header-regexp nil "*Non-nil value should be a regular expression header that tells *************** *** 2058,2062 **** `vm-rfc934-digest-headers' list appearing last in the headers ! of the digestified messages.") ! (defvar vm-rfc1153-digest-headers '("Resent-" --- 2218,2223 ---- `vm-rfc934-digest-headers' list appearing last in the headers ! of the digestified messages." ! :type 'regexp) ! (defcustom vm-rfc1153-digest-headers '("Resent-" *************** *** 2086,2090 **** `vm-rfc1153-digest-headers' list appearing last in the headers of ! the digestified messages.") ! (defvar vm-rfc1153-digest-discard-header-regexp "\\(X400-\\)?Received:" "*Non-nil value should be a regular expression header that tells --- 2247,2252 ---- `vm-rfc1153-digest-headers' list appearing last in the headers of ! the digestified messages." ! :type '(list regexp)) ! (defcustom vm-rfc1153-digest-discard-header-regexp "\\(X400-\\)?Received:" "*Non-nil value should be a regular expression header that tells *************** *** 2103,2107 **** `vm-rfc1153-digest-headers' list appearing last in the headers of ! the digestified messages.") ! (defvar vm-mime-digest-headers '("Resent-" --- 2265,2270 ---- `vm-rfc1153-digest-headers' list appearing last in the headers of ! the digestified messages." ! :type 'regexp) ! (defcustom vm-mime-digest-headers '("Resent-" *************** *** 2133,2137 **** `vm-mime-digest-headers' list appearing last in the headers ! of the digestified messages.") ! (defvar vm-mime-digest-discard-header-regexp nil "*Non-nil value should be a regular expression header that tells --- 2296,2301 ---- `vm-mime-digest-headers' list appearing last in the headers ! of the digestified messages." ! :type '(list regexp)) ! (defcustom vm-mime-digest-discard-header-regexp nil "*Non-nil value should be a regular expression header that tells *************** *** 2150,2154 **** `vm-mime-digest-headers' list appearing last in the headers ! of the digestified messages.") ! (defvar vm-resend-bounced-headers '("MIME-Version:" "Content-" --- 2314,2319 ---- `vm-mime-digest-headers' list appearing last in the headers ! of the digestified messages." ! :type 'regexp) ! (defcustom vm-resend-bounced-headers '("MIME-Version:" "Content-" *************** *** 2179,2183 **** `vm-resend-bounced-headers' list appearing last in the headers of ! the message.") ! (defvar vm-resend-bounced-discard-header-regexp nil "*Non-nil value should be a regular expression that tells --- 2344,2349 ---- `vm-resend-bounced-headers' list appearing last in the headers of ! the message." ! :type '(list regexp)) ! (defcustom vm-resend-bounced-discard-header-regexp nil "*Non-nil value should be a regular expression that tells *************** *** 2196,2200 **** `vm-resend-bounced-headers' list appearing last in the headers of ! the message.") ! (defvar vm-resend-headers nil "*List of headers that should be appear in messages resent with --- 2362,2367 ---- `vm-resend-bounced-headers' list appearing last in the headers of ! the message." ! :type 'regexp) ! (defcustom vm-resend-headers nil "*List of headers that should be appear in messages resent with *************** *** 2217,2221 **** `vm-resend-headers' list appearing last in the headers of ! the message.") ! (defvar vm-resend-discard-header-regexp "\\(\\(X400-\\)?Received:\\|Resent-\\)" "*Non-nil value should be a regular expression that tells --- 2384,2389 ---- `vm-resend-headers' list appearing last in the headers of ! the message." ! :type '(list regexp)) ! (defcustom vm-resend-discard-header-regexp "\\(\\(X400-\\)?Received:\\|Resent-\\)" "*Non-nil value should be a regular expression that tells *************** *** 2234,2238 **** `vm-resend-headers' list appearing last in the headers of ! the message.") ! (defvar vm-summary-format "%n %*%a %-17.17F %-3.3m %2d %4l/%-5c %I\"%s\"\n" "*String which specifies the message summary line format. --- 2402,2407 ---- `vm-resend-headers' list appearing last in the headers of ! the message." ! :type 'regexp) ! (defcustom vm-summary-format "%n %*%a %-17.17F %-3.3m %2d %4l/%-5c %I\"%s\"\n" "*String which specifies the message summary line format. *************** *** 2305,2309 **** a newline, otherwise the message pointer will not be displayed correctly ! in the summary window.") ! (defvar vm-summary-arrow "->" "*String that is displayed to the left of the summary of the --- 2474,2479 ---- a newline, otherwise the message pointer will not be displayed correctly ! in the summary window." ! :type 'string) ! (defcustom vm-summary-arrow "->" "*String that is displayed to the left of the summary of the *************** *** 2311,2323 **** effect when the summary buffer is created. Changing this ! variable's value has no effect on existing summary buffers.") ! (defvar vm-summary-highlight-face 'bold "*Face to use to highlight the summary entry for the current message. ! Nil means don't highlight the current message's summary entry.") ! (defvar vm-mouse-track-summary t "*Non-nil value means highlight summary lines as the mouse passes ! over them.") ! (defvar vm-summary-show-threads nil "*Non-nil value means VM should display and maintain --- 2481,2496 ---- effect when the summary buffer is created. Changing this ! variable's value has no effect on existing summary buffers." ! :type 'string) ! (defcustom vm-summary-highlight-face 'bold "*Face to use to highlight the summary entry for the current message. ! Nil means don't highlight the current message's summary entry." ! :type 'symbol) ! (defcustom vm-mouse-track-summary t "*Non-nil value means highlight summary lines as the mouse passes ! over them." ! :type 'boolean) ! (defcustom vm-summary-show-threads nil "*Non-nil value means VM should display and maintain *************** *** 2338,2343 **** set this variable directly, rather you should use the command ! `vm-toggle-threads-display', normally bound to C-t.") (make-variable-buffer-local 'vm-summary-show-threads) ! (defvar vm-summary-thread-indent-level 2 "*Value should be a number that specifies how much --- 2511,2517 ---- set this variable directly, rather you should use the command ! `vm-toggle-threads-display', normally bound to C-t." ! :type 'boolean) (make-variable-buffer-local 'vm-summary-show-threads) ! (defcustom vm-summary-thread-indent-level 2 "*Value should be a number that specifies how much *************** *** 2352,2356 **** of `vm-summary-thread-indent-level'. A reply to that reply will be ! indented twice the value of `vm-summary-thread-indent-level'.") ! (defvar vm-thread-using-subject t "*Non-nil value causes VM to use the Subject header to thread messages. --- 2526,2531 ---- of `vm-summary-thread-indent-level'. A reply to that reply will be ! indented twice the value of `vm-summary-thread-indent-level'." ! :type 'integer) ! (defcustom vm-thread-using-subject t "*Non-nil value causes VM to use the Subject header to thread messages. *************** *** 2359,2363 **** A nil value means VM will disregard the Subject header when ! threading messages.") ! (defvar vm-summary-uninteresting-senders nil "*Non-nil value should be a regular expression that matches --- 2534,2539 ---- A nil value means VM will disregard the Subject header when ! threading messages." ! :type 'boolean) ! (defcustom vm-summary-uninteresting-senders nil "*Non-nil value should be a regular expression that matches *************** *** 2368,2376 **** \") followed by what would be shown by the %T and %t specifiers ! respectively.") ! (defvar vm-summary-uninteresting-senders-arrow "To: " "*String to display before the string that is displayed instead of an ! \"uninteresting\" sender. See `vm-summary-uninteresting-senders'.") ! (defvar vm-auto-center-summary 0 "*Value controls whether VM will keep the summary arrow vertically --- 2544,2554 ---- \") followed by what would be shown by the %T and %t specifiers ! respectively." ! :type '(choice (const nil) regexp)) ! (defcustom vm-summary-uninteresting-senders-arrow "To: " "*String to display before the string that is displayed instead of an ! \"uninteresting\" sender. See `vm-summary-uninteresting-senders'." ! :type 'string) ! (defcustom vm-auto-center-summary 0 "*Value controls whether VM will keep the summary arrow vertically *************** *** 2379,2383 **** the arrow. A value that is not nil and not t causes VM to center the ! arrow only if the summary window is not the only existing window.") ! (defvar vm-subject-ignored-prefix "^\\(re: *\\)+" "*Non-nil value should be a regular expression that matches --- 2557,2562 ---- the arrow. A value that is not nil and not t causes VM to center the ! arrow only if the summary window is not the only existing window." ! :type '(choice (const nil) (const t) (const yes-if-not-only-window))) ! (defcustom vm-subject-ignored-prefix "^\\(re: *\\)+" "*Non-nil value should be a regular expression that matches *************** *** 2386,2390 **** ! Matches are done case-insensitively.") ! (defvar vm-subject-ignored-suffix "\\( (fwd)\\| \\)+$" "*Non-nil value should be a regular expression that matches --- 2565,2570 ---- ! Matches are done case-insensitively." ! :type 'regexp) ! (defcustom vm-subject-ignored-suffix "\\( (fwd)\\| \\)+$" "*Non-nil value should be a regular expression that matches *************** *** 2393,2397 **** ! Matches are done case-insensitively.") ! (defvar vm-subject-significant-chars nil "*Number of characters in the normalized message subject considered --- 2573,2578 ---- ! Matches are done case-insensitively." ! :type 'regexp) ! (defcustom vm-subject-significant-chars nil "*Number of characters in the normalized message subject considered *************** *** 2406,2414 **** A nil value for this variable means all characters in the message ! subject are significant.") ! (defvar vm-folders-summary-database "~/.vm.folders.db" "*Name of Berkeley DB file used to store summary information about folders. ! This file is consulted to produce the folders summary.") ! (defvar vm-folders-summary-format " %12f %4t total, %n new, %u unread, %s spooled\n" --- 2587,2597 ---- A nil value for this variable means all characters in the message ! subject are significant." ! :type '(choice (const nil) integer)) ! (defcustom vm-folders-summary-database "~/.vm.folders.db" "*Name of Berkeley DB file used to store summary information about folders. ! This file is consulted to produce the folders summary." ! :type 'file) ! (defcustom vm-folders-summary-format " %12f %4t total, %n new, %u unread, %s spooled\n" *************** *** 2445,2454 **** The summary format need not be one line per folder, but it should end with ! a newline.") ! (defvar vm-folders-summary-directories (list (or vm-folder-directory (file-name-directory vm-primary-inbox))) "*List of directories containing folders to be listed in the folders summary. ! List the directories in the order you wish them to appear in the summary.") ! (defvar vm-mutable-windows pop-up-windows "*This variable's value controls VM's window usage. --- 2628,2639 ---- The summary format need not be one line per folder, but it should end with ! a newline." ! :type 'string) ! (defcustom vm-folders-summary-directories (list (or vm-folder-directory (file-name-directory vm-primary-inbox))) "*List of directories containing folders to be listed in the folders summary. ! List the directories in the order you wish them to appear in the summary." ! :type '(list directory)) ! (defcustom vm-mutable-windows pop-up-windows "*This variable's value controls VM's window usage. *************** *** 2460,2464 **** it was invoked. VM will not create, delete, or use any other windows, ! nor will it resize its own window.") ! (defvar vm-mutable-frames t "*Non-nil value means VM is allowed to create and destroy frames --- 2645,2650 ---- it was invoked. VM will not create, delete, or use any other windows, ! nor will it resize its own window." ! :type 'boolean) ! (defcustom vm-mutable-frames t "*Non-nil value means VM is allowed to create and destroy frames *************** *** 2472,2481 **** - This variable used to have a different meaning but it was changed - to better reflect what users expected. This variable is now a - frame analogue of `vm-mutable-windows'. - This variable does not apply to the VM commands whose ! names end in -other-frame, which always create a new frame.") ! (defvar vm-raise-frame-at-startup t "*Specifies whether VM should raise its frame at startup. --- 2658,2664 ---- This variable does not apply to the VM commands whose ! names end in -other-frame, which always create a new frame." ! :type 'boolean) ! (defcustom vm-raise-frame-at-startup t "*Specifies whether VM should raise its frame at startup. *************** *** 2483,2487 **** A value of t means always raise the frame. ! Other values are reserved for future use.") ! (defvar vm-frame-per-folder t "*Non-nil value causes the folder visiting commands to visit in a new frame. --- 2666,2671 ---- A value of t means always raise the frame. ! Other values are reserved for future use." ! :type 'boolean) ! (defcustom vm-frame-per-folder t "*Non-nil value causes the folder visiting commands to visit in a new frame. *************** *** 2494,2498 **** Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them.") ! (defvar vm-frame-per-summary nil "*Non-nil value causes VM to display the folder summary in its own frame. --- 2678,2683 ---- Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them." ! :type 'boolean) ! (defcustom vm-frame-per-summary nil "*Non-nil value causes VM to display the folder summary in its own frame. *************** *** 2505,2509 **** Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them.") ! (defvar vm-frame-per-folders-summary nil "*Non-nil value causes VM to display the 'all folders' summary in its own frame. --- 2690,2695 ---- Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them." ! :type 'boolean) ! (defcustom vm-frame-per-folders-summary nil "*Non-nil value causes VM to display the 'all folders' summary in its own frame. *************** *** 2514,2518 **** Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them.") ! (defvar vm-frame-per-composition t "*Non-nil value causes the mail composition commands to open a new frame. --- 2700,2705 ---- Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them." ! :type 'boolean) ! (defcustom vm-frame-per-composition t "*Non-nil value causes the mail composition commands to open a new frame. *************** *** 2525,2529 **** Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them.") ! (defvar vm-frame-per-edit t "*Non-nil value causes `vm-edit-message' to open a new frame. --- 2712,2717 ---- Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them." ! :type 'boolean) ! (defcustom vm-frame-per-edit t "*Non-nil value causes `vm-edit-message' to open a new frame. *************** *** 2536,2540 **** Emacs support multiple virtual frames on dumb terminals, and ! VM will use them.") ! (defvar vm-frame-per-help nil "*Non-nil value causes VM to open a new frame to display help buffers. --- 2724,2729 ---- Emacs support multiple virtual frames on dumb terminals, and ! VM will use them." ! :type 'boolean) ! (defcustom vm-frame-per-help nil "*Non-nil value causes VM to open a new frame to display help buffers. *************** *** 2545,2549 **** Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them.") ! (defvar vm-frame-per-completion t "*Non-nil value causes VM to open a new frame on mouse --- 2734,2739 ---- Emacs supports multiple virtual frames on dumb terminals, and ! VM will use them." ! :type 'boolean) ! (defcustom vm-frame-per-completion t "*Non-nil value causes VM to open a new frame on mouse *************** *** 2564,2568 **** real Emacs frames. Note that Emacs supports virtual frames under ! ttys but VM will not use these to display completion information.") ! (defvar vm-frame-parameter-alist nil "*Non-nil value is an alist of types and lists of frame parameters. --- 2754,2759 ---- real Emacs frames. Note that Emacs supports virtual frames under ! ttys but VM will not use these to display completion information." ! :type 'boolean) ! (defcustom vm-frame-parameter-alist nil "*Non-nil value is an alist of types and lists of frame parameters. *************** *** 2595,2604 **** PARAMLIST is a list of pairs as described in the documentation for ! the function `make-frame'.") ! (defvar vm-search-other-frames t "*Non-nil means VM should search frames other than the selected frame when looking for a window that is already displaying a buffer that ! VM wants to display or undisplay.") ! (defvar vm-image-directory (if (fboundp 'locate-data-directory) --- 2786,2797 ---- PARAMLIST is a list of pairs as described in the documentation for ! the function `make-frame'." ! :type 'sexp) ! (defcustom vm-search-other-frames t "*Non-nil means VM should search frames other than the selected frame when looking for a window that is already displaying a buffer that ! VM wants to display or undisplay." ! :type 'boolean) ! (defcustom vm-image-directory (if (fboundp 'locate-data-directory) *************** *** 2606,2610 **** (expand-file-name (concat data-directory "vm/"))) ! "*Value specifies the directory where VM should find its artwork.") ! (defvar vm-use-toolbar '(next previous delete/undelete autofile file --- 2799,2804 ---- (expand-file-name (concat data-directory "vm/"))) ! "*Value specifies the directory where VM should find its artwork." ! :type 'directory) ! (defcustom vm-use-toolbar '(next previous delete/undelete autofile file *************** *** 2642,2646 **** ! See also `vm-toolbar-orientation' to control where the toolbar is placed.") ! (defvar vm-toolbar-orientation 'left "*Value is a symbol that specifies where the VM toolbar is located. --- 2836,2854 ---- ! See also `vm-toolbar-orientation' to control where the toolbar is placed." ! :type '(list (choice autofile) ! (choice compose) ! (choice delete/undelete) ! (choice file) ! (choice getmail) ! (choice help) ! (choice mime) ! (choice next) ! (choice previous) ! (choice print) ! (choice quit) ! (choice reply) ! (choice visit) ! (choice nil))) ! (defcustom vm-toolbar-orientation 'left "*Value is a symbol that specifies where the VM toolbar is located. *************** *** 2650,2657 **** This variable only has meaning under XEmacs 19.12 and beyond. ! Under FSF Emacs 21 the toolbar is always at the top of the frame.") ! ! (defvar vm-toolbar-pixmap-directory vm-image-directory ! "*Value specifies the directory VM should find its toolbar pixmaps.") ! (defvar vm-toolbar nil "*Non-nil value should be a list of toolbar button descriptors. --- 2858,2870 ---- This variable only has meaning under XEmacs 19.12 and beyond. ! Under FSF Emacs 21 the toolbar is always at the top of the frame." ! :type '(list (choice left) ! (choice right) ! (choice top) ! (choice bottom))) ! ! (defcustom vm-toolbar-pixmap-directory vm-image-directory ! "*Value specifies the directory VM should find its toolbar pixmaps." ! :type 'directory) ! (defcustom vm-toolbar nil "*Non-nil value should be a list of toolbar button descriptors. *************** *** 2665,2669 **** ! Consider this variable experimental; it may not be supported forever.") ! (defvar vm-use-menus (nconc (list 'folder 'motion 'send 'mark 'label 'sort 'virtual) --- 2878,2883 ---- ! Consider this variable experimental; it may not be supported forever." ! :type 'sexp) ! (defcustom vm-use-menus (nconc (list 'folder 'motion 'send 'mark 'label 'sort 'virtual) *************** *** 2705,2713 **** are provided, which usually means Emacs has to be running under a ! window system.") ! (defvar vm-popup-menu-on-mouse-3 t "*Non-nil value means VM should provide context-sensitive menus on mouse-3. ! A nil value means VM should not change the binding of mouse-3.") ! (defvar vm-warp-mouse-to-new-frame nil "*Non-nil value causes VM to move the mouse cursor into newly created frames. --- 2919,2940 ---- are provided, which usually means Emacs has to be running under a ! window system." ! :type (list (choice dispose) ! (choice emacs) ! (choice folder) ! (choice help) ! (choice label) ! (choice mark) ! (choice motion) ! (choice send) ! (choice sort) ! (choice undo) ! (choice virtual) ! (choice nil))) ! (defcustom vm-popup-menu-on-mouse-3 t "*Non-nil value means VM should provide context-sensitive menus on mouse-3. ! A nil value means VM should not change the binding of mouse-3." ! :type 'boolean) ! (defcustom vm-warp-mouse-to-new-frame nil "*Non-nil value causes VM to move the mouse cursor into newly created frames. *************** *** 2716,2720 **** ! Nil means don't move the mouse cursor.") ! (defvar vm-url-retrieval-methods '(lynx wget w3m url-w3) "*Non-nil value specifies how VM is permitted to retrieve URLs. --- 2943,2948 ---- ! Nil means don't move the mouse cursor." ! :type 'boolean) ! (defcustom vm-url-retrieval-methods '(lynx wget w3m url-w3) "*Non-nil value specifies how VM is permitted to retrieve URLs. *************** *** 2736,2740 **** If `vm-url-retrieval-methods' value is nil, VM will not try to ! use any URL retrieval methods.") ! (defvar vm-url-browser (cond ((fboundp 'w3-fetch-other-frame) --- 2964,2969 ---- If `vm-url-retrieval-methods' value is nil, VM will not try to ! use any URL retrieval methods." ! :type '(list symbol)) ! (defcustom vm-url-browser (cond ((fboundp 'w3-fetch-other-frame) *************** *** 2779,2787 **** ! A nil value means VM should not enable URL passing to browsers.") ! (defvar vm-highlight-url-face 'bold-italic "*Non-nil value should be a face to use display URLs found in messages. ! Nil means don't highlight URLs.") ! (defvar vm-url-search-limit 12000 "*Non-nil numeric value tells VM how hard to search for URLs. --- 3008,3018 ---- ! A nil value means VM should not enable URL passing to browsers." ! :type 'function) ! (defcustom vm-highlight-url-face 'bold-italic "*Non-nil value should be a face to use display URLs found in messages. ! Nil means don't highlight URLs." ! :type 'symbol) ! (defcustom vm-url-search-limit 12000 "*Non-nil numeric value tells VM how hard to search for URLs. *************** *** 2792,2800 **** search from a point `vm-url-search-limit' / 2 characters from the ! end of the message to the end of message.") ! (defvar vm-display-xfaces nil "*Non-nil means display images as specified in X-Face headers. ! This requires at least XEmacs 19.12 with native xface support compiled in.") ! (defvar vm-startup-with-summary t "*Value tells VM whether to generate a summary when a folder is visited. --- 3023,3033 ---- search from a point `vm-url-search-limit' / 2 characters from the ! end of the message to the end of message." ! :type '(choice (const nil) integer)) ! (defcustom vm-display-xfaces nil "*Non-nil means display images as specified in X-Face headers. ! This requires at least XEmacs 19.12 with native xface support compiled in." ! :type 'boolean) ! (defcustom vm-startup-with-summary t "*Value tells VM whether to generate a summary when a folder is visited. *************** *** 2808,2817 **** A negative numeric value -N means only generate a summary if ! there are N or less messages.") ! (defvar vm-follow-summary-cursor t "*Non-nil value causes VM to select the message under the cursor in the summary window before executing commands that operate on the current message. ! This occurs only when the summary buffer window is the selected window.") ! (defvar vm-jump-to-new-messages t "*Non-nil value causes VM to jump to the first new message --- 3041,3052 ---- A negative numeric value -N means only generate a summary if ! there are N or less messages." ! (choice (const t) (const nil) integer)) ! (defcustom vm-follow-summary-cursor t "*Non-nil value causes VM to select the message under the cursor in the summary window before executing commands that operate on the current message. ! This occurs only when the summary buffer window is the selected window." ! :type 'boolean) ! (defcustom vm-jump-to-new-messages t "*Non-nil value causes VM to jump to the first new message *************** *** 2820,2824 **** ! See also `vm-jump-to-unread-messages'.") ! (defvar vm-jump-to-unread-messages t "*Non-nil value causes VM to jump to the first unread message --- 3055,3060 ---- ! See also `vm-jump-to-unread-messages'." ! :type 'boolean) ! (defcustom vm-jump-to-unread-messages t "*Non-nil value causes VM to jump to the first unread message *************** *** 2832,2836 **** unread message appears before it in the folder, provided ! `vm-jump-to-new-messages' is non-nil.") ! (defvar vm-skip-deleted-messages t "*Non-nil value causes VM's `n' and 'p' commands to skip over --- 3068,3073 ---- unread message appears before it in the folder, provided ! `vm-jump-to-new-messages' is non-nil." ! :type 'boolean) ! (defcustom vm-skip-deleted-messages t "*Non-nil value causes VM's `n' and 'p' commands to skip over *************** *** 2839,2843 **** if there are other messages that are not flagged for deletion in the desired ! direction of motion.") ! (defvar vm-skip-read-messages nil "*Non-nil value causes VM's `n' and `p' commands to skip over --- 3076,3081 ---- if there are other messages that are not flagged for deletion in the desired ! direction of motion." ! :type '(choice (const nil) (const t) (const skip-if-some-undeleted))) ! (defcustom vm-skip-read-messages nil "*Non-nil value causes VM's `n' and `p' commands to skip over *************** *** 2846,2850 **** not nil and not t causes read messages to be skipped only if there are ! unread messages in the desired direction of motion.") ! (defvar vm-move-after-deleting nil "*Non-nil value causes VM's `d' command to automatically invoke --- 3084,3089 ---- not nil and not t causes read messages to be skipped only if there are ! unread messages in the desired direction of motion." ! :type '(choice (const nil) (const t) (const skip-if-some-undeleted))) ! (defcustom vm-move-after-deleting nil "*Non-nil value causes VM's `d' command to automatically invoke *************** *** 2854,2858 **** and not nil means that motion should be done as if ! `vm-circular-folders' is set to nil.") ! (defvar vm-move-after-undeleting nil "*Non-nil value causes VM's `u' command to automatically invoke --- 3093,3098 ---- and not nil means that motion should be done as if ! `vm-circular-folders' is set to nil." ! :type '(choice (const nil) (const t) (const skip-if-some-undeleted))) ! (defcustom vm-move-after-undeleting nil "*Non-nil value causes VM's `u' command to automatically invoke *************** *** 2862,2866 **** and not nil means that motion should be done as if ! `vm-circular-folders' is set to nil.") ! (defvar vm-move-after-killing nil "*Non-nil value causes VM's `k' command to automatically invoke --- 3102,3107 ---- and not nil means that motion should be done as if ! `vm-circular-folders' is set to nil." ! :type '(choice (const nil) (const t) (const skip-if-some-undeleted))) ! (defcustom vm-move-after-killing nil "*Non-nil value causes VM's `k' command to automatically invoke *************** *** 2870,2887 **** not t and not nil means that motion should be done as if ! `vm-circular-folders' is set to nil.") ! (defvar vm-delete-after-saving nil "*Non-nil value causes VM automatically to mark messages for deletion ! after successfully saving them to a folder.") ! (defvar vm-delete-after-archiving nil "*Non-nil value causes VM automatically to mark messages for deletion after successfully auto-archiving them with the `vm-auto-archive-messages' ! command.") ! (defvar vm-delete-after-bursting nil "*Non-nil value causes VM automatically to mark a message for deletion ! after it has been successfully burst by the `vm-burst-digest' command.") ! (defvar vm-circular-folders nil "*Value determines whether VM folders will be considered circular by --- 3111,3132 ---- not t and not nil means that motion should be done as if ! `vm-circular-folders' is set to nil." ! :type '(choice (const nil) (const t) (const 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." ! :type 'boolean) ! (defcustom vm-delete-after-archiving nil "*Non-nil value causes VM automatically to mark messages for deletion after successfully auto-archiving them with the `vm-auto-archive-messages' ! command." ! :type 'boolean) ! (defcustom vm-delete-after-bursting nil "*Non-nil value causes VM automatically to mark a message for deletion ! after it has been successfully burst by the `vm-burst-digest' command." ! :type 'boolean) ! (defcustom vm-circular-folders nil "*Value determines whether VM folders will be considered circular by *************** *** 2903,2911 **** consider folders circular. Saves, deletes and undelete commands will ! behave the same as if the value is nil.") ! (defvar vm-search-using-regexps nil "*Non-nil value causes VM's search command to interpret user input as a ! regular expression instead of as a literal string.") ! (defvar vm-move-messages-physically nil "*Non-nil value causes VM's commands that change the message order --- 3148,3158 ---- consider folders circular. Saves, deletes and undelete commands will ! behave the same as if the value is nil." ! :type '(choice (const nil) (const t) (const for-movement-only))) ! (defcustom vm-search-using-regexps nil "*Non-nil value causes VM's search command to interpret user input as a ! regular expression instead of as a literal string." ! :type 'boolean) ! (defcustom vm-move-messages-physically nil "*Non-nil value causes VM's commands that change the message order *************** *** 2914,2931 **** change the order in which VM displays messages and leave the ! folder itself undisturbed.") ! (defvar vm-edit-message-mode 'text-mode ! "*Major mode to use when editing messages in VM.") (defvar lpr-command) ! (defvar vm-print-command (if (boundp 'lpr-command) lpr-command "lpr") ! "*Command VM uses to print messages.") (defvar lpr-switches) ! (defvar vm-print-command-switches (if (boundp 'lpr-switches) lpr-switches nil) "*List of command line flags passed to the command named by `vm-print-command'. VM uses `vm-print-command' to print ! messages.") ! (defvar vm-berkeley-mail-compatibility (memq system-type '(berkeley-unix netbsd)) --- 3161,3182 ---- change the order in which VM displays messages and leave the ! folder itself undisturbed." ! :type 'boolean) ! (defcustom vm-edit-message-mode 'text-mode ! "*Major mode to use when editing messages in VM." ! :type 'function) (defvar lpr-command) ! (defcustom vm-print-command (if (boundp 'lpr-command) lpr-command "lpr") ! "*Command VM uses to print messages." ! :type '(choice string (const nil))) (defvar lpr-switches) ! (defcustom vm-print-command-switches (if (boundp 'lpr-switches) lpr-switches nil) "*List of command line flags passed to the command named by `vm-print-command'. VM uses `vm-print-command' to print ! messages." ! :type '(list string)) ! (defcustom vm-berkeley-mail-compatibility (memq system-type '(berkeley-unix netbsd)) *************** *** 2933,2937 **** This makes sense if you plan to use VM to read mail archives created by ! Mail.") ! (defvar vm-strip-reply-headers nil "*Non-nil value causes VM to strip away all comments and extraneous text --- 3184,3189 ---- This makes sense if you plan to use VM to read mail archives created by ! Mail." ! :type 'boolean) ! (defcustom vm-strip-reply-headers nil "*Non-nil value causes VM to strip away all comments and extraneous text *************** *** 2940,2944 **** to t, because as of Emacs v18.52 \"fakemail\" could not handle unstripped ! headers.") ! (defvar vm-select-new-message-hook nil "*List of hook functions called every time a message with the 'new' --- 3192,3197 ---- to t, because as of Emacs v18.52 \"fakemail\" could not handle unstripped ! headers." ! :type 'boolean) ! (defcustom vm-select-new-message-hook nil "*List of hook functions called every time a message with the 'new' *************** *** 2947,2951 **** start and end of the message will be bracketed by (point-min) and ! (point-max).") ! (defvar vm-select-unread-message-hook nil "*List of hook functions called every time a message with the 'unread' --- 3200,3205 ---- start and end of the message will be bracketed by (point-min) and ! (point-max)." ! :type '(list function)) ! (defcustom vm-select-unread-message-hook nil "*List of hook functions called every time a message with the 'unread' *************** *** 2954,2958 **** start and end of the message will be bracketed by (point-min) and ! (point-max).") ! (defvar vm-select-message-hook nil "*List of hook functions called every time a message --- 3208,3213 ---- start and end of the message will be bracketed by (point-min) and ! (point-max)." ! :type '(list function)) ! (defcustom vm-select-message-hook nil "*List of hook functions called every time a message *************** *** 2961,2965 **** start and end of the message will be bracketed by (point-min) and ! (point-max).") ! (defvar vm-arrived-message-hook nil "*List of hook functions called once for each message gathered from --- 3216,3221 ---- start and end of the message will be bracketed by (point-min) and ! (point-max)." ! :type '(list function)) ! (defcustom vm-arrived-message-hook nil "*List of hook functions called once for each message gathered from *************** *** 2969,2978 **** the message and the start and end of the message will be ! bracketed by (point-min) and (point-max).") ! (defvar vm-spooled-mail-waiting-hook nil "*List of functions called when VM first notices mail is spooled for a folder. The folder buffer will be current when the hooks are ! run.") ! (defvar vm-arrived-messages-hook nil "*List of hook functions called after VM has gathered a group of --- 3225,3236 ---- the message and the start and end of the message will be ! bracketed by (point-min) and (point-max)." ! :type '(list function)) ! (defcustom vm-spooled-mail-waiting-hook nil "*List of functions called when VM first notices mail is spooled for a folder. The folder buffer will be current when the hooks are ! run." ! :type '(list function)) ! (defcustom vm-arrived-messages-hook nil "*List of hook functions called after VM has gathered a group of *************** *** 2983,2987 **** Also, the current buffer will be the folder containing ! the messages.") ! (defvar vm-reply-hook nil "*List of hook functions to be run after a Mail mode --- 3241,3246 ---- Also, the current buffer will be the folder containing ! the messages." ! :type '(list function)) ! (defcustom vm-reply-hook nil "*List of hook functions to be run after a Mail mode *************** *** 2989,2993 **** hook and then runs `vm-mail-mode-hook' before leaving the user in ! the Mail mode buffer.") ! (defvar vm-forward-message-hook nil "*List of hook functions to be run after a Mail mode --- 3248,3253 ---- hook and then runs `vm-mail-mode-hook' before leaving the user in ! the Mail mode buffer." ! :type '(list function)) ! (defcustom vm-forward-message-hook nil "*List of hook functions to be run after a Mail mode *************** *** 2995,2999 **** runs this hook and then runs `vm-mail-mode-hook' before leaving the ! user in the Mail mode buffer.") ! (defvar vm-resend-bounced-message-hook nil "*List of hook functions to be run after a Mail mode --- 3255,3260 ---- runs this hook and then runs `vm-mail-mode-hook' before leaving the ! user in the Mail mode buffer." ! :type '(list function)) ! (defcustom vm-resend-bounced-message-hook nil "*List of hook functions to be run after a Mail mode *************** *** 3001,3005 **** VM runs this hook and then runs `vm-mail-mode-hook' before leaving ! the user in the Mail mode buffer.") ! (defvar vm-resend-message-hook nil "*List of hook functions to be run after a Mail mode --- 3262,3267 ---- VM runs this hook and then runs `vm-mail-mode-hook' before leaving ! the user in the Mail mode buffer." ! :type '(list function)) ! (defcustom vm-resend-message-hook nil "*List of hook functions to be run after a Mail mode *************** *** 3007,3011 **** VM runs this hook and then runs `vm-mail-mode-hook' before leaving ! the user in the Mail mode buffer.") ! (defvar vm-send-digest-hook nil "*List of hook functions to be run after a Mail mode --- 3269,3274 ---- VM runs this hook and then runs `vm-mail-mode-hook' before leaving ! the user in the Mail mode buffer." ! :type '(list function)) ! (defcustom vm-send-digest-hook nil "*List of hook functions to be run after a Mail mode *************** *** 3013,3017 **** VM runs this hook and then runs `vm-mail-mode-hook' before leaving ! the user in the Mail mode buffer.") ! (defvar vm-mail-hook nil "*List of hook functions to be run after a Mail mode --- 3276,3281 ---- VM runs this hook and then runs `vm-mail-mode-hook' before leaving ! the user in the Mail mode buffer." ! :type '(list function)) ! (defcustom vm-mail-hook nil "*List of hook functions to be run after a Mail mode *************** *** 3020,3032 **** etc. VM runs this hook and then runs `vm-mail-mode-hook' before ! leaving the user in the Mail mode buffer.") ! (defvar vm-summary-update-hook nil "*List of hook functions called just after VM updates an existing ! entry a folder summary.") ! (defvar vm-summary-redo-hook nil "*List of hook functions called just after VM adds or deletes ! entries from a folder summary.") ! (defvar vm-visit-folder-hook nil "*List of hook functions called just after VM visits a folder. --- 3284,3299 ---- etc. VM runs this hook and then runs `vm-mail-mode-hook' before ! leaving the user in the Mail mode buffer." ! :type '(list function)) ! (defcustom vm-summary-update-hook nil "*List of hook functions called just after VM updates an existing ! entry a folder summary." ! :type '(list function)) ! (defcustom vm-summary-redo-hook nil "*List of hook functions called just after VM adds or deletes ! entries from a folder summary." ! :type '(list function)) ! (defcustom vm-visit-folder-hook nil "*List of hook functions called just after VM visits a folder. *************** *** 3034,3038 **** is run each time `vm' or `vm-visit-folder' is called interactively. ! It is NOT run after `vm-mode' is called.") ! (defvar vm-retrieved-spooled-mail-hook nil "*List of hook functions called just after VM has retrieved --- 3301,3306 ---- is run each time `vm' or `vm-visit-folder' is called interactively. ! It is NOT run after `vm-mode' is called." ! :type '(list function)) ! (defcustom vm-retrieved-spooled-mail-hook nil "*List of hook functions called just after VM has retrieved *************** *** 3042,3083 **** current buffer will be the folder where the messages were ! incorporated.") ! (defvar vm-edit-message-hook nil "*List of hook functions to be run just before a message is edited. This is the last thing `vm-edit-message' does before leaving the user ! in the edit buffer.") ! (defvar vm-mail-mode-hook nil "*List of hook functions to be run after a Mail mode composition buffer has been created. This is the last thing VM ! does before leaving the user in the Mail mode buffer.") ! (defvar vm-mode-hook nil "*List of hook functions to run when a buffer enters `vm-mode'. These hook functions should generally be used to set key bindings ! and local variables.") ! (defvar vm-mode-hooks nil "*Old name for `vm-mode-hook'. Supported for backward compatibility. ! You should use the new name.") ! (defvar vm-summary-mode-hook nil "*List of hook functions to run when a VM summary buffer is created. ! The current buffer will be that buffer when the hooks are run.") ! (defvar vm-summary-mode-hooks nil "*Old name for `vm-summary-mode-hook'. Supported for backward compatibility. ! You should use the new name.") ! (defvar vm-folders-summary-mode-hook nil "*List of hook functions to run when a VM folders summary buffer is created. ! The current buffer will be that buffer when the hooks are run.") ! (defvar vm-virtual-mode-hook nil "*List of hook functions to run when a VM virtual folder buffer is created. ! The current buffer will be that buffer when the hooks are run.") ! (defvar vm-presentation-mode-hook nil "*List of hook functions to run when a VM presentation buffer is created. --- 3310,3360 ---- current buffer will be the folder where the messages were ! incorporated." ! :type '(list function)) ! (defcustom vm-edit-message-hook nil "*List of hook functions to be run just before a message is edited. This is the last thing `vm-edit-message' does before leaving the user ! in the edit buffer." ! :type '(list function)) ! (defcustom vm-mail-mode-hook nil "*List of hook functions to be run after a Mail mode composition buffer has been created. This is the last thing VM ! does before leaving the user in the Mail mode buffer." ! :type '(list function)) ! (defcustom vm-mode-hook nil "*List of hook functions to run when a buffer enters `vm-mode'. These hook functions should generally be used to set key bindings ! and local variables." ! :type '(list function)) ! (defcustom vm-mode-hooks nil "*Old name for `vm-mode-hook'. Supported for backward compatibility. ! You should use the new name." ! :type '(list function)) ! (defcustom vm-summary-mode-hook nil "*List of hook functions to run when a VM summary buffer is created. ! The current buffer will be that buffer when the hooks are run." ! :type '(list function)) ! (defcustom vm-summary-mode-hooks nil "*Old name for `vm-summary-mode-hook'. Supported for backward compatibility. ! You should use the new name." ! :type '(list function)) ! (defcustom vm-folders-summary-mode-hook nil "*List of hook functions to run when a VM folders summary buffer is created. ! The current buffer will be that buffer when the hooks are run." ! :type '(list function)) ! (defcustom vm-virtual-mode-hook nil "*List of hook functions to run when a VM virtual folder buffer is created. ! The current buffer will be that buffer when the hooks are run." ! :type '(list function)) ! (defcustom vm-presentation-mode-hook nil "*List of hook functions to run when a VM presentation buffer is created. *************** *** 3085,3097 **** Presentation buffers are used to display messages when some type of decoding ! must be done to the message to make it presentable. E.g. MIME decoding.") ! (defvar vm-quit-hook nil "*List of hook functions to run when you quit VM. ! This applies to any VM quit command.") ! (defvar vm-summary-pointer-update-hook nil "*List of hook functions to run when the VM summary pointer is updated. ! When the hooks are run, the current buffer will be the summary buffer.") ! (defvar vm-display-buffer-hook nil "*List of hook functions that are run every time VM wants to --- 3362,3377 ---- Presentation buffers are used to display messages when some type of decoding ! must be done to the message to make it presentable. E.g. MIME decoding." ! :type '(list function)) ! (defcustom vm-quit-hook nil "*List of hook functions to run when you quit VM. ! This applies to any VM quit command." ! :type '(list function)) ! (defcustom vm-summary-pointer-update-hook nil "*List of hook functions to run when the VM summary pointer is updated. ! When the hooks are run, the current buffer will be the summary buffer." ! :type '(list function)) ! (defcustom vm-display-buffer-hook nil "*List of hook functions that are run every time VM wants to *************** *** 3103,3107 **** If you use display hooks, you should not use VM's builtin window ! configuration system as the result is likely to be confusing.") ! (defvar vm-undisplay-buffer-hook nil "*List of hook functions that are run every time VM wants to --- 3383,3388 ---- If you use display hooks, you should not use VM's builtin window ! configuration system as the result is likely to be confusing." ! :type '(list function)) ! (defcustom vm-undisplay-buffer-hook nil "*List of hook functions that are run every time VM wants to *************** *** 3114,3124 **** window configuration system as the result is likely to be ! confusing.") ! (defvar vm-iconify-frame-hook nil ! "*List of hook functions that are run whenever VM iconifies a frame.") ! (defvar vm-menu-setup-hook nil ! "*List of hook functions that are run just after all menus are initialized.") ! ! (defvar vm-mime-display-function nil "*If non-nil, this should name a function to be called inside --- 3395,3408 ---- window configuration system as the result is likely to be ! confusing." ! :type '(list function)) ! (defcustom vm-iconify-frame-hook nil ! "*List of hook functions that are run whenever VM iconifies a frame." ! :type '(list function)) ! ! (defcustom vm-menu-setup-hook nil ! "*List of hook functions that are run just after all menus are initialized." ! :type '(list function)) ! (defcustom vm-mime-display-function nil "*If non-nil, this should name a function to be called inside *************** *** 3131,3135 **** that `vm-decode-mime-message' would do is not done, because this ! function is expected to subsume all of it.") ! (defvar vm-imap-session-preauth-hook nil "*List of hook functions to call to generate an authenticated --- 3415,3420 ---- that `vm-decode-mime-message' would do is not done, because this ! function is expected to subsume all of it." ! :type 'function) ! (defcustom vm-imap-session-preauth-hook nil "*List of hook functions to call to generate an authenticated *************** *** 3143,3147 **** this process. If the hook cannot accomplish this, it should ! return nil. If all the hooks return nil, VM will signal an error.") ! (defvar vm-mail-send-hook nil "*List of hook functions to call just before sending a message. --- 3428,3433 ---- this process. If the hook cannot accomplish this, it should ! return nil. If all the hooks return nil, VM will signal an error." ! :type '(list function)) ! (defcustom vm-mail-send-hook nil "*List of hook functions to call just before sending a message. *************** *** 3149,3151 **** message (see `vm-confirm-mail-send') but before MIME encoding and ! FCC processing.") --- 3435,3438 ---- message (see `vm-confirm-mail-send') but before MIME encoding and ! FCC processing." ! :type '(list function)) *************** *** 3163,3165 **** ! (defvar mail-citation-hook nil "*Hook for modifying a citation just inserted in the mail buffer. --- 3450,3452 ---- ! (defcustom mail-citation-hook nil "*Hook for modifying a citation just inserted in the mail buffer. *************** *** 3170,3183 **** If this hook is entirely empty (nil), a default action is taken ! instead of no action.") ! (defvar mail-default-headers nil "*A string containing header lines, to be inserted in outgoing messages. It is inserted before you edit the message, ! so you can edit or delete these lines.") ! (defvar mail-signature nil "*Text inserted at end of mail buffer when a message is initialized. ! If t, it means to insert the contents of the file `~/.signature'.") ! (defvar vm-rename-current-buffer-function nil "*Non-nil value should be a function to call to rename a buffer. --- 3457,3473 ---- If this hook is entirely empty (nil), a default action is taken ! instead of no action." ! :type '(list function)) ! (defcustom mail-default-headers nil "*A string containing header lines, to be inserted in outgoing messages. It is inserted before you edit the message, ! so you can edit or delete these lines." ! :type '(choice (const nil) string)) ! (defcustom mail-signature nil "*Text inserted at end of mail buffer when a message is initialized. ! If t, it means to insert the contents of the file `~/.signature'." ! :type '(choice (const nil) (const t) string)) ! (defcustom vm-rename-current-buffer-function nil "*Non-nil value should be a function to call to rename a buffer. *************** *** 3186,3188 **** its own buffer renaming code. The buffer to be renamed will be ! the current buffer when the function is called.") --- 3476,3479 ---- its own buffer renaming code. The buffer to be renamed will be ! the current buffer when the function is called." ! :type 'function) *************** *** 3193,3195 **** ! (defvar vm-movemail-program "movemail" "*Name of program to use to move mail from the system spool --- 3484,3486 ---- ! (defcustom vm-movemail-program "movemail" "*Name of program to use to move mail from the system spool *************** *** 3199,3255 **** mail is retrieved, and the local file where the retrieved mail ! should be stored.") ! (defvar vm-movemail-program-switches nil "*List of command line flags to pass to the movemail program ! named by `vm-movemail-program'.") ! (defvar vm-netscape-program "netscape" "*Name of program to use to run Netscape. ! `vm-mouse-send-url-to-netscape' uses this.") ! (defvar vm-netscape-program-switches nil ! "*List of command line switches to pass to Netscape.") ! (defvar vm-mosaic-program "Mosaic" "*Name of program to use to run Mosaic. ! `vm-mouse-send-url-to-mosaic' uses this.") ! (defvar vm-mosaic-program-switches nil ! "*List of command line switches to pass to Mosaic.") ! (defvar vm-mmosaic-program "mMosaic" "*Name of program to use to run mMosaic. ! `vm-mouse-send-url-to-mosaic' uses this.") ! (defvar vm-mmosaic-program-switches nil ! "*List of command line switches to pass to mMosaic.") ! (defvar vm-wget-program "wget" "*Name of program to use to run wget. ! This is used to retrieve URLs.") ! (defvar vm-w3m-program "w3m" "*Name of program to use to run w3m. ! This is used to retrieve URLs.") ! (defvar vm-lynx-program "lynx" "*Name of program to use to run lynx. ! This is used to retrieve URLs.") ! (defvar vm-grep-program "grep" "*Name of program to use to run grep. This is used to count message separators in folders. ! Set this to nil and VM will not use it.") ! (defvar vm-stunnel-program "stunnel" "*Name of program to use to run stunnel. This is used to make SSL connections to POP and IMAP servers that ! support SSL. Set this to nil and VM will not use it.") ! (defvar vm-stunnel-program-switches nil "*List of command line switches to pass to stunnel. Leave this set to nil unless you understand how VM uses stunnel ! and know that you need to change something to get stunnel working.") ! (defvar vm-stunnel-random-data-method 'generate "*Specifies what VM should do about sending the PRNG. --- 3490,3560 ---- mail is retrieved, and the local file where the retrieved mail ! should be stored." ! :type 'string) ! (defcustom vm-movemail-program-switches nil "*List of command line flags to pass to the movemail program ! named by `vm-movemail-program'." ! :type '(list string)) ! (defcustom vm-netscape-program "netscape" "*Name of program to use to run Netscape. ! `vm-mouse-send-url-to-netscape' uses this." ! :type 'string) ! (defcustom vm-netscape-program-switches nil ! "*List of command line switches to pass to Netscape." ! :type '(list string)) ! (defcustom vm-mosaic-program "Mosaic" "*Name of program to use to run Mosaic. ! `vm-mouse-send-url-to-mosaic' uses this." ! :type 'string) ! (defcustom vm-mosaic-program-switches nil ! "*List of command line switches to pass to Mosaic." ! :type '(list string)) ! (defcustom vm-mmosaic-program "mMosaic" "*Name of program to use to run mMosaic. ! `vm-mouse-send-url-to-mosaic' uses this." ! :type 'string) ! (defcustom vm-mmosaic-program-switches nil ! "*List of command line switches to pass to mMosaic." ! :type '(list string)) ! (defcustom vm-wget-program "wget" "*Name of program to use to run wget. ! This is used to retrieve URLs." ! :type 'string) ! (defcustom vm-w3m-program "w3m" "*Name of program to use to run w3m. ! This is used to retrieve URLs." ! :type 'string) ! (defcustom vm-lynx-program "lynx" "*Name of program to use to run lynx. ! This is used to retrieve URLs." ! :type 'string) ! (defcustom vm-grep-program "grep" "*Name of program to use to run grep. This is used to count message separators in folders. ! Set this to nil and VM will not use it." ! :type '(choice string (const nil))) ! (defcustom vm-stunnel-program "stunnel" "*Name of program to use to run stunnel. This is used to make SSL connections to POP and IMAP servers that ! support SSL. Set this to nil and VM will not use it." ! :type '(choice string (const nil))) ! (defcustom vm-stunnel-program-switches nil "*List of command line switches to pass to stunnel. Leave this set to nil unless you understand how VM uses stunnel ! and know that you need to change something to get stunnel working." ! :type '(list string)) ! (defcustom vm-stunnel-random-data-method 'generate "*Specifies what VM should do about sending the PRNG. *************** *** 3262,3264 **** tapped for random data. If sufficient random data cannot be ! found, the OpenSSL library will refuse wto work and stunnel will not be able to establish an SSL connection. --- 3567,3569 ---- tapped for random data. If sufficient random data cannot be ! found, the OpenSSL library will refuse to work and stunnel will not be able to establish an SSL connection. *************** *** 3269,3281 **** A nil value tells VM to do nothing and let stunnel find the data ! if it can.") ! (defvar vm-ssh-program "ssh" "*Name of program to use to run SSH. This is used to build an SSH tunnel to remote POP and IMAP servers. ! Set this to nil and VM will not use it.") ! (defvar vm-ssh-program-switches nil ! "*List of command line switches to pass to SSH.") ! (defvar vm-ssh-remote-command "echo ready; sleep 15" "*Shell command to run to hold open the SSH connection. --- 3574,3589 ---- A nil value tells VM to do nothing and let stunnel find the data ! if it can." ! :type '(choice (const nil) (const generate))) ! (defcustom vm-ssh-program "ssh" "*Name of program to use to run SSH. This is used to build an SSH tunnel to remote POP and IMAP servers. ! Set this to nil and VM will not use it." ! :type '(choice string (const nil))) ! (defcustom vm-ssh-program-switches nil ! "*List of command line switches to pass to SSH." ! :type '(list string)) ! (defcustom vm-ssh-remote-command "echo ready; sleep 15" "*Shell command to run to hold open the SSH connection. *************** *** 3283,3287 **** sleep long enough for VM to open a port-forwarded connection. ! The default should work on UNIX systems.") ! (defvar vm-temp-file-directory (or (getenv "TMPDIR") --- 3591,3622 ---- sleep long enough for VM to open a port-forwarded connection. ! The default should work on UNIX systems." ! :type 'string) ! ! (defcustom vm-uncompface-program (and vm-fsfemacs-p ! (fboundp 'image-type-available-p) ! (vm-locate-executable-file "uncompface")) ! "*Program used to convert X-Face data to Sun icon format. ! Or if the program version is new enough, it will be called with ! -X to produce XBM data. This program is needed to support he ! display of X-Faces under Emacs 21." ! :type '(choice string (const nil))) ! ! (defcustom vm-icontopbm-program (and vm-fsfemacs-p ! (fboundp 'image-type-available-p) ! (vm-locate-executable-file "icontopbm")) ! "*Program to convert Sun icon data to a PBM file. ! This program is needed to support the display of X-Faces under ! Emacs 21 if the uncompface program can't convert X-Face image ! data to XBM data." ! :type '(choice string (const nil))) ! ! (defvar vm-uncompface-accepts-dash-x ! (and vm-fsfemacs-p (fboundp 'image-type-available-p) ! (eq 0 (string-match "#define" ! (shell-command-to-string ! (format "%s -X" vm-uncompface-program))))) ! "Non-nil if the uncompface command accepts a -X argument. ! This is only used for FSF Emacs currently.") ! (defcustom vm-temp-file-directory (or (getenv "TMPDIR") *************** *** 3291,3295 **** "/tmp") ! "*Name of a directory where VM can put temporary files.") ! (defvar vm-tale-is-an-idiot nil "*Non-nil value causes `vm-mail-send' to check multi-line recipient --- 3626,3631 ---- "/tmp") ! "*Name of a directory where VM can put temporary files." ! :type 'directory) ! (defcustom vm-tale-is-an-idiot nil "*Non-nil value causes `vm-mail-send' to check multi-line recipient *************** *** 3297,3301 **** comma. If such a line is found, an error is signaled and the ! mail is not sent.") ! (defvar vm-maintainer-address "bug-vm@uunet.uu.net" "Where to send VM bug reports.") --- 3633,3638 ---- comma. If such a line is found, an error is signaled and the ! mail is not sent." ! :type 'boolean) ! (defconst vm-maintainer-address "bug-vm@uunet.uu.net" "Where to send VM bug reports.") *************** *** 4186,4188 **** (setq coding-systems (cdr coding-systems))) ! (setq alist (append '(("us-ascii" raw-text)) alist)) alist)) --- 4523,4526 ---- (setq coding-systems (cdr coding-systems))) ! (setq alist (append '(("us-ascii" raw-text) ! ("unknown" iso-8859-1)) alist)) alist)) *************** *** 4303 **** --- 4641,4645 ---- (defvar vm-fsfemacs-cached-scroll-bar-width nil) + + (cond (vm-faked-defcustom + (fmakunbound 'defcustom) + (fmakunbound 'defgroup))) *** dist/vm-version.el.dist Tue Jan 22 14:28:30 2002 --- vm-version.el Sun Mar 3 22:31:16 2002 *************** *** 4,6 **** ! (defconst vm-version "7.01" "Version number of VM.") --- 4,6 ---- ! (defconst vm-version "7.02" "Version number of VM.")