;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:19 2004 ;;; from file /Users/kyle/vm/vm-version.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-version.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defconst vm-version "7.19" "\ Version number of VM.") (defalias 'vm-version #[nil "\207" [vm-version] 1 "\ Returns the value of the variable vm-version."]) (byte-code "\301B\306\302B\306\303B\306\304B\306\305B\306\306\207" [current-load-list vm-xemacs-p vm-xemacs-mule-p vm-xemacs-file-coding-p vm-fsfemacs-p vm-fsfemacs-mule-p nil] 2) (defalias 'vm-xemacs-p #[nil "\207" [vm-xemacs-p] 1]) (defalias 'vm-xemacs-mule-p #[nil "\207" [vm-xemacs-mule-p] 1]) (defalias 'vm-xemacs-file-coding-p #[nil "\207" [vm-xemacs-file-coding-p] 1]) (defalias 'vm-fsfemacs-p #[nil "\207" [vm-fsfemacs-p] 1]) (defalias 'vm-fsfemacs-mule-p #[nil "\207" [vm-fsfemacs-mule-p] 1]) (defalias 'vm-note-emacs-version #[nil "\306\307\"\211\205\310\311!\205\312\313! \205 \310\314!\205 \312\313! ?\n?\2052\310\311!\2052\312\313!\211\207" [emacs-version vm-xemacs-p vm-xemacs-mule-p vm-xemacs-file-coding-p vm-fsfemacs-p vm-fsfemacs-mule-p string-match "XEmacs" featurep mule fboundp set-buffer-file-coding-system file-coding] 4]) (vm-note-emacs-version) (defalias 'vm-mouse-fsfemacs-mouse-p #[nil "\205\301\302!\207" [vm-fsfemacs-p fboundp set-mouse-position] 2]) (defalias 'vm-mouse-xemacs-mouse-p #[nil "\205\301\302!\207" [vm-xemacs-p fboundp set-mouse-position] 2]) (defalias 'vm-menu-fsfemacs-menus-p #[nil "\205\301\302!\207" [vm-fsfemacs-p fboundp menu-bar-mode] 2]) (defalias 'vm-menu-fsfemacs19-menus-p #[nil "\205 \302\303!\205 \304U\207" [vm-fsfemacs-p emacs-major-version fboundp menu-bar-mode 19] 2]) (defalias 'vm-menu-xemacs-menus-p #[nil "\205\301\302!\207" [vm-xemacs-p fboundp set-buffer-menubar] 2]) (defalias 'vm-menu-can-eval-item-name #[nil "\205\301\302!\205\303\304\305\217\207" [vm-xemacs-p fboundp check-menu-syntax nil (byte-code "\300\301!\207" [check-menu-syntax ("bar" ((identity "foo") 'ding t))] 2) ((error))] 3]) (defalias 'vm-multiple-frames-possible-p #[nil "\203\302\303 >\206\304\305!\207 \205\306\307!\207" [vm-xemacs-p vm-fsfemacs-p win device-matching-specifier-tag-list featurep tty-frames fboundp make-frame] 2]) (defalias 'vm-mouse-support-possible-p #[nil "\203\302\303!\207 \205\304\305!\207" [vm-xemacs-p vm-fsfemacs-p featurep window-system fboundp track-mouse] 2]) (defalias 'vm-mouse-support-possible-here-p #[nil "\203 \303\304 >\207 \205\n\305>\207" [vm-xemacs-p vm-fsfemacs-p window-system win device-matching-specifier-tag-list (x mac w32 win32)] 2]) (defalias 'vm-menu-support-possible-p #[nil "\203\302\303!\207 \205\304\305!\207" [vm-xemacs-p vm-fsfemacs-p featurep menubar fboundp menu-bar-mode] 2]) (defalias 'vm-toolbar-support-possible-p #[nil "\203\n\302\303!\206 \205\304\305!\205\306\307!\207" [vm-xemacs-p vm-fsfemacs-p featurep toolbar fboundp tool-bar-mode boundp tool-bar-map] 2]) (defalias 'vm-multiple-fonts-possible-p #[nil "\203 \303 \304>\207 \205\n\305>\207" [vm-xemacs-p vm-fsfemacs-p window-system device-type (x gtk mswindows) (x mac w32 win32)] 2]) (defalias 'vm-images-possible-here-p #[nil "\203 \305 \306>\206 \205 \n\205 \307\310!\206 ;\205 \f;\207" [vm-xemacs-p vm-fsfemacs-p window-system vm-imagemagick-convert-program vm-imagemagick-identify-program device-type (x gtk mswindows) fboundp image-type-available-p] 2]) (defalias 'vm-image-type-available-p #[(type) "\301\302!\203\n\302!\207\303!\206\304=\207" [type fboundp image-type-available-p featurep xbm] 2]) (byte-code "\300\301!\210\300\302!\207" [provide vm vm-version] 2) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:20 2004 ;;; from file /Users/kyle/vm/vm-crypto.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-crypto.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (fset 'vm-pop-md5 'vm-md5-string) (defalias 'vm-md5-region #[(start end) "\306\307!\203\f\307p #\207\310\211p\311\216\212\312 \211q\210\313\n #\210\310\314ed\315\f\310&\211\316\232\204;\317\320 #\210eb\210\321\322\310\315#\203J\323\324!\210eb\210\321\325\310\315#\204[d\326W\203e\317\327\330ed\"#\210\330ee\326\\\"-\207" [start end curbuf retval buffer selective-display fboundp md5 nil ((byte-code "\203\301!\210\301\207" [buffer kill-buffer] 2)) vm-make-work-buffer insert-buffer-substring call-process-region t 0 error "%s failed: exited with code %s" re-search-forward " [ *]?-\n" replace-match "" "[^0-9a-f\n]" 32 "%s produced bogus MD5 digest '%s'" vm-buffer-substring-no-properties vm-pop-md5-program] 8]) (defalias 'vm-md5-string #[(string) "\301\302!\203\n\302!\207\303\304\"\207" [string fboundp md5 vm-with-string-as-temp-buffer #[nil "eb\210\300ed\"c\210`d|\207" [vm-md5-region] 3]] 3]) (defalias 'vm-md5-raw-string #[(s) "\305!\306\307\310\"\310\311\312 \313W\2037\314 H \"A\307_\314 TH \"A\\\f \315\245\nI\210 \315\\\211\202\f,\207" [s hex-digit-alist n i raw vm-md5-string make-string 16 0 nil ((48 . 0) (49 . 1) (50 . 2) (51 . 3) (52 . 4) (53 . 5) (54 . 6) (55 . 7) (56 . 8) (57 . 9) (65 . 10) (66 . 11) (67 . 12) (68 . 13) (69 . 14) (70 . 15) (97 . 10) (98 . 11) (99 . 12) (100 . 13) (101 . 14) (102 . 15)) 32 assoc 2] 5]) (defalias 'vm-xor-string #[(s1 s2) "G\305\306\211\fGU\204\307\310!\210\311 \306\" W\2030\n \312 H\f H\"I\210 T\211\202\n+\207" [s1 i result len s2 nil 0 error "strings not of equal length" make-string logxor] 7]) (defalias 'vm-setup-ssh-tunnel #[(host port) "\306\211\211\204N\307\310!\311\\\306\306\312\313\217\210 \204G\314\315\316\317 \f#\320 \321\316\322\n \f$D\323!\244 D\244%\324\325 !\210\326 \327\"\210\202\330 !\210\202\331 !\210\n+\207" [done process local-port host port vm-ssh-program nil random 64511 1025 (byte-code "\302\303\304\305$\306 !\207" [local-port process open-network-stream "TEST-CONNECTION" nil "127.0.0.1" process-kill-without-query] 5) ((error)) apply start-process format "SSH tunnel to %s:%s" vm-make-work-buffer "-L" "%d:%s:%s" copy-sequence t process-kill-without-query set-process-sentinel vm-process-sentinel-kill-buffer delete-process accept-process-output vm-ssh-program-switches vm-ssh-remote-command] 11]) (defalias 'vm-generate-random-data-file #[(n-octets) "\304 \305\306\216\212\307 \211q\210 \310V\203$\311\312\313!\314\"\210 S\211\202\315ed \305\310%\210* +\207" [n-octets i work-buffer file vm-make-tempfile nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer 0 insert-char random 256 1 write-region] 7]) (defalias 'vm-setup-stunnel-random-data-if-needed #[nil "\204\302\207\303=\205 ;\205\304 !?\205\305\306\307\\!\211\207" [vm-stunnel-random-data-method vm-stunnel-random-data-file nil generate file-readable-p vm-generate-random-data-file 4096 0] 3]) (defalias 'vm-tear-down-stunnel-random-data #[nil ";\203\n\301\302\"\210\303\211\207" [vm-stunnel-random-data-file vm-error-free-call delete-file nil] 3]) (defalias 'vm-stunnel-random-data-args #[nil "\204\302\207\303=\203\304 D\207\302\207" [vm-stunnel-random-data-method vm-stunnel-random-data-file nil generate "-R"] 2]) (defalias 'vm-stunnel-configuration-args #[(host port) "\306=\203\307 \310\211\211\311%\312=?\204\"\313 \314\315\316\317\320\n #F\244\207\310\321 \322\216\212\323 \211q\210\203G;\203G\324!\203G\325!\210\326c\210\327\330\261\210\331c\210\332\317\320\n #\330\261\210\333ed\f\310\312%\210*\f*C\207" [vm-stunnel-wants-configuration-file vm-stunnel-program host port workfile work-buffer unknown call-process nil "-h" 0 vm-stunnel-random-data-args "-W" "-c" "-r" format "%s:%s" vm-stunnel-configuration-file ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer file-readable-p insert-file-contents "client = yes\n" "RNDfile = " "\n" "RNDoverwrite = no\n" "connect = " write-region vm-stunnel-program-additional-configuration-file vm-stunnel-random-data-file] 9]) (defalias 'vm-stunnel-configuration-file #[nil "\203\207\301 \302C!\210\207" [vm-stunnel-configuration-file vm-make-tempfile vm-register-global-garbage-files] 2]) (provide 'vm-crypto) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:20 2004 ;;; from file /Users/kyle/vm/vm-delete.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-delete.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-delete-message #[(count) "t\203\306 \210\203\307!\204\310\311!\210q\210\202% \312>\204%\310\313!\210\314 \210\n\2035\315\316pC\"\210\202(\317 \210 \320=\321\f!\322!\"!\203j!@\211\323H\323H)\204a\324!@\325\"\210 T!A\211!\204I\326\327\211\330#C$\210\"\203\231t\203\231 \322U\203\211\331\332!\210\202\231\331\333 \211\334U\203\226\335\202\227\336#\210\337 \210$\205\271\"?\205\271%\205\260$\325=%\340\f\325&#)+\207" [vm-mail-buffer major-mode vm-folder-read-only last-command count del-count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty vm-next-command-uses-marks vm-select-marked-or-prefixed-messages 0 2 vm-set-deleted-flag t vm-display nil (vm-delete-message vm-delete-message-backward) message "No messages deleted" "%d message%s deleted" 1 "" "s" vm-update-summary-and-mode-line vm-next-message mlist used-marks this-command vm-move-after-deleting vm-circular-folders executing-kbd-macro] 6 "\ Add the `deleted' attribute to the current message. The message will be physically deleted from the current folder the next time the current folder is expunged. With a prefix argument COUNT, the current message and the next COUNT - 1 messages are deleted. A negative argument means the current message and the previous |COUNT| - 1 messages are deleted. When invoked on marked messages (via `vm-next-command-uses-marks'), only marked messages are deleted, other messages are ignored." "p"]) (defalias 'vm-delete-message-backward #[(count) "t\203\301 \210\302[!\207" [count vm-follow-summary-cursor vm-delete-message] 2 "\ Like vm-delete-message, except the deletion direction is reversed." "p"]) (defalias 'vm-undelete-message #[(count) "t\203\306 \210\203\307!\204\310\311!\210q\210\202% \312>\204%\310\313!\210\314 \210\n\2035\315\316pC\"\210\202(\317 \210 \320=\321\f!\322\"#\"\203j\"@\211\323H\323H)\203a\324\"@\325\"\210 T\"A\211\"\204I#\203\220t\203\220 \322U\203\200\326\327!\210\202\220\326\330 \211\331U\203\215\332\202\216\333#\210\334\325\211\335\336$\210\337 \210$\205\267#?\205\267%\205\256$\340=%\341\f\340&#)+\207" [vm-mail-buffer major-mode vm-folder-read-only last-command count undel-count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty vm-next-command-uses-marks vm-select-marked-or-prefixed-messages 0 2 vm-set-deleted-flag nil message "No messages undeleted" "%d message%s undeleted" 1 "" "s" vm-display (vm-undelete-message) (vm-undelete-message) vm-update-summary-and-mode-line t vm-next-message mlist used-marks vm-move-after-undeleting vm-circular-folders executing-kbd-macro] 6 "\ Remove the `deleted' attribute from the current message. With a prefix argument COUNT, the current message and the next COUNT - 1 messages are undeleted. A negative argument means the current message and the previous |COUNT| - 1 messages are deleted. When invoked on marked messages (via `vm-next-command-uses-marks'), only marked messages are undeleted, other messages are ignored." "p"]) (defalias 'vm-kill-subject #[(&optional arg) "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\n\2031\315\316pC\"\210\202$\317 \210\320 @!\f\321\322\"#$#\203u#@\211\323H\323H)\204l$\320#@!\230\203l\324#@\322\"\210\"T\"#A\211#\204Gt\203\230\"\321U\203\207\325\326!\210\202\230\325\327\"\211\330U\203\225\331\202\226\332#\210,\333\334\211\335\336$\210\337 \210%\247\203\260%\321V\203\266\330%\202\306%\321W\203\303\340%\202\306\321%&\205\336'\205\324&\322='\341%\322(#)\207" [vm-mail-buffer major-mode vm-folder-read-only vm-message-pointer vm-message-list case-fold-search vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty vm-so-sortable-subject 0 t 2 vm-set-deleted-flag message "No messages deleted." "%d message%s deleted" 1 "" "s" vm-display nil (vm-kill-subject) (vm-kill-subject) vm-update-summary-and-mode-line -1 vm-next-message n mp subject arg vm-move-after-killing vm-circular-folders executing-kbd-macro] 6 "\ Delete all messages with the same subject as the current message. Message subjects are compared after ignoring parts matched by the variables vm-subject-ignored-prefix and vm-subject-ignored-suffix. The optional prefix argument ARG specifies the direction to move if vm-move-after-killing is non-nil. The default direction is forward. A positive prefix argument means move forward, a negative arugment means move backward, a zero argument means don't move at all." "p"]) (defalias 'vm-delete-duplicate-messages #[nil "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\n\203.\314\315pC\"\210\202!\316 \210 \317=\f\320\321\322\"\323\211\322)*+,\211-\203P\324\322!,\212\214~\210,\203\314,@\211#\325H\325H)\204\303,@\211#\326H\327HJ)\211)\211#\326H\330H)q\210\331)\211#\322H\332H\206\230\333#!\210#\322H\332H))\211#\322H\334H)\"*\335*+\"\203\274\336,@\337\"\210 T\202\303\340*+\"\210,A\211,\204Y*\341\323\211\342.C$\210 \322U\203\343\343\344!\210\202\363\343\345 \211\326U\203\360\346\202\361\347#\210\350 .\207" [vm-mail-buffer major-mode vm-folder-read-only last-command vm-message-list del-count buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty vm-next-command-uses-marks make-vector 61 0 nil vm-select-marked-or-prefixed-messages 2 1 5 9 vm-md5-region 3 vm-find-and-set-text-of 4 intern-soft vm-set-deleted-flag t intern vm-display (vm-delete-duplicate-messages) message "No messages deleted" "%d message%s deleted" "" "s" vm-update-summary-and-mode-line m hash table mlist used-marks this-command] 7 "\ Delete duplicate messages in the current folder. This command works by computing an MD5 hash for the body ofeach non-deleted message in the folder and deleting messages that have a hash that has already been seen. Messages that already deleted are never hashed, so VM will never delete the last copy of a message in a folder. 'Deleting' means flagging for deletion; you will have to expunge the messages with `vm-expunge-folder' to really get rid of them, as usual. When invoked on marked messages (via `vm-next-command-uses-marks'), only duplicate messages among the marked messages are deleted, unmarked messages are not hashed or considerd for deletion." nil]) (defalias 'vm-expunge-folder #[(&optional shaddap just-these-messages messages-to-expunge) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\n\203.\314\315pC\"\210\202!\316 \210 \2049\317\320!\210\f\321=\205A ?: \322=\323\324\325\"\326\211;<=>?@?\203 \203j?@A>\202\210?@\211\327H\327H)\203@\203\213?@\211\330H\327H)\203\331B!\203\241\332?@\211\330H\333HJ)!\210?@\211\334H\330HJ)\211;\203\332\326\211\211C<D>\203\337?@\211\330H\333HJ)?@\211\334H\330HJ)BD\202\355?@\211\334H\330HJ)DD\203\331\212D@\211\330H\335H)q\210D@\211\330H\336HJ)\211\204\314;\204\">\203\"?@\211\330H\333HJ)\347?@?@\211\330H\333HJ)\211\334H\330HJ)\"L\211\334H\330HLL\210*E?=\2037\326F<\2065?AEG?=\203B\326G\337\306 =\"\210M\204`\340<\206U\341!\210\342<\206^\341!\210\341H<\204\211:A:?A\203\252?A@\326K\211\330H\336HKL\210*\202\252<?A\241\210?A\203\252?A@<K\211\330H\336HKL\210*\343?@\344\"\210?@\326I\211\330H\345II\210*\346\341!\210JTJ)?@\211\327H)?@\211\330H\333HJ)\211\327H)=\203 \212?@\211\330H\333HJ)\211\330H\335H)q\210N\350=\203B?@\211\330H\333HJ)\211\345H\351H)OBO?@\211\330H\333HJ)\211\345H\351H)\352 \353EPBP\202\250N\354=\203\250?@\211\330H\333HJ)\211\345H\351H)?@\211\330H\333HJ)\211\345H\355H)BQBQ?@\211\330H\333HJ)\211\345H\351H)?@\211\330H\333HJ)\211\345H\355H)\356 \357FRBRJTJ\360 deZV\326\211ST\211U\203\321\361 e\326\223\211T\203\321\361 d\326\223S\362\216~\210\326V?@\211\330H\333HJ)\211\325H\325H)?@\211\330H\333HJ)\211\325H\333H)|\210.\202 ?<?A\211?\204]\363\326\211\364\365$\210=\2033\212\366\367=\"\210) ?\2056\317\370!\2026\317\371!.\207" [vm-mail-buffer major-mode vm-folder-read-only shaddap last-command just-these-messages buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-update-summary-and-mode-line message "Expunging..." vm-next-command-uses-marks vm-virtual-mode make-vector 29 0 nil 2 1 vectorp vm-unthread-message 5 4 9 6 intern vm-set-numbering-redo-start-point t vm-set-summary-redo-start-point vm-set-deleted-flag-of expunged 3 vm-set-buffer-modified-p delq pop 23 vm-folder-pop-maildrop-spec uidl imap 24 vm-folder-imap-maildrop-spec uid buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) vm-display (vm-expunge-folder) (vm-expunge-folder) mapatoms #[(buffer) "\306!q\210 \204\307 \210\n\204\310\311 \210\202!\312 \210\202!\311 \210\f\313=\204. \206- \314 \207" [buffer vm-system-state vm-message-pointer vm-folder-type major-mode vm-message-order-changed symbol-name vm-garbage-collect-message nil vm-update-summary-and-mode-line vm-preview-current-message vm-virtual-mode vm-clear-expunge-invalidated-undos vm-message-order-header-present] 2] "Deleted messages expunged." "No messages are flagged for deletion." vm-message-list virtual-messages prev buffers-altered virtual mp use-marks messages-to-expunge vm-thread-obarray curr vms vm-message-pointer vm-system-state vm-last-message-pointer inhibit-quit pos vm-modification-counter link list vm-numbering-redo-start-point vm-folder-access-method vm-pop-messages-to-expunge vm-pop-retrieved-messages vm-imap-messages-to-expunge vm-imap-retrieved-messages #3# #2# #1# buffer-read-only] 7 "\ Expunge messages with the `deleted' attribute. For normal folders this means that the deleted messages are removed from the message list and the message contents are removed from the folder buffer. For virtual folders, messages are removed from the virtual message list. If virtual mirroring is in effect for the virtual folder, the corresponding real messages are also removed from real message lists and the message contents are removed from real folders. When invoked on marked messages (via `vm-next-command-uses-marks'), only messages both marked and deleted are expunged, other messages are ignored." nil]) (provide 'vm-delete) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:20 2004 ;;; from file /Users/kyle/vm/vm-digest.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-digest.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-no-frills-encapsulate-message #[(m keep-list discard-regexp) "p\306\214``}\210\307c\210\n\211\310H\311H)\212q\210\214~\210\212 q\210`\312\n\211\313H\310H)\n\211\313H\314H)#\210\fb\210\315\306\211 #\210\315\306#\210,db\210\316c+\207" [source-buffer target-buffer m message beg vm-internal-unforwarded-header-regexp nil "------- start of forwarded message -------\n" 1 9 insert-buffer-substring 0 4 vm-reorder-message-headers "------- end of forwarded message -------\n" keep-list discard-regexp] 6 "\ Encapsulate a message M for forwarding, simply. No message encapsulation standard is used. The message is inserted at point in the current buffer, surrounded by two dashed start/end separator lines. Point is not moved. M should be a message struct for a real message, not a virtual message. This is the message that will be encapsulated. KEEP-LIST should be a list of regexps matching headers to keep. DISCARD-REGEXP should be a regexp that matches headers to be discarded. KEEP-LIST and DISCARD-REGEXP are used to order and trim the headers to be forwarded. See the docs for vm-reorder-message-headers to find out how KEEP-LIST and DISCARD-REGEXP are used."]) (defalias 'vm-mime-encapsulate-messages #[(message-list keep-list discard-regexp always-use-digest) "\205\374p\306\306\211\211\211\211\211 !\"#\214``}\210`!\203\216\307 \"B\"!@\211$\310H\311HJ)\211\211$\310H\312H)`\313 \f\211$\314H\310H)\f\211$\314H\315H)#\210 b\210\316\306%&#\210\317 \203z\320'!\203z\321 b\210\202g\316\306()#\210db\210!A\211!\204&G\322W\203\232*\203\364 b\210\323  \324\325\326 !\327Q\306\330#\203\271\323  b\210\202\241db\210\331 \332\261\210\"\203\335\"@b\210\331 \333\261\210\"A\211\"\204\310 b\210G\334\335\n\211\310U\203\360\336\202\361\337#c\210 b\210) . \207" [message-list beg n start m source-buffer nil point-marker 1 5 9 vm-insert-region-from-buffer 0 4 vm-reorder-message-headers vm-match-header looking-at vm-matched-header-end 2 vm-mime-make-multipart-boundary re-search-forward "^--" regexp-quote "\\(--\\)?$" t "\n--" "--\n" "\n\n" format "This is a digest, %d message%s, MIME encapsulation.\n" "" "s" boundary mlist boundary-positions target-buffer message vm-mime-header-list vm-internal-unforwarded-header-regexp vm-mime-header-regexp keep-list discard-regexp always-use-digest] 10 "\ Encapsulate the messages in MESSAGE-LIST as per the MIME spec. The resulting digest is inserted at point in the current buffer. Point is not moved. MESSAGE-LIST should be a list of message structs (real or virtual). These are the messages that will be encapsulated. KEEP-LIST should be a list of regexps matching headers to keep. DISCARD-REGEXP should be a regexp that matches headers to be discarded. KEEP-LIST and DISCARD-REGEXP are used to order and trim the headers to be forwarded. See the docs for vm-reorder-message-headers to find out how KEEP-LIST and DISCARD-REGEXP are used. If ALWAYS-USE-DIGEST is non-nil, always encapsulate for a multipart/digest. Otherwise if there is only one message to be encapsulated leave off the multipart boundary strings. The caller is assumed to be using message/rfc822 or message/news encoding instead. If multipart/digest encapsulation is done, the function returns the multipart boundary parameter (string) that should be used in the Content-Type header. Otherwise nil is returned."]) (defalias 'vm-mime-burst-message #[(m) "\305\211\306\307!!\f\203\310\f\" \203(\311 @ \"\206 \n A\211\204\n+\207" [m list did-burst ident-header vm-digest-identifier-header-format nil vm-mime-find-digests-in-layout vm-mm-layout vm-summary-sprintf vm-mime-burst-layout] 6 "\ Burst messages from the digest message M. M should be a message struct for a real message. MIME encoding is expected. Somewhere within the MIME layout there must be at least one part of type message/news, message/rfc822 or multipart/digest. If there are multiple parts matching those types, all of them will be burst."]) (defalias 'vm-mime-burst-layout #[(layout ident-header) "\306p\306\211\307\216\310 deZV\306\211&'\211(\2030\311 e\306\223\211'\2030\311 d\306\223&\312\216\212~\210\313 \211q\210\314)!\204I\315\316!\210\202\332\317\320\321)!@\"\203\211\322 !c\210*\203b*c\210`\323)!\210\324 `#\210\212 b\210g\325U\203\200\326\327!\210\202s)\330 !c\210\202\332\317\331\321)!@\"\203\326\332)!\211\203\332\322 !c\210*\203\253*c\210`\323\n@!\210\324 `#\210\212 b\210g\325U\203\311\326\327!\210\202\274)\330 !c\210\nA\211\202\232\315\333!\210 eb\210\334 \203\365\335 \210\336 \211\"\210\337 \210\340 \210\202\337)\310 \341U\204\fq\210\342 \306\343+,-db\210\344 !\210\345-!\210+\343\202\306. \207" [vm-folder-type folder-type part-list start folder-buffer work-buffer nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) vm-make-work-buffer vectorp error "Not a MIME message" vm-mime-types-match "message" vm-mm-layout-type vm-leading-message-separator vm-mime-insert-mime-body vm-munge-message-separators 10 delete-char 1 vm-trailing-message-separator "multipart/digest" vm-mm-layout-parts "MIME type is not multipart/digest or message/rfc822 or message/news" vm-find-leading-message-separator vm-skip-past-leading-message-separator vm-convert-folder-type-headers vm-find-trailing-message-separator vm-skip-past-trailing-message-separator 0 buffer-modified-p t insert-buffer-substring set-buffer-modified-p #3# #2# #1# layout ident-header inhibit-quit buffer-read-only old-buffer-modified-p] 6]) (defalias 'vm-rfc934-char-stuff-region #[(start end) "\304\305 \n \223*\212 b\210`W\203&\306\307\310#\203&\311\312\310\211#\210\202)\304\211\223\207" [end buffer pos start nil make-marker re-search-forward "^-" t replace-match "- -"] 4 "\ Quote RFC 934 message separators between START and END. START and END are buffer positions in the current buffer. Lines beginning with `-' in the region have `- ' prepended to them."]) (defalias 'vm-rfc934-char-unstuff-region #[(start end) "\304\305 \n \223*\212 b\210`W\203)\306\307\310#\203)\311\312\310\211#\210\304u\210\202)\304\211\223\207" [end buffer pos start nil make-marker re-search-forward "^- " t replace-match ""] 4 "\ Unquote lines in between START and END as per RFC 934. START and END are buffer positions in the current buffer. Lines beginning with `- ' in the region have that string stripped from them."]) (defalias 'vm-rfc934-encapsulate-messages #[(message-list keep-list discard-regexp) "\205\314p\306\211\211\211\214``}\210` \203\225\307c\210 @\211\310H\311HJ)\211\211\310H\312H)\212\fq\210\214~\210\212q\210`\313\f \211\314H\310H) \211\314H\315H)#\210b\210\316\306 #\210\317 \203y\320!!\203y\321 b\210\202f\316\306\"##\210\322d\"\210,db\210\323c\210 A\211\204`\324 \210`|\210\325c\210\nb\210`\310y\210`|\210G\326\327A\203\267\330\202\270\331A\203\304\326\332 \"\202\305\333#c\210\nb.\207" [message-list n start m source-buffer mlist nil "---------------\n" 1 5 9 insert-buffer-substring 0 4 vm-reorder-message-headers vm-match-header looking-at vm-matched-header-end vm-rfc934-char-stuff-region "---------------" beginning-of-line "------- end -------\n" format "------- start of %s%s(RFC 934 encapsulation) -------\n" "digest " "forwarded message " "(%d messages) " "" target-buffer message beg vm-mime-header-list vm-internal-unforwarded-header-regexp vm-mime-header-regexp keep-list discard-regexp] 7 "\ Encapsulate the messages in MESSAGE-LIST as per RFC 934. The resulting digest is inserted at point in the current buffer. Point is not moved. MESSAGE-LIST should be a list of message structs (real or virtual). These are the messages that will be encapsulated. KEEP-LIST should be a list of regexps matching headers to keep. DISCARD-REGEXP should be a regexp that matches headers to be discarded. KEEP-LIST and DISCARD-REGEXP are used to order and trim the headers to be forwarded. See the docs for vm-reorder-message-headers to find out how KEEP-LIST and DISCARD-REGEXP are used."]) (defalias 'vm-rfc1153-char-stuff-region #[(start end) "\304\305 \n \223*\212 b\210`W\203&\306\307\310#\203&\311\312\310\211#\210\202)\304\211\223\207" [end buffer pos start nil make-marker re-search-forward "^------------------------------$" t replace-match " -----------------------------"] 4 "\ Quote RFC 1153 message separators between START and END. START and END are buffer positions in the current buffer. Lines consisting only of 30 hyphens have the first hyphen converted to a space."]) (defalias 'vm-rfc1153-char-unstuff-region #[(start end) "\304\305 \n \223*\212 b\210`W\203&\306\307\310#\203&\311\312\310\211#\210\202)\304\211\223\207" [end buffer pos start nil make-marker re-search-forward "^ -----------------------------$" t replace-match "------------------------------"] 4 "\ Unquote lines in between START and END as per RFC 1153. START and END are buffer positions in the current buffer. Lines consisting only of a space following by 29 hyphens have the space converted to a hyphen."]) (defalias 'vm-rfc1153-encapsulate-messages #[(message-list keep-list discard-regexp) "\205\263p\306\211\211\214``}\210`\f\203\221\307c\210\f@\211\310H\311HJ)\211\211\310H\312H)\212 q\210\214~\210\212 q\210`\313 \n\211\314H\310H)\n\211\314H\315H)#\210b\210\316\306#\210\317 \203u\320!\203u\321 b\210\202b\316\306#\210\322d\"\210,db\210\323c\210\fA\211\204\324c\210 b\210`\310y\210`|\210\325\326GA\203\253\327\202\254\330#c\210 b.\207" [message-list start m source-buffer mlist target-buffer nil "---------------\n\n" 1 5 9 insert-buffer-substring 0 4 vm-reorder-message-headers vm-match-header looking-at vm-matched-header-end vm-rfc1153-char-stuff-region "\n---------------" "---------------\n\nEnd of this Digest\n******************\n" format "This is an RFC 1153 digest.\n(%d message%s)\n----------------------------------------------------------------------\n" "s" "" message beg vm-mime-header-list vm-internal-unforwarded-header-regexp vm-mime-header-regexp keep-list discard-regexp] 6 "\ Encapsulate the messages in MESSAGE-LIST as per RFC 1153. The resulting digest is inserted at point in the current buffer. Point is not moved. MESSAGE-LIST should be a list of message structs (real or virtual). These are the messages that will be encapsulated. KEEP-LIST should be a list of regexps matching headers to keep. DISCARD-REGEXP should be a regexp that matches headers to be discarded. KEEP-LIST and DISCARD-REGEXP are used to order and trim the headers to be forwarded. See the docs for vm-reorder-message-headers to find out how KEEP-LIST and DISCARD-REGEXP are used."]) (defalias 'vm-rfc1153-or-rfc934-burst-message #[(m rfc1153) "\306\307\306\211\211\211\211\211p\203&\310\"\2032\311\312\2026\313\313\314 deZV\306\211\211\203Z\315 e\306\223\211\203Z\315 d\306\223\316\216\212~\210\317\216\320\321\215.\207" [vm-folder-type folder-type folder-buffer temp-marker separator-regexp prologue-separator-regexp nil t vm-summary-sprintf "^----------------------------------------------------------------------\n" "^------------------------------\n" "\\(^-[^ ].*\n+\\)+" buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) done (byte-code "\306 \211q\210`\307\310 \n \223*\311\f\211\312H\313H)\f\211\314H\315H\206-\316 !\210 \314H\315H)\f\211\314H\317H)#\210eb\210\320,\307\321#\204I\322\323\307\"\210-\203\367.\204[e\314\225|\210\202\204 \314\224\307\223\210\324 /\325\2160\203u\3261 \"\210\202{\3271 \"\210\33021 #\210*\212\324 3\331\216\332\307w\210\333 \203\232\334\335!\206\241\3204\307\321#?+\204\256`.`1\202\353.\203\316h\336U\203\300\337\340!\210\202\263\336c\210\314\224`|\210\3412!c\210`.\3422!c\210`1g\336U\203\347\337\312!\210\202\3325c\210\3204\307\321#\211-\204N.\206\375ed|\21026eb\210\343 \203\344 \210\3452\211\"\210\346 \210\347 \210\202)\350 \314U\204C7q\210\351 \307\32189:db\210\352!\210\353:!\210+\321\207\307\207" [work-buffer buffer pos temp-marker m message vm-make-work-buffer nil make-marker vm-insert-region-from-buffer 1 9 0 3 vm-find-and-set-text-of 4 re-search-forward t throw done match-data ((store-match-data md)) vm-rfc1153-char-unstuff-region vm-rfc934-char-unstuff-region vm-munge-message-separators ((set-match-data save-match-data-internal)) " \n" vm-match-header vm-digest-get-header-contents "From" 10 delete-char -1 vm-trailing-message-separator vm-leading-message-separator vm-find-leading-message-separator vm-skip-past-leading-message-separator vm-convert-folder-type-headers vm-find-trailing-message-separator vm-skip-past-trailing-message-separator buffer-size buffer-modified-p insert-buffer-substring set-buffer-modified-p prologue-separator-regexp match prev-sep md rfc1153 after-prev-sep folder-type save-match-data-internal separator-regexp ident-header vm-folder-type folder-buffer inhibit-quit buffer-read-only old-buffer-modified-p] 6) after-prev-sep ident-header prev-sep match work-buffer vm-digest-identifier-header-format m rfc1153 #3# #2# #1#] 11 "\ Burst messages from the digest message M. M should be a message struct for a real message. If RFC1153 is non-nil, assume the digest is of the form specified by RFC 1153. Otherwise assume RFC 934 digests."]) (defalias 'vm-rfc934-burst-message #[(m) "\301\302\"\207" [m vm-rfc1153-or-rfc934-burst-message nil] 3 "\ Burst messages from the RFC 934 digest message M. M should be a message struct for a real message."]) (defalias 'vm-rfc1153-burst-message #[(m) "\301\302\"\207" [m vm-rfc1153-or-rfc934-burst-message t] 3 "\ Burst messages from the RFC 1153 digest message M. M should be a message struct for a real message."]) (defalias 'vm-burst-digest #[(&optional digest-type) "\204 \306 \210\n\203\307\n!\204\310\311!\210\nq\210\202' \312>\204'\310\313!\210\314 \210\315 \210p\316\211\317\320!01\f\203\363\321\f@!\203_\f@\211\320H\322HJ)\2110\211\320H\323H)q\210\202c\f@02\203q\324\325pC\"\210\202c\326\232\203\204\3270!\211\204\204\310\330!\210\331\332\"\210\333\232\203\226\3340!\202\264\335\232\203\243\3360!\202\264\337\232\203\260\3400!\202\264\310\341\"\203\354\331\342\"\210\343 \210\344\345!\2103T34\203\332\2121q\210\3165\346\320!\210*\347\345\316\f@\211\350H\351H)#\210\352 \210\fA\211\204=\353 \354\316\211\3556C$\210\356 \203\n\357 \210\202 \352 \210\331 !,\207" [digest-type vm-digest-burst-type vm-mail-buffer major-mode mlist totals-blurb vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty nil vm-select-marked-or-prefixed-messages 1 vm-virtual-message-p 5 9 signal folder-read-only "guess" vm-guess-digest-type "Couldn't guess digest type." message "Bursting %s digest..." "mime" vm-mime-burst-message "rfc934" vm-rfc934-burst-message "rfc1153" vm-rfc1153-burst-message "Unknown digest type: %s" "Bursting %s digest... done" vm-clear-modification-flag-undos vm-set-buffer-modified-p t vm-delete-message vm-assimilate-new-messages 4 3 vm-update-summary-and-mode-line vm-emit-totals-blurb vm-display (vm-burst-digest vm-burst-mime-digest vm-burst-rfc934-digest vm-burst-rfc1153-digest) vm-thoughtfully-select-message vm-preview-current-message m start-buffer vm-folder-read-only vm-modification-counter vm-delete-after-bursting vm-move-after-deleting this-command] 6 "\ Burst the current message (a digest) into its individual messages. The digest's messages are assimilated into the folder as new mail would be. Optional argument DIGEST-TYPE is a string that tells VM what kind of digest the current message is. If it is not given the value defaults to the value of vm-digest-burst-type. When called interactively DIGEST-TYPE will be read from the minibuffer. If invoked on marked messages (via vm-next-command-uses-marks), all marked messages will be burst." (list (let ((type nil) (this-command this-command) (last-command last-command)) (setq type (completing-read (format "Digest type: (default %s) " vm-digest-burst-type) (append vm-digest-type-alist (list '("guess"))) 'identity nil)) (if (string= type "") vm-digest-burst-type type)))]) (defalias 'vm-burst-rfc934-digest #[nil "\300\301!\207" [vm-burst-digest "rfc934"] 2 "\ Burst an RFC 934 style digest" nil]) (defalias 'vm-burst-rfc1153-digest #[nil "\300\301!\207" [vm-burst-digest "rfc1153"] 2 "\ Burst an RFC 1153 style digest" nil]) (defalias 'vm-burst-mime-digest #[nil "\300\301!\207" [vm-burst-digest "mime"] 2 "\ Burst a MIME digest" nil]) (defalias 'vm-burst-digest-to-temp-folder #[(&optional digest-type) "\204 \306 \210\n\203\307\n!\204\310\311!\210\nq\210\202' \312>\204'\310\313!\210\314 \210\315 \210p\316\211\317\320!\316345\321\216\212\322\323\324p6@\211\320H\325H) A\203W\326\202X\327$!\330\f!\210\fq\21078 \203\330\331 @!\203\201 @\211\320H\332HJ)4\202\205 @4\333\232\203\230\3344!\211\204\230\310\335!\210\336\337\"\210\340\232\203\253\3414!\210\202\314\342\232\203\271\3434!\210\202\314\344\232\203\307\3454!\210\202\314\310\346\"\210\336\347\"\210 A\211\204j\350\316!\210p9\351\216\352\353!\210\354 \210\355 \203\364\352\356!\210\357 \210*\316:\360;\206\377p\361\3240!\322H\325U\203>\323\312\211\211\211\211123456 G6V\203\372 6H0 6TH16\323\\60\326=\203\27612\202\2250\327=\203\31413\202\2250\330=\203\336.\3311Q.\202\2250\332=\203\35415\202\2250\333=\203\22514\202\2252\203.\3342\335R.5\336=\203\337.P.3\203$\340 \3413#\210\20295\342=\20394\2039\340 \341\3434D#\210.\202U G\344U\203N.\331 \345HQ.\340 \3410#\210)\346\f!\203b.\347P.\f9\204o \350\312\351\fFM\210 \204\200 \312.D AB\241\210\202\223.\203\223\352 \353\354.!!. B#\210-\nA\211\204\f )\207" [menu-name menu menu-items item callback command make-sparse-keymap reverse vectorp 1 nil string-match "^-+$" "" vm-easy-menu-create-keymaps make-symbol format "menu-function-%d" 0 2 symbol-name 58 :keys :active :suffix " " :style :selected " (" ")" toggle "Toggle " put menu-enable radio not 4 3 keymapp " ..." lambda (interactive) define-key vector intern enabler name vm-easy-menu-item-count keyword arg keys active selected style count] 7]) (defalias 'vm-easy-menu-change #[(path name items) "\304\305\306\307\310\311\312 C\"\"#!\313\n!\203\n\314 \"A\241\202\"\315\316!)\207" [path name map items key-binding apply vector menu-bar mapcar intern append keymapp vm-easy-menu-create-keymaps error "Malformed menu in `vm-easy-menu-change'"] 9 "\ Change menu found at PATH as item NAME to contain ITEMS. PATH is a list of strings for locating the menu containing NAME in the menu bar. ITEMS is a list of menu items, as in `vm-easy-menu-define'. These items entirely replace the previous items in that map. Call this from `activate-menubar-hook' to implement dynamic menus."]) (defalias 'vm-easy-menu-remove #[(menu) "\300\207" [nil] 1]) (defalias 'vm-easy-menu-add #[(menu &optional map) "\300\207" [nil] 1]) (provide 'vm-easymenu) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:21 2004 ;;; from file /Users/kyle/vm/vm-edit.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-edit.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-edit-message #[(&optional prefix-argument) "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\n\2034\316\317pC\"\210\202'\320 \210\321 @!\203O @\211\322H\323HJ)\204O\310\324!\210 \203h @\211\325H\326H)\205\234\327 @\330\"\210\331 \207 \212=\203s=q\210` @\211\332H\323H)Z) @\211\322H\332H)p>?@A?\203\235\307?!\204V\333 deZV\330\211BC\211D\203\301\334 e\330\223\211C\203\301\334 d\330\223B\335\216~\210\336\337\340\341 @!\342 @!#!?E\203\335\343\330!\210A@?F\211\322H\332FI\210*\344?A@\211\332H\323H)A@\211\332H\322H)#\210,?q\210\345\330!\210eb\210@\332W\203#\346\347\330\350#\210\202'@u\210G\206-\351 \210\352H\353 \"\210\354H!\210A@C>\355I\350J\356\357!\210\304\360\361!!\210\202Z?q\210K\203\221L\203\221\362 \203\221\363?!\211M\204}\364\365!\210\366 \210\202\220\212\367M!\210N\203\217\370\371M!!\210))\372?\350\373O\374D$,\207" [vm-mail-buffer major-mode vm-folder-read-only vm-message-pointer message prefix-argument vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-check-for-killed-presentation signal folder-read-only vm-error-if-folder-empty vm-virtual-message-p 4 1 "Can't edit unmirrored virtual messages." 2 7 vm-set-edited-flag-of nil vm-update-summary-and-mode-line 0 buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) generate-new-buffer format "edit of %s's note re: %s" vm-su-full-name vm-su-subject set-buffer-multibyte copy-to-buffer set-buffer-modified-p search-forward "\n\n" t text-mode set-keymap-parent current-local-map use-local-map editing run-hooks vm-edit-message-hook substitute-command-keys "Type \\[vm-edit-message-end] to end edit, \\[vm-edit-message-abort] to abort with no change." vm-multiple-frames-possible-p vm-get-buffer-window vm-goto-new-frame edit vm-set-hooks-for-frame-deletion select-window vm-warp-mouse-to-frame-maybe vm-window-frame vm-display (vm-edit-message vm-edit-message-other-frame) editing-message vm-presentation-buffer folder-buffer edit-buf offset mp #3# #2# #1# vm-fsfemacs-mule-p buf vm-edit-message-mode vm-edit-message-map vm-system-state buffer-offer-save vm-mutable-frames vm-frame-per-edit w vm-warp-mouse-to-new-frame this-command] 7 "\ Edit the current message. Prefix arg means mark as unedited instead. If editing, the current message is copied into a temporary buffer, and this buffer is selected for editing. The major mode of this buffer is controlled by the variable vm-edit-message-mode. The hooks specified in vm-edit-message-hook are run just prior to returning control to the user for editing. Use C-c ESC when you have finished editing the message. The message will be inserted into its folder replacing the old version of the message. If you don't want your edited version of the message to replace the original, use C-c C-] and the edit will be aborted." "P"]) (defalias 'vm-edit-message-other-frame #[(&optional prefix) "\303 \203 \304\305!\210\306\211\307\n!\210*\303 \205\310 \207" [vm-frame-per-edit vm-search-other-frames prefix vm-multiple-frames-possible-p vm-goto-new-frame edit nil vm-edit-message vm-set-hooks-for-frame-deletion] 2 "\ Like vm-edit-message, but run in a newly created frame." "P"]) (defalias 'vm-discard-cached-data #[(&optional count) "\204\304\305 \210 \203\306 !\204\307\310!\210 q\210\202'\n\311>\204'\307\312!\210\313 \210\314 \210\315 \210\316!\317 !\210)\320\321\211\322\323$\210\324 \207" [count vm-mail-buffer major-mode mlist 1 vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-check-for-killed-presentation vm-error-if-folder-empty vm-select-marked-or-prefixed-messages vm-discard-cached-data-internal vm-display nil (vm-discard-cached-data) (vm-discard-cached-data) vm-update-summary-and-mode-line] 5 "\ Discard cached information about the current message. When VM gathers information from the headers of a message, it stores it internally for future reference. This command causes VM to forget this information, and VM will be forced to search the headers of the message again for these data. VM will also have to decide again which headers should be displayed and which should not. Therefore this command is useful if you change the value of vm-visible-headers or vm-invisible-header-regexp in the midst of a VM session. Numeric prefix argument N means to discard data from the current message plus the next N-1 messages. A negative N means discard data from the current message and the previous N-1 messages. When invoked on marked messages (via vm-next-command-uses-marks), data is discarded only from the marked messages in the current folder." "p"]) (defalias 'vm-discard-cached-data-internal #[(mlist) "\306\307\310\"\311\n\2031\n@\211\312H\313HJ)\314 \210\315\f!\203$\316\317\"\210\211\320H\321H)\322\211\320H)\311\"\210  \211\320H\321 I\210+\311!\211\310H\323!I\210*\311\"\211\320H\324\"I\210*\311#\211\310H\320#I\210*\311$\211\312H\325$I\210*\311%\211\312H\326%I\210*&\203\235'@=\203\235\212\327 \210)\315\f!\203\250\330C!\210(\203\263\331\332 \"\210\211\333H\312HJ))\212)\203%)@\311$\211\312H\325$I\210*)@\311%\211\312H\326%I\210*)@\211\312H\334H)q\210&\203'@)@=\203\212\327 \210)\315\f!\203\330)@C!\210(\203\331\332 \"\210)A\211)\204\304*\335!\210\nA\211\204 \212\336\337 \"+\207" [m buffers-needing-thread-sort mlist message vm-thread-obarray uidl make-vector 29 0 nil 1 5 vm-garbage-collect-message vectorp vm-unthread-message t 3 23 fillarray 2 12 16 17 vm-preview-current-message vm-build-threads intern buffer-name 4 9 vm-mark-for-summary-update mapatoms #[(s) "\301\302!!q\210\303\304!\207" [s get-buffer symbol-name vm-sort-messages "thread"] 3] val vh regexp text layout flag vm-presentation-buffer vm-message-pointer vm-summary-show-threads v-list] 4]) (defalias 'vm-edit-message-end #[nil "\204\306\307!\210\310@\211\311H\312H)!\204\306\313!\210`eZdb\210h\314U\204*\314c\210\315@\211\311H\316H)ed#\210@\211\311H\316H)\317=\203\211\320\211eb\210\321 \320\322#\203n\311\224\204n\323\224b\210\3247!\203n\325 \326 |\210\202Meb\210\327\330\320\323#\210d`Zeb\2107\331\332 !\333\261\210*p89\334 \203\321~\210\2128@\211\311H\335HJ)\211\311H\312H)q\2108@\211\311H\335HJ):>\204\300\306\336!\210\337 deZV\320\211;<\211=\203\344\340 e\320\223\211<\203\344\340 d\320\223;\341\216~\2108@\211\311H\335HJ)\211\323H\311H)b\2108\320\211>`>\3429!\210`8@\211\311H\335HJ)\211\323H\343H)|\210\344 \210+\3458@\322\"\2108@\320?\211\343H\323?I\210.8@\211\311H\312H)q\2108@\211\311H\335HJ)@\211\311H\335HJ)=\203\312\346 \210p@\347\216A\203sAq\210\337 deZV\320\211BC\211D\203\227\340 e\320\223\211C\203\227\340 d\320\223B\350\216p@\351\216~\210\352 \353p!EF\354\216E\203\305\355E!\210@\211\323H\311H)b\210\320\356\357\217\210. \202\315\360 \210)\202\325\301\361!\210\3629\320\363\364$\210\365\320!\210\3669!+\207" [vm-message-pointer message pos-offset length buffer-read-only vm-content-length-search-regexp error "This is not a VM message edit buffer." buffer-name 1 9 "The folder buffer for this message has been killed." 10 vm-munge-message-separators 7 From_-with-Content-Length nil re-search-forward t 0 vm-match-header vm-matched-header-start vm-matched-header-end search-forward "\n\n" " " int-to-string "\n" buffer-modified-p 5 "The original copy of this message has been expunged." buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) insert-buffer-substring 4 vm-discard-cached-data vm-set-edited-flag-of vm-preview-current-message ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#4=#:vm-sr-clip #5=#:vm-sr-min #6=#:vm-sr-max nil] 3)) ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) selected-window vm-get-visible-buffer-window ((byte-code "\301 =\204 \302!\210\301\207" [osw selected-window select-window] 2)) select-window (forward-char pos-offset) ((error)) vm-update-summary-and-mode-line "No change." vm-display (vm-edit-message-end) (vm-edit-message-end reading-message startup) set-buffer-modified-p kill-buffer vm-content-length-header mp edit-buf vm-message-list #3# #2# #1# opoint buf vm-sbe-buffer vm-presentation-buffer #6# #5# #4# new-win osw] 6 "\ End the edit of a message and copy the result to its folder." nil]) (defalias 'vm-edit-message-abort #[nil "\204\303\304!\210\305@\211\306H\307HJ)\211\306H\310H)!\204\"\303\311!\210@\312\211\313H\314\nI\210*\315p\312\316\317$\210\320\312!\210\321p!\210\301\322!\207" [vm-message-pointer message buf error "This is not a VM message edit buffer." buffer-name 1 5 9 "The folder buffer for this message has been killed." nil 4 0 vm-display (vm-edit-message-abort) (vm-edit-message-abort reading-message startup) set-buffer-modified-p kill-buffer "Aborted, no change."] 6 "\ Abort the edit of a message, forgetting changes to the message." nil]) (provide 'vm-edit) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:21 2004 ;;; from file /Users/kyle/vm/vm-folder.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-folder.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-number-messages #[(&optional start-point end-point) "\306\206 \203/@\211\306H\307HJ)\203/\310@\211\306H\307HJ)@\211\306H\311H)!T\n =\204^\n@\312 !\211\306H\311 I\210*\n@\313\314 \"\211\306H\306 I\210* T\nA\211\2020 \204h\312 S!\205r\315\316\"*\207" [start-point vm-message-list message-list n message end-point 1 6 string-to-int 0 int-to-string format "%3d" vm-copy-local-variables vm-ml-highest-message-number vm-summary-buffer] 5 "\ Set the number-of and padded-number-of slots of messages in vm-message-list. If non-nil, START-POINT should point to a cons cell in vm-message-list and the numbering will begin there, else the numbering will begin at the head of vm-message-list. If START-POINT is non-nil the reverse-link-of slot of the message in the cons must be valid and the message pointed to (if any) must have a non-nil number-of slot, because it is used to determine what the starting message number should be. If non-nil, END-POINT should point to a cons cell in vm-message-list and the numbering will end with the message just before this cell. A nil value means numbering will be done until the end of vm-message-list is reached."]) (defalias 'vm-set-numbering-redo-start-point #[(start-point) "\305\306 \"\210 \307=?\205L\n:\203I :\203I \211\2034\f@\n@=\2044\f@ @=\2044\fA\211\204\f\204<\310\311!\210\f@\n@=\205G\n\211)\207\n\211\207" [vm-buffers-needing-display-update vm-numbering-redo-start-point start-point vm-message-list mp intern buffer-name t error "Something is wrong in vm-set-numbering-redo-start-point"] 4 "\ Set vm-numbering-redo-start-point to START-POINT if appropriate. Also mark the current buffer as needing a display update. START-POINT should be a cons in vm-message-list or just t. (t means start from the beginning of vm-message-list.) If START-POINT is closer to the head of vm-message-list than vm-numbering-redo-start-point or is equal to t, then vm-numbering-redo-start-point is set to match it."]) (defalias 'vm-set-numbering-redo-end-point #[(end-point) "\304\305 \"\210 \306=\203\306\211\207 :\2033\307 @\211\310H\311H)!\307\n@\211\310H\311H)!V\2033 \211\207 ?\205; \211\207" [vm-buffers-needing-display-update end-point vm-numbering-redo-end-point message intern buffer-name t string-to-int 1 0] 5 "\ Set vm-numbering-redo-end-point to END-POINT if appropriate. Also mark the current buffer as needing a display update. END-POINT should be a cons in vm-message-list or just t. (t means number all the way to the end of vm-message-list.) If END-POINT is closer to the end of vm-message-list or is equal to t, then vm-numbering-redo-start-point is set to match it. The number-of slot is used to determine proximity to the end of vm-message-list, so this slot must be valid in END-POINT's message and the message in the cons pointed to by vm-numbering-redo-end-point."]) (defalias 'vm-do-needed-renumbering #[nil "\205\302:\205  \"\210\303\303\211\207" [vm-numbering-redo-start-point vm-numbering-redo-end-point vm-number-messages nil] 3 "\ Number messages in vm-message-list as specified by vm-numbering-redo-start-point and vm-numbering-redo-end-point. vm-numbering-redo-start-point = t means start at the head of vm-message-list. vm-numbering-redo-end-point = t means number all the way to the end of vm-message-list. Otherwise the variables' values should be conses in vm-message-list or nil."]) (defalias 'vm-set-summary-redo-start-point #[(start-point) "\305\306 \"\210 \307=?\205F\n:\203C :\203C \211\2030\f\n=\2040\f =\2040\fA\211\204\f\2048\310\311!\210\f\n=\205A\n\211)\207\n\211\207" [vm-buffers-needing-display-update vm-summary-redo-start-point start-point vm-message-list mp intern buffer-name t error "Something is wrong in vm-set-summary-redo-start-point"] 4 "\ Set vm-summary-redo-start-point to START-POINT if appropriate. Also mark the current buffer as needing a display update. START-POINT should be a cons in vm-message-list or just t. (t means start from the beginning of vm-message-list.) If START-POINT is closer to the head of vm-message-list than vm-summary-redo-start-point or is equal to t, then vm-summary-redo-start-point is set to match it."]) (defalias 'vm-mark-for-summary-update #[(m &optional dont-kill-cache) "\211\211\306H\307HJ)=\203\206\n\204\310\211\311H\312 I\210*\211\306H\311H)\203-\fB\313\314\211\306H\315H)! \"\210\211\316H\306HJ)\211\205\204\211\317H)@\211\317H)=\203z\320@!\203j@\fB\313\314@\211\306H\315H)! \"\210A\211\204J\310)\207\211\316H\306HJ)\203\211\316H\306HJ)\211\203\332\211\317H)@\211\317H)=\203\321\320@!\203\301@\fB\313\314@\211\306H\315H)! \"\210A\211\204\241\n\204\352\310\211\311H\312 I\210*\320\321!!\203\376\211\306H\307HJ)\fB\313\314\211\306H\307HJ)\211\306H\315H)! \")\207\n\204'\310\211\306H\322I\210*\320!\2031\fB\313\314\211\306H\315H)! \"\207" [m message dont-kill-cache val vm-messages-needing-summary-update vm-buffers-needing-display-update 1 5 nil 3 18 intern buffer-name 9 4 2 vm-su-start-of vm-real-message-of 15 m-list summ] 5 "\ Mark message M for a summary update. Also mark M's buffer as needing a display update. Any virtual messages of M and their buffers are similarly marked for update. If M is a virtual message and virtual mirroring is in effect for M (i.e. attribute-of eq attributes-of M's real message), M's real message and its buffer are scheduled for an update. Optional arg DONT-KILL-CACHE non-nil means don't invalidate the summary-of slot for any messages marked for update. This is meant to be used by functions that update message information that is not cached in the summary-of slot, e.g. message numbers and thread indentation."]) (defalias 'vm-force-mode-line-update #[nil "\300\301!\203\n\301\302!\207\212\303 q\210\304\305 !)\207" [fboundp force-mode-line-update t other-buffer set-buffer-modified-p buffer-modified-p] 2 "\ Force a mode line update in all frames."]) (defalias 'vm-do-needed-mode-line-update #[nil "\204+ \306=\203\307\310 \311\216\312 \210+\f\203\325\310 \313\216\212\fq\210\307\312 \210,\202\325@\211\314H\315H)\203@\316@!)\202C\307)@\211\317H\320H)\"@\211\321H\320H)@\211\321H\317H)@\211\321H\320H)?\205{@\211\321H\317H)?@\211\321H\322H)@\211\321H\315H)@\211\321H\323H)@\211\321H\314H)@\211\321H\324H)@\211\321H\325H).@\211\321H\321H) @\211\317H\321H)!/\203\310 0\212\326/\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353&\210/q\210\3540!\210*\f\203/\310 0\212\326\f\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\351\352\353&\210\fq\210\3540!\210*\355 \207" [vm-message-pointer major-mode omodified buffer-read-only vm-presentation-buffer message vm-virtual-mode nil buffer-modified-p ((set-buffer-modified-p omodified)) erase-buffer ((set-buffer-modified-p omodified)) 4 3 vm-su-labels 1 0 2 7 5 6 8 vm-copy-local-variables default-directory vm-ml-message-new vm-ml-message-unread vm-ml-message-read vm-ml-message-edited vm-ml-message-replied vm-ml-message-forwarded vm-ml-message-filed vm-ml-message-written vm-ml-message-deleted vm-ml-message-marked vm-ml-message-number vm-ml-highest-message-number vm-folder-read-only vm-folder-type vm-virtual-folder-definition vm-virtual-mirror vm-ml-sort-keys vm-ml-labels vm-spooled-mail-waiting vm-message-list set-buffer-modified-p vm-force-mode-line-update vm-ml-message-redistributed vm-summary-buffer modified] 24 "\ Do a modeline update for the current folder buffer. This means setting up all the various vm-ml attribute variables in the folder buffer and copying necessary variables to the folder buffer's summary and presentation buffers, and then forcing Emacs to update all modelines. If a virtual folder being updated has no messages, then erase-buffer is called on its buffer. If any type of folder is empty, erase-buffer is called on its presentation buffer, if any."]) (defalias 'vm-update-summary-and-mode-line #[nil "\212\302\303\"\210\304\305\"\210) \203\306\307 \"\210\310\311 \210\312 \207" [vm-buffers-needing-display-update vm-messages-needing-summary-update mapatoms #[(b) "\304\305!!\211\205.q\210\306\307 \"\210\310 \210\n\203\"\311 \203\"\312 \210\313 \210 \203,\314 \210\315 \207" [b vm-buffers-needing-undo-boundaries vm-use-toolbar vm-summary-buffer get-buffer symbol-name intern buffer-name vm-check-for-killed-summary vm-toolbar-support-possible-p vm-toolbar-update-toolbar vm-do-needed-renumbering vm-do-needed-summary-rebuild vm-do-needed-mode-line-update] 4] fillarray 0 mapcar vm-update-message-summary nil vm-do-needed-folders-summary-update vm-force-mode-line-update] 3 "\ Update summary and mode line for all VM folder and summary buffers. Really this updates all the visible status indicators. Message lists are renumbered. Summary entries are wiped and regenerated. Mode lines are updated. Toolbars are updated."]) (defalias 'vm-reverse-link-messages #[nil "\305\211\205 \n@ \211\306H\307H L\210*\n\nA\211\204\305*\207" [vm-message-list prev mp link message nil 1 6] 3 "\ Set reverse links for all messages in vm-message-list."]) (defalias 'vm-match-ordered-header #[(alist) "\301\302\303\215)\207" [case-fold-search t match (byte-code "\203\301@@!\203\302\303@\"\210A\211\204\304\207" [alist looking-at throw match nil] 4)] 2 "\ Try to match a header in ALIST and return the matching cell. This is used by header ordering code. ALIST looks like this ((\"From\") (\"To\")). This function returns the alist element whose car matches the header starting at point. The header ordering code uses the cdr of the element returned to hold headers to be output later."]) (defalias 'vm-match-header #[(&optional header-name) "\304\305\n\203\306\n!\205R\306!\202\306!\205R\212 \307`I\210 \310`I\210 \311\312\225I\210\307\225b\210\313\314w\210 \315`I\210\312y\210\306\316!\203G\312y\210\202; \312`I\210 \317`SI)*\207" [header-name-regexp case-fold-search header-name vm-matched-header-vector t "\\([^ \n:]+\\):" looking-at 0 2 3 1 " " nil 4 "[ ]" 5] 3 "\ Match a header and save some state information about the matched header. Optional first arg HEADER-NAME means match the header only if it matches HEADER-NAME. HEADER-NAME should be a string containing a header name. The string should end with a colon if just that name should be matched. A string that does not end in a colon will match all headers that begin with that string. State information is stored in vm-matched-header-vector bound to a vector of this form. [ header-start header-end header-name-start header-name-end header-contents-start header-contents-end ] Elements are integers. There are functions to access and use this info."]) (defalias 'vm-matched-header #[nil "\301\302H\303H\"\207" [vm-matched-header-vector vm-buffer-substring-no-properties 0 1] 4 "\ Returns the header last matched by vm-match-header. Trailing newline is included."]) (defalias 'vm-matched-header-name #[nil "\301\302H\303H\"\207" [vm-matched-header-vector vm-buffer-substring-no-properties 2 3] 4 "\ Returns the name of the header last matched by vm-match-header."]) (defalias 'vm-matched-header-contents #[nil "\301\302H\303H\"\207" [vm-matched-header-vector vm-buffer-substring-no-properties 4 5] 4 "\ Returns the contents of the header last matched by vm-match-header. Trailing newline is not included."]) (defalias 'vm-matched-header-start #[nil "\301H\207" [vm-matched-header-vector 0] 2 "\ Returns the start position of the header last matched by vm-match-header."]) (defalias 'vm-matched-header-end #[nil "\301H\207" [vm-matched-header-vector 1] 2 "\ Returns the end position of the header last matched by vm-match-header."]) (defalias 'vm-matched-header-name-start #[nil "\301H\207" [vm-matched-header-vector 2] 2 "\ Returns the start position of the name of the header last matched by vm-match-header."]) (defalias 'vm-matched-header-name-end #[nil "\301H\207" [vm-matched-header-vector 3] 2 "\ Returns the end position of the name of the header last matched by vm-match-header."]) (defalias 'vm-matched-header-contents-start #[nil "\301H\207" [vm-matched-header-vector 4] 2 "\ Returns the start position of the contents of the header last matched by vm-match-header."]) (defalias 'vm-matched-header-contents-end #[nil "\301H\207" [vm-matched-header-vector 5] 2 "\ Returns the end position of the contents of the header last matched by vm-match-header."]) (defalias 'vm-get-folder-type #[(&optional file start end ignore-visited) "\306\211\211\307\216\212 \2030\f\204\310 ! \203 q\210\2020\311 \211q\210\312 !\2030\306\313\314\217\210\212\214 \2048\315\204B\316 T~\210 }\210eb\210\316 \317U\203W\306\202\236\320\321!\203\211\204g\202\236\322\323\306\322#\210)\315\224\203{\202\236\317\224\203\204\324\202\236\202\236\320\325!\203\223\326\202\236\320\327!\203\235\330\202\236\331.\207" [case-fold-search b temp-buffer file ignore-visited start nil ((byte-code "\203\301!\210\301\207" [temp-buffer kill-buffer] 2)) vm-get-file-buffer vm-make-work-buffer file-readable-p (byte-code "\203\304\202 \203\304\202\305\306 \307\310\311$\210)\307\207" [vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read file binary no-conversion insert-file-contents nil 0 4096] 5) ((wrong-number-of-arguments (byte-code "\302\303 \304\305\306&\207" [file temp-buffer call-process "sed" nil "-n" "1,/^$/p"] 7))) 1 buffer-size 0 looking-at "\n*From " t re-search-forward From_-with-Content-Length "\n" mmdf "BABYL OPTIONS:" babyl unknown end vm-trust-From_-with-Content-Length vm-default-From_-folder-type vm-content-length-search-regexp] 5 "\ Return a symbol indicating the folder type of the current buffer. This function works by examining the beginning of a folder. If optional arg FILE is present the type of FILE is returned instead. If FILE is being visited, the type of the buffer is returned. If optional second and third arg START and END are provided, vm-get-folder-type will examine the text between those buffer positions. START and END default to 1 and (buffer-size) + 1. If IGNORED-VISITED is non-nil, even if FILE is being visited, its buffer is ignored and the disk copy of FILE is examined. Returns nil if folder has no type (empty) unknown if the type is not known to VM mmdf for MMDF folders babyl for BABYL folders From_ for BSD UNIX From_ folders BellFrom_ for old SysV From_ folders From_-with-Content-Length for new SysV folders that use the Content-Length header If vm-trust-From_-with-Content-Length is non-nil, From_-with-Content-Length is returned if the first message in the folder has a Content-Length header and the folder otherwise looks like a From_ folder. Since BellFrom_ and From_ folders cannot be reliably distinguished from each other, you must tell VM which one your system uses by setting the variable vm-default-From_-folder-type to either From_ or BellFrom_. For folders that could be From_ or BellFrom_ folders, the value of vm-default-From_folder-type will be returned."]) (defalias 'vm-convert-folder-type #[(old-type new-type) "\306\211\211eb\210\307 \210\310 \2033\311 B\312 \210\311 B\313 \210\311 B\314 \210\311 B\202 \237eb\210\315 \"\210 \205\207 @ @b\210\316\317 !!\210 @ A@|\210\320 \"\210 AA\321 @! @b\210\316\322 !!\210 @ A@|\210\nb\210\323 \n #\210 AA\211\204B\306,\207" [old-type end beg pos-list vm-folder-type new-type nil vm-skip-past-folder-header vm-find-leading-message-separator point-marker vm-skip-past-leading-message-separator vm-find-trailing-message-separator vm-skip-past-trailing-message-separator vm-convert-folder-header insert-before-markers vm-leading-message-separator vm-convert-folder-type-headers marker-position vm-trailing-message-separator vm-munge-message-separators] 5 "\ Convert buffer from OLD-TYPE to NEW-TYPE. OLD-TYPE and NEW-TYPE should be symbols returned from vm-get-folder-type. This should be called on non-live buffers like crash boxes. This will confuse VM if called on a folder buffer in vm-mode."]) (defalias 'vm-convert-folder-header #[(old-type new-type) "\304=\203\212`\305\306\307!\203\310\311\312\305#\203\n`|\210+ \304=\205'\313\314!\207" [old-type case-fold-search beg new-type babyl t looking-at "BABYL OPTIONS:" search-forward "" nil insert-before-markers "BABYL OPTIONS:\nVersion: 5\n"] 4 "\ Convert the folder header form OLD-TYPE to NEW-TYPE. The folder header is the text at the beginning of a folder that is a legal part of the folder but is not part of the first message. This is for dealing with BABYL files."]) (defalias 'vm-skip-past-folder-header #[nil "\301=\205 \302\303\304\305#\207" [vm-folder-type babyl search-forward "" nil 0] 4 "\ Move point past the folder header. The folder header is the text at the beginning of a folder that is a legal part of the folder but is not part of the first message. This is for dealing with BABYL files."]) (defalias 'vm-convert-folder-type-headers #[(old-type new-type) "\306 \307=\203 \306\212\212\310\311\306\312#\210`) \313 \210)`\nZ* \307=\204, \307=\203S\212\314\315\306\314#)\203R\316\224\204R\312\224b\210\317!\203R\320 \321 |\210\202-) \307=\205d\212\322\323!\324\261))\207" [length new-type start old-type vm-folder-type case-fold-search nil From_-with-Content-Length search-forward "\n\n" 0 vm-find-trailing-message-separator t re-search-forward 1 vm-match-header vm-matched-header-start vm-matched-header-end " " int-to-string "\n" vm-content-length-search-regexp vm-content-length-header] 4 "\ Convert headers in the message around point from OLD-TYPE to NEW-TYPE. This means to add/delete Content-Length and any other headers related to folder-type as needed for folder type conversions. This function expects point to be at the beginning of the header section of a message, and it only deals with that message."]) (defalias 'vm-munge-message-separators #[(folder-type start end) "\212\306=\203 \307\310>\2054\n\311\312 \f \223* b\210\313 \2030`\nW\2030\314c\210\202\n\311\211\223*\207" [folder-type vm-folder-type end buffer pos start From_ BellFrom_ (From_ From_-with-Content-Length mmdf BellFrom_ babyl) nil make-marker vm-find-leading-message-separator ">"] 3 "\ Munge message separators of FOLDER-TYPE found between START and END. This function is used to eliminate message separators for a particular folder type that happen to occur in a message. \">\" is prepended to such separators."]) (defalias 'vm-compatible-folder-p #[(file) "\303!\n\205 ?\206\n =)\207" [file type vm-folder-type vm-get-folder-type] 2 "\ Return non-nil if FILE is a compatible folder with the current buffer. The current folder must have vm-folder-type initialized. FILE is compatible if - it is empty - the current folder is empty - the two folder types are equal"]) (defalias 'vm-leading-message-separator #[(&optional folder-type message for-other-folder) "\206 \211\305>\203\306\307 \310Q\2023\n\311=\203\312\2023\n\313=\2053 \2032\314\315 \f\"\316Q\2023\317)\207" [folder-type vm-folder-type type message for-other-folder (From_ From_-with-Content-Length BellFrom_) "From VM " current-time-string "\n" mmdf "\n" babyl "\f\n0," vm-babyl-attributes-string ",\n*** EOOH ***\n" "\f\n0, recent, unseen,,\n*** EOOH ***\n"] 5 "\ Returns a leading message separator for the current folder. Defaults to returning a separator for the current folder type. Optional first arg FOLDER-TYPE means return a separator for that folder type instead. Optional second arg MESSAGE should be a message struct. This is used generating BABYL separators, because they contain message attributes and labels that must must be copied from the message. Optional third arg FOR-OTHER-FOLDER non-nil means that this separator will be used a `foreign' folder. This means that the `deleted' attributes should not be copied for BABYL folders."]) (defalias 'vm-trailing-message-separator #[(&optional folder-type) "\206 \211\303=\203\304\2025\n\305=\203\306\2025\n\307=\203$\306\2025\n\310=\203.\311\2025\n\312=\2055\313)\207" [folder-type vm-folder-type type From_ "\n" From_-with-Content-Length "" BellFrom_ mmdf "\n" babyl ""] 3 "\ Returns a trailing message separator for the current folder. Defaults to returning a separator for the current folder type. Optional first arg FOLDER-TYPE means return a separator for that folder type instead."]) (defalias 'vm-folder-header #[(&optional folder-type label-obarray) "\206 \211\305=\203+\306\f\203\307\310\f\"\210 \203&\311\312\313\314 \315#\"\202'\316)\202,\317)\207" [folder-type vm-folder-type type list label-obarray babyl nil mapatoms #[(sym) " B\211\207" [sym list] 2] format "BABYL OPTIONS:\nVersion: 5\nLabels: %s\n" mapconcat symbol-name ", " "BABYL OPTIONS:\nVersion: 5\n" ""] 7 "\ Returns a folder header for the current folder. Defaults to returning a folder header for the current folder type. Optional first arg FOLDER-TYPE means return a folder header for that folder type instead. Optional second arg LABEL-OBARRAY should be an obarray of labels that have been used in this folder. This is used for BABYL folders."]) (defalias 'vm-find-leading-message-separator #[nil "\303=\203\304\305\306\307\215*\207\310=\203(\304\305\311\n\305\312#\205&\313\224b\210\314*\207\315=\203A\316\305\311\n\305\312#\205?\317\225b\210\314*\207\320=\203Z\321\305\311\n\305\312#\205X\313\224b\210\314*\207\322=\203cdb\207\323=\205q\324\305\306\325\215*\207" [vm-folder-type case-fold-search reg1 From_ "^From .*[0-9]$" nil done (byte-code "\301\302\303#\203)\304\224b\210`\305W\204`\306Zf\307\232\203#\310\311\312\"\210\202\313u\210\202\302\207" [reg1 re-search-forward nil no-error 0 3 2 10 throw done t 1] 4) BellFrom_ re-search-forward no-error 0 t From_-with-Content-Length "\\(^\\|\n+\\)From " 1 mmdf "^" baremessage babyl "\f\n[01]," (byte-code "\301\302\303#\203$\304\224b\210o\204h\305U\203\306\307\310\"\210\202\311u\210\202\302\207" [reg1 re-search-forward nil no-error 0 31 throw done t 1] 4)] 4 "\ Find the next leading message separator in a folder. Returns non-nil if the separator is found, nil otherwise."]) (defalias 'vm-find-trailing-message-separator #[nil "\306=\203\f\307 \210\310u\207\311=\203\307 \207\312=\203z\313\314`\314\315\316 \314\315#)\203`\317\224\204`\320\224b\210\321!\203`\322\323 !\324\325\314\320#\203\\d`Z Y\203Y u\210\202\\db\210\326\314w\210m\206g\327\f!?\205x\nb\210\316\f\314\320#\205x\330u,\207\331=\203\203\307 \207\332=\203\214db\207\333=\205\227\307 \210\310u\207" [vm-folder-type case-fold-search start-point content-length reg1 vm-content-length-search-regexp From_ vm-find-leading-message-separator -1 BellFrom_ From_-with-Content-Length "^From " nil t re-search-forward 1 0 vm-match-header string-to-int vm-matched-header-contents search-forward "\n\n" "\n" looking-at -5 mmdf baremessage babyl vm-content-length-header] 4 "\ Find the next trailing message separator in a folder."]) (defalias 'vm-skip-past-leading-message-separator #[nil "\303>\203\304\305\306y\210\307\n!\205\306y\210\202 *\207\310=\2036\311u\210\304\305\307\n!\2054\306y\210\202(*\207\312=\205A\313\314\305\315#\207" [vm-folder-type case-fold-search reg1 (From_ BellFrom_ From_-with-Content-Length) "^>From " nil 1 looking-at mmdf 5 babyl search-forward "\n*** EOOH ***\n" 0] 4 "\ Move point past a leading message separator at point."]) (defalias 'vm-skip-past-trailing-message-separator #[nil "\301=\203m?\205+\302u\207\303=\206+\304=\206+\305=\203#\306u\207\307=\205+\302u\207" [vm-folder-type From_ 1 From_-with-Content-Length BellFrom_ mmdf 5 babyl] 2 "\ Move point past a trailing message separator at point."]) (defalias 'vm-build-message-list #[nil "\306 \212\307\310\311\312 !\313\246\314\\\307\211$\203\\$e%\211&\203T%&@\211\310H\315H)W\203A&@\211\310H\315H)%&A:\204K&&A\211&\204%%b\210*\202}eb\210\316>\203zg\317U\203z\302\320'\206t\321 \"\210\322\323!\210\324 \210`\325 \203R\326 \211(\211\327H\330(I\210*\n)*\211\327H\331*I\210*\n`\307+,\332 ,+\223*-\211\310H\310-I\210*\333 \210\n`\307+,\332 ,+\223*.\211\310H\327.I\210*\334 \210\n`\307+,\332 ,+\223*/\211\310H\335/I\210*\336 \210`\n`\307+,\332 ,+\223*%\211\310H\315%I\210*\n 0\211\327H\337H0L\210* \2047\nC\211$\202? \nC\241\210 A\fT\211 \246\310U\203\302\340\f\"\210\202\f Y\203\\\302\341!\210 dU?\205y\342=?\205y\302\343'\206s\321 #\210\322\323!.\207" [vm-folder-type last-end message modulus n tail-cons vm-get-folder-type nil 0 vm-abs random 11 25 5 (From_ BellFrom_ From_-with-Content-Length) 10 "Warning: newline found at beginning of folder, %s" buffer-name sleep-for 2 vm-skip-past-folder-header vm-find-leading-message-separator vm-make-message 1 7 19 make-marker vm-skip-past-leading-message-separator vm-find-trailing-message-separator 4 vm-skip-past-trailing-message-separator 6 "Parsing messages... %d" "Parsing messages... done" unknown "Warning: garbage found at end of folder, %s, starting at %d" vm-message-list end mp buffer-file-name type vm-folder-access-method method buffer pos start h text link] 6 "\ Build a chain of message structures, stored them in vm-message-list. Finds the start and end of each message and fills in the relevant fields in the message structures. Also finds the beginning of the header section and the end of the text section and fills in these fields in the message structures. vm-text-of and vm-vheaders-of fields don't get filled until they are needed. If vm-message-list already contained messages, the end of the last known message is found and then the parsing of new messages begins there and the message are appended to vm-message-list. vm-folder-type is initialized here."]) (defalias 'vm-build-header-order-alist #[(vheaders) "\303\211B\303\211\n\203\n@\303B\303B\241\210A\nA\211\204\f A*\207" [list order-alist vheaders nil] 4]) (defalias 'vm-reorder-message-headers #[(message keep-list discard-regexp) "\212\203\211\306H\307H)q\210  \212\214~\210\203r\211\310H\311H)\203r\212\211\312H\306H)b\210\313\314\211\310H\311H)\211\312H\310H\206O\315!\210\312H\310H)\313#\210)\312\224\316$%\317 %$\223*&\211\312H\320&I+\202\321 deZV\316\211'(\211)\203\226\317 e\316\223\211(\203\226\317 d\316\223'\322\216\323\n!\316\211\211\211\211\211p\316\313\316\211\211\211\324 *+,-./01234567\325\216\203Q8\326=\203&\211\306H\311H)\204&\211\312H\312H)b\210\320y\210\3139\211\306H\3119I\210*\327p\211\312H\306H)\211\312H\310H\206\315!\210\312H\310H)S#\210`Sf\330=\204&\330c\210\331 \2115q\210\3270\211\312H\306H)\211\312H\310H\206K\315!\210\312H\310H)#\210eb\210`+\332\333!\203`\316y\210\202Tg\330U\204\365\334 \203\365\335 2\3367!\2113\204}\f\203\207\f\203\321\332\f!\203\321\204\223`2|\210\202T.\204\246`2\316BB\211.-\202\312`-A@U\203\271-A2\240\210\202\312-A`2\316BB\241\210-AA-2b\210\202T3\203\34532`3ABB\241\210\202\3562`4BB42b\210\202T`,.\203\327p.@.A@#\210.AA\211.\204\375\203`,Z17\203J7@A\237\2113\203A\327p3@3A@#\2103AA\2113\204,7A\2117\204!4\237\2114\203h\327p4@4A@#\2104AA\2114\204S+,|\210\203\253\313:\211\306H\307H)q\210\211\312H\306H)b\210\3275!\210`\211\312H\310H\206\242\315!\210\312H\310H)|\210\337*!\210))\205\211\211\312H\306H)1\\\316$%\317 %$\223*&\211\312H\320&I\210*\211\312H\320H\206\352\340\316\211#\210\312H\320H)b\210\334 \205\341\342 \343Q;\211\310H\311;I*.+\207" [message vm-visible-headers keep-list vm-invisible-header-regexp discard-regexp case-fold-search 1 9 3 12 0 t re-search-forward vm-find-and-set-text-of nil make-marker 2 buffer-size ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) vm-build-header-order-alist buffer-modified-p ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) babyl insert-buffer-substring 10 vm-make-work-buffer looking-at ">From " vm-match-header vm-matched-header-end vm-match-ordered-header set-buffer-modified-p vm-reorder-message-headers "^" vm-matched-header-name ":" buffer pos vh #3# #2# #1# old-buffer-modified-p old-header-start new-header-start unwanted-tail unwanted-list buffer-file-name folder-buffer vheader-offset end-of-header list extras work-buffer buffer-read-only header-alist vm-folder-type flag inhibit-quit regexp] 16]) (defalias 'vm-read-attributes #[(message-list) "\212\206 \306\211\211\211\307\310 !\311\246\312\\\313\314\211%&'(\211)\203+%T%)@\211\"\315H)\204\324)@\211\"\306H\316H)b\210\317\320)@\211\"\306H\321H)\306#\210)@\322 *\211\"\306H\323*I\210*)@\211\"\306H\316H)b\210\324+)@\211\"\306H\323H\206\217\325\"!\210\"\306H\323H)\313#\203<\315\224b\210\314\326\327\217\210\330\n!\203\274\331\n!)@\313,\211\"\321H\315,I\210*\202\n@G-W\203\337)@\313,\211\"\321H\315,I\210*\n\332\n@-\"\240\210\nA@G.W\203)@\313,\211\"\321H\315,I\210*\nA\332\nA@.\"\240\210)@\315\n8/\211\"\321H\323/I\210*)@\nA@0\211\"\3230I\210*)@\n@1\211\"\3151I\210*\202\3072\203\232\3243)@\211\"\306H\323H\206\\\325\"!\210\"\306H\323H)\313#\203\232)@\333.\314\"0\211\"\3230I\210*\316\224b\210)@\333-\314\"1\211\"\3151I\210*\334)@\335\336!?\313#\210\202\307)@\333.\314\"0\211\"\3230I\210*)@\333-\314\"1\211\"\3151I\210*\337)@\313\"\2104\340=\203\324\341)@!\210)@\211\"\315H\315H)\203\352&T&\202)@\211\"\315H\306H)\203(T(\202)@\211\"\315H\316H)\203'T'% \246\306U\203\"\342\343%\"\210)A\211)\204'% Y\2036\342\344!\210?\205J5%('&\257\2116.\n\207" [message-list vm-message-list data oldpoint case-fold-search modulus 0 vm-abs random 11 25 t nil 2 1 search-forward "\n\n" 4 point-marker 3 re-search-forward vm-find-and-set-text-of (byte-code "`\302p!\211<\203 G\303V\204\304 !\204\305\306\307 #\210\302\207" [oldpoint data read 1 vectorp error "Bad x-vm-v5-data at %d in buffer %s" buffer-name] 5) ((error (byte-code "\304\305\306 #\210\307 \310\"\307\n\310\"\310E\311 @\312\"\207" [oldpoint vm-attributes-vector-length vm-cache-vector-length data message "Bad x-vm-v5-data header at %d in buffer %s, ignoring" buffer-name make-vector nil vm-set-new-flag-in-vector t] 4))) vectorp vm-convert-v4-attributes vm-extend-vector make-vector vm-set-unread-flag looking-at ".*R.*" vm-set-new-flag-of babyl vm-read-babyl-attributes message "Reading attributes... %d" "Reading attributes... done" vm-total-count vm-deleted-count vm-unread-count vm-new-count mp text vm-attributes-header-regexp val vm-attributes-vector-length vm-cache-vector-length labels cache attrs vm-berkeley-mail-compatibility vm-berkeley-mail-status-header-regexp vm-folder-type vm-modification-counter vm-totals] 10]) (defalias 'vm-read-babyl-attributes #[(message) "\306\307\310\307\"\f \211\311 I\210*\212\f\211\312H\312H)b\210\311u\210\fg\313U\205)\306%\211\314H\315%I\210*\311u\210m\204\313\316\317!\204\313\316\320!\203P\321\f\306\"\210\202\275\316\322!\203^\323\f\306\"\210\202\275\316\324!\203l\325\f\306\"\210\202\275\316\326!\203z\327\f\306\"\210\202\275\316\330!\203\210\331\f\306\"\210\202\275\316\332!\203\226\333\f\306\"\210\202\275\316\334!\203\244\335\f\306\"\210\202\275\316\336!\203\262\331\f\306\"\210\202\275\316\337!\203\275\331\f\306\"\210\340\307w\210m\2048\314u\210\2028m\204\322\314u\210\316\341!\203\350\342\314\224\314\225\"\nB\312\225b\210\202\322\f\n\211\343H\344\nI.\207" [vm-attributes-vector-length vect labels case-fold-search message attrs t nil make-vector 2 0 49 1 12 looking-at "," " unseen," vm-set-unread-flag-of " recent," vm-set-new-flag-of " deleted," vm-set-deleted-flag-of " answered," vm-set-replied-flag-of " forwarded," vm-set-forwarded-flag-of " filed," vm-set-filed-flag-of " redistributed," vm-set-redistributed-flag-of " edited," " written," "^," " \\([^- ,-\377]+\\)," vm-buffer-substring-no-properties 4 3 flag] 6]) (defalias 'vm-set-default-attributes #[(message-list) "\206 \306\211\211\205Q\307 \306\"\307 \306\"\f@\n\211\310\nI\210*\f@ \211\311I\210*\312\f@\313\"\210\f@\313\211\314H\311I\210*\fA\211\204\306+\207" [message-list vm-message-list cache attr mp vm-attributes-vector-length nil make-vector 3 2 vm-set-new-flag-of t 4 vm-cache-vector-length message attrs val] 4]) (defalias 'vm-compute-totals #[nil "\212\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\n\313\211\211\211\211\203v T@\211\314H\314H)\203F\fT\202m@\211\314H\313H)\203\\T\202m@\211\314H\315H)\203m TA\211\204/  \f\257\211.\207" [vm-mail-buffer major-mode vm-message-list vm-total-count vm-deleted-count vm-unread-count buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" 0 2 1 vm-new-count mp message vm-modification-counter vm-totals] 6]) (defalias 'vm-emit-totals-blurb #[nil "\212\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\n@ \232\204)\311 \210\nA@\312\232\2037\313\314!\202T\313\315\nA@\nA@\316U\203H\317\202I\320\321\n8\322\n8\323\n8&)\207" [vm-mail-buffer major-mode vm-totals vm-modification-counter buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-compute-totals 0 message "No messages." "%d message%s, %d new, %d unread, %d deleted" 1 "" "s" 2 3 4] 8]) (defalias 'vm-convert-v4-attributes #[(data) "\303\304\305!\306 GZ\307\"\244\"\310\n\307\"D\207" [data vm-attributes-vector-length vm-cache-vector-length apply vector vm-vector-to-list make-list nil make-vector] 6]) (defalias 'vm-gobble-last-modified #[nil "\306\307\211\211\211\212\310 deZV\307\211\211\203+\311 e\307\223\211\203+\311 d\307\223\312\216~\210eb\210\313 \210\314 \210\315\316\307\306#\210`eb\210\313 \210\314 \210\317 \306#\203W\307\320\321\217\210-\n-\207" [oldpoint lim time case-fold-search #1=#:vm-sr-max #2=#:vm-sr-min t nil buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3=#:vm-sr-clip #2# #1# nil] 3)) vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward (byte-code "`\302p!\211:\204\303\304\305 #\210\302\207" [oldpoint time read error "Bad last-modified header at %d in buffer %s" buffer-name] 5) ((error (byte-code "\302\303\304 #\210\305\302\207" [oldpoint time message "Bad last-modified header at %d in buffer %s, ignoring" buffer-name (0 0 0)] 4))) #3# vm-last-modified-header-regexp] 6]) (defalias 'vm-gobble-labels #[nil "\306\307\212\310 deZV\307\211\211\203$\311 e\307\223\211\203$\311 d\307\223\312\216~\210 \313=\203`eb\210\314 \210`eb\210\315\316\306#\203\224\307\211`\307\210`{\317\320\"\321\322\"\210*\202\224eb\210\314 \210\323 \210\324\325\307\306#\210`eb\210\314 \210\323 \210\315\306#\203\224`\307\307\326\327\217\210\330!\210*.\306\207" [lim case-fold-search #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip vm-folder-type t nil buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) babyl vm-skip-past-folder-header re-search-forward "^Labels:" vm-parse "[- ,-\377]*\\([^- ,-\377]+\\)[- ,-\377]*" mapcar #[(s) "\302\227 \"\207" [s vm-label-obarray intern] 3] vm-skip-past-leading-message-separator search-forward "\n\n" (byte-code "\302p!\211<\204\303\304 \305 #\210\302\207" [list oldpoint read error "Bad global label list at %d in buffer %s" buffer-name] 5) ((error (byte-code "\302\303\304 #\210\305\305\207" [oldpoint list message "Bad global label list at %d in buffer %s, ignoring" buffer-name nil] 4))) vm-startup-apply-labels list string vm-labels-header-regexp oldpoint] 5]) (defalias 'vm-startup-apply-labels #[(labels) "\301\302\"\207" [labels mapcar #[(s) "\302 \"\207" [s vm-label-obarray intern] 3]] 3]) (defalias 'vm-gobble-bookmark #[nil "\306\307\211\211\212\310 deZV\307\211\211\203)\311 e\307\223\211\203)\311 d\307\223\312\216~\210eb\210\313 \210\314 \210\315\316\307\306#\210`eb\210\313 \210\314 \210\317 \306#\203U\307\320\321\217\210-\322\n!\210,\306\207" [oldpoint lim n case-fold-search #1=#:vm-sr-max #2=#:vm-sr-min t nil buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3=#:vm-sr-clip #2# #1# nil] 3)) vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward (byte-code "`\302p!\303 !\204\304\305\306 #\210\302\207" [oldpoint n read natnump error "Bad bookmark at %d in buffer %s" buffer-name] 4) ((error (byte-code "\302\303\304 #\210\305\302\207" [oldpoint n message "Bad bookmark at %d in buffer %s, ignoring" buffer-name 1] 4))) vm-startup-apply-bookmark #3# vm-bookmark-header-regexp] 5]) (defalias 'vm-startup-apply-bookmark #[(n) "\205 \303 S\n\233\"\207" [n vm-message-pointer vm-message-list vm-record-and-change-message-pointer] 4]) (defalias 'vm-gobble-pop-retrieved #[nil "\306\307\211\211\212\310 deZV\307\211\211\203)\311 e\307\223\211\203)\311 d\307\223\312\216~\210eb\210\313 \210\314 \210\315\316\307\306#\210`eb\210\313 \210\314 \210\317 \306#\203U\307\320\321\217\210. \306\207" [oldpoint lim ob case-fold-search #1=#:vm-sr-max #2=#:vm-sr-min t nil buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3=#:vm-sr-clip #2# #1# nil] 3)) vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward (byte-code "`\303p!\211<\204\304\305\306 #\210 \303\207" [oldpoint ob vm-pop-retrieved-messages read error "Bad pop-retrieved header at %d in buffer %s" buffer-name] 5) ((error (byte-code "\301\302\303 #\207" [oldpoint message "Bad pop-retrieved header at %d in buffer %s, ignoring" buffer-name] 4))) #3# vm-pop-retrieved-header-regexp] 5]) (defalias 'vm-gobble-imap-retrieved #[nil "\306\307\211\211\212\310 deZV\307\211\211\203)\311 e\307\223\211\203)\311 d\307\223\312\216~\210eb\210\313 \210\314 \210\315\316\307\306#\210`eb\210\313 \210\314 \210\317 \306#\203U\307\320\321\217\210. \306\207" [oldpoint lim ob case-fold-search #1=#:vm-sr-max #2=#:vm-sr-min t nil buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3=#:vm-sr-clip #2# #1# nil] 3)) vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward (byte-code "`\303p!\211<\204\304\305\306 #\210 \303\207" [oldpoint ob vm-imap-retrieved-messages read error "Bad imap-retrieved header at %d in buffer %s" buffer-name] 5) ((error (byte-code "\301\302\303 #\207" [oldpoint message "Bad imap-retrieved header at %d in buffer %s, ignoring" buffer-name] 4))) #3# vm-imap-retrieved-header-regexp] 5]) (defalias 'vm-gobble-visible-header-variables #[nil "\212\306 deZV\307\211\211\203 \310 e\307\223\211\203 \310 d\307\223\311\216\312\307~\210eb\210\313 \210\314 \210\315\316\307\312#\210`eb\210\313 \210\314 \210\317 \312#\205d\307\211\211\307\320\321\217\210\205c\322\"+.\207" [#1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip lim case-fold-search vm-vheader-header-regexp buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) t vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward (byte-code "\303p!\303p!\304\303\207" [vis invis got read t] 2) ((error)) vm-startup-apply-header-variables got invis vis] 5]) (defalias 'vm-startup-apply-header-variables #[(vis invis) " \232\203 \n \232?\205@\f\306\307!\210 \205? @\310 \211\311H\312 I\210* @\310\211\313H\314I\210* A\211\204\310)\207" [vis vm-visible-headers invis vm-invisible-header-regexp vm-message-list mp message "Discarding visible header info..." nil 3 12 0 2 regexp vh] 4]) (defalias 'vm-gobble-message-order #[nil "\305\306\211\212\214~\210eb\210\307 \210\310 \210\311\312\306\305#\210`eb\210\307 \210\310 \210\313 \305#\205C`\306\314\315\217\210\205B\316\317!\210\320!\210\316\321!)-\207" [order lim case-fold-search vm-message-order-header-regexp oldpoint t nil vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward (byte-code "\302p!\211<\204\303\304 \305 #\210\302\207" [order oldpoint read error "Bad order header at %d in buffer %s" buffer-name] 5) ((error (byte-code "\302\303\304 #\210\305\305\207" [oldpoint order message "Bad order header at %d in buffer %s, ignoring" buffer-name nil] 4))) message "Reordering messages..." vm-startup-apply-message-order "Reordering messages... done"] 4]) (defalias 'vm-startup-apply-message-order #[(order) "\306\211G\307 \fG]\306\"\f\203' \203'\306\310\311\217\210\fA A\202\312\313\306\314\n \"\"\306\312@>\315\312!\210\316 ,\207" [vm-message-list mp v list-length order inhibit-quit nil make-vector (byte-code " @S\n@I\207" [v order mp] 3) ((args-out-of-range)) t delq append vm-set-numbering-redo-start-point vm-reverse-link-messages vm-message-order-changed vm-message-order-header-present vm-message-pointer] 5]) (defalias 'vm-gobble-summary #[nil "\306\307\211\212\310 deZV\307\211\211\203&\311 e\307\223\211\203&\311 d\307\223\312\216~\210eb\210\313 \210\314 \210\315\316\307\306#\210`eb\210\313 \210\314 \210\317\306#\205Y`\307\320\321\217\210\322 !).\207" [lim summary case-fold-search #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip t nil buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward (byte-code "\301p!\301\207" [summary read] 2) ((error (byte-code "\302\303\304 #\210\305\302\207" [oldpoint summary message "Bad summary header at %d in buffer %s, ignoring" buffer-name ""] 4))) vm-startup-apply-summary vm-summary-header-regexp oldpoint] 5]) (defalias 'vm-startup-apply-summary #[(summary) " \232?\2050\n\211\205/ @\306\211\307H\310\fI\210* @\311\211\312H\313\fI\210* A\211\204 \306)\207" [summary vm-summary-format vm-message-list mp val message nil 3 18 t 4 2] 4]) (defalias 'vm-stuff-attributes #[(m &optional for-other-folder) "\212\306 deZV\307\211\211\203 \310 e\307\223\211\203 \310 d\307\223\311\216~\210\312 \307\211\313\307\211\211\211 \211\314H\314H)#$%&'()*\315\216+\203^ \307,\211\316H\317,I\210*\202m \211\320H\316H)\203m\321 !\210 \211\314H)) \211\316H)( \203\221+\203\221\322\323)!\211)\307\"\210-\324=\203\236\325 +\"\210 \211\326H\320H)b\210\327. \211\326H\316H\206\276\330\f!\210\f\326H\316H)\313#\203\315\326\224\326\225|\210\202\250 \211\326H\320H)b\210`$\331/\332\3130\333)!)\334\3130\333(!)\334\3130\333 \211\335H\316H)!)\336&\210 \211\326H\320H)$\307\223\210-\337=\203\2021\203\202 \211\326H\320H)b\210\3272 \211\326H\316H\206;\330\f!\210\f\326H\316H)\313#\203J\326\224\326\225|\210\202% \211\326H\320H)b\210 \211\314H\326H)\204\202\3313 \211\314H\320H)\203q\340\202r\341\342#\210 \211\326H\320H)$\307\223\210 +?,\211\335H\314,I.\207" [#1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip m message delflag buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t 2 ((set-buffer-modified-p old-buffer-modified-p)) 3 18 1 vm-su-summary vm-set-deleted-flag-in-vector copy-sequence babyl vm-stuff-babyl-attributes 0 re-search-forward vm-find-and-set-text-of insert-before-markers " (" prin1-to-string "\n " 4 ")\n" From_ "" "R" "O\n" buffer-file-name opoint print-length buffer-read-only case-fold-search cache attributes old-buffer-modified-p for-other-folder val vm-folder-type vm-attributes-header-regexp vm-attributes-header print-escape-newlines vm-berkeley-mail-compatibility vm-berkeley-mail-status-header-regexp vm-berkeley-mail-status-header] 11]) (defalias 'vm-stuff-folder-attributes #[(&optional abort-if-input-pending quiet) "\306\211\211\307\f\211\203&\n@\211\310H\311H)\203\n@ B\nA\211\204 \203B\204B G\305\312 \211\313U\203?\314\202@\315#\210\204K\305\316!\210\317\320 \321\")\n\203\201\203b\322 \204\201\323\n@!\210T\204z\305\324\325\\ \245\326_\"\210\nA\211\204X\n?\205\207\327,\207" [n len mp newlist vm-message-list message nil 0 4 2 "%d message%s to stuff" 1 "" "s" "Ordering updates..." (vm-sort-compare-physical-order-r) sort vm-sort-compare-xxxxxx input-pending-p vm-stuff-attributes "Stuffing %d%% complete..." 0.0 100 t quiet vm-key-functions abort-if-input-pending] 6]) (defalias 'vm-stuff-babyl-attributes #[(m for-other-folder) "\211\303H\303H)b\210\304u\210\211\305H\306H)\203\307c\210\202!\310c\210\311\305!\210\305u\210\312\313!\2034\303\224\303\225|\210\211\304H\303H)\203E\314c\210\202S\211\304H\305H)\203S\315c\210\n\204e\211\304H\304H)\203e\316c\210\211\304H\317H)\203s\320c\210\211\304H\321H)\203\201\322c\210\211\304H\323H)\203\217\324c\210\211\304H\325H)\203\235\326c\210\211\304H\327H)\203\253\330c\210\211\304H\331H)\203\271\332c\210\305u\210\312\313!\203\310\303\224\303\225|\210\333\334\211\317H\325H)\"\207" [m message for-other-folder 0 2 1 12 "1" "0" delete-char looking-at "\\( [^- ,-\377]+,\\)+" " recent, unseen," " unseen," " deleted," 4 " answered," 6 " forwarded," 8 " redistributed," 3 " filed," 7 " edited," 5 " written," mapcar #[(label) "\301\302\261\207" [label " " ","] 3]] 5]) (defalias 'vm-babyl-attributes-string #[(m for-other-folder) "\211\303H\304H)\203\305\202\211\303H\306H)\205\307\n?\205,\211\303H\303H)\205,\310\211\303H\311H)\2058\312\211\303H\313H)\205D\314\211\303H\315H)\205P\316\211\303H\317H)\205\\\320\211\303H\321H)\205h\322\211\303H\323H)\205t\324\260\207" [m message for-other-folder 2 0 " recent, unseen," 1 " unseen," " deleted," 4 " answered," 6 " forwarded," 8 " redistributed," 3 " filed," 7 " edited," 5 " written,"] 10]) (defalias 'vm-babyl-labels-string #[(m) "\304\211\305H\306H)\n\203\307\n@\310 BBB\nA\211\204\311\312 \237\"*\207" [m message labels list nil 4 3 "," " " apply concat] 5]) (defalias 'vm-stuff-virtual-attributes #[(message) "\302!\211\203 \2057\211\303H\304HJ)\2057\212\211\304H\305HJ)\211\304H\306H)q\210\307\211\304H\305HJ)!))\207" [message virtual vm-virtual-message-p 4 1 5 9 vm-stuff-attributes] 4]) (defalias 'vm-stuff-labels #[nil "\205\256\212\306 deZV\307\211\211\203$\310 e\307\223\211\203$\310 d\307\223\311\216~\210\312 \313\307\211\211\211 !\"#\314=\203Seb\210\315 \210`e|\210\316\317#$\"!\210eb\210\315 \210\320 \210\321 \210\322\323\307\313#\210`eb\210\315 \210\320 \210\321 \210\324%\f\313#\203\220\325\224b\210\326&!\203s\327 \330 |\210\202s&\331\313\307'(\332\333$\"\210\334'!*\335\261\210\336\"!. \207" [vm-message-list #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip lim buffer-read-only buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t babyl vm-skip-past-folder-header insert-before-markers vm-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward 0 vm-match-header vm-matched-header-start vm-matched-header-end " " mapatoms #[(sym) "\302! B\211\207" [sym list symbol-name] 2] prin1-to-string "\n" set-buffer-modified-p buffer-file-name print-length case-fold-search old-buffer-modified-p vm-folder-type vm-label-obarray vm-labels-header-regexp vm-labels-header list print-escape-newlines] 7]) (defalias 'vm-stuff-bookmark #[nil "\205\210\212\306 deZV\307\211\211\203$\310 e\307\223\211\203$\310 d\307\223\311\216~\210\312 \313\307\211\211eb\210\314 \210\315 \210\316 \210\317\320\307\313#\210`eb\210\314 \210\315 \210\316 \210\321\f\313#\203p\322\224b\210\323!\203p\324 \325 |\210\326@\211 \327H\322H)\330\261\210\331!.\n\207" [vm-message-list #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip lim buffer-read-only buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward 0 vm-match-header vm-matched-header-start vm-matched-header-end " " 1 "\n" set-buffer-modified-p buffer-file-name case-fold-search old-buffer-modified-p vm-bookmark-header-regexp vm-bookmark-header vm-message-pointer message] 6]) (defalias 'vm-stuff-last-modified #[nil "\205\201\212\306 deZV\307\211\211\203$\310 e\307\223\211\203$\310 d\307\223\311\216~\210\312 \313\307\211\211eb\210\314 \210\315 \210\316 \210\317\320\307\313#\210`eb\210\314 \210\315 \210\316 \210\321\f\313#\203p\322\224b\210\323!\203p\324 \325 |\210\326\327\330 !\331\261\210\332!.\n\207" [vm-message-list #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip lim buffer-read-only buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward 0 vm-match-header vm-matched-header-start vm-matched-header-end " " prin1-to-string current-time "\n" set-buffer-modified-p buffer-file-name case-fold-search old-buffer-modified-p vm-last-modified-header-regexp vm-last-modified-header] 6]) (defalias 'vm-stuff-pop-retrieved #[nil "\205\261\212\306 deZV\307\211\211\203$\310 e\307\223\211\203$\310 d\307\223\311\216~\210\312 \313\307\211\211\fp\307 !\"#eb\210\314 \210\315 \210\316 \210\317\320\307\313#\210`eb\210\314 \210\315 \210\316 \210\321$ \313#\203z\322\224b\210\323%!\203z\324 \325 |\210%c\210\204\211\326c\210\202\253\327c\210\203\250\330c\210\331@\"\210\332c\210A\211\204\221\333c\210\334#!. \207" [vm-message-list #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip vm-pop-retrieved-messages lim buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward 0 vm-match-header vm-matched-header-start vm-matched-header-end " nil\n" "\n (\n" " " prin1 "\n" " )\n" set-buffer-modified-p curbuf p print-length buffer-read-only buffer-file-name case-fold-search old-buffer-modified-p vm-pop-retrieved-header-regexp vm-pop-retrieved-header] 9]) (defalias 'vm-stuff-imap-retrieved #[nil "\205\261\212\306 deZV\307\211\211\203$\310 e\307\223\211\203$\310 d\307\223\311\216~\210\312 \313\307\211\211\fp\307 !\"#eb\210\314 \210\315 \210\316 \210\317\320\307\313#\210`eb\210\314 \210\315 \210\316 \210\321$ \313#\203z\322\224b\210\323%!\203z\324 \325 |\210%c\210\204\211\326c\210\202\253\327c\210\203\250\330c\210\331@\"\210\332c\210A\211\204\221\333c\210\334#!. \207" [vm-message-list #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip vm-imap-retrieved-messages lim buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward 0 vm-match-header vm-matched-header-start vm-matched-header-end " nil\n" "\n (\n" " " prin1 "\n" " )\n" set-buffer-modified-p curbuf p print-length buffer-read-only buffer-file-name case-fold-search old-buffer-modified-p vm-imap-retrieved-header-regexp vm-imap-retrieved-header] 9]) (defalias 'vm-stuff-summary #[nil "\205\213\212\306 deZV\307\211\211\203$\310 e\307\223\211\203$\310 d\307\223\311\216~\210\312 \313\307\211\211\211eb\210\314 \210\315 \210\316 \210\317\320\307\313#\210`eb\210\314 \210\315 \210\316 \210\321\f\313#\203v\322\224b\210\323!\203Y\324 \325 |\210\202Y\326\313 \327!!)\330\261\210\331!. \207" [vm-message-list #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip lim buffer-read-only buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward 0 vm-match-header vm-matched-header-start vm-matched-header-end " " prin1-to-string "\n" set-buffer-modified-p buffer-file-name print-length case-fold-search old-buffer-modified-p vm-summary-header-regexp vm-summary-header print-escape-newlines vm-summary-format] 7]) (defalias 'vm-stuff-header-variables #[nil "\205\221\212\306 deZV\307\211\211\203$\310 e\307\223\211\203$\310 d\307\223\311\216~\210\312 \313\211\307\211\211\211eb\210\314 \210\315 \210\316 \210\317\320\307\313#\210`eb\210\314 \210\315 \210\316 \210\321\313#\203{\322\224b\210\323 !\203]\324 \325 |\210\202] \326\327!!\326\327\"!\330\261\210\331!.\f\207" [vm-message-list #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip buffer-file-name buffer-read-only buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward 0 vm-match-header vm-matched-header-start vm-matched-header-end " " prin1-to-string "\n" set-buffer-modified-p print-length lim print-escape-newlines case-fold-search old-buffer-modified-p vm-vheader-header-regexp vm-vheader-header vm-visible-headers vm-invisible-header-regexp] 8]) (defalias 'vm-stuff-message-order #[nil "A\205\312\212\306 deZV\307\211\211\203%\310 e\307\223\211\203%\310 d\307\223\311\216~\210\312 \313\307\211\211\211\314! !\"#$\315\f\316\"eb\210\317 \210\320 \210\321 \210\322\323\307\313#\210`!eb\210\317 \210\320 \210\321 \210\324%!\313#\203\203\325\224b\210\326&!\203e\327 \330 |\210\202e&\331\261\210\325 \f\203\273\f@\211'\332H\325H)c\210 T \fA\211\203\214 \333\246\325U\203\265\334\202\266\335c\210\202\214\336c\210\307(\313)\337$!.\f\207" [vm-message-list #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip mp buffer-read-only buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t copy-sequence sort #[(p q) "\211\303H\303H)\n\211\303H\303H)W\207" [p message q 0] 4] vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward 0 vm-match-header vm-matched-header-start vm-matched-header-end "\n (" 1 15 "\n " " " ")\n" set-buffer-modified-p n lim buffer-file-name case-fold-search old-buffer-modified-p vm-message-order-header-regexp vm-message-order-header message vm-message-order-changed vm-message-order-header-present] 9]) (defalias 'vm-remove-message-order #[nil "A\205y\212\306 deZV\307\211\211\203%\310 e\307\223\211\203%\310 d\307\223\311\216~\210\312 \313\307\211\211eb\210\314 \210\315 \210\316\317\307\313#\210`eb\210\314 \210\315 \210\320\313#\203p\321\224b\210\322!\203R\323 \324 |\210\202R\307\325!.\n\207" [vm-message-list #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip buffer-read-only buffer-file-name buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) buffer-modified-p t vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward 0 vm-match-header vm-matched-header-start vm-matched-header-end set-buffer-modified-p lim case-fold-search old-buffer-modified-p vm-message-order-header-regexp vm-message-order-header vm-message-order-header-present] 6]) (defalias 'vm-make-index-file-name #[nil " P\207" [buffer-file-name vm-index-file-suffix] 2]) (defalias 'vm-read-index-file-maybe #[nil "\300\301\215\207" [done (byte-code ";\203\n ;\204\303\304\305\"\210\306 \307\n!\205\310\n!)\207" [buffer-file-name vm-index-file-suffix index-file throw done nil vm-make-index-file-name file-readable-p vm-read-index-file] 3)] 2]) (defalias 'vm-read-index-file #[(index-file) "\300\301\215\207" [done (byte-code "\300\301\302\217\207" [error-data (byte-code "\306\307\216\306\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211()*+,-./012345\310\311!\210\312 \212q\210\3136!\210)eb\210\314!\2115\315=\204[\316\317!\210\314!-\314!0\3200!\204q\321\322\306\"\210\314!,\314!\314!+\314!*\314!/\314!.\314!2\314!4\314!3\314!12\203\3042@\323 \n\204\272 C\211\202\302 C\241\210 A \f\324H\30678\325 87\223*9\211\324H\3249I\210* \f\315H\30678\325 87\223*:\211\324H\315:I\210* \f\326H\30678\325 87\223*;\211\324H\327;I\210* \f\330H\30678\325 87\223*<\211\324H\331\211\326>I\210*3\204q\316\334!\210\202\2203@\211G?W\203\203\333\f?\" \f@\211\330@I\210*1\204\234\316\335!\210\202\255 1@*\211\327H\330*I\210*2A24A43A31A1\202\242\314!)\314!(\nA-B)C(D\336,!\210 \203\352\337 !\210E\203\366\340 \210\341\342!\210\343+!\210\344*!\210\345/.\"\210\310\346!\210.\347\207" [work-buffer tail m-list m v order nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) message "Reading index file..." vm-make-work-buffer insert-file-contents-literally read 1 error "Unsupported index file version: %s" vm-check-index-file-validity throw done vm-make-message 0 make-marker 2 4 3 5 "Attribute list is shorter than location list" vm-extend-vector "Cache list is shorter than location list" "Label list is shorter than location list" vm-startup-apply-bookmark vm-startup-apply-message-order vm-update-summary-and-mode-line vm-sort-messages "thread" vm-startup-apply-summary vm-startup-apply-labels vm-startup-apply-header-variables "Reading index file... done" t imap-retrieved pop-retrieved labels summary bookmark folder-type invis vis validity-check label-list location-list cache-list attr-list obj index-file buffer pos start h text end vm-attributes-vector-length attrs vm-cache-vector-length cache vm-message-list vm-folder-type vm-pop-retrieved-messages vm-imap-retrieved-messages vm-summary-show-threads] 20) ((error (byte-code "\302\303 #\210\304\305!\210\302\306!\210\304\305!\207" [index-file error-data message "Index file read of %s signaled: %s" sleep-for 2 "Ignoring index file..."] 4)))] 3)] 2]) (defalias 'vm-check-index-file-validity #[(blob) "\212~\210\300\301\215)\207" [done (byte-code ":\204 \304\305!\207@\306=\203Z\307\211\211A\211@\310 \211\2031\311\312\n \"V\2031\313\314\307\"\210A\211\203W@f\211\203J\315 !A@=\204O\313\314\307\"\210AA\211\2048+\316\207\304\317@\"\207" [blob time2 time ch error "Validity check object not a cons: %s" file nil vm-gobble-last-modified 0 vm-time-difference throw done vm-char-to-int t "Unknown validity check type: %s"] 5)] 2]) (defalias 'vm-generate-index-file-validity-check #[nil "\214~\210\304d\305\245]dSe\306\n Y\203'\n\307\nf!BB\n Z\211\202\310\311 -BB\207" [blob lim pos step 1 11 nil vm-char-to-int file current-time] 5]) (defalias 'vm-write-index-file-maybe #[nil "\300\301\215\207" [done (byte-code ";\204\n\303\304\305\"\210 ;\204\303\304\305\"\210\306 \307\n!)\207" [buffer-file-name vm-index-file-suffix index-file throw done nil vm-make-index-file-name vm-write-index-file] 3)] 2]) (defalias 'vm-write-index-file #[(index-file) "\306\307\216\310\306\211\211\211\311\312!\210\313\314>!\315\"\311\316!\210\317 \320\321\"\210\322\323\"\210\324!\210\320\325\"\210\322?\"\210\324!\210\320\326\"\210\322\327 \"\210\324!\210\320\330\"\210\320@\203f@@\211 \323H\331H)\202g\332\"\210\324!\210\320\333\"\210\331>A\320\334\"\210\331A\n\203\265A\335\246\331U\203\226\320\336\"\210\202\233\320\337\"\210\320\n@\211 \323H\331H)\"\210ATA\nA\211\204\205\320\340\"\210*\320\341\"\210\322B\"\210\324!\210\320\342\"\210\306C\343\344D\"\210\322C\"\210)\324!\210\320\345\"\210\322E\"\210\324!\210\320\346\"\210\322F\"\210\324!\210\320\347\"\210\320\350\"\210 \211\203p\n@\320\351\"\210\322\352 \211 \331H\331H)!\"\210\320\337\"\210\322\352 \211 \331H\323H)!\"\210\320\337\"\210\322\352 \211 \331H\353H)!\"\210\320\337\"\210\322\352 \211 \331H\354H)!\"\210\320\355\"\210\nA\211\204\320\356\"\210\320\357\"\210\320\350\"\210 \211\203\244\n@\320\360\"\210\322 \211 \361H)\"\210\320\362\"\210\nA\211\204\205\320\356\"\210\320\363\"\210\320\350\"\210 \211\203\330\n@\320\360\"\210\322 \211 \364H)\"\210\320\362\"\210\nA\211\204\271\320\356\"\210\320\365\"\210\320\350\"\210 \211\203\n@\320\360\"\210\322 \211 \353H\364H)\"\210\320\362\"\210\nA\211\204\355\320\356\"\210\320\366\"\210G\211H\204(\320\367\"\210\202Q\320\350\"\210H\203L\320\370\"\210\322H@\"\210\320\362\"\210HA\211H\2042\320\356\"\210)\320\371\"\210I\211H\204g\320\367\"\210\202\220\320\350\"\210H\203\213\320\370\"\210\322H@\"\210\320\362\"\210HA\211H\204q\320\356\"\210)\320\372\"\210\311\373!\210\374\375\215.\207" [work-buffer m mp m-list print-length print-escape-newlines nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) t message "Sorting for index file..." sort copy-sequence vm-sort-compare-physical-order "Stuffing index file..." vm-make-work-buffer princ ";; index file version\n" prin1 1 terpri ";; folder type\n" ";; timestamp + sample of folder bytes for consistency check\n" vm-generate-index-file-validity-check ";; bookmark\n" 0 "1" ";; message order\n" "(" 15 "\n " " " "\n)\n" ";; summary\n" ";; labels used in this folder\n" mapatoms #[(sym) "\302! B\211\207" [sym list symbol-name] 2] ";; visible headers\n" ";; hidden headers\n" ";; location list\n" "(\n" " [" marker-position 4 5 "]\n" ")\n" ";; attribute list\n" " " 2 "\n" ";; cache list\n" 3 ";; labels list\n" ";; retrieved POP messages\n" "nil\n" " " ";; retrieved IMAP messages\n" ";; end of index file\n" "Writing index file..." done (byte-code "\212q\210\302\303\304\217\210)\305\306 \307\310!#\210\311\312!\210\313\207" [work-buffer index-file data (byte-code "\203\305\202 \203\305\202\306\307\310ed\f#\210*\307\207" [vm-xemacs-mule-p vm-xemacs-file-coding-p selective-display coding-system-for-write index-file binary no-conversion nil write-region] 4) ((error (byte-code "\302\303 #\210\304\305!\210\306\307\310\"\207" [index-file data message "Write of %s signaled: %s" sleep-for 2 throw done nil] 4))) vm-error-free-call set-file-modes vm-octal 600 message "Writing index file... done" t] 5) vm-message-list vm-folder-type vm-message-pointer n vm-summary-format list vm-label-obarray vm-visible-headers vm-invisible-header-regexp vm-pop-retrieved-messages p vm-imap-retrieved-messages] 6]) (defalias 'vm-delete-index-file #[nil ";\205 \302 \303\304 \")\207" [vm-index-file-suffix index-file vm-make-index-file-name vm-error-free-call delete-file] 3]) (defalias 'vm-change-all-new-to-unread #[nil "\211\205& @\211\303H\304H)\203\305 @\306\"\210\307 @\310\"\210 A\211\204\306)\207" [vm-message-list mp message 2 0 vm-set-new-flag nil vm-set-unread-flag t] 4]) (defalias 'vm-unread-message #[(&optional count) "\204\305\306 \210 \203\307 !\204\310\311!\210 q\210\202'\n\312>\204'\310\313!\210\314 \210\315 \210\316!\211\203Z @\211\317H\305H)\204S @\211\317H\320H)\204S\321 @\322\"\210 A\211\2045)\323\324\211\325\326$\210\327 \207" [count vm-mail-buffer major-mode mlist message 1 vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-select-marked-or-prefixed-messages 2 0 vm-set-unread-flag t vm-display nil (vm-unread-message) (vm-unread-message) vm-update-summary-and-mode-line] 6 "\ Set the `unread' attribute for the current message. If the message is already new or unread, then it is left unchanged. Numeric prefix argument N means to unread the current message plus the next N-1 messages. A negative N means unread the current message and the previous N-1 messages. When invoked on marked messages (via vm-next-command-uses-marks), all marked messages are affected, other messages are ignored." "p"]) (defalias 'vm-quit-just-bury #[nil "\203\305!\204\306\307!\210q\210\202 \310>\204\306\311!\210 \312>\204)\306\313\n\"\210\314 \210\315 \210\212\316\317!\210)\320 \210\321\322\211\323\324$\210 \203J\321 \322\211\211$\210 \203R\325 !\210\f\203]\321\f\322\211\211$\210\f\203e\325\f!\210\321p\322\211\211$\210\325p!\207" [vm-mail-buffer major-mode this-command vm-summary-buffer vm-presentation-buffer-handle buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" (vm-mode vm-virtual-mode) "%s must be invoked from a VM buffer." vm-check-for-killed-summary vm-check-for-killed-presentation run-hooks vm-quit-hook vm-garbage-collect-message vm-display nil (vm-quit-just-bury) (vm-quit-just-bury quitting) vm-bury-buffer] 5 "\ Bury the current VM folder and summary buffers. The folder is not altered and Emacs is still visiting it. You can switch back to it with switch-to-buffer or by using the Buffer Menu." nil]) (defalias 'vm-quit-just-iconify #[nil "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210 \313>\204)\307\314\n\"\210\315 \210\316 \210\212\317\320!\210)\321 \210\322\323\211\324\325$\210 \f\326p!\210\203R\326!\210 \203Z\326 !\210\327 *\207" [vm-mail-buffer major-mode this-command vm-summary-buffer vm-presentation-buffer-handle pres-buffer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" (vm-mode vm-virtual-mode) "%s must be invoked from a VM buffer." vm-check-for-killed-summary vm-check-for-killed-presentation run-hooks vm-quit-hook vm-garbage-collect-message vm-display nil (vm-quit-just-iconify) (vm-quit-just-iconify quitting) vm-bury-buffer vm-iconify-frame summary-buffer] 5 "\ Iconify the frame and bury the current VM folder and summary buffers. The folder is not altered and Emacs is still visiting it." nil]) (defalias 'vm-quit-no-change #[nil "\300\301!\207" [vm-quit t] 2 "\ Quit visiting the current folder without saving changes made to the folder." nil]) (defalias 'vm-quit #[(&optional no-change) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210 \313>\204)\307\314\n\"\210\315 \210\316 \210\317\320\211\321\n\322D$\210 \323=\211\204|\f\203|\324 \203| \204R.\203|/\325U\204|\3260\236\204|\327\330\331/\211\332U\203o\333\202p\334#!\204|\307\335!\210\202\265 \204\244\f\203\244 \204\215.\203\244\324 \203\2441\203\244\327\336!\204\244\307\335!\210\202\2651\337=\203\265\327\340!\204\265\307\335!\210\212\341\342!\210)\343 \210\344 \210\345 \210\f\204\336 \204\336\346\347!\2102\204\336 \323=\204\336\350 \210\324 \203\367 \204\354.\203\367\f\204\367 \204\367\351 \210\346\333!\21034p56\2117\203\3177\320\211\211$\210\3527!\2106\203)\3176\320\211\211$\210\3526!\2105q\210\3175\320\211\211$\2105q\210 \203A\353 !\210\354\320!\210\352p!\210+\355 )\207" [vm-mail-buffer major-mode this-command virtual no-change buffer-file-name buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" (vm-mode vm-virtual-mode) "%s must be invoked from a VM buffer." vm-check-for-killed-summary vm-check-for-killed-presentation vm-display nil (vm-quit vm-quit-no-change) quitting vm-virtual-mode buffer-modified-p 0 vm-set-buffer-modified-p y-or-n-p format "%d message%s have not been saved to disk, quit anyway? " 1 "" "s" "Aborted" "There are unsaved changes, quit anyway? " t "Do you really want to quit? " run-hooks vm-quit-hook vm-garbage-collect-message vm-garbage-collect-folder vm-virtual-quit message "Quitting..." vm-change-all-new-to-unread vm-save-folder kill-buffer vm-mark-for-folders-summary-update set-buffer-modified-p vm-update-summary-and-mode-line buffer-offer-save vm-messages-not-on-disk vm-undo-record-list vm-confirm-quit vm-folder-read-only vm-summary-buffer vm-presentation-buffer-handle mail-buffer pres-buffer summary-buffer] 7 "\ Quit visiting the current folder, saving changes. Deleted messages are not expunged." nil]) (defalias 'vm-start-itimers-if-needed #[nil "\304!\204\304 !\204\304\n!?\206\276\305\306\307\217\203T\304!\203-\310\311!\204-\312\311\313\314$\210\304 !\203@\310\315!\204@\312\315\316 \314$\210\304\n!\205\276\310\317!?\205\276\312\317\320\n\314$\207\305\321\322\217\203\271\314\304!\203{\323\313!\204{\324\211\313\314$\211\203{\325 \313 C#\210\304\n!\203\231\323\320!\204\231\324\n\211\320\314$\211\203\231\325 \320 C#\210\304 !\205\267\323\316!?\205\267\324 \211\316\314$\211\205\267\325 \316 C#)\207\326\326\211\207" [vm-flush-interval vm-auto-get-new-mail vm-mail-check-interval timer natnump data (byte-code "\300\301!\210\302\207" [require itimer t] 2) ((error)) get-itimer "vm-flush" start-itimer vm-flush-itimer-function nil "vm-get-mail" vm-get-mail-itimer-function "vm-check-mail" vm-check-mail-itimer-function (byte-code "\300\301!\210\302\207" [require timer t] 2) ((error)) vm-timer-using run-at-time timer-set-function t] 5]) (byte-code "\301B\301\207" [current-load-list timer-list] 2) (defalias 'vm-timer-using #[(fun) "\304\n\203! \204!\n@\305H =\203\306\202\nA\211\204\n*\207" [timer-list done p fun nil 5 t] 3]) (defalias 'vm-check-mail-itimer-function #[(&optional timer) "\306 \250\203 \n\203\307\n\310\311 \" #\210\2020\312 \"\210\2020\n\203+\313\n!\210\2020\312 \306\"\210\314 \306\211\315 \204\206\203\206\212\316@!\203}@q\210\317=\203}\320\211\203}\204}\321\306\320\"\f=\204}\322\323 \"\210\324\325!\210)A\2028\326 \210 ?\205\242?\205\242\n\203\236\313\n!\202\242\312 \306\"+\207" [inhibit-quit vm-mail-check-interval timer current-itimer oldval found-one nil timer-set-time timer-relative-time current-time set-itimer-restart cancel-timer buffer-list input-pending-p buffer-live-p vm-mode t vm-check-for-spooled-mail intern buffer-name run-hooks vm-spooled-mail-waiting-hook vm-update-summary-and-mode-line b-list major-mode vm-global-block-new-mail vm-spooled-mail-waiting vm-buffers-needing-display-update] 5]) (defalias 'vm-get-mail-itimer-function #[(&optional timer) "\306 \250\203 \n\203\307\n\310\311 \" #\210\2020\312 \"\210\2020\n\203+\313\n!\210\2020\312 \306\"\210\314 \306\315 \204\231 \203\231\212\316 @!\203\222 @q\210\317=\203\222\320\211\203\222\204\222\204\222\204\222\321 \204y\203y\322\323 \"\204\222\324\306!\203\222\204\217\325 \203\217\326 \210\202\222\327 \210) A\2025\f?\205\261 ?\205\261\n\203\255\313\n!\202\261\312 \306\"*\207" [inhibit-quit vm-auto-get-new-mail timer current-itimer found-one b-list nil timer-set-time timer-relative-time current-time set-itimer-restart cancel-timer buffer-list input-pending-p buffer-live-p vm-mode t buffer-modified-p file-newer-than-file-p make-auto-save-file-name vm-get-spooled-mail vm-thoughtfully-select-message vm-preview-current-message vm-update-summary-and-mode-line major-mode vm-global-block-new-mail vm-block-new-mail vm-folder-read-only buffer-file-name vm-message-pointer] 5]) (defalias 'vm-flush-itimer-function #[(&optional timer) "\250\203 \203\303 \304\305 \"#\210\202\306\n\"\210\307 ?\205- \203)\310 !\207\306\n\311\"\207" [vm-flush-interval timer current-itimer timer-set-time timer-relative-time current-time set-itimer-restart vm-flush-cached-data cancel-timer nil] 5]) (defalias 'vm-flush-cached-data #[nil "\212\306 \307\211\203S\310 \204S\311 @!\203L @q\210\n\312=\203L \203L\313\f =\204L\314 \210\315 \210\316 \210\317 \210\320 \210\203C\321 \210\322\313\211\"\203L\f A\211\204\n \206X+\207" [found-one buf-list major-mode vm-message-list vm-modification-counter vm-flushed-modification-counter buffer-list nil input-pending-p buffer-live-p vm-mode t vm-stuff-last-modified vm-stuff-pop-retrieved vm-stuff-imap-retrieved vm-stuff-summary vm-stuff-labels vm-stuff-message-order vm-stuff-folder-attributes vm-message-order-changed] 4]) (defalias 'vm-write-file-hook #[nil "\306=\205v ?\205v\307 deZV\310\211\211\203*\311 e\310\223\211\203*\311 d\310\223\312\216\310\313\314!\210\315\310!\210\313\316!\210\203t\203T\203T\317 \210\320A\"\210\321 \210\322 \210\323 \210\324 \210\325 \210\326 \210\327 \210\330 \210\203t\331 \210-\310\207" [major-mode vm-inhibit-write-file-hook #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip buffer-read-only vm-mode buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) message "Stuffing attributes..." vm-stuff-folder-attributes "Stuffing attributes... done" vm-compute-totals vm-store-folder-totals vm-update-summary-and-mode-line vm-stuff-bookmark vm-stuff-pop-retrieved vm-stuff-imap-retrieved vm-stuff-last-modified vm-stuff-header-variables vm-stuff-labels vm-stuff-summary vm-stuff-message-order vm-message-list vm-folders-summary-database buffer-file-name vm-totals vm-message-order-changed] 4]) (defalias 'vm-save-buffer #[(prefix) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210 \313=\203)\307\314\n\"\210\315 !\210\316\306 \f\"\210\317\320\317\211\321\322$\210\203Q\203Q\323 \210\324A\"\210\325 \210\326 \207" [vm-mail-buffer major-mode this-command prefix vm-buffers-needing-display-update vm-block-new-mail buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-virtual-mode "%s cannot be applied to virtual folders." save-buffer intern nil vm-display (vm-save-buffer) (vm-save-buffer) vm-compute-totals vm-store-folder-totals vm-update-summary-and-mode-line vm-write-index-file-maybe vm-folders-summary-database buffer-file-name vm-totals] 5 nil "P"]) (defalias 'vm-write-file #[nil "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210 \313=\203)\307\314\n\"\210\306 \315\316!\2053\316 \317\216\212 \203@\320 !\210\321\322!\210*#\203Z$\203Z\323 \210\324$%A\"\210\306 \f\232\204\227\325 \210&\203|\212\306 '&q\210\326\327\330'\"\331\"\210*\332 \210(\203\227\212\306 '(q\210\326\327\333'\"\331\"\210**\334\306 )\"\210\335*\336\335\211\337\340$\210\341 \210\342 \207" [vm-mail-buffer major-mode this-command oldmodebits old-buffer-name vm-default-folder-permission-bits buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-virtual-mode "%s cannot be applied to virtual folders." fboundp default-file-modes ((byte-code "\203\301!\210\301\207" [oldmodebits set-default-file-modes] 2)) set-default-file-modes call-interactively write-file vm-compute-totals vm-store-folder-totals vm-check-for-killed-summary rename-buffer format "%s Summary" t vm-check-for-killed-presentation "%s Presentation" intern nil vm-display (vm-write-file) (vm-write-file) vm-update-summary-and-mode-line vm-write-index-file-maybe vm-folders-summary-database buffer-file-name vm-totals vm-summary-buffer name vm-presentation-buffer-handle vm-buffers-needing-display-update vm-block-new-mail] 5 nil nil]) (defalias 'vm-unblock-new-mail #[nil "\301\211\207" [vm-block-new-mail nil] 2]) (defalias 'vm-save-folder #[(&optional prefix) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314\315\211\316\317$\210 \320=\2032\321\n!\207\322 \203g\315\211 \323=\203K\324\325\211\211\315$\210\202Y \326=\203Y\327\325\211\211\315\325%\210\330\331!\210\332\315!\210\330\333!\210:\203\212\334 \210\335 \210\336 \210\337 \210\340 \210\341 \210\342 \210\343 \210;\203\212\344 \210\330\345!\210\325\346\347!\205\227\347 <=\350\216<\203\247\351>!\210\352\n!\210+\353\315!\210?\315\211@AB\212B\203\354B@\355\"A\204\324\353\315B@\"\210\202\fB@q\210-A\315@A\203\322A@!\203\367\325@\315\211A\202\342AA\211A\204\345@\204\f\353\315B@\"\210BA\211B\204\300,\356 \210\357C\315D\360 \210E\2037F\2037\361 \210\362FGA\"\210\334 \210\363 \357U\205eH\205eF\205eH\325=\204a\364\365\366F\206\\\306 \"!\205e\315\367\370\217*\207\330\371!\207" [vm-mail-buffer major-mode prefix newlist mp vm-folder-access-method buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-display nil (vm-save-folder) (vm-save-folder) vm-virtual-mode vm-virtual-save-folder buffer-modified-p pop vm-pop-synchronize-folder t imap vm-imap-synchronize-folder message "Stuffing attributes..." vm-stuff-folder-attributes "Stuffing attributes... done" vm-update-summary-and-mode-line vm-stuff-bookmark vm-stuff-pop-retrieved vm-stuff-imap-retrieved vm-stuff-last-modified vm-stuff-header-variables vm-stuff-labels vm-stuff-summary vm-stuff-message-order "Saving..." fboundp default-file-modes ((byte-code "\203\301!\210\301\207" [oldmodebits set-default-file-modes] 2)) set-default-file-modes save-buffer vm-set-buffer-modified-p vm-buffer-variable-value vm-real-buffers vm-clear-modification-flag-undos 0 vm-write-index-file-maybe vm-compute-totals vm-store-folder-totals buffer-size y-or-n-p format "%s is empty, remove it? " (byte-code "\301!\210\302 \210\303 \210\304\305\"\207" [buffer-file-name delete-file vm-delete-index-file clear-visited-file-modtime message "%s removed"] 3) ((error)) "No changes need to be saved" vm-message-list vm-message-order-changed oldmodebits vm-inhibit-write-file-hook vm-default-folder-permission-bits vm-virtual-buffers one-modified rb-list b-list vm-messages-not-on-disk vm-block-new-mail vm-folders-summary-database buffer-file-name vm-totals vm-delete-empty-folders] 7 "\ Save current folder to disk. Deleted messages are not expunged. Prefix arg is handled the same as for the command `save-buffer'. When applied to a virtual folder, this command runs itself on each of the underlying real folders associated with the virtual folder." (list current-prefix-arg)]) (defalias 'vm-save-and-expunge-folder #[(&optional prefix) "\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\311 \210\312\313\211\314\315$\210\n\2044\316\317!\210\320\321!\210\322 !\207" [vm-mail-buffer major-mode vm-folder-read-only prefix buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-display nil (vm-save-and-expunge-folder) (vm-save-and-expunge-folder) message "Expunging..." vm-expunge-folder t vm-save-folder] 5 "\ Expunge folder, then save it to disk. Prefix arg is handled the same as for the command save-buffer. Expunge won't be done if folder is read-only. When applied to a virtual folder, this command works as if you had run vm-expunge-folder followed by vm-save-folder." (list current-prefix-arg)]) (defalias 'vm-revert-buffer #[(&rest args) "\301!\203\302!\203q\210\303\304!\207" [vm-mail-buffer bufferp buffer-name call-interactively revert-buffer] 2 nil nil]) (defalias 'vm-recover-file #[(&rest args) "\301!\203\302!\203q\210\303\304!\207" [vm-mail-buffer bufferp buffer-name call-interactively recover-file] 2 nil nil]) (defalias 'vm-handle-file-recovery-or-reversion #[(recovery) "\203\306!\203\307!\210\310 \210\311\n\203\312\f\313=\203%\314p!\202.\f\315=\205.\316p!\317 \2066\320\f#)\207" [vm-summary-buffer major-mode recovery vm-block-new-mail vm-folder-access-method name buffer-name kill-buffer vm-virtual-quit fundamental-mode t pop vm-pop-find-name-for-buffer imap vm-imap-find-spec-for-buffer vm nil buffer-file-name] 4]) (defalias 'vm-handle-file-recovery #[nil "\303 \205 \304=\205 \203 @\211\305H\306H)\307U\205 \310\311!\207" [major-mode vm-message-list message buffer-modified-p vm-mode 0 5 1 vm-handle-file-recovery-or-reversion t] 3]) (defalias 'vm-handle-file-reversion #[nil "\303 ?\205!\304=\205! \203 @\211\305H\306H)\307U\205!\310\311!\207" [major-mode vm-message-list message buffer-modified-p vm-mode 0 5 1 vm-handle-file-recovery-or-reversion nil] 3]) (defalias 'vm-after-revert-buffer-hook #[nil "\301=\205 \302\303!\207" [major-mode vm-mode vm-handle-file-recovery-or-reversion nil] 2]) (defalias 'vm-help #[nil "\306=\203$ \203\307 !\204\310\311!\210 q\210\202$\312>\204$\310\313!\210\n\205+ \314=\f\2050 \315=\203@\316!\202y\317=\203M\320\321!\202y\322>\203Z\320\323!\202y\324=\203i\320\325\326!!\202y\327=\203w\320\325\330!!\202y\331 *\207" [major-mode vm-mail-buffer pop-up-windows vm-mutable-windows vm-mutable-frames vm-frame-per-help vm-summary-mode buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" t vm-help describe-function previewing message "Type SPC to read message, n previews next message (? gives more help)" (showing reading) "SPC and b scroll, (d)elete, (s)ave, (n)ext, (r)eply (? gives more help)" editing substitute-command-keys "Type \\[vm-edit-message-end] to end edit, \\[vm-edit-message-abort] to abort with no change." mail-mode "Type \\[vm-mail-send-and-exit] to send message, \\[kill-buffer] to discard this composition" describe-mode pop-up-frames last-command vm-system-state] 3 "\ Display help for various VM activities." nil]) (defalias 'vm-spool-move-mail #[(source destination) "\306\307!\205\n\310\311\312\217\310\211\211\203\n\313 \f#\202\204\314\315\316 \f$!\212q\210\317 \210)\320\321 \310\322F\323!\244 \fD\244\"\212q\210 \247\203T \324U\204T\315\325 #c\210\326 \324V\203~\327!\210 \247\203r \324U\204r\330\331 \"\210\202\202\332\333 \"\210\334\335!\210\202\202\336!\210)\322+\207" [error-buffer status handler source destination vm-movemail-program fboundp find-file-name-handler nil (byte-code "\301\302\"\207" [source find-file-name-handler vm-spool-move-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) vm-spool-move-mail get-buffer-create format "*output of %s %s %s*" erase-buffer apply call-process t copy-sequence 0 "\n%s exited with code %s\n" buffer-size vm-display-buffer error "Failed getting new mail from %s" message "Warning: unexpected output from %s" sleep-for 2 kill-buffer vm-movemail-program-switches] 7]) (defalias 'vm-gobble-crash-box #[(crash-box) "\212\306 deZV\307\211\211\203 \310 e\307\223\211\203 \310 d\307\223\311\216~\210d\307\211 \f\306 \312U\307\211\313 /0123456\314\307\2117\203N\315\202X8\203W\315\202X\3169:;<\317=!,5p5=\203r\320\321!\210\2125q\210\322 \211/\203\375>\203\375/\323=\203\224\320\324=\"\210\202\3752\323=\203\244\320\3253\"\210\202\3752\204\326?\203\375?/=\204\375@\203\311\326/?\"\210\327\307!\210\202\375\320\330=/?$\210\202\3752/=\204\375@\203\361\326/2\"\210\327\307!\210\202\375\320\331=3/2%\210eb\2101\204\3322\206 ?\307\"\210\327\307!\210)db\210\3335\334\2125q\210~\210\306 )T#\2106dU?\2110\203_7\203=\335\202G8\203F\335\202G\315\307AB\3366d \314\211%\210*CTC\327 !\210\3375!\210D;\204s\340\341=\"\210\202\324\342\343 !\307EF\344\345\346\347F8\350F8\351F8FA@F@\352\353 !\354\246&D\"E\355E!\203\314\344\345\346\347F8\350F8\351F8FA@F@\352\353 !\354\246&D\"E\202\237\356=E\"\210*0.\207" [#1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip buffer-file-name vm-folder-type old-buffer-modified-p buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) 0 buffer-modified-p t no-conversion raw-text find-file-noselect error "folder is the same file as crash box, cannot continue" vm-get-folder-type unknown "crash box %s's type is unrecognized" "inbox %s's type is unrecognized" vm-convert-folder-type set-buffer-modified-p "crash box %s mismatches vm-default-folder-type: %s, %s" "crash box %s mismatches %s's folder type: %s, %s" vm-convert-folder-header insert-buffer-substring 1 binary write-region kill-buffer vm-error-free-call delete-file decode-time current-time expand-file-name format "Z-%02d-%02d-%02d%02d%02d-%05d" 4 3 2 vm-abs random 100000 file-exists-p rename-file crash-folder-type got-mail inbox-empty inbox-folder-type inbox-buffer-file buffer-read-only crash-buf opoint-max vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read enable-local-eval enable-local-variables inhibit-local-variables crash-box vm-check-folder-types vm-default-folder-type vm-convert-folder-types selective-display coding-system-for-write vm-modification-counter vm-keep-crash-boxes name time] 11]) (defalias 'vm-compute-spool-files #[(&optional all) "\306\211\211\211\307 \204\f \310 PEC\2024\307 @;\203*\311\312\307 \"\2024\307 @:\2034\307 \203@\311\313\"\202CC \203\207 @ A\n\203d:\203d;\203d\311\314\"\n\203D\203D\203D \n\212\n!)\212\n!)EC\244\202D\315 \"\211,\207" [triples file-list file fallback-triples vm-primary-inbox vm-spool-directory nil vm-spool-files user-login-name mapcar #[(s) " \nE\207" [vm-primary-inbox s vm-crash-box] 3] car #[(suffix) "\211 P\nPE\207" [file suffix vm-crash-box-suffix] 4] append vm-crash-box all buffer-file-name vm-spool-file-suffixes vm-crash-box-suffix vm-make-spool-file-name vm-make-crash-box-name] 6]) (defalias 'vm-spool-check-mail #[(source) "\306\307!\205\n\310\311\312\217\211\203\313 \"\202\\\314\315 !8\n\310\316 \f\"J\211\2039 @\232\2039 A@\317V\202[\320 !\211\205Z\321 \f\" DL\210\322 \317\211\211F\"\210\317V)+)\207" [handler source vm-spool-file-message-count-hash val hash size fboundp find-file-name-handler nil (byte-code "\301\302\"\207" [source find-file-name-handler vm-spool-check-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) vm-spool-check-mail 7 file-attributes intern-soft 0 vm-count-messages-in-file intern vm-store-folder-totals count] 7]) (defalias 'vm-count-messages-in-file #[(file &optional quietly) "\306\307\211\310$\307\211\211\311>\206\f??\205h\312\216\307\212\313 \211q\210 \314>\203-\315\202@ \316=\2038\317\202@ \320=\203@\321\322\323\324\217\210\325\326 ! \327>\204f \316=\203] \330\245\202f \320=\203f S ++\207" [file count work-buffer type vm-grep-program regexp vm-get-folder-type nil t (unknown nil) ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer (From_ BellFrom_ From_-with-Content-Length) "^From " mmdf "^" babyl "^" data (byte-code "\204 \304\305 \"\210\306\n\307\310\307\311 \312 !&\210\204\304\313 \"\210\307\207" [quietly file vm-grep-program regexp message "Counting messages in %s..." call-process nil t "-c" expand-file-name "Counting messages in %s... done"] 9) ((error (byte-code "\303\304 \n$\210\305\306!\210\307\307\207" [vm-grep-program file data message "Attempt to run %s on %s signaled: %s" sleep-for 2 nil] 5))) string-to-int buffer-string (From_ BellFrom_ From_-with-Content-Length) 2] 6]) (defalias 'vm-movemail-specific-spool-file-p #[(file) "\301\302\"\207" [file string-match "^po:[^:]+$"] 3]) (defalias 'vm-check-for-spooled-mail #[(&optional interactive this-buffer-only) "?\205\312 \203!\n\203! \306=\203\307 !\207 \310=\205\312\311 !\207\312\n?!\313 \211\314\211\211\211\211\211\211\211\203\307\315@@ \"@A@\316@8\317!\204\276p\320!=\211\204u\n\204\276\321!\203\201\313\202\276!\203\224\322!\"\203\224\323\202\251\"\203\247\322\"\"\203\247\324\202\251\325 \204\265\314\326\327\217\210\202\276\f\206\275 !A\211\204F\f. \207" [vm-global-block-new-mail vm-folder-access-method this-buffer-only interactive mail-waiting meth pop vm-pop-folder-check-for-mail imap vm-imap-folder-check-for-mail vm-compute-spool-files t nil expand-file-name 2 vm-movemail-specific-spool-file-p vm-get-file-buffer file-exists-p string-match vm-imap-check-mail vm-pop-check-mail vm-spool-check-mail (byte-code "\206 \n!\303\207" [mail-waiting meth maildrop nil] 2) ((error)) maildrop in crash this-buffer case-fold-search vm-imap-ok-to-ask vm-pop-ok-to-ask triples vm-folder-directory vm-recognize-imap-maildrops vm-recognize-pop-maildrops] 12]) (defalias 'vm-get-spooled-mail #[(&optional interactive) "\203\303\304!\210 \305=\203\306\n\307\211\310$\207 \311=\203\"\312\n\307\211\310$\207\313\n!\207" [vm-block-new-mail vm-folder-access-method interactive error "Can't get new mail until you save this folder." pop vm-pop-synchronize-folder nil t imap vm-imap-synchronize-folder vm-get-spooled-mail-normal] 5]) (defalias 'vm-get-spooled-mail-normal #[(&optional interactive) "?\205R\306 \307 \211\310\211\211\211\211\211\211\211\211./012345\311p!\204L \203=\312\313\314\315p!\"!\204L\316\317\315p!\"\210\320\321!\210\310\202P5\2034\3225@@6\"/5@A@\3215@80 .\3101\323 !\203|\3071\324\202\2627\203\226\3257 \"\203\226\3071\326 !.\327\202\2628\203\260\3258 \"\203\260\3071\330 !.\331\202\262\324p\332/!=\203+\3330!\203\327\316\3340\"\210\3350!\206\320\n\316\3360\"\2101\204\354\337\340 !8\341\232\204+\342 !\203+\32206\"01\204\377\322 6\"\n\203\n\343\344\345\217\202 0\"\203+\3350!\203+\3071\204%\346 \347\"\210\316\350.\"\2105A\2115\204Q\3109\351\315 :\"\210\352 \210\n\203I\353\354!\210\n\205P\355\307!. \207" [vm-global-block-new-mail interactive got-mail retrieval-function popdrop maildrop vm-compute-spool-files t nil verify-visited-file-modtime yes-or-no-p format "Folder %s changed on disk, discard those changes? " buffer-name message "Folder %s changed on disk, consider M-x revert-buffer" sleep-for 2 expand-file-name vm-movemail-specific-spool-file-p vm-spool-move-mail string-match vm-safe-imapdrop-string vm-imap-move-mail vm-safe-popdrop-string vm-pop-move-mail vm-get-file-buffer file-exists-p "Recovering messages from %s..." vm-gobble-crash-box "Recovering messages from %s... done" 7 file-attributes 0 file-readable-p error-data (funcall retrieval-function maildrop crash) ((error (byte-code "\302\303 #\210\304\305!\210\306\207" [retrieval-function error-data message "%s signaled: %s" sleep-for 2 t] 4)) (quit (byte-code "\301\302\"\210\303\304!\210\305\207" [retrieval-function message "quitting from %s..." sleep-for 2 t] 3))) vm-store-folder-totals (0 0 0 0) "Got mail from %s." intern vm-update-summary-and-mode-line run-hooks vm-retrieved-spooled-mail-hook vm-assimilate-new-messages safe-maildrop in crash non-file-maildrop case-fold-search vm-imap-ok-to-ask vm-pop-ok-to-ask triples vm-folder-directory vm-recognize-imap-maildrops vm-recognize-pop-maildrops vm-spooled-mail-waiting vm-buffers-needing-display-update] 14]) (defalias 'vm-safe-popdrop-string #[(drop) "\301\302\"\203\303\224\303\225O\304\305\224\305\225OQ\206\306\207" [drop string-match "^\\(pop:\\|pop-ssl:\\|pop-ssh:\\)?\\([^:]+\\):[^:]+:[^:]+:\\([^:]+\\):[^:]+" 3 "@" 2 "???"] 5]) (defalias 'vm-safe-imapdrop-string #[(drop) "\301\302\"\203!\303\224\303\225O\304\305\224\305\225O\306\307\224\307\225O\310\260\206\"\311\207" [drop string-match "^\\(imap\\|imap-ssl\\|imap-ssh\\):\\([^:]+\\):[^:]+:\\([^:]+\\):[^:]+:\\([^:]+\\):[^:]+" 4 "@" 2 " [" 3 "]" "???"] 7]) (defalias 'vm-get-new-mail #[(&optional arg) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\n\203.\314\315pC\"\210\202! \316=\2037\317 \207 \320=\204A\307\321!\207 \204\263 \320=\204N\320 \210\322 @:\203b\323\324\f\206]\306 \"\210\202f\323\325!\210\326\327\330!\203\214\331 \332\326\211\333\334$\210\335 \203\203\336 \210\202\206\337 \210\323 !\202\261\322 @:\203\240\323\340\f\206\233\306 \"\210\202\244\323\341!\210t\205\261\342\343!\205\261\323\344!)\207\326\211\211\211345\345\3466\326\330$47\203\331\3474!\204\331\307\3504\"\210\212\351 deZV\326\21189\211:\203\376\352 e\326\223\2119\203\376\352 d\326\2238\353\216~\210db\210;\203\354\202<\203\354\202\355=\3564!\210.>G3\357 \203V\331 \332\326\211\360\361$\210\335 \203@\336 \210\202C\337 \210\323 !\210?>G3Z\\\211?\202Y\323\362!,\207" [vm-mail-buffer major-mode vm-folder-read-only arg buffer-file-name totals-blurb buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-virtual-mode vm-virtual-get-new-mail vm-mode "Can't get mail for a non-VM folder buffer" vm-spool-files message "Checking for new mail for %s..." "Checking for new mail..." nil vm-get-spooled-mail t vm-emit-totals-blurb vm-display (vm-get-new-mail) (vm-get-new-mail) vm-thoughtfully-select-message vm-preview-current-message vm-update-summary-and-mode-line "No new mail for %s" "No new mail." sit-for 4 "" read-file-name "Gather mail from folder: " vm-compatible-folder-p "Folder %s is not the same format as this folder." buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) binary no-conversion insert-file-contents vm-assimilate-new-messages (vm-get-new-mail) (vm-get-new-mail) "No messages gathered." mcount folder buffer-read-only vm-folder-directory vm-check-folder-types #3# #2# #1# vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read vm-message-list vm-messages-not-on-disk] 6 "\ Move any new mail that has arrived in any of the spool files for the current folder into the folder. New mail is appended to the disk and buffer copies of the folder. Prefix arg means to gather mail from a user specified folder, instead of the usual spool files. The file name will be read from the minibuffer. Unlike when getting mail from a spool file, the source file is left undisturbed after its messages have been copied. When applied to a virtual folder, this command runs itself on each of the underlying real folders associated with this virtual folder. A prefix argument has no effect when this command is applied to virtual folder; mail is always gathered from the spool files." "P"]) (defalias 'vm-assimilate-new-messages #[(&optional dont-read-attributes gobble-order labels first-time) "\306!\307\211\212\310 deZV\307\211\211#\203)\311 e\307\223\211\203)\311 d\307\223\312\216~\210\313 \210 \2039 A\203g\307$%\203I\314 A!\210\202N\315 A!\210&\203V\316 \210\317'!\204b(\203g\320 A!\210, \203q A\202r\321 !\210\322 !\210) \203\230%\203\230 =\203\220&\204\230\323)\324 G#\210\325 !\211\203\317*\203\317+\203\317 \211,\203\316,@\325*!*\211-\326H\327*I\210*,A\211,\204\261) \203\337(\203\337\330 \210\331\332!\210 \203\204\355\203.\204 \330 \210\203  \203 \333 @\334\"\210 A\211\204\335\336!\210) \203\212/\203\212\212/\211\203\211\337\n@!\203\202\307\n@q\210\306!\340 !\210 \203A A\203\201\307$\317'!\203P\320 A!\210\322 A\206W!\210\321 A\206`!\2100\204u0\34110\203u\342 \210(\203\201\330 \210\331\332!\210)\nA\211\204#) +\207" [vm-message-list new-messages b-list tail-cons #1=#:vm-sr-max #2=#:vm-sr-min vm-last nil buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3=#:vm-sr-clip #2# #1# nil] 3)) vm-build-message-list vm-set-default-attributes vm-read-attributes vm-gobble-message-order vectorp vm-build-threads vm-set-numbering-redo-start-point vm-set-summary-redo-start-point vm-modify-folder-totals arrived copy-sequence 4 3 vm-update-summary-and-mode-line vm-sort-messages "thread" vm-run-message-hook vm-arrived-message-hook run-hooks vm-arrived-messages-hook buffer-name vm-build-virtual-message-list t vm-preview-current-message #3# vm-ml-sort-keys dont-read-attributes gobble-order vm-thread-obarray vm-summary-show-threads buffer-file-name labels vm-burst-digest-messages-inherit-labels mp message first-time vm-virtual-buffers vm-message-pointer vm-need-summary-pointer-update] 5]) (defalias 'vm-select-marked-or-prefixed-messages #[(prefix) "\306 \307=\203\310 \211\202J\n\311W\203\312\202\313\314\n! \315=\204,\316\n!\210\f\311U\204G @B\fS\211\311U\204,\317 !\210\202,+\237)\207" [mlist last-command prefix vm-message-pointer count direction nil vm-next-command-uses-marks vm-marked-messages 0 backward forward vm-abs t vm-check-count vm-move-message-pointer vm-circular-folders] 4]) (defalias 'vm-display-startup-message #[nil "\305\306!\2030\307\310\n \203\311\202\312#\210\313\305\314!\203/ \203/\307\315 @!!\210 A\202)\307\316!\207" [vm-startup-message-lines lines vm-version vm-xemacs-p vm-startup-message-displayed sit-for 5 message "VM %s, Copyright %s 2003 Kyle E. Jones; type ? for help" "\251" "(C)" t 4 substitute-command-keys ""] 4]) (defalias 'vm-toggle-read-only #[nil "\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\n?\311\304 \"\210\312\313\n\2031\314\2022\315\"\210\316\317\211\320\321$\210\322 \207" [vm-mail-buffer major-mode vm-folder-read-only vm-buffers-needing-display-update buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" intern message "Folder is now %s" "read-only" "modifiable" vm-display nil (vm-toggle-read-only) (vm-toggle-read-only) vm-update-summary-and-mode-line] 5 nil nil]) (byte-code "\301B\301\207" [current-load-list scroll-in-place] 2) (defalias 'vm-mode-internal #[(&optional access-method) "~\210\306\307!\210\310 \311\f\205\312 \205\313 \314'\314(\315\315)\316*\316+\317\320\321\",\315-\321.\315/\3150\3151\3152\3153\3154\3155\3156\3157\3158\322 9\323 :;\324=\203o\324<\317\325\315\"=\202;\326=\203\326<\317\327\315\"=\330>!\210\331\332!\210\333\332\334\"\210\312 \203\225\335 \210\333\336\337\"\210\333\336\340\"\210\306\341!\210\315!\306\342!\210?\"\306\343!\210\315#\344\345!\210\344\346!\207" [major-mode vm-mode-line-format mode-line-format mode-name vm-use-menus mode-popup-menu make-local-variable require-final-newline vm-mode "VM" vm-menu-support-possible-p vm-menu-mode-menu t nil bonk make-vector 29 0 vm-link-to-virtual-buffers vm-get-folder-type pop 2 imap 9 use-local-map make-local-hook after-save-hook add-hook vm-unblock-new-mail vm-menu-install-menus kill-buffer-hook vm-garbage-collect-folder vm-garbage-collect-message use-dialog-box file-precious-flag scroll-in-place run-hooks vm-mode-hook vm-mode-hooks buffer-read-only buffer-offer-save selective-display vm-thread-obarray vm-thread-subject-obarray vm-label-obarray vm-last-message-pointer vm-modification-counter vm-message-list vm-message-pointer vm-message-order-changed vm-message-order-header-present vm-imap-retrieved-messages vm-pop-retrieved-messages vm-summary-buffer vm-system-state vm-undo-record-list vm-undo-record-pointer vm-virtual-buffers vm-folder-type access-method vm-folder-access-method vm-folder-access-data vm-mode-map vm-folder-file-precious-flag] 3]) (defalias 'vm-link-to-virtual-buffers #[nil "\306 \307p\307\211\212\f\203[\f@q\210 \310=\203T A\211\203T@@\211\203M\n\311\312 @\f\"!=\203F\f@ B\n B \307\307 A\211\204*A\211\204\"\fA\211\204 .\207" [clauses folders folder-buffer vbuffers b-list major-mode buffer-list nil vm-virtual-mode vm-get-file-buffer expand-file-name vm-virtual-folder-definition vm-folder-directory vm-real-buffers] 6]) (defalias 'vm-change-folder-type #[(type) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210 \314=\203,\307\315\n\"\210\316 \210 \317>\204:\307\320 \"\210\f\203D\f\321=\203H\307\322!\210 \323\f\324\325\326\327 !\330\246\331\\\323\21123456789\212\332 deZV\323\211:;\211<\203\214\333 e\323\223\211;\203\214\333 d\323\223:\334\216~\210 eb\210\3357 \"\2109\203\3149@\211)\325H\325H)b\210`2\336 9@\"c\2109@\211)\325H\337H)9@\211)\325H\325H)V\203\343`9@\211)\325H\337H)|\210\2029@\211)\325H\337H)`\323\223\2109@\323=\211)\325H\340=I\210*9@\323>\211)\325H\341>I\210*\3427 \"\2109@\211)\325H\343H)b\210`3\344\345 !!\2109@\211)\325H\343H)9@\211)\325H\331H)|\2109@\211)\325H\343H)3\323\223\2109@\211)\325H\337H)b\210\346 9@\211)\325H\337H)9@\211)\325H\343H)#\2109@\323?\211)\341H\325?I\210*9@\323@\211)\337H\347@I\210*9@ \211)\337H\350 I\210*9A95T\21154\246\325U\203\233\351\3525\"\210\202\233. \353 \210\354\306 A\"\210\355 \210\351\356!\210dB@\211)\325H\343H)V\203\375eB@\211)\325H\343H)}\210\357\323\211\360\361$\207" [vm-mail-buffer major-mode this-command type vm-folder-type vm-message-list buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-virtual-mode "%s cannot be applied to virtual folders." vm-error-if-folder-empty (From_ BellFrom_ From_-with-Content-Length mmdf babyl) "Unknown folder type: %s" unknown "Current folder's type is unknown, can't change it." nil t 0 vm-abs random 11 5 buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) vm-convert-folder-header vm-leading-message-separator 1 2 3 vm-convert-folder-type-headers 4 insert-before-markers vm-trailing-message-separator vm-munge-message-separators 12 7 message "Converting... %d" vm-clear-modification-flag-undos intern vm-update-summary-and-mode-line "Conversion complete." vm-display (vm-change-folder-type) (vm-change-folder-type) opoint text-end modulus n inhibit-quit old-type buffer-read-only mp #3# #2# #1# vh text count flag vm-buffers-needing-display-update vm-message-pointer] 9 "\ Change folder type to TYPE. TYPE may be one of the following symbol values: From_ From_-with-Content-Length BellFrom_ mmdf babyl Interactively TYPE will be read from the minibuffer." (let ((this-command this-command) (last-command last-command) (types vm-supported-folder-types)) (vm-select-folder-buffer) (vm-error-if-virtual-folder) (setq types (vm-delqual (symbol-name vm-folder-type) (copy-sequence types))) (list (intern (vm-read-string "Change folder to type: " types))))]) (defalias 'vm-register-global-garbage-files #[(files) "\205@\302B BA\211\204\303\207" [files vm-global-garbage-alist delete-file nil] 3]) (defalias 'vm-register-folder-garbage-files #[(files) "\304!\210\212 \203\305 !\204\306\307!\210 q\210\202#\n\310>\204#\306\311!\210\2056@\312B BA\211\204'\313)\207" [files vm-mail-buffer major-mode vm-folder-garbage-alist vm-register-global-garbage-files buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" delete-file nil] 3]) (defalias 'vm-register-folder-garbage #[(action garbage) "\212\203\305!\204\306\307!\210q\210\202 \310>\204\306\311!\210\n B\fB\211)\207" [vm-mail-buffer major-mode garbage action vm-folder-garbage-alist buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer"] 2]) (defalias 'vm-register-message-garbage-files #[(files) "\304!\210\212 \203\305 !\204\306\307!\210 q\210\202#\n\310>\204#\306\311!\210\2056@\312B BA\211\204'\313)\207" [files vm-mail-buffer major-mode vm-message-garbage-alist vm-register-folder-garbage-files buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" delete-file nil] 3]) (defalias 'vm-register-message-garbage #[(action garbage) "\305 \"\210\212\n\203\306\n!\204\307\310!\210\nq\210\202$ \311>\204$\307\312!\210 B\fB\211)\207" [action garbage vm-mail-buffer major-mode vm-message-garbage-alist vm-register-folder-garbage buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer"] 3]) (defalias 'vm-garbage-collect-global #[nil "\212\205\301\302\303\217\210A\211\204\301)\207" [vm-global-garbage-alist nil (byte-code "@A@@!\207" [vm-global-garbage-alist] 2) ((error))] 4]) (defalias 'vm-garbage-collect-folder #[nil "\212\205\301\302\303\217\210A\211\204\301)\207" [vm-folder-garbage-alist nil (byte-code "@A@@!\207" [vm-folder-garbage-alist] 2) ((error))] 4]) (defalias 'vm-garbage-collect-message #[nil "\212\205\301\302\303\217\210A\211\204\301)\207" [vm-message-garbage-alist nil (byte-code "@A@@!\207" [vm-message-garbage-alist] 2) ((error))] 4]) (byte-code "\304>\204\n\304B\305 >\204 \306\244\303\nB\307\303!\203%\310 B\202(\310C\311\312!\207" [write-file-hooks find-file-hooks current-load-list after-revert-hook vm-write-file-hook vm-handle-file-recovery (vm-handle-file-recovery vm-handle-file-reversion) boundp vm-after-revert-buffer-hook provide vm-folder] 2) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:22 2004 ;;; from file /Users/kyle/vm/vm-imap.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-imap.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\203\301\302\303\"\210\202\304\302\305\306#\210\304\302\307\303#\210\300\207" [fboundp define-error vm-imap-protocol-error "IMAP protocol error" put error-conditions (vm-imap-protocol-error error) error-message] 4) (defalias 'vm-imap-capability #[(cap &optional process) "\203\212\303!q\210 \n>)\207 \n>\207" [process cap vm-imap-capabilities process-buffer] 2]) (defalias 'vm-imap-auth-method #[(auth) " >\207" [auth vm-imap-auth-methods] 2]) (defalias 'vm-folder-imap-maildrop-spec #[nil "\301H\207" [vm-folder-access-data 0] 2]) (put 'vm-folder-imap-maildrop-spec 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-folder-imap-process #[nil "\301H\207" [vm-folder-access-data 1] 2]) (put 'vm-folder-imap-process 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-folder-imap-uid-validity #[nil "\301H\207" [vm-folder-access-data 2] 2]) (put 'vm-folder-imap-uid-validity 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-folder-imap-uid-list #[nil "\301H\207" [vm-folder-access-data 3] 2]) (put 'vm-folder-imap-uid-list 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-folder-imap-mailbox-count #[nil "\301H\207" [vm-folder-access-data 4] 2]) (put 'vm-folder-imap-mailbox-count 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-folder-imap-read-write #[nil "\301H\207" [vm-folder-access-data 5] 2]) (put 'vm-folder-imap-read-write 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-folder-imap-can-delete #[nil "\301H\207" [vm-folder-access-data 6] 2]) (put 'vm-folder-imap-can-delete 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-folder-imap-body-peek #[nil "\301H\207" [vm-folder-access-data 7] 2]) (put 'vm-folder-imap-body-peek 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-folder-imap-permanent-flags #[nil "\301H\207" [vm-folder-access-data 8] 2]) (put 'vm-folder-imap-permanent-flags 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-imap-maildrop-spec #[(val) "\302 I\207" [vm-folder-access-data val 0] 3]) (put 'vm-set-folder-imap-maildrop-spec 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-imap-process #[(val) "\302 I\207" [vm-folder-access-data val 1] 3]) (put 'vm-set-folder-imap-process 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-imap-uid-validity #[(val) "\302 I\207" [vm-folder-access-data val 2] 3]) (put 'vm-set-folder-imap-uid-validity 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-imap-uid-list #[(val) "\302 I\207" [vm-folder-access-data val 3] 3]) (put 'vm-set-folder-imap-uid-list 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-imap-mailbox-count #[(val) "\302 I\207" [vm-folder-access-data val 4] 3]) (put 'vm-set-folder-imap-mailbox-count 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-imap-read-write #[(val) "\302 I\207" [vm-folder-access-data val 5] 3]) (put 'vm-set-folder-imap-read-write 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-imap-can-delete #[(val) "\302 I\207" [vm-folder-access-data val 6] 3]) (put 'vm-set-folder-imap-can-delete 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-imap-body-peek #[(val) "\302 I\207" [vm-folder-access-data val 7] 3]) (put 'vm-set-folder-imap-body-peek 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-imap-permanent-flags #[(val) "\302 I\207" [vm-folder-access-data val 8] 3]) (put 'vm-set-folder-imap-permanent-flags 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-imap-move-mail #[(source destination) "\306 \307\310!\205 \306\311\312\217\313\n!\306\211\211\314\n!\315F \306\314\n!\306\211\211\211\211\211\211\211\211\211\211\211\211\211\316\306\211  !\"#$%&'()*\317\n+\"\211\203sA\202\210\317\314\n!+\"\211\203\206A\202\210,\320\216\321\322\215.\207" [vm-imap-messages-per-session vm-imap-bytes-per-session source vm-imap-retrieved-messages process-buffer retrieved-bytes nil fboundp find-file-name-handler (byte-code "\301\302\"\207" [source find-file-name-handler vm-imap-move-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) vm-safe-imapdrop-string vm-imapdrop-sans-password uid 0 assoc ((byte-code "\n\306=\203 \307\232\204\310 \210\f\203\311\f!\210 \203!\312 !\210\306\207" [imap-retrieved-messages vm-imap-retrieved-messages vm-flush-interval retrieved statblob process t 0 vm-stuff-imap-retrieved vm-imap-stop-status-timer vm-imap-end-session] 2)) end-of-session (byte-code "\203 \306\307\310 \n#\"\210\311 !\211\204\306\307\312\"\210\304 !\212\fq\210\313 \314\"\315 8\316 \"\211@ A@!\3178\"\3158#\320\321!$\322%&!#&\323'\324(\325 )\326)*\"\210\327) \"\210' X\203\243\330+!\203\207,+W\203\243\330-!\203\226(-W\203\243\331\332\215\210'T\211'\202r.\203\261\333 \334\"\210\335 !\210,\324\232)?\207" [handler source destination process process-buffer source-list throw end-of-session vm-imap-move-mail vm-imap-make-session nil vm-parse "\\([^:]+\\):?" 3 vm-imap-select-mailbox 2 vm-imap-capability IMAP4REV1 vm-imap-clear-invalid-retrieval-entries 1 0 vm-imap-start-status-timer vm-set-imap-stat-x-box vm-set-imap-stat-x-maxmsg natnump skip (byte-code "\306 \"\210\307\310 \211#\211@A \f\240\210 A\240\210 \235\2035 \2030\311\312 !\"$\210\313\314\315\"\210)\316 \"#\317#\"\210$\250\203\245#$V\203\245 \203^\320 # #\202_\314\211%\321=\204\245&\203\210'\203\210%\322=\203\210\311\323 \"\210\324 \"\210\315(\202\240 \203\225\311\325 \"\210\202\240\311\326 \"#$%\210\313\314\315\"\210\311\327 !\"$\210)\203\306\330 \331\332 \"\"\210\333 *\315$\210\202\326\330 \331\334 \"\"\210\333 *\307$\210+T+,\203\347-#\\-.\204\367\335 !B\202 &\203 '\203 \324 \"\210\315(\307\207" [statblob n list process uid msgid vm-set-imap-stat-x-currmsg nil vm-imap-get-uid-list message "Skipping message %d (of %d) from %s (retrieved already)..." throw skip t vm-imap-get-message-size vm-set-imap-stat-x-need vm-imap-ask-about-large-message retrieve delete "Deleting message %d..." vm-imap-delete-message "Skipping message %d..." "Skipping message %d in %s, too large (%d > %d)..." "Retrieving message %d (of %d) from %s..." vm-imap-send-command format "FETCH %d (BODY.PEEK[])" vm-imap-retrieve-to-target "FETCH %d (RFC822.PEEK)" copy-sequence uid-validity imap-retrieved-messages vm-imap-ok-to-ask mailbox-count imapdrop message-size vm-imap-max-message-size response read-write can-delete did-delete use-body-peek destination retrieved b-per-session retrieved-bytes auto-expunge] 7) vm-imap-send-command "CLOSE" vm-imap-read-ok-response mailbox select mailbox-count uid-validity read-write can-delete use-body-peek source-nopwd imap-retrieved-messages n retrieved-bytes statblob imapdrop m-per-session retrieved b-per-session did-delete] 7) retrieved n response message-size mailbox-count mailbox uid-validity read-write can-delete source-list select x auto-expunge use-body-peek source-nopwd did-delete imap-retrieved-messages msgid statblob imapdrop handler b-per-session m-per-session process vm-imap-auto-expunge-alist vm-imap-expunge-after-retrieving] 27]) (defalias 'vm-imap-check-mail #[(source) "\306\307\310!\205 \306\311\312\217\313 !\314\306\211\211\211\211\211\211\315\216\212\316\317\215). \207" [vm-imap-retrieved-messages source source-list mailbox select response nil fboundp find-file-name-handler (byte-code "\301\302\"\207" [source find-file-name-handler vm-imap-check-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) vm-imapdrop-sans-password 0 ((byte-code "\203\301!\210\301\207" [process vm-imap-end-session] 2)) end-of-session (byte-code "\203\f\306\307\310 \"\"\210\311 !\211\204\306\307\312\"\210\313\n!q\210\314 \315\"\316 8\317\n\f\"\211@ A@\320U\203F\321 \322\"\210\306\307\312\"\210\323#\324\n\325#\211\203\266@\204o\321 \326\"\210\306\307\312\"\210\202\243\203\243\327@A\"\211\203\225A@\232\203\225\3308\331=\204\232 T A\211\204t\321  \320\211\211F\"\210\306\307 \320=?\"\210 @\320\232?\207" [handler source process source-list mailbox select throw end-of-session vm-imap-check-mail vm-imap-make-session nil process-buffer vm-parse "\\([^:]+\\):?" 3 vm-imap-select-mailbox 0 vm-store-folder-totals (0 0 0 0) vm-imap-clear-invalid-retrieval-entries vm-imap-get-uid-list 1 (0 0 0 0) assoc 2 uid msg-count uid-validity imapdrop retrieved response x count] 7) x uid-validity msg-count count imapdrop retrieved handler process] 12]) (defalias 'vm-expunge-imap-messages #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210 \315=\203/\310\316\n\"\210\317\211\211\320\321\211\317\211\211\211\211\211\211\211\211\211\211\211\211)*+,-./012345678\322\216\212\3239\324\"\2119\f\203|\325\326\215\210\202q2\203\214\3278\330\"\210\3318!\2106\203\340\332\333!q\210\317:\334 \210\335\3365\320U\203\251\337\202\25355\340U\203\266\341\202\267\342#c\210\343c\2106\237\2106\211\203\326\344\f@\345\261\210\fA\211\204\310\321:\346p!\210\202\375\347\3505\320U\203\355\337\202\35755\340U\203\372\341\202\373\342#\210*6\206\317\2119.\207" [vm-mail-buffer major-mode this-command match mp data vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-virtual-mode "%s cannot be applied to virtual folders." nil 0 t ((byte-code "\203\301!\210\301\207" [process vm-imap-end-session] 2)) sort #[(a b) "\3028\302 8\231\203\f\303\207\302 8\3028\231\203\304\207A@ A@\231\203$\303\207 A@A@\231\2030\304\207@ @\231\203:\303\207\304\207" [a b 2 t nil] 3] replay (byte-code "\301\302\303\217\210A\301\207" [mp error-data (byte-code "@\n\306 8\232\204U \203$\f\203\307 \310\"\210\311 !\210\312 !\210\313\313\306 8\314\n!\315\316\317\217\210\320U\203M@A@\n\232\203HA\211\2029\321\322\323\"\210\324 \325#\326 @\"\211\203o\327 @\"\210\323T\313\207" [mp data source process did-delete imapdrop 2 vm-imap-send-command "CLOSE" vm-imap-read-ok-response vm-imap-end-session nil vm-safe-imapdrop-string error-data (byte-code "\306\307\"\210\310 !\211\204\311\312\313\"\210\314\n!q\210\315 \316\"\317 8\320\n\f\"\211@ A@\321 8\317 8\322 #@=\204O\323\324\325\"\210\204Y\312\326\f\"\210\204c\312\327\f\"\210\306\330\"\207" [imapdrop source process source-list mailbox select-response message "Opening IMAP session to %s..." vm-imap-make-session signal error nil process-buffer vm-parse "\\([^:]+\\):?" 3 vm-imap-select-mailbox 2 vm-imap-clear-invalid-retrieval-entries throw replay t "Can't delete messages in mailbox %s, skipping..." "Mailbox %s is read-only, skipping..." "Expunging messages in %s..." msg-count uid-validity read-write can-delete mp data] 5) ((error (byte-code "A\203\305\306A\"\210\202\306\307 \"\210 \nB\310\311!\210 @A@\f\232\203+ A\211\202\312\313\314\"\207" [error-data imapdrop trouble mp source apply message "Couldn't open IMAP session to %s, skipping..." sleep-for 2 throw replay t] 4))) 0 throw replay t vm-imap-get-uid-list 1 rassoc vm-imap-delete-message msg-count uid-alist match delete-count] 5) ((error (byte-code " B\305\306\307\n!\"\210\310\311!\210\305\312\"\210\310\311!\210\311 @8\f\232\203' A\202\313\314\315\"\207" [imapdrop trouble error-data mp source message "Something signaled: %s" prin1-to-string sleep-for 2 "Skipping rest of mailbox %s..." throw replay t] 4)))] 3) vm-imap-send-command "CLOSE" vm-imap-read-ok-response get-buffer-create "*IMAP Expunge Trouble*" erase-buffer format "%s IMAP message%s expunged.\n\n" "No" 1 "" "s" "VM had problems expunging messages from:\n" " " "\n" display-buffer message "%s IMAP message%s expunged." mailbox uid-alist imapdrop source-list select-response uid-validity read-write can-delete msg-count did-delete vm-imap-ok-to-ask vm-global-block-new-mail delete-count trouble source process vm-imap-retrieved-messages buffer-read-only] 20 "\ Deletes all messages from IMAP mailbox that have already been retrieved into the current folder. VM sets the \\Deleted flag on all such messages on all the relevant IMAP servers and then immediately expunges." nil]) (defalias 'vm-imap-make-session #[(source) "\306\306\211\307 !\n\203\310\202 \203\310\202\311\n\203 \310\202) \203(\310\202)\311\306\211\312\306\211\211\211\211\211\211\211\211\211\211\211 !\313\216\314\315\215.\207" [vm-folder-type source vm-xemacs-mule-p vm-xemacs-file-coding-p source-nopwd-nombox process-buffer nil vm-safe-imapdrop-string binary no-conversion "IMAP" ((byte-code "\203 \301\302\"\210\303 \207" [process-to-shutdown vm-imap-end-session t vm-tear-down-stunnel-random-data] 3)) end-of-session (byte-code "\306\307\"\211A@\310 8\311 8\312 8\313 8@\314!A\f\315\232\204T @\316\232\203>\317B\320CD\204T\321\322!\210\202T @\323\232\203T\317E\324CF\204T\321\325!\210\n\204]\321\326\"\210 \204f\321\327\"\210\330\331 \"\203q\332 !\f\204z\321\333\"\210 \204\203\321\334\"\210@\204\215\321\335\"\210@\336\232\203\304\f\315\232\204\304\337AG\"A@\211@\204\304H\204\273\340\341I\"\210\342\343\344\"\210\202\304\345\346\347I\"!@\337AG\"\204\327A@DGBG\350\346\351C\n#!J\212Jq\210K\206\355LM\352J!\210\353\354!\210\355 \210\356\357!\203\357N\203 \360\202O\203\360\202\361\317\"\210\f\315\232\203+\362\363\n P @&Q\364Q!\203;\365Qp\"\210\202\236\366C\367\370 \371\261\210\346\372\n #c\210B\203i\373 \210\374\375CJD\376\n \"R\244%Q\202\214E\203\202\377CJ\201^\201_\n \"$Q\202\214\377CJ\n $QQ\204\226\342\343\344\"\210\201`\201a!\210`,\201bQ!\210\201cQ!\211S\204\300\201dQ!\210\342\343\344\"\210QT\353\201e!\344L\210\201fQ\201g\"\210\201hQ!\211U\204\347\342\343\344\"\210\353\201i!U@L\210\353\201j!UA@L\210\f\201k\232\203L\201fQ\346\201l\201m !\201m@!#\"\210\201nQ!\204\255\201oA@DG\"G\340\201pI\"\210H\203D\201q\310!\210\342\343\344\"\210\202\255\f\201r\232\203~\201s\201t!\204d\321\201u!\210\201v\201w\201x\"\201v\201w\201y\"\201z@\201v\201{\201w@GZ]\201{\"P\344\211\211\211VWXYZ[\\]\201fQ[\"\210\201|Q!Y\201}Y\201~\201#\203\314\321\201\200[\"\210\201}Y\201~\201\201#\203\345\201\202\201\203[\"\210\201}Y\201\204\201\205#\203YA@A\211X@XA@{W\201\206W!W\202\321\201\207!\210 \201\210\201\211\201\212Z\\\"\201\213\201\212Z]\"WP!P!QV\201\214V!V\201fQV\344\317$\210\201nQ!\204y\201oA@DG\"G\340\201pI\"\210H\203t\201q\310!\210\342\343\344\"\210.\202\255\f\315\232\203\246S\201\215=\204\255\340\201\216!\210H\203\236\201q\310!\210\342\343\344\"\210\202\255\321\201\217\f\"\210\344TQ)\207" [source source-list host port auth user vm-parse "\\([^:]+\\):?" 2 4 5 6 vm-imapdrop-sans-password-and-mailbox "preauth" "imap-ssl" t "IMAP over SSL" error "vm-stunnel-program must be non-nil to use IMAP over SSL." "imap-ssh" "IMAP over SSH" "vm-ssh-program must be non-nil to use IMAP over SSH." "No host in IMAP maildrop specification, \"%s\"" "No port in IMAP maildrop specification, \"%s\"" string-match "^[0-9]+$" string-to-int "No authentication method in IMAP maildrop specification, \"%s\"" "No user in IMAP maildrop specification, \"%s\"" "No password in IMAP maildrop specification, \"%s\"" "*" assoc message "Need password for %s" throw end-of-session nil vm-read-password format "IMAP password for %s: " vm-make-work-buffer "trace of %s session to %s" buffer-disable-undo make-local-variable vm-imap-read-point erase-buffer fboundp set-buffer-file-coding-system binary no-conversion run-hook-with-args-until-success vm-imap-session-preauth-hook processp set-process-buffer "starting " " session " current-time-string "\n" "connecting to %s:%s\n" vm-setup-stunnel-random-data-if-needed apply start-process vm-stunnel-configuration-args open-network-stream pass source-nopwd-nombox use-ssl session-name vm-stunnel-program use-ssh vm-ssh-program vm-imap-passwords vm-imap-ok-to-ask imapdrop process-buffer folder-type vm-default-folder-type vm-folder-type vm-xemacs-mule-p vm-xemacs-file-coding-p mailbox process vm-stunnel-program-switches greeting process-to-shutdown ooo answer challenge p response secret command opad ipad "127.0.0.1" vm-setup-ssh-tunnel insert-before-markers "connected\n" process-kill-without-query vm-imap-read-greeting delete-process vm-imap-session-done vm-imap-send-command "CAPABILITY" vm-imap-read-capability-response vm-imap-capabilities vm-imap-auth-methods "login" "LOGIN %s %s" vm-imap-quote-string vm-imap-read-ok-response delete "IMAP password for %s incorrect" sleep-for "cram-md5" vm-imap-auth-method CRAM-MD5 "CRAM-MD5 authentication unsupported by this server" make-string 64 54 92 "AUTHENTICATE CRAM-MD5" 0 vm-imap-read-response vm-imap-response-matches VM NO "server said NO to %s" BAD vm-imap-protocol-error "server said BAD to %s" + atom vm-mime-base64-decode-string "Don't understand AUTHENTICATE response" " " vm-md5-string vm-xor-string vm-md5-raw-string vm-mime-base64-encode-string preauth "IMAP session was not pre-authenticated" "Don't know how to authenticate using %s"] 9) source-list pass user auth mailbox port host timestamp greeting process-connection-type session-name use-ssh use-ssl coding-system-for-write coding-system-for-read imapdrop ooo process folder-type process-to-shutdown] 22]) (defalias 'vm-imap-end-session #[(process &optional keep-buffer) "\305!\306>\205a\307\310!!\205a\212\310!q\210 ?\205`\311\312\"\210\313\314!\210\n\2047 \2047\315\310!!\210\202L\212\310!q\210\316\317\320 P\313\"\210\321p\322\f#\210)\323\324!\203Z\324\325\326#\202`\327\325\330\326$)\207" [process vm-imap-session-done vm-imap-keep-trace-buffer keep-buffer vm-imap-keep-failed-trace-buffers process-status (open run) buffer-live-p process-buffer vm-imap-send-command "LOGOUT" t vm-imap-read-ok-response kill-buffer rename-buffer "saved " buffer-name vm-keep-some-buffers vm-kept-imap-buffers fboundp add-async-timeout 2 delete-process run-at-time nil] 5]) (defalias 'vm-imap-stat-timer #[(o) "\301H\207" [o 0] 2]) (defalias 'vm-imap-stat-did-report #[(o) "\301H\207" [o 1] 2]) (defalias 'vm-imap-stat-x-box #[(o) "\301H\207" [o 2] 2]) (defalias 'vm-imap-stat-x-currmsg #[(o) "\301H\207" [o 3] 2]) (defalias 'vm-imap-stat-x-maxmsg #[(o) "\301H\207" [o 4] 2]) (defalias 'vm-imap-stat-x-got #[(o) "\301H\207" [o 5] 2]) (defalias 'vm-imap-stat-x-need #[(o) "\301H\207" [o 6] 2]) (defalias 'vm-imap-stat-y-box #[(o) "\301H\207" [o 7] 2]) (defalias 'vm-imap-stat-y-currmsg #[(o) "\301H\207" [o 8] 2]) (defalias 'vm-imap-stat-y-maxmsg #[(o) "\301H\207" [o 9] 2]) (defalias 'vm-imap-stat-y-got #[(o) "\301H\207" [o 10] 2]) (defalias 'vm-imap-stat-y-need #[(o) "\301H\207" [o 11] 2]) (defalias 'vm-set-imap-stat-timer #[(o val) "\302 I\207" [o val 0] 3]) (defalias 'vm-set-imap-stat-did-report #[(o val) "\302 I\207" [o val 1] 3]) (defalias 'vm-set-imap-stat-x-box #[(o val) "\302 I\207" [o val 2] 3]) (defalias 'vm-set-imap-stat-x-currmsg #[(o val) "\302 I\207" [o val 3] 3]) (defalias 'vm-set-imap-stat-x-maxmsg #[(o val) "\302 I\207" [o val 4] 3]) (defalias 'vm-set-imap-stat-x-got #[(o val) "\302 I\207" [o val 5] 3]) (defalias 'vm-set-imap-stat-x-need #[(o val) "\302 I\207" [o val 6] 3]) (defalias 'vm-set-imap-stat-y-box #[(o val) "\302 I\207" [o val 7] 3]) (defalias 'vm-set-imap-stat-y-currmsg #[(o val) "\302 I\207" [o val 8] 3]) (defalias 'vm-set-imap-stat-y-maxmsg #[(o val) "\302 I\207" [o val 9] 3]) (defalias 'vm-set-imap-stat-y-got #[(o val) "\302 I\207" [o val 10] 3]) (defalias 'vm-set-imap-stat-y-need #[(o val) "\302 I\207" [o val 11] 3]) (defalias 'vm-imap-start-status-timer #[nil "\302\303\304\"\304\305\306\307 \306$\310 \"\210 *\207" [timer blob make-vector 12 nil add-timeout 5 vm-imap-report-retrieval-status vm-set-imap-stat-timer] 5]) (defalias 'vm-imap-stop-status-timer #[(status-blob) "\301!\203\n\302\303!\210\304\305!\203\305\306!!\207\307\306!!\207" [status-blob vm-imap-stat-did-report message "" fboundp disable-timeout vm-imap-stat-timer cancel-timer] 3]) (defalias 'vm-imap-report-retrieval-status #[(o) "\301\302\"\210\303!\203]\304!\305!=\203]\306!\307!=\203]\310\311\306!\312!\304!\313!\203Z\314\315\303!\303!\313!V\203C\316\202D\317\313!\303!\320!=\203U\321\202V\317%\202[\322%\210\323\304!\"\210\324\306!\"\210\325\312!\"\210\326\303!\"\210\327\313!\"\207" [o vm-set-imap-stat-did-report t vm-imap-stat-x-got vm-imap-stat-x-box vm-imap-stat-y-box vm-imap-stat-x-currmsg vm-imap-stat-y-currmsg message "Retrieving message %d (of %d) from %s, %s..." vm-imap-stat-x-maxmsg vm-imap-stat-x-need format "%d%s of %d%s" "!" "" vm-imap-stat-y-got " (stalled)" "post processing" vm-set-imap-stat-y-box vm-set-imap-stat-y-currmsg vm-set-imap-stat-y-maxmsg vm-set-imap-stat-y-got vm-set-imap-stat-y-need] 13]) (defalias 'vm-imap-check-connection #[(process) "\301!\302>\204 \303\304\"\207\305\306!!?\205\303\307\"\207" [process process-status (open run) error "IMAP connection not open: %s" buffer-live-p process-buffer "IMAP process %s's buffer has been killed"] 3]) (defalias 'vm-imap-send-command #[(process command &optional tag no-tag) "\306!\210db\210 \204\307\n\206\310\311\"\210\312\313\314\f\"\203$\307\315!\210\202)\307\f\316\"\210)` \2038\317\320\321\f\"\"\207\317\320\322\n\206A\310\f#\"\207" [process no-tag tag case-fold-search command vm-imap-read-point vm-imap-check-connection insert-before-markers "VM" " " t string-match "^LOGIN" "LOGIN \n" " \n" process-send-string format "%s \n" "%s %s \n"] 6]) (defalias 'vm-imap-select-mailbox #[(process mailbox &optional just-examine) "p\203 \306\202\n\307\310\211\211\211\211\211\211?\311\211()*+,-.\312/\313\314-0#\"\210 \203\373\315/!+\316+\317\320#\203M\321\322-\"\210\316+\317\323#\203\\\324\325-\"\210\316+\326\327\330$\203\232\331+8A*\316*\332\333#\203\210*A@\211,A@\331,8{\2024\316*\334\335#\2034*A@(\2024\316+\326\336\335$\203\255\331+8)\2024\316+\326\333\337$\203\312+A@\211,A@b\210\340.!\2024\316+\317\327\341$\203\333\310\311\2024\316+\317\327\342$\203\354\310\311\2024\316+\317\327#\2034\310\211\2048)\204\324\343!\210 \204\f\324\344!\210\f\204\324\345!\210\346)\347\" \f \n(\257.\f\207" [just-examine need-ok can-delete read-write uid-validity msg-count "EXAMINE" "SELECT" nil t vm-imap-send-command format "%s %s" vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to %s" BAD vm-imap-protocol-error "server said BAD to %s" * OK vector 2 UIDVALIDITY atom PERMANENTFLAGS list FLAGS EXISTS read (vector READ-WRITE) (vector READ-ONLY) "FLAGS missing from SELECT responses" "EXISTS missing from SELECT responses" "UIDVALIDITY missing from SELECT responses" vm-imap-scan-list-for-flag "\\Deleted" permanent-flags flags p response tok command imap-buffer process mailbox] 13]) (defalias 'vm-imap-get-uid-list #[(process first last) "\306p\306\211\211\211\211\307\310\311\312 !#\"\210\203\215\313!\314\n\315\316#\2033\317\320!\210\314\n\315\321#\203?\322\323!\210\314\n\324\325\326\327%\203\330\n8A\314 \331\325#\204Z\322\332!\210\nA@\211A@b\210\333! A@\211A@\334 8{\f BB\202\314\n\315\335#\203\306\211\204\"\204\230\306\211B\202\232.\207" [need-ok p response uid msg-num tok nil t vm-imap-send-command format "FETCH %s:%s (UID)" vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to UID FETCH" BAD vm-imap-protocol-error "server said BAD to UID FETCH" * atom FETCH list 3 UID "expected (UID number) in FETCH response" read 2 OK imap-buffer process first last] 9]) (defalias 'vm-imap-get-flags-list #[(process first last) "\306p\306\211\211\211\211\211\307 \310!\311\312\"##\"\210\203\265\313!!\314\n\315\316#\2036\317\320!\210\314\n\315\321#\203B\322\323!\210\314\n\324\325\326\327%\203\247\330\n8A\314 \331\327#\204]\322\332!\210\nA@\211A@b\210\333 ! A@A\306 \203\234 @\314\325\"\204\207\322\334!\210A@\3358{\211 B A\211\204w BB\202!\314\n\315\336#\203!\306\211\204%\204\300\306\211B\202\302. \207" [need-ok p response flags flag msg-num nil t vm-imap-send-command format "FETCH %s:%s (FLAGS)" vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to FLAGS FETCH" BAD vm-imap-protocol-error "server said BAD to FLAGS FETCH" * atom FETCH list 3 FLAGS "expected (FLAGS list) in FETCH response" read "expected atom in FLAGS list in FETCH response" 2 OK tok imap-buffer process first last] 10]) (defalias 'vm-imap-ask-about-large-message #[(process size n) "\306p\307\211\306\211\211\211\211\211\n \f \310\216\212\311\213.\f\207" [end start p list fetch-response response nil t ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) ((byte-code "\306\307\310 \"\"\210\n\203G\311!\312 \313\314#\203\315\316!\210\312 \313\317#\203(\320\321!\210\312 \322\323\324\325%\2039 \326\202\312 \313\327#\203\326\211\204\f \203O\320\330!\210\331 1\332\f8A\312\333\334#\204f\320\335!\210A@\2112A@3\336284\337\340!\2115q\210\341634#\210\342ed\"\210\3435!\210\344 7eb\210\345\346\326\347#\203\255\350\224b\210\351\32689#\210\352\344 `\"\210\353\307\354 :#!\203\300\355\207\353\307\356 :#!\203\315\357\207\360\207" [process n need-ok response fetch-response need-header vm-imap-send-command format "FETCH %d (RFC822.HEADER)" vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to header FETCH" BAD vm-imap-protocol-error "server said BAD to header FETCH" * atom FETCH list nil OK "FETCH OK sent before FETCH response" point-marker 3 RFC822\.HEADER string "expected (RFC822.HEADER string) in FETCH response" 2 generate-new-buffer "*imap-glop*" insert-buffer-substring vm-imap-cleanup-region vm-display-buffer selected-window re-search-forward "^Received:" t 0 vm-reorder-message-headers set-window-point y-or-n-p "Message %d, size = %d, retrieve? " retrieve "Delete message %d from maildrop? " delete skip vm-imap-read-point p start end work-buffer imap-buffer minibuffer-scroll-window vm-visible-headers vm-invisible-header-regexp size] 7)) need-header need-ok imap-buffer work-buffer] 10]) (defalias 'vm-imap-retrieve-to-target #[(process target statblob bodypeek) "\306\307\211\211\211\2116b\210\3107\311\"\210\3128\3129B9\306:\307;:\203m\3136\f#\2106b\210\3107\307\"\210>\345=\203!?;\203\371\346?!\211@?\206\365\347@8\311\232)\202\n\350?!\203!\212?q\210\351 \311U)\203!`A\352\307>\"\210A\2116b\210\353 \210)\354 c\210\214`\f}\210\355\356>\"\210)\fb\210\357\360 !\210`Sf\361=\204L>\362>\203L\357\363!\210?;\203f\306\307BC\3646\f?\306\311%\210*\202zpD\212?q\210\307E\365D6\f#\210+6\f|\210.\306\207" [vm-imap-read-point p list fetch-response end need-msg t nil vm-set-imap-stat-x-got 0 #[(beg end len) "\205\304 \n Z\"\210\305 \306\246\307U\205\310 !\207" [vm-imap-read-point statblob end start vm-set-imap-stat-x-got random 10 0 vm-imap-report-retrieval-status] 4] vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to message FETCH" BAD vm-imap-protocol-error "server said BAD to message FETCH" * atom FETCH OK "FETCH OK sent before FETCH response" point-marker 3 BODY (vector) string "expected (BODY[] string) in FETCH response" 2 RFC822 "expected (RFC822 string) in FETCH response" vm-set-imap-stat-x-need vm-imap-cleanup-region vm-munge-message-separators babyl file-attributes 7 bufferp buffer-size vm-convert-folder-header vm-skip-past-folder-header vm-leading-message-separator vm-convert-folder-type-headers baremessage insert-before-markers vm-trailing-message-separator 10 (From_-with-Content-Length BellFrom_) "\n" write-region insert-buffer-substring start statblob func after-change-functions need-ok response process bodypeek vm-folder-type target attrs opoint selective-display buffer-file-type b buffer-read-only] 7]) (defalias 'vm-imap-delete-message #[(process n) "\302\303\304 \"\"\210\305!?\205\306\307!\207" [process n vm-imap-send-command format "STORE %d +FLAGS.SILENT (\\Deleted)" vm-imap-read-ok-response vm-imap-protocol-error "STORE ... +FLAGS.SILENT (\\Deleted) failed"] 5]) (defalias 'vm-imap-get-message-size #[(process n) "\306p\306\211\211\211\307\211\310\311\312\211#\"\210\203~\313!\314 \315\316#\2032\317\320!\210\314 \315\321#\203>\322\323!\210 \203p\314 \324\325\326\327%\203p\306\330 8A\314\n\331\325#\204_\322\332!\210\nA@\211A@b\210\333!\202\314 \315\334#\203\306\211\204!\f.\207" [need-ok need-size p response size tok nil t vm-imap-send-command format "FETCH %d:%d (RFC822.SIZE)" vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to size FETCH" BAD vm-imap-protocol-error "server said BAD to size FETCH" * atom FETCH list 3 RFC822\.SIZE "expected (RFC822.SIZE number) in FETCH response" read OK imap-buffer process n] 9]) (defalias 'vm-imap-read-capability-response #[(process) "\306\211\211\211\307\203\237\310 !\311\f\312\313#\203\314\315!\210\311\f\312\316#\203*\317\320!\210\311\f\312\321#\2038\306\211\202 \311\f\322\323#\203\n\fAA\211\203\n\f@\211@\324=\203\225\212 A@b\210\307\325\326\327 8\307# A@\330\\*=\203~\331 A@\332\\\327 8{\226! B\202\225\f@\211@\324=\203\225\331 A@\327 8{\226!\nB\fA\211\204H\202\n\n\204\247 \205\254\n\237 \237D-\207" [need-ok auth-list cap-list r response process nil t vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to CAPABILITY" BAD vm-imap-protocol-error "server said BAD to CAPABILITY" OK * CAPABILITY atom re-search-forward "AUTH=." 2 6 intern 5 case-fold-search] 6]) (defalias 'vm-imap-read-greeting #[(process) "\302\303 !\304\305\306#\203\307\202\304\305\310#\203\311\202\302)\207" [response process nil vm-imap-read-response vm-imap-response-matches * OK t PREAUTH preauth] 4]) (defalias 'vm-imap-read-ok-response #[(process) "\304\211\211\204-\305 !\306\n\307\"\204\306\n\310\311#\203%\312\312\211\202\304\312\211\203\n +\207" [done retval response process nil vm-imap-read-response vm-imap-response-matches * VM OK t] 5]) (defalias 'vm-imap-cleanup-region #[(start end) "\304\305 \n \223*\212 b\210`W\203&\306\307\310#\203&\311\312\310\211#\210\202)\304\211\223\207" [end buffer pos start nil make-marker search-forward " \n" t replace-match "\n"] 4]) (defalias 'vm-imapdrop-sans-password #[(source) "\302\303 \304\"\211@\305A@\305\3068\305\3078\305\3108\305\3118\312\260\f)\207" [source-list source nil vm-parse "\\([^:]+\\):?" ":" 2 3 4 5 ":*"] 13]) (defalias 'vm-imapdrop-sans-password-and-mailbox #[(source) "\302\303 \304\"\211@\305A@\305\3068\307\3108\305\3118\312\260\n)\207" [source-list source nil vm-parse "\\([^:]+\\):?" ":" 2 ":*:" 4 5 ":*"] 11]) (defalias 'vm-imap-read-response #[(process) "\305\211\211 b\210\306\f!\211@\307=\204-\n\204!\305B\211\202 \305B\241\210 A\202 \n+\207" [obj tail list vm-imap-read-point process nil vm-imap-read-object end-of-line] 4]) (defalias 'vm-imap-read-object #[(process &optional skip-eol) "\306\211\211\n\204\372\307\306w\210d`Z\310W\203&`\311 !\210\312 !\210 b\210\202\313\314!\2038\310u\210\315\f?\211\202\313\316!\203{\317u\210\320C\211.\306/\321 \322\"\211/@\323=\204s/@\324=\203c\325\326!\210./\306B\241\210.A.\202J \322+\202\313\327!\203\214\317u\210\330\322\211\202\313\331!\203\317\317u\210\305C\211.\306/\321 \322\"\211/@\324=\204\307/@\323=\203\267\325\332!\210./\306B\241\210.A.\202\236 \322+\202\313\333!\203\340\317u\210\334\322\211\202\313\335!\203Z\317u\210\306\211\2110/1\321 !\211/@\336=\204\325\337!\210\340/A@\310/8{!0\321 !\211/@\341=\204\325\342!\210\321 !\211/@\343=\204/\325\344!\210`1d1Z0W\203G\311 !\210\312 !\210\202210\\b\210\3451`E\322+\202\313\346!\203k\317u\210\347\322\211\202\313\350!\203\255\317u\210``21\n\204\251\351\306w\210`2\313\350!\203\223\322\317u\210\202\237\311 !\210\312 !\2102b\210\34512E\202z*\202\313\352!\203\274\325\353`f\"\210\202``\354\3553421\n\204\3664\306w\210`2\3133!\203\340\322\202\354\311 !\210\312 !\2102b\210\33612E\202\310,\202`5+\207" [token opoint done process skip-eol list nil " " 2 vm-imap-check-connection accept-process-output looking-at " \n" (end-of-line) "\\[" 1 vector vm-imap-read-object t close-bracket close-paren vm-imap-protocol-error "unexpected )" "\\]" (close-bracket) "(" "unexpected ]" ")" (close-paren) "{" atom "number expected after {" string-to-int close-brace "} expected" end-of-line "CRLF expected" string "}" (close-brace) "\"" "^\"" "[- ]" "unexpected char (%d)" "^- ()[]{}" "[][- (){}]" tail obj n-octets start curpoint not-word-regexp not-word-chars vm-imap-read-point] 5]) (defalias 'vm-imap-response-matches #[(response &rest expr) "\303\304\211\305\306\215+\207" [r e case-fold-search t nil done (byte-code "\203 \203@ @\n;\2037 @\304=\203/\212 A@b\210\305\n\306 8\307#\306 8)=\204\373\310\311\312\"\210\202\373\n\247\203b @\313=\203Z\212 A@b\210\305\314\n!\306 8\307#\306 8)=\204\373\310\311\312\"\210\202\373\n:\203\n@ @=\204t\310\311\312\"\210\315\316 A\nA#\210\202\373\n\313=\203\224 @\313=\204\373\310\311\312\"\210\202\373\n\317=\203\251 @\317=\204\373\310\311\312\"\210\202\373\n\320=\203\276 @\320=\204\373\310\311\312\"\210\202\373\n\304=\203\323 @\304=\204\373\310\311\312\"\210\202\373\n9\203\373 @\313=\203\366\212 A@b\210\305\321\n!\306 8\307#\306 8)=\204\373\310\311\312\"\210 AA\211\204\307\207" [expr response e r string search-forward 2 t throw done nil atom int-to-string apply vm-imap-response-matches vector list symbol-name] 5)] 3]) (defalias 'vm-imap-bail-if-server-says-farewell #[(response) "\301\302\303#\205\f\304\305\306\"\207" [response vm-imap-response-matches * BYE throw end-of-session t] 4]) (defalias 'vm-imap-protocol-error #[(&rest args) "\301\302!\303L\210\304\305\306\307\"C\"\207" [args make-local-variable vm-imap-keep-trace-buffer t signal vm-imap-protocol-error apply format] 5]) (defalias 'vm-imap-scan-list-for-flag #[(list flag) "A\303\304\305\306\215*\207" [list e case-fold-search t nil done (byte-code "\203-@\211@\303=\203& A@b\210\304\n\305 8\306#\305 8=\203&\307\310\306\"\210A\211\204\311\207" [list e flag atom search-forward 2 t throw done nil] 5)] 2]) (defalias 'vm-imap-plist-get #[(list name) "A\303\304\305\306\215*\207" [list e case-fold-search t nil done (byte-code "\2030@\211@\303=\203( A@b\210\304\n\305 8\306#\305 8=\203(\307\310A@\"\210AA\211\204\311\207" [list e name atom search-forward 2 t throw done nil] 5)] 2]) (defalias 'vm-imap-clear-invalid-retrieval-entries #[(source-nopwd retrieved uid-validity) "\305\211\2030 \306\n@8\232\203)\n@A@\f\232\204) \203& \nA\241\210\202)A\nA\211\204*\207" [retrieved prev x source-nopwd uid-validity nil 2] 4]) (defalias 'vm-imap-quote-string #[(string) "\301\302\"\207" [string vm-with-string-as-temp-buffer vm-imap-quote-buffer] 3]) (defalias 'vm-imap-quote-buffer #[nil "eb\210\300c\210\301\302\303\304#\203\305u\210\306c\210\307u\210\202db\210\300c\207" ["\"" re-search-forward "[\"\\]" nil t -1 "\\" 1] 4]) (defalias 'vm-establish-new-folder-imap-session #[(&optional interactive) "\306H\307\211\211\211\211\211\211\211 \310!\203(\311!\210\312\313H!\211\306I\210)\314\313H!\3158\212\316!q\210\317\"\211@A@\3208\3158\3218\322\323!)\320I\210)\321I\210) \324I\210)\f\325I\210) \326I\210)\327I\210).\n\207" [vm-folder-access-data interactive vm-imap-ok-to-ask body-peek can-delete read-write 1 nil processp vm-imap-end-session vm-imap-make-session 0 vm-imap-parse-spec-to-list 3 process-buffer vm-imap-select-mailbox 2 4 vm-imap-capability IMAP4REV1 5 6 7 8 permanent-flags uid-validity mailbox-count select mailbox process val] 11]) (defalias 'vm-imap-get-uid-data #[nil "\305H\306=\203 \307\310\306\"\207\307\310\306\"\311H\305H\312\212\313 !q\210\314 \311\n#\211\203>\315 @A\f\" @@L\210 A\211\204,\f-\207" [vm-folder-access-data list mailbox-count process there 4 0 make-vector 67 1 nil process-buffer vm-imap-get-uid-list intern] 5]) (defalias 'vm-imap-get-message-flags #[(process m &optional norecord) "\306\211\211\211\211\211\212\307)!q\210\310)\311\312*\211+\313H\314H)\"\"\210\315 \205\363\316)!\317 \320\321#\203<\322\323!\210\317 \320\324#\203H\325\326!\210\317 \327\330#\203T\325\331!\210\317 \320\332#\203b\306\211\202(\317 \327\333\334\335%\203'\313 \233\211@\336 \337\"\211A\211\203\344 @\211@\333=\203\335\fA@\340\f8{\227\211\341\230\203\243\342*\315,#\210\202\335\n\343\230\203\264\344*\315,#\210\202\335\n\345\230\203\317\346*\306,#\210\347*\306,#\210\315\202\335\n\350\230\203\335\347*\315,#\210 A\211\204\204'\346*\315,#\210\202'.\207" [saw-seen response flag r p need-ok nil process-buffer vm-imap-send-command format "UID FETCH %s (FLAGS)" 3 23 t vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to UID FETCH (FLAGS)" BAD vm-imap-protocol-error "server said BAD to UID FETCH (FLAGS)" * BYE "server said BYE to UID FETCH (FLAGS)" OK atom FETCH list vm-imap-plist-get "FLAGS" 2 "\\answered" vm-set-replied-flag "\\deleted" vm-set-deleted-flag "\\seen" vm-set-unread-flag vm-set-new-flag "\\recent" process m message norecord] 7]) (defalias 'vm-imap-store-message-flags #[(process m perm-flags) "\306\211\211\212\307 !q\210\f\211\310H\311H)\203%\312%\313\"\203%\314\313! B\f\211\310H\315H)\204>\312%\316\"\203>\314\316! B\f\211\310H\310H)\203W\312%\317\"\203W\314\317! B\320 \321\322\f\211\323H\324H) \203k \202l\325#\"\210\326\n\203\253\327 !\330\331\332#\203\205\333\334!\210\330\331\335#\203\221\336\337!\210\330\340\341#\203\235\336\342!\210\330\331\343#\203q\306\211\204u\f\306&\211\311H\344&I.\207" [response flags need-ok process m message nil process-buffer 2 4 vm-imap-scan-list-for-flag "\\Answered" intern 1 "\\Seen" "\\Deleted" vm-imap-send-command format "UID STORE %s FLAGS %s" 3 23 "()" t vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to UID FETCH (FLAGS)" BAD vm-imap-protocol-error "server said BAD to UID FETCH (FLAGS)" * BYE "server said BYE to UID FETCH (FLAGS)" OK 5 perm-flags flag] 7]) (defalias 'vm-imap-save-message #[(process m mailbox) "\306\211\211\211\211 \211*\307H\310H)\203\311\312!\nB \211*\307H\313H)\204.\311\314!\nB\212 \211*\313H\315HJ)\211*\313H\316H)q\210\214~\210 \211*\317H\313H) \211*\317H\310H){*\212\320+!q\210\306\321\322\217\210\323+\324\325\326,!\n\203x\n\202y\327G$\"\210\330 \203\272\331+!\332 \333\334#\203\225\335\336!\210\332 \333\337#\203\241\340\341!\210\332 \342\343#\203\255\340\344!\210\332 \345\"\203\200\306\211\204\204\323+\306\330$\210\330\f\205\331+!\332 \333\334#\203\331\335\346!\210\332 \333\337#\203\345\340\347!\210\332 \342\343#\203\361\340\350!\210\332 \333\351#\203\304\306\211\204\310\306.\207" [string response flags need-plus need-ok m nil 2 4 intern "\\Answered" 1 "\\Seen" 5 9 0 process-buffer (vm-imap-create-mailbox process mailbox) ((error)) vm-imap-send-command format "APPEND %s %s {%d}" vm-imap-quote-string "()" t vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to APPEND command" BAD vm-imap-protocol-error "server said BAD to APPEND command" * BYE "server said BYE to APPEND command" + "server said NO to APPEND data" "server said BAD to APPEND data" "server said BYE to APPEND data" OK message process mailbox] 8]) (defalias 'vm-imap-get-synchronization-data #[nil "\306\307\310\"\311 \312H\313H\314\211\211\211\203l @\211\315H\316H)\203e @\211\315H\317H)\f\232\203e\320 @\211\315H\316H)\" @L\210\321\320 @\211\315H\316H)\"!\204e @\nB A\211\204\322\323\"\210 \n.D\207" [vm-folder-access-data mp expunge-list retrieve-list uid-validity process make-vector 67 0 vm-imap-get-uid-data 1 2 nil 3 23 24 intern boundp mapatoms #[(sym) "\304\305\306! \"!?\205 \307\306!\n\"?\205 \306!JB B\211\207" [sym here vm-imap-retrieved-messages retrieve-list boundp intern symbol-name assoc] 4] there here vm-message-list message] 8]) (defalias 'vm-imap-synchronize-folder #[(&optional interactive do-remote-expunges do-local-expunges do-retrieves do-attributes) "\203\f \203\f\306\307!\210\n\206\310 !??\205\203\203\311 \210\312 \211@\fA@/0\313H1\3132\31430\315H40\316H5\3174!60\320H7\3148\3149\314:\314;p<\203\f \203\f\212\321 deZV\314\211=>\211?\203\212\322 e\314\223\211>\203\212\322 d\314\223=\323\216~\210db\210\324\325\326\217\2103\203\240\3273!\210\314@\330\331 A\"\210BTB\332 \210\311\333!\2119: 89\203 9@8@@C\211D\334H\335CI\210*9@5C\211D\334H\336CI\210*\314\337\340\217\2109@\333C\211D\341H\316CI\210*9A98A8\202\275-E\203<F0\342HG\2119\203;9@\211D\341H\343H)\2032\314\344\345\217\2109A\2119\204*H\203H\346\333\211/#\210I\203J\2030\313H1\3471!\203m\3501!\351>\203m\3521!\210\353\354J\"K\355 \210\353\356K\"J):.\207" [do-retrieves vm-block-new-mail vm-global-block-new-mail interactive sync-data retrieve-list error "Can't get new mail until you save this folder." vm-establish-new-folder-imap-session vm-assimilate-new-messages vm-imap-get-synchronization-data 1 nil 0 2 vm-safe-imapdrop-string 7 buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) error-data (byte-code "\212\306!q\210\307 \310 \n\"\210\311 G\"\210 \f\203b\312 \"\210\313\f@A\"\314 \"\210\203G\315\316\317\f@A\"\"\210\320 \321$\210\202Y\315\316\322\f@A\"\"\210\320 \323$\210\fA T\202)\323\207" [process statblob safe-imapdrop retrieve-list r-list n process-buffer vm-imap-start-status-timer vm-set-imap-stat-x-box vm-set-imap-stat-x-maxmsg vm-set-imap-stat-x-currmsg vm-imap-get-message-size vm-set-imap-stat-x-need vm-imap-send-command format "FETCH %s (BODY.PEEK[])" vm-imap-retrieve-to-target t "FETCH %s (RFC822.PEEK)" nil message-size use-body-peek folder-buffer] 5) ((error (message "Retrieval from %s signaled: %s" safe-imapdrop error-data)) (quit (message "Quit received during retrieval from %s" safe-imapdrop))) vm-imap-stop-status-timer intern buffer-name vm-update-summary-and-mode-line t 3 23 24 (byte-code "\302 @\303#\207" [process mp vm-imap-get-message-flags t] 4) ((error)) 4 8 5 (byte-code "\303 @\n#\207" [process mp perm-flags vm-imap-store-message-flags] 4) ((error)) vm-expunge-folder processp process-status (open run) vm-imap-end-session mapcar #[(x) "@A \302F\207" [x imapdrop uid] 4] vm-expunge-imap-messages #[(x) "@A@B\207" [x] 2] local-expunge-list vm-folder-access-data process n statblob imapdrop uid-validity safe-imapdrop use-body-peek r-list mp got-some message-size folder-buffer #3# #2# #1# vm-spooled-mail-waiting vm-buffers-needing-display-update vm-modification-counter val message do-attributes vm-message-list perm-flags do-local-expunges do-remote-expunges vm-imap-messages-to-expunge vm-imap-retrieved-messages] 5]) (defalias 'vm-imap-folder-check-for-mail #[(&optional interactive) "\206\304 !??\205\305 @\306 \307H!\210\n)\207" [vm-global-block-new-mail interactive result vm-folder-access-data vm-establish-new-folder-imap-session vm-imap-get-synchronization-data vm-imap-end-session 1] 3]) (defalias 'vm-imap-find-spec-for-buffer #[(buffer) "\304 \204#\n\203# \305\306\n@!!=\203\307\211\202\nA\202\n\205)\n@*\207" [vm-imap-server-list done list buffer nil vm-get-file-buffer vm-imap-make-filename-for-spec t] 5]) (defalias 'vm-imap-make-filename-for-spec #[(spec) "\305\211\306\n!\307\n!\310\311 P \206\f\206\312\313!\"*\207" [list md5 spec vm-imap-folder-cache-directory vm-folder-directory nil vm-imap-normalize-spec vm-md5-string expand-file-name "imap-cache-" getenv "HOME"] 4]) (defalias 'vm-imap-normalize-spec #[(spec) "\302\303 !\304!\305\240\210\306\240\210AA\305\240\210\307\233\305\240\210\310\311\312#\211)\207" [list spec nil vm-imap-parse-spec-to-list vm-last "*" "imap" 4 mapconcat identity ":"] 5]) (defalias 'vm-imap-parse-spec-to-list #[(spec) "\301\302\303\304$\207" [spec vm-parse "\\([^:]+\\):?" 1 6] 5]) (defalias 'vm-imap-spec-list-to-host-alist #[(spec-list) "\302 \203\303 @!A@ @BB A\211\204)\207" [host-alist spec-list nil vm-imap-parse-spec-to-list] 3]) (defalias 'vm-read-imap-folder-name #[(prompt spec-list selectable-only) "\306\211\211\211\211\211\307\310! \204\311\312!\210 A\203+\313\314 \306\307$\202. @@\315 \"A\316!\211\205F\317 \"\320 !\210\306\321\")\322!\323 \233\f\240\210\324\325 \326#.\207" [spec-list host-alist vm-imap-ok-to-ask list mailbox process nil t vm-imap-spec-list-to-host-alist error "No known IMAP servers. Please set vm-imap-server-list." completing-read "IMAP server: " assoc vm-imap-make-session vm-imap-mailbox-list vm-imap-end-session vm-read-string vm-imap-parse-spec-to-list 3 mapconcat identity ":" spec c-list host selectable-only use-dialog-box prompt] 10 "\ Read an IMAP server and mailbox, return an IMAP mailbox spec."]) (defalias 'vm-imap-directory-separator #[(process ref) "\306\211\211\211\211\211\307!\210\212\310!q\210\311\312\313\314 !\"\"\210\315\203\201\316!\317 \320\321#\203;\322\323!\210\317 \320\324#\203G\325\326!\210\317 \320\327#\203U\306\211\202'\317 \330\331\332\333%\203q\334 \233\211@\211A@\335 8{\202&\317 \330\331\332$\203&\325\336!\210\202&\f.\207" [need-ok response r p sep c-list nil vm-imap-check-connection process-buffer vm-imap-send-command format "LIST %s \"\"" vm-imap-quote-string t vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to LIST" BAD vm-imap-protocol-error "server said BAD to LIST" OK * LIST list string 3 2 "unexpedcted LIST response" process ref] 7]) (defalias 'vm-imap-mailbox-list #[(process selectable-only) "\306\211\211\211\211\307 !\210\212\310 !q\210\311 \312\"\210\313\203\214\314 !\315 \316\317#\203/\320\321!\210\315 \316\322#\203;\323\324!\210\315 \325\326#\203G\323\327!\210\315 \316\330#\203U\306\211\202\315 \325\331\332$\203 AA\211@ \203q\333 \334\"\204\335 \233\211@\211@\336>\203 A@\337 8{\fB\202\f.\207" [need-ok response r p c-list process nil vm-imap-check-connection process-buffer vm-imap-send-command "LIST \"\" \"*\"" t vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to LIST" BAD vm-imap-protocol-error "server said BAD to LIST" * BYE "server said BYE to LIST" OK LIST list vm-imap-scan-list-for-flag "\\Noselect" 4 (atom string) 2 selectable-only] 6]) (defalias 'vm-imap-read-boolean-response #[(process) "\304\305\211\n\203N\306 !\210\307 !\310\311\312#\203!\305\304\202\310\311\313#\2030\305\305\202\310\314\315#\203?\316\317!\210\202\310\311\320#\203\316\321!\210\202 +\207" [response retval need-ok process t nil vm-imap-check-connection vm-imap-read-response vm-imap-response-matches VM OK NO * BYE vm-imap-protocol-error "server said BYE" BAD "server said BAD"] 4]) (defalias 'vm-imap-create-mailbox #[(process mailbox &optional dont-create-parent-directories) "\2048\306\211\211\211\307 \310\"\311 !\312\313\n #\2037 \312\225O\314 \f\315#\210\316 !\210\312\225\202,\317 \320\321\322!\"\"\210\316 !?\205O\323\324\"\207" [dont-create-parent-directories i sep-regexp sep dir process nil vm-imap-directory-separator "" regexp-quote 0 string-match vm-imap-create-mailbox t vm-imap-read-boolean-response vm-imap-send-command format "CREATE %s" vm-imap-quote-string error "IMAP CREATE of %s failed" mailbox] 6]) (defalias 'vm-imap-delete-mailbox #[(process mailbox) "\302\303\304\305 !\"\"\210\306!?\205\307\310 \"\207" [process mailbox vm-imap-send-command format "DELETE %s" vm-imap-quote-string vm-imap-read-boolean-response error "IMAP DELETE of %s failed"] 6]) (defalias 'vm-imap-rename-mailbox #[(process source dest) "\303\304\305\306 !\306\n!#\"\210\307!?\205\310\311 \n#\207" [process source dest vm-imap-send-command format "RENAME %s %s" vm-imap-quote-string vm-imap-read-boolean-response error "IMAP RENAME of %s to %s failed"] 7]) (defalias 'vm-create-imap-folder #[(folder) "\304\305\211\212\306 !\211\204\307\310\311 !\"\210\312 !q\210\313\314 !8\315 \"\210\316\317\311 !\",\207" [mailbox process vm-imap-ok-to-ask folder t nil vm-imap-make-session error "Couldn't open IMAP session for %s" vm-safe-imapdrop-string process-buffer 3 vm-imap-parse-spec-to-list vm-imap-create-mailbox message "Folder %s created"] 5 "\ Create a folder on an IMAP server. First argument FOLDER is read from the minibuffer if called interactively. Non-interactive callers must provide an IMAP maildrop specification for the folder as described in the documentation for `vm-spool-files'." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((this-command this-command) (last-command last-command)) (list (vm-read-imap-folder-name "Create IMAP folder: " vm-imap-server-list nil))))]) (defalias 'vm-delete-imap-folder #[(folder) "\304\305\211\306 !\211\204\307\310\311 !\"\210\212\312 !q\210\313\314 !8\315 \"\210\316\317\311 !\",\207" [mailbox process vm-imap-ok-to-ask folder t nil vm-imap-make-session error "Couldn't open IMAP session for %s" vm-safe-imapdrop-string process-buffer 3 vm-imap-parse-spec-to-list vm-imap-delete-mailbox message "Folder %s deleted"] 5 "\ Delete a folder on an IMAP server. First argument FOLDER is read from the minibuffer if called interactively. Non-interactive callers must provide an IMAP maildrop specification for the folder as described in the documentation for `vm-spool-files'." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((this-command this-command) (last-command last-command)) (list (vm-read-imap-folder-name "Delete IMAP folder: " vm-imap-server-list nil))))]) (defalias 'vm-rename-imap-folder #[(source dest) "\306\307\211\211\310\f!\211\204\311\312\313\f!\"\210\212\314\n!q\210\315\316\f!8\315\316 !8\317\n #\210\320\321\313\f!\313 !#-\207" [mailbox-dest mailbox-source process vm-imap-ok-to-ask source dest t nil vm-imap-make-session error "Couldn't open IMAP session for %s" vm-safe-imapdrop-string process-buffer 3 vm-imap-parse-spec-to-list vm-imap-rename-mailbox message "Folder %s renamed to %s"] 6 "\ Rename a folder on an IMAP server. Argument SOURCE and DEST are read from the minibuffer if called interactively. Non-interactive callers must provide full IMAP maildrop specifications for SOURCE and DEST as described in the documentation for `vm-spool-files'." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((this-command this-command) (last-command last-command) source dest) (setq source (vm-read-imap-folder-name "Rename IMAP folder: " vm-imap-server-list t)) (setq dest (vm-read-imap-folder-name (format "Rename %s to: " (vm-safe-imapdrop-string source)) (list source) nil)) (list source dest)))]) (provide 'vm-imap) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:23 2004 ;;; from file /Users/kyle/vm/vm-license.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-license.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-show-copying-restrictions #[(&optional warranty) "\306\307!\210\310= \205\f\n\311\312\313\217\204 \311\314\315\217\204 \316\317!\210\320p\310\311\211$\210\320\311\211\321 C$\210\205F\311\322\323\311\310#\210\324y\210\325\326 `\")*\207" [vm-mutable-windows vm-mutable-frames vm-frame-per-help pop-up-frames pop-up-windows this-command require info t nil (byte-code "\300\301!\210\302\207" [Info-goto-node "(vm)License" t] 2) ((error)) (byte-code "\300\301!\210\302\207" [Info-goto-node "(vm.info)License" t] 2) ((error)) error "VM Info documentation appears not to be installed" vm-display (vm-show-copying-restrictions vm-show-no-warranty) search-forward "NO WARRANTY\n" -1 set-window-start selected-window warranty case-fold-search] 5 nil nil]) (defalias 'vm-show-no-warranty #[nil "\300\301!\207" [vm-show-copying-restrictions t] 2 "\ Display \"NO WARRANTY\" section of the GNU General Public License." nil]) (provide 'vm-license) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:23 2004 ;;; from file /Users/kyle/vm/vm-macro.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-macro.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-marker #[(pos &optional buffer) "\302  \223\207" [pos buffer make-marker] 3]) (put 'vm-marker 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-select-folder-buffer #[nil "\203\302!\204\303\304!\210q\207 \305>?\205\303\306!\207" [vm-mail-buffer major-mode buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer"] 2]) (put 'vm-select-folder-buffer 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-select-folder-buffer-if-possible #[nil "\301!\205\302!\205q\207" [vm-mail-buffer bufferp buffer-name] 2]) (put 'vm-select-folder-buffer-if-possible 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-error-if-folder-read-only #[nil "\205 \301\302pC\"\210\202\207" [vm-folder-read-only signal folder-read-only] 3]) (put 'vm-error-if-folder-read-only 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-error-if-virtual-folder #[nil "\302=\205\n\303\304 \"\207" [major-mode this-command vm-virtual-mode error "%s cannot be applied to virtual folders."] 3]) (put 'vm-error-if-virtual-folder 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-build-threads-if-unbuilt #[nil "\301!?\205\n\302\303!\207" [vm-thread-obarray vectorp vm-build-threads nil] 2]) (put 'vm-build-threads-if-unbuilt 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-binary-coding-system #[nil "\203\302\207 \203\f\302\207\303\207" [vm-xemacs-mule-p vm-xemacs-file-coding-p binary no-conversion] 1]) (put 'vm-binary-coding-system 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-line-ending-coding-system #[nil "\203\302\207 \203\f\302\207\303\207" [vm-xemacs-mule-p vm-xemacs-file-coding-p no-conversion raw-text] 1]) (put 'vm-line-ending-coding-system 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-save-restriction '(macro . #[(&rest forms) "\304\305!\304\306!\304\307!\310\n\311B E\312\n\313 \314BB\313\315BBF\316\317 B\320\312\n\317\321 E\322 \323BB\322\324BBFEFF+\207" [vm-sr-max vm-sr-min vm-sr-clip forms make-symbol "vm-sr-clip" "vm-sr-min" "vm-sr-max" let ((> (buffer-size) (- (point-max) (point-min)))) and setq ((set-marker (make-marker) (point-min))) ((set-marker (make-marker) (point-max))) unwind-protect progn (widen) narrow-to-region set-marker (nil) (nil)] 14])) (defalias 'vm-save-buffer-excursion '(macro . #[(&rest forms) "\301\302\303\304B\305BBE\207" [forms let ((vm-sbe-buffer (current-buffer))) unwind-protect progn ((and (not (eq vm-sbe-buffer (current-buffer))) (buffer-name vm-sbe-buffer) (set-buffer vm-sbe-buffer)))] 5])) (defalias 'vm-assert '(macro . #[(expression) "\301\302\303\304DC\305\306\307DEEE\207" [expression or let debug-on-error t error "assertion failed: %S" quote] 8])) (defalias 'vm-increment '(macro . #[(variable) "\301\302DE\207" [variable setq 1+] 4])) (defalias 'vm-decrement '(macro . #[(variable) "\301\302DE\207" [variable setq 1-] 4])) (provide 'vm-macro) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:24 2004 ;;; from file /Users/kyle/vm/vm-mark.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-mark.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-clear-all-marks #[nil "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\304\315!\210\n\211\203T @\211\316H\317H)\203M @\320\211\316H\317 I\210*\321 @\322\"\210 A\211\204.)\323\320\211\324\325$\210\326 \210\304\327!\207" [vm-mail-buffer major-mode vm-message-list mp message val buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty "Clearing all marks..." 1 2 nil vm-mark-for-summary-update t vm-display (vm-clear-all-marks) (vm-clear-all-marks marking-message) vm-update-summary-and-mode-line "Clearing all marks... done"] 6 "\ Removes all message marks in the current folder." nil]) (defalias 'vm-toggle-all-marks #[nil "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\304\315!\210\n\211\203Q @ @\211\316H\317H)?\211\316H\317 I\210*\320 @\321\"\210 A\211\204.)\322\323\211\324\325$\210\326 \210\304\327!\207" [vm-mail-buffer major-mode vm-message-list mp message val buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty "Toggling all marks..." 1 2 vm-mark-for-summary-update t vm-display nil (vm-toggle-all-marks) (vm-toggle-all-marks marking-message) vm-update-summary-and-mode-line "Toggling all marks... done"] 6 "\ Toggles all message marks in the current folder. Messages that are unmarked will become marked and messages that are marked will become unmarked." nil]) (defalias 'vm-mark-all-messages #[nil "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\305\315!\210\n\211\203H @\316\211\317H\320\fI\210*\321 @\316\"\210 A\211\204.)\322\323\211\324\325$\210\326 \210\305\327!\207" [vm-mail-buffer major-mode vm-message-list mp val message buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty "Marking all messages..." t 1 2 vm-mark-for-summary-update vm-display nil (vm-mark-all-messages) (vm-mark-all-messages marking-message) vm-update-summary-and-mode-line "Marking all messages... done"] 6 "\ Mark all messages in the current folder." nil]) (defalias 'vm-mark-message #[(count) "t\203\306 \210\203\307!\204\310\311!\210q\210\202% \312>\204%\310\313!\210\314 \210\315 \210\n\316W\2035\317\2026\320\321\n! \211\n\316U\204x @\211\322H\323H)\204h @\324\211\322H\323I\210*\325 @\324\"\210\nS\211\316U\204?\326 !\210\202?,\327\330\211\331\332$\210\333 \207" [vm-mail-buffer major-mode count vm-message-pointer oldmp direction vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty 0 backward forward vm-abs 1 2 t vm-mark-for-summary-update vm-move-message-pointer vm-display nil (vm-mark-message) (vm-mark-message marking-message) vm-update-summary-and-mode-line message val] 6 "\ Mark the current message. Numeric prefix argument N means mark the current message and the next N-1 messages. A negative N means mark the current message and the previous N-1 messages." "p"]) (defalias 'vm-unmark-message #[(count) "t\203\306 \210\203\307!\204\310\311!\210q\210\202% \312>\204%\310\313!\210\314 \210\315 \210\316\n!\211\203Y @\211\317H\320H)\203R @\321\211\317H\320 I\210*\322 @\323\"\210 A\211\2043)\324\321\211\325\326$\210\327 \207" [vm-mail-buffer major-mode count mlist message val vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-select-marked-or-prefixed-messages 1 2 nil vm-mark-for-summary-update t vm-display (vm-unmark-message) (vm-unmark-message marking-message) vm-update-summary-and-mode-line] 6 "\ Remove the mark from the current message. Numeric prefix argument N means unmark the current message and the next N-1 messages. A negative N means unmark the current message and the previous N-1 messages." "p"]) (defalias 'vm-mark-summary-region #[nil "\203\303!\204\304\305!\210q\210\202 \306>\204\304\307!\210\310 \210\311 \210\n\204,\304\312!\210\nq\210\313 \2048\304\314!\210\315\316!\210\317\320\211\321\322$\210\323 \207" [vm-mail-buffer major-mode vm-summary-buffer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty "No summary." mark "The region is not active now" vm-mark-or-unmark-summary-region t vm-display nil (vm-mark-summary-region) (vm-mark-summary-region marking-message) vm-update-summary-and-mode-line] 5 "\ Mark all messages with summary lines contained in the region." nil]) (defalias 'vm-unmark-summary-region #[nil "\203\303!\204\304\305!\210q\210\202 \306>\204\304\307!\210\310 \210\311 \210\n\204,\304\312!\210\nq\210\313 \2048\304\314!\210\315\316!\210\317\316\211\320\321$\210\322 \207" [vm-mail-buffer major-mode vm-summary-buffer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty "No summary." mark "The region is not active now" vm-mark-or-unmark-summary-region nil vm-display (vm-unmark-summary-region) (vm-unmark-summary-region marking-message) vm-update-summary-and-mode-line] 5 "\ Remove marks from messages with summary lines contained in the region." nil]) (defalias 'vm-mark-or-unmark-summary-region #[(markit) "`\306 \307\211\f V\203\f \n \205\240 @? \211\310H\311H)?=\204\230 \211\310H\312H)\fV\203K \211\310H\312H) W\204\203 \211\310H\313H)\fY\203g \211\310H\313H) W\204\203\f \211\310H\313H)Y\203\230\f \211\310H\312H)W\203\230 \211\310H\311I\210*\314 \315\"\210 A\211\204\307-\207" [vm-message-list m tmp end beg mp mark nil 1 2 4 3 vm-mark-for-summary-update t markit message val] 6]) (defalias 'vm-mark-or-unmark-messages-with-selector #[(val selector arg) " \306=\n\205\n\nC\307\310\311\312!P!\203 \203O\212@\211\313H\314HJ)\211\313H\315H)q\210\316@\211\313H\314HJ)\f#)\202W\316@\f#\203v@\211\313H\317I\210*\320@\321\"\210 TA\211\204\322\323\211\324 \325D$\210\326 \210\327\330 \307V\203\230 \202\231\331 \313U\203\243\332\202\244\333\203\255\332\202\256\334$,\207" [vm-message-list major-mode arg count arglist virtual vm-virtual-mode 0 intern "vm-vs-" symbol-name 1 5 9 apply 2 vm-mark-for-summary-update t vm-display nil (vm-mark-matching-messages vm-unmark-matching-messages) marking-message vm-update-summary-and-mode-line message "%s message%s %smarked" "No" "" "s" "un" mlist selector val this-command] 7]) (defalias 'vm-mark-matching-messages #[(selector &optional arg) "\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\311 \210\312 \210\313\314\n #\207" [vm-mail-buffer major-mode selector arg buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-messages-with-selector t] 4 "\ Mark messages matching some criterion. You can use any of the virtual folder selectors, except for the `and', `or' and `not' selectors. See the documentation for the variable vm-virtual-folder-alist for more information." (byte-code " \n\203\304\n!\204\305\306!\210\nq\210\202\" \307>\204\"\305\310!\210\311\312!*\207" [last-command this-command vm-mail-buffer major-mode buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-read-virtual-selector "Mark messages: "] 2)]) (defalias 'vm-unmark-matching-messages #[(selector &optional arg) "\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\311 \210\312 \210\313\314\n #\207" [vm-mail-buffer major-mode selector arg buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-messages-with-selector nil] 4 "\ Unmark messages matching some criterion. You can use any of the virtual folder selectors, except for the `and', `or' and `not' selectors. See the documentation for the variable vm-virtual-folder-alist for more information." (byte-code " \n\203\304\n!\204\305\306!\210\nq\210\202\" \307>\204\"\305\310!\210\311\312!*\207" [last-command this-command vm-mail-buffer major-mode buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-read-virtual-selector "Unmark messages: "] 2)]) (defalias 'vm-mark-thread-subtree #[nil "\302 \210\203\303!\204\304\305!\210q\210\202! \306>\204!\304\307!\210\310 \210\311 \210\312\313!\207" [vm-mail-buffer major-mode vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-thread-subtree t] 2 "\ Mark all messages in the thread tree rooted at the current message." nil]) (defalias 'vm-unmark-thread-subtree #[nil "\302 \210\203\303!\204\304\305!\210q\210\202! \306>\204!\304\307!\210\310 \210\311 \210\312\313!\207" [vm-mail-buffer major-mode vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-thread-subtree nil] 2 "\ Unmark all messages in the thread tree rooted at the current message." nil]) (defalias 'vm-mark-or-unmark-thread-subtree #[(mark) "\306!\204\n\307\310!\210 @C\311\312\313\"\310\211\211\203\211 @\211\314H\315H)=\204A @\211\314H\315I\210*\316 @!\210\317\320 @!!@\321\322\n!\f\"\204\202\323\322\n!\f\"\210 \324\n\325N!\244\210\323\326 @!\"\327 !\203\202\n J\313H=\203\202 \324 J\315H!\244\210 A\211\204,\330\310\211\331 \332D$\210\333 \207" [vm-thread-obarray vm-message-pointer id-sym subject-sym loop-obarray list vectorp vm-build-threads nil make-vector 29 0 1 2 vm-mark-for-summary-update vm-last vm-th-thread-list intern-soft symbol-name intern copy-sequence children vm-so-sortable-subject boundp vm-display (vm-mark-thread-subtree vm-unmark-thread-subtree) marking-message vm-update-summary-and-mode-line message mark val vm-thread-subject-obarray this-command] 7]) (defalias 'vm-mark-messages-same-subject #[nil "\302 \210\203\303!\204\304\305!\210q\210\202! \306>\204!\304\307!\210\310 \210\311 \210\312\313!\207" [vm-mail-buffer major-mode vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-messages-same-subject t] 2 "\ Mark all messages with the same subject as the current message." nil]) (defalias 'vm-unmark-messages-same-subject #[nil "\302 \210\203\303!\204\304\305!\210q\210\202! \306>\204!\304\307!\210\310 \210\311 \210\312\313!\207" [vm-mail-buffer major-mode vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-messages-same-subject nil] 2 "\ Unmark all messages with the same subject as the current message." nil]) (defalias 'vm-mark-or-unmark-messages-same-subject #[(mark) "\306\307 @!\211\203E\f@\211\310H\311H)=\204>\n\307\f@!\230\203>\f@\211\310H\311I\210* T\312\f@\313\"\210\fA\211\204 \306U\203\\\305\314\203V\315\202W\316\"\210\202v\305\317 \211\310U\203i\315\202j\320\203s\315\202t\316$\210+\321\322\211\323\324D$\210\325 \207" [vm-message-list vm-message-pointer subject mark-count mp message 0 vm-so-sortable-subject 1 2 vm-mark-for-summary-update t "No messages %smarked" "" "un" "%d message%s %smarked" "s" vm-display nil (vm-mark-messages-same-subject vm-unmark-messages-same-subject) marking-message vm-update-summary-and-mode-line mark val this-command] 7]) (defalias 'vm-mark-messages-same-author #[nil "\302 \210\203\303!\204\304\305!\210q\210\202! \306>\204!\304\307!\210\310 \210\311 \210\312\313!\207" [vm-mail-buffer major-mode vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-messages-same-author t] 2 "\ Mark all messages with the same author as the current message." nil]) (defalias 'vm-unmark-messages-same-author #[nil "\302 \210\203\303!\204\304\305!\210q\210\202! \306>\204!\304\307!\210\310 \210\311 \210\312\313!\207" [vm-mail-buffer major-mode vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-messages-same-author nil] 2 "\ Unmark all messages with the same author as the current message." nil]) (defalias 'vm-mark-or-unmark-messages-same-author #[(mark) "\306\307 @!\211\203F\f@\211\310H\311H)=\204?\312\n\307\f@!\"\203?\f@\211\310H\311I\210* T\313\f@\314\"\210\fA\211\204 \306U\203]\305\315\203W\316\202X\317\"\210\202w\305\320 \211\310U\203j\316\202k\321\203t\316\202u\317$\210+\322\323\211\324\325D$\210\326 \207" [vm-message-list vm-message-pointer author mark-count mp message 0 vm-su-from 1 2 vm-string-equal-ignore-case vm-mark-for-summary-update t "No messages %smarked" "" "un" "%d message%s %smarked" "s" vm-display nil (vm-mark-messages-same-author vm-unmark-messages-same-author) marking-message vm-update-summary-and-mode-line mark val this-command] 7]) (defalias 'vm-mark-or-unmark-messages-with-virtual-folder #[(val name) "\306 \"\307\307\307\307 \310!\n\204\311\312\"\210\313\n!\211A\211 \2039 @\314\315 DC\240\210 A\211 \204&\n\316\"\317\"#\204w \203\344 @\211\320H\321HJ)\211$$\211\320H\322$I\210*\323\f\317\"\210!T! A\211\202Gp\307%& \203\343 @\211\320H\321HJ)\211\211\324H\320HJ)\211%\203\334&%@\211\320H\325H)=\203\323%@$$\211\320H\322$I\210*\323%@\317\"\210!T!\307\211%\202\232%A\211%\204\235 A\211\204\201*\326\307\211\327'\330D$\210\331 \210\332\333!\310V\203\377!\202\334!\320U\203 \335\202\f\336$\203\335\202\337$.\207" [name vm-virtual-folder-alist vfolder vm-virtual-folder-definition m mlist assoc nil 0 error "No such virtual folder, %s" vm-copy get-buffer buffer-name vm-build-virtual-message-list t 1 5 2 vm-mark-for-summary-update 4 9 vm-display (vm-mark-matching-messages-with-virtual-folder vm-unmark-matching-messages-with-virtual-folder) marking-message vm-update-summary-and-mode-line message "%s message%s %smarked" "No" "" "s" "un" clauses count vm-message-list vm-real-buffers val vmlist curbuf this-command] 7]) (defalias 'vm-mark-matching-messages-with-virtual-folder #[(name) "\203\303!\204\304\305!\210q\210\202 \306>\204\304\307!\210\310 \210\311 \210\312\313\n\"\207" [vm-mail-buffer major-mode name buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-messages-with-virtual-folder t] 3 "\ Mark messages that are matched by the selectors of virtual folder NAME." (let ((last-command last-command) (this-command this-command)) (list (completing-read "Mark messages matching this virtual folder's selectors: " vm-virtual-folder-alist nil t)))]) (defalias 'vm-unmark-matching-messages-with-virtual-folder #[(name) "\203\303!\204\304\305!\210q\210\202 \306>\204\304\307!\210\310 \210\311 \210\312\313\n\"\207" [vm-mail-buffer major-mode name buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-mark-or-unmark-messages-with-virtual-folder nil] 3 "\ Unmark messages that are matched by the selectors of virtual folder NAME." (let ((last-command last-command) (this-command this-command)) (list (completing-read "Unmark message matching this virtual folder's selectors: " vm-virtual-folder-alist nil t)))]) (defalias 'vm-next-command-uses-marks #[nil "\301\302\303!\210\304\305\211\306\307$\207" [this-command vm-next-command-uses-marks message "Next command uses marks..." vm-display nil (vm-next-command-uses-marks) (vm-next-command-uses-marks)] 5 "\ Does nothing except insure that the next VM command will operate only on the marked messages in the current folder. This only works for commands bound to key, menu or button press events. M-x vm-command will not work." nil]) (defalias 'vm-marked-messages #[nil "\304 \203 @\211\305H\306H)\203 @\nB A\211\204\n\237*\207" [vm-message-list mp list message nil 1 2] 3]) (defalias 'vm-mark-help #[nil "\300\301\211\302\303$\210\304\305!\207" [vm-display nil (vm-mark-help) (vm-mark-help) message "MM = mark, MU = unmark, Mm = mark all, Mu = unmark all, MN = use marks, ..."] 5 nil nil]) (provide 'vm-mark) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:24 2004 ;;; from file /Users/kyle/vm/vm-menu.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-menu.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar vm-menu-folders-menu '("Manipulate Folders" ["Make Folders Menu" vm-menu-hm-make-folder-menu vm-folder-directory]) "\ VM folder menu list.") (byte-code "\303B\306\303!\204\307 \203\310\202\n\311BB\305B\306\305!\2048\312 \203/\313\211\314\211F\2021\313C\315\f\316\")\317B\306\317!\204E\320\321B\306\321!\204R\322\323B\306\323!\204_\324\325B\306\325!\204l\326\327B\306\327!\204y\330\331B\306\331!\204\206\332\333B\306\333!\204\223\334\335B\306\335!\204\240\336\337B\306\337!\204\255\340\341B\306\341!\204\272\342!\343B\306\343!\204 \312 \203\321\344\211\314\211F\202\323\344C\315\f\345\346\347\350\351\350\315\312 \203\352\352\211\314\211F\202\354\352C\353\"\315\312 \203\374\354\211\314\211F\202\376\354C\355\"\315\312 \203\356\211\314\211F\202\356C\357\"\360BBBBBBBBB\")#\361B\306\361!\204I\312 \2037\362\211\314\211F\2029\362C\315\f\363\364 \205D\365C\366$)1\367B\306\367!\204\230\312 \203`\370\211\314\211F\202b\370C\371\372!\203l\372\202w\371\373!\203v\373\202w\372@\315\f\374\375\376\377\201I@DE\371\201I@DD#\201JB\"*7\201AB\306\201A!\204\303\312 \203\265\201K\211\314\211F\202\271\201KC\315\f\201L\")A\201BB\306\201B!\204\356\312 \203\340\201M\211\314\211F\202\344\201MC\315\f\201N\")B\201CB\306\201C!\204\312 \203 \201O\211\314\211F\202\201OC\315\f\201P\")C\201DB\306\201D!\204r\312 \2036\201Q\211\314\211F\202:\201QC\315\f\315\312 \203M\201R\211\314\211F\202Q\201RC\201S\"\315\312 \203e\201T\211\314\211F\202i\201TC\201U\"D\")D\201EB\306\201E!\204\235\312 \203\217\201V\211\314\211F\202\223\201VC\315\f\201W\")E\201FB\306\201F!\204\260\201XF\201GB\306\201G!\204\354\312 \203\315\201Y\211\314\211F\202\321\201YC\315\f  \314\211\257 \")G\201HB\306\201H!\204\377\201XH\201X\207" [current-load-list vm-fsfemacs-p vm-menu-folders-menu vm-menu-folder-menu title vm-menu-dispose-menu boundp "Folder" ["Manipulate Folders" ignore (ignore)] ("---" ["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)] ["Expunge IMAP Messages" vm-expunge-pop-messages (vm-menu-can-expunge-imap-messages-p)] "---" ["Visit Local Folder" vm-visit-folder t] ["Visit POP Folder" vm-visit-pop-folder vm-pop-folder-alist] ["Visit IMAP Folder" vm-visit-imap-folder vm-imap-server-list] ["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] "---" "---" "-------") vm-menu-fsfemacs19-menus-p "Dispose" "---" append (["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] ["Resend" vm-resend-message vm-message-list] ["Retry Bounce" vm-resend-bounced-message vm-message-list] "---" ["File" vm-save-message vm-message-list] ["Delete" vm-delete-message vm-message-list] ["Undelete" vm-undelete-message vm-message-list] ["Kill Current Subject" vm-kill-subject vm-message-list] ["Mark Unread" vm-unread-message vm-message-list] ["Edit" vm-edit-message vm-message-list] ["Print" vm-print-message vm-message-list] ["Pipe to Command" vm-pipe-message-to-command vm-message-list] "---" ["Burst Message as Digest" (vm-burst-digest "guess") vm-message-list] ["Decode MIME" vm-decode-mime-message (vm-menu-can-decode-mime-p)]) vm-menu-motion-menu ("Motion" ["Page Up" vm-scroll-backward vm-message-list] ["Page Down" vm-scroll-forward vm-message-list] "----" ["Beginning" vm-beginning-of-message vm-message-list] ["End" vm-end-of-message vm-message-list] "----" ["Expose/Hide Headers" vm-expose-hidden-headers vm-message-list] "----" "----" ["Next Message" vm-next-message t] ["Previous Message" vm-previous-message t] "---" ["Next, Same Subject" vm-next-message-same-subject t] ["Previous, Same Subject" vm-previous-message-same-subject t] "---" ["Next Unread" vm-next-unread-message t] ["Previous Unread" vm-previous-unread-message t] "---" ["Next Message (no skip)" vm-next-message-no-skip t] ["Previous Message (no skip)" vm-previous-message-no-skip t] "---" ["Go to Last Seen Message" vm-goto-message-last-seen t] ["Go to Message" vm-goto-message t] ["Go to Parent Message" vm-goto-parent-message t]) vm-menu-virtual-menu ("Virtual" ["Visit Virtual Folder" vm-visit-virtual-folder t] ["Create Virtual Folder" vm-create-virtual-folder t] ["Apply Virtual Folder" vm-apply-virtual-folder t] "---" "---" "-------") vm-menu-send-menu ("Send" ["Compose" vm-mail t] ["Continue Composing" vm-continue-composing-message vm-message-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 Message" vm-forward-message vm-message-list] ["Resend Message" vm-resend-message vm-message-list] ["Retry Bounced Message" vm-resend-bounced-message vm-message-list] ["Send Digest (RFC934)" vm-send-rfc934-digest vm-message-list] ["Send Digest (RFC1153)" vm-send-rfc1153-digest vm-message-list] ["Send MIME Digest" vm-send-mime-digest vm-message-list]) vm-menu-mark-menu ("Mark" ["Next Command Uses Marks..." vm-next-command-uses-marks :active vm-message-list :style radio :selected (eq last-command 'vm-next-command-uses-marks)] "----" ["Mark" vm-mark-message vm-message-list] ["Unmark" vm-unmark-message vm-message-list] ["Mark All" vm-mark-all-messages vm-message-list] ["Clear All Marks" vm-clear-all-marks vm-message-list] ["Mark Region in Summary" vm-mark-summary-region vm-message-list] ["Unmark Region in Summary" vm-unmark-summary-region vm-message-list] "----" ["Mark Same Subject" vm-mark-messages-same-subject vm-message-list] ["Unmark Same Subject" vm-unmark-messages-same-subject vm-message-list] ["Mark Same Author" vm-mark-messages-same-author vm-message-list] ["Unmark Same Author" vm-unmark-messages-same-author vm-message-list] ["Mark Messages Matching..." vm-mark-matching-messages vm-message-list] ["Unmark Messages Matching..." vm-unmark-matching-messages vm-message-list] ["Mark Thread Subtree" vm-mark-thread-subtree vm-message-list] ["Unmark Thread Subtree" vm-unmark-thread-subtree vm-message-list]) vm-menu-label-menu ("Label" ["Add Label" vm-add-message-labels vm-message-list] ["Add Existing Label" vm-add-existing-message-labels vm-message-list] ["Remove Label" vm-delete-message-labels vm-message-list]) vm-menu-sort-menu ("Sort" ["By Multiple Fields..." vm-sort-messages vm-message-list] "---" ["By Date" (vm-sort-messages "date") vm-message-list] ["By Subject" (vm-sort-messages "subject") vm-message-list] ["By Author" (vm-sort-messages "author") vm-message-list] ["By Recipients" (vm-sort-messages "recipients") vm-message-list] ["By Lines" (vm-sort-messages "line-count") vm-message-list] ["By Bytes" (vm-sort-messages "byte-count") vm-message-list] "---" ["By Date (backward)" (vm-sort-messages "reversed-date") vm-message-list] ["By Subject (backward)" (vm-sort-messages "reversed-subject") vm-message-list] ["By Author (backward)" (vm-sort-messages "reversed-author") vm-message-list] ["By Recipients (backward)" (vm-sort-messages "reversed-recipients") vm-message-list] ["By Lines (backward)" (vm-sort-messages "reversed-line-count") vm-message-list] ["By Bytes (backward)" (vm-sort-messages "reversed-byte-count") vm-message-list] "---" ["Toggle Threading" vm-toggle-threads-display t] "---" ["Revert to Physical Order" (vm-sort-messages "physical-order" t) vm-message-list]) vm-menu-help-menu ("Help!" ["What Now?" vm-help t] ["Describe Mode" describe-mode 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 Folder & Quit" vm-quit t] ["Quit Without Saving" vm-quit-no-change t]) vm-menu-undo-menu ["Undo" vm-undo (vm-menu-can-undo-p)] vm-menu-emacs-button ["XEmacs" vm-menu-toggle-menubar t] vm-menu-vm-button ["VM" vm-menu-toggle-menubar t] vm-menu-mail-menu "Mail Commands" ["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] "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)]) "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)]) "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] ["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]) vm-menu-mime-dispose-menu "Take Action on MIME body ..." (["Display as Text (in 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]) vm-menu-can-eval-item-name [(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 #'(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] ["Attach to Message Composition Buffer" vm-mime-attach-object-from-message t] ["Delete" vm-delete-mime-object t]) vm-menu-url-browser-menu "Send URL to ..." fboundp w3-fetch-other-frame w3-fetch vector "Emacs W3" vm-mouse-send-url-at-position (point) w3 vm-menu-mailto-url-browser-menu vm-menu-subject-menu vm-menu-author-menu vm-menu-attachment-menu vm-menu-image-menu vm-menu-vm-menubar vm-menu-vm-menu vm-mode-menu-map quote (["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] ["Konqueror" (vm-mouse-send-url-at-position (point) 'vm-mouse-send-url-to-konqueror) t] ["X Clipboard" (vm-mouse-send-url-at-position (point) 'vm-mouse-send-url-to-clipboard) t]) "Send Mail using ..." (["VM" (vm-mouse-send-url-at-position (point) 'ignore) t]) "Take Action on Subject..." (["Kill Subject" vm-kill-subject vm-message-list] ["Next Message, Same Subject" vm-next-message-same-subject vm-message-list] ["Previous Message, Same Subject" vm-previous-message-same-subject vm-message-list] ["Mark Messages, Same Subject" vm-mark-messages-same-subject vm-message-list] ["Unmark Messages, Same Subject" vm-unmark-messages-same-subject vm-message-list] ["Virtual Folder, Matching Subject" vm-menu-create-subject-virtual-folder vm-message-list]) "Take Action on Author..." (["Mark Messages, Same Author" vm-mark-messages-same-author vm-message-list] ["Unmark Messages, Same Author" vm-unmark-messages-same-author vm-message-list] ["Virtual Folder, Matching Author" vm-menu-create-author-virtual-folder vm-message-list]) "Fiddle With Attachment" "Set Content Disposition..." (["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)]) "Forward Local External Bodies" (["Forward Unchanged" (vm-mime-set-attachment-forward-local-refs-at-point t) :active vm-send-using-mime :style radio :selected (vm-mime-attachment-forward-local-refs-at-point)] ["Convert to Internal Object" (vm-mime-set-attachment-forward-local-refs-at-point nil) :active vm-send-using-mime :style radio :selected (not (vm-mime-attachment-forward-local-refs-at-point))]) "Redisplay Image" (["4x Larger" (vm-mime-run-display-function-at-point 'vm-mime-larger-image) (stringp vm-imagemagick-convert-program)] ["4x Smaller" (vm-mime-run-display-function-at-point 'vm-mime-smaller-image) (stringp vm-imagemagick-convert-program)] ["Rotate Left" (vm-mime-run-display-function-at-point 'vm-mime-rotate-image-left) (stringp vm-imagemagick-convert-program)] ["Rotate Right" (vm-mime-run-display-function-at-point 'vm-mime-rotate-image-right) (stringp vm-imagemagick-convert-program)] ["Mirror" (vm-mime-run-display-function-at-point 'vm-mime-mirror-image) (stringp vm-imagemagick-convert-program)] ["Brighter" (vm-mime-run-display-function-at-point 'vm-mime-brighten-image) (stringp vm-imagemagick-convert-program)] ["Dimmer" (vm-mime-run-display-function-at-point 'vm-mime-dim-image) (stringp vm-imagemagick-convert-program)] ["Monochrome" (vm-mime-run-display-function-at-point 'vm-mime-monochrome-image) (stringp vm-imagemagick-convert-program)] ["Revert to Original" (vm-mime-run-display-function-at-point 'vm-mime-revert-image) (get (vm-mm-layout-cache (vm-extent-property (vm-find-layout-extent-at-point) 'vm-mime-layout)) 'vm-image-modified)]) nil "VM"] 15) (defalias 'vm-menu-run-command #[(command &rest args) "\303\n\"\207" [command this-command args apply] 3 "\ Run COMMAND almost interactively, with ARGS. call-interactive can't be used unfortunately, but this-command is set to the command name so that window configuration will be done."]) (defalias 'vm-menu-can-revert-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\303!\204\304\305!\210q\210\202 \306>\204\304\307!\210\310 \205%\n)\207" [vm-mail-buffer major-mode buffer-file-name buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" buffer-modified-p] 2) ((error))] 3]) (defalias 'vm-menu-can-recover-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\n\205+ \205+\311 \n\")\207" [vm-mail-buffer major-mode buffer-file-name buffer-auto-save-file-name buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" file-newer-than-file-p] 3) ((error))] 3]) (defalias 'vm-menu-can-save-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\302!\204\303\304!\210q\210\202 \305>\204\303\306!\210 \307=\206'\310 )\207" [vm-mail-buffer major-mode buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-virtual-mode buffer-modified-p] 2) ((error))] 3]) (defalias 'vm-menu-can-get-new-mail-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210 \311=\206,\n?\205, ?)\207" [vm-mail-buffer major-mode vm-block-new-mail vm-folder-read-only buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-virtual-mode] 2) ((error))] 3]) (defalias 'vm-menu-can-undo-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\303!\204\304\305!\210q\210\202 \306>\204\304\307!\210\n)\207" [vm-mail-buffer major-mode vm-undo-record-list buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer"] 2) ((error))] 3]) (defalias 'vm-menu-can-decode-mime-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\305!\204\306\307!\210q\210\202 \310>\204\306\311!\210\n\2050 \2050\f\2050\312 @!?)\207" [vm-mail-buffer major-mode vm-display-using-mime vm-message-pointer vm-presentation-buffer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-mime-plain-message-p] 2) ((error))] 3]) (defalias 'vm-menu-can-expunge-pop-messages-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\303!\204\304\305!\210q\210\202 \306>\204\304\307!\210\n)\310=?\207" [vm-mail-buffer major-mode vm-folder-access-method buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" pop] 2) ((error))] 3]) (defalias 'vm-menu-can-expunge-imap-messages-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\303!\204\304\305!\210q\210\202 \306>\204\304\307!\210\n)\310=?\207" [vm-mail-buffer major-mode vm-folder-access-method buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" imap] 2) ((error))] 3]) (defalias 'vm-menu-yank-original #[nil "\212\211\205\302 @!\210db\210 A\211\204\303*\207" [vm-reply-list mlist vm-yank-message nil] 3 nil nil]) (defalias 'vm-menu-can-send-mail-p #[nil "\301 \302\216\303\304\215*\207" [save-match-data-internal match-data ((set-match-data save-match-data-internal)) done (byte-code "\302\303\211\203%\304 @!\211;\203\305\306\"\203\307\310\311\"\210 A\211\204*\303\207" [h headers ("to" "cc" "bcc" "resent-to" "resent-cc" "resent-bcc") nil vm-mail-mode-get-header-contents string-match "[^ \n,]" throw done t] 4)] 2]) (defalias 'vm-menu-create-subject-virtual-folder #[nil "\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\311\311\312\313\314 @!!\"\207" [vm-mail-buffer major-mode this-command vm-message-pointer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-create-virtual-folder subject regexp-quote vm-so-sortable-subject] 5 nil nil]) (defalias 'vm-menu-create-author-virtual-folder #[nil "\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\311\311\312\313\314 @!!\"\207" [vm-mail-buffer major-mode this-command vm-message-pointer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-create-virtual-folder author regexp-quote vm-su-from] 5 nil nil]) (defalias 'vm-menu-xemacs-global-menubar #[nil "\212\301\302!q\210)\207" [current-menubar get-buffer-create "*scratch*"] 2]) (defalias 'vm-menu-fsfemacs-global-menubar #[nil "\300\301 \302\"\207" [lookup-key current-global-map [menu-bar]] 3]) (defalias 'vm-menu-initialize-vm-mode-menu-map #[nil "?\205\220\306 \306 \307\303\310\311#\210\312\303!\204\311\313\303 C\311\f$\210\307\305\310\311#\210\312\305!\204/\311\313\305 C\311\314\315@\233B$\210\307\316\310\311#\210\312\316!\204K\311\313\316 C\311@$\210\307\317\310\311#\210\312\317!\204c\311\313\317 C\311A$\210\307\320\310\311#\210\312\320!\204{\311\313\320 C\311B$\210\307\321\310\311#\210\312\321!\204\223\311\313\321 C\311C$\210\307\322\310\311#\210\312\322!\204\253\311\313\322 C\311D$\210\307\323\310\311#\210\312\323!\204\303\311\313\323 C\311E$\210\307\324\310\311#\210\312\324!\204\333\311\313\324 C\311F$\210\307\325\310\311#\210\312\325!\204\363\311\313\325 C\311G$\210\307\326\310\311#\210\312\326!\204 \311\313\326 C\311H$\210\307\327\310\311#\210\312\327!\204#\311\313\327 C\311I$\210\307\330\310\311#\210\312\330!\204;\311\313\330 C\311J$\210\307\331\310\311#\210\312\331!\204S\311\313\331 C\311K$\210\307\332\310\311#\210\312\332!\204k\311\313\332 C\311L$\210\307\333\310\311#\210\312\333!\204\203\311\313\333 C\311L$\210\307\334\310\311#\210\312\334!\204\233\311\313\334 C\311M$\210\307\335\310\311#\210\312\335!\204\263\311\313\335 C\311N$\210\307\336\310\311#\210\312\336!\204\313\311\313\336 C\311O$\210\337\n\340\306 #\210\337\n\341\342\306\342!B#\210\337\n\343\344#\210\337\n\345\344#\210\337\n\346\344#\210\337\n\347\344#\210\337\n\350\344#\210\337\n\351\344#\210\337\n\352\344#\210\337\n\353\344#\210\337\n\354\344#\210\337\n\355\344#\210\356\311\357\360\361\311#P:\2035\362P!\202A\363\311\364\365\366\367\370\371\372\373\257\nQRSTQ\203\205Q@\203|R\374\375\376\377Q@!P!I\210Q@T\236\211S\203|\337\nR\201USA@!#\210QA\211Q\204N,\n\201V\201W!*\207" [vm-mode-menu-map dummy map vm-menu-fsfemacs-help-menu vm-menu-help-menu vm-menu-fsfemacs-dispose-menu make-sparse-keymap put variable-documentation nil boundp vm-easy-menu-do-define "Dispose" 4 vm-menu-fsfemacs-dispose-popup-menu vm-menu-fsfemacs-virtual-menu vm-menu-fsfemacs-sort-menu vm-menu-fsfemacs-label-menu vm-menu-fsfemacs-mark-menu vm-menu-fsfemacs-send-menu vm-menu-fsfemacs-motion-menu vm-menu-fsfemacs-folder-menu vm-menu-fsfemacs-vm-menu vm-menu-fsfemacs-mail-menu vm-menu-fsfemacs-subject-menu vm-menu-fsfemacs-author-menu vm-menu-fsfemacs-url-browser-menu vm-menu-fsfemacs-mailto-url-browser-menu vm-menu-fsfemacs-mime-dispose-menu vm-menu-fsfemacs-attachment-menu vm-menu-fsfemacs-image-menu define-key [rootmenu] [rootmenu vm] "VM" [rootmenu vm file] undefined [rootmenu vm files] [rootmenu vm search] [rootmenu vm edit] [rootmenu vm options] [rootmenu vm buffer] [rootmenu vm tools] [rootmenu vm help] [rootmenu vm mule] [rootmenu vm help-menu] ((dispose (cons "Dispose" vm-menu-fsfemacs-dispose-menu)) (folder (cons "Folder" vm-menu-fsfemacs-folder-menu)) (help (cons "Help!" vm-menu-fsfemacs-help-menu)) (label (cons "Label" vm-menu-fsfemacs-label-menu)) (mark (cons "Mark" vm-menu-fsfemacs-mark-menu)) (motion (cons "Motion" vm-menu-fsfemacs-motion-menu)) (send (cons "Send" vm-menu-fsfemacs-send-menu)) (sort (cons "Sort" vm-menu-fsfemacs-sort-menu)) (virtual (cons "Virtual" vm-menu-fsfemacs-virtual-menu)) (emacs (cons "[Emacs]" 'vm-menu-toggle-menubar)) (undo (cons "[Undo]" 'vm-undo))) vector rootmenu vm reverse help dispose virtual sort label mark send motion folder 2 intern "vm-menubar-" symbol-name vm-menu-dispose-menu vm-menu-virtual-menu vm-menu-sort-menu vm-menu-label-menu vm-menu-mark-menu vm-menu-send-menu vm-menu-motion-menu vm-menu-folder-menu vm-menu-vm-menu vm-menu-mail-menu vm-menu-subject-menu vm-menu-author-menu vm-menu-url-browser-menu vm-menu-mime-dispose-menu vm-menu-attachment-menu vm-menu-image-menu vm-use-menus menu-list vec cons menu-alist eval run-hooks vm-menu-setup-hook] 14]) (defalias 'vm-menu-make-xemacs-menubar #[nil "\305\306\211 \203. @\204\306\nB\202' @\f\236\211\203' AJ\nB A\211\204\f\n\237,\207" [vm-use-menus menu-list menubar cons menu-alist ((dispose . vm-menu-dispose-menu) (folder . vm-menu-folder-menu) (help . vm-menu-help-menu) (label . vm-menu-label-menu) (mark . vm-menu-mark-menu) (motion . vm-menu-motion-menu) (send . vm-menu-send-menu) (sort . vm-menu-sort-menu) (virtual . vm-menu-virtual-menu) (emacs . vm-menu-emacs-button) (undo . vm-menu-undo-menu)) nil] 5]) (defalias 'vm-menu-popup-mode-menu #[(event) "\303 \203\203\304\305 !!q\210\306 !\203\306 !b\210\307 \207\310 \205S\205S\304 \211A@)\211@)!q\210 \211A@)\211A@:\203J\nA@@\202M\nA@)b\210\311 !\207" [vm-use-menus event position vm-menu-xemacs-menus-p window-buffer event-window event-point popup-mode-menu vm-menu-fsfemacs-menus-p vm-menu-popup-fsfemacs-menu] 4 nil "e"]) (byte-code "\301B\301\207" [current-load-list vm-menu-fsfemacs-attachment-menu] 2) (defalias 'vm-menu-popup-context-menu #[(event) "\306 \205\262\205\262\307 \211A@)\211@)!q\210 \211A@)\211A@:\203,\nA@@\202/\nA@)b\210\310`\311\"\203>\312 \"\207\313\211\211\211\314`!\211\203\251\f\204\251\315@\316\"\203g\317\320 !\210\202\240\315@\321\"\211\203|\317\312 \"\210\202\240\315@\322\"\211\203\221\317\312 \"\210\202\240\315@\323\"\203\240\317\324 !\210A\211\204Q\f?\205\261\312 !,\207" [vm-use-menus event position vm-menu-fsfemacs-attachment-menu found menu vm-menu-fsfemacs-menus-p window-buffer get-text-property vm-mime-object vm-menu-popup-fsfemacs-menu nil overlays-at overlay-get vm-url t vm-menu-popup-url-browser-menu vm-header vm-image vm-mime-layout vm-menu-popup-mime-dispose-menu o o-list] 5 nil "e"]) (byte-code "\301B\302B\303B\301\207" [current-load-list vm-menu-fsfemacs-url-browser-menu vm-menu-fsfemacs-mailto-url-browser-menu vm-menu-fsfemacs-mime-dispose-menu] 2) (defalias 'vm-menu-goto-event #[(event) "\302 \203\303\304!!\210\305!\205C\305!b\207\306 \205C\307\211A@)\211@)!q\210\211A@)\211A@:\203> A@@\202A A@)b\207" [event position vm-menu-xemacs-menus-p select-window event-window event-closest-point vm-menu-fsfemacs-menus-p window-buffer] 4]) (defalias 'vm-menu-popup-url-browser-menu #[(event) "\304!\210\305 \203 \203\306\n!\207\307 \205 \205\310 \"\207" [event vm-use-menus vm-menu-url-browser-menu vm-menu-fsfemacs-url-browser-menu vm-menu-goto-event vm-menu-xemacs-menus-p popup-menu vm-menu-fsfemacs-menus-p vm-menu-popup-fsfemacs-menu] 3 nil "e"]) (defalias 'vm-menu-popup-mailto-url-browser-menu #[(event) "\304!\210\305 \203 \203\306\n!\207\307 \205 \205\310 \"\207" [event vm-use-menus vm-menu-mailto-url-browser-menu vm-menu-fsfemacs-mailto-url-browser-menu vm-menu-goto-event vm-menu-xemacs-menus-p popup-menu vm-menu-fsfemacs-menus-p vm-menu-popup-fsfemacs-menu] 3 nil "e"]) (defalias 'vm-menu-popup-mime-dispose-menu #[(event) "\304!\210\305 \203 \203\306\n!\207\307 \205 \205\310 \"\207" [event vm-use-menus vm-menu-mime-dispose-menu vm-menu-fsfemacs-mime-dispose-menu vm-menu-goto-event vm-menu-xemacs-menus-p popup-menu vm-menu-fsfemacs-menus-p vm-menu-popup-fsfemacs-menu] 3 nil "e"]) (defalias 'vm-menu-popup-attachment-menu #[(event) "\304!\210\305 \203 \203\306\n!\207\307 \205 \205\310 \"\207" [event vm-use-menus vm-menu-attachment-menu vm-menu-fsfemacs-attachment-menu vm-menu-goto-event vm-menu-xemacs-menus-p popup-menu vm-menu-fsfemacs-menus-p vm-menu-popup-fsfemacs-menu] 3 nil "e"]) (byte-code "\301B\301\207" [current-load-list vm-menu-fsfemacs-image-menu] 2) (defalias 'vm-menu-popup-image-menu #[(event) "\304!\210\305 \203 \203\306\n!\207\307 \205 \205\310 \"\207" [event vm-use-menus vm-menu-image-menu vm-menu-fsfemacs-image-menu vm-menu-goto-event vm-menu-xemacs-menus-p popup-menu vm-menu-fsfemacs-menus-p vm-menu-popup-fsfemacs-menu] 3 nil "e"]) (byte-code "\301B\302B\303B\301\207" [current-load-list vm-menu-fsfemacs-mail-menu vm-menu-fsfemacs-dispose-popup-menu vm-menu-fsfemacs-vm-menu] 2) (defalias 'vm-menu-popup-fsfemacs-menu #[(event &optional menu) "\306\211A@)\211@)!q\210\211A@)\211A@:\203# A@@\202& A@)b\210\n\206. \307\211\211 \310\" \311\312 \" \313 \"\2119\205S K\211\204`\211\202r\f9\203o\f\314!\202r\314 !,\207" [event position menu mode-popup-menu func command window-buffer nil x-popup-menu apply vector lookup-key call-interactively key map last-command this-command] 5 nil "e"]) (defalias 'vm-menu-mode-menu #[nil "\306 \203\307=\203 \207\310>\203\n\207 \207\307=\203\f\207\311>\203' \207\n\207" [major-mode vm-menu-mail-menu vm-menu-dispose-menu vm-menu-vm-menu vm-menu-fsfemacs-mail-menu vm-menu-fsfemacs-dispose-popup-menu vm-menu-xemacs-menus-p mail-mode (vm-mode vm-presentation-mode vm-summary-mode vm-virtual-mode) (vm-mode vm-summary-mode vm-virtual-mode) vm-menu-fsfemacs-vm-menu] 2]) (defalias 'vm-menu-set-menubar-dirty-flag #[nil "\300 \203\301 \207\302 \205\303 \207" [vm-menu-xemacs-menus-p set-menubar-dirty-flag vm-menu-fsfemacs-menus-p force-mode-line-update] 1]) (defalias 'vm-menu-toggle-menubar #[(&optional buffer) "\203\nq\210\202( \203\306 !\204\307\310!\210 q\210\202(\n\311>\204(\307\312!\210\313 \203o\314 \315\"@\204<\316\f!\210\202P\317\304!\210\320 !\316\320\321 !!\210\322\323\324\217\210\325 \210\326 \210 \203`\212\327 !\210)\330 \210$\205\243\212\327$!)\207\331 \205\243\332%\333\"\332&\334\"=\204\220\335%\336\332&\337\"#\210\202\241\335%\340\341 #\210\335%\342\343\327B#\210\325 \207" [buffer vm-mail-buffer major-mode current-menubar vm-menu-vm-menubar vm-summary-buffer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-menu-xemacs-menus-p find-menu-item ("XEmacs") set-buffer-menubar make-local-variable copy-sequence vm-menu-xemacs-global-menubar nil (add-menu-button nil vm-menu-vm-button nil) ((void-function (byte-code "\300\301\302\303\304$\207" [add-menu-item nil "VM" vm-menu-toggle-menubar t] 5))) vm-menu-set-menubar-dirty-flag vm-check-for-killed-summary vm-menu-toggle-menubar vm-check-for-killed-presentation vm-menu-fsfemacs-menus-p lookup-key [menu-bar] [rootmenu vm] define-key [menu-bar] [rootmenu vm] [menu-bar] make-sparse-keymap [menu-bar vm] "[VM]" vm-presentation-buffer-handle vm-mode-map vm-mode-menu-map] 6 nil nil]) (defalias 'vm-menu-install-menubar #[nil "\304 \203\305 \306!\210\307\310!\210 \211\207\311 \205+\312\313!?\205+\314 \210\315\n\316\317 \320\"#\207" [vm-menu-vm-menubar current-menubar vm-mode-map vm-mode-menu-map vm-menu-xemacs-menus-p vm-menu-make-xemacs-menubar set-buffer-menubar run-hooks vm-menu-setup-hook vm-menu-fsfemacs-menus-p fboundp vm-menu-undo-menu vm-menu-initialize-vm-mode-menu-map define-key [menu-bar] lookup-key [rootmenu vm]] 6]) (defalias 'vm-menu-install-menubar-item #[nil "\303 \203\304 \203\305\306\304 !!\210\307\310\311A#\207\312 \205/\313\314!?\205/\315 \210\316 \317\320\n\321\"#\207" [vm-menu-vm-menu vm-mode-map vm-mode-menu-map vm-menu-xemacs-menus-p vm-menu-xemacs-global-menubar set-buffer-menubar copy-sequence add-menu nil "VM" vm-menu-fsfemacs-menus-p fboundp vm-menu-undo-menu vm-menu-initialize-vm-mode-menu-map define-key [menu-bar] lookup-key [rootmenu]] 6]) (defalias 'vm-menu-install-vm-mode-menu #[nil "\300 \203\301\207\302 \205 \301\207" [vm-menu-xemacs-menus-p t vm-menu-fsfemacs-menus-p] 1]) (defalias 'vm-menu-install-mail-mode-menu #[nil "\305 \203$\203\306 \307\310#\210\311 \203\"\312\313\311 !!\210\314\315\316\nA#\210\317\207\320 \205:\306 \321\316\fB#\210\205:\306 \322\323#\207" [vm-popup-menu-on-mouse-3 vm-mail-mode-map vm-menu-mail-menu mail-mode-map vm-menu-fsfemacs-mail-menu vm-menu-xemacs-menus-p define-key button3 popup-mode-menu vm-menu-xemacs-global-menubar set-buffer-menubar copy-sequence add-menu nil "Mail" t vm-menu-fsfemacs-menus-p [menu-bar mail] [down-mouse-3] vm-menu-popup-context-menu] 5]) (defalias 'vm-menu-install-menus #[nil ":\203\301 \210\302 \210\303 \207\304=\203\301 \210\305 \210\303 \207\306\207" [vm-use-menus vm-menu-install-vm-mode-menu vm-menu-install-menubar vm-menu-install-known-virtual-folders-menu 1 vm-menu-install-menubar-item nil] 2]) (defalias 'vm-menu-install-known-virtual-folders-menu #[nil "\306\307\310\"\311\"\312\211\313\211\203'\314\315\316\317\f@E\320\f@$ B\fA\211\204 \2034 \237\321\322D \244\323 \" \205r\n\205r\n \241\210\324 \210\325 \205r\326\327!\210\330\327\331\312#\210\332\327!\204`\312\333\327\334 C\312 $\210\335 \336\337B#,\207" [vm-virtual-folder-alist special tail menu folders vm-menu-virtual-menu sort mapcar car string-lessp nil "-------" vector " " vm-menu-run-command 'vm-visit-virtual-folder t "Visit:" "---" vm-member vm-menu-set-menubar-dirty-flag vm-menu-fsfemacs-menus-p makunbound vm-menu-fsfemacs-virtual-menu put variable-documentation boundp vm-easy-menu-do-define make-sparse-keymap define-key [rootmenu vm vm-menubar-virtual] "Virtual" vm-mode-menu-map] 6]) (defalias 'vm-menu-install-visited-folders-menu #[nil "\306\307!!\310\211\211\211\311\312'((\203]\n\313W\203]\314\315);\203B\316)(@\"\203B\317(@!\211\203B\320\321\fE\202H\320\322(@E\323(@$'B'(A(\nT\202'\203o'\237'\324\325D'\244'\326 \211:\203\204 @:\203\204\327\330 \"\202\234 :\203\233 @;\203\233*;\203\233*C\202\234\310('\203\257(\203\257'\325\211D\244\210(\203\320'\314\315\320\331(@E\323(@$C\244'(A\211(\204\264\332 +\"'\205 \205 '\241\210\333 \210\334 \205\335\336!\210\337\336\340\310#\210\341\336!\204\377\310\342\336\343 C\310+$\210\344,\345\346B#.\207" [vm-folder-history special i spool-files foo tail vm-delete-duplicates copy-sequence nil 0 "-------" 10 vector " " string-match vm-pop-find-name-for-spec vm-menu-run-command 'vm-visit-pop-folder 'vm-visit-folder t "Visit:" "---" vm-spool-files mapcar car 'vm-visit-folder vm-member vm-menu-set-menubar-dirty-flag vm-menu-fsfemacs-menus-p makunbound vm-menu-fsfemacs-folder-menu put variable-documentation boundp vm-easy-menu-do-define make-sparse-keymap define-key [rootmenu vm vm-menubar-folder] "Folder" menu folders vm-recognize-pop-maildrops vm-primary-inbox vm-menu-folder-menu vm-mode-menu-map] 8]) (defvar vm-menu-hm-no-hidden-dirs t "\ *Hidden directories are suppressed in the folder menus, if non nil.") (byte-code "\301B\302\301!\204\f\303\301\207" [current-load-list vm-menu-hm-hidden-file-list boundp ("^\\..*" ".*\\.~[0-9]+~")] 2) (defalias 'vm-menu-hm-delete-folder #[(folder) "\301!\203.\302\303\304Q!\203*\305!\203\306!\210\202 \307!\210\310\311!\210\312 \210\313 \207\310\314!\207\315\316\"\210\312 \210\313 \207" [folder file-exists-p y-or-n-p "Delete the folder " " ? " file-directory-p delete-directory delete-file message "Folder deleted." vm-menu-hm-make-folder-menu vm-menu-hm-install-menu "Aborted" error "Folder %s does not exist."] 4 "\ Query deletes a folder." "fDelete folder: "]) (defalias 'vm-menu-hm-rename-folder #[(folder) "\301!\203\302\303\304\305Q\306!#\"\210\202\307\310\"\210\311 \210\312 \207" [folder file-exists-p rename-file read-file-name "Rename " " to " directory-file-name error "Folder %s does not exist." vm-menu-hm-make-folder-menu vm-menu-hm-install-menu] 6 "\ Rename a folder." "fRename folder: "]) (defalias 'vm-menu-hm-create-dir #[(parent-dir) "\206 \302\303\304\305\306\"\" \"\307\"\210\310 \210\311 \207" [parent-dir vm-folder-directory make-directory expand-file-name read-file-name format "Create directory in %s called: " t vm-menu-hm-make-folder-menu vm-menu-hm-install-menu] 6 "\ Create a subdir in PARENT-DIR." "DCreate new directory in: "]) (defalias 'vm-menu-hm-make-folder-menu #[nil "\306\307!\210\310! @<\203\311\312 \"\202\nC\313\314\315 \316\317#B\320\315\f\316\317 %B\321\315\f\322\317 %B\323\324\315\f\325\317\326\211\317&B\327\315\f\330\317\326\211\317&B\331\315C\fB\332\317\326\333\317&B\323\334\257 B *\306\335!\210\336 \207" [vm-folder-directory vm-spool-files vm-primary-inbox inbox-list folder-list vm-menu-hm-no-hidden-dirs message "Building folders menu..." vm-menu-hm-tree-make-file-list mapcar car "Manipulate Folders" "Visit Inboxes " vm-menu-hm-tree-make-menu vm-visit-folder t "Visit Folder " "Save Message " vm-save-message "----" "Delete Folder " vm-menu-hm-delete-folder nil "Rename Folder " vm-menu-hm-rename-folder "Make New Directory in..." vm-menu-hm-create-dir (".*") ["Rebuild Folders Menu" vm-menu-hm-make-folder-menu vm-folder-directory] "Building folders menu... done" vm-menu-hm-install-menu vm-menu-hm-hidden-file-list vm-menu-folders-menu] 15 "\ Makes a menu with the mail folders of the directory `vm-folder-directory'." nil]) (defalias 'vm-menu-hm-install-menu #[nil "\304 \203%\305\306\"@\203\307\310\311 A\312$\207\305\313\"@\205H\307\314\315 A\312$\207\316 \205H\317\302\320\321#\210\322\302!\2048\321\323\302\324 C\321 $\210\325 \326\315\nB#\207" [current-menubar vm-menu-folders-menu vm-menu-fsfemacs-folders-menu vm-mode-menu-map vm-menu-xemacs-menus-p find-menu-item ("VM") add-menu ("VM") "Folders" "Motion" ("Folder" "Manipulate Folders") ("Folder") "Manipulate Folders" vm-menu-fsfemacs-menus-p put variable-documentation nil boundp vm-easy-menu-do-define make-sparse-keymap define-key [rootmenu vm folder folders]] 5]) (defvar vm-menu-hm-tree-ls-flags "-aFLR" "\ *A String with the flags used in the function vm-menu-hm-tree-ls-in-temp-buffer for the ls command. Be careful if you want to change this variable. The ls command must append a / on all files which are directories. The original flags are -aFLR.") (defalias 'vm-menu-hm-tree-ls-in-temp-buffer #[(dir temp-buffer) "\304!\210\305 \210\306\307\310\306\306\n &\210)eb\210\311\312\306\313#\203&\314\315!\210\202eb\210\316\317\306\313#\2038\314\320!\210\202)eb\207" [temp-buffer process-connection-type vm-menu-hm-tree-ls-flags dir switch-to-buffer erase-buffer nil call-process "ls" search-forward "//" t replace-match "/" re-search-forward "\\.\\.?/\n" ""] 7 "\ List the directory DIR in the TEMP-BUFFER."]) (defvar vm-menu-hm-tree-temp-buffername "*tree*" "\ Name of the temp buffers in tree.") (defalias 'vm-menu-hm-tree-make-file-list-1 #[(root list) "`\303\210`{\211\304\230\204e\305 \306`Sf\307\"\2039\310GSO\212\311\n\312Q!\210\303y\210\313\n\314Q\315\n\"C\")\202T\306`Sf\316\"\203P\310GSO\315\n\"\202T\315\n\"C\"\303y\210`\303\210`{\211\202 )\207" [filename list root nil "" append char-equal 47 0 search-forward ":" vm-menu-hm-tree-make-file-list-1 "/" vm-menu-hm-tree-menu-file-truename 42] 8]) (defalias 'vm-menu-hm-tree-menu-file-truename #[(file &optional root) "\302\303 \"!\207" [file root file-truename expand-file-name] 4]) (defalias 'vm-menu-hm-tree-make-file-list #[(dir) "\300\213\207" [((byte-code "\303!\211\304\305O\306\230\204\306P\307\310 !\"\210\305\311\305\"\312p!\210\n)\207" [dir vm-menu-hm-tree-temp-buffername list expand-file-name -1 nil "/" vm-menu-hm-tree-ls-in-temp-buffer generate-new-buffer-name vm-menu-hm-tree-make-file-list-1 kill-buffer] 5))] 1 "\ Makes a list with the files and subdirectories of DIR. The list looks like: ((dirname1 file1 file2) file3 (dirname2 (dirname3 file4 file5) file6))"]) (defalias 'vm-menu-hm-tree-hide-file-p #[(filename re-hidden-file-list) "\204\302\207\303@\304 !\"\206\305 A\"\207" [re-hidden-file-list filename nil string-match vm-menu-hm-tree-menu-file-truename vm-menu-hm-tree-hide-file-p] 4 "\ t, if one of the regexps in RE-HIDDEN-FILE-LIST matches the FILENAME."]) (defalias 'vm-menu-hm-tree-make-menu #[(dirlist function selectable &optional no-hidden-dirs re-hidden-file-list include-current-dir) "\306\211\n@\211\203t\nA ;\203+\307 \"\204+\310\311\312 !\f D #C\"\202 <\203\203A\313\314\315\312 @!!\"\204\310\312 @!\203d\311\316\f @D #\317 A\f  &B\202m\317 A\f  %BC\"\202*\207" [menulist subdir dirlist re-hidden-file-list function selectable nil vm-menu-hm-tree-hide-file-p append vector file-name-nondirectory char-equal 46 string-to-char "." vm-menu-hm-tree-make-menu no-hidden-dirs include-current-dir] 11 "\ Returns a menu list. Each item of the menu list has the form [\"subdir\" (FUNCTION \"dir\") SELECTABLE]. Hidden directories (with a leading point) are suppressed, if NO-HIDDEN-DIRS are non nil. Also all files which are matching a regexp in RE-HIDDEN-FILE-LIST are suppressed. If INCLUDE-CURRENT-DIR non nil, then an additional command for the current directory (.) is inserted."]) (provide 'vm-menu) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:24 2004 ;;; from file /Users/kyle/vm/vm-message.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-message.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-location-data-of #[(message) "\301H\207" [message 0] 2]) (put 'vm-location-data-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-start-of #[(message) "\301H\301H\207" [message 0] 2]) (put 'vm-start-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-headers-of #[(message) "\301H\302H\207" [message 0 1] 2]) (put 'vm-headers-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-vheaders-of #[(message) "\301H\302H\206\303\304\211#\210\301H\302H\207" [message 0 2 vm-reorder-message-headers nil] 4]) (put 'vm-vheaders-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-text-of #[(message) "\301H\302H\206\303!\210\301H\302H\207" [message 0 3 vm-find-and-set-text-of] 2]) (put 'vm-text-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-text-end-of #[(message) "\301H\302H\207" [message 0 4] 2]) (put 'vm-text-end-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-end-of #[(message) "\301H\302H\207" [message 0 5] 2]) (put 'vm-end-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-softdata-of #[(message) "\301H\207" [message 1] 2]) (put 'vm-softdata-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-number-of #[(message) "\301H\302H\207" [message 1 0] 2]) (put 'vm-number-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-padded-number-of #[(message) "\301H\301H\207" [message 1] 2]) (put 'vm-padded-number-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-mark-of #[(message) "\301H\302H\207" [message 1 2] 2]) (put 'vm-mark-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-su-start-of #[(message) "\301H\302H\207" [message 1 3] 2]) (put 'vm-su-start-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-su-end-of #[(message) "\301H\302H\207" [message 1 4] 2]) (put 'vm-su-end-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-real-message-sym-of #[(message) "\301H\302H\207" [message 1 5] 2]) (put 'vm-real-message-sym-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-real-message-of #[(message) "\301H\302HJ\207" [message 1 5] 2]) (put 'vm-real-message-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-reverse-link-of #[(message) "\301H\302HJ\207" [message 1 6] 2]) (put 'vm-reverse-link-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-message-type-of #[(message) "\301H\302H\207" [message 1 7] 2]) (put 'vm-message-type-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-message-id-number-of #[(message) "\301H\302H\207" [message 1 8] 2]) (put 'vm-message-id-number-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-buffer-of #[(message) "\301H\302H\207" [message 1 9] 2]) (put 'vm-buffer-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-thread-indentation-of #[(message) "\301H\302H\207" [message 1 10] 2]) (put 'vm-thread-indentation-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-thread-list-of #[(message) "\301H\302H\207" [message 1 11] 2]) (put 'vm-thread-list-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-babyl-frob-flag-of #[(message) "\301H\302H\207" [message 1 12] 2]) (put 'vm-babyl-frob-flag-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-saved-virtual-attributes-of #[(message) "\301H\302H\207" [message 1 13] 2]) (put 'vm-saved-virtual-attributes-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-saved-virtual-mirror-data-of #[(message) "\301H\302H\207" [message 1 14] 2]) (put 'vm-saved-virtual-mirror-data-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-virtual-summary-of #[(message) "\301H\302H\207" [message 1 15] 2]) (put 'vm-virtual-summary-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-mime-layout-of #[(message) "\301H\302H\207" [message 1 16] 2]) (put 'vm-mime-layout-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-mime-encoded-header-flag-of #[(message) "\301H\302H\207" [message 1 17] 2]) (put 'vm-mime-encoded-header-flag-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-su-summary-mouse-track-overlay-of #[(message) "\301H\302H\207" [message 1 18] 2]) (put 'vm-su-summary-mouse-track-overlay-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-message-access-method-of #[(message) "\301H\302H\207" [message 1 19] 2]) (put 'vm-message-access-method-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-attributes-of #[(message) "\301H\207" [message 2] 2]) (put 'vm-attributes-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-new-flag #[(message) "\301H\302H\207" [message 2 0] 2]) (put 'vm-new-flag 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-unread-flag #[(message) "\301H\302H\207" [message 2 1] 2]) (put 'vm-unread-flag 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-deleted-flag #[(message) "\301H\301H\207" [message 2] 2]) (put 'vm-deleted-flag 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-filed-flag #[(message) "\301H\302H\207" [message 2 3] 2]) (put 'vm-filed-flag 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-replied-flag #[(message) "\301H\302H\207" [message 2 4] 2]) (put 'vm-replied-flag 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-written-flag #[(message) "\301H\302H\207" [message 2 5] 2]) (put 'vm-written-flag 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-forwarded-flag #[(message) "\301H\302H\207" [message 2 6] 2]) (put 'vm-forwarded-flag 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-edited-flag #[(message) "\301H\302H\207" [message 2 7] 2]) (put 'vm-edited-flag 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-redistributed-flag #[(message) "\301H\302H\207" [message 2 8] 2]) (put 'vm-redistributed-flag 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-cache-of #[(message) "\301H\207" [message 3] 2]) (put 'vm-cache-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-byte-count-of #[(message) "\301H\302H\207" [message 3 0] 2]) (put 'vm-byte-count-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-weekday-of #[(message) "\301H\302H\207" [message 3 1] 2]) (put 'vm-weekday-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-monthday-of #[(message) "\301H\302H\207" [message 3 2] 2]) (put 'vm-monthday-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-month-of #[(message) "\301H\301H\207" [message 3] 2]) (put 'vm-month-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-year-of #[(message) "\301H\302H\207" [message 3 4] 2]) (put 'vm-year-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-hour-of #[(message) "\301H\302H\207" [message 3 5] 2]) (put 'vm-hour-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-zone-of #[(message) "\301H\302H\207" [message 3 6] 2]) (put 'vm-zone-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-full-name-of #[(message) "\301H\302H\207" [message 3 7] 2]) (put 'vm-full-name-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-from-of #[(message) "\301H\302H\207" [message 3 8] 2]) (put 'vm-from-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-message-id-of #[(message) "\301H\302H\207" [message 3 9] 2]) (put 'vm-message-id-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-line-count-of #[(message) "\301H\302H\207" [message 3 10] 2]) (put 'vm-line-count-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-subject-of #[(message) "\301H\302H\207" [message 3 11] 2]) (put 'vm-subject-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-vheaders-regexp-of #[(message) "\301H\302H\207" [message 3 12] 2]) (put 'vm-vheaders-regexp-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-to-of #[(message) "\301H\302H\207" [message 3 13] 2]) (put 'vm-to-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-to-names-of #[(message) "\301H\302H\207" [message 3 14] 2]) (put 'vm-to-names-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-month-number-of #[(message) "\301H\302H\207" [message 3 15] 2]) (put 'vm-month-number-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-sortable-datestring-of #[(message) "\301H\302H\207" [message 3 16] 2]) (put 'vm-sortable-datestring-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-sortable-subject-of #[(message) "\301H\302H\207" [message 3 17] 2]) (put 'vm-sortable-subject-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-summary-of #[(message) "\301H\302H\207" [message 3 18] 2]) (put 'vm-summary-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-parent-of #[(message) "\301H\302H\207" [message 3 19] 2]) (put 'vm-parent-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-references-of #[(message) "\301H\302H\207" [message 3 20] 2]) (put 'vm-references-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-retrieved-headers-of #[(message) "\301H\302H\207" [message 3 21] 2]) (put 'vm-retrieved-headers-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-retrieved-body-of #[(message) "\301H\302H\207" [message 3 22] 2]) (put 'vm-retrieved-body-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-pop-uidl-of #[(message) "\301H\302H\207" [message 3 23] 2]) (put 'vm-pop-uidl-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-imap-uid-of #[(message) "\301H\302H\207" [message 3 23] 2]) (put 'vm-imap-uid-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-imap-uid-validity-of #[(message) "\301H\302H\207" [message 3 24] 2]) (put 'vm-imap-uid-validity-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-mirror-data-of #[(message) "\301H\207" [message 4] 2]) (put 'vm-mirror-data-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-edit-buffer-of #[(message) "\301H\302H\207" [message 4 0] 2]) (put 'vm-edit-buffer-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-virtual-messages-of #[(message) "\301H\302HJ\207" [message 4 1] 2]) (put 'vm-virtual-messages-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-stuff-flag-of #[(message) "\301H\302H\207" [message 4 2] 2]) (put 'vm-stuff-flag-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-labels-of #[(message) "\301H\302H\207" [message 4 3] 2]) (put 'vm-labels-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-label-string-of #[(message) "\301H\301H\207" [message 4] 2]) (put 'vm-label-string-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-attribute-modflag-of #[(message) "\301H\302H\207" [message 4 5] 2]) (put 'vm-attribute-modflag-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-location-data-of #[(message vdata) "\302 I\207" [message vdata 0] 3]) (put 'vm-set-location-data-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-start-of #[(message start) "\302H\302 I\207" [message start 0] 3]) (put 'vm-set-start-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-headers-of #[(message h) "\302H\303 I\207" [message h 0 1] 3]) (put 'vm-set-headers-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-vheaders-of #[(message vh) "\302H\303 I\207" [message vh 0 2] 3]) (put 'vm-set-vheaders-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-text-of #[(message text) "\302H\303 I\207" [message text 0 3] 3]) (put 'vm-set-text-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-text-end-of #[(message text) "\302H\303 I\207" [message text 0 4] 3]) (put 'vm-set-text-end-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-end-of #[(message end) "\302H\303 I\207" [message end 0 5] 3]) (put 'vm-set-end-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-softdata-of #[(message data) "\302 I\207" [message data 1] 3]) (put 'vm-set-softdata-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-number-of #[(message n) "\302H\303 I\207" [message n 1 0] 3]) (put 'vm-set-number-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-padded-number-of #[(message n) "\302H\302 I\207" [message n 1] 3]) (put 'vm-set-padded-number-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-mark-of #[(message val) "\302H\303 I\207" [message val 1 2] 3]) (put 'vm-set-mark-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-su-start-of #[(message pos) "\302H\303 I\207" [message pos 1 3] 3]) (put 'vm-set-su-start-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-su-end-of #[(message pos) "\302H\303 I\207" [message pos 1 4] 3]) (put 'vm-set-su-end-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-real-message-sym-of #[(message sym) "\302H\303 I\207" [message sym 1 5] 3]) (put 'vm-set-real-message-sym-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-reverse-link-of #[(message link) "\302H\303H L\207" [message link 1 6] 2]) (put 'vm-set-reverse-link-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-reverse-link-sym-of #[(message sym) "\302H\303 I\207" [message sym 1 6] 3]) (put 'vm-set-reverse-link-sym-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-message-type-of #[(message type) "\302H\303 I\207" [message type 1 7] 3]) (put 'vm-set-message-type-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-message-id-number-of #[(message number) "\302H\303 I\207" [message number 1 8] 3]) (put 'vm-set-message-id-number-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-buffer-of #[(message buffer) "\302H\303 I\207" [message buffer 1 9] 3]) (put 'vm-set-buffer-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-thread-indentation-of #[(message val) "\302H\303 I\207" [message val 1 10] 3]) (put 'vm-set-thread-indentation-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-thread-list-of #[(message list) "\302H\303 I\207" [message list 1 11] 3]) (put 'vm-set-thread-list-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-babyl-frob-flag-of #[(message flag) "\302H\303 I\207" [message flag 1 12] 3]) (put 'vm-set-babyl-frob-flag-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-saved-virtual-attributes-of #[(message attrs) "\302H\303 I\207" [message attrs 1 13] 3]) (put 'vm-set-saved-virtual-attributes-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-saved-virtual-mirror-data-of #[(message data) "\302H\303 I\207" [message data 1 14] 3]) (put 'vm-set-saved-virtual-mirror-data-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-virtual-summary-of #[(message summ) "\302H\303 I\207" [message summ 1 15] 3]) (put 'vm-set-virtual-summary-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-mime-layout-of #[(message layout) "\302H\303 I\207" [message layout 1 16] 3]) (put 'vm-set-mime-layout-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-mime-encoded-header-flag-of #[(message flag) "\302H\303 I\207" [message flag 1 17] 3]) (put 'vm-set-mime-encoded-header-flag-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-su-summary-mouse-track-overlay-of #[(message overlay) "\302H\303 I\207" [message overlay 1 18] 3]) (put 'vm-set-su-summary-mouse-track-overlay-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-message-access-method-of #[(message method) "\302H\303 I\207" [message method 1 19] 3]) (put 'vm-set-message-access-method-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-attributes-of #[(message attrs) "\302 I\207" [message attrs 2] 3]) (put 'vm-set-attributes-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-edited-flag-of #[(message flag) "\304H\305 I\210\306!\210\n\307=\203\310!\210\202$\307\211\311H\304 I\210*\312 \204-\313\307!\210\314 \207" [message flag vm-flush-interval val 2 7 vm-mark-for-summary-update t vm-stuff-virtual-attributes 4 buffer-modified-p vm-set-buffer-modified-p vm-clear-modification-flag-undos] 4]) (defalias 'vm-set-cache-of #[(message cache) "\302 I\207" [message cache 3] 3]) (put 'vm-set-cache-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-byte-count-of #[(message count) "\302H\303 I\207" [message count 3 0] 3]) (put 'vm-set-byte-count-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-weekday-of #[(message val) "\302H\303 I\207" [message val 3 1] 3]) (put 'vm-set-weekday-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-monthday-of #[(message val) "\302H\303 I\207" [message val 3 2] 3]) (put 'vm-set-monthday-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-month-of #[(message val) "\302H\302 I\207" [message val 3] 3]) (put 'vm-set-month-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-year-of #[(message val) "\302H\303 I\207" [message val 3 4] 3]) (put 'vm-set-year-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-hour-of #[(message val) "\302H\303 I\207" [message val 3 5] 3]) (put 'vm-set-hour-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-zone-of #[(message val) "\302H\303 I\207" [message val 3 6] 3]) (put 'vm-set-zone-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-full-name-of #[(message author) "\302H\303 I\207" [message author 3 7] 3]) (put 'vm-set-full-name-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-from-of #[(message author) "\302H\303 I\207" [message author 3 8] 3]) (put 'vm-set-from-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-message-id-of #[(message id) "\302H\303 I\207" [message id 3 9] 3]) (put 'vm-set-message-id-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-line-count-of #[(message count) "\302H\303 I\207" [message count 3 10] 3]) (put 'vm-set-line-count-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-subject-of #[(message subject) "\302H\303 I\207" [message subject 3 11] 3]) (put 'vm-set-subject-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-vheaders-regexp-of #[(message regexp) "\302H\303 I\207" [message regexp 3 12] 3]) (put 'vm-set-vheaders-regexp-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-to-of #[(message recips) "\302H\303 I\207" [message recips 3 13] 3]) (put 'vm-set-to-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-to-names-of #[(message recips) "\302H\303 I\207" [message recips 3 14] 3]) (put 'vm-set-to-names-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-month-number-of #[(message val) "\302H\303 I\207" [message val 3 15] 3]) (put 'vm-set-month-number-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-sortable-datestring-of #[(message val) "\302H\303 I\207" [message val 3 16] 3]) (put 'vm-set-sortable-datestring-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-sortable-subject-of #[(message val) "\302H\303 I\207" [message val 3 17] 3]) (put 'vm-set-sortable-subject-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-summary-of #[(message val) "\302H\303 I\207" [message val 3 18] 3]) (put 'vm-set-summary-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-parent-of #[(message val) "\302H\303 I\207" [message val 3 19] 3]) (put 'vm-set-parent-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-references-of #[(message val) "\302H\303 I\207" [message val 3 20] 3]) (put 'vm-set-references-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-retrieved-header-of #[(message val) "\302H\303 I\207" [message val 3 21] 3]) (put 'vm-set-retrieved-header-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-retrieved-body-of #[(message val) "\302H\303 I\207" [message val 3 22] 3]) (put 'vm-set-retrieved-body-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-pop-uidl-of #[(message val) "\302H\303 I\207" [message val 3 23] 3]) (put 'vm-set-pop-uidl-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-imap-uid-of #[(message val) "\302H\303 I\207" [message val 3 23] 3]) (put 'vm-set-imap-uid-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-imap-uid-validity-of #[(message val) "\302H\303 I\207" [message val 3 24] 3]) (put 'vm-set-imap-uid-validity-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-mirror-data-of #[(message data) "\302 I\207" [message data 4] 3]) (put 'vm-set-mirror-data-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-edit-buffer-of #[(message buf) "\302H\303 I\207" [message buf 4 0] 3]) (put 'vm-set-edit-buffer-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-virtual-messages-of #[(message list) "\302H\303H L\207" [message list 4 1] 2]) (put 'vm-set-virtual-messages-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-virtual-messages-sym-of #[(message sym) "\302H\303 I\207" [message sym 4 1] 3]) (put 'vm-set-virtual-messages-sym-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-stuff-flag-of #[(message val) "\302H\303 I\207" [message val 4 2] 3]) (put 'vm-set-stuff-flag-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-labels-of #[(message labels) "\302H\303 I\207" [message labels 4 3] 3]) (put 'vm-set-labels-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-label-string-of #[(message string) "\302H\302 I\207" [message string 4] 3]) (put 'vm-set-label-string-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-attribute-modflag-of #[(message flag) "\302H\303 I\207" [message flag 4 5] 3]) (put 'vm-set-attribute-modflag-of 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-make-message #[nil "\306\307\310\"\310\211\306\n\310\"\211\311 I\210* \306 \310\"\211\312I\210* \306\310\"\211\313 I\210* \314!\211\311H\315I\210*T p\211\311H\316I\210*\317\320!\211 L\210 \211\311H\307I\210*\317\321!\211\310L\210 \211\313H\311I\210*\317\322! \211\311H\323I\210* *\207" [sym v vm-softdata-vector-length data message vm-location-data-vector-length make-vector 5 nil 1 0 4 int-to-string 8 9 make-symbol "<<>>" "" "<--" 6 vdata vm-mirror-data-vector-length vm-message-id-number number buffer] 5]) (defalias 'vm-find-and-set-text-of #[(m) "\212\211\303H\304H)q\210\214~\210\211\305H\303H)b\210\306\307\211\305H\310H)\305#\210\311 \211\305H\312\nI,\207" [m message text 1 9 0 search-forward "\n\n" 4 point-marker 3] 5]) (defalias 'vm-virtual-message-p #[(m) "\211\211\302H\303HJ)=?\207" [m message 1 5] 3]) (provide 'vm-message) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:25 2004 ;;; from file /Users/kyle/vm/vm-mime.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-mime.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\301B\302B\301\207" [current-load-list enable-multibyte-characters default-enable-multibyte-characters] 2) (defalias 'vm-mime-error #[(&rest args) "\301\302\303\304\"C\"\210\305\306!\207" [args signal vm-mime-error apply format error "can't return from vm-mime-error"] 5]) (byte-code "\300\301!\203\301\302\303\"\210\301\304\305\"\210\202+\306\302\307\310#\210\306\302\311\303#\210\306\304\307\312#\210\306\304\311\305#\210\300\207" [fboundp define-error vm-image-too-small "Image too small" vm-mime-error "MIME error" put error-conditions (vm-image-too-small error) error-message (vm-mime-error error)] 4) (defalias 'vm-make-layout #[(&rest plist) "\301\302\303\"\302\304\"\302\305\"\302\306\"\302\307\"\302\310\"\302\311\"\302\312\"\302\313\"\302\314\"\302\315\"\302\316\"\302\317\"\302\320\"\302\321\"\302\322\"\302\323\"&\207" [plist vector plist-get type qtype encoding id description disposition qdisposition header-start header-end body-start body-end parts cache message-symbol display-error layout-is-converted unconverted-layout] 20]) (defalias 'vm-mm-layout-type #[(e) "\301H\207" [e 0] 2]) (defalias 'vm-mm-layout-qtype #[(e) "\301H\207" [e 1] 2]) (defalias 'vm-mm-layout-encoding #[(e) "\301H\207" [e 2] 2]) (defalias 'vm-mm-layout-id #[(e) "\301H\207" [e 3] 2]) (defalias 'vm-mm-layout-description #[(e) "\301H\207" [e 4] 2]) (defalias 'vm-mm-layout-disposition #[(e) "\301H\207" [e 5] 2]) (defalias 'vm-mm-layout-qdisposition #[(e) "\301H\207" [e 6] 2]) (defalias 'vm-mm-layout-header-start #[(e) "\301H\207" [e 7] 2]) (defalias 'vm-mm-layout-header-end #[(e) "\301H\207" [e 8] 2]) (defalias 'vm-mm-layout-body-start #[(e) "\301H\207" [e 9] 2]) (defalias 'vm-mm-layout-body-end #[(e) "\301H\207" [e 10] 2]) (defalias 'vm-mm-layout-parts #[(e) "\301H\207" [e 11] 2]) (defalias 'vm-mm-layout-cache #[(e) "\301H\207" [e 12] 2]) (defalias 'vm-mm-layout-message-symbol #[(e) "\301H\207" [e 13] 2]) (defalias 'vm-mm-layout-message #[(e) "\301!J\207" [e vm-mm-layout-message-symbol] 2]) (defalias 'vm-mm-layout-display-error #[(e) "\301H\207" [e 14] 2]) (defalias 'vm-mm-layout-is-converted #[(e) "\301H\207" [e 15] 2]) (defalias 'vm-mm-layout-unconverted-layout #[(e) "\301H\207" [e 16] 2]) (defalias 'vm-set-mm-layout-type #[(e type) "\302 I\207" [e type 0] 3]) (defalias 'vm-set-mm-layout-qtype #[(e type) "\302 I\207" [e type 1] 3]) (defalias 'vm-set-mm-layout-encoding #[(e encoding) "\302 I\207" [e encoding 2] 3]) (defalias 'vm-set-mm-layout-id #[(e id) "\302 I\207" [e id 3] 3]) (defalias 'vm-set-mm-layout-description #[(e des) "\302 I\207" [e des 4] 3]) (defalias 'vm-set-mm-layout-disposition #[(e d) "\302 I\207" [e d 5] 3]) (defalias 'vm-set-mm-layout-qdisposition #[(e d) "\302 I\207" [e d 6] 3]) (defalias 'vm-set-mm-layout-header-start #[(e start) "\302 I\207" [e start 7] 3]) (defalias 'vm-set-mm-layout-header-end #[(e start) "\302 I\207" [e start 8] 3]) (defalias 'vm-set-mm-layout-body-start #[(e start) "\302 I\207" [e start 9] 3]) (defalias 'vm-set-mm-layout-body-end #[(e end) "\302 I\207" [e end 10] 3]) (defalias 'vm-set-mm-layout-parts #[(e parts) "\302 I\207" [e parts 11] 3]) (defalias 'vm-set-mm-layout-cache #[(e c) "\302 I\207" [e c 12] 3]) (defalias 'vm-set-mm-layout-display-error #[(e c) "\302 I\207" [e c 14] 3]) (defalias 'vm-set-mm-layout-is-converted #[(e c) "\302\303 #\207" [e c asef 15] 4]) (defalias 'vm-set-mm-layout-unconverted-layout #[(e layout) "\302 I\207" [e layout 16] 3]) (defalias 'vm-mime-make-message-symbol #[(m) "\302\303!\211 L\210)\207" [s m make-symbol "<>"] 3]) (defalias 'vm-mime-make-cache-symbol #[nil "\301\302!\211\211L\210)\207" [s make-symbol "<>"] 3]) (defalias 'vm-mm-layout #[(m) "\211\303H\304H)\206!\305!\211\303H\304\nI\210*\211\303H\304H)\207" [m message layout 1 16 vm-mime-parse-entity-safe] 4]) (defalias 'vm-mm-encoded-header #[(m) "\211\305H\306H)\206`\211\305H\307HJ)\211\212\211\305H\310H)q\210\212\214~\210\211\311H\305H)b\210\312\313 \211\311H\314H\206F\315 !\210 \311H\314H)\312#\206M\316,\211\305H\306\fI\210*\211\305H\306H)\207" [m message case-fold-search vm-mime-encoded-word-regexp flag 1 17 5 9 0 t re-search-forward 3 vm-find-and-set-text-of none] 6]) (defalias 'vm-mime-Q-decode-region #[(start end) "\303\304 \n\305\306\307!\310%\210\311 \n\")\207" [buffer-read-only start end nil subst-char-in-region 95 string-to-char " " t vm-mime-qp-decode-region] 6]) (fset 'vm-mime-B-decode-region 'vm-mime-base64-decode-region) (defalias 'vm-mime-Q-encode-region #[(start end) "\304\211\305\n \306#\307\n \310\311!\312\306%\210*\207" [val buffer-read-only start end nil vm-mime-qp-encode-region t subst-char-in-region string-to-char " " 95] 6]) (defalias 'vm-mime-B-encode-region #[(start end) "\302 \303\304$\207" [start end vm-mime-base64-encode-region nil t] 5]) (defalias 'vm-mime-base64-decode-string #[(string) "\301\302\"\207" [string vm-with-string-as-temp-buffer #[nil "\300ed\"\207" [vm-mime-base64-decode-region] 3]] 3]) (defalias 'vm-mime-base64-encode-string #[(string) "\301\302\"\207" [string vm-with-string-as-temp-buffer #[nil "\300ed\301\302$\207" [vm-mime-base64-encode-region nil t] 5]] 3]) (defalias 'vm-mime-crlf-to-lf-region #[(start end) "\303\212\214 \n}\210 b\210\304\305\303\306#\205\307\310!\210\311c\210\202 +\207" [buffer-read-only start end nil search-forward " \n" t delete-char -2 "\n"] 4]) (defalias 'vm-mime-lf-to-crlf-region #[(start end) "\303\212\214 \n}\210 b\210\304\305\303\306#\205\307\310!\210\311c\210\202 +\207" [buffer-read-only start end nil search-forward "\n" t delete-char -1 " \n"] 4]) (defalias 'vm-encode-coding-region #[(b-start b-end coding-system &rest foo) "\306\211\211\211\211p\307\216\212\310 \211q\210\311#\210\312 \313\314ed%ed\312 \212q\210b\210\311 \f #\210``\n\\|\210\315!\203R`\306\223\210 . \207" [b retval oldsize end start work-buffer nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer insert-buffer-substring buffer-size apply encode-coding-region markerp b-start b-end coding-system foo] 7]) (defalias 'vm-decode-coding-region #[(b-start b-end coding-system &rest foo) "\306\211\211\211\211p\307\216\212\310 Z q\210\311#\210\312\313ed%\2036\314\315!\210ed\212q\210b\210``\n\\|\210\311 \f #\210\316!\203[`\306\223\210 . \207" [b retval oldsize end start work-buffer nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer insert-buffer-substring apply decode-coding-region set-buffer-multibyte t markerp b-end b-start coding-system foo vm-fsfemacs-p] 6]) (defalias 'vm-mime-charset-decode-region #[(charset start end) "\306!\204\307\310 \n \223* \204\f\203f \203$\311 \312>\204)\205\250\307\313\"A` \203a\314!@#\210\315!\316\317$\210\315!\320$\210\315!\321@$\210b+\207\322 \204m\307\207\323!\203v\307\207\313\"\"A\324\325\326!!\327!\"#$%\315!\316\317$\210\315!\320$\210%\205\247\330\331\332\217+\207" [end buffer pos vm-xemacs-mule-p vm-fsfemacs-mule-p vm-xemacs-p markerp nil make-marker device-type (x gtk mswindows) vm-string-assoc vm-decode-coding-region put-text-property vm-string t vm-charset vm-coding vm-multiple-fonts-possible-p vm-mime-default-face-charset-p make-face make-symbol "temp-face" vm-make-extent data (byte-code "\306 \"\210\n\203\307 \f\300$\207\310 \311\312#\210\310 \300#\207" [face font vm-fsfemacs-p start end e set-face-font put-text-property vm-set-extent-property duplicable t] 5) ((error)) vm-fsfemacs-p charset vm-mime-mule-charset-to-coding-alist opoint cell buffer-read-only start vm-mime-charset-font-alist e face font] 5]) (defalias 'vm-mime-transfer-decode-region #[(layout start end) "\305\306\307\310\311\n!@\"\204\307\312\311\n!@\"\203\305\313\314\315\n!\"\203+\316 \f#\202I\313\317\315\n!\"\203;\320 \f\"\202I\313\321\315\n!\"\205I\322 \f#*\207" [crlf case-fold-search layout start end t nil vm-mime-types-match "text" vm-mm-layout-type "message" string-match "^base64$" vm-mm-layout-encoding vm-mime-base64-decode-region "^quoted-printable$" vm-mime-qp-decode-region "^x-uue$\\|^x-uuencode$" vm-mime-uuencode-decode-region] 4]) (defalias 'vm-mime-base64-decode-region #[(start end &optional crlf) "\306!\204\307\310 \n \223* Z\311V\203\312\313!\210\307\211\314\211\211\307\315\fP123456\316\216\212\317\320!\203`\321\322!\203`\323\322K!\203`7\204`\324\325\326\217\2108\203\301\327 \"\210\202\301\330 69\203\265\331:;\203u\332\202<\203~\332\202\333=;\203\212\332\202\224<\203\223\332\202\224\333>\334\335 69?&\211@\331=\204\261\336\337@A\"\210,\202\245 b\210 w\2105\204\245`1\fw\314V\203-`212W\203-3A1fH\\34T41T14\340U\203#\341\3423\343\"\344\3076$\210\341\345\3423\346\"\347\"\344\3076$\210\341\3453\347\"\344\3076$\210\3143\3144\202\317\3423\350\"3\202\317`U\203K4\314U\204D\336\351\3404Z\350_\"\210\331\2115\202\276`f\352U\203\236\33154\344U\203c\336\353!\210\202\2744\354U\203y\341\3423\355\"\344\3076$\210\202\2744\356U\203\274\341\3423\343\"\344\3076$\210\341\345\3423\346\"\347\"\344\3076$\210\202\274 w\210\202\2748\203\265\2126q\210\327ed\"\210) b\210\3576!\210`|\210.  Z\311V\205\316\312\360!\207" [end buffer pos start vm-mime-base64-alphabet non-data-chars markerp nil make-marker 200 message "Decoding base64..." 0 "^=" ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) featurep base64 fboundp base64-decode-region subrp data (base64-decode-region start end) ((error (vm-mime-error "%S" data))) vm-mime-crlf-to-lf-region vm-make-work-buffer t binary no-conversion apply vm-run-command-on-region vm-mime-error "%s" 4 vm-insert-char lsh -16 1 logand -8 255 6 "at least %d bits missing at end of base64 encoding" 61 "at least 2 bits missing at end of base64 encoding" 2 -10 3 insert-buffer-substring "Decoding base64... done" inputpos lim bits counter done work-buffer vm-fsfemacs-p crlf vm-mime-base64-decoder-program binary-process-output vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read coding-system-for-write vm-mime-base64-decoder-switches status vm-mime-base64-alphabet-decoding-vector] 9]) (defalias 'vm-mime-base64-encode-region #[(start end &optional crlf B-encoding) "\306!\204\307\310 \n \223* Z\311V\203\312\313!\210\307\314\211\211\f\30734567\315\216\2128\203;\316 \"\210\317\320!\203V\321\322!\203V\323\322K!\203V\324\325\326\217\210\202\266\327 79\203\233\330\331 79:&\211;\332=\204z\333\334;A\"\210<\203\227\2127q\210eb\210\335\336\307\332#\203\226\337\340!\210\202\207))\202\231 \211W\203*4 f\\46T\2116\341U\203\3423\3434\344\"H\345\3077$\210\3423\346\3434\347\"\350\"H\345\3077$\210\3423\346\3434\351\"\350\"H\345\3077$\210\3423\3464\350\"H\345\3077$\2105\352\\\2115\353U\203\3145<\204\342\354\345\3077$\210\3144\3146\202#\3434\355\"4 T\211\202\2366\314U\204\212\3434\3566\355_Z\"4\3423\3434\344\"H\345\3077$\210\3423\346\3434\347\"\350\"H\345\3077$\2106\345U\203p\342\357\360\3077$\210\202\212\3423\346\3434\351\"\350\"H\345\3077$\210\342\357\345\3077$\2105\314V\203\231\342\354\345\3077$\210\306!\204\252\307\310 \n \223* b\210\3617!\210`|\210 Z\311V\203\302\312\362!\210 Z.\207" [end buffer pos start vm-mime-base64-alphabet inputpos markerp nil make-marker 200 message "Encoding base64..." 0 ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-mime-lf-to-crlf-region featurep base64 fboundp base64-encode-region subrp data (base64-encode-region start end B-encoding) ((wrong-number-of-arguments (byte-code "\303\304\305\217\210\203\212 b\210\306\307\n\310#\203\311\312!\210\202 )\303\207" [B-encoding start end data (base64-encode-region start end) ((error (vm-mime-error "%S" data))) search-forward "\n" t delete-char -1] 4)) (error (vm-mime-error "%S" data))) vm-make-work-buffer apply vm-run-command-on-region t vm-mime-error "%s" search-forward "\n" delete-char -1 3 vm-insert-char lsh -18 1 logand -12 63 -6 4 72 10 8 16 61 2 insert-buffer-substring "Encoding base64... done" alphabet bits cols counter work-buffer crlf vm-mime-base64-encoder-program vm-mime-base64-encoder-switches status B-encoding] 8]) (defalias 'vm-mime-qp-decode-region #[(start end) " Z\306V\203\f\307\310!\210\311p\311\312\311\211\211%&'\313\216\212\314 '(\203u\315)*\2035\316\202?+\203>\316\202?\317,*\203J\316\202T+\203S\316\202T\317-\320\321 '(.&\211/\315=\204q\322\323/A\"\210,\202 b\210 \211W\203\324w\210`\325\326!\203\230\327\311x\210` b\210\202\232 \212'q\210\330&\f\n#\210)`U\204\325\326!\203\301\331\332\333\311'$\210\311u\210\202\311u\210\325\334!\203\345\331`f \236A\335_`Tf \236A\\\333\311'$\210\336u\210\202\325\326!\203\361\311u\210\202\325\337!\203\375\311u\210\202\325\340!\203\n\327w\210\202\322\341!\210`\211\202{\342!\204)\31101\343 10\223* b\210\330'!\210`|\210.  Z\306V\205B\307\344!\207" [end start copy-point stop-point inputpos hex-digit-alist 200 message "Decoding quoted-printable..." nil ((48 . 0) (49 . 1) (50 . 2) (51 . 3) (52 . 4) (53 . 5) (54 . 6) (55 . 7) (56 . 8) (57 . 9) (65 . 10) (66 . 11) (67 . 12) (68 . 13) (69 . 14) (70 . 15) (97 . 10) (98 . 11) (99 . 12) (100 . 13) (101 . 14) (102 . 15)) ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer t binary no-conversion apply vm-run-command-on-region vm-mime-error "%s" "^=\n" looking-at "\n" " " insert-buffer-substring vm-insert-char 10 1 "[0-9A-Fa-f][0-9A-Fa-f]" 16 2 " " "[ ]" "something other than line break or hex digits after = in quoted-printable encoding" markerp make-marker "Decoding quoted-printable... done" case-fold-search buf work-buffer vm-mime-qp-decoder-program binary-process-output vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read coding-system-for-write vm-mime-qp-decoder-switches status buffer pos] 8]) (defalias 'vm-mime-qp-encode-region #[(start end &optional Q-encoding quote-from) " Z\306V\203\f\307\310!\210\311p\312\313\311\21178\314\216\212\315 89\203\300\316:;\2032\317\202<<\203;\317\202<\320=;\203G\317\202Q<\203P\317\202Q\320>\321\322 89?&\211@\316=\204n\323\324@A\"\210A\203\215\2128q\210eb\210\325\326\311\316#\203\214\327\330\316\211#\210\202{)B\203\274\2128q\210eb\210\331\332\311\316#\203\251\333\334!\210\202\232eb\210\331\335\311\316#\203\273\333\336!\210\202\254),\202\254 \211W\203\254\nf\211\337U\203\336\340 \341\3118$\210\312\202\210 \342U\203\nTU\204\nTf\337U\204\340 \341\3118$\210 T\202\210 \343W\204P \344V\204P \345U\204PB\203 \346U\204PB\203) \347U\204PA\203> \312U\203>\311C\350\351!)\204P \312U\203} \352U\203}\350\353!\203}\340\345\341\3118$\210\340\354\355 \356\"\f\"@\341\3118$\210\340\354\357 \360\"\f\"@\341\3118$\210 \361\\\202\210\340 \341\3118$\210 T \362V\203\245\312B\204\245\340\345\341\3118$\210\340\337\341\3118$\210\nT\211\202\303\363!\204\301\311DE\364 ED\223* b\210\3658!\210`|\210 Z\306V\203\331\307\366!\210 Z.\207" [end start inputpos char hex-digit-alist cols 200 message "Encoding quoted-printable..." nil 0 ((48 . 0) (49 . 1) (50 . 2) (51 . 3) (52 . 4) (53 . 5) (54 . 6) (55 . 7) (56 . 8) (57 . 9) (65 . 10) (66 . 11) (67 . 12) (68 . 13) (69 . 14) (70 . 15)) ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer t binary no-conversion apply vm-run-command-on-region vm-mime-error "%s" re-search-forward "^From " replace-match "=46rom " search-forward "=\n" delete-char -2 "\n" -1 10 vm-insert-char 1 32 33 126 61 63 95 looking-at "From " 46 "\\.\\(\n\\|\\'\\)" rassq lsh -4 logand 15 3 70 markerp make-marker insert-buffer-substring "Encoding quoted-printable... done" buf work-buffer vm-mime-qp-encoder-program binary-process-output vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read coding-system-for-write vm-mime-qp-encoder-switches status quote-from Q-encoding case-fold-search buffer pos] 8]) (defalias 'vm-mime-uuencode-decode-region #[(start end &optional crlf) "\306\307!\210\310p\310\311 \312\216\212\313 \211q\210\314\n\f #\210eb\210\315\316\310\317#\204+\320\321!\210`\322y\210`|\210\323\261\210db\210\324 \210\325\326!\203Idb\210\323c\210\";\203\232\317#$\203[\327\202e%\203d\327\202e\330&$\203p\327\202z%\203y\327\202z\330'\331\332ed\310\"(&\211)\317=\204\226\320\333)A\"\210,\202\236\320\334!\210ed|\210\335!\210*\203\260\336ed\"\210\nq\210\337 !\204\310 \310+,\340 ,+\223*\fb\210\314 !\210` |\210.\306\341!\207" [tempfile case-fold-search region-buffer work-buffer start end message "Decoding uuencoded stuff..." nil vm-make-tempfile-name ((byte-code "\203\302!\210\303\304 \"\207" [work-buffer tempfile kill-buffer vm-error-free-call delete-file] 3)) vm-make-work-buffer insert-buffer-substring re-search-forward "^begin [0-7][0-7][0-7] " t vm-mime-error "no begin line" 1 "\n" beginning-of-line looking-at "^end\\'" binary no-conversion apply vm-run-command-on-region "%s" "no uuencode decoder program defined" insert-file-contents-literally vm-mime-crlf-to-lf-region markerp make-marker "Decoding uuencoded stuff... done" vm-mime-uuencode-decoder-program binary-process-output vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read coding-system-for-write vm-mime-uuencode-decoder-switches status crlf buffer pos] 8]) (defalias 'vm-decode-mime-message-headers #[(m) "\306\307\211\211\211\211\211\211\211\212\211\310H\311H)b\210\312\211\310H\313H\206<\314!\210\310H\313H)\306#\205\236\310\224\310\225\311\224\311\225{\315\224\315\225{\316\224\316\225\307\317 \223*\320!\204x\321!\211\203\"\n|\210\322\323\324\217\210 \203\215\325 #\326 #\210b\210 |\210\202\".\n\207" [end start match-end match-start encoding need-conversion t nil 0 1 re-search-forward 3 vm-find-and-set-text-of 4 5 make-marker vm-mime-charset-internally-displayable-p vm-mime-can-convert-charset data (byte-code "\303\304\"\203\305 \n\"\210\202#\303\306\"\203\307 \n\"\210\202#\310\311\"\210\303\207" [encoding start end string-match "B" vm-mime-B-decode-region "Q" vm-mime-Q-decode-region vm-mime-error "unknown encoded word encoding, %s"] 3) ((vm-mime-error (byte-code "\303\304A\"\210 b\210\305c\210`\n|\207" [data start end apply message "**invalid encoded word**"] 3))) vm-mime-charset-convert-region vm-mime-charset-decode-region charset buffer-read-only case-fold-search m message vm-mime-encoded-word-regexp buffer pos] 10]) (defalias 'vm-decode-mime-encoded-words #[nil "\306\307\211\211\211\211\211\211\211\212eb\210\310\307\306#\205~\311\224\311\225\312\224\312\225{\313\224\313\225{\314\224\314\225\307\315 \223*\316!\204X\317!\211\203\n|\210\320\321\322\217\210 \203m\323 #\324 #\210b\210 |\210\202.\n\207" [end start match-end match-start encoding need-conversion t nil re-search-forward 0 1 4 5 make-marker vm-mime-charset-internally-displayable-p vm-mime-can-convert-charset data (byte-code "\303\304\"\203\305 \n\"\210\202#\303\306\"\203\307 \n\"\210\202#\310\311\"\210\303\207" [encoding start end string-match "B" vm-mime-B-decode-region "Q" vm-mime-Q-decode-region vm-mime-error "unknown encoded word encoding, %s"] 3) ((vm-mime-error (byte-code "\303\304A\"\210 b\210\305c\210`\n|\207" [data start end apply message "**invalid encoded word**"] 3))) vm-mime-charset-convert-region vm-mime-charset-decode-region charset buffer-read-only case-fold-search vm-mime-encoded-word-regexp buffer pos] 9]) (defalias 'vm-decode-mime-encoded-words-in-string #[(string) "\203\304\305\n \")\203\306 \307\"\207 \207" [vm-display-using-mime case-fold-search vm-mime-encoded-word-regexp string t string-match vm-with-string-as-temp-buffer vm-decode-mime-encoded-words] 3]) (defalias 'vm-reencode-mime-encoded-words #[nil "\306\211\211\211\211\211\307\306\212e?\205\225\310\311\"\312\311\"\211\2040d\307\203\217\310\313\"\211\203P\314 \315\f #\210\f\314 \nZ\\\316\317\"\211\203d\320\f\"\202i\321\f\"\\\211b\210\322c\210`b\210\323\324 \203\203\325\202\204\326\324\261\210\f`Z\\\f\202. \207" [done case-fold-search old-size q-encoding pos coding nil t get-text-property vm-charset next-single-property-change vm-coding buffer-size encode-coding-region string-match "^iso-8859-\\|^us-ascii" vm-mime-Q-encode-region vm-mime-B-encode-region "?=" "=?" "?" "Q" "B" start charset] 9]) (defalias 'vm-reencode-mime-encoded-words-in-string #[(string) "\203\302\303 G\304\305 %\203\306 \307\"\207 \207" [vm-display-using-mime string text-property-any 0 vm-string t vm-with-string-as-temp-buffer vm-reencode-mime-encoded-words] 6]) (fset 'vm-mime-parse-content-header 'vm-parse-structured-header) (defalias 'vm-mime-get-header-contents #[(header-name-regexp) "\304\211\305\n\306Q\212\307\310\304\307#\205$\311\224\205$\312\224b\210\313 \205$\314 ,\207" [regexp contents header-name-regexp case-fold-search nil "^\\(" "\\)\\|\\(^$\\)" t re-search-forward 1 0 vm-match-header vm-matched-header-contents] 4]) (defalias 'vm-mime-parse-entity #[(&optional m default-type default-encoding passing-message-only) "\300\301\215\207" [return-value (byte-code "\212\203 \204\211\306H\307HJ)\211\211\306H\310H)q\210\311\312\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211@ABCDEFG,+*)(&$HI\212\214\203\" \204\"\313\314\"H\315H!@H\313\316\"$H\204}J\203\202H\202\210$\205\210\317H\315$\320\311#&\315$\320\"$\313\321\"(H\204\251J\203\256H\202\264(\205\264\317H(\206\274\322(\315(!@\206\307\322(\313\323\")\315)!@)\313\324\"\211*\205\353\325\326*\"?\205\353**\313\327\"\211+\205\375\315+\320\311#,+\205 \315+\320\"+~\210\211\330H\306H)\211\330H\331H)}\210\202\230eb\210\332\316!$\315$\320\311#\2065K&\315$\320\"\206AK$\332\321!\206KL(\315(!@\206WL(\332\323!)\315)!@)\332\324!\211*\205y\325\326*\"?\205y**\332\327!\211+\205\212\315+\320\311#,+\205\226\315+\320\"+\203\277 \204\277H\204\255\333\334\335\"\210\202\277M\204\277H\317\230\204\277\336\337H\"\210$\203\323\325\340$@\"\203\323\341$\342&\203N \204N$\204N\333\334\343\344\345\346\347\350(\351)\352*\353+\354,\355\211\330H\306H)\356\211\330H\357H\206\360\n!\210\n\330H\357H)S\312NO\361 ON\223*\362\211\330H\357H\2066\360\n!\210\n\330H\357H)\363\211\330H\331H)\364\365 \366\367!&\"\210\202U$\204\302eb\210\370\371\312\311#\204b\336\372!\210\343\344K\346K\350(\351)\352*\353+\354,\355e\312NO\361 ON\223*\373`S\312NO\361 ON\223*\362`\312NO\361 ON\223*\363d\312NO\361 ON\223*\364\365 \366\367!&\210\202U\325\374$@\"\204\325\336\375$@\"\210\202U\325\376$@\"\203\325\377(\"\204P\203\363\201R(\202\336\201S$@(#\210\202U\325\201T$@\"\203!\325\201U(\"\204!\336\201V(\"\210\202U\325\201W$@\"\2037\201XA\322@\202U\325\201Y$@\"\203M\201ZA\322@\202U\325\201[$@\"\203\346\201\\A\322@eb\210\370\371\312\311#\204o\336\372!\210\333\334\343\344$\346&\350(\351)\352*\353+\354,\355e\312NO\361 ON\223*\356`S\312NO\361 ON\223*\362`\312NO\361 ON\223*\363d\312NO\361 ON\223*\201]\214`d}\210\201^A@\311$)C\364\365 \366\367!&\"\210\202Ueb\210\370\371\312\311#\204\365\336\372!\210\333\334\343\344$\346&\350(\351)\352*\353+\354,\355e\312NO\361 ON\223*\356`S\312NO\361 ON\223*\362`\312NO\361 ON\223*\363d\312NO\361 ON\223*\364\365 \366\367!&\"\210$A\312G\f\203\203\325\201_\f@\"\203|\201`\f@\201a\"@G\312\211\202]\fA\211\204`G\204\221\336\201b$@\"\210\201c\201dG!\201eQFeb\210\312E\312C\312 \204\335\370F\312\330#\203\335E\204\304\330\225E\202\253\306\224\203\313\311E\330\224SBBBB\330\225E\202\253 \204\361Q\204\361\336\201fG\"\210\202E\203 \204E`BBBBB\237BB\2039B@EBA@DBAAB\212\214ED}\210\201^A@\311$CBC*\202eb\210\370\371\312\311#\204H\336\372!\210\343\344$\346&\350(\351)\352*\353+\354,\355e\312NO\361 ON\223*\356`S\312NO\361 ON\223*\362`\312NO\361 ON\223*\363d\312NO\361 ON\223*\201]C\237\364\365 \366\367!&.\207" [m passing-message-only message returnval p done 1 5 9 t nil vm-get-header-contents "MIME-Version:" vm-mime-parse-content-header "Content-Type:" "1.0" 59 "Content-Transfer-Encoding:" "7bit" "Content-ID:" "Content-Description:" string-match "^[ \n]*$" "Content-Disposition:" 0 4 vm-mime-get-header-contents throw return-value none vm-mime-error "Unsupported MIME version: %s" "^text$" ("text/plain" "charset=us-ascii") ("text/plain" "charset=us-ascii") vm-make-layout type ("text/plain" "charset=us-ascii") qtype ("text/plain" "charset=us-ascii") encoding id description disposition qdisposition header-start header-end 3 vm-find-and-set-text-of make-marker body-start body-end cache vm-mime-make-cache-symbol message-symbol vm-mime-make-message-symbol re-search-forward "^\n\\|\n\\'" "MIME part missing header/body separator line" header-body "[^/ ]+/[^/ ]+" "Malformed MIME content type: %s" "^multipart/\\|^message/" "^\\(7bit\\|8bit\\|binary\\)$" c-t-e c-t pos-list multipart-list end start boundary-regexp boundary version case-fold-search vm-mime-require-mime-version-header default-type default-encoding vm-mime-ignore-mime-version buffer pos vm-mime-ignore-composite-type-opaque-transfer-encoding vm-mime-ignore-missing-multipart-boundary "binary" "Opaque transfer encoding used with multipart or message type: %s, %s" "^message/partial$" "^7bit$" "Non-7BIT transfer encoding used with message/partial message: %s" "^multipart/digest" ("message/rfc822") "^multipart/" ("text/plain" "charset=us-ascii") "^message/\\(rfc822\\|news\\|external-body\\)" ("text/plain" "charset=us-ascii") parts vm-mime-parse-entity-safe "^boundary=" vm-parse "=\\(.+\\)" "Boundary parameter missing in %s type specification" "^--" regexp-quote "\\(--\\)?[ ]*\\(\n\\|\\'\\)" "final %s boundary missing"] 33)] 2]) (defalias 'vm-mime-parse-entity-safe #[(&optional m c-t c-t-e p-m-only) "\204\302 \204\f\303\304\305\306\217\207" [c-t c-t-e ("text/plain" "charset=us-ascii") "7bit" error-data (vm-mime-parse-entity m c-t c-t-e p-m-only) ((vm-mime-error (byte-code "\303\306A@\"\210 \203\n\204 \211\307H\310H)\202$e\311\312 \f\223* \203C\n\204C \211\307H\313H\206?\314 !\210 \307H\313H)\202T\212\315\316\311\307#\210`\311\312 \f\223+ \203g\n\204g \211\307H\317H)\202qd\311\312 \f\223*$%&\320\321\322\323\324\325\326%$\"\327A@\330\331\332\333\334&\335%S\311\312 \f\223*\336%\337$\340\341 \342\343 !&+\207" [error-data m p-m-only message buffer pos "%s" 0 1 nil make-marker 3 vm-find-and-set-text-of re-search-forward "^\n\\|\n\\'" 4 vm-make-layout type ("error/error") qtype ("error/error") encoding vm-determine-proper-content-transfer-encoding description disposition ("attachment") qdisposition ("attachment") header-start header-end body-start body-end cache vm-mime-make-cache-symbol message-symbol vm-mime-make-message-symbol text-end text header] 27)))] 3]) (defalias 'vm-mime-get-xxx-parameter #[(name param-list) "GT\306!\307P\310\311 \2031 \2041\312 @\"\203*\313\225\fU\203*\310\202 A\211\204 @\205; @\f\311O,\207" [name done case-fold-search name-regexp match-end param-list regexp-quote "=" t nil string-match 0] 5]) (defalias 'vm-mime-get-parameter #[(layout name) "\302\303 !A\"\207" [name layout vm-mime-get-xxx-parameter vm-mm-layout-type] 4]) (defalias 'vm-mime-get-disposition-parameter #[(layout name) "\302\303 !A\"\207" [name layout vm-mime-get-xxx-parameter vm-mm-layout-disposition] 4]) (defalias 'vm-mime-set-xxx-parameter #[(name value param-list) "GT\306!\307P\310\311 \2031 \2041\312 @\"\203*\313\225\fU\203*\310\202 A\211\204 @\205= \307\fQ\240,\207" [name done case-fold-search name-regexp match-end param-list regexp-quote "=" t nil string-match 0 value] 5]) (defalias 'vm-mime-set-parameter #[(layout name value) "\303 \304\n!A#\207" [name value layout vm-mime-set-xxx-parameter vm-mm-layout-type] 5]) (defalias 'vm-mime-set-qparameter #[(layout name value) "\303\303Q\304 \305\n!A#\207" [value name layout "\"" vm-mime-set-xxx-parameter vm-mm-layout-qtype] 5]) (defalias 'vm-mime-insert-mime-body #[(layout) "\301\302\303!!\303!\304!#\207" [layout vm-insert-region-from-buffer marker-buffer vm-mm-layout-body-start vm-mm-layout-body-end] 5]) (defalias 'vm-mime-insert-mime-headers #[(layout) "\301\302\303!!\303!\304!#\207" [layout vm-insert-region-from-buffer marker-buffer vm-mm-layout-header-start vm-mm-layout-header-end] 5]) (byte-code "\301B\302B\303B\301\207" [current-load-list buffer-display-table standard-display-table buffer-file-type] 2) (defalias 'vm-make-presentation-copy #[(m) "p\306\211\211\307H\310HJ)\311 23\203 \3123!\204\273\3134\314\312 \315P!)\212 q\210\316\317!\203<\317p!\210\202D\3205\320p!\210)\3216\3227\306C829:\205^\323 \205^\324 ;\313<\313=>?\325\326!\210\306\316\327!\203\216\327@\203\201\330\202\213A\203\212\330\202\213\331\313\"\210\332 \210B\203\243C\203\243\333 \203\243\334 \210\335D!\210\336 \210\323 \203\263\337 \210\340\341!\210) 333E\306F\316\342!\203\331\342\343\344! \"\210\342\345\344! \"\210\212 \211\307H\346H)q\210\214~\210 \211\347H\350H\204\367\351 \306\211#\210) q\210~\210\306\313\311 G=\352\216\353 \210\354 \211\307H\346H) \211\347H\347H) \211\347H\310H)#\210,\355!\211\356\211\347H)!H\211\347HI\210*\f\211\347H\347H)e\306\223\210\f\211\347H\307H)\f\211\347H\347H) \211\347H\307H) \211\347H\347H)Z\\\306\223\210\f\211\347H\350H\206\204\351 \306\211#\210 \347H\350H)\f\211\347H\347H) \211\347H\350H\206\242\351 \306\211#\210 \347H\350H) \211\347H\347H)Z\\\306\223\210\f\211\347H\357H\206\303\360 !\210 \347H\357H)\f\211\347H\347H) \211\347H\357H\206\337\360 !\210 \347H\357H) \211\347H\347H)Z\\\306\223\210\f\211\347H\361H)\f\211\347H\347H) \211\347H\361H) \211\347H\347H)Z\\\306\223\210\f\211\347H\310H)\f\211\347H\347H) \211\347H\310H) \211\347H\347H)Z\\\306\223\2108\f\240.\207" [m message modified real-m mm b nil 1 5 buffer-modified-p buffer-name t generate-new-buffer " Presentation" fboundp buffer-disable-undo buffer-flush-undo "VM Presentation" vm-presentation-mode vm-menu-support-possible-p vm-menu-mode-menu make-local-variable scroll-in-place set-buffer-file-coding-system binary no-conversion vm-fsfemacs-nonmule-display-8bit-chars vm-multiple-frames-possible-p vm-set-hooks-for-frame-deletion use-local-map vm-toolbar-install-or-uninstall-toolbar vm-menu-install-menus run-hooks vm-presentation-mode-hook remove-specifier face-foreground default face-background 9 0 2 vm-reorder-message-headers ((set-buffer-modified-p modified)) erase-buffer insert-buffer-substring copy-sequence vm-copy 3 vm-find-and-set-text-of 4 mail-buffer vm-presentation-buffer-handle default-enable-multibyte-characters x mode-name major-mode vm-message-pointer vm-mail-buffer vm-use-menus mode-popup-menu buffer-file-type buffer-read-only vm-mode-line-format mode-line-format vm-xemacs-mule-p vm-xemacs-file-coding-p vm-mutable-frames vm-frame-per-folder vm-mode-map vm-presentation-buffer vm-mime-decoded inhibit-read-only vdata] 7]) (byte-code "\301\302M\210\303\301\304\305#\210\306B\301\207" [current-load-list vm-presentation-mode vm-mode put mode-class special buffer-file-coding-system] 4) (defalias 'vm-determine-proper-charset #[(beg end) "\212\214 }\210\302\303\215*\207" [beg end done (byte-code "eb\210\204 \203@\n\203@\306\307\310ed\"\"\211\204\311\202> A\2032\312\f! \236A@\206>\313\202>\314 @\"A@\206>\315)\207\316\317\320\321#\203R\322\323\206P\324\"\210\322\323\"\207" [vm-xemacs-mule-p vm-fsfemacs-mule-p enable-multibyte-characters charsets buffer-file-coding-system vm-mime-mule-coding-to-charset-alist delq ascii vm-charsets-in-region "us-ascii" vm-coding-system-name "iso-2022-jp" assoc "unknown" re-search-forward "[^-]" nil t throw done "iso-8859-1" vm-mime-mule-charset-to-charset-alist vm-mime-8bit-composition-charset vm-mime-7bit-composition-charset] 6)] 2]) (defalias 'vm-determine-proper-content-transfer-encoding #[(beg end) "\212\214 }\210\302\303\215*\207" [beg end done (byte-code "eb\210\302\303\304\305#\203\306\307\310\"\210\304\211eb\210`m\204/ \204/\304y\210`Z\311V`\202 \2038\306\307\310\"\210*eb\210\302\312\304\305#\203I\306\307\313\"\210\314\207" [bol toolong re-search-forward "[ ]" nil t throw done "binary" 998 "[^-]" "8bit" "7bit"] 4)] 2]) (defalias 'vm-mime-types-match #[(type type/subtype) "\304\305\306 \"\203%\305\307 !\n\"\205D\310\224\310\232\205D\nG\310\225\232\205D\304\202D\305\307 !\n\"\205D\310\224\310\232\205D\311 \312\216\305\306\n\310\225#*\310\225\232)\207" [case-fold-search type type/subtype save-match-data-internal t string-match "/" regexp-quote 0 match-data ((set-match-data save-match-data-internal))] 4]) (byte-code "\301B\301\207" [current-load-list native-sound-only-on-console] 2) (defalias 'vm-mime-can-display-internal #[(layout &optional deep) "\306!@\307\310 \"\203\311\312!\205'\313 \202'\307\314 \"\203)\311\315!\205'\313 \202'\307\316 \"\203;\311\317!\205'\313 \202'\307\320 \"\203M\311\321!\205'\313 \202'\307\322 \"\203_\311\323!\205'\313 \202'\307\324 \"\203q\311\325!\205'\313 \202'\307\326 \"\203\203\311\327!\205'\313 \202'\307\330 \"\203\261\n\205'\331\332!\204\232\331\333!\205'\334 \206'\331\332!\205' ?\205'\335 \336>\202'\307\337 \"\203\274\340\202'\307\341 \"\203\322\f?\206'\342\343!@\340\"\202'\307\344 \"\203\335\340\202'\307\345 \"\203\346\347!\205' \205'\346\350!\205'\351\352\"\206\374\3530\3540!)\202'\307\355 \"\203&\351\352\"\206\3530\3540!\206\"\3560!)\202'\357)\207" [layout type vm-xemacs-p native-sound-only-on-console deep vm-mime-use-w3-for-text/html vm-mm-layout-type vm-mime-types-match "image/jpeg" vm-image-type-available-p jpeg vm-images-possible-here-p "image/gif" gif "image/png" png "image/tiff" tiff "image/xpm" xpm "image/pbm" pbm "image/xbm" xbm "audio/basic" featurep native-sound nas-sound device-sound-enabled-p device-type (x gtk) "multipart" t "message/external-body" vm-mime-can-display-internal vm-mm-layout-parts "message" "text/html" fboundp w3-region w3-about vm-mime-get-parameter "charset" "us-ascii" vm-mime-charset-internally-displayable-p "text" vm-mime-can-convert-charset nil charset] 3]) (defalias 'vm-mime-can-convert #[(type) "\303 \"\206 \303\n\"\207" [type vm-mime-type-converter-alist vm-mime-image-type-converter-alist vm-mime-can-convert-0] 3]) (defalias 'vm-mime-can-convert-0 #[(type alist) "\305\306\307C\"\307\211 \203U \204U\310 @@\f\"\203N\310 @A@\f\"\204N \204>\n\311H @A@\240\210\312\n!\203> @\202N\204N\313 @A@!\203N @ A\211\204 \206Z+\207" [second-best best fake-layout alist type make-vector 1 nil vm-mime-types-match 0 vm-mime-can-display-internal vm-mime-find-external-viewer] 4]) (defalias 'vm-mime-convert-undisplayable-layout #[(layout) "\300\301\215\207" [done (byte-code "\306\307!@!\310\211\311\312\307!@ A@#\210\212\313\314!\315\316 \"\210 q\210\310\317!\210\320ed#\210\321ed \322\211\3107\323 8&\211\324=\204U\311\325\307!@ A@\n$\210\326\327\310\"\210eb\210\330 A@\331\261\210\332c\210\333\310!\210\311\334\307!@ A@#\210\335\336\337 A@C\307!A\"\340\337 A@C\307!A\"\341\342\343\344!\345\346!\347\350!\351\352!\353e\31089\354 98\223*\355`S\31089\354 98\223*\356`\31089\354 98\223*\357d\31089\354 98\223*\360\361 \362\363\364!!\365\322\366&,\207" [layout work-buffer ex ooo selective-display shell-file-name vm-mime-can-convert vm-mm-layout-type nil message "Converting %s to %s..." vm-make-work-buffer " *mime object*" vm-register-message-garbage kill-buffer vm-mime-insert-mime-body vm-mime-transfer-decode-region call-process-region t 2 0 "Conversion from %s to %s failed (exit code %s)" throw done "Content-Type: " "\n" "Content-Transfer-Encoding: binary\n\n" set-buffer-modified-p "Converting %s to %s... done" vm-make-layout type append qtype encoding "binary" id vm-mm-layout-id description vm-mm-layout-description disposition vm-mm-layout-disposition qdisposition vm-mm-layout-qdisposition header-start make-marker header-end body-start body-end cache vm-mime-make-cache-symbol message-symbol vm-mime-make-message-symbol vm-mm-layout-message layout-is-converted unconverted-layout shell-command-switch buffer pos] 32)] 2]) (defalias 'vm-mime-can-convert-charset #[(charset) "\302 \"\207" [charset vm-mime-charset-converter-alist vm-mime-can-convert-charset-0] 3]) (defalias 'vm-mime-can-convert-charset-0 #[(charset alist) "\303 \203(\204(\304 @@\n\"\203!\305 @A@!\203!\306\202 A\211\204 \205. @)\207" [done alist charset nil vm-string-equal-ignore-case vm-mime-charset-internally-displayable-p t] 4]) (defalias 'vm-mime-convert-undisplayable-charset #[(layout) "\306\307\"\310\211\311 !\312\313 \nA@#\210\212\314\315!\316\317 \"\210 q\210\310\320!\210\321ed#\210\322ed \323\211\310;\324\n8&\210\325\326\327\330!!\331\327\330!!\332\333\334\335!\336\337!\340\341!\342\343!\344e\310<=\345 =<\223*\346`S\310<=\345 =<\223*\347`\310<=\345 =<\223*\350d\310<=\345 =<\223*\351\352 \353\354\355!!\356\323\357&\360\307\nA@#\210\361\307\nA@#\210eb\210\362\363\330!@\"\210\362\364\365\366\330!@\364#\367#\210\362\370!\210\371\310!\210\312\372 \nA@#\210,\207" [layout work-buffer ooo charset selective-display shell-file-name vm-mime-get-parameter "charset" nil vm-mime-can-convert-charset message "Converting charset %s to %s..." vm-make-work-buffer " *mime object*" vm-register-message-garbage kill-buffer vm-mime-insert-mime-body vm-mime-transfer-decode-region call-process-region t 2 vm-make-layout type copy-sequence vm-mm-layout-type qtype encoding "binary" id vm-mm-layout-id description vm-mm-layout-description disposition vm-mm-layout-disposition qdisposition vm-mm-layout-qdisposition header-start make-marker header-body body-start body-end cache vm-mime-make-cache-symbol message-symbol vm-mime-make-message-symbol vm-mm-layout-message layout-is-converted onconverted-layout vm-mime-set-parameter vm-mime-set-qparameter insert-before-markers "Content-Type: " ";\n " mapconcat identity "\n" "Content-Transfer-Encoding: binary\n\n" set-buffer-modified-p "Converting charset %s to %s... done" shell-command-switch buffer pos] 31]) (defalias 'vm-mime-charset-convert-region #[(charset b-start b-end) "p\306\211\211\211\211\307!\310\216\212\311\312!Z q\210\313 #\210\306\314ed\315\211\306\3168&\210\203E\317\315!\210ed\212 q\210b\210\313 \f #\210``\n\\|\210)A@.\207" [ooo work-buffer oldsize end start b nil vm-mime-can-convert-charset ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer " *mime object*" insert-buffer-substring call-process-region t 2 set-buffer-multibyte charset b-end b-start selective-display shell-file-name shell-command-switch vm-fsfemacs-mule-p] 10]) (defalias 'vm-mime-should-display-button #[(layout dont-honor-content-disposition) "\203 \204\306\n!\203\307\310\311\306\n!@\")\207\f\312\n!@\313 \211\307=\204S\203K \204K\314@ \"\203B\307\202*A\211\204/ \204S\307\202{\313\203z \204z\314@ \"\203q\307\202YA\211\204^ +\207" [vm-honor-mime-content-disposition dont-honor-content-disposition layout case-fold-search vm-auto-displayed-mime-content-types matched vm-mm-layout-disposition t string-match "^attachment$" vm-mm-layout-type nil vm-mime-types-match type i-list vm-auto-displayed-mime-content-type-exceptions] 5]) (defalias 'vm-mime-should-display-internal #[(layout) "\306 !@\307\211\310=\204/\f\203+\n\204+\311\f@ \"\203$\310\202\fA\211\204\n\205Q \307\f\203O\n\204O\311\f@ \"\203H\310\2023\fA\211\2047\n?+\207" [vm-mime-internal-content-types layout matched type i-list vm-mime-internal-content-type-exceptions vm-mm-layout-type nil t vm-mime-types-match] 4]) (defalias 'vm-mime-find-external-viewer #[(type) "\300\301\215\207" [done (byte-code "\305\n\203\306\n@ \"\203\307\310\305\"\210\202\nA\211\204\f\n\203F \204F\306\n@@ \"\203?\n@A\203?\n@A\202!\nA\211\204% *\207" [vm-mime-external-content-type-exceptions matched list type vm-mime-external-content-types-alist nil vm-mime-types-match throw done] 4)] 2]) (fset 'vm-mime-can-display-external 'vm-mime-find-external-viewer) (defalias 'vm-mime-delete-button-maybe #[(extent) "\302\303 \304\"\205\305 !\306 !|\210\307 !)\207" [buffer-read-only extent nil vm-extent-property vm-mime-disposable vm-extent-start-position vm-extent-end-position vm-detach-extent] 3]) (defalias 'vm-decode-mime-message #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\316 \210\n\2046 \2046\310\317!\210 \203H\320\f@!\210 q\210 \210\202_6\203\2156\321=\203y\322\323\322\324\322789:;\3226\325\307 <\"\210\212\326 \210)\3276-\202_\322\211:;\325\307 <\"\210\326 \210*\202_\330\f@!\f@=>\331\332!\210>;\203\247\310\333>\"\210\334=!\203\262\310\335!\210 \204\272\310\336!\210 q\210t\203\316?\337=\203\316\322\340 \210)\f@=\341 deZV\322\211@A\211B\203\366\342 e\322\223\211A\203\366\342 d\322\223@\343\216~\210=\211\344H\345H\206\346!\210\344H\345H)b\210\322\347 CD\350\216\212\351=!\352=\204,\353=!\210\354>!\203<\355>!\210`d|\210\356 \210\357 \210\360 \210.\212q\210\3216)\325\307!<\"\210\361 \210\331\362!\210*\363\322\211\364\365$\207" [vm-mail-buffer major-mode vm-display-using-mime vm-mime-display-function vm-message-pointer vm-presentation-buffer vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-check-for-killed-presentation vm-error-if-folder-empty "MIME display disabled, set vm-display-using-mime non-nil to enable." vm-make-presentation-copy decoded nil t ("multipart") intern vm-preview-current-message buttons vm-mm-layout message "Decoding MIME message..." "Invalid MIME message: %s" vm-mime-plain-message-p "Message needs no decoding." "No presentation buffer." previewing vm-show-current-message buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) 0 3 vm-find-and-set-text-of buffer-modified-p ((set-buffer-modified-p modified)) vm-mm-encoded-header none vm-decode-mime-message-headers vectorp vm-decode-mime-layout vm-energize-urls vm-highlight-headers-maybe vm-energize-headers-and-xfaces vm-update-summary-and-mode-line "Decoding MIME message... done" vm-display (vm-decode-mime-message) (vm-decode-mime-message reading-message) vm-mime-decoded vm-auto-displayed-mime-content-type-exceptions vm-auto-displayed-mime-content-types vm-honor-mime-content-disposition vm-auto-decode-mime-messages vm-preview-lines vm-buffers-needing-display-update m layout vm-system-state #3# #2# #1# modified buffer-read-only] 6 "\ Decode the MIME objects in the current message. The first time this command is run on a message, decoding is done. The second time, buttons for all the objects are displayed instead. The third time, the raw, undecoded data is displayed. If decoding, the decoded objects might be displayed immediately, or buttons might be displayed that you need to activate to view the object. See the documentation for the variables vm-auto-displayed-mime-content-types vm-auto-displayed-mime-content-type-exceptions vm-mime-internal-content-types vm-mime-internal-content-type-exceptions vm-mime-external-content-types-alist to see how to control whether you see buttons or objects. If the variable vm-mime-display-function is set, then its value is called as a function with no arguments, and none of the actions mentioned in the preceding paragraphs are taken. At the time of the call, the current buffer will be the presentation buffer for the folder and a copy of the current message will be in the buffer. The function is expected to make the message `MIME presentable' to the user in whatever manner it sees fit." nil]) (defalias 'vm-decode-mime-layout #[(layout &optional dont-honor-c-d) "\306 \307\211\211\211\211\2118\310\216\3119!\204'9\312\313\"9\314!b\210\3159!@\227\316 \317\"@:\203\320\321 \"\203\3229\323\"\206M\3249\325\"\211\203\326\f!\211\203\320 \n\"\204\3279\nC\"\210\3309\331\n\331QC\"\210\3159!@\227\316 \317\"@\3329;\"\203\226\307\333\334\217\2044\307\335\336\217\2044\3379!\203\253\307\340\341\217\2044\307\342\343\217\2044\320\344 \"\203\301\307\345\346\217\2044\3479!\210\2024\350 !\203\333\3519!\203\333\2034\352\353\307#\210\2024\3549!\204\355 !\203\3569!\211\203\203\373\352\353\357#\210\360 !\210\2024\203\361\3629!\206\363\"\210\320 \364\"\203+\204&\3659\357\"\210\2024\307\2024\366\20629!\210\203<\367!\210.\357\207" [extent type-no-subtype type2 type file new-layout buffer-modified-p nil ((set-buffer-modified-p modified)) vectorp vm-extent-property vm-mime-layout vm-extent-start-position vm-mm-layout-type vm-parse "\\([^/]+\\)" vm-mime-types-match "application/octet-stream" vm-mime-get-disposition-parameter "filename" vm-mime-get-parameter "name" vm-mime-default-type-from-filename vm-set-mm-layout-type vm-set-mm-layout-qtype "\"" vm-mime-should-display-button (byte-code "\302\303P! !\207" [type layout intern "vm-mime-display-button-"] 3) ((void-function)) (byte-code "\302\303P! !\207" [type-no-subtype layout intern "vm-mime-display-button-"] 3) ((void-function)) vm-mime-should-display-internal (byte-code "\302\303P! !\207" [type layout intern "vm-mime-display-internal-"] 3) ((void-function)) (byte-code "\302\303P! !\207" [type-no-subtype layout intern "vm-mime-display-internal-"] 3) ((void-function)) "multipart" (byte-code "\302\303P! !\207" [type layout intern "vm-mime-display-internal-"] 3) ((void-function)) vm-mime-display-internal-multipart/mixed vm-mime-can-display-external vm-mime-display-external-generic vm-set-extent-property vm-mime-disposable vm-mm-layout-is-converted vm-mime-can-convert vm-mime-convert-undisplayable-layout t vm-decode-mime-layout vm-mime-rewrite-failed-button vm-mm-layout-display-error "no external viewer defined for type" "message/external-body" vm-mime-display-button-xxxx vm-mime-display-internal-application/octet-stream vm-mime-delete-button-maybe modified layout vm-infer-mime-types dont-honor-c-d] 7]) (defalias 'vm-mime-display-button-text #[(layout) "\301\302\"\207" [layout vm-mime-display-button-xxxx t] 3]) (defalias 'vm-mime-display-internal-text #[(layout) "\301!\207" [layout vm-mime-display-internal-text/plain] 2]) (defalias 'vm-mime-display-internal-text/html #[(layout) "\302\303!\203\203\304\305\306\217\207\307 \310\"\210\311\312\313 !\"\210\314\207" [vm-mime-use-w3-for-text/html layout fboundp w3-region error-data (byte-code "\306`\307\310\"\206\n\311\306\211\312\313!\210\314!\210\315 \316\f\n#\210\317 \f\n#\210\nb\210\320\321!\210\322\f\nS\"\210\nb\210\323\324!\210\325\326\f\n\327#\210)\nb\210\312\330!\210-\325\207" [layout buffer-size end charset start buffer-read-only nil vm-mime-get-parameter "charset" "us-ascii" message "Inlining text/html, be patient..." vm-mime-insert-mime-body point-marker vm-mime-transfer-decode-region vm-mime-charset-decode-region insert-before-markers "z" w3-region delete-char -1 t remove-text-properties (read-only nil) "Inlining text/html... done" inhibit-read-only] 5) ((error (byte-code "\302\303\304\305 !\"\"\210\306\307\310!\"\210\311\312!\210\313\207" [layout error-data vm-set-mm-layout-display-error format "Inline HTML display failed: %s" prin1-to-string message "%s" vm-mm-layout-display-error sleep-for 2 nil] 6))) vm-set-mm-layout-display-error "Need W3 to inline HTML" message "%s" vm-mm-layout-display-error nil] 4]) (defalias 'vm-mime-display-internal-text/plain #[(layout &optional no-highlighting) "`\306\211\211\307\310\"\206\f\311\312 !\204*\313 !\211\204*\314\315 P\"\210\306\202\316!\210\317 \320 \f#\210 \203A\321 \f#\322 \f#\210\204Q\323 \f\"\210\203{\204{\f Z\324V\211\203j\325\326!\210\327 \f#\210\203z\325\330!\210)\fb\210\331-\207" [layout charset buffer-read-only need-conversion end start nil vm-mime-get-parameter "charset" "us-ascii" vm-mime-charset-internally-displayable-p vm-mime-can-convert-charset vm-set-mm-layout-display-error "Undisplayable charset: " vm-mime-insert-mime-body point-marker vm-mime-transfer-decode-region vm-mime-charset-convert-region vm-mime-charset-decode-region vm-energize-urls-in-message-region 12000 message "Searching for paragraphs to fill..." vm-fill-paragraphs-containing-long-lines "Searching for paragraphs to fill... done" t no-highlighting needmsg] 8]) (defalias 'vm-mime-display-internal-text/enriched #[(layout) "\306\307!\210`\310\211\311\312\313\"\206\314\315\316!\210\317!\210\320 \321 \f#\210\322 \f#\210 b\210\323c\210\324\325\326\217\210\327 \f\"\210\fb\210\315\330!\210-\311\207" [layout charset enriched-verbose buffer-read-only end start require enriched nil t vm-mime-get-parameter "charset" "us-ascii" message "Decoding text/enriched, be patient..." vm-mime-insert-mime-body point-marker vm-mime-transfer-decode-region vm-mime-charset-decode-region "Comment: You should not see this header\n\n" errdata (enriched-decode start end) ((error (byte-code "\302\303\304 \"\"\210\305\306\307!\"\210\310\311!\207" [layout errdata vm-set-mm-layout-display-error format "enriched-decode signaled %s" message "%s" vm-mm-layout-display-error sleep-for 2] 5))) vm-energize-urls-in-message-region "Decoding text/enriched... done"] 7]) (defalias 'vm-mime-display-external-generic #[(layout) "\306\307\310!@!!\311\211 \203\312\202\n\203\312\202\313 \203#\312\202,\n\203+\312\202,\313\314\311\211\211\211\211\211<=>?@ABCD\315!\316N\211<@>!\203i\320>!\321=\204\347=\203u\322=!\2049E\203\253\311pFG\323\216\212\324 \211Gq\210\325!\210\326ed#\210\327\314!\210Fq\210`B\330G!\210\331 ,\202\274`B\325!\210\331 \326B #\210\332!\211\206\307\333!\334\335\"\206\323\336\337\"\340\f \"=\341=C!\210H\311\211IJH\342!?H\343\344!\203)\342!\203\344 \203\313\202\n\203 \313\202\345\311\"\210\202)\344 \203\312\202&\n\203%\312\202&\313\314\"\210\346B =\311\347%\210B |\210+D=K\211L\203d\350\351L@\"\203Q\311?L\352L@\"\240\210LA\211L\204E*\353\354\355\356D\357#\"\210DA\203\226\360\361\362\363\352\364!\"\"\311?\203\220\365D=C\"\202\222D$\202\276\360\361\362\363\352\364!\"\"\311M\206\250\366N?\203\272D@\357=QC\202\274D&>\367>\314\"\210\353\370\355\356D\357#\"\210O\203\333\371\372>\"\210\373\315!\316>=D#\210.\f\314\207" [layout vm-xemacs-mule-p vm-xemacs-file-coding-p basename suffix end copy-sequence vm-mime-find-external-viewer vm-mm-layout-type nil binary no-conversion t vm-mm-layout-cache vm-mime-display-external-generic processp process-status run file-exists-p ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer vm-mime-insert-mime-body vm-mime-transfer-decode-region set-buffer-multibyte insert-buffer-substring point-marker vm-mime-extract-filename-suffix vm-mime-find-filename-suffix-for-type vm-mime-get-disposition-parameter "filename" vm-mime-get-parameter "name" vm-make-tempfile vm-register-message-garbage-files vm-mime-text-type-layout-p fboundp set-buffer-file-coding-system raw-text write-region 0 string-match "\\([^%]\\|^\\)%f" vm-mime-sprintf message "Launching %s..." mapconcat identity " " apply start-process format "view %25s" vm-mime-find-format-for-layout append "sh" process-kill-without-query "Launching %s... done" vm-register-message-garbage delete-process put cache tempfile process append-file coding-system-for-write coding-system-for-read start buffer-read-only program-list vm-fsfemacs-mule-p target work-buffer buffer-file-type buffer-file-coding-system selective-display vm-mf-attachment-file p shell-file-name shell-command-switch vm-mime-delete-viewer-processes] 13]) (defalias 'vm-mime-display-internal-application/octet-stream #[(layout) "\306!\203\307\310\311\312\313!\"\314\307$\210*\202F\315!b\210\316\317\"\320\321\"?\2050\322\323\"\307\324\f\" \203E\307\307\325\326\217\210)*\327\207" [layout vm-mf-default-action buffer-read-only file default-filename vm-mime-delete-after-saving vectorp nil "save to a file" vm-mime-insert-button vm-mime-sprintf vm-mime-find-format-for-layout #[(layout) "\212\301!)\207" [layout vm-mime-display-internal-application/octet-stream] 2] vm-extent-start-position vm-extent-property vm-mime-layout vm-mime-get-disposition-parameter "filename" vm-mime-get-parameter "name" vm-mime-send-body-to-file (byte-code "\301\302!!\207" [file vm-delete-mime-object expand-file-name] 3) ((error)) t vm-mime-confirm-delete] 5]) (fset 'vm-mime-display-button-application/octet-stream 'vm-mime-display-internal-application/octet-stream) (defalias 'vm-mime-display-button-application #[(layout) "\301\302\"\207" [layout vm-mime-display-button-xxxx nil] 3]) (defalias 'vm-mime-display-button-image #[(layout) "\301\302\"\207" [layout vm-mime-display-button-xxxx t] 3]) (defalias 'vm-mime-display-button-audio #[(layout) "\301\302\"\207" [layout vm-mime-display-button-xxxx nil] 3]) (defalias 'vm-mime-display-button-video #[(layout) "\301\302\"\207" [layout vm-mime-display-button-xxxx t] 3]) (defalias 'vm-mime-display-button-message #[(layout) "\301\302\"\207" [layout vm-mime-display-button-xxxx t] 3]) (defalias 'vm-mime-display-button-multipart #[(layout) "\301\302\"\207" [layout vm-mime-display-button-xxxx t] 3]) (defalias 'vm-mime-display-internal-multipart/mixed #[(layout) "\302!\211\203\303 @!\210 A\211\204)\304\207" [layout part-list vm-mm-layout-parts vm-decode-mime-layout t] 3]) (defalias 'vm-mime-display-internal-multipart/alternative #[(layout) "\306 \304=\203S\306\211\211\211\307!\310 !\237 \203E \204E\311 @!@\312 @\313\"\2046\314\n!\203> @\313\202 A\211\204\f\206N\307!@,\202\316 \315=\203\274\306\211\211\211\211\307!\310 !\237\211\203\251 \204\251\311 @!@\312 @\313\"\203\223\316 @!\203\223 @\313\202\242\204\242\314\n!\203\242 @ A\211\204r\f\206\267\206\267\307!@-\202\316 :\203F @\317=\203F\306\211\310\307!!\237 A\306\211\211\2032 \2042\211\203) \204)\311 @!@\312 @\313\"\204\314\n!\203\"\320@\n\"\203 @\313\202\"\204\" @ A\211\204\360A\211\204\345\f\206@\206@\307!@.\202\316 :\203\316 @\321=\203\316\306\211\310\307!!\237 A\306\211\211\203\275 \204\275\211\203\264 \204\264\311 @!@\312 @\313\"\203\255\316 @!\203\255\320@\n\"\203\244 @\313\202\255\204\255 @ A\211\204zA\211\204o\f\206\313\206\313\307!@.\205\325\322!)\207" [best-layout vm-mime-alternative-select-method type part-list best done nil vm-mm-layout-parts copy-sequence vm-mm-layout-type vm-mime-can-display-internal t vm-mime-find-external-viewer best-internal vm-mime-should-display-internal favorite-internal vm-mime-types-match favorite vm-decode-mime-layout layout second-best favs saved-part-list] 8]) (defalias 'vm-mime-display-button-multipart/parallel #[(layout) "\301\302\303!\"\304\305$\207" [layout vm-mime-insert-button vm-mime-sprintf vm-mime-find-format-for-layout #[(layout) "\212\303\304\305\n\303\"+\207" [vm-auto-displayed-mime-content-type-exceptions vm-auto-displayed-mime-content-types layout t nil vm-decode-mime-layout] 3] t] 5]) (fset 'vm-mime-display-internal-multipart/parallel 'vm-mime-display-internal-multipart/mixed) (defalias 'vm-mime-display-internal-multipart/digest #[(layout) "\306!\203\307\310\311\312!\"\313\307$\210)\202y\314!b\210\315\316\"\317\320\321\322\n! @\211\323H\324H)#!q\210 \"\307#$\203I\325$\326!\"#\327#\"\210)p%\330\216\331\332!\210\333 \210\334 \203g\335 \210\336 \210*\307&\337'\206rp\340(C\341$\210\340\207" [layout buffer-read-only vm-mail-buffer vm-message-pointer message vm-default-folder-type vectorp nil vm-mime-insert-button vm-mime-sprintf vm-mime-find-format-for-layout #[(layout) "\212\301!)\207" [layout vm-mime-display-internal-multipart/digest] 2] vm-extent-start-position vm-extent-property vm-mime-layout generate-new-buffer format "digest from %s/%s" buffer-name 1 0 vm-summary-sprintf vm-mm-layout-message vm-mime-burst-layout ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) vm-goto-new-folder-frame-maybe folder vm-mode vm-should-generate-summary vm-goto-new-summary-frame-maybe vm-summarize vm-display t (vm-mode startup) vm-folder-type ident-header vm-digest-identifier-header-format vm-sbe-buffer buffer-offer-save vm-presentation-buffer this-command] 7]) (fset 'vm-mime-display-button-multipart/digest 'vm-mime-display-internal-multipart/digest) (defalias 'vm-mime-display-button-message/rfc822 #[(layout) "\302\303\304\305 ! \"\306 \302$)\207" [buffer-read-only layout nil vm-mime-insert-button vm-mime-sprintf vm-mime-find-format-for-layout #[(layout) "\212\301!)\207" [layout vm-mime-display-internal-message/rfc822] 2]] 5]) (fset 'vm-mime-display-button-message/news 'vm-mime-display-button-message/rfc822) (defalias 'vm-mime-display-internal-message/rfc822 #[(layout) "\306!\2030`\307\310\311!@!\210\312c\210\212\nb\210\313\307 \f#\210)\214\n`}\210\314 \210)\315!\210*\202\216\316!b\210\317\320\"\321\322\323\324 !$@\211%\325H\326H)#!q\210&\203X\327\307!\210'(\330\307\"\210\331\307!\210p)\332\216\333\334!\210\335 \210\336 \203|\337 \210\340 \210*\307*\341+\206\207p\342,C\343$\210\342\207" [layout buffer-read-only start vm-visible-headers vm-invisible-header-regexp vm-mail-buffer vectorp nil vm-mime-insert-mime-headers vm-mm-layout-parts 10 vm-reorder-message-headers vm-decode-mime-encoded-words vm-mime-display-internal-multipart/mixed vm-extent-start-position vm-extent-property vm-mime-layout generate-new-buffer format "message from %s/%s" buffer-name 1 0 set-buffer-multibyte vm-mime-burst-layout set-buffer-modified-p ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) vm-goto-new-folder-frame-maybe folder vm-mode vm-should-generate-summary vm-goto-new-summary-frame-maybe vm-summarize vm-display t (vm-mode startup) vm-message-pointer message vm-fsfemacs-mule-p vm-default-folder-type vm-folder-type vm-sbe-buffer buffer-offer-save vm-presentation-buffer this-command] 7]) (fset 'vm-mime-display-internal-message/news 'vm-mime-display-internal-message/rfc822) (defalias 'vm-mime-display-internal-message/delivery-status #[(layout) "\301\302\"\207" [layout vm-mime-display-internal-text/plain t] 3]) (defalias 'vm-mime-retrieve-external-body #[(layout) "\306\307\"\227p\211\310\230\203/\306\311\"\211\204\312\313\n\"\210\314 !\204'\312\315 \"\210\316\317\320\217)\202\n\321\230\203d\f\203d\306\321\"\322\305!\203G \202H\323\211.\204T\312\324\n\"\210\325.\326\".\327. \"*\202\n\330\230\204p\n\331\230\205\332\333!\204|\332\334!\205\306\311\"\306\335\"\306\336\"\337/01\211\204\231\312\313\n\"\2100\204\243\312\340\n\"\210\n\330\230\203\267\341\342\3430\"\344 \"/\202\272\345/\n\330\230\203\346\f\203\346\3271\203\327\3460\3471\347 \260\202\335\3460\347 R \"\203\346\350\2021\203\347/\3510\3521\2601\353 1\"\202\f\347/\3510\352 \260\316\354\355\217,*\207" [layout work-buffer access-method name vm-url-retrieval-methods w3-configuration-directory vm-mime-get-parameter "access-type" "local-file" "name" vm-mime-error "%s access type missing `name' parameter" file-exists-p "file %s does not exist" data (insert-file-contents name) ((error (byte-code "\301\302A\"\207" [data signal vm-mime-error] 3))) "url" boundp "~" "%s access type missing `url' parameter" vm-with-string-as-temp-buffer #[nil "eb\210\300\301\302\303#\205\304\305!\210\202\207" [re-search-forward "[ \n]" nil t delete-char -1] 4] vm-mime-fetch-url-with-programs "ftp" "anon-ftp" fboundp efs-file-handler-function ange-ftp-hook-function "directory" "site" nil "%s access type missing `site' parameter" read-string format "User name to access %s: " user-login-name "anonymous" "ftp:////" "/" t "@" ":" expand-file-name (insert-file-contents name) ((error (byte-code "\301\302\303\304A\"\"\207" [data signal vm-mime-error format "%s"] 5))) url user site directory] 8 "\ Fetch an external body into the current buffer. LAYOUT is the MIME layout struct for the message/external-body object."]) (defalias 'vm-mime-display-internal-message/external-body #[(layout) "\305!@\306\307\"\227\310\211\311\216 \312=\203-\313\f!\203-\314\313\f!\"\211\203-\n\202@\315\316\f!!\315\317\f!!=\203@\320\321\322\217\210)\f\205H\323\f!,\207" [layout work-buffer ob access-method child-layout vm-mm-layout-parts vm-mime-get-parameter "access-type" nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) "mail-server" vm-mm-layout-id vm-mime-find-leaf-content-id-in-layout-folder marker-buffer vm-mm-layout-header-start vm-mm-layout-body-start data (byte-code "\212\306\307\310\311!@\"!\211q\210\312\313!\203)\313\n\203\314\202& \203%\314\202&\315\316\"\210\f\317\230\204A\f\320\230\204A\f\321\230\204A\f\322\230\203H\323 !\210\202\234\f\324\230\203\227\325 \326\"\325 \327\",\211-\204c\330\331\f\"\210\332\307\333-\"!\204q\334\335!\210\336\307\337-\"-,#\210\340 \210\341!\210\342.\343 \210)\344\345!\210\346\347!\210*\202\234\330\350\f\"\210\203\306\342\351d\342/0\352 0/\223*\"\210\353e\342/0\352 0/\223*\"\210)\342\207" [child-layout work-buffer vm-xemacs-mule-p vm-xemacs-file-coding-p access-method layout vm-make-multibyte-work-buffer format "*%s mime object*" vm-mm-layout-type fboundp set-buffer-file-coding-system binary no-conversion t "ftp" "anon-ftp" "local-file" "url" vm-mime-retrieve-external-body "mail-server" vm-mime-get-parameter "server" "subject" vm-mime-error "%s access type missing `server' parameter" y-or-n-p "Send message to %s to retrieve external body? " error "Aborted" vm-mail-internal "mail to MIME mail server %s" mail-text vm-mime-insert-mime-body nil vm-mail-send message "Retrieval message sent. Retry viewing this object after the response arrives." sleep-for 2 "unsupported access method: %s" vm-set-mm-layout-body-end make-marker vm-set-mm-layout-body-start subject server vm-confirm-mail-send buffer pos] 6) ((vm-mime-error (byte-code "\303 A\"\210\304\304\207" [layout data child-layout vm-set-mm-layout-display-error nil] 3))) vm-decode-mime-layout] 4]) (defalias 'vm-mime-fetch-url-with-programs #[(url buffer) "\302>\203\303\304\305\217\203\306\202~\212 q\210\307 \210)\310>\203*\303\311\312\217\203*\306\202~\212 q\210\307 \210)\313>\203C\303\314\315\217\203C\306\202~\212 q\210\307 \210)\316>\203\\\303\317\320\217\203\\\306\202~\212 q\210\307 \210)\321>\203u\303\322\323\217\203u\306\202~\212 q\210\307 \210)\324\306=\205\215\212 q\210\325 \326U)?\207" [vm-url-retrieval-methods buffer wget data (byte-code "\303`` \304\305\306\n&\207" [buffer vm-wget-program url vm-run-command-on-region "-q" "-O" "-"] 9) ((error)) t erase-buffer w3m (byte-code "\303`` \304\n&\207" [buffer vm-w3m-program url vm-run-command-on-region "-dump_source"] 7) ((error)) fetch (byte-code "\303`` \304\305\n&\207" [buffer vm-fetch-program url vm-run-command-on-region "-o" "-"] 8) ((error)) curl (byte-code "\303`` \n%\207" [buffer vm-curl-program url vm-run-command-on-region] 6) ((error)) lynx (byte-code "\303`` \304\n&\207" [buffer vm-lynx-program url vm-run-command-on-region "-source"] 7) ((error)) nil buffer-size 0] 3]) (defalias 'vm-mime-internalize-local-external-bodies #[(layout) "\306\307\310!@\"\203\210\311\312\"\227\313\230\205\251\314\314\216\315!@\314GS\212\316\317\320\310\f!@\"!\211q\210\321!\210)\322\f!b\210\323 \324\325\326\217\210`\323 Z\\b\210`\327\f!W\203\\`\327\f!|\210\202b\330\f\331 \"\210\332!\322!|\210\n\333Y\203~\n\f\nHI\210\nS\211\202k, \205\206\334 !)\207\335\310!@!\203\250\315!\211\205\246\336 @!\210 A\211\204\231\314)\207\314\207" [layout work-buffer i oldsize child-layout p vm-mime-types-match "message/external-body" vm-mm-layout-type vm-mime-get-parameter "access-type" "local-file" nil vm-mm-layout-parts vm-make-multibyte-work-buffer format "*%s mime object*" vm-mime-retrieve-external-body vm-mm-layout-body-start buffer-size data (insert-buffer-substring work-buffer) ((error (byte-code "\301\302A\"\207" [data signal vm-mime-error] 3))) vm-mm-layout-body-end vm-set-mm-layout-body-end point-marker vm-mm-layout-header-start 0 kill-buffer vm-mime-composite-type-p vm-mime-internalize-local-external-bodies] 6]) (defalias 'vm-mime-display-internal-message/partial #[(layout) "\306!\203\307\310\311\312!\"\313\307$)\207\314\315!\210\307\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211@ABCDEFGHIJKH\316H\317\"\320\321\"\211G\204\\\322\323!\210\212\324\325!!q\210\212\214~\210eb\210\326G\307\327#\203\330 \211C\203\331C!F\306F!\203\f\332FG\"\211\203\f\320\n@\321\"\320\n@\333\"\211\203\314\334 !\211\335W\203\263\322\336 \"\210D\203\311D U\204\314\322\337 D#\210\202\314 D\320\n@\340\"\211\204\332\322\341!\210\334\f!\211\335W\203\351\322\342\f\"\210D\203\374\fDV\203\374\322\343\fD#\210\f\n@DKBK\nA\211\204\224\344F!b\210\202k+D\204\322\345!\210\346K\347\"K\350BK\n\203gB\n@@W\203ZBT\211B\n@@U\204PBJBJ\202,\nA\nA\211\202-A\nA\241\210\nA\211\2040BDW\203}BT\211BJBJ\202gJ\203\260\322\351JA\203\216\352\202\217\353\354\355\356\357JA\206\233J\"\237\360#JA\203\255\361J@P\202\256\353$\210\362\363!q\210L\203\276\364\307!\210MN\365K@A@!\210eb\210\366\307\211\367#\210db\210`@K\203\357\370K@A@!\210KA\211K\204\336@b\210\366\307\371\307#\210\372Ned#\210eb\210\373 c\210db\210\374 c\210\375\307!\210\314\376!\210pO\377\216\201S\201T!\210\201U \210\201V \2039\201W \210\201X \210*\307P\201YQ\206Fp\327RC\201Z$\210.\327\207" [layout buffer-read-only p-list p-total p-number p-id vectorp nil vm-mime-insert-button vm-mime-sprintf vm-mime-find-format-for-layout #[(layout) "\212\301!)\207" [layout vm-mime-display-internal-message/partial] 2] message "Assembling message..." vm-extent-property vm-mime-layout vm-mime-get-parameter "id" vm-mime-error "message/partial message missing id parameter" marker-buffer vm-mm-layout-body-start search-forward t vm-message-at-point vm-mm-layout vm-mime-find-message/partials "total" string-to-int 1 "message/partial specified part total < 1, %d" "message/partial specified total differs between parts, (%d != %d)" "number" "message/partial message missing number parameter" "message/partial part number < 1, %d" "message/partial part number greater than expected number of parts, (%d > %d)" vm-mm-layout-body-end "total number of parts not specified in any message/partial part" sort #[(p q) "@ @W\207" [p q] 2] 0 "part%s %s%s missing" "s" "" mapconcat identity mapcar int-to-string ", " " and " generate-new-buffer "assembled message" set-buffer-multibyte vm-mime-insert-mime-headers vm-reorder-message-headers "\\(Encrypted\\|Content-\\|MIME-Version\\|Message-ID\\|Subject\\|X-VM-\\|Status\\)" vm-mime-insert-mime-body ("Subject" "MIME-Version" "Content-" "Message-ID" "Encrypted") vm-munge-message-separators vm-leading-message-separator vm-trailing-message-separator set-buffer-modified-p "Assembling message... done" ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) part-header-pos prev i m total number o id extent work-buffer missing parts vm-fsfemacs-mule-p vm-default-folder-type vm-folder-type vm-sbe-buffer buffer-offer-save vm-presentation-buffer this-command vm-goto-new-folder-frame-maybe folder vm-mode vm-should-generate-summary vm-goto-new-summary-frame-maybe vm-summarize vm-display (vm-mode startup)] 17]) (fset 'vm-mime-display-button-message/partial 'vm-mime-display-internal-message/partial) (defalias 'vm-mime-display-internal-image-xxxx #[(layout image-type name) "\203\n\305 \n #\207\f\203\306\307!\203\310 \n #\207\f\205#\311 \n #\207" [vm-xemacs-p layout image-type name vm-fsfemacs-p vm-mime-display-internal-image-xemacs-xxxx fboundp image-type-available-p vm-mime-display-internal-image-fsfemacs-21-xxxx vm-mime-display-internal-image-fsfemacs-19-xxxx] 4]) (defalias 'vm-mime-display-internal-image-xemacs-xxxx #[(layout image-type name) "\306 \205 \307!\205 \310 \311\211\211\211\211 \311\312 \3116789:;\313\211\203\212\326\327\330\217\210\f\204\331\332?\"\210\333\334C\335\3369#B\334C\335\337\340\341\342?\"#B\311\335\337\340\341\343?\"#BE!8\331\344!\210\3458\346\"\210\347>\203\317\3508\351\"\210\352c\210\353 \354\355#\210\356`\357Z`S\"7\3607\303 #\210\3607\3618#\210\3607\362<#\210\3607\363\364#\210\3607\365\364#\210.\n\364\207" [image-type vm-mime-display-image-strips-incrementally buffer-read-only keymap do-strips incremental vm-images-possible-here-p vm-image-type-available-p point-marker nil make-sparse-keymap vm-mm-layout-cache vm-mime-display-internal-image-xxxx file-readable-p vm-mime-insert-mime-body vm-mime-transfer-decode-region vm-make-tempfile vm-register-folder-garbage-files write-region 0 put "\n" error-data (byte-code "\306\307\310\311!!\312_ \313\n%\314\211\211\211\313*+,\315\316\317#\210,@+,A\211,*\320,!\210`,\203\210\321\314\322\323\324 \204J,A\204P\314\325\202Q\326#BC!-\327c\210\330`\312Z`S\".\331.\332-#\210\331.\333\313#\210\331.\334#\210. B,A\211,\204;\335\f`\".\331.\333\313#\210\331.\336/#\210\331.\337\313#\210\331.\334#\210\212\340+!q\210\341\342!*L\210\341\343! L\210\341\344!0L\210\341\345! \237L\210)\n\203\331\346+\347\"\210\350+\351\"\210.\314\207" [tempfile image-type incremental first start extent-list vm-make-image-strips font-height face-font default 2 t nil define-key button3 vm-menu-popup-image-menu vm-register-message-garbage-files make-glyph vector string :data "+-----+" "|image|" " \n" vm-make-extent vm-set-extent-property begin-glyph start-open keymap make-extent vm-mime-layout vm-mime-disposable process-buffer make-local-variable vm-image-list vm-image-type vm-image-type-name vm-extent-list set-process-filter vm-process-filter-display-some-image-strips set-process-sentinel vm-process-sentinel-display-image-strips image-list process strips g e layout name] 7) ((vm-image-too-small (byte-code "\301\301\207" [do-strips nil] 1)) (error (byte-code "\302\303\"\210\304\304\207" [error-data do-strips message "Failed making image strips: %s" nil] 3))) message "Creating %s glyph..." make-glyph win vector :file string :data format "[Unknown/Bad %s image encoding]" "[%s image]\n" "" set-glyph-baseline 100 (xbm) set-glyph-face vm-monochrome-image " \n" define-key button3 vm-menu-popup-image-menu vm-make-extent 2 vm-set-extent-property begin-glyph vm-mime-layout vm-mime-disposable t start-open selective-display e g tempfile end start layout vm-imagemagick-convert-program vm-mime-use-image-strips name] 11]) (byte-code "\301B\301\207" [current-load-list vm-menu-fsfemacs-image-menu] 2) (defalias 'vm-mime-display-internal-image-fsfemacs-21-xxxx #[(layout image-type name) "\306 \205\370\307!\205\370\310\211\211\211\211\211 \310\211,-./\3110!\312N\211-\2035\313-!\204\213\314\216\212\315 \211,q\210`/\3160!\210\317 .\3200/.#\210\321 -1\203a\322\202k2\203j\322\202k\3233\324/.-\310\325%\210)\326\3110!\312-#\210)\327-C!\210)n\204\224\330\331\332\"\2104;\205\2345\211\203\246\333\334\335\217\210 \204\365\336\337\340-\257\341c\210\342`S`\343$\210\344\345!\210\3106\346`S`\310\345\310%6\3476\350\345#\210\3476\3510#\210\3476\352\345#\2107\203\364\3476\3538#\210). \345\207" [image-type vm-mime-display-image-strips-incrementally buffer-read-only do-strips incremental selective-display vm-images-possible-here-p vm-image-type-available-p nil vm-mm-layout-cache vm-mime-display-internal-image-xxxx file-readable-p ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer vm-mime-insert-mime-body point-marker vm-mime-transfer-decode-region vm-make-tempfile binary no-conversion write-region 0 put vm-register-folder-garbage-files insert-char 10 1 error-data (byte-code "\306\307 \310_ \311\n%\311\312\211\211\211\211 !\"\211#@#A\211#\313#!\210`!#\203i\"\204=#A\204F\312\"\314c\210\202I\315c\210\316`\317Z`\" \320 \321\311#\210 B\322c\210#A\211#\2042\316!`\312\311\312% \320 \323$#\210\320 \324\311#\210%\203\217\320 \325&#\210\212\326 !q\210\327\330!\fL\210\327\331! L\210\327\332!'L\210\327\333! \237L\210)\n\203\271\334 \335\"\210\336 \337\"\210.\312\207" [tempfile image-type incremental overlay-list image-list process vm-make-image-strips frame-char-height 2 t nil vm-register-message-garbage-files "+-----+" "|image|" make-overlay 7 overlay-put evaporate "\n" vm-mime-layout vm-mime-disposable vm-image process-buffer make-local-variable vm-image-list vm-image-type vm-image-type-name vm-overlay-list set-process-filter vm-process-filter-display-some-image-strips set-process-sentinel vm-process-sentinel-display-image-strips o start first strips layout vm-use-menus vm-menu-fsfemacs-image-menu name] 8) ((vm-image-too-small (byte-code "\301\301\207" [do-strips nil] 1)) (error (byte-code "\302\303\"\210\304\304\207" [error-data do-strips message "Failed making image strips: %s" nil] 3))) image :type :file "z" put-text-property display clear-image-cache t make-overlay overlay-put evaporate vm-mime-layout vm-mime-disposable vm-image work-buffer tempfile end start layout vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-write vm-imagemagick-convert-program vm-mime-use-image-strips o vm-use-menus vm-menu-fsfemacs-image-menu] 10]) (defalias 'vm-mime-display-internal-image-fsfemacs-19-xxxx #[(layout image-type name) "\301 \205\302!\205\303\304\215\207" [image-type vm-images-possible-here-p vm-image-type-available-p done (byte-code "\306\211\211\211\211\211\211\203$\307\310 \236A\311\310 \236A\312>\203\313 \202 \314\\\202)\307\310 \236A\307\310 \236A\315\310 \236A\316=\306\211\211\211\211\211\211\211\211\211\211:;<=>?@ABCDEFGHI\317J!\320N\211?\203\263\321?@!\203\263?@F?A@E\322?8<\323?8;\324?8:\325?8:\326 U\203\263 \327 U\203\263\330?8>\202%\331\216\212\332 \211Cq\210F\203\344\321F!\203\344\333F!\210eHd\306KL\334 LK\223*G\202\"`H\335J!\210\336 G\337JHG#\210\340 \211F\nBM\203\n\341\202N\203\341\202\342O\343HGF\306\314%\210)\344\345\346\217\211=@<=A@;\326 :\327 <:W\203I:\203M\325\326\"\210\327\n@\"\210 A\nA\202)\207" [g strips extents image-type type-name nil file-exists-p extent-live-p extent-object make-glyph win vector :file string :data format "[Unknown/Bad %s image encoding]" "[%s image]\n" set-glyph-baseline 50 (xbm) set-glyph-face vm-monochrome-image set-extent-begin-glyph] 10]) (defalias 'vm-display-image-strips-on-overlay-regions #[(strips overlays image-type) "\306\211\211\212\307 @!q\210\310 \214~\210\311\216\306\312\313!\203\"\314\202$\315 \205r\316 @!\205r\317@!\205r\312\313!\203L\320\321\322 @\323\324\257\202X\325\326\327!!\330 @\"\210\331\332@!\317@!\n $\210 AA\202$.\207" [omodified value prop vm-overlay-list buffer-read-only strips nil overlay-buffer buffer-modified-p ((set-buffer-modified-p omodified)) fboundp image-type-available-p display face file-exists-p overlay-end image :type :file :ascent 50 make-face make-symbol "" set-face-stipple put-text-property overlay-start overlays image-type] 7]) (defalias 'vm-process-filter-display-some-image-strips #[(process output) "\306\307\310\311\n#\203\312\313\314\n\"! B\307\225\202\212\315 !q\210\316\305!\203J\316\304!\203J\f \317 %,\202s\316\320!\205s\321@!\205s\316\304!\205s\f\322 $++\207" [i which-strips output process vm-image-list vm-extent-list nil 0 string-match "XZXX\\([0-9]+\\)XZXX" string-to-int match-string 1 process-buffer boundp vm-display-some-image-strips-on-extents vm-overlay-list overlay-buffer vm-display-some-image-strips-on-overlay-regions vm-image-type vm-image-type-name type-name image-type extents strips overlays] 6]) (defalias 'vm-display-some-image-strips-on-extents #[(strips extents image-type type-name which-strips) "\306\211\211 \205q @\f\233 @ \233 \203i\307 @!\203i\310@!\203i\311@!\203i\312\313C\314\315 @#B\313C\314\316\317\320\321\"#B\306\314\316\317\320\322\"#BE!\323\n\324\"\210\325>\203c\326\n\327\"\210\330@\n\"\210 A\211\204\n\306+\207" [eee sss g which-strips strips extents nil file-exists-p extent-live-p extent-object make-glyph win vector :file string :data format "[Unknown/Bad %s image encoding]" "[%s image]\n" set-glyph-baseline 50 (xbm) set-glyph-face vm-monochrome-image set-extent-begin-glyph image-type type-name] 11]) (defalias 'vm-display-some-image-strips-on-overlay-regions #[(strips overlays image-type which-strips) "\306\211\211\211\211\212\307 @!q\210\310 \214~\210\311\216\306\312\313!\203'\314\202)\315\205\206@\233@\233\f\203|\316\f@!\203|\317 @!\203|\312\313!\203c\320\321\322\f@\323\324\257\202o\325\326\327!!\330 \f@\"\210\331\332 @!\317 @!\n $\210A\211\204.\306. \207" [omodified value prop ooo sss vm-overlay-list nil overlay-buffer buffer-modified-p ((set-buffer-modified-p omodified)) fboundp image-type-available-p display face file-exists-p overlay-end image :type :file :ascent 50 make-face make-symbol "" set-face-stipple put-text-property overlay-start buffer-read-only which-strips strips overlays image-type] 8]) (defalias 'vm-mime-display-internal-image/gif #[(layout) "\301\302\303#\207" [layout vm-mime-display-internal-image-xxxx gif "GIF"] 4]) (defalias 'vm-mime-display-internal-image/jpeg #[(layout) "\301\302\303#\207" [layout vm-mime-display-internal-image-xxxx jpeg "JPEG"] 4]) (defalias 'vm-mime-display-internal-image/png #[(layout) "\301\302\303#\207" [layout vm-mime-display-internal-image-xxxx png "PNG"] 4]) (defalias 'vm-mime-display-internal-image/tiff #[(layout) "\301\302\303#\207" [layout vm-mime-display-internal-image-xxxx tiff "TIFF"] 4]) (defalias 'vm-mime-display-internal-image/xpm #[(layout) "\301\302\303#\207" [layout vm-mime-display-internal-image-xxxx xpm "XPM"] 4]) (defalias 'vm-mime-display-internal-image/pbm #[(layout) "\301\302\303#\207" [layout vm-mime-display-internal-image-xxxx pbm "PBM"] 4]) (defalias 'vm-mime-display-internal-image/xbm #[(layout) "\301\302\303#\207" [layout vm-mime-display-internal-image-xxxx xbm "XBM"] 4]) (defalias 'vm-mime-frob-image-xxxx #[(extent &rest convert-args) "\306\307\"\310 !\311N\312\312\312\n:\203\n@\202\n\313\216\212\314 \211q\210\315\316\f\317\312\320\321\211D\"&\322=\211\203Y\323ed\f\312\322%\210\n:\203Q\324\n\233\322\240\210\325\310 !\326\317#\210* \205f\327 \f\"\210\330!-\207" [extent layout blob success tempfile work-buffer vm-extent-property vm-mime-layout vm-mm-layout-cache vm-mime-display-internal-image-xxxx nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer apply call-process t append "-" 0 write-region 5 put vm-image-modified vm-mark-image-tempfile-as-message-garbage-once vm-mime-display-generic vm-imagemagick-convert-program convert-args] 11]) (defalias 'vm-mark-image-tempfile-as-message-garbage-once #[(layout tempfile) "\302!\303N?\205\304 C!\210\305\302!\303\306#\207" [layout tempfile vm-mm-layout-cache vm-message-garbage vm-register-message-garbage-files put t] 4]) (defalias 'vm-mime-rotate-image-left #[(extent) "\301\302\303#\207" [extent vm-mime-frob-image-xxxx "-rotate" "-90"] 4]) (defalias 'vm-mime-rotate-image-right #[(extent) "\301\302\303#\207" [extent vm-mime-frob-image-xxxx "-rotate" "90"] 4]) (defalias 'vm-mime-mirror-image #[(extent) "\301\302\"\207" [extent vm-mime-frob-image-xxxx "-flop"] 3]) (defalias 'vm-mime-brighten-image #[(extent) "\301\302\303#\207" [extent vm-mime-frob-image-xxxx "-modulate" "115"] 4]) (defalias 'vm-mime-dim-image #[(extent) "\301\302\303#\207" [extent vm-mime-frob-image-xxxx "-modulate" "85"] 4]) (defalias 'vm-mime-monochrome-image #[(extent) "\301\302\"\207" [extent vm-mime-frob-image-xxxx "-monochrome"] 3]) (defalias 'vm-mime-revert-image #[(extent) "\304\305\"\306 !\307N\310\n:\203\n@\202\n ;\203$\311\312 \"\210\313\306 !\314\310#\210\315!+\207" [extent layout blob tempfile vm-extent-property vm-mime-layout vm-mm-layout-cache vm-mime-display-internal-image-xxxx nil vm-error-free-call delete-file put vm-image-modified vm-mime-display-generic] 4]) (defalias 'vm-mime-larger-image #[(extent) "\305\306\"\307 !\310N\311\311\n:\203\n@\202\n\312\f!\313\314\315 @\316_!\317\315 A@\316_!Q#,\207" [extent layout blob dims tempfile vm-extent-property vm-mime-layout vm-mm-layout-cache vm-mime-display-internal-image-xxxx nil vm-get-image-dimensions vm-mime-frob-image-xxxx "-scale" int-to-string 2 "x"] 8]) (defalias 'vm-mime-smaller-image #[(extent) "\305\306\"\307 !\310N\311\311\n:\203\n@\202\n\312\f!\313\314\315 @\316\245!\317\315 A@\316\245!Q#,\207" [extent layout blob dims tempfile vm-extent-property vm-mime-layout vm-mm-layout-cache vm-mime-display-internal-image-xxxx nil vm-get-image-dimensions vm-mime-frob-image-xxxx "-scale" int-to-string 2 "x"] 8]) (defalias 'vm-mime-display-internal-audio/basic #[(layout) "\205z\306\307!\204\306\310!\205z\311 \204'\306\307!\205z ?\205z\312 \313>\205z\314 \315\211\211\211\316!\317N\211\204m\320!\210\314 \321 #\210\322 \323\fC!\210\324 \f\315\325%\210\326\316!\317\f#\210 |\210\327\330\331\315\332\fDE\333#\210-\334\207" [vm-xemacs-p native-sound-only-on-console buffer-read-only selective-display tempfile end featurep native-sound nas-sound device-sound-enabled-p device-type (x gtk) point-marker nil vm-mm-layout-cache vm-mime-display-internal-audio/basic vm-mime-insert-mime-body vm-mime-transfer-decode-region vm-make-tempfile vm-register-folder-garbage-files write-region 0 put start-itimer "audioplayer" lambda play-sound-file 1 t start layout] 6]) (defalias 'vm-mime-display-generic #[(layout) "\212\303\304\305\n\303\"+\207" [vm-auto-displayed-mime-content-type-exceptions vm-auto-displayed-mime-content-types layout t nil vm-decode-mime-layout] 3]) (defalias 'vm-mime-display-button-xxxx #[(layout disposable) "\302\303\304!\"\305 $\210\306\207" [layout disposable vm-mime-insert-button vm-mime-sprintf vm-mime-find-format-for-layout vm-mime-display-generic t] 5]) (defalias 'vm-find-layout-extent-at-point #[nil "\203/\306\211\211\211\307`!\211\203, \204,\310\f@\311\"\203%\312\f@\fA\211\204\n,\207 \2058\313`\306\311#\207" [vm-fsfemacs-p found retval o o-list vm-xemacs-p nil overlays-at overlay-get vm-mime-layout t extent-at] 5]) (defalias 'vm-mime-run-display-function-at-point #[(&optional function dispose) "\212\305 \306\211\204\306\202-\n\203 \206\307 \310\" !\202-\f\205- \206+\311 \310\" !+\207" [retval e vm-fsfemacs-p function vm-xemacs-p vm-find-layout-extent-at-point nil overlay-get vm-mime-function extent-property] 4 "\ Display the MIME object at point according to its type." nil]) (defalias 'vm-mime-reader-map-save-file #[nil "\303\212\304\305!) \203\303\303\306\307\217\210))\207" [file vm-mime-delete-after-saving vm-mime-confirm-delete nil vm-mime-run-display-function-at-point vm-mime-send-body-to-file (byte-code "\301\302!!\207" [file vm-delete-mime-object expand-file-name] 3) ((error))] 3 "\ Write the MIME object at point to a file." nil]) (defalias 'vm-mime-reader-map-save-message #[nil "\303\212\304\305!) \205\303\303\306\307\217))\207" [folder vm-mime-delete-after-saving vm-mime-confirm-delete nil vm-mime-run-display-function-at-point vm-mime-send-body-to-folder (vm-delete-mime-object folder) ((error))] 3 "\ Save the MIME object at point to a folder." nil]) (defalias 'vm-mime-reader-map-pipe-to-command #[nil "\300\301!\207" [vm-mime-run-display-function-at-point vm-mime-pipe-body-to-queried-command] 2 "\ Pipe the MIME object at point to a shell command." nil]) (defalias 'vm-mime-reader-map-pipe-to-printer #[nil "\300\301!\207" [vm-mime-run-display-function-at-point vm-mime-send-body-to-printer] 2 "\ Print the MIME object at point." nil]) (defalias 'vm-mime-reader-map-display-using-external-viewer #[nil "\300\301!\207" [vm-mime-run-display-function-at-point vm-mime-display-body-using-external-viewer] 2 "\ Display the MIME object at point with an external viewer." nil]) (defalias 'vm-mime-reader-map-display-using-default #[nil "\300\301!\207" [vm-mime-run-display-function-at-point vm-mime-display-body-as-text] 2 "\ Display the MIME object at point using the `default' face." nil]) (defalias 'vm-mime-reader-map-display-object-as-type #[nil "\300\301!\207" [vm-mime-run-display-function-at-point vm-mime-display-object-as-type] 2 "\ Display the MIME object at point as some other type." nil]) (byte-code "\301B\301\207" [current-load-list vm-menu-mime-dispose-menu] 2) (defalias 'vm-mime-set-image-stamp-for-type #[(e type) "\203 \304 \n\"\207 \205\305 \n\"\207" [vm-xemacs-p e type vm-fsfemacs-p vm-mime-xemacs-set-image-stamp-for-type vm-mime-fsfemacs-set-image-stamp-for-type] 3]) (defalias 'vm-mime-xemacs-set-image-stamp-for-type #[(e type) "\306 \205\202\307\310!\205\202\311 \312V\205\202\311 \313V\314\315\211\211\211\316\317\215\211\205;\2038\320 8\202; A@\211\205E\321 \"\211\205R\322\n!\205R\nJ\211\206h \205h\323\324\310\325\326 \"#\327D!\n\203w\322\n!\204w\n\fL\210\f\205\200\330\f\".\207" [vm-image-directory p sym file glyph tuples vm-images-possible-here-p vm-image-type-available-p xpm device-bitplanes 7 15 (("text" "document-simple.xpm" "document-colorful.xpm") ("image" "mona_stamp-simple.xpm" "mona_stamp-colorful.xpm") ("audio" "audio_stamp-simple.xpm" "audio_stamp-colorful.xpm") ("video" "film-simple.xpm" "film-colorful.xpm") ("message" "message-simple.xpm" "message-colorful.xpm") ("application" "gear-simple.xpm" "gear-colorful.xpm") ("multipart" "stuffed_box-simple.xpm" "stuffed_box-colorful.xpm")) nil done (byte-code "\203\302@@ \"\203\303\304@\"\210\202A\211\204\305\207" [tuples type vm-mime-types-match throw done nil] 4) 2 intern boundp make-glyph vector :file expand-file-name [nothing] set-extent-begin-glyph colorful dir vm-image-obarray e] 8]) (defalias 'vm-mime-fsfemacs-set-image-stamp-for-type #[(e type) "\306 \205z\307\310!\205z\311\312!\203\312 \313V\202\314\315\316\317\320\215\211\2055 \2032\321 8\2025 A@\211\205>\322 \f\"\211\205y\212\316\323#!q\210\324#!b\210\325c\210\326#`S\327#!#\210\330`S`\331\332\333\334\335\336\337\340 \236ABC\341\310\342 \257 $*,\207" [vm-image-directory file tuples colorful dir buffer-read-only vm-images-possible-here-p vm-image-type-available-p xpm fboundp display-planes 15 t (("text" "document-simple.xpm" "document-colorful.xpm") ("image" "mona_stamp-simple.xpm" "mona_stamp-colorful.xpm") ("audio" "audio_stamp-simple.xpm" "audio_stamp-colorful.xpm") ("video" "film-simple.xpm" "film-colorful.xpm") ("message" "message-simple.xpm" "message-colorful.xpm") ("application" "gear-simple.xpm" "gear-colorful.xpm") ("multipart" "stuffed_box-simple.xpm" "stuffed_box-colorful.xpm")) nil done (byte-code "\203\302@@ \"\203\303\304@\"\210\202A\211\204\305\207" [tuples type vm-mime-types-match throw done nil] 4) 2 expand-file-name overlay-buffer overlay-start "x" move-overlay overlay-end put-text-property display image :ascent 80 :color-symbols "background" background-color frame-parameters :type :file e] 14]) (defalias 'vm-mime-insert-button #[(caption action layout disposable) "`\306\306\307\310!\203\311 \203#\310\n\311 C\"\210\202#\312\n\311 \"n\204*\313c\210 \313\261\210\314K\315=\203A\315\f`\306\316\306%\202R\317\f`\"\320 \321\316#\210\320 \322\316#\210\323 \324 !@\"\210\325 \326\327#\210\325 \330\n#\210\325 \327\316#\210\325 \302\n#\210\325 \331\332#\210\325 \333\316#\210\325 \334!#\210\325 \335\"#\210\325 \336 #\210\325 \337##,\207" [vm-mime-reader-map buffer-read-only keymap e start caption nil fboundp set-keymap-parents current-local-map append "\n" vm-make-extent make-overlay t make-extent set-extent-property start-open end-open vm-mime-set-image-stamp-for-type vm-mm-layout-type vm-set-extent-property mouse-face highlight local-map balloon-help vm-mouse-3-help vm-button vm-mime-disposable face vm-mime-layout vm-mime-function layout disposable vm-mime-button-face action] 6]) (defalias 'vm-mime-rewrite-failed-button #[(button error-string) "\304`\305\n!b\210\306\307 \"c\210\310\n \311\n!#\210`\311\n!|*\207" [buffer-read-only start button error-string nil vm-extent-start-position format "DISPLAY FAILED -- %s\n" vm-set-extent-endpoints vm-extent-end-position] 5]) (defalias 'vm-mime-send-body-to-file #[(layout &optional default-filename file) "\306!\204 \307\310\" \204\311\312\" \203\313 !\314\211\n\314%&\204k \204k\315 \203:\316\317 \"\202;\320\f #&\321&\f\"&\322&!\204T\323\211\202+ \204^\324\325&\"\210\321 &\"&\323\211\203.\212\326\216'\203w\327\202\201(\203\200\327\202\201\330)\331 \211%q\210\314*\332!?+\333\334!\203\320\332!\203\271\334'\203\251\330\202\263(\203\262\330\202\263\335\314\"\210\202\320\334'\203\303\327\202\315(\203\314\327\202\315\330\323\"\210\336!\210\337ed#\210\340&!\203\353\341\342!\204\353\324\343!\210\314,\344ed&\314\211%\210)&.\207" [layout default-filename vm-mime-attachment-save-directory done dir use-dialog-box vectorp vm-extent-property vm-mime-layout vm-mime-get-disposition-parameter "filename" file-name-nondirectory nil read-file-name format "Write MIME body to file (default %s): " "Write MIME body to file: " expand-file-name file-directory-p t error "%s is a directory" ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) binary no-conversion vm-make-work-buffer vm-mime-text-type-layout-p fboundp set-buffer-file-coding-system raw-text vm-mime-insert-mime-body vm-mime-transfer-decode-region file-exists-p y-or-n-p "File exists, overwrite? " "Aborted" write-region work-buffer file vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read selective-display buffer-file-type jka-compr-compression-info-list] 7]) (defalias 'vm-mime-send-body-to-folder #[(layout &optional default-filename) "\306!\204 \307\310\"\311\312!@\311\313\n\314\"\204)\313\n\315\"\204)\316\f\"\202\256\212\317\216 \2034\320\202>!\203=\320\202>\321 \203F\320\202P!\203O\320\202P\321\"#\322 \211q\210\311$\323%\324\325!\203|\325 \203o\321\202y!\203x\321\202y\326\311\"\210\327!\210\330ed#\210eb\210\331\332!c\210db\210\333\332!c\210\334\311!\210\335\323!\210\323\211&'\336\337!*\340 \210 ,+\207" [layout file type work-buffer default-filename vm-xemacs-mule-p vectorp vm-extent-property vm-mime-layout nil vm-mm-layout-type vm-mime-types-match "message/rfc822" "message/news" vm-mime-send-body-to-file ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) binary no-conversion vm-make-work-buffer t fboundp set-buffer-file-coding-system raw-text vm-mime-insert-mime-body vm-mime-transfer-decode-region vm-leading-message-separator mmdf vm-trailing-message-separator set-buffer-modified-p vm-mode call-interactively vm-save-message vm-quit-no-change vm-xemacs-file-coding-p coding-system-for-write coding-system-for-read selective-display buffer-file-type vm-convert-folder-types vm-check-folder-types] 5]) (defalias 'vm-mime-pipe-body-to-command #[(command layout &optional discard-output) "\306!\204 \307\310\" \203\311\202\312\313!\314\212\315 !\203& q\210\316 \210\317\216\320 \314\nq\210 \2038\321\314!\210\322!\210\323ed#\210\205K \324=\325!?\205h\326!\203\\\327\202f\"\203e\327\202f\330BC\325!?#$\331ed%\206{\332\314 \314&'&\210,\315 !\203\253 q\210\333 \311U\204\242\334 \324(C\335$\210\202\253\334\314\211(C\336$\210+\324\207" [layout discard-output work-buffer output-buffer selective-display vm-fsfemacs-mule-p vectorp vm-extent-property vm-mime-layout 0 get-buffer-create "*Shell Command Output*" nil bufferp erase-buffer ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer set-buffer-multibyte vm-mime-insert-mime-body vm-mime-transfer-decode-region t vm-mime-text-type-layout-p "." binary no-conversion call-process-region "sh" buffer-size vm-display (vm-pipe-message-to-command) (vm-pipe-message-to-command) pop-up-windows vm-mutable-windows vm-xemacs-mule-p vm-xemacs-file-coding-p binary-process-input process-coding-system-alist shell-file-name shell-command-switch command this-command] 9]) (defalias 'vm-mime-pipe-body-to-queried-command #[(layout &optional discard-output) "\303\304!\305 \n#)\207" [command layout discard-output read-string "Pipe object to command: " vm-mime-pipe-body-to-command] 4]) (defalias 'vm-mime-pipe-body-to-queried-command-discard-output #[(layout) "\301\302\"\207" [layout vm-mime-pipe-body-to-queried-command t] 3]) (defalias 'vm-mime-send-body-to-printer #[(layout) "\303\304\305C \244\306#\n\"\207" [vm-print-command vm-print-command-switches layout vm-mime-pipe-body-to-command mapconcat identity " "] 5]) (defalias 'vm-mime-display-body-as-text #[(button) "\304\305\306\307\310\"!\311\312\313#\210\311\310 #\210\314 \315\"\210\316!b\210\317\313\"+\207" [button layout vm-auto-displayed-mime-content-type-exceptions vm-auto-displayed-mime-content-types ("text/plain") nil copy-sequence vm-extent-property vm-mime-layout vm-set-extent-property vm-mime-disposable t vm-set-mm-layout-type ("text/plain" "charset=us-ascii") vm-extent-start-position vm-decode-mime-layout] 6]) (defalias 'vm-mime-display-object-as-type #[(button) "\306\307\310\311\"\307\312\313!\314 !\315\311\n#\210\316\n! \240\210\317!b\210\320\306\"-\207" [button type layout old-layout vm-auto-displayed-mime-content-type-exceptions vm-auto-displayed-mime-content-types t nil vm-extent-property vm-mime-layout read-string "View as MIME type: " copy-sequence vm-set-extent-property vm-mm-layout-type vm-extent-start-position vm-decode-mime-layout] 6]) (defalias 'vm-mime-display-body-using-external-viewer #[(button) "\303\304\"\305\306!b\210\307\310\n!@!\204\311\312\310\n!@\"\202\"\313\n!*\207" [button vm-mime-external-content-type-exceptions layout vm-extent-property vm-mime-layout nil vm-extent-start-position vm-mime-find-external-viewer vm-mm-layout-type error "No viewer defined for type %s" vm-mime-display-external-generic] 4]) (defalias 'vm-mime-convert-body-then-display #[(button) "\302\303\304\"!\211\205 \305\306\307#\210\305\304 #\210\310!b\210\311\307\")\207" [button layout vm-mime-convert-undisplayable-layout vm-extent-property vm-mime-layout vm-set-extent-property vm-mime-disposable t vm-extent-start-position vm-decode-mime-layout] 5]) (defalias 'vm-mime-get-button-layout #[(e) "\300\301!\207" [vm-mime-run-display-function-at-point #[(e) "\301\302\"\207" [e vm-extent-property vm-mime-layout] 3]] 2]) (defalias 'vm-mime-scrub-description #[(string) "\302\212\303\216\304 \211q\210 c\210\305\306\302\307#\203\310\311!\210\202\312 +\207" [work-buffer string nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer re-search-forward "[ \n]+" t replace-match " " buffer-string] 5]) (defalias 'vm-mime-layout-contains-type #[(layout type) "\305\306 !@\"\203\f \207\307 !\310\211\f\2032\n\2042\311\f@\"\211\203+\312\202\fA\211\204 +\207" [type layout done result p vm-mime-types-match vm-mm-layout-type vm-mm-layout-parts nil vm-mime-layout-contains-type t] 5]) (defalias 'vm-mime-find-digests-in-layout #[(layout) "C\304\211\211\2037\305 @!@\306\307\n\"\203! @C\244\2020\310\n!\2030 \311\312 @!!\244 A\211\204 +\207" [layout result layout-type layout-list nil vm-mm-layout-type string-match "^multipart/digest\\|message/\\(rfc822\\|news\\)" vm-mime-composite-type-p copy-sequence vm-mm-layout-parts] 5]) (defalias 'vm-mime-plain-message-p #[(m) "\305 \306\216\307 !\310\311 !\312=\205:\313 !?\206:\314\315\316 !@\"\205:\317 \320\"\206,\321\322\f!)\205:\323\324\325 !\",\207" [save-match-data-internal m case-fold-search o charset match-data ((set-match-data save-match-data-internal)) vm-mm-layout t vm-mm-encoded-header none vectorp vm-mime-types-match "text/plain" vm-mm-layout-type vm-mime-get-parameter "charset" "us-ascii" vm-mime-default-face-charset-p string-match "^\\(7bit\\|8bit\\|binary\\)$" vm-mm-layout-encoding] 4]) (defalias 'vm-mime-text-type-p #[(type) "\302\303\304 \"\206 \303\305 \")\207" [case-fold-search type t string-match "^text/" "^message/"] 3]) (defalias 'vm-mime-text-type-layout-p #[(layout) "\301\302\303!@\"\206\301\304\303!@\"\207" [layout vm-mime-types-match "text" vm-mm-layout-type "message"] 4]) (defalias 'vm-mime-charset-internally-displayable-p #[(name) "\203\306 \307>\203\310 \n\"\206>\311 !\207 \203+\f\312>\203+\310 \n\"\206>\311 !\207\313 \203;\311 !\206>\310 \"\207\311 !\207" [vm-xemacs-mule-p name vm-mime-mule-charset-to-coding-alist vm-fsfemacs-mule-p window-system vm-mime-charset-font-alist device-type (x gtk mswindows) vm-string-assoc vm-mime-default-face-charset-p (x mac win32 w32) vm-multiple-fonts-possible-p] 3]) (defalias 'vm-mime-default-face-charset-p #[(charset) "\303=\204:\205\304 \"\205\304 \n\"?\207" [vm-mime-default-face-charsets charset vm-mime-default-face-charset-exceptions t vm-string-member] 3]) (defalias 'vm-mime-find-message/partials #[(layout id) "\306\307!\310\307!@!\2032\311!\306\211\203.\312\f@ \"\211\203' \n\244\fA\211\204*\202G\313\314 @\"\203G\315\316\" \232\203G\nB\n*\207" [layout type list o parts id nil vm-mm-layout-type vm-mime-composite-type-p vm-mm-layout-parts vm-mime-find-message/partials vm-mime-types-match "message/partial" vm-mime-get-parameter "id"] 4]) (defalias 'vm-mime-find-leaf-content-id-in-layout-folder #[(layout id) "\212\214\305\211\306\n!\211\307H\310HJ)\211\307H\311H)q\210~\210eb\210\312\f\305\313#\203G\314 \211\203G\315 !\316!\203\317\f\"\211\203db\210\202,\207" [o m layout message id nil vm-mm-layout-message 1 5 9 search-forward t vm-message-at-point vm-mm-layout vectorp vm-mime-find-leaf-content-id] 5]) (defalias 'vm-mime-find-leaf-content-id #[(layout id) "\303\304!\305\306\215*\207" [layout type list nil vm-mm-layout-type done (byte-code "\304\305!@!\203,\306!\307\211\205*\310\n@ \"\211\203\"\311\312 \"\210\nA\211\204\307*\207\313! \232\2058\311\312\"\207" [layout o parts id vm-mime-composite-type-p vm-mm-layout-type vm-mm-layout-parts nil vm-mime-find-leaf-content-id throw done vm-mm-layout-id] 4)] 3]) (defalias 'vm-message-at-point #[nil "`\305 \2036 \2046\n @\211\306H\306H)Y\203/\n @\211\306H\307H)X\203/\310\202 A\211\204\n @+\207" [vm-message-list done point mp message nil 0 5 t] 4]) (defalias 'vm-mime-make-multipart-boundary #[nil "\303\304\305\"\306\307\310!\210 GW\203) \n\311\312\307 \313\"!\nG\246HI\210T\211\202\f *\207" [i boundary vm-mime-base64-alphabet make-string 10 97 0 random t vm-abs lsh -8] 8]) (defalias 'vm-mime-extract-filename-suffix #[(layout) "\304\305\"\206 \306\307\"\310\211\211\203\"\311\312 \"\203\" \313\224\313\225O\n+\207" [layout i suffix filename vm-mime-get-disposition-parameter "filename" vm-mime-get-parameter "name" nil string-match "\\.[^.]+$" 0] 4]) (defalias 'vm-mime-find-filename-suffix-for-type #[(layout) "\305!@\306 \n\203'\307\n@@\f\"\203 \n@A\306\211\202\n\nA\211\204 +\207" [layout vm-mime-attachment-auto-suffix-alist alist suffix type vm-mm-layout-type nil vm-mime-types-match] 4]) (defalias 'vm-mime-attach-file #[(file type &optional charset description no-suggested-filename) "\204\305\306!\210\307 !\203\305\310 \"\210\311 !\204\305\312 \"\210\313 !\204)\305\314 \"\210\n\2032\315\nPC \203:\316 !\317 \f\n \320%\207" [vm-send-using-mime file charset description type error "MIME attachments disabled, set vm-send-using-mime non-nil to enable." file-directory-p "%s is a directory, cannot attach" file-exists-p "No such file: %s" file-readable-p "You don't have permission to read %s" "charset=" vm-mime-scrub-description vm-mime-attach-object nil] 6 "\ Attach a file to a VM composition buffer to be sent along with the message. The file is not inserted into the buffer and MIME encoded until you execute `vm-mail-send' or `vm-mail-send-and-exit'. A visible tag indicating the existence of the attachment is placed in the composition buffer. You can move the attachment around or remove it entirely with normal text editing commands. If you remove the attachment tag, the attachment will not be sent. First argument, FILE, is the name of the file to attach. Second argument, TYPE, is the MIME Content-Type of the file. Optional third argument CHARSET is the character set of the attached document. This argument is only used for text types, and it is ignored for other types. Optional fourth argument DESCRIPTION should be a one line description of the file. Nil means include no description. Optional fifth argument NO-SUGGESTED-FILENAME non-nil means that VM should not add a filename to the Content-Disposition header created for the object. When called interactively all arguments are read from the minibuffer. This command is for attaching files that do not have a MIME header section at the top. For files with MIME headers, you should use vm-mime-attach-mime-file to attach such a file. VM will extract the content type information from the headers in this case and not prompt you for it in the minibuffer." (let ((last-command last-command) (this-command this-command) (charset nil) description file default-type type) (if (null vm-send-using-mime) (error "MIME attachments disabled, set vm-send-using-mime non-nil to enable.")) (setq file (vm-read-file-name "Attach file: " nil nil t) default-type (or (vm-mime-default-type-from-filename file) "application/octet-stream") type (completing-read (format "Content type (default %s): " default-type) vm-mime-type-completion-alist) type (if (> (length type) 0) type default-type)) (if (vm-mime-types-match "text" type) (setq charset (completing-read "Character set (default US-ASCII): " vm-mime-charset-completion-alist) charset (if (> (length charset) 0) charset))) (setq description (read-string "One line description: ")) (if (string-match "^[ ]*$" description) (setq description nil)) (list file type charset description nil))]) (defalias 'vm-mime-attach-mime-file #[(file type) "\204\303\304!\210\305 !\203\303\306 \"\210\307 !\204\303\310 \"\210\311 !\204)\303\312 \"\210\313 \n\314\211\315%\207" [vm-send-using-mime file type error "MIME attachments disabled, set vm-send-using-mime non-nil to enable." file-directory-p "%s is a directory, cannot attach" file-exists-p "No such file: %s" file-readable-p "You don't have permission to read %s" vm-mime-attach-object nil t] 6 "\ Attach a MIME encoded file to a VM composition buffer to be sent along with the message. The file is not inserted into the buffer until you execute vm-mail-send or vm-mail-send-and-exit. A visible tag indicating the existence of the attachment is placed in the composition buffer. You can move the attachment around or remove it entirely with normal text editing commands. If you remove the attachment tag, the attachment will not be sent. The first argument, FILE, is the name of the file to attach. When called interactively the FILE argument is read from the minibuffer. The second argument, TYPE, is the MIME Content-Type of the object. This command is for attaching files that have a MIME header section at the top. For files without MIME headers, you should use vm-mime-attach-file to attach the file." (let ((last-command last-command) (this-command this-command) file type) (if (null vm-send-using-mime) (error "MIME attachments disabled, set vm-send-using-mime non-nil to enable.")) (setq file (vm-read-file-name "Attach file: " nil nil t) default-type (or (vm-mime-default-type-from-filename file) "application/octet-stream") type (completing-read (format "Content type (default %s): " default-type) vm-mime-type-completion-alist) type (if (> (length type) 0) type default-type)) (list file type))]) (defalias 'vm-mime-attach-buffer #[(buffer type &optional charset description) "\305!\211\204 \306\307\"\210 \204\306\310!\210\n\203\311\nPC \203&\312 !\313\f\n \314%\207" [buffer vm-send-using-mime charset description type get-buffer error "Buffer %s does not exist." "MIME attachments disabled, set vm-send-using-mime non-nil to enable." "charset=" vm-mime-scrub-description vm-mime-attach-object nil] 6 "\ Attach a buffer to a VM composition buffer to be sent along with the message. The buffer contents are not inserted into the composition buffer and MIME encoded until you execute `vm-mail-send' or `vm-mail-send-and-exit'. A visible tag indicating the existence of the attachment is placed in the composition buffer. You can move the attachment around or remove it entirely with normal text editing commands. If you remove the attachment tag, the attachment will not be sent. First argument, BUFFER, is the buffer or name of the buffer to attach. Second argument, TYPE, is the MIME Content-Type of the file. Optional third argument CHARSET is the character set of the attached document. This argument is only used for text types, and it is ignored for other types. Optional fourth argument DESCRIPTION should be a one line description of the file. Nil means include no description. When called interactively all arguments are read from the minibuffer. This command is for attaching files that do not have a MIME header section at the top. For files with MIME headers, you should use vm-mime-attach-mime-file to attach such a file. VM will extract the content type information from the headers in this case and not prompt you for it in the minibuffer." (let ((last-command last-command) (this-command this-command) (charset nil) description file default-type type buffer buffer-name) (if (null vm-send-using-mime) (error "MIME attachments disabled, set vm-send-using-mime non-nil to enable.")) (setq buffer-name (read-buffer "Attach buffer: " nil t) default-type (or (vm-mime-default-type-from-filename buffer-name) "application/octet-stream") type (completing-read (format "Content type (default %s): " default-type) vm-mime-type-completion-alist) type (if (> (length type) 0) type default-type)) (if (vm-mime-types-match "text" type) (setq charset (completing-read "Character set (default US-ASCII): " vm-mime-charset-completion-alist) charset (if (> (length charset) 0) charset))) (setq description (read-string "One line description: ")) (if (string-match "^[ ]*$" description) (setq description nil)) (list buffer-name type charset description))]) (defalias 'vm-mime-attach-message #[(message &optional description) "\204\306\307!\210 :\204\310\311! \211\312H\313HJ)\211\211\312H\314H)\212\nq\210 \2030\315\316!\210\317\f \211\320H\312H) \211\320H\321H)#\210eb\210\322\316\211/#\210)0\203Z\3230!0\324\n\325\3160\316%\210\326\327!\210\3301 C\331\332\333\316\334\335p\336E\337\nDEE\"+\207\310\340!\3162\212\nq\210\341 34\342$2eb\210\343c\2105\203\243\344\202\244\3452\346\261\210\347\350`d\"\351\261\210)0\203\277\3230!0\324\n\352\3532\354QC\316\342%\210\326\327!\210\3301\355 !\331\332\333\316\334\335p\356E\337\nDEE\"*\207" [vm-send-using-mime message buf m folder vm-fsfemacs-mule-p error "MIME attachments disabled, set vm-send-using-mime non-nil to enable." generate-new-buffer "*attached message*" 1 5 9 set-buffer-multibyte nil vm-insert-region-from-buffer 0 4 vm-reorder-message-headers vm-mime-scrub-description vm-mime-attach-object "message/rfc822" make-local-variable vm-forward-list forwarding add-hook kill-buffer-hook lambda if eq (current-buffer) kill-buffer "*attached messages*" vm-mime-encapsulate-messages t "MIME-Version: 1.0\n" "Content-Type: multipart/digest; boundary=\"" "Content-Type: multipart/digest;\n boundary=\"" "\"\n" "Content-Transfer-Encoding: " vm-determine-proper-content-transfer-encoding "\n\n" "multipart/digest" "boundary=\"" "\"" copy-sequence (current-buffer) vm-internal-unforwarded-header-regexp description vm-system-state boundary vm-mime-digest-headers vm-mime-digest-discard-header-regexp vm-mime-avoid-folding-content-type] 9 "\ Attach a message from a folder to a VM composition buffer to be sent along with the message. The message is not inserted into the buffer and MIME encoded until you execute `vm-mail-send' or `vm-mail-send-and-exit'. A visible tag indicating the existence of the attachment is placed in the composition buffer. You can move the attachment around or remove it entirely with normal text editing commands. If you remove the attachment tag, the attachment will not be sent. First argument, MESSAGE, is either a VM message struct or a list of message structs. When called interactively a message number is read from the minibuffer. The message will come from the parent folder of this composition. If the composition has no parent, the name of a folder will be read from the minibuffer before the message number is read. If this command is invoked with a prefix argument, the name of a folder is read and that folder is used instead of the parent folder of the composition. If this command is invoked on marked message (via `vm-next-command-uses-marks') the marked messages in the selected folder will be attached as a MIME message digest. Optional second argument DESCRIPTION is a one-line description of the message being attached. This is also read from the minibuffer if the command is run interactively." (let ((last-command last-command) (this-command this-command) (result 0) mlist mp default prompt description folder) (if (null vm-send-using-mime) (error "MIME attachments disabled, set vm-send-using-mime non-nil to enable.")) (cond ((or current-prefix-arg (null vm-mail-buffer) (not (buffer-live-p vm-mail-buffer))) (let ((dir (if vm-folder-directory (expand-file-name vm-folder-directory) default-directory)) file) (let ((last-command last-command) (this-command this-command)) (setq file (read-file-name "Attach message from folder: " dir nil t))) (save-excursion (set-buffer (let ((coding-system-for-read (vm-binary-coding-system))) (find-file-noselect file))) (setq folder (current-buffer)) (vm-mode) (setq mlist (vm-select-marked-or-prefixed-messages 0))))) (t (setq folder vm-mail-buffer) (save-excursion (set-buffer folder) (setq mlist (vm-select-marked-or-prefixed-messages 0))))) (if (null mlist) (save-excursion (set-buffer folder) (setq default (and vm-message-pointer (vm-number-of (car vm-message-pointer))) prompt (if default (format "Yank message number: (default %s) " default) "Yank message number: ")) (while (zerop result) (setq result (read-string prompt)) (and (string= result "") default (setq result default)) (setq result (string-to-int result))) (if (null (setq mp (nthcdr (1- result) vm-message-list))) (error "No such message.")))) (setq description (read-string "Description: ")) (if (string-match "^[ ]*$" description) (setq description nil)) (list (or mlist (car mp)) description))]) (defalias 'vm-mime-attach-object-from-message #[(composition) "\204\306\307!\210\310 \210\311 \210\312\211\211\211\211\211%\313 \211%\205(\314%\315\"\316\216 \2045\306\317!\202\221\212\320 \211q\210\321 !\210\322c\210`\323 !\210\324 \nd#\210eb\210\325\312\211\326#\210\327c\210&q\210\330\f\331 !@\331 !A\332 !\333%\210\334&!\211\203}\335 `\"\210\f\312\336\337\340\312\341\342p\343E\344 DEE\").\207" [vm-send-using-mime w start buf work-buffer layout error "MIME attachments disabled, set vm-send-using-mime non-nil to enable." vm-check-for-killed-summary vm-error-if-folder-empty nil vm-find-layout-extent-at-point vm-extent-property vm-mime-layout ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) "No MIME object found at point." vm-make-work-buffer vm-mime-insert-mime-headers "\n" vm-mime-insert-mime-body vm-mime-transfer-decode-region vm-reorder-message-headers "Content-Transfer-Encoding:" "Content-Transfer-Encoding: binary" vm-mime-attach-object vm-mm-layout-type vm-mm-layout-description t vm-get-buffer-window set-window-point add-hook kill-buffer-hook lambda if eq (current-buffer) kill-buffer e composition] 9 "\ Attach a object from the current message to a VM composition buffer. The object is not inserted into the buffer and MIME encoded until you execute `vm-mail-send' or `vm-mail-send-and-exit'. A visible tag indicating the existence of the object is placed in the composition buffer. You can move the object around or remove it entirely with normal text editing commands. If you remove the object tag, the object will not be sent. First argument COMPOSITION is the buffer into which the object will be inserted. When this function is called interactively COMPOSITION's name will be read from the minibuffer." (let ((last-command last-command) (this-command this-command)) (list (read-buffer "Attach object to buffer: " (vm-find-composition-buffer) t)))]) (defalias 'vm-mime-attach-object #[(object type params description mimed &optional no-suggested-filename) "\306=\204\n\307\310!\210\311\312!\203\307\313!\210\314\211\211\211\211 C45`\212\315 \210`)W\2031\315 \210`5\316\31767\206>\320#\211\321\261\210`S46;\203\2008\204\200\322\3237\"\204d\322\3247\"\203j\325C\202m\326C9\204\203 \327\3306!\331QC\244\202\203\332C:\203\352\33354\334\314$\210\33354\335\336$\210\33354\337;$\210\33354\340\n$\210\33354\3417$\210\33354\3426$\210\33354\343<$\210\33354\344=$\210\33354\345 $\210\33354\3468$\202_>\205_\34754\"\350 7\206\376\351\"\210\352 \353\336#\210\352 \337;#\210\352 \354\336#\210\355 1?\203#\3561\357\360#\210\352 \3611#\210\352 \362\363#\210)\352 \340\n#\210\352 \3417#\210\352 \3426#\210\352 \343<#\210\352 \344=#\210\352 \345 #\210\352 \3468#.\207" [major-mode vm-mime-forward-local-external-bodies fb disposition tag-string e mail-mode error "Command must be used in a VM Mail mode buffer." vm-mail-mode-get-header-contents "MIME-Version" "Can't attach MIME object to already encoded MIME buffer." nil mail-text format "[ATTACHMENT %s, %s]" "MIME file" "\n" vm-mime-types-match "application" "model" "attachment" "inline" "filename=\"" file-name-nondirectory "\"" "unspecified" put-text-property front-sticky rear-nonsticky t face vm-mime-forward-local-refs vm-mime-type vm-mime-object vm-mime-parameters vm-mime-description vm-mime-disposition vm-mime-encoded make-extent vm-mime-set-image-stamp-for-type "text/plain" set-extent-property start-open duplicable make-sparse-keymap define-key button3 vm-menu-popup-attachment-menu keymap balloon-help vm-mouse-3-help end start object type mimed no-suggested-filename vm-fsfemacs-p vm-mime-button-face params description vm-xemacs-p vm-popup-menu-on-mouse-3] 7]) (defalias 'vm-mime-attachment-forward-local-refs-at-point #[nil "\203 \304`\305\"\211@)\207\n\205\306`\307\310#\311 \305\"\211@*\207" [vm-fsfemacs-p fb vm-xemacs-p e get-text-property vm-mime-forward-local-refs extent-at nil vm-mime-type extent-property] 5]) (defalias 'vm-mime-set-attachment-forward-local-refs-at-point #[(val) "\203\305`\306\"\211\n\240)\207 \205!\307`\310\311#\312\f\306\"\211\n\240*\207" [vm-fsfemacs-p fb val vm-xemacs-p e get-text-property vm-mime-forward-local-refs extent-at nil vm-mime-type extent-property] 5]) (defalias 'vm-mime-attachment-disposition-at-point #[nil "\203\304`\305\"\306 @!)\207\n\205#\307`\310\305#\311 \305\"\306 @!*\207" [vm-fsfemacs-p disp vm-xemacs-p e get-text-property vm-mime-disposition intern extent-at nil extent-property] 4]) (defalias 'vm-mime-set-attachment-disposition-at-point #[(sym) "\203\305`\306\"\211\307\n!\240)\207 \205%\310`\311\306#\312\f\306\"\211\307\n!\240*\207" [vm-fsfemacs-p disp sym vm-xemacs-p e get-text-property vm-mime-disposition symbol-name extent-at nil extent-property] 5]) (defalias 'vm-disallow-overlay-endpoint-insertion #[(overlay after start end &optional old-size) "\204\304\207 \305\n!U\203\306\n \307\n!#\207 \307\n!U\205%\306\n\305\n! #\207" [after start overlay end nil overlay-start move-overlay overlay-end] 5]) (defalias 'vm-mime-fake-attachment-overlays #[(start end) "\306\211\306\211\211\212\214}\210 \204c\307\f\310\"\311\f\310\"\211\204*d\312 \203^\313\f\"\314 \315\316#\210\314 \317\320#\210\321!\211\203X\314 \n@\nA@#\210\nAA\211\204G B\f\202.\207" [start o props object pos done nil get-text-property vm-mime-object next-single-property-change t make-overlay overlay-put insert-in-front-hooks (vm-disallow-overlay-endpoint-insertion) insert-behind-hooks (vm-disallow-overlay-endpoint-insertion) text-properties-at o-list end] 7]) (defalias 'vm-mime-default-type-from-filename #[(file) "\305\306 \203# \204#\307 @@\f\"\203\305\202 A\211\204\n \205* @A+\207" [vm-mime-attachment-auto-type-alist done case-fold-search alist file t nil string-match] 4]) (defalias 'vm-remove-mail-mode-header-separator #[nil "\212eb\210\301\302\303Q\304\305#\205\306\224\306\225|\210\305)\207" [mail-header-separator re-search-forward "^" "$" nil t 0] 4]) (defalias 'vm-add-mail-mode-header-separator #[nil "\212eb\210\301\302\303\304#\205\305\304\211#)\207" [mail-header-separator re-search-forward "^$" nil t replace-match] 4]) (defalias 'vm-mime-transfer-encode-region #[(encoding beg end crlf) "\306\205\307\212\nb\210\310\311\307\306#*\307\212\nb\210\310\312\307\306#*\313\314 \"\2034\315\n#\210\316\202\213\f\204C \204C\313\317 \"\204\213\313\320 \"\204\213\313\321 \"\204\213\322=\203e\323\n\307\f$\210\324\202\213\325=\203y\315\n#\210\316\202\213\f\204\201 \203\213\323\n\307\f$\210\324 \227+\207" [vm-mime-composition-armor-from-lines case-fold-search beg armor-dot armor-from encoding t nil re-search-forward "^From " "^\\.\n" string-match "^binary$" vm-mime-base64-encode-region "base64" "^7bit$" "^base64$" "^quoted-printable$" quoted-printable vm-mime-qp-encode-region "quoted-printable" base64 end crlf vm-mime-8bit-text-transfer-encoding] 6]) (defalias 'vm-mime-transfer-encode-layout #[(layout) "\305!\306!@\307 \310 !\2038 \311>\204\"\312\313 \"\203\"\314\f\203V\315\f@!\316\232\2031\316\fA\211\202#\312\313 \"\203G \317>\204G\314\320\321!\322!\323!\324!$\n\306!@\227\232?\205\202\212\214\325!b\210`\326!}\210\327\330\211\331#\210\n\307\232\204\200\332\n\333\261\210\n*,\207" [layout vm-mime-8bit-text-transfer-encoding encoding type list vm-mm-layout-parts vm-mm-layout-type "7bit" vm-mime-composite-type-p (quoted-printable base64) vm-mime-types-match "message/partial" quoted-printable vm-mime-transfer-encode-layout "8bit" (quoted-printable base64) vm-mime-transfer-encode-region vm-mm-layout-encoding vm-mm-layout-body-start vm-mm-layout-body-end vm-mime-text-type-layout-p vm-mm-layout-header-start vm-mm-layout-header-end vm-reorder-message-headers nil "Content-Transfer-Encoding:" "CONTENT-TRANSFER-ENCODING: " "\n"] 7]) (defalias 'vm-mime-text-description #[(start end) "\212b\210\301\302!\203\303\202\304\305\306\307#\203\310\202\311)\207" [start looking-at "[ \n]*-- \n" ".signature" re-search-forward "^-- \n" nil t "message body and .signature" "message body text"] 4]) (defalias 'vm-delete-mime-object #[(&optional saved-file) "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\n\2034\316\317pC\"\210\202'\320 \210\321 @!\203O @\211\322H\323HJ)\204O\310\324!\210 \203V q\210\32501\203\325\211\211234\326`!\2114\203\3002\204\3004@3\3273\330\"\2110\203\267\33120\3320!\211\323H\333H)=\203\235\310\334!\2105\203\260\335\336\3370\"!\204\260\310\340!\210\34106\"\2104A\2114\204p2\204\311\310\342!\210\331\32578\212\343 deZV\325\2119:\211;\203\364\344 e\325\223\211:\203\364\344 d\325\2239\345\216\3463!b\210\347\336\3500\"\261\210`\3513!|.\n\202\256<\205\256\352`\325\330#\211=\204&\310\342!\202\255\353=\330\"\2110\3320!\211\323H\333H)=\203A\310\334!\2105\203T\335\336\3370\"!\204T\310\340!\210\331\325\2117>8\212\343 deZV\325\211?@\211A\203\202\344 e\325\223\211@\203\202\344 d\325\223?\354\216\355=!b\210`>\347\336\3500\"\261\210`\356=!|\210\357=>`#\210.\34106\"))\207" [vm-mail-buffer major-mode vm-folder-read-only vm-message-pointer message vm-presentation-buffer vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-check-for-killed-presentation signal folder-read-only vm-error-if-folder-empty vm-virtual-message-p 4 1 "Can't edit unmirrored virtual messages." nil overlays-at overlay-get vm-mime-layout t vm-mm-layout-message 16 "Can't delete only MIME object; use vm-delete-message instead." y-or-n-p vm-mime-sprintf "Delete %t? " "Aborted" vm-mime-discard-layout-contents "No MIME button found at point." buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) overlay-start "Deleted " "%d\n" overlay-end extent-at extent-property ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#4=#:vm-sr-clip #5=#:vm-sr-min #6=#:vm-sr-max nil] 3)) extent-start-position extent-end-position set-extent-endpoints layout vm-fsfemacs-p found o o-list vm-mime-confirm-delete saved-file buffer-read-only inhibit-read-only #3# #2# #1# vm-xemacs-p e opos #6# #5# #4#] 5 "\ Delete the contents of MIME object referred to by the MIME button at point. The MIME object is replaced by a text/plain object that briefly describes what was deleted." nil]) (defalias 'vm-mime-discard-layout-contents #[(layout &optional file) "\212\306\307\310!\307\211 \211@\311H\312H)q\210\313 deZV\307\211AB\211C\203<\314 e\307\223\211B\203<\314 d\307\223A\315\216~\210\316!\203J\317!\320!b\210D\204h\321c\210\322\323 \"\210\324\325\326\"\261\210\202\333\327D\330\261\210\331c\210\332\333!@\261\210\333!A\203\222\333!AE\334\335\336E\334#\261\210)\337c\210\340!\203\254\340!E\341\335\336E\334#\337\261\210)\342!\203\275\343\342!\337\261\210\202\306\344 \343\n\337\261\210\345c\210\324\325\326\"\261\210\346D\347\350 \351\261\210`\352!|\210\353 \306\"\210 \307F\211@\354H\355FI\210* \307F\211@\354H\356FI\210* \306G\211@\357H\360GI\210* \211@\311H\361H)\362=\203\241\307H \211@\355H\311H)b\210\363I \211@\355H\354H\206H\364@!\210@\355H\354H)\306#\203g\311\224\204g\355\224b\210\365J!\203g\366 \367 |\210\202/ \211@\355H\370H) \211@\355H\354H\206\206\364@!\210@\355H\354H)ZH \211@\355H\311H)b\210J\371\372H!\337\261\210)\373\310!!\210D\203\331\214\320!\352!}\210\374 GS\211K\355Y\205\325K KHI\210KS\211K\202\276*\202\375\376\"\210\377\201L\"\210\201M\201N\"\210\201O\307\"\210\201P\325\201Q\"\"\210\201R\307\"\210\201S\307\"\210\201T\307\"\210\201U\307\".\n\207" [layout new-layout newid m buffer-read-only inhibit-read-only t nil vm-mm-layout-message 1 9 buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) vm-mm-layout-is-converted vm-mm-layout-unconverted-layout vm-mm-layout-header-start "Content-Type: text/plain; charset=us-ascii\n\n" vm-set-mm-layout-body-start point-marker "[Deleted " vm-mime-sprintf "%d]\n" "Content-Type: message/external-body; access-type=local-file; name=\"" "\"\n" "Content-Transfer-Encoding: 7bit\n\n" "Content-Type: " vm-mm-layout-qtype "; " mapconcat identity "\n" vm-mm-layout-qdisposition "Content-Disposition: " vm-mm-layout-id "Content-ID: " vm-make-message-id "Content-Transfer-Encoding: binary\n\n" "[Saved to " " on " system-name "]\n" vm-mm-layout-body-end vm-set-edited-flag-of 3 0 10 4 2 7 From_-with-Content-Length re-search-forward vm-find-and-set-text-of vm-match-header vm-matched-header-start vm-matched-header-end 5 " " int-to-string vm-mark-for-summary-update vm-mime-parse-entity-safe vm-set-mm-layout-type ("text/x-vm-deleted") vm-set-mm-layout-qtype message #3# #2# #1# file p count val length vm-content-length-search-regexp vm-content-length-header i ("text/x-vm-deleted") vm-set-mm-layout-encoding "7bit" vm-set-mm-layout-id vm-set-mm-layout-description "Deleted %d" vm-set-mm-layout-disposition vm-set-mm-layout-qdisposition vm-set-mm-layout-parts vm-set-mm-layout-display-error] 6]) (defalias 'vm-mime-encode-composition #[nil "\304 \210\305p\306\216\n\203\307 \210\202# \203\310 \210\202#\311\312\313 \"\210\314\211+\207" [mybuffer unwind-needed vm-xemacs-p vm-fsfemacs-p buffer-enable-undo t ((byte-code "\203 :\203\np=\203\303\304 \"\303\207" [unwind-needed buffer-undo-list mybuffer primitive-undo 1] 3)) vm-mime-xemacs-encode-composition vm-mime-fsfemacs-encode-composition error "don't know how to MIME encode composition for %s" emacs-version nil] 3 "\ MIME encode the current mail composition buffer. Attachment tags added to the buffer with vm-mime-attach-file are expanded and the approriate content-type and boundary markup information is added." nil]) (byte-code "\301B\301\207" [current-load-list enriched-mode] 2) (defalias 'vm-mime-xemacs-encode-composition #[nil "\214~\210\306=\204 \307\310!\210\311\312!\203\307\313!\210\314\211\211\315\301!\205! \314\211\211\211\211\211\211\211\211\211\211\211\211\211@ABCDEFGHIJKLM\316 \210\317\314`d#E\320\321E\322#E\323E\324\"\211EG\325U\205\214\326\327!\205\214\330\225\331E@!U\205\214\212\332E@!b\210\326\333!)LE\204\371`d}\210J\203\245\334N\335ed\"\210)\336ed\"AO\203\267\337edP#\210\340ed\"B\341Bed\322$B~\210\342 \210eb\210\343\314\211\344#\210\345c\210J\203\346\346A\347\261\210\202\355\350A\347\261\210\351B\347\261\210\352 \202\204E\203oE@FL\204\212\331F!\353\327\331F!\322#)=\203$`\331F!|\210\202\217`\331F!}\210J\2039\334N\335ed\"\210)\336ed\"AO\203K\337edP#\210\340ed\"B\341Bed\322$B\354ed\"\355 KBKJ\203u\346A\347\261\210\202|\350A\347\261\210 \203\206\356 \347\261\210\351B\357\261\210~\210\331F!b\210``}\210\360F\361\"\362 !\203\254\363 !\210\202 ;\203\364\360F\365\"!\203\321O\203\304\366\202\344Q\203\315\366\202\344\367\202\344O\203\332\370\202\344Q\203\343\370\202\344\366\314\211O\203\357\370\202\371Q\203\370\370\202\371\366PRST\371 !\210,\360F\372\"\211H\203q\373\314\374\375D\376#G\360F\365\"\206'\377G!@C\360F\201W\"\206:\201XG!A@\360F\201Y\"@I\360F\201Z\"\360F\201[\"@\201\\\232\204g\360F\201[\"\202m\201]G!\202\253\360F\365\"C\360F\201W\"@\360F\201Y\"@I\360F\201Z\"\360F\201[\"@\201\\\232?\205\252\360F\201[\"\201^\201_C\"\203\362\340H\203\306\201`G!\202\307ed\"B\341BH\203\334\201`G!\202\335ed\322$BM\206\355B\201a\232M\202~\201bC!\203QeH\204eb\210\201cC\347\261\210\201dc\210\373\314\374\375D\376#G\322HG\2030I\2040\201eG!\210\201fG!BM\206CB\201a\232Mdb\210~\210\n`}\210\202~G\203bI\204b\201eG!\210H\203r\201fG!B\202~\201ged\"\210\201hBL\204'eb\210\355 KBKH\203\257\343\314\201i\314#\210\201`G!Sb\210\326\347!\203\257\201j\325!\210\201cC\261\210@\203\355U\203\327\201k\201l\201m@\201k#\347\261\210\202\360\201n\201l\201m@\201n#\347\261\210\202\360\347c\210 \203\372\356 \347\261\210\f\203 \201o\f@\261\210\fA\203\201n\201l\201m\fA\201n#\261\210\347c\210\351B\357\261\210db\210~\210\212\331F!b\210\326\201p!\204H\322V\307\201q\201r\"\210))\331F!\332F!|\210\201sF!\210\326\347!\203f\201j\325!\210EA\211E\204\376L\204z\326\333!\203\201`d|\210\202\363J\203\217\334N\335`d\"\210)\336`d\"AO\203\241\337`dP#\210\340`d\"B\341B`d\322$B\354`d\"M\206\300B\201a\232M\355 KBKJ\203\330\346A\347\261\210\202\337\350A\347\261\210 \203\351\356 \347\261\210\351B\357\261\210db\210\201t D\316 \210\353\201u\201vD!\201wQ\314\322#\203\201t D\316 \210\202\374db\210L\204/\201xD\201y\261\210K\203KK@b\210\201xD\347\261\210KA\211K\2044L\203\232H\203\232\201zG!b\210\343\314\201{\314#\210\201|G!b\210\326\347!\203y\201j\325!\210db\210\363p\201zG!\201`G!#\210\201zG!\201`G!|\210eb\210\342 \210\343\314\211\201}#\210\352 \210\345c\210L\204\314U\203\276\201~\202\301\201D\201\200\261\210\202 \201cC\261\210@\203\nU\203\364\201k\201l\201m@\201k#\347\261\210\202 \201n\201l\201m@\201n#\347\261\210\202 \347c\210L\203 \203\356 \347\261\210L\203f\f\203f\201o\f@\261\210\fA\203cU\203M\201k\201l\201m\fA\201k#\347\261\210\202f\201n\201l\201m\fA\201n#\347\261\210\202f\347c\210L\203t\351B\347\261\202\204M\203\200\201\201c\202\204\201\202c.\207" [major-mode enriched-mode opoint-min object disposition description mail-mode error "Command must be used in a VM Mail mode buffer." vm-mail-mode-get-header-contents "MIME-Version:" "Message is already MIME encoded." nil boundp mail-text extent-list vm-delete #[(e) "\301\302\"\207" [e extent-property vm-mime-object] 3] t sort #[(e1 e2) "\302!\302 !W\207" [e1 e2 extent-end-position] 3] 1 looking-at "[ \n]*" 0 extent-start-position extent-end-position "[ \n]*\\'" "" enriched-encode vm-determine-proper-charset encode-coding-region vm-determine-proper-content-transfer-encoding vm-mime-transfer-encode-region vm-remove-mail-mode-header-separator vm-reorder-message-headers "\\(Content-Type:\\|Content-Transfer-Encoding\\|MIME-Version:\\)" "MIME-Version: 1.0\n" "Content-Type: text/enriched; charset=" "\n" "Content-Type: text/plain; charset=" "Content-Transfer-Encoding: " vm-add-mail-mode-header-separator re-search-forward vm-mime-text-description point-marker "Content-Description: " "\n\n" extent-property vm-mime-object bufferp insert-buffer-substring vm-mime-text-type-p vm-mime-type no-conversion raw-text binary insert-file-contents vm-mime-encoded vm-mime-parse-entity "text/plain" "charset=us-ascii" "7bit" vm-mm-layout-type params charset encoding type boundary e-list e layout already-mimed forward-local-refs enriched boundary-positions just-one 8bit enriched-initial-annotation vm-xemacs-mule-p buffer-file-coding-system vm-xemacs-file-coding-p jka-compr-compression-info-list format-alist coding-system-for-read vm-mime-avoid-folding-content-type debug-on-error vm-mime-parameters vm-mm-layout-qtype vm-mime-forward-local-refs vm-mime-description vm-mime-disposition "unspecified" vm-mm-layout-qdisposition vm-mime-types-match "text" vm-mm-layout-body-start "8bit" vm-mime-composite-type-p "Content-Type: " "Content-Transfer-Encoding: 7bit\n\n" vm-mime-internalize-local-external-bodies vm-mime-transfer-encode-layout vm-mime-base64-encode-region "base64" ("Content-ID:") delete-char "; " mapconcat identity ";\n " "Content-Disposition: " "\\[ATTACHMENT" "assertion failed: %S" (looking-at "\\[ATTACHMENT") detach-extent vm-mime-make-multipart-boundary "^--" regexp-quote "\\(--\\)?$" "\n--" "--\n" vm-mm-layout-header-start ("Content-ID:") vm-mm-layout-header-end "\\(Content-Type:\\|MIME-Version:\\|Content-Transfer-Encoding\\)" "Content-Type: multipart/mixed; boundary=\"" "Content-Type: multipart/mixed;\n boundary=\"" "\"\n" "Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 7bit\n"] 19]) (defalias 'vm-mime-fsfemacs-encode-composition #[nil "\214~\210\306=\204 \307\310!\210\311\312!\203\307\313!\210\314\211\211\315\301!\205! \314\211\211\211\211\211\211\211\211\211\211\211\211\211\211@ABCDEFGHIJKLMN\316 \210\317`d\"F\320\321F\322#F\323F\324\"\211FG\325U\205\216\326\327!\205\216\330\225\331F@!U\205\216\212\332F@!b\210\326\333!)MF\204`d}\210K\203\247\334O\335ed\"\210)\336ed\"BP\203\321\337BQ\"A@\211R\204\311\307\340B\"\210\202\320\341edR#\210)\342ed\"C\343Ced\322$C~\210\344 \210eb\210\345\314\211\346#\210\347c\210K\203\350B\351\261\210\202\352B\351\261\210\353C\351\261\210\354 \202IF\203F@GM\2044\212\331G!\355\327\331G!\322#)=\203>`\331G!|\210\202\324`\331G!}\210K\203c\334O\212db\210\356\351!\210\335e`S\"\210db\210\357\360!\210*\336ed\"BP\203\215\337BQ\"A@\211R\204\205\307\340B\"\210\202\214\341edR#\210)\342ed\"C\343Ced\322$C\361ed\"@\362 LBLK\203\270\350B\351\261\210\202\277\352B\351\261\210@\203\313\363@\351\261\210\353C\364\261\210~\210\331G!b\210``}\210\365G\366\"\314\367\f!\203\370 S\322\212\fq\210T\203\377\371\202 U\203\371\202 \372V\373edS\314\330%\210)S*\f;\203\232\356\374!\210\360u\210\375\365G\376\"!\203ET\2038\372\202XU\203A\372\202X\377\202XT\203N\371\202XU\203W\371\202X\372\314\211T\203c\371\202mU\203l\371\202m\372\201]WVXYZ\201^\201_\201`\217\210-\n\203\223\201a\201b\f\"\210db\210\357\360!\210\365G\201c\"\211I\203\201d\314\201e\201fD\201g#H\365G\376\"\206\307\201hH!@D\365G\201i\"\206\332\201jH!AA\365G\201k\"@J\365G\201l\"@\365G\201m\"@\201n\232\204\365G\201m\"\202\201oH!\202M\365G\376\"D\365G\201i\"A\365G\201k\"@J\365G\201l\"@\365G\201m\"@\201n\232?\205L\365G\201m\"\201p\201qD\"\203\224\342I\203h\201rH!\202ied\"C\343CI\203~\201rH!\202ed\322$CN\206\217C\201s\232N\202(\201tD!\203\373eI\204\311eb\210\201uD\351\261\210\201vc\210\201d\314\201e\201fD\201g#H\322IH\203\332J\204\332\201wH!\210\201xH!CN\206\355C\201s\232Ndb\210~\210 `}\210\202(H\203\fJ\204\f\201wH!\210I\203\201xH!C\202(\201yed\"\210\201zCM\204\321eb\210\362 LBLI\203W\345\314\201{\314#\210\201rH!Sb\210\326\351!\203W\357\325!\210\201uD\261\210A\203\225[\203\201|\201}\201~A\201|#\351\261\210\202\230\201\201}\201~A\201#\351\261\210\202\230\351c\210@\203\244\363@\351\261\210 \203\312\201\200 @\261\210 A\203\307\201\201}\201~ A\201#\261\210\351c\210\353C\364\261\210db\210~\210\212\331G!b\210\326\201\201!\204\362\322\\\307\201\202\201\203\"\210))\331G!\332G!|\210\201\204G!\210\326\351!\203\357\325!\210FA\211F\204M\204\"\326\333!\203)`d|\210\202\266K\2037\334O\335`d\"\210)\336`d\"BP\203a\337BQ\"A@\211R\204Y\307\340B\"\210\202`\341`dR#\210)\342`d\"C\343C`d\322$C\361`d\"@N\206\201C\201s\232N\362 LBLK\203\231\350B\351\261\210\202\240\352B\351\261\210@\203\254\363@\351\261\210\353C\364\261\210db\210\201\205 E\316 \210\355\201\206\201\207E!\201\210Q\314\322#\203\337\201\205 E\316 \210\202\277db\210M\204\362\201\211E\201\212\261\210L\203L@b\210\201\211E\351\261\210LA\211L\204\367M\203]I\203]\201\213H!b\210\345\314\201\214\314#\210\201\215H!b\210\326\351!\203:\357\325!\210db\210\201\216p\201\213H!\201rH!#\210\201\213H!\201rH!|\210eb\210\344 \210\345\314\211\201\217#\210\354 \210\347c\210M\204\217[\203\201\201\220\202\204\201\221E\201\222\261\210\202\320\201uD\261\210A\203\315[\203\267\201|\201}\201~A\201|#\351\261\210\202\320\201\201}\201~A\201#\351\261\210\202\320\351c\210M\203\341@\203\341\363@\351\261\210M\203+ \203+\201\200 @\261\210 A\203([\203\201|\201}\201~ A\201|#\351\261\210\202+\201\201}\201~ A\201#\351\261\210\202+\351c\210M\2039\353C\351\261\202IN\203E\201\223c\202I\201\224c.\207" [major-mode enriched-mode delete-object opoint-min object disposition mail-mode error "Command must be used in a VM Mail mode buffer." vm-mail-mode-get-header-contents "MIME-Version:" "Message is already MIME encoded." nil boundp mail-text vm-mime-fake-attachment-overlays vm-delete #[(o) "\301\302\"\207" [o overlay-get vm-mime-object] 3] t sort #[(e1 e2) "\302!\302 !W\207" [e1 e2 overlay-end] 3] 1 looking-at "[ \n]*" 0 overlay-start overlay-end "[ \n]*\\'" "" enriched-encode vm-determine-proper-charset vm-string-assoc "Can't find a coding system for charset %s" encode-coding-region vm-determine-proper-content-transfer-encoding vm-mime-transfer-encode-region vm-remove-mail-mode-header-separator vm-reorder-message-headers "\\(Content-Type:\\|Content-Transfer-Encoding\\|MIME-Version:\\)" "MIME-Version: 1.0\n" "Content-Type: text/enriched; charset=" "\n" "Content-Type: text/plain; charset=" "Content-Transfer-Encoding: " vm-add-mail-mode-header-separator re-search-forward insert-before-markers delete-char -1 vm-mime-text-description point-marker "Content-Description: " "\n\n" overlay-get vm-mime-object bufferp vm-make-tempfile binary no-conversion write-region " " vm-mime-text-type-p vm-mime-type raw-text description params charset encoding type boundary o-list o layout already-mimed forward-local-refs enriched boundary-positions just-one 8bit enriched-initial-annotation vm-fsfemacs-mule-p vm-mime-mule-charset-to-coding-alist coding-system tempfile vm-xemacs-mule-p vm-xemacs-file-coding-p buffer-file-coding-system file-name-buffer-file-type-alist jka-compr-compression-info-list format-alist coding-system-for-read vm-mime-avoid-folding-content-type debug-on-error (("." . t)) data (insert-file-contents object) ((error (byte-code "\203 \303\304 \"\210\n\305\232\204\306\n@\nA\"\210\303\207" [delete-object object data vm-error-free-call delete-file (error "Invalid search bound (wrong side of point)") signal] 3))) vm-error-free-call delete-file vm-mime-encoded vm-mime-parse-entity "text/plain" "charset=us-ascii" "7bit" vm-mm-layout-type vm-mime-parameters vm-mm-layout-qtype vm-mime-forward-local-refs vm-mime-description vm-mime-disposition "unspecified" vm-mm-layout-qdisposition vm-mime-types-match "text" vm-mm-layout-body-start "8bit" vm-mime-composite-type-p "Content-Type: " "Content-Transfer-Encoding: 7bit\n\n" vm-mime-internalize-local-external-bodies vm-mime-transfer-encode-layout vm-mime-base64-encode-region "base64" ("Content-ID:") "; " mapconcat identity ";\n " "Content-Disposition: " "\\[ATTACHMENT" "assertion failed: %S" (looking-at "\\[ATTACHMENT") delete-overlay vm-mime-make-multipart-boundary "^--" regexp-quote "\\(--\\)?$" "\n--" "--\n" vm-mm-layout-header-start ("Content-ID:") vm-mm-layout-header-end insert-buffer-substring "\\(Content-Type:\\|MIME-Version:\\|Content-Transfer-Encoding\\)" "Content-Type: multipart/mixed; boundary=\"" "Content-Type: multipart/mixed;\n boundary=\"" "\"\n" "Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 7bit\n"] 20]) (defalias 'vm-mime-fragment-composition #[(size) "\214~\210\306\307!\210\310\211\311 \312\310\211\211\211\211\211+,-.\313 \210/\314=\203.\315\2020//\316\317\310\320\321D\322#!\210)eb\210`\323\324!\210`Speb\210`m\204\325\310\325\326\217\210`\327\330 \331\332+!Q!\211.B. q\210\333\334!\210\310\335\n\f #\210eb\210\336\310\211\337#\210\340c\210\3410\203\222\342\202\223\343,+#c\2100\203\251\341\344+\"c\210\202\260\341\345+\"c\210`-B-\346c\210db\2101\347\261\210\335\n #\210+T+\nq\210`\202P+S+\350 \210.22\2032@q\210-@b\210\351+p\"\2102A2-A-\202\341\nq\210)\306\352!\210.\237. \207" [end start master-buffer header-end header-start b message "Fragmenting message..." nil vm-mime-make-multipart-boundary 1 vm-remove-mail-mode-header-separator 8bit quoted-printable vm-mime-transfer-encode-layout vm-mime-parse-entity "text/plain" "charset=us-ascii" "7bit" search-forward "\n\n" (byte-code "\301Z\302]u\210\303 \207" [size 150 2000 beginning-of-line] 2) ((end-of-buffer)) generate-new-buffer buffer-name " part " int-to-string make-local-variable vm-send-using-mime insert-buffer-substring vm-reorder-message-headers "\\(Content-Type:\\|MIME-Version:\\|Content-Transfer-Encoding\\)" "MIME-Version: 1.0\n" format "Content-Type: message/partial; id=%s; number=%d" "Content-Type: message/partial;\n id=%s;\n number=%d" "; total=" ";\n total=" "\nContent-Transfer-Encoding: 7bit\n" "\n" vm-add-mail-mode-header-separator prin1 "Fragmenting message... done" n id total-markers buffers vm-mime-8bit-text-transfer-encoding vm-mime-avoid-folding-content-type mail-header-separator bufs] 11]) (fset 'vm-mime-preview-composition 'vm-preview-composition) (defalias 'vm-mime-composite-type-p #[(type) "\301\302\"\206\301\303\"\206\301\304\"\207" [type vm-mime-types-match "message/rfc822" "message/news" "multipart"] 3]) (defalias 'vm-mime-sprintf #[(format layout) "\305 \"\211\204\306!\210\305 \" \307\nA!*\207" [format vm-mime-compiled-format-alist match layout vm-mime-layout assoc vm-mime-compile-format eval] 4]) (defalias 'vm-mime-compile-format #[(format) "\303\304\" A@B\nB\211)\207" [format return-value vm-mime-compiled-format-alist vm-mime-compile-format-1 0] 3]) (defalias 'vm-mime-compile-format-1 #[(format start-index) "\204\306\307\211\211\211\307\211=>\310\307!\210=\204\314=\204\241\311\312< #\203\241<\313\224H\306\225 \314>\203\200 \315U\203^\316 ?\317\216\320<\313\225\"\211@A@ B@@+\202 \321U\203m\322\323D B\202 \324U\203|\325\323D B\202 \326U\203\213\327\323D B\202 \330U\203\232\331\323D B\202 \332U\203\251\333\323D B\202 \334U\203\270\335\323D B\202 \336U\203\307\337\323D B\202 \340U\203\326\341\323D B\202 \342U\203\345\343\323D B\202 \344U\203\364\345\323D B\202 \346U\203\347\323D B\202 \350U\203\351\323D B\352\224\203:\353\224\203: <\353\224H\354=\203(\355\202)\356 @\357<\353\224\353\225O!E\240\210\202]\353\224\203] <\353\224H\354=\203N\360\202O\361 @\357<\353\224\353\225O!E\240\210\362\224\203r \363 @\357<\364\224\364\225O!E\240\210\365< \306\224O\fBB\202\234 \366=\203\215\367\370=\202\216\371< \206\225\306\306\224O\fBB\n\202=\204\263< "] 3]) (defalias 'vm-mf-event-for-default-action #[(layout) "\300 \203\301\207\302\207" [vm-mouse-support-possible-here-p "Click mouse-2" "Press RETURN"] 1]) (defalias 'vm-mf-default-action #[(layout) "\206=\306\307\n!\204\310\311\n!@!\203# \311\n!@\312\313\215*\2028\314\311\n!@!\211\2037\315\316 A@\"\2028\317)\206=\320\207" [vm-mf-default-action cons layout vm-mime-default-action-string-alist type p nil vm-mime-can-display-internal vm-mime-find-external-viewer vm-mm-layout-type done (byte-code "\203\302@@ \"\203\303\304@A\"\210\202A\211\204\305\207" [p type vm-mime-types-match throw done nil] 4) vm-mime-can-convert format "convert to %s and display" "save to a file" "burn in the raging fires of hell forever"] 3]) (provide 'vm-mime) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:26 2004 ;;; from file /Users/kyle/vm/vm-minibuf.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-minibuf.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-minibuffer-complete-word #[(&optional exiting) "`\306\307!\203\f\307 \202 e\310\211\211\211\211\211\211\211!\"#$%&m\2041g\311>\203A\312\310x\210m\204<\310u\210`\202G\313\310w\210`'\204S%!\202Z\313\310x\210`!&b\210! {\314\315 !P\316\n(\"#\317#\320\"#\321\322#\"#\321\322(\"\"#\203\220\323 #\" \204\276)\203\276\"\203\276\324*\323 \325*O\"\"\211\204\267*S*\202\241 \325*O) \326=\203\335'\203\321 b\210\327c\202~+?\205~\330\331!\202~ G GZ\211\325V\204\365\f\325U\203 \230\204 b\210\332 G[!\210 c\210'\205~#A?\205~\327c\202~\f\325U\203X+?\205~#@@G GV\203A,\2044\330\333!\202~\334\317\321\335#\"\320\"!\202~-\336=\204N\330\337!\202~'\205~\327c\202~)\203k b\210\332\f!\210\336+!\202~'\203u\327c\202~+?\205~\330\340!. \207" [completion-ignore-case completion word-prefix-regexp word diff end fboundp minibuffer-prompt-end nil (9 10 32) " \n" "^ \n" "^" regexp-quote vm-delete-non-matching-strings sort string-lessp mapcar list try-completion -1 0 t " " vm-minibuffer-completion-message "[Sole completion]" delete-char "[Ambiguous]" vm-minibuffer-show-completions car vm-minibuffer-complete-word "[Complete, but not unique]" "[No match]" beg c-list trimmed-c-list case-fold-search point-min opoint vm-completion-auto-space vm-minibuffer-completion-table vm-completion-auto-correct i exiting completion-auto-help last-command] 12 nil nil]) (defalias 'vm-minibuffer-complete-word-and-exit #[nil "\300\301!\210\302 \207" [vm-minibuffer-complete-word t exit-minibuffer] 2 nil nil]) (defalias 'vm-minibuffer-completion-message #[(string &optional seconds) "\304\305\212db\210`\306\n\261\210)\307 \206\310!\210 d|*\207" [inhibit-quit omax string seconds nil t " " sit-for 2] 2 "\ Briefly display STRING to the right of the current minibuffer input. Optional second arg SECONDS specifies how long to keep the message visible; the default is 2 seconds. A keypress causes the immediate erasure of the STRING, and return of control to the calling program."]) (defalias 'vm-minibuffer-replace-word #[(word) "db\210\301\302x\210`d|\210c\207" [word "^ \n" nil] 2]) (defalias 'vm-minibuffer-show-completions #[(list) "\212\303\304!q\210\305\306\307 !\210\310p!\210\311 \210\312c\210\313\314 \315\316 \nD#\210eb)\207" [buffer-read-only list minibuffer-local-map get-buffer-create " *Completions*" nil use-local-map make-sparse-keymap display-buffer erase-buffer "Possible completions are:\n" t vm-show-list vm-minibuffer-replace-word current-local-map] 5 "\ Display LIST in a multi-column listing in the \" *Completions*\" buffer. LIST should be a list of strings."]) (defalias 'vm-show-list #[(list &optional function keymaps) "\204 \306 \205\f\306 C\212\307\310\307\211\211\211\211\211\211\211\211\211()*+,-./\203\225\203\225\311 \203\225\312\313\314\315\316\317\320/\320DEEF\203\225@\321 \203e\322 \323\n#\210\322 \324\n#\210\202\216\325 \203\216\322 \326\327#\210\322 \330\327#\210\322 \331\n#\210\322 \332\327#\210\322 \333\327#\210\322 \334\n#\210A\211\204N\335\3360!\337\"0\340p!0(\341)\341+\342\f!S*(\203\316+(@G]+)T)(A\211(\204\267)*+-\\\245\245\211,)*+-\\\245\246\341U\203\360\341\202\361\343\\,\341 ,W\205: 0\233\211(\2031`(@c\210/\203\344 `\"\210\345\346-+(@GZ\\\"\210,(\233\211(\204 T\347c\210\202\366. \207" [keymaps keymap command start w i current-local-map nil 3 vm-mouse-support-possible-p lambda (e) (interactive "e") let ((string (vm-mouse-get-mouse-track-string e))) and string vm-mouse-xemacs-mouse-p define-key button1 button2 vm-mouse-fsfemacs-mouse-p [down-mouse-1] ignore [drag-mouse-1] [mouse-1] [drag-mouse-2] [down-mouse-2] [mouse-2] sort copy-sequence string-lessp vm-get-buffer-window 0 window-width 1 vm-mouse-set-mouse-track-highlight insert-char 32 "\n" q list-length columns longest tabs separation buffer-read-only function list] 13 "\ Display LIST in a multi-column listing in the current buffer at point. The current buffer must be displayed in some window at the time this function is called. LIST should be a list of strings. Optional second argument FUNCTION will be called if the mouse is clicked on one of the strings in the current buffer. The string clicked upon will be passed to FUNCTION as its sole argument. Optional third argument KEYMAPS specifies a lists of keymaps where the FUNCTION should be bound to the mouse clicks. By default the local keymap of the current buffer is used."]) (defalias 'vm-minibuffer-completion-help #[nil "`\306\211\211\211\211m\204g\307>\203&\310\306x\210m\204!\306u\210`\202,\311\306w\210`\311\306x\210` b\210 \n{\312\313 !P\314\"\315\f\316\"\211\203T\317\f!\202W\320\321!.\207" [word-prefix-regexp word end beg c-list opoint nil (9 10 32) " \n" "^ \n" "^" regexp-quote vm-delete-non-matching-strings sort string-lessp vm-minibuffer-show-completions vm-minibuffer-completion-message " [No match]" vm-minibuffer-completion-table] 7 nil nil]) (defalias 'vm-keyboard-read-string #[(prompt completion-list &optional multi-word) "\306! \n\307\310\311#\210\307\312\311#\210\307\313\314#\210 \204$\307\315\316#\210\317\320!,\207" [minibuffer-local-map multi-word completion-list vm-minibuffer-completion-table vm-completion-auto-space use-dialog-box copy-keymap define-key " " vm-minibuffer-complete-word " " "?" vm-minibuffer-completion-help " " vm-minibuffer-complete-word-and-exit nil read-string prompt] 4]) (byte-code "\301B\301\207" [current-load-list last-nonmenu-event] 2) (defalias 'vm-read-string #[(prompt completion-list &optional multi-word) "@:\203\f\305\306\"\237\203H\307 \203H\310 \2032\311 !\204,\312 !\204,\313 !\2032\314\n #\207\315 \203B\f<\203B\314\n #\207\316\n #\207\316\n #\207" [completion-list last-command-event prompt multi-word last-nonmenu-event mapcar car vm-mouse-support-possible-here-p vm-mouse-xemacs-mouse-p button-press-event-p button-release-event-p menu-event-p vm-mouse-read-string vm-mouse-fsfemacs-mouse-p vm-keyboard-read-string] 4]) (defalias 'vm-read-number #[(prompt) "\302\303\304\305 !\211\"\203\306!)\207" [result prompt nil string-match "^[ ]*-?[0-9]+" read-string string-to-int] 4]) (defalias 'vm-read-password #[(prompt &optional confirm) "\300\301\215\207" [return-value (byte-code "\212\306\307\310\211\311\310\211\211\211!\"#\312\216\212\313\314!\211!q\210\315 \210\316\317$\320\f\321 \"#\210\322 \211\323>\204Z\n\324\236A\211\203I\325\326\327\217\210\202L\nc\210\316\317$\320\f\321 \"#\210\202/%\203\212 \203\212 \330 \230\204\202\316$\320\f\321 \"\331Q!\210\332 \210\333\334!\210\310\202!\335\336 \"\210\202!%\203\245\330 \316$\320\f\321 \"\337Q!\210\333\334!\210\202!\316\340!\210\335\336\330 \"\210\202!" [form done char string xxx help-form t 0 nil "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ((byte-code "\203\301!\210\301\207" [input-buffer kill-buffer] 2)) get-buffer-create " *password*" erase-buffer message "%s%s" vm-truncate-roman-string buffer-size read-char (13 10) ((8 delete-char -1) (127 delete-char -1) (21 delete-region 1 (point)) (24 delete-region 1 (point)) (17 quoted-insert 1) (22 quoted-insert 1)) error-data (eval form) ((error)) buffer-string " [Mismatch... try again.]" ding sit-for 2 throw return-value " [Retype to confirm...]" "" input-buffer echo-keystrokes cursor-in-echo-area prompt confirm] 10)] 2 "\ Read and return a password from the minibuffer, prompting with PROMPT. Optional second argument CONFIRM non-nil means that the user will be asked to type the password a second time for confirmation and if there is a mismatch, the process is repeated. Line editing keys are: C-h, DEL rubout C-u, C-x line kill C-q, C-v literal next"]) (defalias 'vm-keyboard-read-file-name #[(prompt &optional dir default must-match initial history) "J\303\304\216\303\305\306\217+\207" [history use-dialog-box oldvalue nil ((byte-code "\203 L\210\302\207" [history oldvalue nil] 2)) (byte-code "\306 \n \f &\207" [prompt dir default must-match initial history read-file-name] 7) (((wrong-number-of-arguments void-function) (byte-code "\203J\306\307 \f  %\211*\207\307 \f  %\207" [history file file-name-history prompt dir default nil read-file-name must-match initial] 7)))] 3 "\ Like read-file-name, except HISTORY's value is unaltered."]) (defalias 'vm-read-file-name #[(prompt &optional dir default must-match initial history) "\306 \203H\307 \203'\310!\204\311!\204\312!\203'\313 \n \f &\207\314 \203=<\203=\313 \n \f &\207\315 \n \f &\207\315 \n \f &\207" [last-command-event prompt dir default must-match initial vm-mouse-support-possible-here-p vm-mouse-xemacs-mouse-p button-press-event-p button-release-event-p menu-event-p vm-mouse-read-file-name vm-mouse-fsfemacs-mouse-p vm-keyboard-read-file-name history last-nonmenu-event] 7 "\ Like read-file-name, except a mouse interface is used if a mouse click mouse triggered the current command."]) (provide 'vm-minibuf) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:26 2004 ;;; from file /Users/kyle/vm/vm-misc.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-misc.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-delete-non-matching-strings #[(regexp list &optional destructively) "\204\305 ! \306\211\203:\307\f @\"\203!  A\211\202 \n\204. A\211\211\202 \n A\241\210 A\211\204 *\207" [destructively list prev curr regexp copy-sequence nil string-match] 4 "\ Delete strings matching REGEXP from LIST. Optional third arg non-nil means to destructively alter LIST, instead of working on a copy. The new version of the list, minus the deleted strings, is returned."]) (defalias 'vm-parse #[(string regexp &optional matchn matches) "\204\306\307\211\310\307!\210 \311=\204Z\312\f \311\225#\203Z \250\203% S:\2046 \224\225O\nB\202\211\203 @\224\203S @\224 @\225O\nB\307\211\2029 A\211\2029 \250\203u\311\225\203u\311\225 G=\204u \311\225 GO\nB\n\237*\207" [matchn tem list matches regexp string 1 nil store-match-data 0 string-match] 5]) (defalias 'vm-parse-addresses #[(string) "\205\320\306\212\307\216\306\211\211\211\310 \211q\210c\210eb\210\311\306w\210`m\204\267\312\306w\210g\211\313U\203@\314u\210m\204#\314u\210\202#\n\315U\203d\f`{\316\317 \"\203W \320\230\204[ B\321\306w\210`\202#\n\322U\203s\323\324\306\325#\210\202#\n\326U\203#\314\314u\210m\204\263\325U\204\263\323\327\306\325#\210m\204`\330Zf\313U\204h\326U\203\253T\202S\202)\202#\f`{\316\317 \"\204\314 \320\230\204\314 B \237.\207" [string work-buffer char s start list nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer " \f\n " "^\"\\\\,(" 92 1 44 string-match "^[ \f\n ]+$" "" ", \f\n " 34 re-search-forward "[^\\\\]\"" 0 40 "[()]" 2 parens] 5]) (defalias 'vm-parse-structured-header #[(string &optional sepchar keep-quotes) "\205\210\306\212\307\216\306\310\306\211\211\211 \203* CP\311 CP\312 \313 !\210 q\210c\210eb\210\311\306w\210`m\204l\306w\210g\314\315!\203X\316\317!\210\202@ \320U\203k\317u\210m\204@\317u\210\202@ \203\227  U\203\227 `{\321\322\f\"\203\210\f\323\230\204\216\fB\n\306w\210`\202@\314\324!\203\244\324\306w\210\202@ \325U\203\306!\"\203\270\317u\210\202\274\316\317!\210!\204\326\327\306\330#\204\320\330\211!\202\276`Sf\331 \320\"\203\360\316\332!\210m\203\352\330\211!\202\276\317u\210\202\274\"\204\371\316\332!\210\330\211!\203\301)\202@ \333U\203@\306`\317#$!\317u\210!\204c\326\334\306\330#\204*\330\211!\202`Sf\331 \320\"\203Fm\203@\330\211!\202\317u\210\202\331 \333\"\203U#T#\202#S\211#\335U\211!\203$`|\210+\202@ `{\321\322\f\"\204\203\f\323\230\204\203\fB\237. \207" [string work-buffer sp+sepchar char s start nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) "^\"\\\\( \n \f" " \f\n " vm-make-work-buffer buffer-disable-undo looking-at "[ \n \f]" delete-char 1 92 string-match "^[ \f\n ]+$" "" " \n \f" 34 re-search-forward "[\\\\\"]" t char-equal -1 40 "[\\\\()]" 0 nonspecials list sepchar done keep-quotes parens pos] 7]) (byte-code "\301B\301\207" [current-load-list buffer-file-type] 2) (defalias 'vm-write-string #[(where string) "\306!\203p\307\216q\210db\210\310 c+\207\310\311\216\212\312\313!\211q\210\310 c\210\310\314ed\315\316%+\207" [where vm-sbe-buffer buffer-read-only string temp-buffer selective-display bufferp ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) nil ((byte-code "\203\301!\210\301\207" [temp-buffer kill-buffer] 2)) generate-new-buffer "*vm-work*" write-region t quiet buffer-file-type] 7]) (defalias 'vm-check-for-killed-summary #[nil "\306!\2036\307!\2046 \310\n\2035\n@\310\211\311H\312 I\210*\n@\310\211\311H\313 I\210*\nA\211\204)\306 !\205F\307 !?\205F\310\211\207" [vm-summary-buffer vm-message-list mp pos message vm-folders-summary-buffer bufferp buffer-name nil 1 3 4] 4]) (defalias 'vm-check-for-killed-presentation #[nil "\302!\205\303!?\205\304\304\211\207" [vm-presentation-buffer-handle vm-presentation-buffer bufferp buffer-name nil] 2]) (defalias 'vm-check-for-killed-folder #[nil "\301!\205\302!?\205\303\211\207" [vm-mail-buffer bufferp buffer-name nil] 2]) (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put folder-read-only error-conditions (folder-read-only error) error-message "Folder is read-only"] 4) (defalias 'vm-abs #[(n) "\301W\203 [\207\207" [n 0] 2]) (defalias 'vm-last #[(list) "\243\203\fA\211\202\207" [list] 2]) (defalias 'vm-vector-to-list #[(vector) "GS\303\211\304Y\203\nH B\nS\211\202 *\207" [vector list i nil 0] 3]) (defalias 'vm-extend-vector #[(vector length &optional fill) "G\211\nW\203\304\300\305!\306\n Z \"\244\"\202)\207" [vector vlength length fill apply vm-vector-to-list make-list] 7]) (defalias 'vm-obarray-to-string-list #[(blobarray) "\302\303\304 \"\210)\207" [list blobarray nil mapatoms #[(s) "\302! B\211\207" [s list symbol-name] 2]] 3]) (defalias 'vm-mapcar #[(function &rest lists) "\304\211\n@\203\305\306\n\"\307 \"B\305\310\n\"\211\202\237*\207" [result arglist lists function nil mapcar car apply cdr] 4]) (defalias 'vm-mapc #[(function &rest lists) "\303 @\205\304\305 \"\306\n\"\210\304\307 \"\211\202)\207" [arglist lists function nil mapcar car apply cdr] 4]) (defalias 'vm-delete #[(predicate list &optional reverse) " \203 \305\202\n\306\307\211\203= \f @!!\2034\n\204(A\211\211\202\n A\241\210 A\211\202  A\211\204+\207" [list reverse prev p predicate not identity nil] 4]) (defalias 'vm-delete-directory-file-names #[(list) "\301\302\"\207" [list vm-delete file-directory-p] 3]) (defalias 'vm-delete-backup-file-names #[(list) "\301\302\"\207" [list vm-delete backup-file-name-p] 3]) (defalias 'vm-delete-auto-save-file-names #[(list) "\301\302\"\207" [list vm-delete auto-save-file-name-p] 3]) (defalias 'vm-delete-index-file-names #[(list) "\301\302\"\207" [list vm-delete vm-index-file-name-p] 3]) (defalias 'vm-delete-directory-names #[(list) "\301\302\"\207" [list vm-delete file-directory-p] 3]) (defalias 'vm-index-file-name-p #[(file) "\303!\205 ;\205\304 !\305P\306\n\")\205\307\207" [file vm-index-file-suffix str file-regular-p regexp-quote "$" string-match t] 3]) (defalias 'vm-delete-duplicates #[(list &optional all hack-addresses) "\306\211\211\307\f\310\"\210 \203[ \203  @!A@\202\" @\211\206(\311\312 \2034\n\227\2025\n\f\"\313 !\203K\203T J\306\240\210\202T @ B L\210 A\211\204\314\306 \237\",\207" [vm-delete-duplicates-obarray sym sym-string new-list hashtable list nil fillarray 0 "-unparseable-garbage-" intern boundp delq hack-addresses vm-chop-full-name-function all] 5 "\ Delete duplicate equivalent strings from the list. If ALL is t, then if there is more than one occurrence of a string in the list, then all occurrences of it are removed instead of just the subsequent ones. If HACK-ADDRESSES is t, then the strings are considered to be mail addresses, and only the address part is compared (so that \"Name \" and \"foo\" would be considered to be equivalent.)"]) (defalias 'vm-member-0 #[(thing list) "\300\301\215\207" [done (byte-code "\203@ \232\203\302\303\"\210A\211\204\304\207" [list thing throw done nil] 4)] 2]) (byte-code "\300\301\302!\203 \302\202\f\303KM\207" [vm-member fboundp member vm-member-0] 3) (defalias 'vm-delqual #[(ob list) "\304 \203/ @\232\204  A\211\202\n\204%A\211\211\202 A\n \241\210\202*\207" [list curr prev ob nil] 3]) (defalias 'vm-copy-local-variables #[(buffer &rest variables) "\303\304\"\212\nq\210\305\306 #*\207" [variables values buffer mapcar symbol-value vm-mapc set] 4]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\306\302\307#\210\300\306\304\310#\207" [put folder-empty error-conditions (folder-empty error) error-message "Folder is empty" unrecognized-folder-type (unrecognized-folder-type error) "Unrecognized folder type"] 4) (defalias 'vm-error-if-folder-empty #[nil "?\205 \203\302\303\304\"\210\202\302\305\304\"\210\202\207" [vm-message-list vm-folder-type signal unrecognized-folder-type nil folder-empty] 3]) (defalias 'vm-copy #[(object) ":\2034\303\211\304@!\303B\211A\211:\203- \304@!\303B\241\210 AA\211\202 \241\210\n*\207\305!\203B\306\307\310\304\"\"\207;\203K\311!\207\312!\203U\313!\207\207" [object cons return-value nil vm-copy vectorp apply vector mapcar copy-sequence markerp copy-marker] 6]) (defalias 'vm-run-message-hook #[(message &optional hook-variable) "\212\211\305H\306H)q\210\307 deZV\310\211\211\203*\311 e\310\223\211\203*\311 d\310\223\312\216~\210\212\211\313H\305H)\211\313H\314H)}\210\315\f!.\207" [message #1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip hook-variable 1 9 buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) 0 4 run-hooks] 4]) (defalias 'vm-error-free-call #[(function &rest args) "\300\301\302\217\207" [nil (apply function args) ((error))] 3]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\306\302\307#\210\300\306\304\310#\207" [put beginning-of-folder error-conditions (beginning-of-folder error) error-message "Beginning of folder" end-of-folder (end-of-folder error) "End of folder"] 4) (defalias 'vm-trace #[(&rest args) "\212\301\302!q\210\303\304\")\207" [args get-buffer-create "*vm-trace*" apply insert] 3]) (defalias 'vm-timezone-make-date-sortable #[(string) " \236A\206f\304!\305\306 \307\"\211\310H\311\232\203 \310\312\n8I\210 \312H\311\232\203/ \312\nA@I\210 \313H\311\232\203> \313\314\n8I\210 \314H\311\232\203K \314\315I\210 \316H\311\232\203Y \316\317 I\210\320\321\322\217B B\211@A*\207" [string vm-sortable-date-alist date vect vm-parse-date vm-parse current-time-string " *\\([^ ]+\\)" 1 "" 2 3 4 "00:00:00" 5 vm-current-time-zone nil (byte-code "\301\302\303\304H\305H\306H\307H\310H&!\207" [vect timezone-make-date-sortable format "%s %s %s %s %s" 1 2 3 4 5] 9) ((error "1970010100:00:00"))] 5]) (defalias 'vm-current-time-zone #[nil "\301\302\303\217\206\301\301\304\305\217)\206\306\207" [temp-buffer nil (byte-code "\302 @\303!\304\245\305\306\307W\203\310\202\311 \304\245 \304\246$*\207" [zone absmin current-time-zone vm-abs 60 format "%c%02d%02d" 0 45 43] 6) ((error)) (byte-code "\301\216\212\302 \211q\210\303\304\305\305$\210\306\307\310 \311\"8*\207" [temp-buffer ((byte-code "\203\301!\210\301\207" [temp-buffer kill-buffer] 2)) vm-make-work-buffer call-process "date" nil 4 vm-parse vm-buffer-string-no-properties " *\\([^ ]+\\)"] 6) ((error)) ""] 3]) (defalias 'vm-should-generate-summary #[nil "\303=\203\303\207\250\203.\211\304W\203\305 !\n8?\202, \304U\203(\306\202, S\n8)\207\2034\303\207\306\207" [vm-startup-with-summary n vm-message-list t 0 vm-abs nil] 3]) (defalias 'vm-find-composition-buffer #[(&optional not-picky) "\305 \306\211\212\n\203;\n@q\210 \307=\2034\310 \203#p\306\211\202 \f\203-\204-p\nA\211\202 \nA\211\204\f \206@,\207" [alternate choice b-list major-mode not-picky buffer-list nil mail-mode buffer-modified-p] 4]) (defalias 'vm-get-file-buffer #[(file) "\301!\206\302\303!\203\301\303!!\206\302\304!\205\304!\207" [file get-file-buffer fboundp file-truename find-buffer-visiting] 3 "\ Like get-file-buffer, but also checks buffers against FILE's truename"]) (defalias 'vm-set-region-face #[(start end face) "\304 \"\305\n\303 #)\207" [start end e face vm-make-extent vm-set-extent-property] 4]) (defalias 'vm-default-buffer-substring-no-properties #[(beg end &optional buffer) "\203\212q\210 \n{)\202 \n{\304\305 G\306 $\210\307 !)\207" [buffer beg end s set-text-properties 0 nil copy-sequence] 5]) (byte-code "\301\302\303!\203 \303\202\203\304\202\305M\207" [vm-xemacs-p vm-buffer-substring-no-properties fboundp buffer-substring-no-properties buffer-substring vm-default-buffer-substring-no-properties] 3) (defalias 'vm-buffer-string-no-properties #[nil "\300ed\"\207" [vm-buffer-substring-no-properties] 3]) (defalias 'vm-insert-region-from-buffer #[(buffer &optional start end) "p q\210\214~\210\n\204e \204dq\210\304 \n #\210 q\210)q)\207" [target-buffer buffer start end insert-buffer-substring] 4]) (byte-code "\301\302!\204\203\302\303M\210\202\302\304M\210\301\305!\204*\203&\305\306M\210\202*\305\307M\210\301\310!\204?\203;\310\311M\210\202?\310\312M\210\301\313!\204T\203P\313\314M\210\202T\313\315M\210\301\316!\204i\203e\316\317M\210\202i\316\320M\210\301\321!\204~\203z\321\322M\210\202~\321\323M\210\301\324!\204\223\203\217\324\325M\210\202\223\324\326M\210\301\327!\204\250\203\244\327\330M\210\202\250\327\331M\210\301\332!\204\275\203\271\332\333M\210\202\275\332\334M\210\301\207" [vm-fsfemacs-p fboundp vm-extent-property overlay-get extent-property vm-extent-object overlay-buffer extent-object vm-set-extent-property overlay-put set-extent-property vm-set-extent-endpoints move-overlay set-extent-endpoints vm-make-extent make-overlay make-extent vm-extent-end-position overlay-end extent-end-position vm-extent-start-position overlay-start extent-start-position vm-detach-extent delete-overlay detach-extent vm-extent-properties overlay-properties extent-properties] 2) (defalias 'vm-extent-at #[(pos &optional object property) "\305\306!\203\f\306 \n#\207\307!\310\n\204\f@\2028\f\2037\311\f@\n\"\2030\f@\310\211\202\fA\211\204 *\207" [pos object property o o-list fboundp extent-at overlays-at nil overlay-get] 5]) (defalias 'vm-copy-extent #[(e) "\303!\304\305!\306!\"\211\205#\307 \n@\nA@#\210\nAA\211\204\310*\207" [e ee props vm-extent-properties vm-make-extent vm-extent-start-position vm-extent-end-position vm-set-extent-property nil] 6]) (defalias 'vm-make-tempfile #[(&optional filename-suffix proposed-filename) "\304 \305 \"\306\216\307\310\311!!\210\312\313\n\"\210\314``\n\315\316%\210)\n*\207" [filename-suffix proposed-filename file modes default-file-modes vm-make-tempfile-name ((set-default-file-modes modes)) set-default-file-modes vm-octal 600 vm-error-free-call delete-file write-region nil 0] 6]) (defalias 'vm-make-tempfile-name #[(&optional filename-suffix proposed-filename) "\306 ;\203\307\310\311 \n\"!\211!\203Y ;\2038\306 \2044\310\311\312\313\f #\n\"!\fT\307!\210\202)\202Y\306\310\311\312\314\f\315\316! \206G\317$\n\"!\fT\307!?\211\203:))\207" [filename proposed-filename vm-temp-file-directory done vm-tempfile-counter filename-suffix nil file-exists-p convert-standard-filename expand-file-name format "%d-%s" "vm%d%d%s" random 100000000 ""] 8]) (defalias 'vm-make-work-buffer #[(&optional name) "\303\211\304\n\206\n\305!\306!\210*\207" [work-buffer default-enable-multibyte-characters name nil generate-new-buffer "*vm-workbuf*" buffer-disable-undo] 2]) (defalias 'vm-make-multibyte-work-buffer #[(&optional name) "\303\304\305\n\206\n\306!\307!\210*\207" [work-buffer default-enable-multibyte-characters name t nil generate-new-buffer "*vm-workbuf*" buffer-disable-undo] 2]) (defalias 'vm-insert-char #[(char &optional count ignored buffer) "\300\301\302\217\207" [nil (byte-code "\304 \n $\210\305\304M\207" [char count ignored buffer insert-char vm-insert-char] 5) ((wrong-number-of-arguments (byte-code "\304\305M\210\304 \n $\207" [char count ignored buffer vm-insert-char vm-xemacs-compatible-insert-char] 5)))] 3]) (defalias 'vm-xemacs-compatible-insert-char #[(char &optional count ignored buffer) "\203p=\203\303 \n\"\207\212q\210\303 \n\")\207" [buffer char count insert-char] 3]) (defalias 'vm-symbol-lists-intersect-p #[(list1 list2) "\300\301\215\207" [done (byte-code "\203@ >\203\302\303\304\"\210A\211\204\305\207" [list1 list2 throw done t nil] 4)] 2]) (defalias 'vm-set-buffer-variable #[(buffer var value) "\212q\210 \nL)\207" [buffer var value] 2]) (defalias 'vm-buffer-variable-value #[(buffer var) "\212q\210 J)\207" [buffer var] 1]) (defalias 'vm-with-string-as-temp-buffer #[(string function) "\303\304\216\212\305 \211q\210 c\210\n \210\306 +\207" [work-buffer string function nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-multibyte-work-buffer buffer-string] 2]) (put 'vm-with-string-as-temp-buffer 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-string-assoc #[(elt list) "\304\305\306! \2031 \2041\307 @@\"\310\232\203*\310\225 @@GU\203*\304\202 A\211\204\f @+\207" [elt found case-fold-search list t nil regexp-quote string-match 0] 5]) (defalias 'vm-nonneg-string #[(n) "\301W\203\302\207\303!\207" [n 0 "?" int-to-string] 2]) (defalias 'vm-string-member #[(elt list) "\304\305\306! \203/ \204/\307 @\"\310\232\203(\310\225 @GU\203(\304\202 A\211\204\f +\207" [elt found case-fold-search list t nil regexp-quote string-match 0] 5]) (defalias 'vm-string-equal-ignore-case #[(str1 str2) "\304\305!\306 \"\307\232\205\307\225 GU*\207" [str1 reg case-fold-search str2 t regexp-quote string-match 0] 3]) (defalias 'vm-time-difference #[(t1 t2) "\306\211\211\211\307\f8\307 8Z\211\310W\203\311 \312\\\202!\310\fA@ A@ZZ\211\310W\203:\311\n\313\\\202<\310\f@ @ZZ\211\313_\n\\ \314\315!\203T\316\202U\312\245\\,\207" [carry 65536-secs secs usecs t1 t2 nil 2 0 1 1000000 65536 featurep lisp-float-type 1000000.0] 5]) (byte-code "\300\301!\203 \302\301M\210\202\302\303M\210\300\304!\203\305\304M\210\202(\300\306!\203(\305\306M\210\300\307!\2035\310\307M\210\2029\310\311M\210\300\207" [fboundp char-to-int vm-char-to-int identity charsets-in-region vm-charsets-in-region find-charset-region coding-system-name vm-coding-system-name symbol-name] 2) (defalias 'vm-get-file-line-ending-coding-system #[(file) "\204\f \204\f\n\205 \203\305\202\n\203\305\202\306\307\310\216\212\311 \211q\210\307\312\313\217\210eb\210\314\315\307\316#\203E\203A\317\202~\320\202~\314\321\307\316#\203Y\203U\322\202~\323\202~\324\325\307\316#\203m\203i\326\202~\327\202~ \203u\306\202~\n\203}\306\202~\330,\207" [vm-fsfemacs-mule-p vm-xemacs-mule-p vm-xemacs-file-coding-p work-buffer coding-system-for-read binary no-conversion nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer (insert-file-contents file nil 0 4096) ((error)) re-search-forward "[^ ]\n" t raw-text-unix no-conversion-unix " [^\n]" raw-text-mac no-conversion-mac search-forward " \n" raw-text-dos no-conversion-dos raw-text] 5]) (defalias 'vm-new-folder-line-ending-coding-system #[nil "\304=\203 \203\f\305\207\n\203\305\207\306\207\307=\203\" \203 \310\207\311\207\312=\2030 \203.\313\207\314\207\315=\203> \203<\316\207\317\207 \203D\305\207\n\203J\305\207\306\207" [vm-default-new-folder-line-ending-type vm-xemacs-mule-p vm-xemacs-file-coding-p vm-fsfemacs-mule-p nil no-conversion raw-text lf raw-text-unix no-conversion-unix crlf raw-text-dos no-conversion-dos cr raw-text-mac no-conversion-mac] 2]) (defalias 'vm-collapse-whitespace #[nil "eb\210\300\301\302\303#\205\304\305\306\211#\210\202\207" [re-search-forward "[ \n]+" nil 0 replace-match " " t] 4]) (defalias 'vm-fill-paragraphs-containing-long-lines #[(len start end) "\306\211\307\212\310 deZV\306\211\211\203+\311 e\306\223\211\203+\311 d\306\223\312\216~\210\313!\204G\306\311 \223*b\210\f?\205o\314\315\316#\210iY\203c\306\317\320\217\210\306y\210`Y\211\202L. \207" [vm-paragraph-fill-column filladapt-fill-column-forward-fuzz fill-column buffer-read-only done #1=#:vm-sr-max nil 0 buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#2=#:vm-sr-clip #3=#:vm-sr-min #1# nil] 3)) markerp re-search-forward "$" t (fill-paragraph nil) ((error)) #3# #2# end buffer pos start len] 5]) (defalias 'vm-make-message-id #[nil "\303\304 \305\306\307 \"\203\307 \202#\n;\203\"\305\306\n\"\203\"\n\202#\310\311\312@A@\3138\314\315! &*\207" [time hostname mail-host-address nil current-time string-match "\\." system-name "gargle.gargle.HOWL" format "<%d.%d.%d.%d@%s>" 2 random 1000000] 7]) (defalias 'vm-keep-some-buffers #[(buffer ring-variable number-to-keep) " J>\203 \304 J\"L\210  JBL\210 \305\306 J\307#L\210\n\307=?\205E\n\206+\310 J\233\311\312 \"\210 J\205D \205D @ J>\313\241)\207" [buffer ring-variable number-to-keep extras delq vm-delete buffer-name t 0 mapcar #[(b) "\302!\205\303!\203\304 \"?\205\305!\207" [b buffer-offer-save buffer-name buffer-modified-p vm-buffer-variable-value kill-buffer] 3] nil] 5]) (byte-code "\301B\302B\301\207" [current-load-list enable-multibyte-characters buffer-display-table] 2) (defalias 'vm-fsfemacs-nonmule-display-8bit-chars #[nil "\205: \203\306\302!\205:\n?\205:\307\310\311\312\313\314#\210\315\312\307\"\f\316W\2036 \f\317\f!I\210\fT\211\202# \211*\207" [vm-fsfemacs-p vm-fsfemacs-mule-p enable-multibyte-characters tab i buffer-display-table boundp nil 160 put display-table char-table-extra-slots 6 make-char-table 256 vector] 5]) (defalias 'vm-url-decode-string #[(string) "\303\304\305\216\212\306 \211q\210c\210 \210\307 -\207" [string function work-buffer vm-url-decode-buffer nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-multibyte-work-buffer buffer-string] 2]) (defalias 'vm-url-decode-buffer #[nil "\303\304\305\212eb\210\306\307\305\303#\2050\310`\311Zf \236A\312_`Sf \236A\\\313\"\210`S`\314Z|\210\202\n,\207" [char hex-digit-alist case-fold-search t ((48 . 0) (49 . 1) (50 . 2) (51 . 3) (52 . 4) (53 . 5) (54 . 6) (55 . 7) (56 . 8) (57 . 9) (65 . 10) (66 . 11) (67 . 12) (68 . 13) (69 . 14) (70 . 15) (97 . 10) (98 . 11) (99 . 12) (100 . 13) (101 . 14) (102 . 15)) nil re-search-forward "%[0-9A-F][0-9A-F]" insert-char 2 16 1 4] 4]) (defalias 'vm-process-sentinel-kill-buffer #[(process what-happened) "\301\302!!\207" [process kill-buffer process-buffer] 3]) (defalias 'vm-fsfemacs-scroll-bar-width #[nil "\206\302\303 \304\302!\210 \303 Z\304\302!\210 \211)\207" [vm-fsfemacs-cached-scroll-bar-width size nil frame-pixel-width scroll-bar-mode] 2]) (provide 'vm-misc) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:27 2004 ;;; from file /Users/kyle/vm/vm-motion.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-motion.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-record-and-change-message-pointer #[(old new) "\306\307 \"\210\310 \210  \311\211\207" [vm-buffers-needing-display-update old vm-last-message-pointer new vm-message-pointer vm-need-summary-pointer-update intern buffer-name vm-garbage-collect-message t] 3]) (defalias 'vm-goto-message #[(n) "\205O \203\306 !\204\307\310!\210 q\210\202\"\n\311>\204\"\307\312!\210\313 \210\314 \210\315\316\211\317\320$\210S \233\211\204<\307\321!\210 \f=\203G\322 \202N\323 \f\"\210\322 )\207" [n vm-mail-buffer major-mode vm-message-list cons vm-message-pointer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-display nil (vm-goto-message) (vm-goto-message) "No such message." vm-preview-current-message vm-record-and-change-message-pointer] 6 "\ Go to the message numbered N. Interactively N is the prefix argument. If no prefix arg is provided N is prompted for in the minibuffer. If vm-follow-summary-cursor is non-nil this command will go to the message under the cursor in the summary buffer if the summary window is selected. This only happens if no prefix argument is given." (list (cond (current-prefix-arg (prefix-numeric-value current-prefix-arg)) ((vm-follow-summary-cursor) nil) ((vm-follow-folders-summary-cursor) nil) (t (let ((last-command last-command) (this-command this-command)) (vm-read-number "Go to message: ")))))]) (defalias 'vm-goto-message-last-seen #[nil "\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\311 \210\312 \210\313\314\211\315\316$\210\n\2056\317 \n\"\210\320 \207" [vm-mail-buffer major-mode vm-last-message-pointer vm-message-pointer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-display nil (vm-goto-message-last-seen) (vm-goto-message-last-seen) vm-record-and-change-message-pointer vm-preview-current-message] 5 "\ Go to the message last previewed." nil]) (defalias 'vm-goto-parent-message #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\316\n!\2041\317\320!\210\321\320\211\322\323$\210\324 @!\320\211A\204J\304\325!\202q AA\203W A\211\202K @\326N@\211\204g\304\327!\202q\330 \f>\"\210\331 *\207" [vm-mail-buffer major-mode vm-thread-obarray vm-message-pointer message list vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vectorp vm-build-threads nil vm-display (vm-goto-parent-message) (vm-goto-parent-message) vm-th-thread-list "Message has no parent." messages "Parent message is not in this folder." vm-record-and-change-message-pointer vm-preview-current-message vm-message-list] 6 "\ Go to the parent of the current message." nil]) (defalias 'vm-check-count #[(count) "\303Y\203 GW\205#\304\305\306\"\207\nG GZT\307!W\205#\304\310\306\"\207" [count vm-message-pointer vm-message-list 0 signal end-of-folder nil vm-abs beginning-of-folder] 3]) (defalias 'vm-move-message-pointer #[(direction) "\n\306=\203 A\211\204? \203\f\202?\307\310\311\"\210\202? @\211\312H\313HJ)\211\204? \203:\314\f!\202?\307\315\311\"\210 \211)\207" [vm-message-pointer mp direction vm-circular-folders vm-message-list message forward signal end-of-folder nil 1 6 vm-last beginning-of-folder] 4]) (defalias 'vm-should-skip-message #[(mp &optional skip-dogmatically) "\203N \203\n@\211\306H\306H)\206\233\f\203=\n@\211\306H\306H)\206\233\n@\211\306H\307H)\2069\n@\211\306H\310H)?\206\233 \311=\205M\n@\211\310H\306H)?\207 \312=\203`\n@\211\306H\306H)\206\233\f\312=\203\213\n@\211\306H\306H)\206\233\n@\211\306H\307H)\206\207\n@\211\306H\310H)?\206\233 \311=\205\233\n@\211\310H\306H)?\207" [skip-dogmatically vm-skip-deleted-messages mp message vm-skip-read-messages last-command 2 0 1 vm-next-command-uses-marks t] 3]) (defalias 'vm-next-message #[(&optional count retry signal-errors) "t\203\306 \210\203\307!\204\310\311!\210q\210\202% \312>\204%\310\313!\210\314 \210\315\316\211\317\nC$\210 \2037\320 \210\f\204=\321 \322=\316\f\323V\203M\324\202N\325\326\f! ! \204d\"\202w\f\321U\204r\316\327\330\217\210\202w\316\331\332\217\210 !=\204\207\333! \"\210\334 \210\205\225 \205\225\335\316\"-\207" [vm-mail-buffer major-mode this-command signal-errors count vm-message-pointer vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-display nil (vm-next-message vm-delete-message vm-undelete-message vm-scroll-forward) vm-error-if-folder-empty 1 vm-next-command-uses-marks 0 forward backward vm-abs (byte-code " \306U\204I\307\n!\210 \203B\f@\211\310H\311H)\204B\f=\2045\f@\211\310H\311H)\2045\307\n!\210\202\f=\203@\310\202B\f S\211\202)\306\207" [oldmp count direction use-marks vm-message-pointer message 0 vm-move-message-pointer 1 2] 3) ((beginning-of-folder (byte-code "\301\301\207" [error beginning-of-folder] 1)) (end-of-folder (byte-code "\301\301\207" [error end-of-folder] 1))) (byte-code "\305!\210 \n=\204\306\n\307\"\203\305!\210\202\n =\203> \203>\fA\203>\305!\210 \n=\204>\306\n!\203>\305!\210\202+\305\207" [direction oldmp vm-message-pointer retry vm-message-list vm-move-message-pointer vm-should-skip-message t] 3) ((beginning-of-folder (byte-code "\n\203\304\305\306\217\202\307\304\207" [oldmp vm-message-pointer retry error nil (byte-code "\302 !\210\303!\203\302 !\210\202)\207" [vm-message-pointer direction vm-move-message-pointer vm-should-skip-message] 2) ((beginning-of-folder (byte-code "\302 \207" [error oldmp beginning-of-folder] 1))) beginning-of-folder] 3)) (end-of-folder (byte-code "\n\203\304\305\306\217\202\307\304\207" [oldmp vm-message-pointer retry error nil (byte-code "\302 !\210\303!\203\302 !\210\202)\207" [vm-message-pointer direction vm-move-message-pointer vm-should-skip-message] 2) ((end-of-folder (byte-code "\302 \207" [error oldmp end-of-folder] 1))) end-of-folder] 3))) vm-record-and-change-message-pointer vm-preview-current-message signal last-command direction use-marks oldmp vm-message-list] 6 "\ Go forward one message and preview it. With prefix arg (optional first argument) COUNT, go forward COUNT messages. A negative COUNT means go backward. If the absolute value of COUNT is greater than 1, then the values of the variables vm-skip-deleted-messages and vm-skip-read-messages are ignored. When invoked on marked messages (via vm-next-command-uses-marks) this command 'sees' marked messages as it moves." "p\np\np"]) (defalias 'vm-previous-message #[(&optional count retry signal-errors) "\204\305t\203 \306 \210 \203!\307 !\204\310\311!\210 q\210\202+\n\312>\204+\310\313!\210\314\315\211\316\317$\210\320[ \f#\207" [count vm-mail-buffer major-mode retry signal-errors 1 vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-display nil (vm-previous-message) (vm-previous-message) vm-next-message] 5 "\ Go back one message and preview it. With prefix arg COUNT, go backward COUNT messages. A negative COUNT means go forward. If the absolute value of COUNT > 1 the values of the variables vm-skip-deleted-messages and vm-skip-read-messages are ignored." "p\np\np"]) (defalias 'vm-next-message-no-skip #[(&optional count) "t\203\305 \210\203\306!\204\307\310!\210q\210\202% \311>\204%\307\312!\210\313\314\211\315\316$\210\314\211\317\f\314\320#*\207" [vm-mail-buffer major-mode vm-skip-read-messages vm-skip-deleted-messages count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-display nil (vm-next-message-no-skip) (vm-next-message-no-skip) vm-next-message t] 5 "\ Like vm-next-message but will not skip deleted or read messages." "p"]) (fset 'vm-Next-message 'vm-next-message-no-skip) (defalias 'vm-previous-message-no-skip #[(&optional count) "t\203\305 \210\203\306!\204\307\310!\210q\210\202% \311>\204%\307\312!\210\313\314\211\315\316$\210\314\211\317\f!*\207" [vm-mail-buffer major-mode vm-skip-read-messages vm-skip-deleted-messages count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-display nil (vm-previous-message-no-skip) (vm-previous-message-no-skip) vm-previous-message] 5 "\ Like vm-previous-message but will not skip deleted or read messages." "p"]) (fset 'vm-Previous-message 'vm-previous-message-no-skip) (defalias 'vm-next-unread-message #[nil "t\203\302 \210\203\303!\204\304\305!\210q\210\202% \306>\204%\304\307!\210\310 \210\311\312\211\313\314$\210\312\315\316\217\207" [vm-mail-buffer major-mode vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-display nil (vm-next-unread-message) (vm-next-unread-message) (byte-code "\303\304\305\306\303#\210 =\205\307\310\306\"*\207" [vm-message-pointer oldmp vm-skip-read-messages t vm-next-message 1 nil signal end-of-folder] 4) ((end-of-folder (message "No next unread message")))] 5 "\ Move forward to the nearest new or unread message, if there is one." nil]) (defalias 'vm-previous-unread-message #[nil "t\203\302 \210\203\303!\204\304\305!\210q\210\202% \306>\204%\304\307!\210\310 \210\311\312\211\313\314$\210\312\315\316\217\207" [vm-mail-buffer major-mode vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-display nil (vm-previous-unread-message) (vm-previous-unread-message) (byte-code "\303\304 \210 =\205\305\306\307\"*\207" [vm-message-pointer oldmp vm-skip-read-messages t vm-previous-message signal beginning-of-folder nil] 3) ((beginning-of-folder (message "No previous unread message")))] 5 "\ Move backward to the nearest new or unread message, if there is one." nil]) (defalias 'vm-next-message-same-subject #[nil "t\203\306 \210\203\307!\204\310\311!\210q\210\202% \312>\204%\310\313!\210\314 \210\315\316\211\317\320$\210\n\316\321\n@!\316\322\323\217+\207" [vm-mail-buffer major-mode vm-message-pointer subject done oldmp vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-display nil (vm-next-message-same-subject) (vm-next-message-same-subject) vm-so-sortable-subject (byte-code "\204\"\304\305!\210 \n=\203\306\307\310\"\210 \311\n@!\232\203\312\211\203\313 \n\"\210\314 \207" [done oldmp vm-message-pointer subject vm-move-message-pointer forward signal end-of-folder nil vm-so-sortable-subject t vm-record-and-change-message-pointer vm-preview-current-message] 4) ((end-of-folder (byte-code "\302\303!\207" [oldmp vm-message-pointer message "No next message with the same subject"] 2)))] 5 "\ Move forward to the nearest message with the same subject. vm-subject-ignored-prefix and vm-subject-ignored-suffix will apply to the subject comparisons." nil]) (defalias 'vm-previous-message-same-subject #[nil "t\203\306 \210\203\307!\204\310\311!\210q\210\202% \312>\204%\310\313!\210\314 \210\315\316\211\317\320$\210\n\316\321\n@!\316\322\323\217+\207" [vm-mail-buffer major-mode vm-message-pointer subject done oldmp vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-display nil (vm-previous-message-same-subject) (vm-previous-message-same-subject) vm-so-sortable-subject (byte-code "\204\"\304\305!\210 \n=\203\306\307\310\"\210 \311\n@!\232\203\312\211\203\313 \n\"\210\314 \207" [done oldmp vm-message-pointer subject vm-move-message-pointer backward signal beginning-of-folder nil vm-so-sortable-subject t vm-record-and-change-message-pointer vm-preview-current-message] 4) ((beginning-of-folder (byte-code "\302\303!\207" [oldmp vm-message-pointer message "No previous message with the same subject"] 2)))] 5 "\ Move backward to the nearest message with the same subject. vm-subject-ignored-prefix and vm-subject-ignored-suffix will apply to the subject comparisons." nil]) (defalias 'vm-find-first-unread-message #[(new) "\305\211\n \2035 \203l @\211\306H\307H)\203. @\211\306H\306H)\204. \305\211\202 A\211\202 \203l @\211\306H\307H)\204Q @\211\306H\310H)\203e @\211\306H\306H)\204e \305\211\2026 A\211\2049*\207" [unread-mp mp vm-message-list new message nil 2 0 1] 3]) (defalias 'vm-thoughtfully-select-message #[nil "\205\306\307! \205\306\310!\310\211 \204\311\f! \206'\f\206' \211\205;\n =?\205;\312 \n\"\210\n,\207" [vm-jump-to-new-messages vm-jump-to-unread-messages mp fix unread new vm-find-first-unread-message t nil vm-last vm-record-and-change-message-pointer vm-message-pointer vm-message-list] 5]) (defalias 'vm-follow-summary-cursor #[nil "\205\303 \306=\205\303`\307\211\211\212q\210)\f\203@ \f@\211\310H\311H)Y\203D \f@\211\310H\312H)W\203D\307\202\302m\203[\f@\211\310H\312H) U\203[\307\202\302m\203v\313\f!\212q\210\314\n\"\210\315 \210)\316\202\302 \f@\211\310H\311H)W\203\212 \202\217\fA\307\n\f=\204\253 \n@\211\310H\312H)Y\203\253\nA\211\202\220\n\f=?\205\302\212q\210\314\n\"\210\315 \210)\316,\207" [vm-follow-summary-cursor major-mode mp message-list message-pointer point vm-summary-mode nil 1 3 4 vm-last vm-record-and-change-message-pointer vm-preview-current-message t vm-mail-buffer vm-message-pointer vm-message-list message] 5]) (provide 'vm-motion) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:27 2004 ;;; from file /Users/kyle/vm/vm-mouse.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-mouse.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-mouse-set-mouse-track-highlight #[(start end &optional overlay) "\2044 \203\306\n \"\307\f\310\311#\210\f)\207 \205G\312\n \"\313\f\314\315#\210\313\f\316\317#\210\313\f\311\315#\210\f)\207 \203>\320\n #\207 \205G\321\n #\207" [overlay vm-fsfemacs-p start end o vm-xemacs-p make-overlay overlay-put mouse-face highlight make-extent set-extent-property start-open t priority 10 move-overlay set-extent-endpoints] 4]) (defalias 'vm-mouse-button-2 #[(event) "\305 \203\306\307!!q\210\310!\203H\310!b\210\202H\311 \203H\306\211A@)\211@)!q\210\211A@)\211A@:\203B A@@\202E A@)b\210\n\312=\203d\313!\210\314 \210\315\303 )?\205}\316\317\316!\207\n\320=\203t\313!\210\314 \210\321 \207\n\322>\205}\323!\207" [event position major-mode vm-follow-summary-cursor this-command vm-mouse-xemacs-mouse-p window-buffer event-window event-point vm-mouse-fsfemacs-mouse-p vm-summary-mode mouse-set-point beginning-of-line t vm-scroll-forward call-interactively vm-folders-summary-mode vm-follow-folders-summary-cursor (vm-mode vm-virtual-mode vm-presentation-mode) vm-mouse-popup-or-select] 4 nil "e"]) (defalias 'vm-mouse-button-3 #[(event) "\205}\304 \203\305\306 !!q\210\307 !\203L\307 !b\210\202L\310 \203L\305 \211A@)\211@)!q\210 \211A@)\211A@:\203F\nA@@\202I\nA@)b\210 \311=\203V\312 !\207 \313=\203`\314 !\207 \315=\203j\314 !\207 \316=\203t\314 !\207 \317=\205}\314 !\207" [vm-use-menus event position major-mode vm-mouse-xemacs-mouse-p window-buffer event-window event-point vm-mouse-fsfemacs-mouse-p vm-summary-mode vm-menu-popup-mode-menu vm-mode vm-menu-popup-context-menu vm-presentation-mode vm-virtual-mode mail-mode] 4 nil "e"]) (defalias 'vm-mouse-3-help #[(object) "\300\207" ["Use mouse button 3 to see a menu of options."] 1]) (defalias 'vm-mouse-get-mouse-track-string #[(event) "\212\306 \203\307\310!!q\210\311!\203I\311!b\210\202I\312 \203I\307\211A@)\211@)!q\210\211A@)\211A@:\203C A@@\202F A@)b\210\n\203|\313`!\314\211\203w\315\f@\316\"\203p\317\320\f@!\321\f@!\"\314\211\202T\fA\211\204W *\202\231 \203\230\322`\314\323#\211\205\224\324!\325!{)\202\231\314)\207" [event position vm-fsfemacs-p string o-list vm-xemacs-p vm-mouse-xemacs-mouse-p window-buffer event-window event-point vm-mouse-fsfemacs-mouse-p overlays-at nil overlay-get mouse-face vm-buffer-substring-no-properties overlay-start overlay-end extent-at highlight extent-start-position extent-end-position e] 5]) (defalias 'vm-mouse-popup-or-select #[(event) "\305 \203s\306\211A@)\211@)!q\210\211A@)\211A@:\203( A@@\202+ A@)b\210\307\211\310`!\211\203i\n\204i\311 @\312\"\203O\313\314!\210\202b\311 @\315\"\203b\313\311 @\315\" @!\210 A\211\204:\n?\205q\316!*\207\317 \205\261\306\320!!q\210\321!\203\212\321!b\210\307\322`p\312#\203\232\314!\202\260\322`\307\315#\211\203\255\323\f\315\"\f!\202\260\316!)\207" [event position found o-list e vm-mouse-fsfemacs-mouse-p window-buffer nil overlays-at overlay-get vm-url t vm-mouse-send-url-at-event vm-mime-function vm-menu-popup-context-menu vm-mouse-xemacs-mouse-p event-window event-point extent-at extent-property] 5 nil "e"]) (defalias 'vm-mouse-send-url-at-event #[(event) "\302 \203\303\304!!q\210\305!\203\305!b\210\306\305!!\207\307 \205f\303\211A@)\211@)!q\210\211A@)\211A@:\203E A@@\202H A@)b\210\306\211A@)\211A@:\203a A@@\202d A@)!\207" [event position vm-mouse-xemacs-mouse-p window-buffer event-window event-point vm-mouse-send-url-at-position vm-mouse-fsfemacs-mouse-p] 4 nil "e"]) (defalias 'vm-mouse-send-url-at-position #[(pos &optional browser) "\214~\210\306 \203$\307p\310#\311\211\205 \312\n!\313\n!{\314 \"*\202[\315 \205[\311\211\211\316!\211\203F\317 @\310\"\204F A\211\2047 \205Z @\320\321\f!\322\f!\"\314 \"+)\207" [pos url e browser o o-list vm-mouse-xemacs-mouse-p extent-at vm-url nil extent-start-position extent-end-position vm-mouse-send-url vm-mouse-fsfemacs-mouse-p overlays-at overlay-get vm-buffer-substring-no-properties overlay-start overlay-end] 5]) (defalias 'vm-mouse-send-url #[(url &optional browser switches) "\305\306\"\203 \307!\207 \206\n \206\f\2119\203\" !\202: ;\205:\310\311 \"\210\312\313 \314 C\"#\210\310\315 \"*\207" [url browser vm-url-browser switches vm-url-browser-switches string-match "^mailto:" vm-mail-to-mailto-url message "Sending URL to %s..." apply vm-run-background-command append "Sending URL to %s... done"] 7]) (defalias 'vm-mouse-send-url-to-netscape #[(url &optional new-netscape new-window) "\305\306\"\203\307\310\311\312$\202\313\314!\210 \203&\315\316\n\317 C\"#\210\202G\320\315\321\n\317 \322\323\f\2037\324\2028\325\326RD\"#\232\204G\327\312\f#\210\313\330!\207" [url new-netscape vm-netscape-program vm-netscape-program-switches new-window string-match "," replace-match "%2C" nil t message "Sending URL to Netscape..." apply vm-run-background-command append 0 vm-run-command "-remote" "openURL(" ",new-window" "" ")" vm-mouse-send-url-to-netscape "Sending URL to Netscape... done"] 11]) (defalias 'vm-mouse-send-url-to-netscape-new-window #[(url) "\301\302\303#\207" [url vm-mouse-send-url-to-netscape nil t] 4]) (byte-code "\301B\301\207" [current-load-list buffer-file-type] 2) (defalias 'vm-mouse-send-url-to-mosaic #[(url &optional new-mosaic new-window) "\303\304 \n$\207" [url new-mosaic new-window vm-mouse-send-url-to-xxxx-mosaic mosaic] 5]) (defalias 'vm-mouse-send-url-to-mmosaic #[(url &optional new-mosaic new-window) "\303\304 \n$\207" [url new-mosaic new-window vm-mouse-send-url-to-xxxx-mosaic mmosaic] 5]) (defalias 'vm-mouse-send-url-to-xxxx-mosaic #[(m-type url &optional new-mosaic new-window) "\306=\203\n\307\202 \310\311\312 \"\210\n\204\305\306=\203\313\202 \314\315 \203)\316\2022\f\2031\316\2022\317 \203:\316\202C\f\203B\316\202C\317\320*+,-\321-!\203\264\322,!q\210\320.\323 \210\324-!\210\325\326\327 !!\323 \210/\203x\330\202y\331\332\261\2100\332\261\210\3201\333\334!\203\241\334 \203\225\316\202\236\f\203\235\316\202\236\317\320\"\210\335ed\336 P\320\337%\210\340\320!\210\341,!\210 \203\302\342\343\344 #\337\232\204\304\345-\n\203\354\346\347\306=\203\3262\202\3303\350\306=\203\3444\202\34650C\"#\210\311\351 \")\207" [m-type what new-mosaic vm-xemacs-mule-p vm-xemacs-file-coding-p pid mmosaic "mMosaic" "Mosaic" message "Sending URL to %s..." "~/.mMosaic/.mosaicpid" "~/.mosaicpid" " *mosaic work*" no-conversion raw-text nil file-exists-p get-buffer-create erase-buffer insert-file-contents int-to-string string-to-int buffer-string "newwin" "goto" 10 fboundp set-buffer-file-coding-system write-region "/tmp/Mosaic." 0 set-buffer-modified-p kill-buffer vm-run-command "kill" "-USR1" t apply vm-run-background-command append "Sending URL to %s... done" coding-system-for-write coding-system-for-read work-buffer pid-file selective-display new-window url buffer-file-type vm-mmosaic-program vm-mosaic-program vm-mmosaic-program-switches vm-mosaic-program-switches] 6]) (defalias 'vm-mouse-send-url-to-mosaic-new-window #[(url) "\301\302\303#\207" [url vm-mouse-send-url-to-mosaic nil t] 4]) (defalias 'vm-mouse-send-url-to-konqueror #[(url &optional new-konqueror) "\306\307!\210\203\310\311 \312\n C\"#\210\202)\313\310\314\f\312 \315 D\"#\232\204)\316 \317\"\210\306\320!\207" [new-konqueror vm-konqueror-program vm-konqueror-program-switches url vm-konqueror-client-program vm-konqueror-client-program-switches message "Sending URL to Konqueror..." apply vm-run-background-command append 0 vm-run-command "openURL" vm-mouse-send-url-to-konqueror t "Sending URL to Konqueror... done"] 8]) (defalias 'vm-mouse-send-url-to-konqueror-new-browser #[(url) "\301\302\"\207" [url vm-mouse-send-url-to-konqueror t] 3]) (defalias 'vm-mouse-send-url-to-clipboard #[(url) "\301\302!\210\303\304!\203\304\305\"\210\202*\303\306!\203\306!\210\202*\303\307!\203*\307\305\"\210\301\310!\207" [url message "Sending URL to X Clipboard..." fboundp own-selection CLIPBOARD x-own-clipboard x-own-selection-internal "Sending URL to X Clipboard... done"] 3]) (defalias 'vm-mouse-send-url-to-safari #[(url) "\302\303!\210\304\305\306!!\307\216rq\210\310c\210\311c\210\312c\210\313\314 \"c\210\315c\210\316ed\317#\210+\302\320!\207" [#1=#:temp-buffer url message "Sending URL to Safari..." get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) "tell application \"Safari\"\n" " activate\n" " make new document at the beginning of documents\n" format " set the URL of the front document to \"%s\"\n" "end tell\n" call-process-region "/usr/bin/osascript" "Sending URL to Safari... done"] 4 "\ Sends URL to Safari, using Apple's Open Scripting Architecture."]) (defalias 'vm-mouse-install-mouse #[nil "\302 \203\303\304\"?\2054\305\304\306#\207\307 \2054\303\310\"\204%\305\311\306#\210 \2054\305\312\313#\210\305\314\315#\207" [vm-mode-map vm-popup-menu-on-mouse-3 vm-mouse-xemacs-mouse-p lookup-key button2 define-key vm-mouse-button-2 vm-mouse-fsfemacs-mouse-p [mouse-2] [mouse-2] [mouse-3] ignore [down-mouse-3] vm-mouse-button-3] 4]) (defalias 'vm-run-background-command #[(command &rest arg-list) "\302\303\304\305\304 &\207" [command arg-list apply call-process nil 0] 7]) (defalias 'vm-run-command #[(command &rest arg-list) "\302\303\304\211\211 &\207" [command arg-list apply call-process nil] 7]) (defalias 'vm-run-command-on-region #[(start end output-buffer command &rest arg-list) "\306\203 \307\202 \203\307\202\310\203\307\202# \203\"\307\202#\310\311\306\211\211\312\216\313 \314\315\306D\306&\211\316\232\203U\311\202\204\317\320!8\316\232\203k\321\322 #\210\311\202\204\212\321\322 #\210\323!q\210\324 \325\306!\210 \n)B.\207" [vm-xemacs-mule-p vm-xemacs-file-coding-p errstring status selective-display binary-process-input nil binary no-conversion t ((byte-code "\301\302\"\207" [tempfile vm-error-free-call delete-file] 3)) vm-make-tempfile-name apply call-process-region 0 7 file-attributes message "%s exited non-zero (code %s)" find-file-noselect buffer-string kill-buffer coding-system-for-write coding-system-for-read tempfile start end command output-buffer arg-list] 10]) (byte-code "\301B\302B\303B\304B\305B\306B\307B\310B\301\207" [current-load-list vm-mouse-read-file-name-prompt vm-mouse-read-file-name-dir vm-mouse-read-file-name-default vm-mouse-read-file-name-must-match vm-mouse-read-file-name-initial vm-mouse-read-file-name-history vm-mouse-read-file-name-return-value vm-mouse-read-file-name-should-delete-frame] 2) (defalias 'vm-mouse-read-file-name #[(prompt &optional dir default must-match initial history) "\212\204 \306\307!q\210\310\311 !\210\312\313\304!\210\313\305!\210\313\314!\210\313\315!\210\313\316!\210\313\317!\210\313\320!\210\313\321!\210 \f  ! \322\322\"\203i#\203i\323 \203i\212\312\324\325!\210)\326p!\210\327 \210\212\330\331\332\"\210\333 \210)\334\320!\205\206\335p!\210)\207" [dir default-directory buffer-read-only prompt vm-mouse-read-file-name-prompt vm-mouse-read-file-name-dir vm-make-work-buffer " *Files*" use-local-map make-sparse-keymap t make-local-variable vm-mouse-read-file-name-default vm-mouse-read-file-name-must-match vm-mouse-read-file-name-initial vm-mouse-read-file-name-history vm-mouse-read-file-name-return-value vm-mouse-read-file-name-should-delete-frame nil vm-multiple-frames-possible-p vm-goto-new-frame completion switch-to-buffer vm-mouse-read-file-name-event-handler local-set-key "" vm-mouse-read-file-name-quit-handler recursive-edit boundp kill-buffer default must-match initial history vm-mutable-frames vm-frame-per-completion] 3 "\ Like read-file-name, except uses a mouse driven interface. HISTORY argument is ignored."]) (defalias 'vm-mouse-read-file-name-event-handler #[(&optional string) "\306\307\211 \203- \n\232\203\307\310\311\217\210\202-\312 !\203%\313 !\202-\313 !\314\315!\210\307\316 \210`c\210\317 `\320#\210 \204V\203V`c\210\321 `\"\210\202] \203]\fc\210\322\211\261\210`\nc\210\321 `\"\210\317 `\323#\210\322\211\261\210\324\325\326\327\f!!!!\330\331\"\210\315\211+\207" [list start key-doc string default-directory vm-mouse-read-file-name-return-value "Click here for keyboard interface." nil (byte-code "\212\212\306 \n \f &) \307\310!\210)\306\207" [vm-mouse-read-file-name-prompt vm-mouse-read-file-name-dir vm-mouse-read-file-name-default vm-mouse-read-file-name-must-match vm-mouse-read-file-name-initial vm-mouse-read-file-name-history vm-keyboard-read-file-name vm-mouse-read-file-name-quit-handler t vm-mouse-read-file-name-return-value] 7) ((quit (vm-mouse-read-file-name-quit-handler))) file-directory-p expand-file-name vm-mouse-read-file-name-quit-handler t erase-buffer vm-set-region-face bold vm-mouse-set-mouse-track-highlight 10 italic vm-delete-backup-file-names vm-delete-auto-save-file-names vm-delete-index-file-names directory-files vm-show-list vm-mouse-read-file-name-event-handler buffer-read-only vm-mouse-read-file-name-prompt vm-mouse-read-file-name-default] 5]) (defalias 'vm-mouse-read-file-name-quit-handler #[(&optional normal-exit) "\203\302p!\210 \203\303\304\305\"\207\303\304\306\"\207" [vm-mouse-read-file-name-should-delete-frame normal-exit vm-maybe-delete-windows-or-frames-on throw exit nil t] 3 nil nil]) (byte-code "\301B\302B\303B\304B\305B\301\207" [current-load-list vm-mouse-read-string-prompt vm-mouse-read-string-completion-list vm-mouse-read-string-multi-word vm-mouse-read-string-return-value vm-mouse-read-string-should-delete-frame] 2) (defalias 'vm-mouse-read-string #[(prompt completion-list &optional multi-word) "\212\306\307!q\210\310\311 !\210\312\313\302!\210\313\304!\210\313\314!\210\313\315!\210\313\316!\210   \f\317 \317\203F\203F\320 \203F\212\312\321\322!\210)\323p!\210\324 \210\212\325\326\327\"\210\330 \210)\331\315!\205r <\203l\332\333 \334#\202n \335p!\210)\207" [buffer-read-only prompt vm-mouse-read-string-prompt completion-list vm-mouse-read-string-completion-list multi-word vm-make-work-buffer " *Choices*" use-local-map make-sparse-keymap t make-local-variable vm-mouse-read-string-multi-word vm-mouse-read-string-return-value vm-mouse-read-string-should-delete-frame nil vm-multiple-frames-possible-p vm-goto-new-frame completion switch-to-buffer vm-mouse-read-string-event-handler local-set-key "" vm-mouse-read-string-quit-handler recursive-edit boundp mapconcat identity " " kill-buffer vm-mutable-frames vm-frame-per-completion] 4]) (defalias 'vm-mouse-read-string-event-handler #[(&optional string) "\306\307\310\311\211 \203I \f\232\203\311\312\313\217\210\202I \232\203,\237A\237\202I \n\232\2039\314\315!\210\202I C\244\204I\314\315!\210\311\316 \210`c\210\317 `\320#\210\321\322\323#c\210\324\211\261\210`\fc\210\325 `\"\210\317 `\326#\210\324c\210\203\246` c\210\325 `\"\210\317 `\326#\210\324c\210`\nc\210\325 `\"\210\317 `\326#\210\324c\210\324c\210\327\330\"\210\315\211-\207" [list start done-doc bs-doc key-doc string "Click here for keyboard interface." " .... to go back one word." " .... when you're done." nil (byte-code "\212\304 \n#\305\306!\210)\304\207" [vm-mouse-read-string-prompt vm-mouse-read-string-completion-list vm-mouse-read-string-multi-word vm-mouse-read-string-return-value vm-keyboard-read-string vm-mouse-read-string-quit-handler t] 4) ((quit (vm-mouse-read-string-quit-handler))) vm-mouse-read-string-quit-handler t erase-buffer vm-set-region-face bold mapconcat identity " " 10 vm-mouse-set-mouse-track-highlight italic vm-show-list vm-mouse-read-string-event-handler vm-mouse-read-string-return-value vm-mouse-read-string-multi-word buffer-read-only vm-mouse-read-string-prompt vm-mouse-read-string-completion-list] 5]) (defalias 'vm-mouse-read-string-quit-handler #[(&optional normal-exit) "\203\302p!\210 \203\303\304\305\"\207\303\304\306\"\207" [vm-mouse-read-string-should-delete-frame normal-exit vm-maybe-delete-windows-or-frames-on throw exit nil t] 3 nil nil]) (provide 'vm-mouse) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:28 2004 ;;; from file /Users/kyle/vm/vm-page.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-page.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-scroll-forward #[(&optional arg) "\306 \307\211 \203\310 !\204\311\312!\210 q\210\202%\f\313>\204%\311\314!\210\315 \210\316 \210\317 \210 \205J7?\205J\3208@!?\205J9\205J:\321=;\203T;q\210`\322p!<=<\203j\323\324\330D$\210\322p!<\331\330D$\210\322p!\211<\203\343\332<?\"\210*:\321=\203\372\340 \210\322p!<\332\330D$\210\322D!\211<\204g\311\346!\210\202p\344\314\315!\204N \205t\316\317!\205t;\205t\214~\210 @\211\307H\310H) @\211\307H\311H\206n\312\n!\210\n\307H\311H)}\210\320 )\207" [vm-use-menus vm-message-pointer message vm-display-xfaces vm-xemacs-p vm-fsfemacs-p vm-menu-support-possible-p 0 1 3 vm-find-and-set-text-of vm-energize-headers featurep xface fboundp create-image vm-display-xface vm-uncompface-program] 4]) (defalias 'vm-narrow-for-preview #[(&optional just-passing-through) "~\210@\211\306H\307H\206\310 \311\211#\210 \306H\307H)\n\312=\204z@\211\306H\313H)\212@\211\306H\314H\206=\315 !\210 \306H\314H)b\210\316\n!\203J\n\202K\306y\210 \204t\f\203t \203t\203t\203t\317@!\204t\311\320c\210\321u\210)`)^\202\203@\211\306H\313H)}\207" [vm-message-pointer message vm-preview-lines just-passing-through vm-xemacs-p vm-mail-buffer 0 2 vm-reorder-message-headers nil t 4 3 vm-find-and-set-text-of natnump vm-mime-plain-message-p " " -1 vm-auto-decode-mime-messages vm-mime-decode-for-preview buffer-read-only] 5]) (defalias 'vm-preview-current-message #[nil "?\206! ?\205!\n@\211\306H\307H)?\205!\n@\211\306H\310H)?p\311\216\3123\313!4\2036\314\n@!\210\2125\203N\3155!\204G\316\317!\2105q\210\202Y6\320>\204Y\316\321!\210\322\n@\323\"\210\203q\324\n@!\203q\322\n@\325\"\210\203\203\326\n@!\203\203\322\n@\327\"\210)\330\f!\2107\204\240\3318!\204\2409\203\304\332\n@!\204\304\333\n@!:\334\n@!\210p\335\216\336p;\"\210*;q\210\3123\330 \210)\202\322\313;<\203\322\336\2030\f\20405\203\367\3405\341\"?\202\372!?\2030\332\n@!\2040\307=\203\342\n@!\210\343 \210\344 \210\345 \210\2029\346?B\313@?\347\350\351\217\210\330 \210*\2029\352 \210\344 \210\345 \210A\203E\f\204E\353 \210\n@\211\307H\354H\206Y\355 !\210 \307H\354H)b\210\356p!\211B\203\205\357Be\"\210\360B\n@\211\307H\354H\206\202\355 !\210 \307H\354H)\"\210)\f\203\217\361 \202\221\362 +\207" [vm-preview-lines vm-preview-read-messages vm-message-pointer message just-passing-through vm-sbe-buffer 2 0 1 ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) previewing nil vm-make-virtual-copy buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-run-message-hook vm-select-message-hook vm-new-flag vm-select-new-message-hook vm-unread-flag vm-select-unread-message-hook vm-narrow-for-preview natnump vm-mime-plain-message-p vm-mm-layout vm-make-presentation-copy ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) vm-replace-buffer-in-windows vm-unbury-buffer vm-buffer-variable-value vm-mime-decoded vm-decode-mime-message-headers vm-energize-urls vm-highlight-headers-maybe vm-energize-headers-and-xfaces "message/external-body" data (byte-code "\301 \210\203 \302\303\304#\210\304\207" [vm-mail-buffer vm-decode-mime-message vm-set-buffer-variable vm-mime-decoded nil] 4) ((vm-mime-error (byte-code "@ A@\211\304H\305\nI\210*\303\306 A@\"\207" [vm-message-pointer data layout message 1 16 "%s"] 4))) vm-energize-urls-in-message-region vm-narrow-to-page 3 vm-find-and-set-text-of vm-get-visible-buffer-window set-window-start set-window-point vm-show-current-message vm-update-summary-and-mode-line vm-system-state vm-real-buffers vm-mail-buffer major-mode vm-mime-display-function vm-fill-paragraphs-containing-long-lines vm-display-using-mime layout vm-presentation-buffer vm-presentation-buffer-handle vm-auto-decode-mime-messages vm-mime-decode-for-preview vm-auto-displayed-mime-content-type-exceptions vm-mime-external-content-types-alist vm-honor-page-delimiters w] 5]) (defalias 'vm-show-current-message #[nil "\203% \203%\n\203\306\n\303\"?\202 ?\203%\307\f@!\204%\310\311\312\217\210\313 !\203\221\307\f@!\203\221\f@\211\314H\315H)\f@\211\314H\316H\206S\317!\210\314H\316H)Z\320V\211(\203a\321\322!\210\305 \f@\211\314H\316H\206z\317!\210\314H\316H)\f@\211\314H\315H)#\210(\203\220\321\323!\210)p)\324\216\212\212eb\210~\210`\f@\211\314H\315H)}\210)*\203\276\325+!\203\273\326\327!\210\330 \210)\331p!\203!\212\332\n\203\323\333\n\334\332#\210\n\203\347\335\n!\204\341\336\337!\210\nq\210\202\362,\340>\204\362\336\341!\210\f@\211\342H\314H)\203\343\f@\344\"\210\f@\211\342H\327H)\203\345\f@\344\"\210)\346 \210\347 \202#\346 *\207" [vm-display-using-mime vm-auto-decode-mime-messages vm-mail-buffer vm-mime-decoded vm-message-pointer vm-fill-paragraphs-containing-long-lines vm-buffer-variable-value vm-mime-plain-message-p data (vm-decode-mime-message) ((vm-mime-error (byte-code "@ A@\211\304H\305\nI\210*\303\306 A@\"\207" [vm-message-pointer data layout message 1 16 "%s"] 4))) natnump 0 4 3 vm-find-and-set-text-of 12000 message "Searching for paragraphs to fill..." "Searching for paragraphs to fill... done" ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) looking-at forward-page 1 vm-narrow-to-page vm-get-visible-buffer-window showing vm-set-buffer-variable vm-system-state buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" 2 vm-set-new-flag nil vm-set-unread-flag vm-update-summary-and-mode-line vm-howl-if-eom needmsg vm-sbe-buffer vm-honor-page-delimiters page-delimiter major-mode] 6]) (defalias 'vm-expose-hidden-headers #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\316 \210\n\2031\nq\210\317p\320\321\322$\210e @\211\323H\323H)U\324 \210db\210~\210 \203m` @\211\323H\325H\206g\326\f\327\211#\210\f\323H\325H)}\210\202y` @\211\323H\323H)}\210eb\210\327\330p!\211\203\216\331e\"\210\203\261\332!\333 @!U\203\261 \204\261\334 @\211\323H\323H)\"\210)\205\271\335 )\207" [vm-mail-buffer major-mode vm-presentation-buffer vm-message-pointer message exposed vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-check-for-killed-presentation vm-error-if-folder-empty vm-display t (vm-expose-hidden-headers) (vm-expose-hidden-headers reading-message) 0 vm-widen-page 2 vm-reorder-message-headers nil vm-get-visible-buffer-window set-window-point window-start vm-vheaders-of set-window-start vm-narrow-to-page w vm-honor-page-delimiters] 6 "\ Toggle exposing and hiding message headers that are normally not visible." nil]) (defalias 'vm-widen-page #[nil "e@\211\302H\303H\206\304 !\210 \302H\303H)V\204)d@\211\302H\305H)U?\205z@\211\302H\306H\206?\307 \310\211#\210 \302H\306H)@\211\306H\302H)\204X@\211\306H\311H)\203p@\211\302H\303H\206l\304 !\210 \302H\303H)\202y@\211\302H\305H)}\207" [vm-message-pointer message 0 3 vm-find-and-set-text-of 4 2 vm-reorder-message-headers nil 1] 5]) (defalias 'vm-narrow-to-page #[nil "\203+ \203\306 !\204b\n\307``\"\310 \311 #\210\310 \312 #\210\313 \314\315#\210)\202b\f\203b \2039\316 !\204b\n\317 !\204J\320 !\321 \322\"\210\323``\"\310 \311 #\210\310 \324 #\210\325 \326\315#\210)\212\315\211  !n\204{\212\327 \210\330\"!)\204\331\332!\210`!\331\333!\210m\204\215\327 \210`#@\211$\334H\335H)U\204\260\310 %\336 \311\"#\210\337 ``#\210\202\267\310 %\315#\210` ! },\207" [vm-fsfemacs-p vm-page-end-overlay vm-page-continuation-glyph g vm-xemacs-p e overlay-buffer make-overlay vm-set-extent-property vm-glyph before-string overlay-put evaporate nil extent-end-position glyphp make-glyph set-glyph-face italic make-extent begin-glyph set-extent-property detachable beginning-of-line looking-at forward-page -1 1 0 4 vm-extent-property vm-set-extent-endpoints max min page-delimiter vm-message-pointer message vm-begin-glyph-property] 7]) (defalias 'vm-beginning-of-message #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\316 \210\n\2031\nq\210\317 \210\320 \210\321p\322\323\324$\210p\325\216\326 \327\216\330\331p!!\210eb\210, \205W\332 \207" [vm-mail-buffer major-mode vm-presentation-buffer vm-sbe-buffer osw vm-honor-page-delimiters vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-check-for-killed-presentation vm-error-if-folder-empty vm-widen-page push-mark vm-display t (vm-beginning-of-message) (vm-beginning-of-message reading-message) ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) selected-window ((byte-code "\301 =\204 \302!\210\301\207" [osw selected-window select-window] 2)) select-window vm-get-visible-buffer-window vm-narrow-to-page] 5 "\ Moves to the beginning of the current message." nil]) (defalias 'vm-end-of-message #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\316 \210\n\2031\nq\210 \317=\203:\320 \210\321\322 \210\323 \210\324p\325\326\327$\210p\330\216\331 \332\216\333\334p!!\210db\210,\205c\335 \207" [vm-mail-buffer major-mode vm-presentation-buffer vm-system-state vm-sbe-buffer osw vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-check-for-killed-presentation vm-error-if-folder-empty previewing vm-show-current-message reading vm-widen-page push-mark vm-display t (vm-end-of-message) (vm-end-of-message reading-message) ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) selected-window ((byte-code "\301 =\204 \302!\210\301\207" [osw selected-window select-window] 2)) select-window vm-get-visible-buffer-window vm-narrow-to-page vm-honor-page-delimiters] 5 "\ Moves to the end of the current message, exposing and flagging it read as necessary." nil]) (defalias 'vm-move-to-next-button #[(count) "\305 \210\203\306!\204\307\310!\210q\210\202! \311>\204!\307\312!\210\313 \210\314 \210\315 \210\n\2031\nq\210 \316=\203:\317 \210\320\321 \210\322p\323\324\325$\210\326\327p!!\210\330\216\331\332\f!\f\333Y\")\207" [vm-mail-buffer major-mode vm-presentation-buffer vm-system-state count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-check-for-killed-presentation vm-error-if-folder-empty previewing vm-show-current-message reading vm-widen-page vm-display t (vm-move-to-next-button) (vm-move-to-next-button reading-message) select-window vm-get-visible-buffer-window ((byte-code "\203\301 \210\301\207" [vm-honor-page-delimiters vm-narrow-to-page] 1)) vm-move-to-xxxx-button vm-abs 0] 5 "\ Moves to the next button in the current message. Prefix argument N means move to the Nth next button. Negative N means move to the Nth previous button. If there is no next button, an error is signaled and point is not moved. A button is a highlighted region of text where pressing RETURN will produce an action. If the message is being previewed, it is exposed and marked as read." "p"]) (defalias 'vm-move-to-previous-button #[(count) "\305 \210\203\306!\204\307\310!\210q\210\202! \311>\204!\307\312!\210\313 \210\314 \210\315 \210\n\2031\nq\210 \316=\203:\317 \210\320\321 \210\322p\323\324\325$\210\326\327p!!\210\330\216\331\332\f!\f\333W\")\207" [vm-mail-buffer major-mode vm-presentation-buffer vm-system-state count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-check-for-killed-presentation vm-error-if-folder-empty previewing vm-show-current-message reading vm-widen-page vm-display t (vm-move-to-previous-button) (vm-move-to-previous-button reading-message) select-window vm-get-visible-buffer-window ((byte-code "\203\301 \210\301\207" [vm-honor-page-delimiters vm-narrow-to-page] 1)) vm-move-to-xxxx-button vm-abs 0] 5 "\ Moves to the previous button in the current message. Prefix argument N means move to the Nth previous button. Negative N means move to the Nth next button. If there is no previous button, an error is signaled and point is not moved. A button is a highlighted region of text where pressing RETURN will produce an action. If the message is being previewed, it is exposed and marked as read." "p"]) (defalias 'vm-move-to-xxxx-button #[(count next) "`\203 \306\202\n\307 \203\203\304\202#\310\202#\203\"\311\202#\312 \2033\203/\303\202<\313\202<\203;\314\202<\315\316\317V\203z \204z `\203Y\317\202Z\320\\!b\210\321`!\211\203C\322\n\323\"\203rS\f\n!b\210\202C\n\203\205\324\n!b\202\214b\210\325\326!-\207" [next vm-xemacs-p e next-extent-change extent-end-position endp eobp bobp extent-start-position overlay-end overlay-start previous-extent-change next-overlay-change previous-overlay-change nil 0 -1 vm-extent-at vm-extent-property vm-button vm-extent-start-position error "No more buttons" old-point count] 6]) (provide 'vm-page) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:28 2004 ;;; from file /Users/kyle/vm/vm-pop.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-pop.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\203\301\302\303\"\210\301\304\305\"\210\301\306\307\"\210\202<\310\302\311\312#\210\310\302\313\303#\210\310\304\311\314#\210\310\304\313\305#\210\310\306\311\315#\210\310\306\313\307#\210\300\207" [fboundp define-error vm-cant-uidl "Can't use UIDL" vm-dele-failed "DELE command failed" vm-uidl-failed "UIDL command failed" put error-conditions (vm-cant-uidl error) error-message (vm-dele-failed error) (vm-uidl-failed error)] 4) (defalias 'vm-folder-pop-maildrop-spec #[nil "\301H\207" [vm-folder-access-data 0] 2]) (put 'vm-folder-pop-maildrop-spec 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-folder-pop-process #[nil "\301H\207" [vm-folder-access-data 1] 2]) (put 'vm-folder-pop-process 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-pop-maildrop-spec #[(val) "\302 I\207" [vm-folder-access-data val 0] 3]) (put 'vm-set-folder-pop-maildrop-spec 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-set-folder-pop-process #[(val) "\302 I\207" [vm-folder-access-data val 1] 3]) (put 'vm-set-folder-pop-process 'byte-optimizer 'byte-compile-inline-expand) (defalias 'vm-pop-move-mail #[(source destination) "\306 \307\310!\205 \306\311\312\217\313\n!\306\314\306\315\n!\304E \306\211\211\211\211\211\211\316\306\211\211 !\"#$\317\n%\"\211\203[A\202p\317\315\n!%\"\211\203nA\202p&\320\216\321\322\215.\207" [vm-pop-messages-per-session vm-pop-bytes-per-session source vm-pop-retrieved-messages uidl process-buffer nil fboundp find-file-name-handler (byte-code "\301\302\"\207" [source find-file-name-handler vm-pop-move-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) vm-safe-popdrop-string t vm-popdrop-sans-password 0 assoc ((byte-code "\n\306=\203 \307\232\204\310 \210\f\203\311\f!\210 \203!\312 !\210\306\207" [pop-retrieved-messages vm-pop-retrieved-messages vm-flush-interval retrieved statblob process t 0 vm-stuff-pop-retrieved vm-pop-stop-status-timer vm-pop-end-session] 2)) done (byte-code "\203 \306\307\310 \n#\"\210\311 !\211\204\306\307\312\"\210\304 !\212\fq\210\313 \314\"\210\315 !\211@ A@\203@\316W\203E\306\307\312\"\210\316\317\320 \321\"\210\322\"\210X\203\220\323!\203tW\203\220\323!\203\203W\203\220\324\325\215\210T\211\202_\317\232)?\207" [handler source destination process process-buffer response throw done vm-pop-move-mail vm-pop-make-session nil vm-pop-send-command "STAT" vm-pop-read-stat-response 1 0 vm-pop-start-status-timer vm-set-pop-stat-x-box vm-set-pop-stat-x-maxmsg natnump skip (byte-code "\306 \"\210\n\203\307\310\311\217\210\312 \313\314 \"\"\210\315 !\316\f\"\210 \250\203\203\f V\203\203!\2039\317 \"\f $\202:\320\211#\321=\204\203#\322=\203h\323\324 \"\210\312 \313\325 \"\"\210\326 !\204~\327\330$\331\232?\"\210\202~!\203u\323\332 \"\210\202~\323\333 \"\f %\210\327\320\334\"\210\323\335 %\"$\210\312 \313\336 \"\"\210\326 !\204\243\327\330$\331\232?\"\210\337 &#\204\265\327\330$\331\232?\"\210$T$'\203\305(\f\\()\204\333*\203\333\340*!+B+\202\362\312 \313\325 \"\"\210\326 !\204\362\327\330$\331\232?\"\210\307\207" [statblob n can-uidl process message-size vm-pop-max-message-size vm-set-pop-stat-x-currmsg nil (byte-code "\306\307 \310\311\n\"\"\210\312 \313\"\211\204\314\315\306\"\210\316 \317\"\3208\211\204*\314\315\306\"\210 \f\240\210 \235\203H\203C\321\322\n$\210\323\324\313\"\210)\306\207" [list process n response uidl msgid nil vm-pop-send-command format "UIDL %d" vm-pop-read-response t signal vm-cant-uidl vm-parse "\\([!-~]+\\) *" 2 message "Skipping message %d (of %d) from %s (retrieved already)..." throw skip pop-retrieved-messages vm-pop-ok-to-ask mailbox-count popdrop] 6) ((vm-cant-uidl (byte-code "\204 \203\306\n!\204\307\310\n\"\210\311\312 \313\232?\"\210\202\"\314\314\314\207" [auto-expunge vm-pop-ok-to-ask popdrop retrieved can-uidl msgid vm-pop-ask-about-no-uidl message "Skipping mailbox %s (no UIDL support)" throw done 0 nil] 4))) vm-pop-send-command format "LIST %d" vm-pop-read-list-response vm-set-pop-stat-x-need vm-pop-ask-about-large-message skip retrieve delete message "Deleting message %d..." "DELE %d" vm-pop-read-response throw done 0 "Skipping message %d..." "Skipping message %d in %s, too large (%d > %d)..." t "Retrieving message %d (of %d) from %s..." "RETR %d" vm-pop-retrieve-to-target copy-sequence vm-pop-ok-to-ask popdrop response retrieved mailbox-count destination b-per-session retrieved-bytes auto-expunge msgid pop-retrieved-messages] 7) mailbox-count mailbox-size n retrieved-bytes statblob popdrop m-per-session retrieved b-per-session] 7) retrieved-bytes retrieved n response message-size mailbox-size mailbox-count x auto-expunge pop-retrieved-messages msgid can-uidl statblob popdrop handler b-per-session m-per-session process vm-pop-auto-expunge-alist vm-pop-expunge-after-retrieving] 20]) (defalias 'vm-pop-check-mail #[(source) "\306\307\310!\205 \306\311\312\217\313 !\314\306\211\315\216\212\316\317\215. \207" [vm-pop-retrieved-messages source response x count popdrop nil fboundp find-file-name-handler (byte-code "\301\302\"\207" [source find-file-name-handler vm-pop-check-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) vm-popdrop-sans-password 0 ((byte-code "\203\n\302\303 #\210\303\207" [process vm-pop-ok-to-ask vm-pop-end-session nil] 4)) done (byte-code "\203\f\306\307\310 \"\"\210\311 !\211\204\306\307\312\"\210\313\n!q\210\314\n\315\"\210\316\n!\211\203| @\204=\317 \320\"\210\306\307\312\"\210\202i \203i\321 @A\f\"\211\203] A@\232\203]\322 8\323=\204bT A\211\204A\317 \324\211\211F\"\210\306\307\324=?\"\210\314\n\325\"\210\326\n!\211\205\230\317 @\324\211\211F\"\210 @\324\232?\207" [handler source process response retrieved x throw done vm-pop-check-mail vm-pop-make-session nil process-buffer vm-pop-send-command "UIDL" vm-pop-read-uidl-long-response vm-store-folder-totals (0 0 0 0) assoc 2 uidl 0 "STAT" vm-pop-read-stat-response popdrop count] 7) retrieved handler process] 7]) (defalias 'vm-expunge-pop-messages #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210 \315=\203/\310\316\n\"\210t\203= \317=\203=\310\320!\210\321\211\211\322\323\211\321\211\211\211\211)*+,-./01\324\216\212\325\3212\"2\3262\327\"\2112 \203{\321\330\331\217\210\202o/\203\317\332\333!q\210\3213\334 \210\335\336.\322U\203\230\337\202\232..\340U\203\245\341\202\246\342#c\210\343c\210/\237\210/\211\203\305\344 @\345\261\210 A\211\204\267\3233\346p!\210\202\354\347\350.\322U\203\334\337\202\336..\340U\203\351\341\202\352\342#\210*\325\3212\"\2112. \207" [vm-mail-buffer major-mode this-command vm-folder-access-method match mp vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-virtual-mode "%s cannot be applied to virtual folders." pop "This command is not meant for POP folders. Use the normal folder expunge instead." nil 0 t ((byte-code "\203\301!\210\301\207" [process vm-pop-end-session] 2)) delq sort #[(a b) "A@ A@\231\203\f\302\207 A@A@\231\203\303\207@ @\231\203\"\302\207\303\207" [a b t nil] 2] (byte-code "\300\301\215\207" [replay (byte-code "@\n A@\232\2049 \203\306 !\210\307 A@\310\n!\307\311\312\217\210\313 !q\210\314 \315\"\210\316 !\211\2049\317\320\307\"\210\321 @ \"\211\203b\314 \322\323@\"\"\210\324 !\204Y\317\325\307\"\210\307\240\210TA\307\207" [mp data source process popdrop uidl-alist vm-pop-end-session nil vm-safe-popdrop-string (byte-code "\303\304\"\210\305 !\211\204\306\307\310\"\210\303\311\"\207" [popdrop source process message "Opening POP session to %s..." vm-pop-make-session signal error nil "Expunging messages in %s..."] 4) ((error (byte-code "\304\305\"\210 B\306\307!\210\n@A@ \232\203\nA\211\202\310\311\312\"\207" [popdrop trouble mp source message "Couldn't open POP session to %s, skipping..." sleep-for 2 throw replay t] 4))) process-buffer vm-pop-send-command "UIDL" vm-pop-read-uidl-long-response signal vm-uidl-failed rassoc format "DELE %s" vm-pop-read-response vm-dele-failed match delete-count] 6)] 2) ((vm-dele-failed (byte-code "\305\306@ #\210 \nB\307\310!\210 @A@\f\232\203 A\211\202\311\312\313\"\207" [match popdrop trouble mp source message "DELE %s failed on %s, skipping rest of mailbox..." sleep-for 2 throw replay t] 5)) (vm-uidl-failed (byte-code "\305\306@ #\210 \nB\307\310!\210 @A@\f\232\203 A\211\202\311\312\313\"\207" [match popdrop trouble mp source message "UIDL %s failed on %s, skipping this mailbox..." sleep-for 2 throw replay t] 5))) get-buffer-create "*POP Expunge Trouble*" erase-buffer format "%s POP message%s expunged.\n\n" "No" 1 "" "s" "VM had problems expunging messages from:\n" " " "\n" display-buffer message "%s POP message%s expunged." data uidl-alist popdrop vm-pop-ok-to-ask vm-global-block-new-mail delete-count trouble source process vm-pop-retrieved-messages buffer-read-only] 12 "\ Deletes all messages from POP mailbox that have already been retrieved into the current folder. VM sends POP DELE commands to all the relevant POP servers to remove the messages." nil]) (defalias 'vm-pop-make-session #[(source) "\306\211\307 !\n\203\310\202 \203\310\202\311\n\203\310\202( \203'\310\202(\311\306\211\312\306\211\211\211\211\211\211\211\211\211\211\211 \313\216\314\315\215.\207" [vm-folder-type source vm-xemacs-mule-p vm-xemacs-file-coding-p source-nopwd process-buffer nil vm-safe-popdrop-string binary no-conversion "POP" ((byte-code "\203 \301\302\"\210\303 \207" [process-to-shutdown vm-pop-end-session t vm-tear-down-stunnel-random-data] 3)) done (byte-code "\306!\211G\307U\2038 @\310\232\203!\311\312\f\2045\313\314!\210\2025 @\315\232\2035\311\316@\2045\313\317!\210 A @A A@B\320 8C\321 8D\322 8E\323!FA\204_\313\324\"\210B\204i\313\325\"\210\326\327B\"\203w\330B!BC\204\201\313\331\"\210D\204\213\313\332\"\210E\204\225\313\333\"\210E\334\232\203\306\335FG\"A@\211E\204\306H\204\275\336\337I\"\210\340\341\342\"\210\202\306\343\344\345I\"!E\335FG\"\204\331FEDGBG\346\344\347 A#!J\212Jq\210K\206\357LM\350J!\210\351\352!\210\353 \210\354\355!\203\355N\203 \356\202O\203\356\202\357\311\"\210\360 \361\362 \363\261\210\344\364AB#c\210\n\203H\365 \210\366\367 J\f\370AB\"P\244%Q\202h \203]\371 J\372\373AB\"$Q\202h\371 JAB$QQ\204r\340\341\342\"\210\374\375!\210`*\376Q!\210\377Q\311\"\211R\204\225\201UQ!\210\340\341\342\"\210QSC\201V\232\203\371\201WQ\344\201XD\"\"\210\377Q!\204\274\340\341\342\"\210\201WQ\344\201YE\"\"\210\377Q!\204\304\201ZFEDG\"G\336\201[I\"\210H\203\361\201\\\320!\210\340\341\342\"\210\202\304C\201]\232\2039\201WQ\344\201XD\"\"\210\377Q!\204\340\341\342\"\210\201WQ\344\201^E\"\"\210\377Q!\204\304\340\341\342\"\210\202\304C\201_\232\203\274\201`R\201a\"\211T@\211T\204vdb\210\374\201b!\210\336\201cI\"\210H\203q\201\\\320!\210\340\341\342\"\210\201WQ\344\201dD\201eTEP!#\"\210\377Q!\204\304\201ZFEDG\"G\336\201[I\"\210H\203\264\201\\\320!\210\340\341\342\"\210\202\304\313\201fC\"\210\342SQ)\207" [source source-list use-ssl session-name vm-stunnel-program use-ssh vm-pop-parse-spec-to-list 6 "pop-ssl" t "POP over SSL" error "vm-stunnel-program must be non-nil to use POP over SSL." "pop-ssh" "POP over SSH" "vm-ssh-program must be non-nil to use POP over SSH." 2 3 4 vm-popdrop-sans-password "No host in POP maildrop specification, \"%s\"" "No port in POP maildrop specification, \"%s\"" string-match "^[0-9]+$" string-to-int "No authentication method in POP maildrop specification, \"%s\"" "No user in POP maildrop specification, \"%s\"" "No password in POP maildrop specification, \"%s\"" "*" assoc message "Need password for %s" throw done nil vm-read-password format "POP password for %s: " vm-make-work-buffer "trace of %s session to %s" buffer-disable-undo make-local-variable vm-pop-read-point erase-buffer fboundp set-buffer-file-coding-system binary no-conversion "starting " " session " current-time-string "\n" "connecting to %s:%s\n" vm-setup-stunnel-random-data-if-needed apply start-process vm-stunnel-configuration-args open-network-stream "127.0.0.1" vm-setup-ssh-tunnel insert-before-markers "connected\n" process-kill-without-query vm-pop-read-response vm-ssh-program host port auth user pass source-nopwd vm-pop-passwords vm-pop-ok-to-ask popdrop process-buffer folder-type vm-default-folder-type vm-folder-type vm-xemacs-mule-p vm-xemacs-file-coding-p vm-stunnel-program-switches process greeting process-to-shutdown timestamp delete-process "pass" vm-pop-send-command "USER %s" "PASS %s" delete "POP password for %s incorrect" sleep-for "rpop" "RPOP %s" "apop" vm-parse "[^<]+\\(<[^>]+>\\)" "<<< ooops, no timestamp found in greeting! >>>\n" "Server of %s does not support APOP" "APOP %s %s" vm-pop-md5 "Don't know how to authenticate using %s"] 9) source-list pass user auth port host ssh-process timestamp greeting process-connection-type session-name use-ssh use-ssl coding-system-for-write coding-system-for-read popdrop folder-type process process-to-shutdown] 21]) (defalias 'vm-pop-end-session #[(process &optional keep-buffer verbose) "\305!\306>\2034\307\310!!\2034\212\310!q\210\311\312\"\210 \2033\n\203'\313\314!\210\315!\210\n\2033\313\316!\210) \204I\307\310!!\203^\317\310!!\210\202^\212\310!q\210\320\321\322 P\323\"\210\324p\325\f#\210)\326\327!\203j\327\330\331#\207\332\330\333\331$\207" [process vm-pop-read-quit-response verbose keep-buffer vm-pop-keep-failed-trace-buffers process-status (open run) buffer-live-p process-buffer vm-pop-send-command "QUIT" message "Waiting for response to POP QUIT command..." vm-pop-read-response "Waiting for response to POP QUIT command... done" kill-buffer rename-buffer "saved " buffer-name t vm-keep-some-buffers vm-kept-pop-buffers fboundp add-async-timeout 2 delete-process run-at-time nil] 5]) (defalias 'vm-pop-stat-timer #[(o) "\301H\207" [o 0] 2]) (defalias 'vm-pop-stat-did-report #[(o) "\301H\207" [o 1] 2]) (defalias 'vm-pop-stat-x-box #[(o) "\301H\207" [o 2] 2]) (defalias 'vm-pop-stat-x-currmsg #[(o) "\301H\207" [o 3] 2]) (defalias 'vm-pop-stat-x-maxmsg #[(o) "\301H\207" [o 4] 2]) (defalias 'vm-pop-stat-x-got #[(o) "\301H\207" [o 5] 2]) (defalias 'vm-pop-stat-x-need #[(o) "\301H\207" [o 6] 2]) (defalias 'vm-pop-stat-y-box #[(o) "\301H\207" [o 7] 2]) (defalias 'vm-pop-stat-y-currmsg #[(o) "\301H\207" [o 8] 2]) (defalias 'vm-pop-stat-y-maxmsg #[(o) "\301H\207" [o 9] 2]) (defalias 'vm-pop-stat-y-got #[(o) "\301H\207" [o 10] 2]) (defalias 'vm-pop-stat-y-need #[(o) "\301H\207" [o 11] 2]) (defalias 'vm-set-pop-stat-timer #[(o val) "\302 I\207" [o val 0] 3]) (defalias 'vm-set-pop-stat-did-report #[(o val) "\302 I\207" [o val 1] 3]) (defalias 'vm-set-pop-stat-x-box #[(o val) "\302 I\207" [o val 2] 3]) (defalias 'vm-set-pop-stat-x-currmsg #[(o val) "\302 I\207" [o val 3] 3]) (defalias 'vm-set-pop-stat-x-maxmsg #[(o val) "\302 I\207" [o val 4] 3]) (defalias 'vm-set-pop-stat-x-got #[(o val) "\302 I\207" [o val 5] 3]) (defalias 'vm-set-pop-stat-x-need #[(o val) "\302 I\207" [o val 6] 3]) (defalias 'vm-set-pop-stat-y-box #[(o val) "\302 I\207" [o val 7] 3]) (defalias 'vm-set-pop-stat-y-currmsg #[(o val) "\302 I\207" [o val 8] 3]) (defalias 'vm-set-pop-stat-y-maxmsg #[(o val) "\302 I\207" [o val 9] 3]) (defalias 'vm-set-pop-stat-y-got #[(o val) "\302 I\207" [o val 10] 3]) (defalias 'vm-set-pop-stat-y-need #[(o val) "\302 I\207" [o val 11] 3]) (defalias 'vm-pop-start-status-timer #[nil "\302\303\304\"\304\305\306\307 \306$\310 \"\210 *\207" [timer blob make-vector 12 nil add-timeout 5 vm-pop-report-retrieval-status vm-set-pop-stat-timer] 5]) (defalias 'vm-pop-stop-status-timer #[(status-blob) "\301!\203\n\302\303!\210\304\305!\203\305\306!!\207\307\306!!\207" [status-blob vm-pop-stat-did-report message "" fboundp disable-timeout vm-pop-stat-timer cancel-timer] 3]) (defalias 'vm-pop-report-retrieval-status #[(o) "\301\302\"\210\303!\203]\304!\305!=\203]\306!\307!=\203]\310\311\306!\312!\304!\313!\203Z\314\315\303!\303!\313!V\203C\316\202D\317\313!\303!\320!=\203U\321\202V\317%\202[\322%\210\323\304!\"\210\324\306!\"\210\325\312!\"\210\326\303!\"\210\327\313!\"\207" [o vm-set-pop-stat-did-report t vm-pop-stat-x-got vm-pop-stat-x-box vm-pop-stat-y-box vm-pop-stat-x-currmsg vm-pop-stat-y-currmsg message "Retrieving message %d (of %d) from %s, %s..." vm-pop-stat-x-maxmsg vm-pop-stat-x-need format "%d%s of %d%s" "!" "" vm-pop-stat-y-got " (stalled)" "post processing" vm-set-pop-stat-y-box vm-set-pop-stat-y-currmsg vm-set-pop-stat-y-maxmsg vm-set-pop-stat-y-got vm-set-pop-stat-y-need] 13]) (defalias 'vm-pop-check-connection #[(process) "\301!\302>\204 \303\304\"\207\305\306!!?\205\303\307\"\207" [process process-status (open run) error "POP connection not open: %s" buffer-live-p process-buffer "POP process %s's buffer has been killed"] 3]) (defalias 'vm-pop-send-command #[(process command) "\303!\210db\210 \304H\305U\203\306\307!\210\202\306 \310\"\210`\311\312\313 \"\"\207" [process command vm-pop-read-point vm-pop-check-connection 0 80 insert-before-markers "PASS \n" " \n" process-send-string format "%s \n"] 5]) (defalias 'vm-pop-read-response #[(process &optional return-response-string) "\305!\210\306\211 b\210\307\310\306\311#\204!\305!\210\312!\210 b\210\202 ` b\210\313\314!\2042 \306\202? \f\203>` {\202?\311*\207" [process match-end case-fold-search vm-pop-read-point return-response-string vm-pop-check-connection nil search-forward " \n" t accept-process-output looking-at "+OK"] 4]) (defalias 'vm-pop-read-past-dot-sentinel-line #[(process) "\304!\210\305\nb\210\306\307\305\310#\204%\311 \210`\304!\210\312!\210 b\210)\202 `\211)\207" [process case-fold-search vm-pop-read-point opoint vm-pop-check-connection nil re-search-forward "^\\. \n" 0 beginning-of-line accept-process-output] 4]) (defalias 'vm-pop-read-stat-response #[(process) "\303\304\"\305\211\205\306\n\307\"\310 A@!\310\311 8!D*\207" [process list response vm-pop-read-response t nil vm-parse "\\([^ ]+\\) *" string-to-int 2] 5]) (defalias 'vm-pop-read-list-response #[(process) "\302\303\"\211\205\304\305\306 \307\"8!)\207" [process response vm-pop-read-response t string-to-int 2 vm-parse "\\([^ ]+\\) *"] 6]) (defalias 'vm-pop-read-uidl-long-response #[(process) "\306!\210 \307\211\211\310\311\215,\207" [process vm-pop-read-point uidl n list start vm-pop-check-connection nil done (byte-code "b\210\306\307\310\311#\204\312 \210`\313\n!\210\314\n!\210 b\210)\202\315 b\210\316\317!\2040\320\321\310\"\210\322y\210`f\323=\204r\316\324!\204E\320\321\310\"\210\325\326p!!\327\310w\210`\330\310w\210`U\203`\320\321\310\"\210`{\f BB\322y\210\2023\204{\310\211B\207\207" [start opoint process vm-pop-read-point n uidl re-search-forward "^\\. \n\\|^-ERR .*$" nil 0 beginning-of-line vm-pop-check-connection accept-process-output point-marker looking-at "\\+OK" throw done 1 46 "[0-9]" int-to-string read " " "!-~" list] 4)] 4]) (defalias 'vm-pop-ask-about-large-message #[(process popdrop size n) "\304p\304\211\305\216\212\306\213.\207" [end start pop-buffer work-buffer nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) ((byte-code "\306\307\310 \311#\"\210\312!\203\\\n\313!\210\n\314\307\315 #!\211q\210\316 \f#\210\317y\210`d|\210\320ed\"\210\321!\210\322 !eb\210\323\324\325\326#\203V\311\224b\210\327\325\"##\210\330\322 `\"\210\331\307\332 $#!\203i\333\207\331\307\334 $#!\203v\335\207\336\207" [process n vm-pop-read-point start end popdrop vm-pop-send-command format "TOP %d %d" 0 vm-pop-read-response vm-pop-read-past-dot-sentinel-line generate-new-buffer "*headers of %s message %d*" insert-buffer-substring -1 vm-pop-cleanup-region vm-display-buffer selected-window re-search-forward "^Received:" nil t vm-reorder-message-headers set-window-point y-or-n-p "Message %d, size = %d, retrieve? " retrieve "Delete message %d from popdrop? " delete skip work-buffer pop-buffer minibuffer-scroll-window vm-visible-headers vm-invisible-header-regexp size] 7))] 4]) (defalias 'vm-pop-ask-about-no-uidl #[(popdrop) "\304p\304\211\305\216\212\306\213.\207" [end start pop-buffer work-buffer nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) ((byte-code "\303\304\305\"!\211q\210\306\307\261\210\310ed\"\210\311 !\210\312 \313\314!\207" [popdrop work-buffer minibuffer-scroll-window generate-new-buffer format "*trouble with %s*" "You have asked VM to leave messages on the server for the POP mailbox " ". VM cannot do so because the server does not seem to support the POP UIDL command.\n\nYou can either continue to retrieve messages from this mailbox with VM deleting the messages from the server, or you can skip this mailbox, leaving messages on the server and not retrieving any messages." fill-individual-paragraphs vm-display-buffer selected-window yes-or-no-p "Continue retrieving anyway? "] 5))] 4]) (defalias 'vm-pop-retrieve-to-target #[(process target statblob) "\306!\210 \307\211b\210\310\f\311\"\210\312\313\307\311#\2045\314 \210`\315$\315%B%\306!\210\316!\210 b\210+\202\317\f\307\"\210\320 \311\224b\210\320 \321 \n\"\210\310\f\307\"\210\322\307 \n#\323=\203\301\324& \n#\210 b\210&\325=\203\251';\203\204\326'!\211(?\206\200\327(8\311\232)\202\225\330'!\203\251\212'q\210\331 \311U)\203\251`\332\307&\"\210 \211b\210\333 \210)\334 c\210\214`\n}\210\335\336&\"\210)\nb\210\337\340 !\210';\203\332\341\307)*\342 \n'\341\311%\210*\202\355p+\212'q\210\307,\343+ \n#\210+ \n|\210*\341\207" [process vm-pop-read-point end start statblob opoint vm-pop-check-connection nil vm-set-pop-stat-x-got 0 re-search-forward "^\\. \n" beginning-of-line #[(beg end len) "\205\304 \n Z\"\210\305 \306\246\307U\205\310 !\207" [vm-pop-read-point statblob end start vm-set-pop-stat-x-got random 10 0 vm-pop-report-retrieval-status] 4] accept-process-output vm-set-pop-stat-x-need point-marker vm-pop-cleanup-region vm-get-folder-type unknown vm-munge-message-separators babyl file-attributes 7 bufferp buffer-size vm-convert-folder-header vm-skip-past-folder-header vm-leading-message-separator vm-convert-folder-type-headers baremessage insert-before-markers vm-trailing-message-separator t write-region insert-buffer-substring func after-change-functions vm-folder-type target attrs selective-display buffer-file-type b buffer-read-only] 7]) (defalias 'vm-pop-cleanup-region #[(start end) "\304\305 \n \223*\212 b\210`W\203&\306\307\310#\203&\311\312\310\211#\210\202 b\210`W\203C\313\314\310#\203C\311\315\310\211#\210\304u\210\202))\304\211\223\207" [end buffer pos start nil make-marker search-forward " \n" t replace-match "\n" re-search-forward "^\\." ""] 4]) (defalias 'vm-popdrop-sans-password #[(source) "\302\303 \304\"\211G\305U\203A@\306A@\306\3078\306\3108\311\260)\207" [source-list source nil vm-parse "\\([^:]+\\):?" 6 ":" 2 3 ":*"] 9]) (defalias 'vm-establish-new-folder-pop-session #[(&optional interactive) "\305H \306 !\203\307 !\210\310\311H!\211\305\fI\210) *\207" [vm-folder-access-data interactive vm-pop-ok-to-ask process val 1 processp vm-pop-end-session vm-pop-make-session 0] 4]) (defalias 'vm-pop-get-uidl-data #[nil "\306\307\310\"\311H\212\312 !q\210\313 \314\"\210 \315\211\316\317\215.\207" [vm-folder-access-data process there vm-pop-read-point uidl n make-vector 67 0 1 process-buffer vm-pop-send-command "UIDL" nil done (byte-code "b\210\306\307\310\311#\204\312 \210`\313\n!\210\314\n!\210 b\210)\202\315 b\210\316\317!\2040\320\321\310\"\210\322y\210`f\323=\204r\316\324!\204E\320\321\310\"\210\325\326p!!\327\310w\210`\330\310w\210`U\203`\320\321\310\"\210`{\331 \"\fL\210\322y\210\2023\207" [start opoint process vm-pop-read-point n uidl re-search-forward "^\\. \n\\|^-ERR .*$" nil 0 beginning-of-line vm-pop-check-connection accept-process-output point-marker looking-at "\\+OK" throw done 1 46 "[0-9]" int-to-string read " " "!-~" intern there] 4) start] 3]) (defalias 'vm-pop-get-synchronization-data #[nil "\306\307\310\"\311 \312H\313\211\211\211\203W @\211\314H\315H)\203P\316 @\211\314H\315H)\" @L\210\317\316 @\211\314H\315H) \"!\204P @\nB A\211\204\320\321 \"\210 \n.D\207" [vm-folder-access-data mp expunge-list retrieve-list process there make-vector 67 0 vm-pop-get-uidl-data 1 nil 3 23 intern boundp mapatoms #[(sym) "\304\305\306! \"!?\205 \307\306!\n\"?\205 \306!JB B\211\207" [sym here vm-pop-retrieved-messages retrieve-list boundp intern symbol-name assoc] 4] here vm-message-list message] 7]) (defalias 'vm-pop-synchronize-folder #[(&optional interactive do-remote-expunges do-local-expunges do-retrieves) "\203\f \203\f\306\307!\210\n\206\310 !??\2050\203\311 \210\312 \211@\fA@'(\313H)\313*\314+(\315H,\316,!-\314.\314/\3140\3141p2\203\351 \203\351\212\317 deZV\314\21134\2115\203~\320 e\314\223\2114\203~\320 d\314\2233\321\216~\210db\210\322\323\324\217\210+\203\224\325+!\210\3146\326\327 7\"\2108T8\330 \210\311\331!\211/0 ./\203\350/@.@@9\211:\332H\3339I\210*/@\3319\211:\334H\3359I\210*/A/.A.\202\261-;\203\365\336\331\211'#\210<\203,=\203,(\313H)\337)!\203\340)!\341>\203\342)!\210\343\344=\">\345 \210\343\346>\"=)0. \207" [do-retrieves vm-block-new-mail vm-global-block-new-mail interactive sync-data retrieve-list error "Can't get new mail until you save this folder." vm-establish-new-folder-pop-session vm-assimilate-new-messages vm-pop-get-synchronization-data 1 nil 0 vm-safe-popdrop-string buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) error-data (byte-code "\212\306!q\210\307 \310 \n\"\210\311 G\"\210 \f\203[\312 \"\210\313\314\315\f@A\"\"\210\316!\317 \"\210\313\314\320\f@A\"\"\210\321!\204K\322\323\f@A\"\210\324 #\210\fA T\202)\306\207" [process statblob safe-popdrop retrieve-list r-list n process-buffer vm-pop-start-status-timer vm-set-pop-stat-x-box vm-set-pop-stat-x-maxmsg vm-set-pop-stat-x-currmsg vm-pop-send-command format "LIST %s" vm-pop-read-list-response vm-set-pop-stat-x-need "RETR %s" vm-pop-read-response error "server didn't say +OK to RETR %s command" vm-pop-retrieve-to-target message-size folder-buffer] 5) ((error (message "Retrieval from %s signaled: %s" safe-popdrop error-data)) (quit (message "Quit received during retrieval from %s" safe-popdrop))) vm-pop-stop-status-timer intern buffer-name vm-update-summary-and-mode-line t 3 23 4 2 vm-expunge-folder processp process-status (open run) vm-pop-end-session mapcar #[(x) " \302E\207" [x popdrop uidl] 3] vm-expunge-pop-messages #[(x) "@\207" [x] 1] local-expunge-list vm-folder-access-data process n statblob popdrop safe-popdrop r-list mp got-some message-size folder-buffer #3# #2# #1# vm-spooled-mail-waiting vm-buffers-needing-display-update vm-modification-counter val message do-local-expunges do-remote-expunges vm-pop-messages-to-expunge vm-pop-retrieved-messages] 5]) (defalias 'vm-pop-folder-check-for-mail #[(&optional interactive) "\206\304 !??\205\305 @\306 \307H!\210\n)\207" [vm-global-block-new-mail interactive result vm-folder-access-data vm-establish-new-folder-pop-session vm-pop-get-synchronization-data vm-pop-end-session 1] 3]) (defalias 'vm-pop-find-spec-for-name #[(name) "\304 \204!\n\203! \n@A@\232\203\305\211\202\nA\202\n\205(\n@@*\207" [vm-pop-folder-alist done list name nil t] 3]) (defalias 'vm-pop-find-name-for-spec #[(spec) "\304 \204 \n\203 \n@@\232\203\305\211\202\nA\202\n\205(\n@A@*\207" [vm-pop-folder-alist done list spec nil t] 3]) (defalias 'vm-pop-find-name-for-buffer #[(buffer) "\304 \204$\n\203$ \305\306\n@@!!=\203\307\211\202\nA\202\n\205,\n@A@*\207" [vm-pop-folder-alist done list buffer nil vm-get-file-buffer vm-pop-make-filename-for-spec t] 5]) (defalias 'vm-pop-make-filename-for-spec #[(spec &optional scrub-password scrub-spec) "\306\211\n\204\f \203J\307\f!\310!\311\240\210 \203DG\312U\2034\313\240\210AA\311\240\210\314\233\311\240\210\202D\313B\211AA\311\240\210\314\233\311\240\210\315\316\317#\320\f!\321\322 P \206^\206^\323\324!\"*\207" [list md5 scrub-password scrub-spec spec vm-pop-folder-cache-directory nil vm-pop-parse-spec-to-list vm-last "*" 6 "pop" 3 mapconcat identity ":" vm-md5-string expand-file-name "pop-cache-" getenv "HOME" vm-folder-directory] 5]) (defalias 'vm-pop-parse-spec-to-list #[(spec) "\301\302\"\203\303\304\305\306$\207\303\304\305\307$\207" [spec string-match "\\(pop\\|pop-ssh\\|pop-ssl\\)" vm-parse "\\([^:]+\\):?" 1 5 4] 5]) (provide 'vm-pop) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:29 2004 ;;; from file /Users/kyle/vm/vm-reply.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-reply.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-do-reply #[(to-all include-text count) "\306! \n\307\310\211\211\211\211\211\211\211\211>?@ABCDEF\211G\211@\203{G@=\203\266\311@@\312\313#H\314H!?\205HH)\211C\204k\311@@\315\313#\211C\204k\316@@!\211C\204k\317\320!\210\311@@\321\"AI\205\203\310J\322I@@\")\211?\323\232?\205\216??A\203\372K;\203\372\307D\324\325K!A\"\326\232)\204\372KAPA\202\372\311@@\312\313#\211\203\314C\327 QC\202\372\311@@\315\313#\211\203\342C\327 QC\202\372\316@@!\211\203\366C\327 QC\202\372\317\320!\210L\203;\311@@\330\313#\311@@\331\313# \203%B\203\"B\327 QB\202% B\f\203;B\2038B\327\fQB\202;\fB\311@@\332\333#\206L\311@@\334\333#\311@@\335\333#>BB>L\203h\311@@\336\327#\206o\311@@\337\327# B@A\211@\204-M\203\232\307NC\203\216\340C!CB\203\231\340B!B)\341C!C\341B!BO\203\267\342C!C\342B!B\343C\310\307#C\343\344\343B\310\307#C\345C!#\307\211#BC\203\340\346\347C\350#CB\203\355\346\347B\350#BC\204\371BC\310B\351\310>\">\346\347>\333#>\352>\353\">\343>!\211>\205\346\347>\354#>\351\310 \"\346\347 \327#\352 \355\"\343 !\211\205>\346\347 \327#\356\357\360\361G@!GA\203Q\362\202R\323#CA?B> &\210\363\364!\210\365PG4FQ\203\251\212eb\210\310D\366\367\325R!\370Q\310\326#\210)\371u\210G\203\250\214``}\210\372G@!\210db\210)GA\211G\204\220)\373\374!\210\373\375!. \207" [count default-directory vm-message-pointer newsgroups tmp2 tmp vm-select-marked-or-prefixed-messages t nil vm-get-header-contents "Reply-To:" ", " vm-ignored-reply-to "From:" vm-grok-From_-author error "No From: or Reply-To: header in message" "Subject:" vm-summary-sprintf "" string-match regexp-quote 0 "," "To:" "Cc:" "References:" " " "In-reply-to:" "Message-ID:" "Followup-To:" "Newsgroups:" mail-strip-quoted-names vm-parse-addresses vm-strip-ignored-addresses vm-delete-duplicates append copy-sequence mapconcat identity ",\n " delq vm-parse "[^<]*\\(<[^>]+>\\)" "\n " "[ \f \n,]*\\([^ \f \n,]+\\)" vm-mail-internal format "reply to %s%s" vm-su-full-name ", ..." make-local-variable vm-reply-list replying re-search-forward "^" "$" 1 vm-yank-message run-hooks vm-reply-hook vm-mail-mode-hook references in-reply-to mp subject cc to case-fold-search message-pointer dir mlist reply-to vm-in-reply-to-format vm-summary-uninteresting-senders vm-reply-subject-prefix to-all vm-strip-reply-headers mail-use-rfc822 vm-reply-ignored-addresses vm-system-state include-text mail-header-separator] 14]) (defalias 'vm-strip-ignored-addresses #[(addresses) "\305!\306\211\211\f\211\2033\211\203,\307 @ @\"\203%\310 @\" A\211\204 A\211\204+\207" [addresses addr-list list re-list vm-reply-ignored-addresses copy-sequence nil string-match delq] 4]) (defalias 'vm-ignored-reply-to #[(reply-to) "\205'\304\211 \211\203%\305\n@\"\203\306\304\211\202 \nA\211\204 *\207" [reply-to result re-list vm-reply-ignored-reply-tos nil string-match t] 4]) (defalias 'vm-mail-yank-default #[(&optional message) "\212\306\307 #\210g\310=\203\311\312!\210\n\203\" \203\"\307\313 \n\"c\210)\307\314\315 `W\205<c\210\312y\210\202+,\207" [vm-included-text-headers vm-included-text-discard-header-regexp message vm-included-text-attribution-format vm-summary-uninteresting-senders zmacs-regions vm-reorder-message-headers nil 10 delete-char 1 vm-summary-sprintf t mark-marker mark-even-if-inactive end vm-included-text-prefix] 4]) (defalias 'vm-yank-message-other-folder #[(folder) "p\306\211\211\211\211\211\307!\206\310!q\210p\311=\204(\311 \210\2032\312!\210\204=\313\314\"\210@\211\315H\316H)\212\317\213\210)q\210\320\216 \321@!. \207" [mp prompt result default sumbuf newbuf nil vm-get-file-buffer find-file-noselect vm-mode vm-bury-buffer error "No messages in folder %s" 1 0 ((byte-code "\306\213\210\307\310\311\312$\210p\313\314\n\"\315\315\315U\2031\316 !\211\317\230\203)\n\203)\n\320\f!\211\202\fS \233\211\204?\321\322!\210\307\207" [vm-summary-buffer sumbuf default prompt result vm-message-list ((vm-summarize)) vm-display t (vm-yank-message-other-folder) (vm-yank-message-other-folder composing-message) format "Yank message number: (default %s) " 0 read-string "" string-to-int error "No such message." mp] 6)) ((byte-code "\302!\210\302 !\207" [newbuf sumbuf vm-bury-buffer] 2)) vm-yank-message b folder major-mode vm-presentation-buffer-handle vm-message-pointer message vm-mail-buffer] 8 "\ Like vm-yank-message except the message is yanked from a folder other than the one that spawned the current Mail mode buffer. The name of the folder is read from the minibuffer. Don't call this function from a program." (list (let ((dir (if vm-folder-directory (expand-file-name vm-folder-directory) default-directory)) (last-command last-command) (this-command this-command)) (read-file-name "Yank from folder: " dir nil t)))]) (defalias 'vm-yank-message #[(message) "\306!\204\n\307\310!\210\311!\204\307\312 \211\313H\314H)\"\210\315\316\211\317\320$\210 \211\313H\321HJ)p`\316\214~\210\212\322\323 !!\203\323 !\324 !@0\3161\325 \211\313H\326H) \211\314H\313H) \211\314H\327H\206p\330 !\210 \314H\327H)#\2102\203\201\214 `}\210\331 \210)\332\3330\"\203\223\334\335 !!1\202\227 C11\203\375\3361@!\203\330\332\337\3241@!@\"\203\270\3401@!\202\276\3411@\342\"\204\317\3431@!\210\3441@ `#\2101A\2111\202\231\345\3241@!@!\203\364\334\3351@!!1A\244\2111\202\2311A\2111\204\234\346 +\2028 \211\313H\326H)q\210\214~\210\347\f \211\314H\313H) \211\314H\350H)#\210\fq\210\346 2\2037 \n}\210\331 \210))\3423\351ed\352p$\210)\353\n!\210-\203S\354\355!\202a.\203^\354\356!\202a\357 !,\207" [vm-mail-buffer message end start b o bufferp error "This is not a VM Mail mode buffer." buffer-name "The folder buffer containing message %d has been killed." 1 0 vm-display nil (vm-yank-message) (vm-yank-message composing-message) 5 vectorp vm-mm-layout vm-mm-layout-type vm-insert-region-from-buffer 9 3 vm-find-and-set-text-of vm-decode-mime-encoded-words vm-mime-types-match "multipart" copy-sequence vm-mm-layout-parts vm-mime-text-type-layout-p "text/enriched" vm-mime-display-internal-text/enriched vm-mime-display-internal-text/plain t vm-mime-insert-mime-body vm-mime-transfer-decode-region vm-mime-composite-type-p point-marker append-to-buffer 4 remove-text-properties (read-only nil) push-mark run-hooks mail-citation-hook mail-yank-hooks vm-mail-yank-default type parts vm-display-using-mime inhibit-read-only] 6 "\ Yank message number N into the current buffer at point. When called interactively N is always read from the minibuffer. When called non-interactively the first argument is expected to be a message struct. This command is meant to be used in VM created Mail mode buffers; the yanked message comes from the mail buffer containing the message you are replying to, forwarding, or invoked VM's mail command from. All message headers are yanked along with the text. Point is left before the inserted text, the mark after. Any hook functions bound to mail-citation-hook are run, after inserting the text and setting point and mark. For backward compatibility, if mail-citation-hook is set to nil, `mail-yank-hooks' is run instead. If mail-citation-hook and mail-yank-hooks are both nil, this default action is taken: the yanked headers are trimmed as specified by vm-included-text-headers and vm-included-text-discard-header-regexp, and the value of vm-included-text-prefix is prepended to every yanked line." (list (let (mp default (result 0) prompt (last-command last-command) (this-command this-command)) (save-excursion (vm-select-folder-buffer) (setq default (and vm-message-pointer (vm-number-of (car vm-message-pointer))) prompt (if default (format "Yank message number: (default %s) " default) "Yank message number: ")) (while (zerop result) (setq result (read-string prompt)) (and (string= result "") default (setq result default)) (setq result (string-to-int result))) (if (null (setq mp (nthcdr (1- result) vm-message-list))) (error "No such message."))) (car mp)))]) (defalias 'vm-mail-send-and-exit #[(&rest ignored) "\302 \210\303\300!\203\203\304 \305=\204\306\307!\210p\310 \210\311 !\2042\312\313 !q\210\314\315\211\316\317$\202<\314 \315\320\321$\210\322 !)\207" [mail-alias-file b vm-check-for-killed-folder boundp user-uid 0 error "Must be superuser to use mail-alias-file. Please set mail-alias-file to nil." vm-mail-send buffer-name window-buffer selected-window vm-display nil (vm-mail-send-and-exit) (vm-mail-send-and-exit reading-message startup) (vm-mail-send-and-exit) (vm-mail-send-and-exit reading-message startup) vm-bury-buffer] 5 "\ Send message and maybe delete the composition buffer. The value of `vm-keep-sent-mesages' determines whether the composition buffer is deleted. If the composition is a reply to a message ina currenttly visited folder, that message is marked as having been rpelied to." "P"]) (defalias 'vm-keep-mail-buffer #[(buffer) "\302\303 #\207" [buffer vm-keep-sent-messages vm-keep-some-buffers vm-kept-mail-buffers] 4]) (defalias 'vm-help-tale #[nil "\212eb\210\300 \205.\300\301!\204\302 b\210\202\303 b\210\304\305\306 \307#\203'\310\311!\210\302 b\210\202)\207" [vm-match-header "To:\\|Resent-To:\\|Cc:\\|Resent-Cc:" vm-matched-header-end vm-matched-header-contents-start re-search-forward "[^, ][ ]*\n[ \n]+[^ \n]" vm-matched-header-contents-end t error "tale is an idiot, and so are you. :-)"] 4]) (defalias 'vm-mail-mode-insert-message-id-maybe #[nil "\205<\214\212\302\303\304!\204\303\305!\204\303\306!\203#\307\310!\210\311\202'\307\312!\210~\210eb\210\313\314 \2036\315\2027\316\317 #c+\207" [vm-mail-header-insert-message-id resent nil vm-mail-mode-get-header-contents "Resent-To:" "Resent-Cc:" "Resent-Bcc:" vm-mail-mode-remove-header "Resent-Message-ID:" t "Message-ID:" format "%sMessage-ID: %s\n" "Resent-" "" vm-make-message-id] 4]) (defalias 'vm-mail-mode-insert-date-maybe #[nil "\205\213\214\212\306 @\211\307\245 \n\307_Z\310\245\311 \312\313\314!\204-\313\315!\204-\313\316!\2036\317\320!\210\321\202:\317\322!\210~\210eb\210\323\324 \203I\325\202J\326\"\327\330\331\332\f\"!'8@!\333\334\330\331\335\f\"!!\336\327\330\331\337\f\"!S(8@!\331\340\f\"\323\341 \342W\203~\343\202\344\345\n!\345 !$\346\261 .\207" [vm-mail-header-insert-date timezone hour min time resent current-time-zone 3600 60 current-time nil vm-mail-mode-get-header-contents "Resent-To:" "Resent-Cc:" "Resent-Bcc:" vm-mail-mode-remove-header "Resent-Date:" t "Date:" format "%sDate: " "Resent-" "" capitalize string-to-int format-time-string "%w" ", " int-to-string "%e" " " "%m" " %Y %H:%M:%S" " %s%02d%02d" 0 "-" "+" abs "\n" vm-weekday-alist vm-month-alist] 14]) (defalias 'vm-mail-mode-remove-message-id-maybe #[nil "\205&\302\303\304!\204\303\305!\204\303\306!\203\"\307\310!\210\311\211\202%\307\312!)\207" [vm-mail-header-insert-message-id resent nil vm-mail-mode-get-header-contents "Resent-To:" "Resent-Cc:" "Resent-Bcc:" vm-mail-mode-remove-header "Resent-Message-ID:" t "Message-ID:"] 2]) (defalias 'vm-mail-mode-remove-date-maybe #[nil "\205&\302\303\304!\204\303\305!\204\303\306!\203\"\307\310!\210\311\211\202%\307\312!)\207" [vm-mail-header-insert-date resent nil vm-mail-mode-get-header-contents "Resent-To:" "Resent-Cc:" "Resent-Bcc:" vm-mail-mode-remove-header "Resent-Date:" t "Date:"] 2]) (byte-code "\301B\303\301!\204\f\304\n\203%\305\306!\203%\305\307!\204%\307\306KM\210\306\310M\210\311B\312B\304\207" [current-load-list vm-dont-ask-coding-system-question vm-fsfemacs-mule-p boundp nil fboundp select-message-coding-system vm-old-select-message-coding-system #[(&rest ignored) "?\205 \302\303 \"\207" [vm-dont-ask-coding-system-question ignored apply vm-old-select-message-coding-system] 3] select-safe-coding-system-function coding-system-for-write] 2) (defalias 'vm-mail-send #[nil "\203\306 \210 \n\203\307\310!\204\311\312!\210)\212\313\314!\210)\315 \210\316 \210 \2031\317\320!\2041\321 \210\322\323!\210p\f **+ \203\200,\250\203\200\324 ,V\203\200\325-\326,!\211-\203x\212-@q\210\327 \210\330-@!\210)-A\211-\204_\322\325!\210)\202\275 .;\203\216\331.!\202\226\332\333!\205\226\323/\203\240\334\202\2520\203\251\334\202\252\335\323\3251234\212\336 \210.p+=\203\3575\337=\203\321\340 \210\202\3505\341=\203\336\342 \210\202\3505\343=\203\350\344 \210\345 \210\346p!\210\347\325\211\350\351$,\207" [vm-tale-is-an-idiot this-command vm-confirm-mail-send vm-send-using-mime vm-reply-list vm-forward-list vm-help-tale y-or-n-p "Send the message? " error "Message not sent." run-hooks vm-mail-send-hook vm-mail-mode-insert-date-maybe vm-mail-mode-insert-message-id-maybe vm-mail-mode-get-header-contents "MIME-Version:" vm-mime-encode-composition set-buffer-modified-p t buffer-size nil vm-mime-fragment-composition vm-mail-send kill-buffer vm-get-file-line-ending-coding-system boundp coding-system-for-write binary no-conversion mail-send replying vm-mail-mark-replied forwarding vm-mail-mark-forwarded redistributing vm-mail-mark-redistributed vm-rename-current-mail-buffer vm-keep-mail-buffer vm-display (vm-mail-send) (vm-mail-send) vm-redistribute-list composition-buffer vm-mime-max-message-size list mail-archive-file-name vm-xemacs-mule-p vm-xemacs-file-coding-p select-safe-coding-system-function vm-dont-ask-coding-system-question sendmail-coding-system mail-send-nonascii vm-system-state] 7 "\ Just like mail-send except that VM flags the appropriate message(s) as replied to, forwarded, etc, if appropriate." nil]) (defalias 'vm-mail-mode-get-header-contents #[(header-name-regexp) "\304\305 \306\307\n!\310\260\212\214~\210eb\210\311\312\304\311#\205-\313\224\205-\314\224b\210\315 \205-\316 ,\207" [regexp header-name-regexp mail-header-separator case-fold-search nil "^\\(" "\\)\\|\\(^" regexp-quote "$\\)" t re-search-forward 1 0 vm-match-header vm-matched-header-contents] 5]) (defalias 'vm-mail-mode-remove-header #[(header-name-regexp) "\304\305 \306\307\n!\310\260\212\214~\210eb\210\311\312\304\311#\2050\313\224\2050\314\224b\210\315 \2050\316 \317 |,\207" [regexp header-name-regexp mail-header-separator case-fold-search nil "^\\(" "\\)\\|\\(^" regexp-quote "$\\)" t re-search-forward 1 0 vm-match-header vm-matched-header-start vm-matched-header-end] 5]) (defalias 'vm-rename-current-mail-buffer #[nil "\203 \207\306\307\310\311 \"?\205|\306\211\211\307\312\311 \"\204)\313\314\311 \"\202T\306\315\316!\211G\317U\203N\315\320!\211G\317U\203N\315\321!\211G\317U\203N\322\313\323 \")\fG\324V\203b\f\317\325O\326P\f\327\330 !\203x\313\331\f\n#\nT\202f\332 !+)\207" [vm-rename-current-buffer-function case-fold-search n name prefix recipients nil string-match "^sent " buffer-name "^mail to \\?" format "sent %s" mail-fetch-field "To" 0 "Cc" "Bcc" "the horse with no name" "sent mail to %s" 44 40 " ..." 2 get-buffer "%s<%d>" rename-buffer] 4]) (defalias 'vm-mail-mark-replied #[nil "\212\211\203@\304 @\211\305H\306H)!\2039 @\211\305H\306H)q\210 @ >\2039 @\211\307H\310H)\2049\311 @\312\"\210 A\211\204\313 *\207" [vm-reply-list mp message vm-message-list buffer-name 1 9 2 4 vm-set-replied-flag t vm-update-summary-and-mode-line] 4]) (defalias 'vm-mail-mark-forwarded #[nil "\212\211\203@\304 @\211\305H\306H)!\2039 @\211\305H\306H)q\210 @ >\2039 @\211\307H\310H)\2049\311 @\312\"\210 A\211\204\313 *\207" [vm-forward-list mp message vm-message-list buffer-name 1 9 2 6 vm-set-forwarded-flag t vm-update-summary-and-mode-line] 4]) (defalias 'vm-mail-mark-redistributed #[nil "\212\211\203@\304 @\211\305H\306H)!\2039 @\211\305H\306H)q\210 @ >\2039 @\211\307H\310H)\2049\311 @\312\"\210 A\211\204\313 *\207" [vm-redistribute-list mp message vm-message-list buffer-name 1 9 2 8 vm-set-redistributed-flag t vm-update-summary-and-mode-line] 4]) (defalias 'vm-reply #[(count) "\303 \210\203\304!\204\305\306!\210q\210\202! \307>\204!\305\310!\210\311 \210\312 \210\313\314\211\n#\207" [vm-mail-buffer major-mode count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-do-reply nil] 4 "\ Reply to the sender of the current message. Numeric prefix argument N means to reply to the current message plus the next N-1 messages. A negative N means reply to the current message and the previous N-1 messages. If invoked on marked messages (via vm-next-command-uses-marks), all marked messages will be replied to. You will be placed into a standard Emacs Mail mode buffer to compose and send your message. See the documentation for the function `mail' for more info. Note that the normal binding of C-c C-y in the reply buffer is automatically changed to vm-yank-message during a reply. This allows you to yank any message from the current folder into a reply. Normal VM commands may be accessed in the reply buffer by prefixing them with C-c C-v." "p"]) (defalias 'vm-reply-include-text #[(count) "\303 \210\203\304!\204\305\306!\210q\210\202! \307>\204!\305\310!\210\311 \210\312 \210\313\314\315\n#\207" [vm-mail-buffer major-mode count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-do-reply nil t] 4 "\ Reply to the sender (only) of the current message and include text from the message. See the documentation for function vm-reply for details." "p"]) (defalias 'vm-followup #[(count) "\303 \210\203\304!\204\305\306!\210q\210\202! \307>\204!\305\310!\210\311 \210\312 \210\313\314\315\n#\207" [vm-mail-buffer major-mode count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-do-reply t nil] 4 "\ Reply to all recipients of the current message. See the documentation for the function vm-reply for details." "p"]) (defalias 'vm-followup-include-text #[(count) "\303 \210\203\304!\204\305\306!\210q\210\202! \307>\204!\305\310!\210\311 \210\312 \210\313\314\211\n#\207" [vm-mail-buffer major-mode count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-do-reply t] 4 "\ Reply to all recipients of the current message and include text from the message. See the documentation for the function vm-reply for details." "p"]) (defalias 'vm-forward-message-all-headers #[nil "\306\307\306\307\306\307\306\307 \n\310 .\207" [vm-mime-digest-discard-header-regexp vm-mime-digest-headers vm-rfc1153-digest-discard-header-regexp vm-rfc1153-digest-headers vm-rfc934-digest-discard-header-regexp vm-rfc934-digest-headers nil "only-drop-this-header" vm-forward-message vm-unforwarded-header-regexp vm-forwarded-headers] 8 "\ Like vm-forward-message but always forwards all the headers." nil]) (defalias 'vm-forward-message #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\n\316=\203=\317\320!A\203= \316\321\322!)\207@A\205G \323\232\324\211\317\325!BCDEF\214~\210\326\327\330\331G@!\332G@!#\324H\205x\324I\333HB@\")#\210\334\335!\210\336JB@CF@E\203\241pD\337\340!q\210`C\341c\210\202\266eb\210\342\343\344K!\341Q!\210\320\225b\210\320\224C \323\232\203\352\345B@CLM\324$\210Cb\210\346c\210\347c\210\350\351`d\"\341\261\210\352c\210N\203\353\354!\210\202 \355\232\203\374\356LM#\210\202 \357\232\203\360LM#\210\202 \324\232\203\361@LM#\210E\203IpODq\210\362 \210\363O\364\324\365\354%\210\366\367\370\324\371\372D\373E\374ODEE\"\210)\375\376!\210)\377\201P!\210\377\201Q!-\207" [vm-mail-buffer major-mode last-command vm-forwarding-digest-type vm-digest-send-type this-command vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-next-command-uses-marks vm-select-marked-or-prefixed-messages 0 command-execute vm-send-digest "mime" nil 1 vm-mail-internal format "forward of %s's note re: %s" vm-su-full-name vm-su-subject vm-summary-sprintf make-local-variable vm-forward-list forwarding vm-make-work-buffer "*vm-forward-buffer*" "\n" re-search-forward "^" regexp-quote vm-mime-encapsulate-messages "MIME-Version: 1.0\n" "Content-Type: message/rfc822\n" "Content-Transfer-Encoding: " vm-determine-proper-content-transfer-encoding "Content-Description: forwarded message\n" set-buffer-multibyte t "rfc934" vm-rfc934-encapsulate-messages "rfc1153" vm-rfc1153-encapsulate-messages vm-no-frills-encapsulate-message mail-text vm-mime-attach-object "message/rfc822" "forwarded message" add-hook kill-buffer-hook lambda if eq (current-buffer) kill-buffer mail-position-on-field "To" run-hooks default-directory vm-send-using-mime mp header-end mail-buffer miming dir vm-message-pointer vm-forwarding-subject-format vm-summary-uninteresting-senders vm-system-state mail-header-separator vm-forwarded-headers vm-unforwarded-header-regexp vm-fsfemacs-mule-p b vm-forward-message-hook vm-mail-mode-hook] 8 "\ Forward the current message to one or more recipients. You will be placed in a Mail mode buffer as you would with a reply, but you must fill in the To: header and perhaps the Subject: header manually." nil]) (defalias 'vm-resend-bounced-message #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210p\316\n\317 @! @\211\320H\321H)4567\214~\210\3224!\203U\3234\324\"\2114\204\203\212 @\211\320H\325H\206j\326\f!\210\f\320H\325H)b\210\3278\330\331 \327#\204|\310\332!\210\333 \210`6*\3169\334\335\336\337 @!\"!\210)eb\210\3224!\203\256`6\3404!\210\34146`#\210\202\266\34276 #\210`d|\210eb\210\343\316\211\344#\210\343\316:;#\210\345\346\316\327#\203\332\347\350!\210\202\335db\210\351<\351\261\210eb\2109\203\363\3529\351\261\210\353\354!\203\355\356!\210\202\357c\210\360u\2105.\361\362!\210\361\363!\207" [vm-mail-buffer major-mode default-directory vm-message-pointer message lim vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty nil vm-mm-layout 0 4 vectorp vm-mime-layout-contains-type "message/rfc822" 3 vm-find-and-set-text-of t re-search-forward "^Received:" "This doesn't look like a bounced message." beginning-of-line vm-mail-internal format "retry of bounce from %s" vm-su-from vm-mime-insert-mime-body vm-mime-transfer-decode-region insert-buffer-substring vm-reorder-message-headers "\\(X-VM-\\|Status:\\|Sender:\\)" search-forward "\n\n" replace-match "" 10 "Resent-From: " vm-mail-mode-get-header-contents "Resent-To:" mail-position-on-field "Resent-To" "Resent-To: \n" -1 run-hooks vm-resend-bounced-message-hook vm-mail-mode-hook layout dir start b case-fold-search vm-mail-header-from vm-resend-bounced-headers vm-resend-bounced-discard-header-regexp mail-header-separator] 7 "\ Extract the original text from a bounced message and resend it. You will be placed in a Mail mode buffer with the extracted message and you can change the recipient address before resending the message." nil]) (defalias 'vm-resend-message #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\214~\210p\n \211@\211\316H\317H) @\211\316H\320H)0123\3214\322\323\324\325 @!\326 @!#!\210)eb\210\32730 #\210`d|\210eb\2104\203x\3304\331\261\210\332c\2105\203\250\3336\203\221\334\335!\203\221\335 \202\244\336\335!\203\242;\203\242\202\244\337 \331\261\2107\203\264\3407\331\261\210\341\321\211\342#\210\341\32189#\210\343\344\321\345#\203\316\346\347!\210\331:\331\261\210eb\210\350\351!\210\352\353!\210\354;1@C+2\355\356!\210\355\357!.\207" [vm-mail-buffer major-mode default-directory vm-message-pointer message lim vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty 0 1 4 nil vm-mail-internal format "resend of %s's note re: %s" vm-su-full-name vm-su-subject insert-buffer-substring "Resent-From: " 10 "Resent-To: \n" "Bcc: " fboundp user-mail-address boundp user-login-name "FCC: " vm-reorder-message-headers "\\(X-VM-\\|Status:\\|Sender:\\)" search-forward "\n\n" t replace-match "" mail-position-on-field "Resent-To" make-local-variable vm-redistribute-list redistributing run-hooks vm-resend-message-hook vm-mail-mode-hook start vmp dir b vm-mail-header-from mail-self-blind vm-xemacs-p mail-archive-file-name vm-resend-headers vm-resend-discard-header-regexp mail-header-separator vm-system-state] 7 "\ Resend the current message to someone else. The current message will be copied to a Mail mode buffer and you can edit the message and send it as usual. NOTE: since you are doing a resend, a Resent-To header is provided for you to fill in the new recipient list. If you don't fill in this header, what happens when you send the message is undefined. You may also create a Resent-Cc header." nil]) (defalias 'vm-send-digest #[(&optional prefix) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\n \205,\f\315\232\316\211\211 \317=\203;\320\321!\202=@\316\211\211ABCDEFGHI\214~\210\322\323\324\306 \"!\210\325\326!\210\327JDIH\203\205pF\330\331!q\210`B\332c\210\333 C\202\236eb\210\334\335\336K!\332Q!\210\321\225b\210\333 C\321\224B\337\340\f\"\210\f\315\232\203\327\341DLM\342$ABb\210\343c\210N\203\304\344\202\305\345A\346\261\210\347\350`d\"\332\261\210\202\370\f\351\232\203\351\352DOP#\210\202\370\f\353\232\203\370\354DQR#\210Cb\210DGH\2030pEFq\210\355 \210\356E\357\360A\361QC\316\342%\210\362\363\364\316\365\366F\367E\370EDEE\"\210)S\203r\212\337\371!\210H\203FFq\210\355 \210G\203q\316T\372UG@\"\332\261\210)V\203h\373u\210\374 \210\375u\210GA\211G\204K)\376\377!\210\337\201W\f\"\210.\n\201X\201Y!\210\201X\201Z!\207" [vm-mail-buffer major-mode default-directory vm-send-using-mime vm-digest-send-type last-command buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty "mime" nil vm-next-command-uses-marks vm-select-marked-or-prefixed-messages 0 vm-mail-internal format "digest from %s" make-local-variable vm-forward-list forwarding vm-make-work-buffer "*vm-digest-buffer*" "\n" point-marker re-search-forward "^" regexp-quote message "Building %s digest..." vm-mime-encapsulate-messages t "MIME-Version: 1.0\n" "Content-Type: multipart/digest; boundary=\"" "Content-Type: multipart/digest;\n boundary=\"" "\"\n" "Content-Transfer-Encoding: " vm-determine-proper-content-transfer-encoding "rfc934" vm-rfc934-encapsulate-messages "rfc1153" vm-rfc1153-encapsulate-messages mail-text vm-mime-attach-object "multipart/digest" "boundary=\"" "\"" add-hook kill-buffer-hook lambda if eq (current-buffer) kill-buffer "Building digest preamble..." vm-summary-sprintf -1 center-line 1 mail-position-on-field "To" vm-message-list boundary header-end start mlist b mail-buffer mp miming dir vm-system-state mail-header-separator vm-mime-digest-headers vm-mime-digest-discard-header-regexp vm-mime-avoid-folding-content-type vm-rfc934-digest-headers vm-rfc934-digest-discard-header-regexp vm-rfc1153-digest-headers vm-rfc1153-digest-discard-header-regexp prefix vm-summary-uninteresting-senders vm-digest-preamble-format vm-digest-center-preamble "Building %s digest... done" run-hooks vm-send-digest-hook vm-mail-mode-hook] 10 "\ Send a digest of all messages in the current folder to recipients. The type of the digest is specified by the variable vm-digest-send-type. You will be placed in a Mail mode buffer as is usual with replies, but you must fill in the To: and Subject: headers manually. Prefix arg means to insert a list of preamble lines at the beginning of the digest. One line is generated for each message being digestified. The variable vm-digest-preamble-format determines the format of the preamble lines. If invoked on marked messages (via vm-next-command-uses-marks), only marked messages will be put into the digest." "P"]) (defalias 'vm-send-rfc934-digest #[(&optional preamble) "\302\303 !)\207" [vm-digest-send-type preamble "rfc934" vm-send-digest] 2 "\ Like vm-send-digest but always sends an RFC 934 digest." "P"]) (defalias 'vm-send-rfc1153-digest #[(&optional preamble) "\302\303 !)\207" [vm-digest-send-type preamble "rfc1153" vm-send-digest] 2 "\ Like vm-send-digest but always sends an RFC 1153 digest." "P"]) (defalias 'vm-send-mime-digest #[(&optional preamble) "\302\303 !)\207" [vm-digest-send-type preamble "mime" vm-send-digest] 2 "\ Like vm-send-digest but always sends an MIME (multipart/digest) digest." "P"]) (defalias 'vm-continue-composing-message #[(&optional not-picky) "\306=\203\n\307p!\210\310 !\211\203b\np=\204b\311\n!\210\nq\210 \203Y\f\203Y\312 \203Y \203Y\313\n!\211\204@\314\315!\210\202Q\316!\210\203Q\317\320!!\210\311\n!\210\321 \210)\322\n\323\324\325$\202e\326\327!)\207" [major-mode not-picky b vm-mutable-frames vm-frame-per-composition vm-undisplay-buffer-hook mail-mode vm-bury-buffer vm-find-composition-buffer vm-unbury-buffer vm-multiple-frames-possible-p vm-get-buffer-window vm-goto-new-frame composition select-window vm-warp-mouse-to-frame-maybe vm-window-frame vm-set-hooks-for-frame-deletion vm-display t (vm-continue-composing-message) (vm-continue-composing-message composing-message) message "No composition buffers found" w vm-warp-mouse-to-new-frame] 6 "\ Find and select the most recently used mail composition buffer. If the selected buffer is already a Mail mode buffer then it is buried before beginning the search. Non Mail mode buffers and unmodified Mail buffers are skipped. Prefix arg means unmodified Mail mode buffers are not skipped. If no suitable buffer is found, the current buffer remains selected." "P"]) (defalias 'vm-mail-to-mailto-url #[(url) "\306 \210\307 \210\310!\203\311!\203q\210\312 \210\313 \314\315#\316\211\211\211\211\211\211\211\211\211\211 !\"#$%&\211'@&\317&!&'A\211'\203\206\313'@\320\"\211A@\203}\317 @!\227\317 A@!\f\321\235\203w\322\f! L\210\202}\f \nBB'A\211'\204O\323\316&%$#\"!&\210\212eb\210\n\203\276\n@\324\261\210\325`\212\326 \210`)\"\210\nA@\327\261\210\nAA\211\204\237 \203\337\330 \210\212\317 !\327\261\210)\331\332\316\333#\203\337\334\327!\210\202\320)\335\336!\210\335\337!.\f\207" [vm-mail-buffer url header-list value header tem vm-session-initialization vm-check-for-killed-folder bufferp buffer-name vm-check-for-killed-summary vm-parse "^mailto:\\([^?]+\\)\\??\\|\\([^&]+\\)&?" (1 2) nil vm-url-decode-string "\\([^=]+\\)=?" ("subject" "in-reply-to" "cc" "references" "newsgroups" "body") intern vm-mail-internal ": " capitalize-region beginning-of-line "\n" mail-text search-forward " \n" t replace-match run-hooks vm-mail-hook vm-mail-mode-hook body newsgroups references cc in-reply-to subject to list] 13]) (byte-code "\301B\302B\303B\304B\305B\301\207" [current-load-list mail-mode-map mail-aliases mail-default-reply-to mail-signature-file mail-personal-alias-file] 2) (defalias 'vm-mail-internal #[(&optional buffer-name to subject in-reply-to cc references newsgroups) "\306 \307>\203\np\310\n\206\311!q\210 \203!\312\313!\203!\313\314!\210\f\206(\315\316!\317@\2033\320\2024\321!\210\322 \210A\203A\323 \210\324B!\210C\204n\312\325!\203_\325BDC\"\210\326C\202nD:\203nBD\244\210\326CEF\205}\327 \205}\330 GF\203\214\327 \203\214\331 \210\312\332!\203\230\332 \210\202\260H\326=\203\260\306H\333I\206\251\334!\203\260\335 \210J;\203\275\336J\337\261\210\340K\206\304\341\337\261\210L\203\324\342L\337\261\210\343M\206\333\341\337\261\210N\203\353\344N\337\261\210O\203\367\345O\337\261\210P\203\346P\337\261\210\347Q\350R\203\351\202\341S\337\261\210T\306=\203#\352\353!TT\203/\354T\337\261\210U\203\\\355V\203E\312\356!\203E\356 \202X\357\356!\203V.;\203V.\202X\360 \361\261\210W\203h\362W\337\261\210X\203qXc\210h\361U\204z\361c\210Y\337\261\210Z\203\327\212\214``}\210Z;\203\230Zc\210\202\307Z\326=\203\267\363\357\364!\203\2614;\203\2614\206\262\365!\210\202\307\366Z!\211[;\203\306[c\210)eb\210\367\370!\204\323\371c\210db\210*\372p!\210\\\203\361]\203\361\373 \203\361\374\375!\210\376 \210\377p\326\201`^\201aD$\210K\204\f\201b\201c!\210V\2037\312\201d!\2037\201e\201f!\2047\201d\201f\201g\201h\201i\326%\204Q\312\201j!\203Q_\204Q\201j\201k\326\201g#_\201l\201m!)\207" [folder-buffer major-mode buffer-name vm-fsfemacs-mule-p vm-folder-directory default-directory nil (vm-mode vm-virtual-mode) generate-new-buffer "mail to ?" fboundp set-buffer-file-coding-system raw-text expand-file-name "~/" auto-save-mode 1 -1 mail-mode vm-mail-mode-remove-tm-hooks use-local-map set-keymap-parents t vm-menu-support-possible-p vm-menu-mode-menu vm-menu-install-mail-mode-menu mail-aliases-setup file-exists-p "~/.mailrc" build-mail-aliases "From: " "\n" "To: " "" "Cc: " "Subject: " "Newsgroups: " "In-Reply-To: " "References: " "X-Mailer: VM " " under " "Emacs " getenv "REPLYTO" "Reply-To: " "Bcc: " user-mail-address boundp user-login-name 10 "FCC: " insert-file-contents mail-signature-file "~/.signature" eval looking-at "\n*-- \n" "\n-- \n" vm-unbury-buffer vm-multiple-frames-possible-p vm-goto-new-frame composition vm-set-hooks-for-frame-deletion vm-display auto-save-default vm-send-using-mime vm-mail-mode-map vm-mail-mode-map-parented mail-mode-map vm-mail-buffer vm-use-menus mode-popup-menu mail-aliases mail-personal-alias-file vm-mail-header-from to cc subject newsgroups in-reply-to references vm-version vm-fsfemacs-p emacs-version mail-default-reply-to mail-self-blind vm-xemacs-p mail-archive-file-name mail-default-headers mail-header-separator mail-signature str vm-mutable-frames vm-frame-per-composition this-command vm-update-composition-buffer-name-timer (vm-mail vm-mail-other-frame vm-mail-other-window vm-reply vm-reply-other-frame vm-reply-include-text vm-reply-include-text-other-frame vm-followup vm-followup-other-frame vm-followup-include-text vm-followup-include-text-other-frame vm-send-digest vm-send-digest-other-frame vm-send-rfc934-digest vm-send-rfc934-digest-other-frame vm-send-rfc1153-digest vm-send-rfc1153-digest-other-frame vm-send-mime-digest vm-send-mime-digest-other-frame vm-forward-message vm-forward-message-other-frame vm-forward-message-all-headers vm-forward-message-all-headers-other-frame vm-resend-message vm-resend-message-other-frame vm-resend-bounced-message vm-resend-bounced-message-other-frame) composing-message mail-position-on-field "To" start-itimer get-itimer "vm-rename-mail" vm-update-composition-buffer-name 1.5 1.5 run-with-idle-timer 1.5 run-hooks mail-setup-hook] 7]) (defalias 'vm-reply-other-frame #[(count) "\303 \203 \304\305!\210\306\211\307\n!\210*\303 \205\310 \207" [vm-search-other-frames vm-frame-per-composition count vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-reply vm-set-hooks-for-frame-deletion] 2 "\ Like vm-reply, but run in a newly created frame." "p"]) (defalias 'vm-reply-include-text-other-frame #[(count) "\303 \203 \304\305!\210\306\211\307\n!\210*\303 \205\310 \207" [vm-search-other-frames vm-frame-per-composition count vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-reply-include-text vm-set-hooks-for-frame-deletion] 2 "\ Like vm-reply-include-text, but run in a newly created frame." "p"]) (defalias 'vm-followup-other-frame #[(count) "\303 \203 \304\305!\210\306\211\307\n!\210*\303 \205\310 \207" [vm-search-other-frames vm-frame-per-composition count vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-followup vm-set-hooks-for-frame-deletion] 2 "\ Like vm-followup, but run in a newly created frame." "p"]) (defalias 'vm-followup-include-text-other-frame #[(count) "\303 \203 \304\305!\210\306\211\307\n!\210*\303 \205\310 \207" [vm-search-other-frames vm-frame-per-composition count vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-followup-include-text vm-set-hooks-for-frame-deletion] 2 "\ Like vm-followup-include-text, but run in a newly created frame." "p"]) (defalias 'vm-forward-message-all-headers-other-frame #[nil "\302 \203 \303\304!\210\305\211\306 \210*\302 \205\307 \207" [vm-search-other-frames vm-frame-per-composition vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-forward-message-all-headers vm-set-hooks-for-frame-deletion] 2 "\ Like vm-forward-message-all-headers, but run in a newly created frame." nil]) (defalias 'vm-forward-message-other-frame #[nil "\302 \203 \303\304!\210\305\211\306 \210*\302 \205\307 \207" [vm-search-other-frames vm-frame-per-composition vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-forward-message vm-set-hooks-for-frame-deletion] 2 "\ Like vm-forward-message, but run in a newly created frame." nil]) (defalias 'vm-resend-message-other-frame #[nil "\302 \203 \303\304!\210\305\211\306 \210*\302 \205\307 \207" [vm-search-other-frames vm-frame-per-composition vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-resend-message vm-set-hooks-for-frame-deletion] 2 "\ Like vm-resend-message, but run in a newly created frame." nil]) (defalias 'vm-resend-bounced-message-other-frame #[nil "\302 \203 \303\304!\210\305\211\306 \210*\302 \205\307 \207" [vm-search-other-frames vm-frame-per-composition vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-resend-bounced-message vm-set-hooks-for-frame-deletion] 2 "\ Like vm-resend-bounced-message, but run in a newly created frame." nil]) (defalias 'vm-send-digest-other-frame #[(&optional prefix) "\303 \203 \304\305!\210\306\211\307\n!\210*\303 \205\310 \207" [vm-search-other-frames vm-frame-per-composition prefix vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-send-digest vm-set-hooks-for-frame-deletion] 2 "\ Like vm-send-digest, but run in a newly created frame." "P"]) (defalias 'vm-send-rfc934-digest-other-frame #[(&optional prefix) "\303 \203 \304\305!\210\306\211\307\n!\210*\303 \205\310 \207" [vm-search-other-frames vm-frame-per-composition prefix vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-send-rfc934-digest vm-set-hooks-for-frame-deletion] 2 "\ Like vm-send-rfc934-digest, but run in a newly created frame." "P"]) (defalias 'vm-send-rfc1153-digest-other-frame #[(&optional prefix) "\303 \203 \304\305!\210\306\211\307\n!\210*\303 \205\310 \207" [vm-search-other-frames vm-frame-per-composition prefix vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-send-rfc1153-digest vm-set-hooks-for-frame-deletion] 2 "\ Like vm-send-rfc1153-digest, but run in a newly created frame." "P"]) (defalias 'vm-send-mime-digest-other-frame #[(&optional prefix) "\303 \203 \304\305!\210\306\211\307\n!\210*\303 \205\310 \207" [vm-search-other-frames vm-frame-per-composition prefix vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-send-mime-digest vm-set-hooks-for-frame-deletion] 2 "\ Like vm-send-mime-digest, but run in a newly created frame." "P"]) (byte-code "\301B\301\207" [current-load-list enriched-mode] 2) (defalias 'vm-preview-composition #[nil "\306=\204\n\307\310!\210\311p\312\301!\205 \311\313\216\314\315!\211q\210\306\316\301! L\210\317\f!\210eb\210\320\321!\204=\322\323 \324\261\210\320\325!\204N\326\327\330\331!\330\331!#c\210\320\332!\204^\333\334\335\336 \"\324\261\2102\203l\320\337!\204l\340 \210\341 \210\342\343ed#\210eb\210\344\343!c\210db\210h\345=\204\211\345c\210\346\343!c\210\347\311!\210\311\350\21134p5\351\216\352\353!\210\354 \210,\355\356\357!!\210\3116\3607\206\267p\3508C\361$-\207" [major-mode enriched-mode e-list enriched mail-buffer temp-buffer mail-mode error "Command must be used in a VM Mail mode buffer." nil boundp ((byte-code "\203\301!\210\301\207" [temp-buffer kill-buffer] 2)) generate-new-buffer "composition preview" make-local-variable vm-insert-region-from-buffer vm-mail-mode-get-header-contents "From" "From: " user-login-name "\n" "Message-ID" format "Message-ID: \n" random 1000000 "Date" "Date: " format-time-string "%a, %d %b %Y %H%M%S %Z" current-time "MIME-Version:" vm-mime-encode-composition vm-remove-mail-mode-header-separator vm-munge-message-separators mmdf vm-leading-message-separator 10 vm-trailing-message-separator set-buffer-modified-p t ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) vm-goto-new-folder-frame-maybe folder vm-mode message substitute-command-keys "Type \\[vm-quit] to continue composing your message" vm-display (vm-mode startup) vm-send-using-mime vm-auto-displayed-mime-content-types vm-auto-decode-mime-messages vm-sbe-buffer buffer-offer-save vm-presentation-buffer this-command] 6 "\ Show how the current composition buffer might be displayed in a MIME-aware mail reader. VM copies and encodes the current mail composition buffer and displays it as a mail folder. Type `q' to quit this temp folder and return to composing your message." nil]) (defalias 'vm-update-composition-buffer-name #[nil "\306=\205\206\307 \310\216\311\312\313 \"*\205\206\314\315!\314\316!\313 \317\211\211\320\2034\321\2026\322\323!\323!A\204T@\203V@\203V\324@\206c@\206c\325 !\211@\206q A@\326\f \n#\211\232?\205\204\327 \330\".\207" [major-mode save-match-data-internal ellipsis newbufname fmt deactivate-mark mail-mode match-data ((set-match-data save-match-data-internal)) string-match "^\\(mail\\|reply\\) to " buffer-name mail-fetch-field "To" "Cc" nil "" "reply to %s%s" "mail to %s%s" vm-parse-addresses ", ..." "foo (?)" format rename-buffer t curbufname cc to vm-reply-list vm-chop-full-name-function] 8]) (defalias 'vm-mail-mode-remove-tm-hooks #[nil "\300\301\302\"\210\300\301\303\"\210\300\301\304\"\210\300\305\306\"\210\300\305\307\"\207" [remove-hook mail-setup-hook turn-on-mime-edit mime/decode-message-header mime/editor-mode mail-send-hook mime-edit-maybe-translate mime-editor/maybe-translate] 3]) (provide 'vm-reply) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:29 2004 ;;; from file /Users/kyle/vm/vm-save.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-save.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-match-data #[nil "\302 G\303\245S\304\211\305Y\203 \224 \225BB S\211\202\n*\207" [list n match-data 2 nil 0] 4]) (defalias 'vm-auto-select-folder #[(mp auto-folder-alist) "\300\301\302\217\207" [error-data (byte-code "\300\301\215\207" [match (byte-code "\306\211\211 \211\203\235\307\f@ @@\310#\211\203\226 @A\211\203\226 \311@@\n\")\203\217@A;\203?\312\313@A\"\210\202\217\314 \315\316!\306\212q\210\203Y\317\306!\210~\210\320 \210\nc\210\321\322\323\322\324\"\"!\210\325@A!\211:\203\203\326\f\"\211\202t\203\216\312\313\"\210,A\211\204! A\211\204\f+\306\207" [tuple-list alist header auto-folder-alist mp vm-auto-folder-case-fold-search nil vm-get-header-contents ", " string-match throw match vm-match-data get-buffer-create " *vm-auto-folder*" set-buffer-multibyte erase-buffer store-match-data mapcar #[(n) "\205\303\304 \n \223*\207" [n buffer pos nil make-marker] 3] #[(n) "\205T\207" [n] 1] eval vm-auto-select-folder case-fold-search match-data buf result vm-fsfemacs-mule-p] 7)] 2) ((error (byte-code "\301\302\303!\"\207" [error-data error "error processing vm-auto-folder-alist: %s" prin1-to-string] 4)))] 3]) (defalias 'vm-auto-archive-messages #[(&optional arg) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\315\316!\210\317\320\321\216\f\322=\203:\323\320!\202; \317\211$\317%$&'(\324(!&'\204\277(@\211 \325H\326H)\204\260(@\211 \325H\325H)\204\260\327()\"\211\203\260\330 !p=\204\260*\203\235\331\332\333(@\211 \334H\320H) #!\203\260+\335,\336 !\210\nT\315\337\n\"\210*(&='(A(\202P.\n\320U\203\315\315\340!\202\334\315\341\n\211\334U\203\332\342\202\333\343#*\207" [vm-mail-buffer major-mode archived auto-folder last-command vm-message-list buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty message "Archiving..." nil 0 ((byte-code "\301\302 \"\210\303 \207" [vm-buffers-needing-display-update intern buffer-name vm-update-summary-and-mode-line] 3)) vm-next-command-uses-marks vm-select-marked-or-prefixed-messages vm-last 2 3 vm-auto-select-folder vm-get-file-buffer y-or-n-p format "Save message %s in folder %s? " 1 vm-auto-archive-messages vm-save-message "%d archived, still working..." "No messages were archived" "%d message%s archived" "" "s" vm-last-save-folder vm-move-after-deleting stop-point done vm-message-pointer vm-auto-folder-alist arg vm-delete-after-archiving vm-delete-after-saving] 6 "\ Save all unfiled messages that auto-match a folder via vm-auto-folder-alist to their appropriate folders. Messages that are flagged for deletion are not saved. Prefix arg means to ask user for confirmation before saving each message. When invoked on marked messages (via vm-next-command-uses-marks), only marked messages are checked against vm-auto-folder-alist. The saved messages are flagged as `filed'." "P"]) (defalias 'vm-save-message #[(folder &optional count) "\306\211\n\203\307\n!\204\310\311!\210\nq\210\202\" \312>\204\"\310\313!\210\314 \210\315 \210\f\316 @\"\317\306\211\320\321$\210A\204?\322A\323B\206GC!C\323\f!)D\203vt\203v\324\f!\204vE\203i\325\f!\204v\326\327\330\f\"!\204v\310\331!\210E\204\206\325\f!\203\206\310\332\f\"\210\333A!\324\f!\203\226\334\f!\202\230\335 \336\337!\205\240\337 \306\340\306\211FGAHIJ\211K\203\325E\341=\203\325\325\f!\206\320\341\306\211LMN\342\f!+G\202\344K\203\344E\203\344\325\f!GK\203O\203\343\f!\206 P\206 K\205 K@\211Q\322H\344H)\211F\345=\203\310\346\f\"\210\347\216\212I\203#\350R!\210K\203T\351\f!\211S\203:\344S8\340U\203SG\204J\352\f\353F!\"\210\202S\352G\353F!\"\210)K\203\254K@\211Q\322H\354HJ)\211H\211Q\322H\355H)q\210\356 deZV\306\211TU\211V\203\226\357 e\306\223\211U\203\226\357 d\306\223T\360\216~\210\361H\341\"\210G\204ZO\203\272FH\211Q\322H\344H)=\203\327\362H\211Q\340H\340H)H\211Q\340H\354H)\f\341\363%\210\202tW\204\364K@!\204\367\310\365H\211Q\322H\344H)F#\210\202t\310\366K@\211Q\322H\340H)\fH\211Q\322H\344H)F%\210\202t\352\f\367FH\341#\"\210F\370=\2035\352\fX\371\372H!\373R\"\210\362H\211Q\340H\322H)H\211Q\340H\374H)\f\341\363%\210\352\f\375F!\"\210\202t\212Gq\210Y\203j\376\377pC\"\210\306Z\356 deZV\306\211[\\\211]\203\221\357 e\306\223\211\\\203\221\357 d\306\223[\201d\216~\210\212db\210O\203\260FH\211Q\322H\344H)=\203\326\201eH\211Q\322H\355H)H\211Q\340H\340H)H\211Q\340H\354H)#\210\202_W\204\364K@!\204\366\310\365H\211Q\322H\344H)F#\210\202_\310\366K@\211Q\322H\340H)\fH\211Q\322H\344H)F%\210\202_\352p\367FH\341#\"\210F\370=\2034\352pX\371\372H!\373R\"\210\201eH\211Q\322H\355H)H\211Q\340H\322H)H\211Q\340H\374H)#\210\352p\375F!\"\210) \201f=\203r^T^\201g \210.H\211Q\201hH\201iH)\204\215\201jH\341\"\210ATA\201k\f\201l\322H$\210\201m \210KAK,\202T*H\203/G\203\212Gq\210 \201f=\203\354\314 \210\201n \210 \204\347_\341`\201o\307 a\"\210\201p \210\202\354\201m \210)t\203/\201Q\201qA\211\322U\204\201r\202\201s\307G!$\210\202/t\203/\201Q\201tA\211\322U\204)\201r\202,\201s\f$\210.b\203< \232\204?bc\203PY\204P\201uA!\210\f*\207" [unexpanded-folder auto-folder vm-mail-buffer major-mode folder vm-message-pointer nil buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-auto-select-folder vm-display (vm-save-message) (vm-save-message) 1 expand-file-name file-exists-p vm-get-file-buffer y-or-n-p format "%s does not exist, save there anyway? " "Save aborted" "Folder %s is being visited, cannot save." vm-select-marked-or-prefixed-messages vm-get-file-line-ending-coding-system vm-new-folder-line-ending-coding-system fboundp default-file-modes 0 t find-file-noselect vm-get-folder-type 7 unknown "Folder %s's type is unrecognized" ((byte-code "\203\301!\210\301\207" [oldmodebits set-default-file-modes] 2)) set-default-file-modes file-attributes vm-write-string vm-folder-header 5 9 buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) vm-stuff-attributes write-region quiet vm-virtual-message-p "Folder type mismatch: %s, %s" "Message %s type mismatches folder %s" vm-leading-message-separator From_-with-Content-Length " " vm-su-byte-count "\n" 4 vm-trailing-message-separator signal folder-read-only vm-auto-folder-alist count vm-folder-directory default-directory vm-confirm-new-folders vm-visit-when-saving target-type folder-buffer m oldmodebits coding-system-for-write mlist enable-local-variables enable-local-eval inhibit-local-variables vm-check-folder-types vm-default-folder-type message vm-default-folder-permission-bits attrs #3# #2# #1# vm-convert-folder-types vm-content-length-header vm-folder-read-only buffer-read-only #4=#:vm-sr-max #5=#:vm-sr-min #6=#:vm-sr-clip vm-messages-not-on-disk vm-message-list vm-need-summary-pointer-update vm-buffers-needing-display-update vm-last-save-folder vm-delete-after-saving ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#6# #5# #4# nil] 3)) insert-buffer-substring vm-mode vm-clear-modification-flag-undos 2 3 vm-set-filed-flag vm-modify-folder-totals saved vm-update-summary-and-mode-line vm-assimilate-new-messages intern vm-preview-current-message "%d message%s saved to buffer %s" "s" "" "%d message%s saved to %s" vm-delete-message] 8 "\ Save the current message to a mail folder. If the folder already exists, the message will be appended to it. Prefix arg COUNT means save this message and the next COUNT-1 messages. A negative COUNT means save this message and the previous COUNT-1 messages. When invoked on marked messages (via vm-next-command-uses-marks), all marked messages in the current folder are saved; other messages are ignored. The saved messages are flagged as `filed'." (list (let ((last-command last-command) (this-command this-command)) (vm-follow-summary-cursor) (let ((default (save-excursion (vm-select-folder-buffer) (vm-check-for-killed-summary) (vm-error-if-folder-empty) (or (vm-auto-select-folder vm-message-pointer vm-auto-folder-alist) vm-last-save-folder))) (dir (or vm-folder-directory default-directory))) (cond ((and default (let ((default-directory dir)) (file-directory-p default))) (vm-read-file-name "Save in folder: " dir nil nil default)) (default (vm-read-file-name (format "Save in folder: (default %s) " default) dir default)) (t (vm-read-file-name "Save in folder: " dir nil))))) (prefix-numeric-value current-prefix-arg))]) (defalias 'vm-save-message-sans-headers #[(file &optional count) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\315\316\211\317\320$\210\n\2041\321\322 !\f\204D\323 !\203D\307\324 \"\210\325\n!\326\327!\205O\327 \330 !\316\211789\211:\203t\f\331=\203t\323 !\206p\332 !\202\201:\203\201\f\203\201\323 !\333 !\334>\204\223\335\336!\204\223\307\337!\210\340\216\2129\203\240\341;!\210:\203\241:@\2112\321H\342HJ)\2117\2112\321H\343H)q\210\344 deZV\316\211<=\211>\203\342\345 e\316\223\211=\203\342\345 d\316\223<\346\216~\210 \204\3477\2112\350H\351H\206\3522!\2102\350H\351H)7\2112\350H\353H) \331\354%\210\202\2027\2112\350H\351H\206,\3522!\2102\350H\351H)7\2112\350H\353H)?@\212 q\210\212\316A\344 deZV\316\211BC\211D\203g\345 e\316\223\211C\203g\345 d\316\223B\355\216~\210\212db\210\3567\2112\321H\343H)@?#\210.\n7\2112\357H\342H)\204\225\3607\331\"\210\361 \210:A:,\202\240*7\203\320 \203\300\362\363\n\321U\204\267\364\202\270\365\306 !#\210\202\320\362\366\n\321U\204\314\364\202\315\365 #\210 \211E-\207" [vm-mail-buffer major-mode count file vm-visit-when-saving file-buffer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-display nil (vm-save-message-sans-headers) (vm-save-message-sans-headers) 1 expand-file-name vm-get-file-buffer "File %s is being visited, cannot save." vm-select-marked-or-prefixed-messages fboundp default-file-modes vm-get-file-line-ending-coding-system t find-file-noselect vm-get-folder-type (nil unknown) y-or-n-p "This file looks like a mail folder, append to it anyway? " "Aborted" ((byte-code "\203\301!\210\301\207" [oldmodebits set-default-file-modes] 2)) set-default-file-modes 5 9 buffer-size make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#1=#:vm-sr-clip #2=#:vm-sr-min #3=#:vm-sr-max nil] 3)) write-region 0 3 vm-find-and-set-text-of 4 quiet ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#4=#:vm-sr-clip #5=#:vm-sr-min #6=#:vm-sr-max nil] 3)) insert-buffer-substring 2 vm-set-written-flag vm-update-summary-and-mode-line message "Message%s written to buffer %s" "s" "" "Message%s written to %s" m coding-system-for-write oldmodebits mlist vm-default-folder-permission-bits #3# #2# #1# end start buffer-read-only #6# #5# #4# vm-last-written-file] 7 "\ Save the current message to a file, without its header section. If the file already exists, the message body will be appended to it. Prefix arg COUNT means save the next COUNT message bodiess. A negative COUNT means save the previous COUNT bodies. When invoked on marked messages (via vm-next-command-uses-marks), only the next COUNT marked messages are saved; other intervening messages are ignored. The saved messages are flagged as `written'. This command should NOT be used to save message to mail folders; use vm-save-message instead (normally bound to `s')." (let ((last-command last-command) (this-command this-command)) (vm-follow-summary-cursor) (vm-select-folder-buffer) (list (vm-read-file-name (if vm-last-written-file (format "Write text to file: (default %s) " vm-last-written-file) "Write text to file: ") nil vm-last-written-file nil) (prefix-numeric-value current-prefix-arg)))]) (defalias 'vm-pipe-message-to-command #[(command prefix-arg) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\n\315\316!\317\f\2051 \320='\321=\203>\322\323!\202B(@C)*+\212+q\210\324 \210))\203N)@\211,\325H\326HJ)\211*\211,\325H\327H)q\210\214~\210*\211,\323H\325H)b\210-\317\232\203\226`*\211,\323H\330H)}\210\202&-\331\232\203\304*\211,\323H\332H\206\264\333,!\210,\323H\332H)*\211,\323H\330H)}\210\202&-\334\232\203\351`*\211,\323H\332H\206\343\333,!\210,\323H\332H)}\210\202&-\335\232\203*\211,\323H\336H\206 \337,\317\211#\210,\323H\336H)*\211,\323H\330H)}\210\202&`*\211,\323H\330H)}\210\f\205- \320=\317.\340ed/\206:\341\317+\3170\n&\210+)A\211)\204W\342\317\211\343\344$\210\212+q\210\345 )\323U?\205g\346+!,\207" [vm-mail-buffer major-mode command vm-last-pipe-command pop-up-windows vm-mutable-windows buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty get-buffer-create "*Shell Command Output*" nil t vm-next-command-uses-marks vm-select-marked-or-prefixed-messages 0 erase-buffer 1 5 9 4 (4) 3 vm-find-and-set-text-of (16) (64) 2 vm-reorder-message-headers call-process-region "sh" vm-display (vm-pipe-message-to-command) (vm-pipe-message-to-command) buffer-size display-buffer last-command vm-message-pointer mlist m buffer message prefix-arg selective-display shell-file-name shell-command-switch] 10 "\ Runs a shell command with some or all of the contents of the current message as input. By default, the entire message is used. With one \\[universal-argument] the text portion of the message is used. With two \\[universal-argument]'s the header portion of the message is used. With three \\[universal-argument]'s the visible header portion of the message plus the text portion is used. When invoked on marked messages (via vm-next-command-uses-marks), each marked message is successively piped to the shell command, one message per command invocation. Output, if any, is displayed. The message is not altered." (let ((last-command last-command) (this-command this-command)) (vm-follow-summary-cursor) (vm-select-folder-buffer) (list (read-string "Pipe to command: " vm-last-pipe-command) current-prefix-arg))]) (defalias 'vm-print-message #[(&optional count) "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\n\204-\316\317\320!\321\322\f\"\211\205<\323 7\324\3258C\3269!\244 \205O7C\244\327#:\330;<\205`=\331=<\332\n!>\212 q\210\333 \210)>\203\244>@\211?\316H\334HJ)\211;\211?\316H\335H)q\210@\2039\336\337;!!\2039\330A\340\216\341 \211Aq\210\342;\211?\316H\335H);\211?\343H\344H\206\313\345?\330\211#\210?\343H\344H);\211?\343H\346H\206\343\347?!\210?\343H\346H)#\210\350 \210db\210\351\352\330BCD\353\337;!!\210+<\205=\331=\330E< \203\354ed7\330\343%\210\355edF\206!\356\330 \330G:&\210 \2035\357\3607\"\210,\202\233\214~\210;\211?\343H\344H\206U\345?\330\211#\210?\343H\344H);\211?\343H\361H)}\210<\205k=\331=\330E< \203}\354ed7\330\343%\210\355edF\206\206\356\330 \330G:&\210 \203\232\357\3607\"\210+>A\211>\204t\362\330\211\363\364$\210\212 q\210\365 )\343U?\205\273\366 !.\207" [vm-mail-buffer major-mode count buffer system-configuration need-tempfile vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty 1 get-buffer-create "*Shell Command Output*" string-match ".*-.*-\\(win95\\|nt\\)" vm-make-tempfile-name mapconcat identity copy-sequence " " nil t vm-select-marked-or-prefixed-messages erase-buffer 5 9 vectorp vm-mm-layout ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer vm-insert-region-from-buffer 0 2 vm-reorder-message-headers 3 vm-find-and-set-text-of vm-decode-mime-encoded-words ("text" "multipart") ("text" "multipart") vm-decode-mime-layout write-region call-process-region "sh" vm-error-free-call delete-file 4 vm-display (vm-print-message) (vm-print-message) buffer-size display-buffer tempfile vm-print-command vm-print-command-switches command m pop-up-windows vm-mutable-windows mlist message vm-display-using-mime work-buffer vm-mime-external-content-types-alist vm-mime-internal-content-types vm-auto-displayed-mime-content-types selective-display shell-file-name shell-command-switch] 10 "\ Print the current message Prefix arg N means print the current message and the next N - 1 messages. Prefix arg -N means print the current message and the previous N - 1 messages. The variable `vm-print-command' controls what command is run to print the message, and `vm-print-command-switches' is a list of switches to pass to the command. When invoked on marked messages (via vm-next-command-uses-marks), each marked message is printed, one message per vm-print-command invocation. Output, if any, is displayed. The message is not altered." "p"]) (defalias 'vm-save-message-to-imap-folder #[(folder &optional count) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\315\316\211\317\320$\210\n\2041\321\322\n!\316\211\323\324 !8\325&'\326\216\212\327 !&\330&!q\210'\203\205'@\331& \f#\210 \211 \332H\323H)\204r\333 \334\"\210\nT\335 \336\321 $\210'A\211'\204V*\337 \210t\203\240\340\341\n\211\321U\204\232\342\202\233\343\344 !$\210(\203\256)\204\256\345\n!\210 -\207" [vm-mail-buffer major-mode count folder mailbox m buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-display nil (vm-save-message-to-imap-folder) (vm-save-message-to-imap-folder) 1 vm-select-marked-or-prefixed-messages 3 vm-imap-parse-spec-to-list 0 ((byte-code "\203\301!\210\301\207" [process vm-imap-end-session] 2)) vm-imap-make-session process-buffer vm-imap-save-message 2 vm-set-filed-flag t vm-modify-folder-totals saved vm-update-summary-and-mode-line message "%d message%s saved to %s" "s" "" vm-safe-imapdrop-string vm-delete-message process mlist vm-delete-after-saving vm-folder-read-only] 7 "\ Save the current message to an IMAP folder. Prefix arg COUNT means save this message and the next COUNT-1 messages. A negative COUNT means save this message and the previous COUNT-1 messages. When invoked on marked messages (via vm-next-command-uses-marks), all marked messages in the current folder are saved; other messages are ignored. The saved messages are flagged as `filed'." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((this-command this-command) (last-command last-command)) (list (vm-read-imap-folder-name "Save to IMAP folder: " vm-imap-server-list t) (prefix-numeric-value current-prefix-arg))))]) (provide 'vm-save) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:30 2004 ;;; from file /Users/kyle/vm/vm-search.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-search.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-isearch-forward #[(&optional arg) "\203 ?\202\n \302\303!)\207" [arg vm-search-using-regexps vm-isearch t] 2 "\ Incrementally search forward through the current folder's messages. Usage is identical to the standard Emacs incremental search. When the search terminates the message containing point will be selected. If the variable vm-search-using-regexps is non-nil, regular expressions are understood; nil means the search will be for the input string taken literally. Specifying a prefix ARG interactively toggles the value of vm-search-using-regexps for this search." "P"]) (defalias 'vm-isearch-backward #[(&optional arg) "\203 ?\202\n \302\303!)\207" [arg vm-search-using-regexps vm-isearch nil] 2 "\ Incrementally search backward through the current folder's messages. Usage is identical to the standard Emacs incremental search. When the search terminates the message containing point will be selected. If the variable vm-search-using-regexps is non-nil, regular expressions are understood; nil means the search will be for the input string taken literally. Specifying a prefix ARG interactively toggles the value of vm-search-using-regexps for this search." "P"]) (defalias 'vm-isearch #[(forward) "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210 \316=\2032\310\317\n\"\210\320p\321\322\n\323D$\210ed (\324\216\325\326p!!\210~\210\327\330\331\"\210\327\332\333\"\210\327\332\334\"\210\335)*\336\321$\210\334 \210 \f=?\205\336\337\f \"\210\340 \210~\210` @\211+\341H\342H\206\222\343+\336\211#\210+\341H\342H)W\203\244 @\211+\341H\341H)\202\276 @\211+\341H\342H\206\275\343+\336\211#\210+\341H\342H) @\211+\341H\344H)}\210\212\345 \210)\320\336\211\346\347$\210 e(d\211,\207" [vm-mail-buffer major-mode this-command vm-message-pointer old-vm-message-pointer clip-tail vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-virtual-mode "%s cannot be applied to virtual folders." vm-display t (vm-isearch-forward vm-isearch-backward) searching-message ((byte-code "\304\305\306\"\210\304\307\310\"\210\304\307\311\"\210 }\210\n\304\207" [clip-head clip-tail old-vm-message-pointer vm-message-pointer remove-hook pre-command-hook vm-isearch-widen post-command-hook vm-isearch-update vm-isearch-narrow] 3)) select-window vm-get-visible-buffer-window add-hook pre-command-hook vm-isearch-widen post-command-hook vm-isearch-narrow vm-isearch-update isearch-mode nil vm-record-and-change-message-pointer vm-update-summary-and-mode-line 0 2 vm-reorder-message-headers 4 vm-energize-urls (vm-isearch-forward vm-isearch-backward) (reading-message) clip-head forward vm-search-using-regexps message] 7]) (defalias 'vm-isearch-widen #[nil "\301=\205~\207" [major-mode vm-mode] 2]) (defalias 'vm-isearch-narrow #[nil "\303=\205O` @\211\304H\305H\206\306\n\307\211#\210\n\304H\305H)W\203. @\211\304H\304H)\202E @\211\304H\305H\206D\306\n\307\211#\210\n\304H\305H) @\211\304H\310H)}\207" [major-mode vm-message-pointer message vm-mode 0 2 vm-reorder-message-headers nil 4] 6]) (defalias 'vm-isearch-update #[nil "\306=\205c` @\211\307H\307H)Y\205` @\211\307H\310H)X?\205c `\211\203V\f @\211\307H\307H)Y\203O\f @\211\307H\310H)X\203O \311\211\202( A\211\204+\312\313\314 \"\210\315 *\207" [major-mode vm-message-pointer message vm-message-list point mp vm-mode 0 5 nil t intern buffer-name vm-update-summary-and-mode-line vm-need-summary-pointer-update vm-buffers-needing-display-update] 4]) (provide 'vm-search) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:30 2004 ;;; from file /Users/kyle/vm/vm-sort.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-sort.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-move-message-forward #[(count) "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\n\2038 \2038\316\317pC\"\210\202+\320\321\211\322\fC$\210 ,\321-\321. /\323V\203V\324\202W\3250\326/!\211/\323U\204s\3270!\210/S\211/\202`\330 @\2111\331H\323H)!\330,@\2111\331H\323H)!V\203\223 A ,=\204. \204\247\3322!-\202\264 @\2111\331H\333HJ)-,@\2111\331H\333HJ).\3343.\203\356.,A\241\210,A\203,A@.4\2111\331H\333H4L\210*\202,A\2112@\3214\2111\331H\333H4L\210*-\203%-,\241\210,@-4\2111\331H\333H4L\210*\202:,\2112@\3214\2111\331H\333H4L\210*, \241\210 \203U @,4\2111\331H\333H4L\210*\n\203g \335=\204g\336,@ @\"\210\3215 \204x\3346\337\334!\210\340 \210).\204\21527 82@\"\202\345-\204\24327.A8.@\"\202\345 \203\304\330.@\2111\331H\323H)!\330 @\2111\331H\323H)!W\203\327.A7,A8.A@\"\202\345,7.A8.@\"9\203.\321\211:;\3419\342\"\210\334<7\211:8=\204\343:@!\210:@;B;:A\211:\202\376\344\345;\237\211;\346\347\350;\"\351\"#\210*.\n\2037\352 \207\353 \207" [vm-mail-buffer major-mode vm-move-messages-physically vm-folder-read-only this-command vm-message-pointer vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty signal folder-read-only vm-display nil (vm-move-message-forward vm-move-message-backward vm-move-message-forward-physically vm-move-message-backward-physically) 0 forward backward vm-abs vm-move-message-pointer string-to-int 1 vm-last 6 t vm-virtual-mode vm-physically-move-message vm-set-buffer-modified-p vm-clear-modification-flag-undos vm-copy-local-variables vm-summary-pointer vm-mark-for-summary-update vm-mapc #[(m p) " @\211\304H\305\nI\210* A@\211\304H\306\nI*\207" [m p pos message 1 3 4] 4] sort mapcar #[(p) "\211\302H\303H)\211\302H\304H)D\207" [p message 1 3 4] 4] #[(p q) "@ @W\207" [p q] 2] vm-preview-current-message vm-update-summary-and-mode-line ovmp vmp-prev ovmp-prev count direction message vm-message-list inhibit-quit link vm-ml-sort-keys vm-message-order-changed vm-numbering-redo-start-point vm-numbering-redo-end-point vm-summary-buffer mp list vm-need-summary-pointer-update] 8 "\ Move a message forward in a VM folder. Prefix arg COUNT causes the current message to be moved COUNT messages forward. A negative COUNT causes movement to be backward instead of forward. COUNT defaults to 1. The current message remains selected after being moved. If vm-move-messages-physically is non-nil, the physical copy of the message in the folder is moved. A nil value means just change the presentation order and leave the physical order of the folder undisturbed." "p"]) (defalias 'vm-move-message-backward #[(count) "\301[!\207" [count vm-move-message-forward] 2 "\ Move a message backward in a VM folder. Prefix arg COUNT causes the current message to be moved COUNT messages backward. A negative COUNT causes movement to be forward instead of backward. COUNT defaults to 1. The current message remains selected after being moved. If vm-move-messages-physically is non-nil, the physical copy of the message in the folder is moved. A nil value means just change the presentation order and leave the physical order of the folder undisturbed." "p"]) (defalias 'vm-move-message-forward-physically #[(count) "\302\303 !)\207" [vm-move-messages-physically count t vm-move-message-forward] 2 "\ Like vm-move-message-forward but always move the message physically." "p"]) (defalias 'vm-move-message-backward-physically #[(count) "\302\303 !)\207" [vm-move-messages-physically count t vm-move-message-backward] 2 "\ Like vm-move-message-backward but always move the message physically." "p"]) (defalias 'vm-physically-move-message #[(m m-dest) "\212\306 deZV\307\211\211\203 \310 e\307\223\211\203 \310 d\307\223\311\216~\210 \211\312H\313H\2042\314\f!\210) \211\312H\315H\204C\316\f\307\211#\210) \203S \211\312H\312H)\202Td\307\211\211\211\211b\210\317p \211\312H\312H) \211\312H\320H)#\210\321 \211\312H\312H)!\321 \211\312H\320H)! \211\312H\312H)Z \211\312H\312H) \211\312H\312H)Z\307\223\210 \211\312H\322H) \211\312H\322H)Z\307\223\210 \211\312H\323H) \211\312H\323H)Z\307\223\210 \211\312H\320H) \211\312H\320H)Z\307\223\210 \211\312H\313H\206 \314\f!\210\f\312H\313H) \211\312H\313H\206\314\f!\210\f\312H\313H)Z\307\223\210 \211\312H\315H\2069\316\f\307\211#\210\f\312H\315H) \211\312H\315H\206O\316\f\307\211#\210\f\312H\315H)Z\307\223\210 \203m \211\312H\312H) \211\312H\320H)\307\223\210|.\n\207" [#1=#:vm-sr-max #2=#:vm-sr-min #3=#:vm-sr-clip m message m-dest buffer-size nil make-marker ((byte-code "~\210\203 \n}\210 \303\211\223\210\n\303\211\223\210\303\207" [#3# #2# #1# nil] 3)) 0 3 vm-find-and-set-text-of 2 vm-reorder-message-headers insert-buffer-substring 5 marker-position 1 4 doomed-end doomed-start offset buffer-read-only dest-start] 6]) (defalias 'vm-so-sortable-datestring #[(m) "\211\303H\304H)\206\"\305\306\307\217\211\303H\304\nI\210*\211\303H\304H)\207" [m message val 3 16 nil (byte-code "\301\302\303\"\206\304!\206\305!\207" [m vm-timezone-make-date-sortable vm-get-header-contents "Date:" vm-grok-From_-date "Thu, 1 Jan 1970 00:00:00 GMT"] 4) ((error "1970010100:00:00"))] 5]) (defalias 'vm-so-sortable-subject #[(m) "\211\306H\307H)\206x\310\311!\f\203*\312\f\n\"\203*\313\224\313U\203*\n\313\225\314O \203C\312 \n\"\203C\313\225\nGU\203C\n\313\211\224O\315\n\316\"\203b\317!\203b\nGW\203b\n\313O\n*\211\306H\307I\210*\211\306H\307H)\207" [m message subject case-fold-search vm-subject-ignored-prefix vm-subject-ignored-suffix 3 17 t vm-su-subject string-match 0 nil vm-with-string-as-temp-buffer vm-collapse-whitespace natnump vm-subject-significant-chars val] 5]) (defalias 'vm-sort-messages #[(keys &optional lets-get-physical) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210t\203(\314 \210t\203A\n\2044 \203A\f\203A\315\316pC\"\210\2024\317\320\211\321\322$\210\320\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211@ABCDEFGHIJKLMN\323O\324\"\211N\205\210\325\326N\327#K\320MPI \330=@ \204\236\n\205\246\f?\205\246@?N\204\260\307\331!\210N\203\306N@\211L\332\232\203\327\333Q!\204\313\334\320!\210\335 \210\336MBM\202\275L\337\232\203\347\340MBM\202\275L\341\232\203\367\342MBM\202\275L\343\232\203\344MBM\202\275L\345\232\203\346MBM\202\275L\347\232\203'\350MBM\202\275L\351\232\2037\352MBM\202\275L\353\232\203G\354MBM\202\275L\355\232\203W\356MBM\202\275L\357\232\203g\360MBM\202\275L\361\232\203w\362MBM\202\275L\363\232\203\207\364MBM\202\275L\365\232\203\227\366MBM\202\275L\367\232\203\247\370MBM\202\275L\371\232\203\267\372MBM\202\275\307\373L\"\210NA\211N\204\265R\203\331M\374\232\204\331\320R\375\376!\210\377\201a!\210M\237S\201b\201cI!\201d\"H \203 \201eS\201b\201cI!\201d\"J)\377\201f!\210\376TIGH\211F\203\207G@F@=\2039GAGFA\211F\202\376AU\376=\204JFU\320VW\203\200\376XY\376=\204]FYF@G@\211?\201gH\201hH)Z\211?\201gH\201hZI\210*\320\211F\204!A\2030 \2030\320[\201i \210\320\\\377\201j!\210~\210JGHFG@\211?\201kH\201kH)EF\203G@\211?\201kH\201kH)EW\203\336GAG\202\274G@F@=\203\366GAGFA\211F\202\276\201lF@G@\"\210G@\211?\201kH\201kH)EFA\211F\204\301\377\201m!\210\201n\376!\210\201o \210)\202GA\203G\f\204G\376\\\201n\376!\210\201o \210K]\201p\306 ^\"\210A\203\234HP\201q \210_\203_@\211?\201gH\201rHJ)A\206}P_`\203\234`@\211?\201gH\201rHJ)A\206\232P`)_\203\266A\203\266 \204\257\n\203\266\201s \202\272\201t .\207" [vm-mail-buffer major-mode vm-move-messages-physically lets-get-physical vm-folder-read-only physical buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty signal folder-read-only vm-display nil (vm-sort-messages) (vm-sort-messages) vm-parse "[ ]*\\([^ ]+\\)" mapconcat identity "/" vm-virtual-mode "No sort keys specified." "thread" vectorp vm-build-threads vm-build-thread-lists vm-sort-compare-thread "author" vm-sort-compare-author "reversed-author" vm-sort-compare-author-r "date" vm-sort-compare-date "reversed-date" vm-sort-compare-date-r "subject" vm-sort-compare-subject "reversed-subject" vm-sort-compare-subject-r "recipients" vm-sort-compare-recipients "reversed-recipients" vm-sort-compare-recipients-r "byte-count" vm-sort-compare-byte-count "reversed-byte-count" vm-sort-compare-byte-count-r "line-count" vm-sort-compare-line-count "reversed-line-count" vm-sort-compare-line-count-r "physical-order" vm-sort-compare-physical-order "reversed-physical-order" vm-sort-compare-physical-order-r "Unknown key: %s" (vm-sort-compare-thread) vm-set-summary-redo-start-point t message virtual order-did-change offset doomed-end doomed-start old-start mp-new mp-old new-message-list old-message-list physical-order-list ml-keys key key-funcs key-list keys vm-message-list vm-thread-obarray vm-summary-show-threads vm-key-functions inhibit-quit vm-numbering-redo-start-point vm-numbering-redo-end-point vm-summary-buffer vm-need-summary-pointer-update vm-summary-redo-start-point pos buffer-read-only vm-message-order-changed vm-ml-sort-keys vm-buffers-needing-display-update vm-message-pointer vm-last-message-pointer "Sorting..." sort copy-sequence vm-sort-compare-xxxxxx (vm-sort-compare-physical-order) "Sorting... done" 1 3 vm-remove-message-order "Moving messages... " 0 vm-physically-move-message "Moving messages... done" vm-set-buffer-modified-p vm-clear-modification-flag-undos intern vm-reverse-link-messages 6 vm-preview-current-message vm-update-summary-and-mode-line] 17 "\ Sort message in a folder by the specified KEYS. You may sort by more than one particular message key. If messages compare equal by the first key, the second key will be compared and so on. When called interactively the keys will be read from the minibuffer. Valid keys are \"date\" \"reversed-date\" \"author\" \"reversed-author\" \"subject\" \"reversed-subject\" \"recipients\" \"reversed-recipients\" \"line-count\" \"reversed-line-count\" \"byte-count\" \"reversed-byte-count\" \"physical-order\" \"reversed-physical-order\" Optional second arg (prefix arg interactively) means the sort should change the physical order of the messages in the folder. Normally VM changes presentation order only, leaving the folder in the order in which the messages arrived." (let ((last-command last-command) (this-command this-command)) (list (vm-read-string (if (or current-prefix-arg vm-move-messages-physically) "Physically sort messages by: " "Sort messages by: ") vm-supported-sort-keys t) current-prefix-arg))]) (defalias 'vm-sort-compare-xxxxxx #[(m1 m2) "\305\211\203\n@ \f\"\211\306=\203\nA\211\204\n\205 *\207" [vm-key-functions result key-funcs m1 m2 nil =] 4]) (defalias 'vm-sort-compare-thread #[(m1 m2) "\306!\306 !\307\211\211\211\n \310\311\215.\207" [m1 m2 d2 d1 p2 p1 vm-th-thread-list nil done (byte-code "@ @=\204-@\306N @\306N\211\n\231\203\307\202+ \n\230\203*@ @\231\202+\310*\207A A\203\225 \203\225@ @\f \230\204\214\f\311N\206N\312 \311N\206W\312\231\203i\313\314\307\"\210\202\214\231\203y\313\314\310\"\210\202\214\f \231\203\207\313\314\307\"\210\202\214\313\314\307\"\210A A\2023\203\237 \204\237\310\207 \203\251\204\251\307\207\315\207" [list1 list2 date2 date1 p1 p2 youngest-date t nil date "0" throw done = d1 d2] 4) list2 list1] 6]) (defalias 'vm-sort-compare-author #[(m1 m2) "\304!\304 !\211\n\231\203\305\202 \n\230\203\306\202\307*\207" [m1 m2 s2 s1 vm-su-from t = nil] 4]) (defalias 'vm-sort-compare-author-r #[(m1 m2) "\304!\304 !\211\n\231\203\305\202 \n\230\203\306\202\307*\207" [m1 m2 s2 s1 vm-su-from nil = t] 4]) (defalias 'vm-sort-compare-date #[(m1 m2) "\304!\304 !\211\n\231\203\305\202 \n\230\203\306\202\307*\207" [m1 m2 s2 s1 vm-so-sortable-datestring t = nil] 4]) (defalias 'vm-sort-compare-date-r #[(m1 m2) "\304!\304 !\211\n\231\203\305\202 \n\230\203\306\202\307*\207" [m1 m2 s2 s1 vm-so-sortable-datestring nil = t] 4]) (defalias 'vm-sort-compare-recipients #[(m1 m2) "\304!\304 !\211\n\231\203\305\202 \n\230\203\306\202\307*\207" [m1 m2 s2 s1 vm-su-to t = nil] 4]) (defalias 'vm-sort-compare-recipients-r #[(m1 m2) "\304!\304 !\211\n\231\203\305\202 \n\230\203\306\202\307*\207" [m1 m2 s2 s1 vm-su-to nil = t] 4]) (defalias 'vm-sort-compare-subject #[(m1 m2) "\304!\304 !\211\n\231\203\305\202 \n\230\203\306\202\307*\207" [m1 m2 s2 s1 vm-so-sortable-subject t = nil] 4]) (defalias 'vm-sort-compare-subject-r #[(m1 m2) "\304!\304 !\211\n\231\203\305\202 \n\230\203\306\202\307*\207" [m1 m2 s2 s1 vm-so-sortable-subject nil = t] 4]) (defalias 'vm-sort-compare-line-count #[(m1 m2) "\304\305!!\304\305 !!\211\nW\203\306\202! \nU\203 \307\202!\310*\207" [m1 m2 n2 n1 string-to-int vm-su-line-count t = nil] 5]) (defalias 'vm-sort-compare-line-count-r #[(m1 m2) "\304\305!!\304\305 !!\211\nV\203\306\202! \nU\203 \307\202!\310*\207" [m1 m2 n2 n1 string-to-int vm-su-line-count t = nil] 5]) (defalias 'vm-sort-compare-byte-count #[(m1 m2) "\304\305!!\304\305 !!\211\nW\203\306\202! \nU\203 \307\202!\310*\207" [m1 m2 n2 n1 string-to-int vm-su-byte-count t = nil] 5]) (defalias 'vm-sort-compare-byte-count-r #[(m1 m2) "\304\305!!\304\305 !!\211\nV\203\306\202! \nU\203 \307\202!\310*\207" [m1 m2 n2 n1 string-to-int vm-su-byte-count t = nil] 5]) (defalias 'vm-sort-compare-physical-order #[(m1 m2) "\211\305H\305H)\n\211\305H\305H)\211 W\203\306\202'\f U\203&\307\202'\310*\207" [m1 message m2 n2 n1 0 t = nil] 4]) (defalias 'vm-sort-compare-physical-order-r #[(m1 m2) "\211\305H\305H)\n\211\305H\305H)\211 V\203\306\202'\f U\203&\307\202'\310*\207" [m1 message m2 n2 n1 0 t = nil] 4]) (provide 'vm-sort) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:31 2004 ;;; from file /Users/kyle/vm/vm-summary.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-summary.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-summary-mode-internal #[nil "\306\307\n\f\205\310 \205\311 \312\313;\203#\202$\314\315G\316\"\312\203D\317\320!\203D\321 p\322B\"\210\323!!\210\310 \203Q\324 \210\"\203c#\204`$\203c\325 \210\326\327!\210\326\330!\207" [mode-name major-mode vm-mode-line-format mode-line-format vm-use-menus mode-popup-menu "VM Summary" vm-summary-mode vm-menu-support-possible-p vm-menu-mode-menu t nil "" make-string 32 featurep scrollbar set-specifier 0 use-local-map vm-menu-install-menus vm-set-hooks-for-frame-deletion run-hooks vm-summary-mode-hook vm-summary-mode-hooks buffer-read-only vm-summary-pointer vm-summary-arrow vm-summary-=> vm-summary-no-=> truncate-lines vm-xemacs-p scrollbar-height vm-summary-mode-map vm-mutable-frames vm-frame-per-folder vm-frame-per-summary] 4]) (byte-code "\300\301M\210\302\300\303\304#\207" [vm-summary-mode vm-mode put mode-class special] 4) (defalias 'vm-summarize #[(&optional display raise) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\n\204fp \314 \315\316\317\306 \"!)\212\nq\210\320\321!\210\322\321!\210\323 \210\324\325!\203Q\325p!\210\202Y\326!\326p!\210) \f\327 \210)\330\314!\210*\"\203\205\212\331 \210\332\n\314\333#C$?%\210\nq\210\334 \210)\202\216\332\335\211\336#C$\210\337 \207" [vm-mail-buffer major-mode vm-summary-buffer vm-folder-read-only read-only b buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary t get-buffer-create format "%s Summary" abbrev-mode 0 auto-fill-mode vm-fsfemacs-nonmule-display-8bit-chars fboundp buffer-disable-undo buffer-flush-undo vm-summary-mode-internal vm-set-summary-redo-start-point vm-goto-new-summary-frame-maybe vm-display (vm-summarize vm-summarize-other-frame) vm-toolbar-install-or-uninstall-toolbar nil (vm-summarize vm-summarize-other-frame) vm-update-summary-and-mode-line default-enable-multibyte-characters x display this-command raise] 6 "\ Summarize the contents of the folder in a summary buffer. The format is as described by the variable vm-summary-format. Generally one line per message is most pleasing to the eye but this is not mandatory." "p\np"]) (defalias 'vm-summarize-other-frame #[(&optional display) "\301 \203 \302\303!\210\304!\210\301 \205\305 \207" [display vm-multiple-frames-possible-p vm-goto-new-frame summary vm-summarize vm-set-hooks-for-frame-deletion] 2 "\ Like vm-summarize, but run in a newly created frame." "p"]) (defalias 'vm-do-summary #[(&optional start-point) "\206 \306\211\307\310\311 !\312\246\313\\\n\205\314 \306 \211! \212\"q\210\306\315 #$\316\216\203_ @\211\317H\320H)\203Y @\211\317H\320H)b\210`d|\210\202edb\210\202e\321 \210\306% \203\274\322 @! @`&\211\317H\320&I\210*'c\210\323 @\322 @!\"\210 @`&\211\317H\324&I\210* A T\211 \246\307U\203e\325\326\"\210\202e Y\203\307\325\327!\210!\211 \203Z @\f\203\330\211\317H\320H)\211\317H\324H)\211\317H\331H)#(\211\317H\331(I\210*\211\211\317H\320H)\306)&\332 &)\223*&\211\317H\320&I\210*\211\211\317H\324H)\306)&\332 &)\223*&\211\317H\324&I\210* A\211 \204\317)\333\334!\210+ Y\205j\325\335!.\207" [start-point vm-message-list vm-mouse-track-summary summary do-mouse-track modulus nil 0 vm-abs random 11 10 vm-mouse-support-possible-p buffer-modified-p ((set-buffer-modified-p modified)) 1 3 erase-buffer vm-su-summary vm-tokenized-summary-insert 4 message "Generating summary... %d" "Generating summary markers... " vm-mouse-set-mouse-track-highlight 18 make-marker run-hooks vm-summary-redo-hook "Generating summary... done" n m mp m-list vm-summary-buffer modified buffer-read-only vm-summary-pointer pos vm-summary-no-=> overlay buffer] 8]) (defalias 'vm-do-needed-summary-rebuild #[nil "\203% \203%\304 \305\"\210\306:\205!\210\307\n\203!\310\n@!\210\307\211\207 \2059 \2059\n\2059\310\n@!\210\307\211\207" [vm-summary-redo-start-point vm-summary-buffer vm-message-pointer vm-need-summary-pointer-update vm-copy-local-variables vm-summary-show-threads vm-do-summary nil vm-set-summary-pointer] 3]) (defalias 'vm-update-message-summary #[(m) "\211\306H\307H)\205\315\310\211\306H\307H)!\205\315\311 \n\205 \312 \313\212\314!\310\211\306H\307H)!q\210\313\211\311 \315\216\212\211\306H\307H)b\210\316!?\211\306H\317H)b\210\320\321!\210\211\306H\307H)b\210`\211\306H\317H)S|\210\204\202c\210\202\206c\210\322\314!\"\210\323\306!\210\324\325!\210\f\203\264\326\211\306H\307H)\211\306H\317H)\211\306H\327H)#\210\205\313\205\313\330\211\306H\307H)`#. \207" [m message vm-mouse-track-summary summary do-mouse-track modified 1 3 marker-buffer buffer-modified-p vm-mouse-support-possible-p nil vm-su-summary ((set-buffer-modified-p modified)) looking-at 4 insert-before-markers "z" vm-tokenized-summary-insert delete-char run-hooks vm-summary-update-hook vm-mouse-set-mouse-track-highlight 18 vm-summary-highlight-region selected buffer-read-only vm-summary-no-=> vm-summary-=> vm-summary-highlight-face] 6]) (defalias 'vm-set-summary-pointer #[(m) "\205\360\306! \205 \307 \310p\311\216\312\216q\210\f\203%\313 \314\f!\210\310\203u\211\315H\316H)\203u\211\315H\316H)b\210c\210\317G!\210 \203u\320\211\315H\316H)\211\315H\321H)\211\315H\322H)#\210\211\315H\316H)b\210\323 \324\216c\210\317G!\210 \203\272\320\211\315H\316H)\211\315H\321H)\211\315H\322H)#\210*G[u\210 \203\337\325\211\315H\316H)\211\315H\321H) #\210\f\203\353\203\353\326 \210\327\330!.\207" [vm-summary-buffer vm-mouse-track-summary old-window do-mouse-track w vm-sbe-buffer vm-get-visible-buffer-window vm-mouse-support-possible-p nil ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) ((byte-code "\203\301!\210\301\207" [old-window select-window] 2)) selected-window select-window 1 3 delete-char vm-mouse-set-mouse-track-highlight 4 18 buffer-modified-p ((set-buffer-modified-p modified)) vm-summary-highlight-region vm-auto-center-summary run-hooks vm-summary-pointer-update-hook buffer-read-only vm-summary-pointer message vm-summary-no-=> vm-summary-=> m modified vm-summary-highlight-face] 6]) (defalias 'vm-summary-highlight-region #[(start end face) "\303 \n\304$\207" [start end face vm-summary-xxxx-highlight-region vm-summary-overlay] 5]) (defalias 'vm-folders-summary-highlight-region #[(start end face) "\303 \n\304$\207" [start end face vm-summary-xxxx-highlight-region vm-folders-summary-overlay] 5]) (defalias 'vm-summary-xxxx-highlight-region #[(start end face var) "J\n\2030 \203\306 !\203\307 \f#\202a\310 \f\" L\210\311 \312\313#\210\311 \305 #\202a\205a \203G\314 !\203G\315 \f#\202a\316 \f\" L\210\317 \320\321#\210\317 \322\313#\210\317 \305 #)\207" [var ooo vm-fsfemacs-p start end face overlay-buffer move-overlay make-overlay overlay-put evaporate nil extent-end-position set-extent-endpoints make-extent set-extent-property start-open t detachable vm-xemacs-p] 4]) (defalias 'vm-auto-center-summary #[nil "\205\301=\204\302\301!?\205\303\304!\207" [vm-auto-center-summary t one-window-p recenter (4)] 2]) (defalias 'vm-summary-sprintf #[(format message &optional tokenize) "\203\306\202 \307\310\n J\"\211\204\311\n\"\210\310\n J\"\f\204*\f\2041\312 A!\2027\313\312 A!!+\207" [tokenize alist-var format match message vm-su-message vm-summary-tokenized-compiled-format-alist vm-summary-untokenized-compiled-format-alist assoc vm-summary-compile-format eval vm-decode-mime-encoded-words-in-string vm-display-using-mime] 4]) (defalias 'vm-summary-compile-format #[(format tokenize) "\305 \"A@ \203\nB B\211\202\nB\fB\211)\207" [format tokenize return-value vm-summary-tokenized-compiled-format-alist vm-summary-untokenized-compiled-format-alist vm-summary-compile-format-1] 3]) (defalias 'vm-tokenized-summary-insert #[(message tokens) ";\203c\207\306\211\2056@\211;\203* \203$\307\n!c\210\202.\nc\210\202.\n\310=\203B`A@\3118E BAA\202.\n\312=\203\355\313\314! @\211@ A@\311 8`\306\315 \223*\250\203\252Z\316!W\203\252\317W\203\230\320\f\316Z\\!\"\210\202\252\212b\210\320\fZZ\"\210)\250\203\345Z\316!V\203\345\317V\203\322\321ZZ!\210\202\345\212b\210\321\316Z\\!!\210) A.\202.\n\322=\203 \211 \323H\323H)c\210\202.\n\324=\203\325 !c\210\202.\n\326=\203.!\203.\327\"!\203.\320\330\"\331 !_\"\210A\211\204\306*\207" [tokens group-list token vm-display-using-mime space blob nil vm-decode-mime-encoded-words-in-string group-begin 2 group-end string-to-char " " make-marker vm-abs 0 insert-char delete-char number 1 mark vm-su-mark thread-indent natnump 32 vm-th-thread-indentation start field-width precision buffer pos end message vm-summary-show-threads vm-summary-thread-indent-level] 7]) (defalias 'vm-summary-compile-format-1 #[(format &optional tokenize start-index) "\204\306\307\211\211\211\211\211\307\211\211\211@ABCDE\310\307!\210@\204\342D\204\342\307\307@\204w \204w\311\312F #\203wF\313\224H\306\225\n\314>\203PG\204`\n\315U\204P\n\316U\203\254G\204\213\317 H\320\216\321FG\313\225#\211IA@BBBI@+\202\207\322\323\224\205\236\324\325\326F\"\325\323F\"P!\324\325\327F\"!E\330\202\207\n\315U\203\267\331\202\207\n\332U\203\310\333\334DBBB\202\207\n\335U\203\331\336\334DBBB\202\207\n\337U\203\352\340\334DBBB\202\207\n\341U\203\373\342\334DBBB\202\207\n\343U\203\f\344\334DBBB\202\207\n\345U\203\346\334DBBB\202\207\n\347U\203.\350\334DBBB\202\207\n\351U\203?\352\334DBBB\202\207\n\353U\203P\354\334DBBB\202\207\n\355U\203kG\203`\356\202\207\357\334DBBB\202\207\n\360U\203|\361\334DBBB\202\207\n\362U\203\215\363\334DBBB\202\207\n\364U\203\236\365\334DBBB\202\207\n\366U\203\257\367\334DBBB\202\207\n\370U\203\312G\203\277\371\202\207\372\334DBBB\202\207\n\373U\203\333\374\334DBBB\202\207\n\375U\203\354\376\334DBBB\202\207\n\377U\203\377\201K\334DBBB\202\207\n\201LU\203*\201M\201N\201O\201PF\313\224T\313\224\323\\OP!D\334EBBB\202\207\n\201QU\203?\201R\334DBBB\202\207\n\201SU\203T\201T\334DBBB\202\207\n\201UU\203i\201V\334DBBB\202\207\n\201WU\203\207G\203}\201X\202\207\201Y\334DBBB \204\233J\203\233B\201ZB@D\240\210 \204\322\326\224\203\322\323\224\203\322BF\323\224H\201[=\203\275\201\\\202\300\201]B@\324F\323\224\323\225O!E\240\210\202 \204\323\224\203BF\323\224H\201[=\203\357\201^\202\362\201_B@\324F\323\224\323\225O!E\240\210 \204 \201`\224\203 B\201aB@\324F\327\224\327\225O!E\240\210 \2044J\2034B\201bB@D\240\210 \203>\201c\202A\201dF \306\224OABBA\202r\n\315=\203_\201c\330@\202b\201eF \206i\306\306\224OABBA\f\2024@\204\217 \204\217F FGOABA\330D\201f\201gA\237\"AB\203\257\201FAB\237BBB\202\263ABG\203&CB\201c\232?\205\307BC\244 \205\326 \203\324 \202\326 C\244C\307B\307A\202& C\203\361\201CCB\202\363B. D\207" [start-index splice conv-spec token new-match-end last-match-end 0 nil store-match-data string-match "%\\(-\\)?\\([0-9]+\\)?\\(\\.\\(-?[0-9]+\\)\\)?\\([()aAcdfFhHiIlLmMnstTwyz*%]\\|U[A-Za-z]\\)" 5 (40 41 97 65 99 100 102 70 104 72 105 73 108 76 77 109 110 115 116 84 85 119 121 122 42) 41 40 match-data ((set-match-data save-match-data-internal)) vm-summary-compile-format-1 'group-begin 2 string-to-int match-string 1 4 t 'group-end 97 vm-su-attribute-indicators vm-su-message 65 vm-su-attribute-indicators-long 99 vm-su-byte-count 100 vm-su-monthday 102 vm-su-interesting-from 70 vm-su-interesting-full-name 104 vm-su-hour 72 vm-su-hour-short 105 vm-su-message-id 73 'thread-indent vm-su-thread-indent 108 vm-su-line-count 76 vm-su-labels 109 vm-su-month 77 vm-su-month-number 110 'number vm-padded-number-of 115 vm-su-subject 84 vm-su-to-names 116 saw-close-group sexp-fmt sexp list finished-parsing-format case-fold-search format tokenize save-match-data-internal retval vm-display-using-mime vm-su-to 85 vm-run-user-summary-function quote intern "vm-summary-function-" 119 vm-su-weekday 121 vm-su-year 122 vm-su-zone 42 'mark vm-su-mark vm-decode-mime-encoded-words-in-string 48 vm-numeric-left-justify-string vm-left-justify-string vm-numeric-right-justify-string vm-right-justify-string 3 vm-truncate-string vm-reencode-mime-encoded-words-in-string "" "%s" "%%" apply concat] 12]) (defalias 'vm-get-header-contents #[(message header-name-regexp &optional clump-sep) "\306\211\307\n\310Q \211\311H\312HJ)\212 \211\311H\312HJ)\211\311H\313H)q\210\214~\210 \211\314H\311H)b\210\315 \203= \203x\316 \211\314H\317H\206R\320 !\210 \314H\317H)\315#\203x\212\314\224b\210\321 )\203x \203q \322 Q\211\2026\322 \211\2026* +\207" [regexp contents header-name-regexp message case-fold-search clump-sep nil "^\\(" "\\)" 1 5 9 0 t re-search-forward 3 vm-find-and-set-text-of vm-match-header vm-matched-header-contents] 5]) (defalias 'vm-string-width #[(string) "\304\305!\204 G\207\306G\306\211\nW\203% \305 H!\\ T\211\202 +\207" [string total lim i fboundp char-width 0] 5]) (defalias 'vm-left-justify-string #[(string width) "\303!\211\nY\203\202\304\n Z\305\"P)\207" [string sw width vm-string-width make-string 32] 5]) (defalias 'vm-right-justify-string #[(string width) "\303!\211\nY\203\202\304\n Z\305\"P)\207" [string sw width vm-string-width make-string 32] 4]) (defalias 'vm-numeric-left-justify-string #[(string width) "G\211\nY\203 \202\303\n Z\304\"P)\207" [string sw width make-string 48] 5]) (defalias 'vm-numeric-right-justify-string #[(string width) "G\211\nY\203 \202\303\n Z\304\"P)\207" [string sw width make-string 48] 4]) (defalias 'vm-truncate-string #[(string width) "\305\306!\203u\307V\203>\307 G\307\211 W\203.\nW\203.\n\306 \fH!\\\fT\211\202\nW\2038 \202< \307\fO+\207 GS\310\307[\f V\203d\nW\203d\n\306 \fH!\\\fS\211\202J\nW\203n \202s \fT\311O+\207\312 \"\207" [width string total lim i fboundp char-width 0 -1 nil vm-truncate-roman-string] 5]) (defalias 'vm-truncate-roman-string #[(string width) "G\302 !X\203 \207 \303W\203 \304O\207\303 O\207" [string width vm-abs 0 nil] 3]) (defalias 'vm-su-attribute-indicators #[(m) "\211\302H\302H)\203\303\202.\211\302H\304H)\203\305\202.\211\302H\306H)\203-\307\202.\310\211\302H\311H)\203=\312\202M\211\302H\313H)\203L\314\202M\310\211\302H\315H)\203\\\316\202{\211\302H\317H)\203k\320\202{\211\302H\321H)\203z\322\202{\310\211\302H\323H)\203\212\324\202\213\310R\207" [m message 2 "D" 0 "N" 1 "U" " " 3 "F" 5 "W" 4 "R" 6 "Z" 8 "B" 7 "E"] 6]) (defalias 'vm-su-attribute-indicators-long #[(m) "\211\302H\302H)\203\303\202.\211\302H\304H)\203\305\202.\211\302H\306H)\203-\307\202.\310\211\302H\311H)\203=\312\202>\310\211\302H\313H)\203M\314\202N\310\211\302H\315H)\203]\316\202^\310\211\302H\317H)\203m\320\202n\310\211\302H\321H)\203}\322\202~\310\211\302H\323H)\203\215\324\202\216\310\260\207" [m message 2 "D" 0 "N" 1 "U" " " 4 "r" 6 "z" 8 "b" 3 "f" 5 "w" 7 "e"] 9]) (defalias 'vm-su-byte-count #[(m) "\211\303H\304H)\206D\305\211\306H\307HJ)\211\304H\310H)\211\306H\307HJ)\211\304H\303H\2068\311 !\210 \304H\303H)Z!\211\303H\304\nI*\207" [m message count 3 0 int-to-string 1 5 4 vm-find-and-set-text-of] 6]) (defalias 'vm-su-weekday #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 1 vm-su-do-date] 3]) (defalias 'vm-su-monthday #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 2 vm-su-do-date] 3]) (defalias 'vm-su-month #[(m) "\211\302H\302H)\206\303!\210\211\302H\302H)\207" [m message 3 vm-su-do-date] 3]) (defalias 'vm-su-month-number #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 15 vm-su-do-date] 3]) (defalias 'vm-su-year #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 4 vm-su-do-date] 3]) (defalias 'vm-su-hour-short #[(m) "\302!\211G\303V\203 \304\303O\202 )\207" [m string vm-su-hour 5 0] 4]) (defalias 'vm-su-hour #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 5 vm-su-do-date] 3]) (defalias 'vm-su-zone #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 6 vm-su-do-date] 3]) (defalias 'vm-su-mark #[(m) "\211\302H\303H)\203 \304\207\305\207" [m message 1 2 "*" " "] 3]) (defalias 'vm-grok-From_-date #[(message) "\211\302H\303H)\304>\205C\212\211\302H\305HJ)\211\302H\306H)q\210\212\214~\210\211\307H\307H)b\210\310\311\312!\204<\311\313!\205B\314\302\224\302\225\",\207" [message case-fold-search 1 7 (BellFrom_ From_ From_-with-Content-Length) 5 9 0 nil looking-at "From [^ \n]*[ ]+\\([^ \n].*\\) remote from .*" "From [^ \n]*[ ]+\\([^ \n].*\\)" vm-buffer-substring-no-properties] 4]) (defalias 'vm-parse-date #[(date) "\306\211\211\211\211\211\307\211\310\311\312\"\203&\313\224\313\225O\311\314\"\2037\313\224\313\225O\311\315\"\203G\313\224\313\225O\311\316\"\203[\313\224T\313\225O\202{\311\317\"\204s\311\320\"\204s\311\321\"\203{\313\224\313\225OG\313U\204\212 G\313U\203\326\311\322\n#\203\326\323\224\323\225O\313\225G\313U\203\264 G\323X\203\264 \211\202} G\323U\203\321\324 !\325W\203\312\326 P\202{\327 P\202{ \202{ \313I\210 \330I\210 \323I\210 \331 I\210 \332\fI\210 \333 I\210 . \207" [case-fold-search string start timezone hour year "" nil t string-match "sun\\|mon\\|tue\\|wed\\|thu\\|fri\\|sat" 0 "jan\\|feb\\|mar\\|apr\\|may\\|jun\\|jul\\|aug\\|sep\\|oct\\|nov\\|dec" "[0-9]?[0-9]:[0-9][0-9]\\(:[0-9][0-9]\\)?" "[^a-z][+---][0-9][0-9][0-9][0-9]" "e[ds]t\\|c[ds]t\\|p[ds]t\\|m[ds]t" "ast\\|nst\\|met\\|eet\\|jst\\|bst\\|ut" "gmt\\([+---][0-9]+\\)?" "\\(^\\| \\)\\([0-9]+\\)\\($\\| \\)" 2 string-to-int 70 "20" "19" 1 3 4 5 month monthday weekday date vm-parse-date-workspace] 10]) (defalias 'vm-su-do-date #[(m) "\306\307\211\310 \311\"\206\312 !\211\204l \313\211\314H\315\fI\210* \313\211\314H\316\fI\210* \313\211\314H\314\fI\210* \313\211\314H\317\fI\210* \313\211\314H\320\fI\210* \313\211\314H\321\fI\210* \313\211\314H\322\fI\210*\202\362\323\324\"\2032\316\224\203\205\325 \316\224\316\225O\"\210\202\221 \313\211\314H\315\fI\210* \314\224\314\225O\211\314H\316\fI\210*\326 \320\224\320\225O\"\210 \321\224\321\225O\211\314H\320\fI\210* \211\314H\320H)G\316U\203 \327 #\330\216\323\331 \211\314H\320H)\"\203\367 \332 \211\314H\320H)P\211\314H\320\fI\210*\202\f \333 \211\314H\320H)P\211\314H\320\fI\210** \322\224\322\225O\211\314H\321\fI\210* \334\224\334\225O\211\314H\322\fI\210*\202\362\323\335\"\203\250\325 \315\224\315\225O\"\210\326 \316\224\316\225O\"\210 \314\224\314\225O\211\314H\316\fI\210* \320\224\320\225O\211\314H\321\fI\210* \321\224\321\225O\211\314H\320\fI\210*\322\224\203\231 \322\224\322\225O\211\314H\322\fI\210*\202\362 \313\211\314H\322\fI\210*\202\362\336!\325 \337\234\"\210 \315\234\211\314H\316\fI\210*\326 \316\234\"\210 \314\234\211\314H\320\fI\210* \320\234\211\314H\321\fI\210* \321\234\211\314H\322\fI\210*+ \211\314H\321H)\203!\323\340 \211\314H\321H)\"\203! \341 \211\314H\321H)P\211\314H\321\fI\210* \211\314H\316H)\204.\307\207\323\342 \211\314H\316H)\"\205Q \211\211\314H\316H)\315\316O\211\314H\316\fI*\207" [date vector case-fold-search m val message t nil vm-get-header-contents "Date:" vm-grok-From_-date "" 3 1 2 15 4 5 6 string-match "\\(\\([a-z][a-z][a-z]\\),\\)?[ \n]*\\([0-9][0-9]?\\)[ \n---]*\\([a-z][a-z][a-z]\\)[ \n---]*\\([0-9]*[0-9][0-9]\\)[ \n]*\\([0-9:]+\\)[ \n]*\\([a-z][a-z]?[a-z]?\\|\\(-\\|\\+\\)[01][0-9][0-9][0-9]\\)" vm-su-do-weekday vm-su-do-month match-data ((set-match-data save-match-data-internal)) "^[0-6]" "20" "19" 7 "\\([a-z][a-z][a-z]\\)[ \n]*\\([a-z][a-z][a-z]\\)[ \n]*\\([0-9][0-9]?\\)[ \n]*\\([0-9:]+\\)[ \n]*\\([0-9][0-9][0-9][0-9]\\)[ \n]*\\([a-z][a-z]?[a-z]?\\|\\(-\\|\\+\\)[01][0-9][0-9][0-9]\\)?" vm-parse-date 0 "\\`[0-9]:" "0" "\\`0[0-9]\\'" save-match-data-internal] 6]) (defalias 'vm-su-do-month #[(m month-abbrev) "\305\227 \"\211\203( \nA@\211\306H\306\nI\210* \307\n8\211\306H\310\nI*\202? \311\211\306H\306\nI\210* \311\211\306H\310\nI*)\207" [month-abbrev vm-month-alist val m message assoc 3 2 15 ""] 4]) (defalias 'vm-su-do-weekday #[(m weekday-abbrev) "\305\227 \"\211\203 \nA@\211\306H\307\nI*\202% \310\211\306H\307\nI*)\207" [weekday-abbrev vm-weekday-alist val m message assoc 3 1 ""] 4]) (defalias 'vm-run-user-summary-function #[#'message "\211\302H\303HJ)\212\211\302H\304H)q\210\214~\210\212\211\305H\302H)\211\305H\306H)}\210 !,\207" [message function 1 5 9 0 4] 4]) (defalias 'vm-su-full-name #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 7 vm-su-do-author] 3]) (defalias 'vm-su-interesting-full-name #[(m) "\203\304\305\306\n!\"\203 \307\n!P\202\310\n!)\207\310\n!\207" [vm-summary-uninteresting-senders case-fold-search m vm-summary-uninteresting-senders-arrow nil string-match vm-su-from vm-su-to-names vm-su-full-name] 4]) (defalias 'vm-su-from #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 8 vm-su-do-author] 3]) (defalias 'vm-su-interesting-from #[(m) "\203\304\305\306\n!\"\203 \307\n!P\202\306\n!)\207\306\n!\207" [vm-summary-uninteresting-senders case-fold-search m vm-summary-uninteresting-senders-arrow nil string-match vm-su-from vm-su-to] 4]) (defalias 'vm-grok-From_-author #[(message) "\211\302H\303H)\304>\2055\212\211\302H\305H)q\210\212\214~\210\211\306H\306H)b\210\307\310\311!\2054\312\302\224\302\225\",\207" [message case-fold-search 1 7 (From_ BellFrom_ From_-with-Content-Length) 9 0 nil looking-at "From \\([^ \n]+\\)" vm-buffer-substring-no-properties] 4]) (defalias 'vm-su-do-author #[(m) "\306\307\"\306\310\311#\206\312!\313\211\211\203\"\314\315\f\"\203\"\313 \2041\316\f\204H\316\202H !\211A@\206< \f\206G\n@\206G \314\317\f\"\203V\f\320\224\320\225O\314\321\f #\211\203h\f \322I\210\202V\f\211\323H\324I\210* \211\323H\325I.\207" [m i pair from full-name vm-chop-full-name-function vm-get-header-contents "Full-Name:" "From:" ", " vm-grok-From_-author nil string-match "^[ ]*$" "???" "\\`\"\\([^\"]+\\)\"\\'" 1 "\n" 32 3 7 8 author message] 6]) (defalias 'vm-default-chop-full-name #[(address) "\303\304\305\"\203!\306\224\203\306\224\306\225O\307\224\307\225O\202;\304\310\"\203;\307\224\2034\307\224\307\225O\306\224\306\225O \n*D\207" [address full-name from nil string-match "\\`[ \n]*\\([^< \n]+\\([ \n]+[^< \n]+\\)*\\)?[ \n]*<\\([^>]+\\)>[ \n]*\\'" 1 3 "\\`[ \n]*\\(\\(\"[^\"]+\"\\|[^\"( \n]\\)+\\)[ \n]*(\\([^ \n]+\\([ \n]+[^ \n]+\\)*\\)?)[ \n]*\\'"] 3]) (defalias 'vm-choose-chop-full-name-function #[(address) "\305\306\211\211\203&\306\307\310\217\211\n@A\232\204\311\306\211\202\nA\211\204\n \203/\312\2021\313 \f!+\207" [result failed test-data vm-chop-full-name-function address (("kyle@uunet.uu.net" nil "kyle@uunet.uu.net") ("c++std=lib@inet.research.att.com" nil "c++std=lib@inet.research.att.com") ("\"Piet.Rypens\" " "Piet Rypens" "rypens@reks.uia.ac.be") ("makke@wins.uia.ac.be (Marc.Gemis)" "Marc Gemis" "makke@wins.uia.ac.be") ("" nil nil)) nil (byte-code "\301@@!\207" [test-data mail-extract-address-components] 2) ((error)) t vm-default-chop-full-name mail-extract-address-components] 4]) (defalias 'vm-su-do-recipients #[(m) "\306\307\211\211\211\211\211\211\211\310\311\312#\2062\310\313\312#\2062\310\314\312#\2062\315 \310\316\312#\f\211\203G\n\312 Q\202H \317\n!\320\n!\211\203\221 @!@\206` @\321\322\"\203o\323\224\323\225O\321\324#\211\203\204\325I\210\202oB A\211\204U\237\326\327 \312# \211!\330H\331 I\210*\326\327\312# \211!\330H\332 I. \207" [full-name list all cc to addresses t nil vm-get-header-contents "To:" ", " "Apparently-To:" "Newsgroups:" user-login-name "Cc:" rfc822-addresses vm-parse-addresses string-match "\\`\"\\([^\"]+\\)\"\\'" 1 "\n" 32 mapconcat identity 3 13 14 names i mail-use-rfc822 m vm-chop-full-name-function recips message] 10]) (defalias 'vm-su-to #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 13 vm-su-do-recipients] 3]) (defalias 'vm-su-to-names #[(m) "\211\302H\303H)\206\304!\210\211\302H\303H)\207" [m message 3 14 vm-su-do-recipients] 3]) (defalias 'vm-su-message-id #[(m) "\211\303H\304H)\206N\305\306\"\211\205\307\n\310\"@)\206E\212\211\311H\312HJ)\211\311H\304H)q\210\214~\210\313\314\315\217*\206E\316\317\320\321 !!\322Q\211\303H\304\nI*\207" [m message id 3 9 vm-get-header-contents "Message-Id:" vm-parse "[^<]*\\(<[^>]+>\\)" 1 5 nil (byte-code "\302\303\211\304H\305HJ)\211\306H\307H\206\310 !\210 \306H\307H)\211\304H\305HJ)\211\306H\311H){!\312Q\207" [m message ""] 6) ((error)) "<" int-to-string vm-abs random "@toto.iv>"] 6]) (defalias 'vm-su-line-count #[(m) "\211\303H\304H)\206\\\212\211\305H\306HJ)\211\305H\307H)q\210\214~\210\310\311\211\305H\306HJ)\211\312H\303H\206?\313 !\210 \312H\303H)\211\305H\306HJ)\211\312H\314H)\"!*\211\303H\304\nI*\207" [m message count 3 10 1 5 9 int-to-string count-lines 0 vm-find-and-set-text-of 4] 7]) (defalias 'vm-su-subject #[(m) "\211\304H\305H)\2064\306\307\310#\206\311\312\313\314 \"\203)\315\310\312\316 $\202 *\211\304H\305 I*\207" [m message i subject 3 11 vm-get-header-contents "Subject:" " " "" nil string-match "\n[ ]*" replace-match t] 7]) (defalias 'vm-su-summary #[(m) "\306!\203U\211\307H\310HJ)\204U\211\310H\311H)\206\231\212\n\2032\312\n!\204,\313\314!\210\nq\210\202< \315>\204<\313\316!\210\317\f\320#\211\310H\311 I\210*\211\310H\311H*\207\211\321H\322H)\206\231\212\n\203u\312\n!\204o\313\314!\210\nq\210\202 \315>\204\313\316!\210\317\f\320#\211\321H\322I\210*\211\321H\322H*\207" [m message vm-mail-buffer major-mode vm-summary-format summ vm-virtual-message-p 4 1 15 buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-summary-sprintf t 3 18 val] 6]) (defalias 'vm-fix-my-summary!!! #[nil "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\305\315!\210\n\211\203T @\316\211\317H\320\fI\210*\321 @!\210 @\322\211\323H\324\fI\210* A\211\204.\305\325!\210\326\316!\210\305\327!\210\330\322!\210\331 \210)\305\332!\207" [vm-mail-buffer major-mode vm-message-list mp val message buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty "Fixing your summary..." nil 3 18 vm-mark-for-summary-update t 4 2 "Stuffing attributes..." vm-stuff-folder-attributes "Stuffing attributes... done" set-buffer-modified-p vm-update-summary-and-mode-line "Fixing your summary... done"] 4 nil nil]) (defalias 'vm-su-thread-indent #[(m) "\203\303 !\203\304\305\n! _\306\"\207\307\207" [vm-summary-show-threads vm-summary-thread-indent-level m natnump make-string vm-th-thread-indentation 32 ""] 3]) (defalias 'vm-su-labels #[(m) "\211\303H\303H)\206,\304\305\211\303H\306H)\307#\211\303H\303\nI*\206,\211\303H\303H)\207" [m message string 4 mapconcat identity 3 ","] 6]) (defalias 'vm-substring #[(string from &optional to) "\304\305\216\212\306 \211q\210 c\210\n\204 G\202#\n\307W\203# G\n\\ T\nT eV\2033e |\210\ndW\203=\nd|\210\310 +\207" [work-buffer string to from nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) vm-make-work-buffer 0 buffer-string] 3]) (defalias 'vm-make-folder-summary #[nil "\301\302\"\207" [vm-folder-summary-vector-length make-vector nil] 3]) (defalias 'vm-fs-folder-of #[(fs) "\301H\207" [fs 0] 2]) (defalias 'vm-fs-total-count-of #[(fs) "\301H\207" [fs 1] 2]) (defalias 'vm-fs-new-count-of #[(fs) "\301H\207" [fs 2] 2]) (defalias 'vm-fs-unread-count-of #[(fs) "\301H\207" [fs 3] 2]) (defalias 'vm-fs-deleted-count-of #[(fs) "\301H\207" [fs 4] 2]) (defalias 'vm-fs-start-of #[(fs) "\301H\207" [fs 5] 2]) (defalias 'vm-fs-end-of #[(fs) "\301H\207" [fs 6] 2]) (defalias 'vm-fs-folder-key-of #[(fs) "\301H\207" [fs 7] 2]) (defalias 'vm-fs-mouse-track-overlay-of #[(fs) "\301H\207" [fs 8] 2]) (defalias 'vm-fs-short-folder-of #[(fs) "\301H\207" [fs 9] 2]) (defalias 'vm-fs-modflag-of #[(fs) "\301H\207" [fs 10] 2]) (defalias 'vm-set-fs-folder-of #[(fs x) "\302 I\207" [fs x 0] 3]) (defalias 'vm-set-fs-total-count-of #[(fs x) "\302 I\207" [fs x 1] 3]) (defalias 'vm-set-fs-new-count-of #[(fs x) "\302 I\207" [fs x 2] 3]) (defalias 'vm-set-fs-unread-count-of #[(fs x) "\302 I\207" [fs x 3] 3]) (defalias 'vm-set-fs-deleted-count-of #[(fs x) "\302 I\207" [fs x 4] 3]) (defalias 'vm-set-fs-start-of #[(fs x) "\302 I\207" [fs x 5] 3]) (defalias 'vm-set-fs-end-of #[(fs x) "\302 I\207" [fs x 6] 3]) (defalias 'vm-set-fs-folder-key-of #[(fs x) "\302 I\207" [fs x 7] 3]) (defalias 'vm-set-fs-mouse-track-overlay-of #[(fs x) "\302 I\207" [fs x 8] 3]) (defalias 'vm-set-fs-short-folder-of #[(fs x) "\302 I\207" [fs x 9] 3]) (defalias 'vm-set-fs-modflag-of #[(fs x) "\302 I\207" [fs x 10] 3]) (defalias 'vm-fs-spooled #[(fs) "\304\305\306! \"J\n\203 \307\n@!@\\\nA\211\204\310 !*\207" [fs vm-folders-summary-folder-hash list count 0 intern-soft vm-fs-folder-key-of vm-get-folder-totals int-to-string] 5]) (defalias 'vm-make-folders-summary-key #[(folder &optional dir) ";\203\305 \"\203\306 !\207\n;\203 \305\n \"\203 \307 !\207\310\311\312 \206)\f\"!P\207" [vm-recognize-pop-maildrops folder vm-recognize-imap-maildrops dir vm-folder-directory string-match vm-safe-popdrop-string vm-safe-imapdrop-string "folder-summary0:" file-truename expand-file-name] 5]) (defalias 'vm-open-folders-summary-database #[(mode) "\300\301\302\217\207" [data (byte-code "\302\303\304 $\207" [vm-folders-summary-database mode open-database berkeley-db hash] 5) ((error (byte-code "\301\302\"\210\303\304!\210\305\207" [data message "open-database signaled: %S" sleep-for 2 nil] 3)))] 3]) (defalias 'vm-get-folder-totals #[(folder) "\305\306\211\211\211\307\310\215-\207" [data key db fs default "(0 0 0 0)" nil done (byte-code "\204 \306\307\310 !\"\210\311\312!\204\306\307\310 !\"\210\313\314!\211\204'\306\307\310 !\"\210\315 !\310\316\f\n #!\317\n!\210 \207" [vm-folders-summary-database default db folder key data throw done read featurep berkeley-db vm-open-folders-summary-database "rw+" vm-make-folders-summary-key get-database close-database] 5)] 5]) (defalias 'vm-store-folder-totals #[(folder totals) "\304\211\211\211\305\306\215,\207" [data key db fs nil done (byte-code "\204 \306\307\310\"\210\311\312!\204\306\307\310\"\210\313\314!\211\204!\306\307\310\"\210\315\n!\316\f!\317 \320$\210\321 !\210\203o\322 \"\211J\211\203o\323\324\f@!\"\210\325\324\fA@!\"\210\326\324\327\f8!\"\210\330\324\331\f8!\"\210\332\n!\207" [vm-folders-summary-database db folder key totals data throw done nil featurep berkeley-db vm-open-folders-summary-database "rw+" vm-make-folders-summary-key prin1-to-string put-database t close-database intern-soft vm-set-fs-total-count-of int-to-string vm-set-fs-new-count-of vm-set-fs-unread-count-of 2 vm-set-fs-deleted-count-of 3 vm-mark-for-folders-summary-update vm-folders-summary-hash fs] 6)] 4]) (defalias 'vm-modify-folder-totals #[(folder action &rest objects) "\305\211\211\211\211\306\307\215-\207" [data key totals db fs nil done (byte-code "\204 \306\307\310\"\210\311\312!\204\306\307\310\"\210\313\314!\211\204!\306\307\310\"\210\315\n!\316 \"\317 !\210\f\2047\306\307\310\"\210\320\f! \321=\203d#@\310\211$%\f\211@\\\240\210\fA\211%\211@\\\240\210+\202\307 \322=\203\307#@#A@\310\211$%&\f\211@\\\240\210\fA\211%@\323=\204\244&\211'\324H\325H)\203\244%\211@\\\240\210%A\211%@\323=\204\306&\211'\324H\326H)\203\306%\211@\\\240\210,\327\f!(\313\330!\211\204\331\306\307\310\"\210\331 ( \332$\210\317 !\210)\203 \333 )\"\211*J\211*\203 \334*\335\f@!\"\210\336*\335\fA@!\"\210\337*\335\324\f8!\"\210\340*\335\341\f8!\"\210\342\n!\207" [vm-folders-summary-database db folder key totals action throw done nil featurep berkeley-db vm-open-folders-summary-database "r" vm-make-folders-summary-key get-database close-database read arrived saved -1 2 0 1 prin1-to-string "rw+" put-database t intern-soft vm-set-fs-total-count-of int-to-string vm-set-fs-new-count-of vm-set-fs-unread-count-of vm-set-fs-deleted-count-of 3 vm-mark-for-folders-summary-update objects n c m message data vm-folders-summary-hash fs] 6)] 5]) (defalias 'vm-folders-summary-sprintf #[(format layout) "\305 \"\211\204\306!\210\305 \" \307\nA!*\207" [format vm-folders-summary-compiled-format-alist match layout vm-folder-summary assoc vm-folders-summary-compile-format eval] 4]) (defalias 'vm-folders-summary-compile-format #[(format) "\303\304\" A@B\nB\211)\207" [format return-value vm-folders-summary-compiled-format-alist vm-folders-summary-compile-format-1 0] 3]) (defalias 'vm-folders-summary-compile-format-1 #[(format start-index) "\306\211\211\211\306\21112\307\306!\2101\204l1\204A\310\3110 #\203A0\312\224H\313\225 \314>\203  \315U\203X\316 3\317\216\3200\312\225\"\2114A@ B4@+\202\257 \321U\203g\322\323D B\202\257 \324U\203v\325\323D B\202\257 \326U\203\205\327\323D B\202\257 \330U\203\224\331\323D B\202\257 \332U\203\243\333\323D B\202\257 \334U\203\257\335\323D B\336\224\203\332\337\224\203\332 0\337\224H\340=\203\310\341\202\311\342 @\3430\337\224\337\225O!E\240\210\202\375\337\224\203\375 0\337\224H\340=\203\356\344\202\357\345 @\3430\337\224\337\225O!E\240\210\346\224\203 \347 @\3430\350\224\350\225O!E\240\210\3510 \313\224O\fBB\202< \352=\203-\353\3541\202.\3550 \2065\313\313\224O\fBB\n\2021\204S0 0GO\fB\3541\356\357\f\237\" \203g\360\f \237BB\202\f\202 .D\207" [start-index conv-spec new-match-end last-match-end sexp-fmt sexp nil store-match-data string-match "%\\(-\\)?\\([0-9]+\\)?\\(\\.\\(-?[0-9]+\\)\\)?\\([()dfnstu%]\\)" 5 0 (40 100 102 110 115 116 117) 40 match-data ((set-match-data save-match-data-internal)) vm-folder-summary-compile-format-1 100 vm-fs-deleted-count-of vm-folder-summary 102 vm-fs-short-folder-of 110 vm-fs-new-count-of 116 vm-fs-total-count-of 115 vm-fs-spooled 117 vm-fs-unread-count-of 1 2 48 vm-numeric-left-justify-string vm-left-justify-string string-to-int vm-numeric-right-justify-string vm-right-justify-string 3 vm-truncate-string 4 "%s" 41 "" t "%%" apply concat format done case-fold-search save-match-data-internal retval] 8]) (defalias 'vm-update-folders-summary-entry #[(fs) "\306!\205]\307\306!!\205]\310 \205\311 \312\212\307\306!!q\210\312\313\216\212\306!b\210\314!b\210\315\316!\210\306!b\210`\314!S|\210\317\"c\210\320\321!\210 \205[\322\306!\314!\323!#.\207" [fs vm-mouse-track-summary summary do-mouse-track modified buffer-read-only vm-fs-start-of marker-buffer buffer-modified-p vm-mouse-support-possible-p nil ((set-buffer-modified-p modified)) vm-fs-end-of insert-before-markers "z" vm-folders-summary-sprintf delete-char 1 vm-mouse-set-mouse-track-highlight vm-fs-mouse-track-overlay-of vm-folders-summary-format] 5]) (defalias 'vm-folders-summary-mode-internal #[nil "\306\307\310 \205\311 \205\312 \313\314\313\203-\315\316!\203-\317p\320B\"\210\321!\210\311 \203:\322 \210\203G\203G\323 \210\324\325!\207" [mode-name major-mode mode-line-format vm-use-menus mode-popup-menu buffer-read-only "VM Folders Summary" vm-folders-summary-mode (" %b") vm-menu-support-possible-p vm-menu-mode-menu t nil featurep scrollbar set-specifier 0 use-local-map vm-menu-install-menus vm-set-hooks-for-frame-deletion run-hooks vm-folders-summary-mode-hook buffer-offer-save truncate-lines vm-xemacs-p scrollbar-height vm-folders-summary-mode-map vm-mutable-frames vm-frame-per-folders-summary] 4]) (defalias 'vm-do-folders-summary #[nil "\300\301\215\207" [done (byte-code "\306\307\310\"\311\211\211\211\211\211\211 \205\312 6789:;\212\2047\314\315\311\"\210\316\317!\204B\314\315\311\"\210\320\321!\211:\204P\314\315\311\"\210?\2119\203_?A\203e9@\322\261\2109@@\323\324\325\326\327\3309@!!!!!\331\"8)8\203V8@7\33279@\"6\3336:\"\211\204\302\33479@\"A\335A!\206\254\336\336\211\211F\211@\336=\204\276\337A\f\"\210)\202\306\340\f!\f@\336=\204M\341 \342 \33479@\"\"\210\343 7\"\210\344 \345\f@!\"\210\346 \345\fA@!\"\210\347 \345\350\f8!\"\210\351 \345\352\f8!\"\210\353 6\"\210\354 `\311BC\355 CB\223*\"\210\356 \"c\210\357 `\311BC\355 CB\223*\"\210\n\203D\360 \361\362 !\363 !\"\"\210\3646;\" L\2108A\2118\204\2029A\2119\204X\365:!\210;D)eb. \207" [vm-folders-summary-format vm-mouse-track-summary do-mouse-track format totals fs make-vector 89 0 nil vm-mouse-support-possible-p erase-buffer throw done featurep berkeley-db vm-open-folders-summary-database "r" ":\n" sort vm-delete-backup-file-names vm-delete-auto-save-file-names vm-delete-index-file-names vm-delete-directory-names directory-files string-lessp vm-make-folders-summary-key get-database expand-file-name vm-count-messages-in-file -1 vm-store-folder-totals read vm-make-folder-summary vm-set-fs-folder-of vm-set-fs-short-folder-of vm-set-fs-total-count-of vm-nonneg-string vm-set-fs-new-count-of vm-set-fs-unread-count-of 2 vm-set-fs-deleted-count-of 3 vm-set-fs-folder-key-of vm-set-fs-start-of make-marker vm-folders-summary-sprintf vm-set-fs-end-of vm-set-fs-mouse-track-overlay-of vm-mouse-set-mouse-track-highlight vm-fs-start-of vm-fs-end-of intern close-database key f fp dp db fs-hash vm-folders-summary-buffer buffer-read-only vm-folders-summary-database vm-folders-summary-directories default-directory ff buffer pos vm-folders-summary-hash] 11)] 2]) (defalias 'vm-update-folders-summary-highlight #[nil "\203\306!\203 \204\n\203\307\n\310\211#\210\311\211\207\n\312\313\306!! \"J \205J\f\203A\314\f!\203A\315\f!\316 !U?\205J\317\320 !\316 ! #*\207" [vm-mail-buffer vm-folders-summary-hash vm-folders-summary-overlay fs ooo vm-summary-highlight-face buffer-file-name vm-set-extent-endpoints 1 nil intern-soft vm-make-folders-summary-key vm-extent-object vm-extent-end-position vm-fs-end-of vm-folders-summary-highlight-region vm-fs-start-of] 5]) (defalias 'vm-do-needed-folders-summary-update #[nil "\205 \212q\210 \n=\206 ??\205\304\305 \"\210\306 \210 \211)\207" [vm-folders-summary-buffer vm-modification-counter vm-flushed-modification-counter vm-folders-summary-hash mapatoms #[(sym) "J\302 !\205\303 !\210\304 \305\")\207" [sym fs vm-fs-modflag-of vm-update-folders-summary-entry vm-set-fs-modflag-of nil] 3] vm-update-folders-summary-highlight] 3]) (defalias 'vm-mark-for-folders-summary-update #[(folder &optional dont-descend) "\306! \n\307\211 \310 \"J\211\2032\311 \312\"\210\313 \210\2032\212q\210T)?\205Q\310 \"J\211\205Q\314\f@\312\"\210\fA\211\204C\307-\207" [folder vm-folders-summary-hash vm-folders-summary-spool-hash fs list spool-hash vm-make-folders-summary-key nil intern-soft vm-set-fs-modflag-of t vm-check-for-killed-summary vm-mark-for-folders-summary-update hash key vm-folders-summary-buffer vm-modification-counter dont-descend] 6]) (defalias 'vm-make-folders-summary-associative-hashes #[nil "\306\307!\310\311\312\"\310\311\312\"\313\211\211\211\203\\\314@@!\314@A@!\315 \"J@@ B\315 \f\"J@A@\nBA\316 \" L\210\316 \f\"\nL\210\202 \f\211.\207" [spool-key folder-key f-list s-list folder-hash spool-hash vm-compute-spool-files t make-vector 61 0 nil vm-make-folders-summary-key intern-soft intern triples vm-folders-summary-spool-hash vm-folders-summary-folder-hash] 7]) (defalias 'vm-follow-folders-summary-cursor #[nil "\302=?\206 ??\205\303\304\215\207" [major-mode vm-folders-summary-hash vm-folders-summary-mode done (byte-code "\301\302\"\210\303\207" [vm-folders-summary-hash mapatoms #[(sym) "J`\304 !Y\2056`\305 !W\2056\n\203\"\n\306\307 !!=?\2056\212\310\307 !!\210p) T\311 \210\312\313\314\")\207" [sym fs vm-mail-buffer vm-modification-counter vm-fs-start-of vm-fs-end-of vm-get-file-buffer vm-fs-folder-of vm-visit-folder vm-update-summary-and-mode-line throw done t] 4] nil] 3)] 2]) (provide 'vm-summary) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:32 2004 ;;; from file /Users/kyle/vm/vm-startup.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-startup.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\301B\301\207" [current-load-list enable-multibyte-characters] 2) (defalias 'vm #[(&optional folder read-only access-method) "\300 \210\301\302\215\207" [vm-session-initialization done (byte-code "\2046 \206 \n\f\203! ;\203!\306\f \"\203!\307 \2025 \2035 ;\2035\306 \"\2035\310 )\311 !?\312\211\211\211\211\211\211@ABCDEFG\310=\203\307\313 !\211A\204e\314\315 \"\210 B\316A!\316A\317\"\316A\317\211#HI\211JH\230\204\246\320H!\204\246\320J!\203\232\312\321\322\217\210\202\246\320I!\203\246\312\323\324\217\210\320J!\203\263J\202\303\320I!\203\300I\202\303H+\202\341\307=\203\341 A\325\326A!8\206\332 B\327A!\311 !\203\353 \202l \206\364\330\nK\"L\331L!\203\314\332L\"\202k\333L!\206kK\203\330K!\206M\317\312\211\211N\203'\334\2021O\2030\334\2021\335PQRSTM\336\337L\"\210\340L!A\206Q \206Q\n\211UV@\232\204bUVBV)\336\341L\"\210.)\211Eq\210\342>\203\205B\343 \232\204\205\344B\317\"\210W\203\223X\203\223\345\312!\210N\204\235O\203\346\346Y!\346\347!=\204\346\346Y!\346\350!=\204\346\346Y!\346\351!=\204\346\346Y!\346\352!=\204\346\312\353 Z[\354\216\355edY#\210\356\334\312\"\210\357edY#\210+W\203\365Y\204\365\356\335\312\"\210W\203C\360Y!\360\361!=\204C\360Y!\360\362!=\204C\360Y!\360\363!=\204C\360Y!\360\334!=\204C\312\353 Z[\364\216\355edY#\210\356\335\312\"\210\357edY#\210+\365 \210\366 \210\353 \204Q\367\\]\370=?D^\205i\353 ?\205i\371\372 ^\"\211@\206\201_\206\201\373\374!\206\201D\205\201[<D\203\307\375p!\210\376\367!\210\377\367!\210\201o \210\201p!\210\310=\203\257\201qA!\210\202\274\307=\203\274\201rA!\210\353 \204\307\201s F\201t\312F?\312\317$\210D\203\372F\204\372\201u \210\201v \210\201w \210\201x \210\201y \210\201z \210D\203\201{ \210G\203#`\203#\201|\201} \203\201~\202!\201\"\210G\203Wa\2063b\2063pc\201\200c\211`C`\206F\201\201\201\202D$\210d\203V\201\203 \210)G\203q\201\204 C^\203q\201\205^eA\"\210\201\206 \210\201\207 \210\201\210 \210f\203\221\201\211 \203\221\201\212 \210G\203\362\201\213 \203\251@\204\251\201\214\317\312\"\210a\203\302g\203\302h\203\302d\203\302\201\203 \210i\203\340\201\200\312\211`C`\206\327\201\201\201\202D$\210\202\362\212\201\215a\206\357b\206\357p!\210)j\203k\205\377@?k\201\216 \210)\201\217\201\220!\210G\203#@\203#\336\201\221\201\222!!\210G\203-@\2036\201\223\201\224\317\"\210G\203@\336C!\210l\203\203m\204\203<\204\203\336\201\225^\206Z\343 \"\210\201\226\317!\203~\201\204 C\201\206 \203y\201\216 \210\202~\201\207 \210\336C!\210t\205\236n?\205\236\201\227 \210\201\230 ?\205\236\336C!.\207" [access-method folder vm-primary-inbox f vm-recognize-imap-maildrops vm-recognize-pop-maildrops string-match imap pop bufferp nil vm-pop-find-spec-for-name error "No such POP folder: %s" vm-pop-make-filename-for-spec t file-exists-p (rename-file f-pass f-nospec) ((error)) (rename-file f-nopass f-nospec) ((error)) 3 vm-imap-parse-spec-to-list vm-imap-make-filename-for-spec expand-file-name file-directory-p "%s is a directory" vm-get-file-buffer no-conversion raw-text message "Reading %s..." find-file-noselect "Reading %s... done" (pop imap) buffer-name rename-buffer set-buffer-multibyte get-coding-system no-conversion-unix no-conversion-dos no-conversion-mac binary buffer-modified-p ((set-buffer-modified-p omodified)) encode-coding-region set-buffer-file-coding-system decode-coding-region coding-system-base raw-text-unix raw-text-mac raw-text-dos ((set-buffer-modified-p omodified)) vm-check-for-killed-summary vm-check-for-killed-presentation 0 vm-mode file-newer-than-file-p make-auto-save-file-name default-value vm-folder-read-only buffer-disable-undo abbrev-mode auto-fill-mode preserve-auto-save-file remote-spec folder-name totals-blurb first-time folder-buffer did-read-index-file full-startup f-nospec f-nopass f-pass vm-folder-directory file default-directory vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read default-enable-multibyte-characters enable-local-eval enable-local-variables inhibit-local-variables item vm-folder-history vm-fsfemacs-mule-p enable-multibyte-characters buffer-file-coding-system omodified buffer-read-only vm-messages-not-on-disk major-mode buffer-file-name read-only this-command vm-summary-buffer vm-presentation-buffer buffer-to-display vm-raise-frame-at-startup vm-totals vm-use-menus vm-mutable-frames vm-frame-per-summary vm-mutable-windows vm-message-list vm-auto-decode-mime-messages vm-auto-get-new-mail vm-block-new-mail vm-startup-message-displayed vm-fsfemacs-nonmule-display-8bit-chars vm-mode-internal vm-set-folder-pop-maildrop-spec vm-set-folder-imap-maildrop-spec vm-read-index-file-maybe vm-assimilate-new-messages vm-gobble-visible-header-variables vm-gobble-bookmark vm-gobble-pop-retrieved vm-gobble-imap-retrieved vm-gobble-summary vm-gobble-labels vm-start-itimers-if-needed apply vm-goto-new-folder-frame-maybe (folder) (primary-folder folder) vm-display vm startup vm-raise-frame vm-emit-totals-blurb vm-store-folder-totals vm-thoughtfully-select-message vm-update-summary-and-mode-line vm-toolbar-install-or-uninstall-toolbar vm-menu-support-possible-p vm-menu-install-visited-folders-menu vm-should-generate-summary vm-summarize switch-to-buffer vm-preview-current-message run-hooks vm-visit-folder-hook substitute-command-keys "Auto save file is newer; consider \\[recover-file]. FOLDER IS READ ONLY." throw done "Checking for new mail for %s..." vm-get-spooled-mail vm-display-startup-message input-pending-p] 9)] 2 "\ Read mail under Emacs. Optional first arg FOLDER specifies the folder to visit. It defaults to the value of vm-primary-inbox. The folder buffer is put into VM mode, a major mode for reading mail. Prefix arg or optional second arg READ-ONLY non-nil indicates that the folder should be considered read only. No attribute changes, message additions or deletions will be allowed in the visited folder. Visiting the primary inbox normally causes any contents of the system mailbox to be moved and appended to the resulting buffer. You can disable this automatic fetching of mail by setting `vm-auto-get-new-mail' to nil. All the messages can be read by repeatedly pressing SPC. Use `n'ext and `p'revious to move about in the folder. Messages are marked for deletion with `d', and saved to another folder with `s'. Quitting VM with `q' saves the buffered folder to disk, but does not expunge deleted messages. Use `###' to expunge deleted messages. See the documentation for vm-mode for more information." (list nil current-prefix-arg)]) (defalias 'vm-other-frame #[(&optional folder read-only) "\304 \210\305 \203\203\306\300!\210\202\306\307\300\"\210\310\211\311 \"\210*\305 \205)\312 \207" [folder vm-search-other-frames vm-frame-per-folder read-only vm-session-initialization vm-multiple-frames-possible-p vm-goto-new-frame primary-folder nil vm vm-set-hooks-for-frame-deletion] 3 "\ Like vm, but run in a newly created frame." (list nil current-prefix-arg)]) (defalias 'vm-other-window #[(&optional folder read-only) "\304 \210\305\306!\203\f\307 \210\310\311!\210\312\211\313\n \"*\207" [vm-search-other-frames vm-frame-per-folder folder read-only vm-session-initialization one-window-p t split-window other-window 1 nil vm] 3 "\ Like vm, but run in a different window." (list nil current-prefix-arg)]) (put 'vm-mode 'mode-class 'special) (defalias 'vm-mode #[(&optional read-only) "\301p\"\210\302\303\211\304\305$\207" [read-only vm vm-display nil (vm-mode) (vm-mode)] 5 "\ Major mode for reading mail. This is VM 7.19. Commands: h - summarize folder contents H - summarize contents of all folders C-t - toggle threads display n - go to next message p - go to previous message N - like `n' but ignores skip-variable settings P - like `p' but ignores skip-variable settings M-n - go to next unread message M-p - go to previous unread message RET - go to numbered message (uses prefix arg or prompts in minibuffer) M-g - go to numbered message (uses prefix arg or prompts in minibuffer) TAB - go to last message seen ^ - go to parent of this message M-s - incremental search through the folder t - display hidden headers SPC - expose message body or scroll forward a page b - scroll backward a page < - go to beginning of current message > - go to end of current message [ - go to previous button ] - go to next button D - decode MIME if not already decoded. If already decoded, display all MIME objects as tags. If already displaying tags, show raw unecoded MIME> d - delete message, prefix arg deletes messages forward C-d - delete message, prefix arg deletes messages backward u - undelete k - delete all messages with same subject as the current message r - reply (only to the sender of the message) R - reply with included text from the current message M-r - extract and resend bounced message f - followup (reply to all recipients of message) F - followup with included text from the current message z - forward the current message m - send a message B - resend the current message to another user. c - continue composing the most recent message you were composing @ - digestify and mail entire folder contents (the folder is not modified) * - burst a digest into individual messages, and append and assimilate these messages into the current folder. G - sort messages by various keys g - get any new mail that has arrived in the system mailbox (new mail is appended to the disk and buffer copies of the primary inbox.) v - visit another mail folder e - edit the current message j - discard cached information about the current message s - save current message in a folder (appends if folder already exists) w - write current message to a file without its headers (appends if exists) S - save entire folder to disk, does not expunge A - save unfiled messages to their vm-auto-folder-alist specified folders ### - expunge deleted messages (without saving folder) q - quit VM, deleted messages are not expunged, folder is saved to disk if it is modified. new messages are changed to be flagged as just unread. x - exit VM with no change to the folder M N - use marks; the next vm command will affect only marked messages if it makes sense for the command to do so. These commands apply and remove marks to messages: M M - mark the current message M U - unmark the current message M m - mark all messages M u - unmark all messages M C - mark messages matched by a virtual folder selector M c - unmark messages matched by a virtual folder selector M T - mark thread tree rooted at the current message M t - unmark thread tree rooted at the current message M S - mark messages with the same subject as the current message M s - unmark messages with the same subject as the current message M A - mark messages with the same author as the current message M a - unmark messages with the same author as the current message M R - mark messages within the point/mark region in the summary M r - unmark messages within the point/mark region in the summary M V - toggle the marked-ness of all messages M X - apply the selectors of a named virtual folder to the messages in the current folder and mark all messages that match those selectors. M x - apply the selectors of a named virtual folder to the messages in the current folder and unmark all messages that match those selectors. M ? - partial help for mark commands W - prefix for window configuration commands: W S - save the current window configuration to a name W D - delete a window configuration W W - apply a configuration W ? - help for the window configuration commands V - prefix for virtual folder commands: V V - visit a virtual folder (folder must be defined in vm-virtual-folder-alist) V C - create a virtual folder composed of a subset of the current folder's messages. V A - create a virtual folder containing all the messages in the current folder with the same author as the current message. V S - create a virtual folder containing all the messages in the current folder with the same subject as the current message. V X - apply the selectors of a named virtual folder to the messages in the current folder and create a virtual folder containing the selected messages. V M - toggle whether this virtual folder's messages mirror the underlying real messages' attributes. V ? - help for virtual folder commands C-_ - undo, special undo that retracts the most recent changes in message attributes and labels. Expunges, message edits, and saves cannot be undone. C-x u is also bound to this command. a - set message attributes l - prefix for label commands: l a - add labels to message l d - delete labels from message $ - prefix for MIME commands. Position the cursor over a MIME tag and use these keystrokes to operate on a MIME object. RET - display the MIME object according to its type. $ s - save the MIME object $ p - print the MIME object $ | - pipe the MIME object to a shell command. $ RET - display the MIME object's text using the \"default\" face. $ e - display the MIME object with an external viewer. $ d - delete the MIME object from the message. $ v - display the MIME object as some other type. $ w - write the MIME object to a file. $ a - attach the MIME object to a composition buffer. L - reload your VM init file, ~/.vm % - change a folder to another type ? - help ! - run a shell command | - run a shell command with the current message as input M-C - view conditions under which you may redistribute VM M-W - view the details of VM's lack of a warranty Use M-x vm-submit-bug-report to submit a bug report. Variables: vm-arrived-message-hook vm-arrived-messages-hook vm-auto-center-summary vm-auto-decode-mime-messages vm-auto-displayed-mime-content-type-exceptions vm-auto-displayed-mime-content-types vm-auto-folder-alist vm-auto-folder-case-fold-search vm-auto-get-new-mail vm-auto-next-message vm-berkeley-mail-compatibility vm-burst-digest-messages-inherit-labels vm-check-folder-types vm-circular-folders vm-confirm-new-folders vm-confirm-quit vm-convert-folder-types vm-crash-box vm-crash-box-suffix vm-default-From_-folder-type vm-default-folder-permission-bits vm-default-folder-type vm-delete-after-archiving vm-delete-after-bursting vm-delete-after-saving vm-delete-empty-folders vm-digest-burst-type vm-digest-center-preamble vm-digest-preamble-format vm-digest-send-type vm-display-buffer-hook vm-display-using-mime vm-edit-message-hook vm-fill-paragraphs-containing-long-lines vm-flush-interval vm-folder-directory vm-folder-read-only vm-folders-summary-database vm-folders-summary-directories vm-folders-summary-format vm-follow-summary-cursor vm-forward-message-hook vm-forwarded-headers vm-forwarding-digest-type vm-forwarding-subject-format vm-frame-parameter-alist vm-frame-per-completion vm-frame-per-composition vm-frame-per-edit vm-frame-per-folder vm-frame-per-folders-summary vm-frame-per-help vm-frame-per-summary vm-highlighted-header-face vm-highlighted-header-regexp vm-honor-mime-content-disposition vm-honor-page-delimiters vm-icontopbm-program vm-image-directory vm-imagemagick-convert-program vm-imagemagick-identify-program vm-imap-auto-expunge-alist vm-imap-bytes-per-session vm-imap-expunge-after-retrieving vm-imap-max-message-size vm-imap-messages-per-session vm-imap-session-preauth-hook vm-index-file-suffix vm-in-reply-to-format vm-included-text-attribution-format vm-included-text-discard-header-regexp vm-included-text-headers vm-included-text-prefix vm-infer-mime-types vm-invisible-header-regexp vm-jump-to-new-messages vm-jump-to-unread-messages vm-keep-crash-boxes vm-keep-sent-messages vm-lynx-program vm-mail-check-interval vm-mail-header-from vm-mail-header-insert-date vm-mail-header-insert-message-id vm-mail-mode-hook vm-mail-send-hook vm-make-crash-box-name vm-make-spool-file-name vm-mime-7bit-composition-charset vm-mime-8bit-composition-charset vm-mime-8bit-text-transfer-encoding vm-mime-alternative-select-method vm-mime-attachment-auto-type-alist vm-mime-attachment-save-directory vm-mime-avoid-folding-content-type vm-mime-base64-decoder-program vm-mime-base64-decoder-switches vm-mime-base64-encoder-program vm-mime-base64-encoder-switches vm-mime-button-face vm-mime-button-format-alist vm-mime-charset-converter-alist vm-mime-charset-font-alist vm-mime-confirm-delete vm-mime-decode-for-preview vm-mime-default-face-charset-exceptions vm-mime-default-face-charsets vm-mime-delete-after-saving vm-mime-delete-viewer-processes vm-mime-digest-discard-header-regexp vm-mime-digest-headers vm-mime-display-function vm-mime-external-content-types-alist vm-mime-forward-local-external-bodies vm-mime-ignore-composite-type-opaque-transfer-encoding vm-mime-ignore-mime-version vm-mime-ignore-missing-multipart-boundary vm-mime-internal-content-type-exceptions vm-mime-internal-content-types vm-mime-max-message-size vm-mime-qp-decoder-program vm-mime-qp-decoder-switches vm-mime-qp-encoder-program vm-mime-qp-encoder-switches vm-mime-require-mime-version-header vm-mime-type-converter-alist vm-mime-use-image-strips vm-mime-use-w3-for-text/html vm-mime-uuencode-decoder-program vm-mime-uuencode-decoder-switches vm-mode-hook vm-mosaic-program vm-mosaic-program-switches vm-move-after-deleting vm-move-after-killing vm-move-after-undeleting vm-move-messages-physically vm-mutable-frames vm-mutable-windows vm-netscape-program vm-netscape-program-switches vm-page-continuation-glyph vm-paragraph-fill-column vm-pop-auto-expunge-alist vm-pop-bytes-per-session vm-pop-expunge-after-retrieving vm-pop-folder-alist vm-pop-max-message-size vm-pop-md5-program vm-pop-messages-per-session vm-popup-menu-on-mouse-3 vm-preferences-file vm-preview-lines vm-preview-read-messages vm-primary-inbox vm-quit-hook vm-recognize-imap-maildrops vm-recognize-pop-maildrops vm-reply-hook vm-reply-ignored-addresses vm-reply-ignored-reply-tos vm-reply-subject-prefix vm-resend-bounced-discard-header-regexp vm-resend-bounced-headers vm-resend-bounced-message-hook vm-resend-discard-header-regexp vm-resend-headers vm-resend-message-hook vm-retrieved-spooled-mail-hook vm-rfc1153-digest-discard-header-regexp vm-rfc1153-digest-headers vm-rfc934-digest-discard-header-regexp vm-rfc934-digest-headers vm-search-using-regexps vm-select-message-hook vm-select-new-message-hook vm-select-unread-message-hook vm-send-digest-hook vm-send-using-mime vm-skip-deleted-messages vm-skip-read-messages vm-spool-file-suffixes vm-spool-files vm-spooled-mail-waiting-hook vm-ssh-program vm-ssh-program-switches vm-ssh-remote-command vm-startup-with-summary vm-strip-reply-headers vm-stunnel-program vm-stunnel-program-switches vm-stunnel-random-data-method vm-subject-significant-chars vm-summary-arrow vm-summary-format vm-summary-highlight-face vm-summary-mode-hook vm-summary-redo-hook vm-summary-show-threads vm-summary-thread-indent-level vm-tale-is-an-idiot vm-temp-file-directory vm-thread-using-subject vm-toolbar-pixmap-directory vm-trust-From_-with-Content-Length vm-uncompface-program vm-undisplay-buffer-hook vm-unforwarded-header-regexp vm-url-browser vm-url-browser-switches vm-url-retrieval-methods vm-url-search-limit vm-use-menus vm-use-toolbar vm-virtual-folder-alist vm-virtual-mirror vm-visible-headers vm-visit-folder-hook vm-visit-when-saving vm-warp-mouse-to-new-frame vm-wget-program vm-window-configuration-file " "P"]) (defalias 'vm-visit-folder #[(folder &optional read-only) "\306 \210\307 \210\310!\203\311!\203q\210\312 \210 \313\211 ;\2039\314 \"\2039\315 !\211\2039 \316\202d;\203V\314 \"\203V\317 !\211\203V \320\202d\206]\321 !)\322 \f#*\207" [vm-mail-buffer folder vm-last-visit-folder foo access-method vm-recognize-pop-maildrops vm-session-initialization vm-check-for-killed-folder bufferp buffer-name vm-check-for-killed-summary nil string-match vm-pop-find-name-for-spec pop vm-imap-find-name-for-spec imap expand-file-name vm vm-recognize-imap-maildrops vm-folder-directory default-directory read-only] 4 "\ Visit a mail file. VM will parse and present its messages to you in the usual way. First arg FOLDER specifies the mail file to visit. When this command is called interactively the file name is read from the minibuffer. Prefix arg or optional second arg READ-ONLY non-nil indicates that the folder should be considered read only. No attribute changes, messages additions or deletions will be allowed in the visited folder." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((default-directory (if vm-folder-directory (expand-file-name vm-folder-directory) default-directory)) (default (or vm-last-visit-folder vm-last-save-folder)) (this-command this-command) (last-command last-command)) (list (vm-read-file-name (format "Visit%s folder:%s " (if current-prefix-arg " read only" "") (if default (format " (default %s)" default) "")) default-directory default nil nil 'vm-folder-history) current-prefix-arg)))]) (defalias 'vm-visit-folder-other-frame #[(folder &optional read-only) "\304 \210\305 \203\f\306\302!\210\307\211\310\n \"\210*\305 \205\311 \207" [vm-search-other-frames vm-frame-per-folder folder read-only vm-session-initialization vm-multiple-frames-possible-p vm-goto-new-frame nil vm-visit-folder vm-set-hooks-for-frame-deletion] 3 "\ Like vm-visit-folder, but run in a newly created frame." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((default-directory (if vm-folder-directory (expand-file-name vm-folder-directory) default-directory)) (default (or vm-last-visit-folder vm-last-save-folder)) (this-command this-command) (last-command last-command)) (list (vm-read-file-name (format "Visit%s folder in other frame:%s " (if current-prefix-arg " read only" "") (if default (format " (default %s)" default) "")) default-directory default nil nil 'vm-folder-history) current-prefix-arg)))]) (defalias 'vm-visit-folder-other-window #[(folder &optional read-only) "\304 \210\305\306!\203\f\307 \210\310\311!\210\312\211\313\n \"*\207" [vm-search-other-frames vm-frame-per-folder folder read-only vm-session-initialization one-window-p t split-window other-window 1 nil vm-visit-folder] 3 "\ Like vm-visit-folder, but run in a different window." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((default-directory (if vm-folder-directory (expand-file-name vm-folder-directory) default-directory)) (default (or vm-last-visit-folder vm-last-save-folder)) (this-command this-command) (last-command last-command)) (list (vm-read-file-name (format "Visit%s folder in other window:%s " (if current-prefix-arg " read only" "") (if default (format " (default %s)" default) "")) default-directory default nil nil 'vm-folder-history) current-prefix-arg)))]) (defalias 'vm-visit-pop-folder #[(folder &optional read-only) "\304 \210\305 \210\306!\203\307!\203q\210\310 \210 \311\232\203%\n;\203%\n\312 !\2040\313\314 \"\210 \315 \316#\207" [vm-mail-buffer folder vm-last-visit-pop-folder read-only vm-session-initialization vm-check-for-killed-folder bufferp buffer-name vm-check-for-killed-summary "" vm-pop-find-spec-for-name error "No such POP folder: %s" vm pop] 4 "\ Visit a POP mailbox. VM will present its messages to you in the usual way. Messages found in the POP mailbox will be downloaded and stored in a local cache. If you expunge messages from the cache, the corresponding messages will be expunged from the POP mailbox. First arg FOLDER specifies the name of the POP mailbox to visit. You can only visit mailboxes that are specified in `vm-pop-folder-alist'. When this command is called interactively the mailbox name is read from the minibuffer. Prefix arg or optional second arg READ-ONLY non-nil indicates that the folder should be considered read only. No attribute changes, messages additions or deletions will be allowed in the visited folder." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((completion-list (mapcar #'(lambda (x) (nth 1 x)) vm-pop-folder-alist)) (default vm-last-visit-pop-folder) (this-command this-command) (last-command last-command)) (list (vm-read-string (format "Visit%s POP folder:%s " (if current-prefix-arg " read only" "") (if default (format " (default %s)" default) "")) completion-list) current-prefix-arg)))]) (defalias 'vm-visit-pop-folder-other-frame #[(folder &optional read-only) "\304 \210\305 \203\f\306\302!\210\307\211\310\n \"\210*\305 \205\311 \207" [vm-search-other-frames vm-frame-per-folder folder read-only vm-session-initialization vm-multiple-frames-possible-p vm-goto-new-frame nil vm-visit-pop-folder vm-set-hooks-for-frame-deletion] 3 "\ Like vm-visit-pop-folder, but run in a newly created frame." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((completion-list (mapcar #'(lambda (x) (nth 1 x)) vm-pop-folder-alist)) (default vm-last-visit-pop-folder) (this-command this-command) (last-command last-command)) (list (vm-read-string (format "Visit%s POP folder:%s " (if current-prefix-arg " read only" "") (if default (format " (default %s)" default) "")) completion-list) current-prefix-arg)))]) (defalias 'vm-visit-pop-folder-other-window #[(folder &optional read-only) "\304 \210\305\306!\203\f\307 \210\310\311!\210\312\211\313\n \"*\207" [vm-search-other-frames vm-frame-per-folder folder read-only vm-session-initialization one-window-p t split-window other-window 1 nil vm-visit-pop-folder] 3 "\ Like vm-visit-pop-folder, but run in a different window." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((completion-list (mapcar #'(lambda (x) (nth 1 x)) vm-pop-folder-alist)) (default vm-last-visit-pop-folder) (this-command this-command) (last-command last-command)) (list (vm-read-string (format "Visit%s POP folder:%s " (if current-prefix-arg " read only" "") (if default (format " (default %s)" default) "")) completion-list) current-prefix-arg)))]) (defalias 'vm-visit-imap-folder #[(folder &optional read-only) "\303 \210\304 \210\305!\203\306!\203q\210\307 \210\310 \n\311#\207" [vm-mail-buffer folder read-only vm-session-initialization vm-check-for-killed-folder bufferp buffer-name vm-check-for-killed-summary vm imap] 4 "\ Visit a IMAP mailbox. VM will present its messages to you in the usual way. Messages found in the IMAP mailbox will be downloaded and stored in a local cache. If you expunge messages from the cache, the corresponding messages will be expunged from the IMAP mailbox. First arg FOLDER specifies the IMAP mailbox to visit. You can only visit mailboxes on servers that are listed in `vm-imap-server-list'. When this command is called interactively the server and mailbox names are read from the minibuffer. Prefix arg or optional second arg READ-ONLY non-nil indicates that the folder should be considered read only. No attribute changes, messages additions or deletions will be allowed in the visited folder." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((this-command this-command) (last-command last-command)) (list (vm-read-imap-folder-name (format "Visit%s IMAP folder: " (if current-prefix-arg " read only" "")) vm-imap-server-list t) current-prefix-arg)))]) (defalias 'vm-visit-imap-folder-other-frame #[(folder &optional read-only) "\304 \210\305 \203\f\306\302!\210\307\211\310\n \"\210*\305 \205\311 \207" [vm-search-other-frames vm-frame-per-folder folder read-only vm-session-initialization vm-multiple-frames-possible-p vm-goto-new-frame nil vm-visit-imap-folder vm-set-hooks-for-frame-deletion] 3 "\ Like vm-visit-imap-folder, but run in a newly created frame." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((this-command this-command) (last-command last-command)) (list (vm-read-imap-folder-name (format "Visit%s IMAP folder: " (if current-prefix-arg " read only" "")) vm-imap-server-list) current-prefix-arg)))]) (defalias 'vm-visit-imap-folder-other-window #[(folder &optional read-only) "\304 \210\305\306!\203\f\307 \210\310\311!\210\312\211\313\n \"*\207" [vm-search-other-frames vm-frame-per-folder folder read-only vm-session-initialization one-window-p t split-window other-window 1 nil vm-visit-imap-folder] 3 "\ Like vm-visit-imap-folder, but run in a different window." (save-excursion (vm-session-initialization) (vm-check-for-killed-folder) (vm-select-folder-buffer-if-possible) (let ((this-command this-command) (last-command last-command)) (list (vm-read-imap-folder-name (format "Visit%s IMAP folder: " (if current-prefix-arg " read only" "")) vm-imap-server-list) current-prefix-arg)))]) (put 'vm-virtual-mode 'mode-class 'special) (defalias 'vm-virtual-mode #[(&rest ignored) "\300\207" ["Mode for reading multiple mail folders as one folder.\n\nThe commands available are the same commands that are found in\nvm-mode, except that a few of them are not applicable to virtual\nfolders.\n\nvm-virtual-mode is not a normal major mode. If you run it, it\nwill not do anything. The entry point to vm-virtual-mode is\nvm-visit-virtual-folder."] 1 "\ Mode for reading multiple mail folders as one folder. The commands available are the same commands that are found in vm-mode, except that a few of them are not applicable to virtual folders. vm-virtual-mode is not a normal major mode. If you run it, it will not do anything. The entry point to vm-virtual-mode is vm-visit-virtual-folder."]) (byte-code "\301B\301\207" [current-load-list scroll-in-place] 2) (defalias 'vm-visit-virtual-folder #[(folder-name &optional read-only bookmark) "\306 \210\307 \"\204\310\311\"\210\312\313Q\314\211\315\f!q\210 \316=?\211\203\363\317\320!\2033\320p!\210\202;\321<\321p!\210)\322\323!\210\324\323!\210\325 \210\326=>?\327@AB\330\331\323\"C\307 \"D\332\333!\210\314\334\314!\210\335E!\210\336 \203x\337 \210\340\341\342\"\210\340\341\343\"\210\316\344\345!\210F\205\224\336 \205\224\346 G\347 H\203\242\350\351!\210I\203\334J\211K\203\333IK@\2110\352H\353HJ)=\203\322\354LK\"\210\355 \210\314\211K\202\254KA\211K\204\257)L\204\357\356 \203\354\355 \210\202\357\357 \210\360\n!\210\361\362!\210M\203\377\363 \210\364\314\211NCN\365D$\210\366 \210 \203_\367 \203 \370\327\314\"\210\360\n!\210O\2037P\2037Q\2037M\2037\363 \210R\203O\364\314\211NCN\206H\371\365D$\210\202_\212\372O\206\\S\206\\p!\210)t\205qT?\205q\373 \205q\360\n!+\207" [folder-name vm-virtual-folder-alist blurb first-time buffer-name major-mode vm-session-initialization assoc error "No such virtual folder, %s" "(" ")" nil get-buffer-create vm-virtual-mode fboundp buffer-disable-undo buffer-flush-undo abbrev-mode 0 auto-fill-mode vm-fsfemacs-nonmule-display-8bit-chars "VM Virtual" t make-vector 29 make-local-variable scroll-in-place vm-build-virtual-message-list use-local-map vm-menu-support-possible-p vm-menu-install-menus add-hook kill-buffer-hook vm-garbage-collect-folder vm-garbage-collect-message run-hooks vm-virtual-mode-hook vm-menu-mode-menu vm-emit-totals-blurb vm-sort-messages "thread" 1 5 vm-record-and-change-message-pointer vm-preview-current-message vm-thoughtfully-select-message vm-update-summary-and-mode-line message vm-goto-new-folder-frame-maybe folder vm-raise-frame vm-display startup vm-toolbar-install-or-uninstall-toolbar vm-should-generate-summary vm-summarize vm switch-to-buffer vm-display-startup-message x mode-name vm-mode-line-format mode-line-format buffer-read-only read-only vm-folder-read-only vm-label-obarray vm-virtual-folder-definition vm-mode-map vm-use-menus mode-popup-menu vm-summary-show-threads bookmark vm-message-list mp vm-message-pointer vm-raise-frame-at-startup this-command vm-summary-buffer vm-mutable-frames vm-frame-per-summary vm-mutable-windows vm-presentation-buffer vm-startup-message-displayed] 7 nil (let ((last-command last-command) (this-command this-command)) (vm-session-initialization) (list (vm-read-string (format "Visit%s virtual folder: " (if current-prefix-arg " read only" "")) vm-virtual-folder-alist) current-prefix-arg))]) (defalias 'vm-visit-virtual-folder-other-frame #[(folder-name &optional read-only) "\304 \210\305 \203\f\306\307!\210\310\211\311\n \"\210*\305 \205\312 \207" [vm-search-other-frames vm-frame-per-folder folder-name read-only vm-session-initialization vm-multiple-frames-possible-p vm-goto-new-frame folder nil vm-visit-virtual-folder vm-set-hooks-for-frame-deletion] 3 "\ Like vm-visit-virtual-folder, but run in a newly created frame." (let ((last-command last-command) (this-command this-command)) (vm-session-initialization) (list (vm-read-string (format "Visit%s virtual folder in other frame: " (if current-prefix-arg " read only" "")) vm-virtual-folder-alist) current-prefix-arg))]) (defalias 'vm-visit-virtual-folder-other-window #[(folder-name &optional read-only) "\304 \210\305\306!\203\f\307 \210\310\311!\210\312\211\313\n \"*\207" [vm-search-other-frames vm-frame-per-folder folder-name read-only vm-session-initialization one-window-p t split-window other-window 1 nil vm-visit-virtual-folder] 3 "\ Like vm-visit-virtual-folder, but run in a different window." (let ((last-command last-command) (this-command this-command)) (vm-session-initialization) (list (vm-read-string (format "Visit%s virtual folder in other window: " (if current-prefix-arg " read only" "")) vm-virtual-folder-alist) current-prefix-arg))]) (defalias 'vm-mail #[(&optional to) "\302 \210\303 \210\304!\203\305!\203q\210\306 \210\307\310 \"\210\311\312!\210\311\313!\207" [vm-mail-buffer to vm-session-initialization vm-check-for-killed-folder bufferp buffer-name vm-check-for-killed-summary vm-mail-internal nil run-hooks vm-mail-hook vm-mail-mode-hook] 3 "\ Send a mail message from within VM, or from without. Optional argument TO is a string that should contain a comma separated recipient list." nil]) (defalias 'vm-mail-other-frame #[(&optional to) "\303 \210\304 \203\f\305\306!\210\307\211\310\n!\210*\304 \205\311 \207" [vm-search-other-frames vm-frame-per-composition to vm-session-initialization vm-multiple-frames-possible-p vm-goto-new-frame composition nil vm-mail vm-set-hooks-for-frame-deletion] 2 "\ Like vm-mail, but run in a newly created frame. Optional argument TO is a string that should contain a comma separated recipient list." nil]) (defalias 'vm-mail-other-window #[(&optional to) "\303 \210\304\305!\203\f\306 \210\307\310!\210\311\211\312\n!*\207" [vm-search-other-frames vm-frame-per-composition to vm-session-initialization one-window-p t split-window other-window 1 nil vm-mail] 2 "\ Like vm-mail, but run in a different window. Optional argument TO is a string that should contain a comma separated recipient list." nil]) (byte-code "\300\301M\210\302\300\303\304#\207" [vm-folders-summary-mode vm-mode put mode-class special] 4) (defalias 'vm-folders-summarize #[(&optional display raise) "\306 \210\307 \210\310\311!\204\312\313!\210\204\312\314!\210 \204Y\n\315=\205#p\316\317\320!)\212 q\210\321\322!\210\323\322!\210\324 \210\325\326!\203G\326p!\210\202N\327\327p!\210)\330 \210)\331 \210\332 \210)*\203a\333 \210\212*\203\210*\203~\334*!\204w\312\335!\210*q\210\202\210\n\336>\204\210\312\337!\210\307 \210\n\315=\205\222p\340+,\203\276 \203\276-\203\276\341\342-!,\"J\211+\203\276\343-!\210 q\210 *+.\203\336\212\344 \210\345 \316\346/C0?%\210 q\210\347 \210)\202\347\345\340\211\350/C$\210\351 \207" [vm-folders-summary-database vm-folders-summary-buffer major-mode folder-buffer default-enable-multibyte-characters x vm-session-initialization vm-check-for-killed-summary featurep berkeley-db error "Berkeley DB support needed to run this command" "'vm-folders-summary-database' must be non-nil to run this command" vm-mode t get-buffer-create "VM Folders Summary" abbrev-mode 0 auto-fill-mode vm-fsfemacs-nonmule-display-8bit-chars fboundp buffer-disable-undo buffer-flush-undo vm-folders-summary-mode-internal vm-make-folders-summary-associative-hashes vm-do-folders-summary vm-check-for-killed-folder buffer-name "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" nil intern-soft vm-make-folders-summary-key vm-mark-for-folders-summary-update vm-goto-new-folders-summary-frame-maybe vm-display (vm-folders-summarize) vm-toolbar-install-or-uninstall-toolbar (vm-folders-summarize) vm-update-summary-and-mode-line vm-mail-buffer fs vm-folders-summary-hash buffer-file-name display this-command raise] 7 "\ Generate a summary of the folders in your folder directories. Set `vm-folders-summary-directories' to specify the folder directories. Press RETURN or click mouse button 2 on an entry in the folders summary buffer to select a folder." "p\np"]) (byte-code "\301B\301\207" [current-load-list mail-send-actions] 2) (defalias 'vm-compose-mail #[(&optional to subject other-headers continue switch-function yank-action send-actions) "\306 \210\203\n\307 \207\310 \205\311\312\313 \314\"\" \n#eb\210\315\316\f\317Q!\210\320 \210 \203h @@c\210`Sfz\321=\203@\322\323!\210\2020`Sf\324=\203O\322\323!\210\202@\325 @A\261\210`Sf\326=\204a\327c\210 A\211\204+ \204s\330\331!\210\202\201\n\204~\330\332!\210\202\201\333 \210%\206\207\334p!\210&\203\277\212\333 \210\335&@&A\"\210\336`!\210\333 \210 \203\257\337\340!\210\202\276!\203\273\337\341!\210\202\276\342 \210)\343\344!\210'\211$)\207" [continue to subject buffer mail-header-separator other-headers vm-session-initialization vm-continue-composing-message vm-mail-internal format "message to %s" vm-truncate-roman-string 20 re-search-forward "^" "$" beginning-of-line 32 delete-char -1 58 ": " 10 "\n" mail-position-on-field "To" "Subject" mail-text switch-to-buffer apply push-mark run-hooks mail-citation-hook mail-yank-hooks vm-mail-yank-default make-local-variable mail-send-actions switch-function yank-action send-actions] 7 nil nil]) (defalias 'vm-submit-bug-report #[nil "\304\305!\210\306 \210\307\310\311 \210\312\n\313 P\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\201@\201A\201B\201C\201D\201E\201F\201G\201H\201I\201J\201K\201L\201M\201N\201O\201P\201Q\201R\201S\201T\201U\201V\201W\201X\201Y\201Z\201[\201\\\201]\201^\201_\201`\201a\201b\201c\201d\201e\201f\201g\201h\201i\201j\201k\201l\201m\201n\201o\201p\201q\201r\201s\201t\201u\201v\201w\201x\201y\201z\201{\201|\201}\201~\201\201\200\201\201\201\202\201\203\201\204\201\205\201\206\201\207\201\210\201\211\201\212\201\213\201\214\201\215\201\216\201\217\201\220\201\221\201\222\201\223\201\224\201\225\201\226\201\227\201\230\201\231\201\232\201\233\201\234\201\235\201\236\201\237\201\240\201\241\201\242\201\243\201\244\201\245\201\246\201\247\201\250\201\251\201\252\201\253\201\254\201\255\201\256\201\257\201\260\201\261\201\262\201\263\201\264\201\265\201\266\201\267\201\270\201\271\201\272\201\273\201\274\201\275\201\276\201\277\201\300\201\301\201\302\201\303\201\304\201\305\201\306\201\307\201\310\201\311\201\312\201\313\201\314\201\315\201\316\201\317\201\320\201\321\201\322\201\323\201\324\201\325\201\326\201\327\201\330\201\331\201\332\201\333\201\334\201\335\201\336\201\337\201\340\201\341\201\342\201\343\201\344\201\345\201\346\201\347\201\350\201\351\201\352\201\353\257\340\201\354\211\201\355&\210\212eb\210\201\356\201\357!+\207" [mail-user-agent reporter-mailer vm-maintainer-address vm-version require reporter vm-session-initialization (vm-mail) vm-user-agent delete-other-windows reporter-submit-bug-report "VM " vm-arrived-message-hook vm-arrived-messages-hook vm-auto-center-summary vm-auto-decode-mime-messages vm-auto-displayed-mime-content-type-exceptions vm-auto-displayed-mime-content-types vm-auto-folder-case-fold-search vm-auto-get-new-mail vm-auto-next-message vm-berkeley-mail-compatibility vm-check-folder-types vm-circular-folders vm-confirm-new-folders vm-confirm-quit vm-convert-folder-types vm-crash-box vm-crash-box-suffix vm-default-From_-folder-type vm-default-folder-permission-bits vm-default-folder-type vm-delete-after-archiving vm-delete-after-bursting vm-delete-after-saving vm-delete-empty-folders vm-digest-burst-type vm-digest-identifier-header-format vm-digest-center-preamble vm-digest-preamble-format vm-digest-send-type vm-display-buffer-hook vm-display-using-mime vm-edit-message-hook vm-edit-message-mode vm-fill-paragraphs-containing-long-lines vm-flush-interval vm-folder-directory vm-folder-read-only vm-folders-summary-database vm-folders-summary-directories vm-folders-summary-format vm-follow-summary-cursor vm-forward-message-hook vm-forwarded-headers vm-forwarding-digest-type vm-forwarding-subject-format vm-frame-parameter-alist vm-frame-per-completion vm-frame-per-composition vm-frame-per-edit vm-frame-per-folder vm-frame-per-folders-summary vm-frame-per-help vm-frame-per-summary vm-highlight-url-face vm-highlighted-header-regexp vm-honor-mime-content-disposition vm-honor-page-delimiters vm-icontopbm-program vm-image-directory vm-imagemagick-convert-program vm-imagemagick-identify-program vm-imap-bytes-per-session vm-imap-expunge-after-retrieving vm-imap-max-message-size vm-imap-messages-per-session vm-imap-session-preauth-hook vm-in-reply-to-format vm-included-text-attribution-format vm-included-text-discard-header-regexp vm-included-text-headers vm-included-text-prefix vm-index-file-suffix vm-init-file vm-infer-mime-types vm-invisible-header-regexp vm-jump-to-new-messages vm-jump-to-unread-messages vm-keep-crash-boxes vm-keep-sent-messages vm-lynx-program vm-mail-header-from vm-mail-header-insert-date vm-mail-header-insert-message-id vm-mail-hook vm-mail-check-interval vm-mail-mode-hook vm-mail-send-hook vm-make-crash-box-name vm-make-spool-file-name vm-mime-7bit-composition-charset vm-mime-8bit-composition-charset vm-mime-8bit-text-transfer-encoding vm-mime-alternative-select-method vm-mime-attachment-auto-type-alist vm-mime-attachment-save-directory vm-mime-avoid-folding-content-type vm-mime-base64-decoder-program vm-mime-base64-decoder-switches vm-mime-base64-encoder-program vm-mime-base64-encoder-switches vm-mime-button-face vm-mime-button-format-alist vm-mime-charset-converter-alist vm-mime-charset-font-alist vm-mime-confirm-delete vm-mime-decode-for-preview vm-mime-default-face-charset-exceptions vm-mime-default-face-charsets vm-mime-delete-after-saving vm-mime-delete-viewer-processes vm-mime-digest-discard-header-regexp vm-mime-digest-headers vm-mime-display-function vm-mime-external-content-types-alist vm-mime-forward-local-external-bodies vm-mime-ignore-composite-type-opaque-transfer-encoding vm-mime-ignore-mime-version vm-mime-ignore-missing-multipart-boundary vm-mime-internal-content-type-exceptions vm-mime-internal-content-types vm-mime-max-message-size vm-mime-qp-decoder-program vm-mime-qp-decoder-switches vm-mime-qp-encoder-program vm-mime-qp-encoder-switches vm-mime-require-mime-version-header vm-mime-type-converter-alist vm-mime-use-image-strips vm-mime-use-w3-for-text/html vm-mime-uuencode-decoder-program vm-mime-uuencode-decoder-switches vm-mode-hook vm-mode-hooks vm-mosaic-program vm-mosaic-program-switches vm-move-after-deleting vm-move-after-undeleting vm-move-after-killing vm-move-messages-physically vm-movemail-program vm-mutable-frames vm-mutable-windows vm-netscape-program vm-netscape-program-switches vm-page-continuation-glyph vm-paragraph-fill-column vm-pop-bytes-per-session vm-pop-expunge-after-retrieving vm-pop-max-message-size vm-pop-messages-per-session vm-pop-md5-program vm-popup-menu-on-mouse-3 vm-preferences-file vm-preview-lines vm-preview-read-messages vm-primary-inbox vm-quit-hook vm-recognize-imap-maildrops vm-recognize-pop-maildrops vm-reply-hook vm-reply-ignored-reply-tos vm-reply-subject-prefix vm-resend-bounced-discard-header-regexp vm-resend-bounced-headers vm-resend-bounced-message-hook vm-resend-discard-header-regexp vm-resend-headers vm-resend-message-hook vm-retrieved-spooled-mail-hook vm-rfc1153-digest-discard-header-regexp vm-rfc1153-digest-headers vm-rfc934-digest-discard-header-regexp vm-rfc934-digest-headers vm-search-using-regexps vm-select-message-hook vm-select-new-message-hook vm-select-unread-message-hook vm-send-digest-hook vm-send-using-mime vm-skip-deleted-messages vm-skip-read-messages vm-spool-file-suffixes vm-spooled-mail-waiting-hook vm-ssh-program vm-ssh-program-switches vm-ssh-remote-command vm-startup-with-summary vm-strip-reply-headers vm-stunnel-program vm-stunnel-program-switches vm-stunnel-random-data-method vm-subject-significant-chars vm-summary-format vm-summary-highlight-face vm-summary-mode-hook vm-summary-mode-hooks vm-summary-redo-hook vm-summary-show-threads vm-summary-thread-indent-level vm-summary-uninteresting-senders vm-summary-uninteresting-senders-arrow vm-tale-is-an-idiot vm-temp-file-directory vm-thread-using-subject vm-toolbar-pixmap-directory vm-trust-From_-with-Content-Length vm-uncompface-program vm-undisplay-buffer-hook vm-unforwarded-header-regexp vm-url-browser vm-url-browser-switches vm-url-retrieval-methods vm-url-search-limit vm-use-menus vm-use-toolbar vm-virtual-folder-alist vm-virtual-mirror vm-visible-headers vm-visit-folder-hook vm-visit-when-saving vm-warp-mouse-to-new-frame vm-wget-program vm-window-configuration-file features nil "Please change the Subject header to a concise bug description.\nIn this report, remember to cover the basics, that is, what you expected to\nhappen and what in fact did happen. Please remove these\ninstructions from your message." mail-position-on-field "Subject"] 227 "\ Submit a bug report, with pertinent information to the VM bug list." nil]) (defalias 'vm-load-init-file #[(&optional interactive) "\203 \203 \n\203\304\n ? ?\305$\210 \203 \304 \305\211\211$\210\305\306\307\211\310\311$\207" [vm-init-file-loaded interactive vm-init-file vm-preferences-file load t vm-display nil (vm-load-init-file) (vm-load-init-file)] 5 nil "p"]) (defalias 'vm-check-emacs-version #[nil "\203 \305W\204 \305U\203\n\306W\203\307\310 \"\207\f\2055 \305W\2041 \305U\2055\n\311W\2055\307\312 \"\207" [vm-xemacs-p emacs-major-version emacs-minor-version vm-version vm-fsfemacs-p 19 14 error "VM %s must be run on XEmacs 19.14 or a later version." 34 "VM %s must be run on Emacs 19.34 or a later v19 version."] 3]) (defalias 'vm-set-debug-flags #[nil "\206 \206 \302\211\207" [stack-trace-on-error debug-on-error (wrong-type-argument wrong-number-of-arguments args-out-of-range void-function void-variable invalid-function)] 2]) (defalias 'vm-session-initialization #[nil "\306\307!\210\310 \210\311 \210\312\313\314\"\210\315\300!\203\205\376\316\317!\210\320 \210 \204)\n\2021\321 !\2041\n\322\323\324\"\322\323\324\"\312\325\326\"\210\327\330!\203L\330\331!\202O\332\331!\204`\333\331!\210\334\331\335\"\210\336\331\337\"\2105\203\203\327\340!\204\203\332\341!\204\203\333\341!\210\327\342!\203\203\342\341\343\211\344E\"\2105\203\266\345\346!\203\266\332\347!\204\266\333\347!\2106\350=\203\254\336\347\337\"\210\334\347\351\"\210\202\266\336\347\335\"\210\334\347\352\"\2107\203\341\330\347!\204\341\333\347!\210\336\347\337\353\354$\210\334\347\351\353\355$\210\336\347\335\353\356$\210\334\347\352\353\357$\210\360 \203\351\361 \210\362 \203\3738\203\373\363 \203\373\364 \210\353\211\207" [vm-session-beginning vm-window-configuration-file vm-default-window-configuration vm-window-configurations vm-buffers-needing-display-update vm-buffers-needing-undo-boundaries require vm vm-note-emacs-version vm-check-emacs-version add-hook kill-emacs-hook vm-garbage-collect-global boundp random t vm-load-init-file vm-load-window-configurations make-vector 29 0 post-command-hook vm-add-undo-boundaries fboundp find-face vm-monochrome-image facep make-face set-face-background "white" set-face-foreground "black" image-type-available-p vm-image-placeholder set-face-stipple 16 "UU\377\377UU\377\377UU\377\377UU\377\377UU\377\377UU\377\377UU\377\377UU\377\377" featurep faces gui-button-face x "gray75" "red" nil (win) (win) (tty) (tty) vm-mouse-support-possible-p vm-mouse-install-mouse vm-menu-support-possible-p vm-menu-fsfemacs-menus-p vm-menu-initialize-vm-mode-menu-map vm-fsfemacs-p window-system vm-xemacs-p vm-use-menus] 5]) (byte-code "\300\301!\203\301\302\303\304\305\211%\210\306\307\310\"\210\306\311\312\"\210\306\313\314\"\210\306\315\316\"\210\306\317\316\"\210\306\320\316\"\210\306\321\322\"\210\306\323\322\"\210\306\324\325\"\210\306\326\327\"\210\306\330\327\"\210\306\331\327\"\210\306\332\327\"\210\306\333\327\"\210\306\334\335\305\336$\210\306\337\335\"\210\340\341!\207" [fboundp define-mail-user-agent vm-user-agent vm-compose-mail vm-mail-send-and-exit nil autoload reporter-submit-bug-report "reporter" timezone-make-date-sortable "timezone" rfc822-addresses "rfc822" mail-strip-quoted-names "mail-utils" mail-fetch-field mail-position-on-field mail-send "sendmail" mail-mode mail-extract-address-components "mail-extr" set-tapestry "tapestry" tapestry tapestry-replace-tapestry-element tapestry-nullify-tapestry-elements tapestry-remove-frame-parameters vm-easy-menu-define "vm-easymenu" macro vm-easy-menu-do-define provide vm-startup] 6) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:33 2004 ;;; from file /Users/kyle/vm/vm-thread.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-thread.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-toggle-threads-display #[nil "\203\303!\204\304\305!\210q\210\202 \306>\204\304\307!\210\310 \210\311 \210\312\313!\210\n?\211\2033\314\315!\207\314\316!\207" [vm-mail-buffer major-mode vm-summary-show-threads buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-update-summary-and-mode-line vm-set-summary-redo-start-point t vm-sort-messages "thread" "physical-order"] 3 "\ Toggle the threads display on and off. When the threads display is on, the folder will be sorted by thread and thread indentation (via the %I summary format specifier) will be visible." nil]) (defalias 'vm-build-threads #[(message-list) "\306!\204\307\310\311\"\307\310\311\"\n\206 \311\312\313 !\314\246\315\\\n\316\211\211\211\211\211\211\211&'()*+,-..\203\225.@*\317*!)\320*!'\321'\"&\322*!\323&\324*&\324NB#\210\323&\325#\210&\324NA\204\211+\203\211\326&\327N!\210)\203\321)\"(\330&!\203\253&J\203\253&J(=\203\264&(L\210\202\364&J\323\f\327\f\327N&\324N/0/\203\335\331/@0\"0/A\211/\204\3130*#\210&(L\210+\203\364\326&\324N!\210\323(\327*(\327NB#\210\202\330&!\204&\316L\210\332*!\211A\203y\316\211\211/&(\321 @\"( A\211\203x\321 @\"&\330&!\203E&J\204m&(L\210&\324N\211/\203c\323(\327\333/(\327N\"#\210+\203m\326/!\210&( A\211\2041+.A.-T\211-,\246\311U\203=\334\335-\"\210\202=1\203\200\311-\n\206\242 ..\203\200.@*\317*!)\320*!'\321'\"&\322*!\3362\337*!3\3213 \"4\3304!\204\3574\340&\316*C$L\210\202c4J\341*4J\341HBI\2104J\342H\231\203P4J\2115\311H6\3306!\2036J\204.5\343\3336\324N5\343H\"I\2105\311&I\2105\342I\210+\203L\3162\3265\343H!\210)*\202c)\204c4J\343*4J\343HBI\210+.A.-T\211-,\246\311U\203\244\334\344-\"\210\202\244-,V\205\213\334\345!.\f\207" [vm-thread-obarray vm-thread-subject-obarray message-list vm-message-list old-parent-sym refs vectorp make-vector 641 0 vm-abs random 11 40 nil vm-th-parent vm-su-message-id intern vm-so-sortable-datestring put messages date vm-thread-mark-for-summary-update children boundp delq vm-th-references append message "Building threads (by reference)... %d" t vm-so-sortable-subject vector 3 1 2 "Building threads (by subject)... %d" "Building threads... done" id-sym id parent-sym parent m schedule-reindents modulus n mp msgs kids vm-thread-using-subject inhibit-quit subject subject-sym vect i-sym] 13]) (defalias 'vm-build-thread-lists #[nil "\211\205\302 @!\210 A\211\204\303)\207" [vm-message-list mp vm-th-thread-list nil] 3]) (defalias 'vm-thread-mark-for-summary-update #[(message-list) "\306 \205D @\211\211\307H\310H)\203<\311\312\"\210\306\211\307H\310 I\210*\306\211\307H\313\fI\210*\314\315\316! \"\317N!\210 A\211\204\306)\207" [m message-list message list val vm-thread-obarray nil 1 11 vm-mark-for-summary-update t 10 vm-thread-mark-for-summary-update intern vm-su-message-id children] 5]) (defalias 'vm-thread-list #[(message) "\306\306\307!\306\211\211\211\211\211\212\211\310H\311H)q\210\312\313\"\210\314\315!\"\211C\314\316 !\"\317L\210\204 \320N\211\203X\n\231\203_\321 \320#\210 \301N\n\203n \231\203u\321 \301#\210\322 !\203\263 J\203\263 J\314\316 !\"\322 !\203\240\317\206\233\202D \317L\210 B \323N@\202D\204\277\317\211\202F\204\313\317\211\202F\314\324!\"\322\f!\203\343\fJ\313H =\203\352\317\211\202F\fJ\313H\314\316 !\"\322 !\203\f\317\206\202D \317L\210 B \323N@\202D. \207" [message youngest-date root-date loop-sym subject-sym id-sym nil vm-so-sortable-datestring 1 9 fillarray 0 intern vm-su-message-id symbol-name t oldest-date put boundp messages vm-so-sortable-subject thread-list date loop-recovery-point m done vm-thread-loop-obarray vm-thread-obarray vm-thread-using-subject vm-thread-subject-obarray] 11]) (defalias 'vm-unthread-message #[(message &optional message-changing) "\212\211\211\306H\307HJ)B\310\211\211\211\211\211\205P@\211\211\307H\311H)q\210\312!\203F\313 \310\211\307H\314I\210* \310 \211\307H\315 I\210*\316\317 !\"\316\320 !!\"\321\f!\203\222\322\f\323\324 \f\323N\"#\210\325\f\326N!\210\fJ\211\203\211\322 \326\324 \326N\"#\210\"\203\222\f\310L\210\321 !\203E J\211\203E\f\n\327H=\204\264\n\330\324 \n\330H\"I\210\202E\"\203E\n\331HA\204\307\332 !\210\202E\n\331H\310\211\211#$\211%@$\333%@!#%A\211%\203\333%@!#\231\203 %@=\204%@$\333%@!#%A\211%\204\351\n\327\316\317$!\"I\210\n\307#I\210\324$\n\330H\"\n\330I\210\n\331\324 \n\331H\"I\210\310\325!\210-)A\211\204\310.\207" [message p-sym vect subject-sym id-sym m 4 1 nil 9 vectorp t 11 10 intern vm-su-message-id vm-so-sortable-subject boundp put messages delq vm-thread-mark-for-summary-update children 0 2 3 makunbound vm-so-sortable-datestring mp vm-thread-obarray inhibit-quit list val vm-thread-subject-obarray message-changing oldest-date oldest-msg p] 8]) (defalias 'vm-th-references #[(m) "\211\304H\305H)\206&\306\307\310\311#\211\205\312\n\313\")\211\304H\305 I*\207" [m message references val 3 20 nil vm-get-header-contents "References:" " " vm-parse "[^<]*\\(<[^>]+>\\)"] 6]) (defalias 'vm-th-parent #[(m) "\211\306H\307H)\206]\310\311!!@\206T\312\211\211\313\314\315#\211\205)\316\f\317\"\211\203A\nG @GW\203: @ A\211\204.\n\203R\nC\211\306H\320 I\210*\n+\211\306H\307 I*\207" [m message id ids in-reply-to val 3 19 vm-last vm-th-references nil vm-get-header-contents "In-Reply-To:" " " vm-parse "[^<]*\\(<[^>]+>\\)" 20] 6]) (defalias 'vm-th-thread-indentation #[(m) "\211\304H\305H)\2067\306!\211\203!\n@\307N\204!\nA\211\204\nGS\211\304H\305 I\210*\211\304H\305H*\207" [m message p val 1 10 vm-th-thread-list messages] 4]) (defalias 'vm-th-thread-list #[(m) "\211\303H\304H)\206!\305!\211\303H\304\nI\210*\211\303H\304H)\207" [m message list 1 11 vm-thread-list] 4]) (provide 'vm-thread) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:34 2004 ;;; from file /Users/kyle/vm/vm-toolbar.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-toolbar.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\301B\306\301!\204\f\307\302B\306\302!\204\310\303B\306\303!\204$\307\311\312!\204.\312\313M\210\304B\306\304!\204:\314\305B\306\305!\204F\307\311\315!\204P\315\316M\210\317B\306\317!\204]\320\321B\306\321!\204j\307\322B\306\322!\204w\323\324B\306\324!\204\204\307\311\325!\204\216\325\326M\210\327B\306\327!\204\233\330\331B\306\331!\204\250\307\311\332!\204\262\332\333M\210\334B\306\334!\204\277\335\336B\306\336!\204\314\307\311\337!\204\326\337\340M\210\341B\306\341!\204\343\342!\343B\306\343!\204\360\307#\311\344!\204\372\344\345M\210\346B\306\346!\204\347&\350B\306\350!\204\307(\311\351!\204\351\352M\210\353B\306\353!\204+\354+\355B\306\355!\2048\307-\311\356!\204B\356\357M\210\360B\306\360!\204O\3610\362B\306\362!\204\\\3072\311\363!\204f\363\364M\210\365B\306\365!\204s\3665\367B\306\367!\204\200\3077\370B\306\370!\204\215\3718\372B\306\372!\204\232\307:\373\372!\210\374B\306\374!\204\253\307<\375B\306\375!\204\270\307=\376B\306\376!\204\305\307>\373\376!\210\377B\306\377!\204\330\201A?\201@B\306\201@!\204\351\307@\373\201@!\207" [current-load-list vm-toolbar-specifier vm-toolbar-next-button vm-toolbar-next-icon vm-toolbar-previous-button vm-toolbar-previous-icon boundp nil [vm-toolbar-next-icon vm-toolbar-next-command (vm-toolbar-any-messages-p) "Go to the next message.\n\nThe command `vm-toolbar-next-command' is run, which is normally\nfbound to `vm-next-message'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-next-command 'some-other-command)"] fboundp vm-toolbar-next-command vm-next-message [vm-toolbar-previous-icon vm-toolbar-previous-command (vm-toolbar-any-messages-p) "Go to the previous message.\n\nThe command `vm-toolbar-previous-command' is run, which is normally\nfbound to `vm-previous-message'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-previous-command 'some-other-command)"] vm-toolbar-previous-command vm-previous-message vm-toolbar-autofile-button [vm-toolbar-autofile-icon vm-toolbar-autofile-message (vm-toolbar-can-autofile-p) "Save the current message to a folder selected using vm-auto-folder-alist."] vm-toolbar-autofile-icon vm-toolbar-file-button [vm-toolbar-file-icon vm-toolbar-file-command (vm-toolbar-any-messages-p) "Save the current message to a folder.\n\nThe command `vm-toolbar-file-command' is run, which is normally\nfbound to `vm-save-message'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-file-command 'some-other-command)"] vm-toolbar-file-icon vm-toolbar-file-command vm-save-message vm-toolbar-getmail-button [vm-toolbar-getmail-icon vm-toolbar-getmail-command (vm-toolbar-mail-waiting-p) "Retrieve spooled mail for the current folder.\n\nThe command `vm-toolbar-getmail-command' is run, which is normally\nfbound to `vm-get-new-mail'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-getmail-command 'some-other-command)"] vm-toolbar-getmail-icon vm-toolbar-getmail-command vm-get-new-mail vm-toolbar-print-button [vm-toolbar-print-icon vm-toolbar-print-command (vm-toolbar-any-messages-p) "Print the current message.\n\nThe command `vm-toolbar-print-command' is run, which is normally\nfbound to `vm-print-message'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-print-command 'some-other-command)"] vm-toolbar-print-icon vm-toolbar-print-command vm-print-message vm-toolbar-visit-button [vm-toolbar-visit-icon vm-toolbar-visit-command t "Visit a different folder.\n\nThe command `vm-toolbar-visit-command' is run, which is normally\nfbound to `vm-visit-folder'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-visit-command 'some-other-command)"] vm-toolbar-visit-icon vm-toolbar-visit-command vm-visit-folder vm-toolbar-reply-button [vm-toolbar-reply-icon vm-toolbar-reply-command (vm-toolbar-any-messages-p) "Reply to the current message.\n\nThe command `vm-toolbar-reply-command' is run, which is normally\nfbound to `vm-followup-include-text'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-reply-command 'some-other-command)"] vm-toolbar-reply-icon vm-toolbar-reply-command vm-followup-include-text vm-toolbar-compose-button [vm-toolbar-compose-icon vm-toolbar-compose-command t "Compose a new message.\n\nThe command `vm-toolbar-compose-command' is run, which is normally\nfbound to `vm-mail'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-compose-command 'some-other-command)"] vm-toolbar-compose-icon vm-toolbar-compose-command vm-mail vm-toolbar-decode-mime-button [vm-toolbar-decode-mime-icon vm-toolbar-decode-mime-command (vm-toolbar-can-decode-mime-p) "Decode the MIME objects in the current message.\n\nThe objects might be displayed immediately, or buttons might be\ndisplayed that you need to click on to view the object. See the\ndocumentation for the variables vm-mime-internal-content-types\nand vm-mime-external-content-types-alist to see how to control\nwhether you see buttons or objects.\n\nThe command `vm-toolbar-decode-mime-command' is run, which is normally\nfbound to `vm-decode-mime-messages'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-decode-mime-command 'some-other-command)"] vm-toolbar-decode-mime-icon vm-toolbar-decode-mime-command vm-decode-mime-message vm-toolbar-delete-icon t vm-toolbar-undelete-icon vm-toolbar-delete/undelete-button [vm-toolbar-delete/undelete-icon vm-toolbar-delete/undelete-message (vm-toolbar-any-messages-p) "Delete the current message, or undelete it if it is already deleted."] vm-toolbar-delete/undelete-icon make-variable-buffer-local vm-toolbar-help-icon vm-toolbar-recover-icon vm-toolbar-helper-icon vm-toolbar-help-button vm-toolbar-helper-command [vm-toolbar-helper-icon vm-toolbar-helper-command (vm-toolbar-can-help-p) "Don't Panic.\n\nVM uses this button to offer help if you're in trouble.\nUnder normal circumstances, this button runs `vm-help'.\nIf the current folder looks out-of-date relative to its auto-save\nfile then this button will run `recover-file'\nIf there is mail waiting in one of the spool files associated\nwith the current folder, and the `getmail' button is not on the\ntoolbar, this button will run `vm-get-new-mail'.\nIf the current message needs to be MIME decoded then this button\nwill run 'vm-decode-mime-message'."]] 2) (defalias 'vm-toolbar-helper-command #[nil "\302!\207" [vm-toolbar-helper-command this-command call-interactively] 2 nil nil]) (byte-code "\301B\303\301!\204\f\304\302B\303\302!\204\305\306\307!\204\"\307\310M\210\305\207" [current-load-list vm-toolbar-quit-button vm-toolbar-quit-icon boundp [vm-toolbar-quit-icon vm-toolbar-quit-command (vm-toolbar-can-quit-p) "Quit visiting this folder.\n\nThe command `vm-toolbar-quit-command' is run, which is normally\nfbound to `vm-quit'.\nYou can make this button run some other command by using a Lisp\ns-expression like this one in your .vm file:\n (fset 'vm-toolbar-quit-command 'some-other-command)"] nil fboundp vm-toolbar-quit-command vm-quit] 2) (defalias 'vm-toolbar-any-messages-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\302 \210\303!\203\304!\203q\210 )\207" [vm-mail-buffer vm-message-list vm-check-for-killed-folder bufferp buffer-name] 2) ((error))] 3]) (defalias 'vm-toolbar-delete/undelete-message #[(&optional prefix-arg) "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\n\2031\315\316pC\"\210\202$\317 \210  @\211\320H\320H)\203I\321\322!\202L\321\323!)\207" [vm-mail-buffer major-mode vm-folder-read-only prefix-arg current-prefix-arg vm-message-pointer vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty 2 call-interactively vm-undelete-message vm-delete-message message] 4 nil "P"]) (defalias 'vm-toolbar-can-autofile-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\303 \210\304!\203\305!\203q\210 \205\306 \n\")\207" [vm-mail-buffer vm-message-pointer vm-auto-folder-alist vm-check-for-killed-folder bufferp buffer-name vm-auto-select-folder] 3) ((error))] 3 nil nil]) (defalias 'vm-toolbar-autofile-message #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\n\2031\315\316pC\"\210\202$\317 \210\320 \f\"\211\203I\321 \322\"\210\323\324 \"\202L\310\325!)\207" [vm-mail-buffer major-mode vm-folder-read-only vm-message-pointer vm-auto-folder-alist file vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty vm-auto-select-folder vm-save-message 1 message "Message saved to %s" "No match for message in vm-auto-folder-alist."] 4 nil nil]) (defalias 'vm-toolbar-can-recover-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\305!\204\306\307!\210q\210\202 \310>\204\306\311!\210\n\2055 \2055\f\2055\312 ?\2055\313\f \")\207" [vm-mail-buffer major-mode vm-folder-read-only buffer-file-name buffer-auto-save-file-name buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" buffer-modified-p file-newer-than-file-p] 3) ((error))] 3]) (defalias 'vm-toolbar-can-decode-mime-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\305!\204\306\307!\210q\210\202 \310>\204\306\311!\210\n\2050 \2050\f\2050\312 @!?)\207" [vm-mail-buffer major-mode vm-display-using-mime vm-message-pointer vm-presentation-buffer buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-mime-plain-message-p] 2) ((error))] 3]) (defalias 'vm-toolbar-can-quit-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\302!\204\303\304!\210q\210\202 \305>\204\303\306!\210 \307>)\207" [vm-mail-buffer major-mode buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" (vm-mode vm-virtual-mode)] 2) ((error))] 3]) (defalias 'vm-toolbar-mail-waiting-p #[nil "\300\301\302\217\207" [nil (byte-code "\212\203\304!\204\305\306!\210q\210\202 \307>\204\305\310!\210\311\n!?\206' )\207" [vm-mail-buffer major-mode vm-mail-check-interval vm-spooled-mail-waiting buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" natnump] 2) ((error))] 3]) (fset 'vm-toolbar-can-help-p 'vm-toolbar-can-quit-p) (defalias 'vm-toolbar-update-toolbar #[nil "\203@\211\306H\306H)\203\n\202\f\307 \203%\310\202Z\311 \203:\312>\204:\313\202Z\314 \203T\204T\315>\204T\316\202Z\317\203g\320\303\305\321$\210\203t\320\303\305\321$\210\205\211\322p\323B\"\210\322pB\"\207" [vm-message-pointer message vm-toolbar-undelete-icon vm-toolbar-delete/undelete-icon vm-toolbar-delete-icon vm-toolbar-helper-command 2 vm-toolbar-can-recover-p recover-file vm-toolbar-mail-waiting-p getmail vm-get-new-mail vm-toolbar-can-decode-mime-p mime vm-decode-mime-message vm-help vm-copy-local-variables vm-toolbar-helper-icon set-specifier nil vm-toolbar-recover-icon vm-use-toolbar vm-toolbar-getmail-icon vm-mime-decoded vm-toolbar-decode-mime-icon vm-toolbar-help-icon vm-summary-buffer vm-presentation-buffer vm-toolbar-specifier vm-toolbar] 6]) (defalias 'vm-toolbar-install-or-uninstall-toolbar #[nil "\302 \203\f\203\f\303 \210 \205?\205\304 \207" [vm-use-toolbar vm-fsfemacs-p vm-toolbar-support-possible-p vm-toolbar-install-toolbar vm-toolbar-fsfemacs-uninstall-toolbar] 1]) (defalias 'vm-toolbar-install-toolbar #[nil "\306\307!\210\306\310!\210\203 ?\205\311 \207\n;\203\312\n!\204'\313\314!\210\315\316!\207\317 \210\320 @!\321\\\322 @!\321\\\323 p\324\325 \326 !\"!\321U\203S\327!\"\321U\203]\330\"#\203h#\202n\331 \211#$\332=\203\234%& \203\207\333%\f $\210\333%\f#\210\333'! $\202$\334=\203\312(& \203\265\333(\f $\210\333(\f#\210\333)! $\202$\335=\203\370*& \203\343\333*\f $\210\333*\f#\210\333+\" $\202,& \203\n\333,\f $\210\333,\f#\210\333-\" $.\207" [vm-fsfemacs-p vm-fsfemacs-toolbar-installed-p vm-toolbar-pixmap-directory vm-toolbar-help-icon toolbar myframe require vm-save vm-summary vm-toolbar-fsfemacs-install-toolbar file-directory-p message "Bad toolbar pixmap directory, can't setup toolbar." sit-for 2 vm-toolbar-initialize glyph-height 4 glyph-width selected-frame (win) vm-created-this-frame-p nil 68 46 vm-toolbar-make-toolbar-spec right set-specifier left bottom tag-set buffer frame width height vm-toolbar vm-toolbar-orientation right-toolbar vm-toolbar-specifier right-toolbar-width left-toolbar left-toolbar-width bottom-toolbar bottom-toolbar-height top-toolbar top-toolbar-height] 8]) (defalias 'vm-toolbar-make-toolbar-spec #[nil "\305\306\211 \203H @\204\306 B\202A @\250\2032\307 @W\203A\310\311 @\312\313$ B\202A @\f\236\211\203A\nAJ B A\211\204\f \237,\207" [vm-use-toolbar toolbar cons button-list button-alist ((autofile . vm-toolbar-autofile-button) (compose . vm-toolbar-compose-button) (delete/undelete . vm-toolbar-delete/undelete-button) (file . vm-toolbar-file-button) (getmail . vm-toolbar-getmail-button) (help . vm-toolbar-help-button) (mime . vm-toolbar-decode-mime-button) (next . vm-toolbar-next-button) (previous . vm-toolbar-previous-button) (print . vm-toolbar-print-button) (quit . vm-toolbar-quit-button) (reply . vm-toolbar-reply-button) (visit . vm-toolbar-visit-button)) nil 0 vector :size :style 2d] 6]) (defalias 'vm-toolbar-initialize #[nil "\204V \204V\306\307!\2032\310 \203\311 \312Y\203\313\202\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\257\2023\333\334\211\211\211\203U @\211@\fA\n\335\336 \"L\210 A\211\204>,# \337\340#\"\210\341$ \"\337\342 \"\207" [vm-fsfemacs-p vm-toolbar-help-icon var files tuple tuples featurep xpm device-on-window-system-p device-bitplanes 16 (vm-toolbar-decode-mime-icon "mime-colorful-up.xpm" "mime-colorful-dn.xpm" "mime-colorful-xx.xpm") (vm-toolbar-decode-mime-icon "mime-simple-up.xpm" "mime-simple-dn.xpm" "mime-simple-xx.xpm") (vm-toolbar-next-icon "next-up.xpm" "next-dn.xpm" "next-dn.xpm") (vm-toolbar-previous-icon "previous-up.xpm" "previous-dn.xpm" "previous-dn.xpm") (vm-toolbar-delete-icon "delete-up.xpm" "delete-dn.xpm" "delete-dn.xpm") (vm-toolbar-undelete-icon "undelete-up.xpm" "undelete-dn.xpm" "undelete-dn.xpm") (vm-toolbar-autofile-icon "autofile-up.xpm" "autofile-dn.xpm" "autofile-dn.xpm") (vm-toolbar-getmail-icon "getmail-up.xpm" "getmail-dn.xpm" "getmail-dn.xpm") (vm-toolbar-file-icon "file-up.xpm" "file-dn.xpm" "file-dn.xpm") (vm-toolbar-reply-icon "reply-up.xpm" "reply-dn.xpm" "reply-dn.xpm") (vm-toolbar-compose-icon "compose-up.xpm" "compose-dn.xpm" "compose-dn.xpm") (vm-toolbar-print-icon "print-up.xpm" "print-dn.xpm" "print-dn.xpm") (vm-toolbar-visit-icon "visit-up.xpm" "visit-dn.xpm" "visit-dn.xpm") (vm-toolbar-quit-icon "quit-up.xpm" "quit-dn.xpm" "quit-dn.xpm") (vm-toolbar-help-icon "help-up.xpm" "help-dn.xpm" "help-dn.xpm") (vm-toolbar-recover-icon "recover-up.xpm" "recover-dn.xpm" "recover-dn.xpm") ((vm-toolbar-decode-mime-icon "mime-up.xbm" "mime-dn.xbm" "mime-xx.xbm") (vm-toolbar-next-icon "next-up.xbm" "next-dn.xbm" "next-xx.xbm") (vm-toolbar-previous-icon "previous-up.xbm" "previous-dn.xbm" "previous-xx.xbm") (vm-toolbar-delete-icon "delete-up.xbm" "delete-dn.xbm" "delete-xx.xbm") (vm-toolbar-undelete-icon "undelete-up.xbm" "undelete-dn.xbm" "undelete-xx.xbm") (vm-toolbar-autofile-icon "autofile-up.xbm" "autofile-dn.xbm" "autofile-xx.xbm") (vm-toolbar-getmail-icon "getmail-up.xbm" "getmail-dn.xbm" "getmail-xx.xbm") (vm-toolbar-file-icon "file-up.xbm" "file-dn.xbm" "file-xx.xbm") (vm-toolbar-reply-icon "reply-up.xbm" "reply-dn.xbm" "reply-xx.xbm") (vm-toolbar-compose-icon "compose-up.xbm" "compose-dn.xbm" "compose-xx.xbm") (vm-toolbar-print-icon "print-up.xbm" "print-dn.xbm" "print-xx.xbm") (vm-toolbar-visit-icon "visit-up.xbm" "visit-dn.xbm" "visit-xx.xbm") (vm-toolbar-quit-icon "quit-up.xbm" "quit-dn.xbm" "quit-xx.xbm") (vm-toolbar-help-icon "help-up.xbm" "help-dn.xbm" "help-xx.xpm") (vm-toolbar-recover-icon "recover-up.xbm" "recover-dn.xbm" "recover-xx.xpm")) nil mapcar #[(f) "\302\303 \"!\207" [f vm-toolbar-pixmap-directory make-glyph expand-file-name] 4] set-default vm-toolbar-delete/undelete-icon vm-help vm-toolbar-helper-icon vm-toolbar-delete-icon vm-toolbar-helper-command] 16]) (defalias 'vm-toolbar-fsfemacs-uninstall-toolbar #[nil "\302\303\304#\210\304\211\207" [vm-mode-map vm-fsfemacs-toolbar-installed-p define-key [toolbar] nil] 4]) (defalias 'vm-toolbar-fsfemacs-install-toolbar #[nil "\306! \307 \203\310\311!\203\312\202\313\314\211\211\211\211@ABC\315\316!\203X:\203XA\317D\211E\203WD\320E@@I\210\321FD\322#\210EA\211E\204=*C\203\367C@\211\203\356\f\250\204\356\f\323>\203\311\324\325\326\f\327=\203}\330\202~\f\"!J\f\327=\203\224A\312\230\203\224\331\202\230\332\f!\333 AB\f\327=?\205\246\334$\335 \336H \320H\337 \340H\341\342\343\n\257 @\321F\344\345\f\"@#\210\202\356\f\346=\203+G\347\333 AB\334$\335 \336H \320H\350\351\337 \340H\341\352\343\n\257 @\321F\344\345\353\"@#\210\354\333 AB\334$\335 \336H \320H\350\355\337 \340H\341\356\343\n\257 @\321F\344\345\357\"@#\210\202\356\f\360=\203\356H\361\333 AB\334$\335 \336H \320H\350\362\337 \340H\341\363\343\n\257 @\321F\344\345\364\"@#\210\365\333 AB\334$\335 \336H \320H\350\366\337 \340H\341\367\343\n\257 @\321F\344\345\370\"@#\210\371\333 AB\334$\335 \336H \320H\350\372\337 \340H\341\373\343\n\257 @\321F\344\345\374\"@#\210A\312\230\203\301\331\202\303\375\333 AB\314$\335 \336H \320H\350\376\337 \340H\341\377\343\n\257 @\321F\344\345\201J\"@#\210CA\211C\204].\201K\211I\207" [vm-use-toolbar vm-toolbar-pixmap-directory images name sym t-spec reverse display-color-p image-type-available-p xpm "xpm" "xbm" nil boundp tool-bar-map [tool-bar x] 1 define-key undefined (autofile compose file getmail mime next previous print quit reply visit) intern format "vm-toolbar-%s-button" mime decode-mime "mime-colorful" symbol-name vm-toolbar-make-fsfemacs-toolbar-image-spec heuristic menu-item 3 :enable 2 :button (:toggle nil) :image vector tool-bar delete/undelete "delete" :visible (eq vm-toolbar-delete/undelete-icon vm-toolbar-delete-icon) (:toggle nil) delete "undelete" (eq vm-toolbar-delete/undelete-icon vm-toolbar-undelete-icon) (:toggle nil) undelete help "help" (eq vm-toolbar-helper-command 'vm-help) (:toggle nil) help-help "recover" (eq vm-toolbar-helper-command 'recover-file) (:toggle nil) help-recover "getmail" (eq vm-toolbar-helper-command 'vm-get-new-mail) (:toggle nil) help-getmail "mime" (eq vm-toolbar-helper-command 'vm-decode-mime-message) (:toggle nil) item extension dir button-list v map vm-mode-map vm-toolbar-delete/undelete-button vm-toolbar-help-button vm-fsfemacs-toolbar-installed-p help-mime t] 12]) (defalias 'vm-toolbar-make-fsfemacs-toolbar-image-spec #[(name extension dir mask) "\304\230\203Q\305\306\307\310!\311 \312\313\314\315\n# \"\257\306\307\310!\311 \312\313\314\316\n# \"\257\306\307\310!\311 \312\313\314\315\n# \"\257\306\307\310!\311 \312\313\314\315\n# \"\257$\207\305\306\307\310!\311 \312\313\314\315\n# \"\257\306\307\310!\311 \312\313\314\316\n# \"\257\306\307\310!\311 \312\313\314\317\n# \"\257\306\307\310!\311 \312\313\314\317\n# \"\257$\207" [extension mask name dir "xpm" vector image :type intern :mask :file expand-file-name format "%s-dn.%s" "%s-up.%s" "%s-xx.%s"] 15]) (provide 'vm-toolbar) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:34 2004 ;;; from file /Users/kyle/vm/vm-undo.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-undo.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-set-buffer-modified-p #[(flag &optional buffer) "\212\203q\210\305 !\210\nT\306\307 \"\210 ?\205\310\211)\207" [buffer flag vm-modification-counter vm-buffers-needing-display-update vm-messages-not-on-disk set-buffer-modified-p intern buffer-name 0] 3]) (defalias 'vm-undo-boundary #[nil "@\205\n\301B\211\207" [vm-undo-record-list nil] 2]) (defalias 'vm-add-undo-boundaries #[nil "\212\301\302\"\210\303\304\")\207" [vm-buffers-needing-undo-boundaries mapatoms #[(b) "\301\302!!\211\205q\210\303 \207" [b get-buffer symbol-name vm-undo-boundary] 4] fillarray 0] 3]) (defalias 'vm-clear-expunge-invalidated-undos #[nil "\304\211\203E\n@\204\n\202>\n@@\305=\204<\n@A@\211\306H\306H)\307=\203< \2036 \nA\241\210\202>\nA\202>\n\nA\211\204*\310 \207" [vm-undo-record-list udp-prev udp message nil vm-set-buffer-modified-p 2 expunged vm-clear-modification-flag-undos] 3]) (defalias 'vm-clear-virtual-quit-invalidated-undos #[nil "\304\211\203E\n@\204\n\202>\n@@\305=\204<\n@A@\211\306H\307H)\310\232\203< \2036 \nA\241\210\202>\nA\202>\n\nA\211\204*\311 \207" [vm-undo-record-list udp-prev udp message nil vm-set-buffer-modified-p 1 8 "Q" vm-clear-modification-flag-undos] 3]) (defalias 'vm-clear-modification-flag-undos #[nil "\303\211\2035\n@\204\n\202.\n@@\304=\203, \203& \nA\241\210\202.\nA\202.\n\nA\211\204\305 *\207" [vm-undo-record-list udp-prev udp nil vm-set-buffer-modified-p vm-squeeze-consecutive-undo-boundaries] 3]) (defalias 'vm-squeeze-consecutive-undo-boundaries #[nil "\303\211\203'\n@\204 \203 @\204 \nA\241\210\202 \n\nA\211\204\304\232\203/\303*?\205A\305 \205A\306 \205A\307 \207" [vm-undo-record-list udp-prev udp nil (nil) vm-menu-support-possible-p vm-menu-xemacs-menus-p vm-menu-set-menubar-dirty-flag] 3]) (defalias 'vm-undo-record #[(sexp) "\204\302 \203\303 \203\304 \210 B\211\207" [vm-undo-record-list sexp vm-menu-support-possible-p vm-menu-xemacs-menus-p vm-menu-set-menubar-dirty-flag] 2]) (defalias 'vm-undo-describe #[(record) "@\305\236A@\306\211\203E\304\307\310\n\211\311H\312H)!\n\211\311H\313H)\3148\203/\314 8\2022 A@\3148\203> A@\202A\314 8%\202{ @\315=\205{\3148\304\316\310\n\211\311H\312H)!\n\211\311H\313H) \204l\317\202m\320 \204u\321\202z\322\323 \324#%+\207" [record labels m cell message ((vm-set-new-flag "new" "old") (vm-set-unread-flag "unread" "read") (vm-set-deleted-flag "deleted" "undeleted") (vm-set-forwarded-flag "forwarded" "unforwarded") (vm-set-replied-flag "answered" "unanswered") (vm-set-redistributed-flag "redistributed" "unredistributed") (vm-set-filed-flag "filed" "unfiled") (vm-set-written-flag "written" "unwritten")) nil "VM Undo! %s/%s %s -> %s" buffer-name 1 9 0 2 vm-set-labels "VM Undo! %s/%s %s%s" "lost all its labels" "labels set to " "" mapconcat identity ", "] 10]) (defalias 'vm-undo-set-message-pointer #[(record) "@\305=?\205*A@ =?\205*\306 A@\211\307H\310HJ)A\206# \"\210\311\312 )\207" [record vm-message-pointer message vm-message-list vm-folder-read-only vm-set-buffer-modified-p vm-record-and-change-message-pointer 1 6 t vm-preview-current-message] 5]) (defalias 'vm-undo #[nil "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\n\203.\314\315pC\"\210\202!\316\317\211\320\321$\210\322 \f\323=\204A \204J\307\324!\210A\211@\203o\325@!\210\326@!\210\327@!\210A\211\202P \203{\322 \204{\330 \210\331 )\207" [vm-mail-buffer major-mode vm-folder-read-only modified last-command vm-undo-record-list buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-display nil (vm-undo) (vm-undo) buffer-modified-p vm-undo "No further VM undo information available" vm-undo-set-message-pointer vm-undo-describe eval delete-auto-save-file-if-necessary vm-update-summary-and-mode-line vm-undo-record-pointer] 6 "\ Undo last change to message attributes in the current folder. Consecutive invocations of this command cause sequentially earlier changes to be undone. After an intervening command between undos, the undos themselves become undoable." nil]) (defalias 'vm-set-message-attributes #[(string count) "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\n\2031\315\316pC\"\210\202$\317 \210\320\321\211\322\323$\210\324 \325\"\326\f!\321\211\211789:9\203\2629@:\2118\203\2518@\2117\327\230\203r\330 \331\"\210\202\2407\332\230\203\201\330 \331\"\210\202\2407\333\230\203\220\334 \331\"\210\202\2407\335\230\203\237\334 \331\"\210\202\2407\336\230\203\263\330 \321\"\210\334 \321\"\210\202\2407\337\230\203\302\340 \331\"\210\202\2407\341\230\203\321\342 \331\"\210\202\2407\343\230\203\340\342 \331\"\210\202\2407\344\230\203\357\345 \331\"\210\202\2407\346\230\203\376\347 \331\"\210\202\2407\350\230\203 \351 \331\"\210\202\2407\352\230\203\353 \331\"\210\202\2407\354\230\203+\355 \331\"\210\202\2407\356\230\203:\340 \321\"\210\202\2407\357\230\203I\342 \321\"\210\202\2407\360\230\203X\342 \321\"\210\202\2407\361\230\203g\345 \321\"\210\202\2407\362\230\203v\347 \321\"\210\202\2407\363\230\203\205\351 \321\"\210\202\2407\364\230\203\224\353 \321\"\210\202\2407\365\230\203\240\355 \321\"\2108A\2118\204_9A\2119\204S\366 -\207" [vm-mail-buffer major-mode vm-folder-read-only string count m vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty vm-display nil (vm-set-message-attributes) (vm-set-message-attributes) vm-parse "[ ]*\\([^ ]+\\)" vm-select-marked-or-prefixed-messages "new" vm-set-new-flag t "recent" "unread" vm-set-unread-flag "unseen" "read" "deleted" vm-set-deleted-flag "replied" vm-set-replied-flag "answered" "forwarded" vm-set-forwarded-flag "redistributed" vm-set-redistributed-flag "filed" vm-set-filed-flag "written" vm-set-written-flag "edited" vm-set-edited-flag-of "undeleted" "unreplied" "unanswered" "unforwarded" "unredistributed" "unfiled" "unwritten" "unedited" vm-update-summary-and-mode-line name n-list m-list name-list] 6 "\ Set message attributes. Use this command to change attributes like `deleted' or `replied'. Interactively you will be prompted for the attributes to be changed, and only the attributes you enter will be altered. You can use completion to expand the attribute names. The names should be entered as a space separated list. A numeric prefix argument COUNT causes the current message and the next COUNT-1 message to have their attributes altered. A negative COUNT arg causes the current message and the previous COUNT-1 messages to be altered. COUNT defaults to one." (let ((last-command last-command) (this-command this-command)) (vm-follow-summary-cursor) (list (vm-read-string "Set attributes: " vm-supported-attribute-names t) (prefix-numeric-value current-prefix-arg)))]) (defalias 'vm-add-message-labels #[(string count) "\305 \210\203\306!\204\307\310!\210q\210\202! \311>\204!\307\312!\210\313 \210\n\2031\314\315pC\"\210\202$\316 \210\317 \f\320#\207" [vm-mail-buffer major-mode vm-folder-read-only string count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty vm-add-or-delete-message-labels all] 4 "\ Attach some labels to a message. These are arbitrary user-defined labels, not to be confused with message attributes like `new' and `deleted'. Interactively you will be prompted for the labels to be added. You can use completion to expand the label names, with the completion list being all the labels that have ever been used in this folder. The names should be entered as a space separated list. Label names are compared case-insensitively. A numeric prefix argument COUNT causes the current message and the next COUNT-1 message to have the labels added. A negative COUNT arg causes the current message and the previous COUNT-1 messages to be altered. COUNT defaults to one." (let ((last-command last-command) (this-command this-command) (vm-completion-auto-correct nil) (completion-ignore-case t)) (vm-follow-summary-cursor) (vm-select-folder-buffer) (list (vm-read-string "Add labels: " (vm-obarray-to-string-list vm-label-obarray) t) (prefix-numeric-value current-prefix-arg)))]) (defalias 'vm-add-existing-message-labels #[(string count) "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\n\2031\315\316pC\"\210\202$\317 \210\320 \f\321#\211\205]\322\323!q\210\324 \210\325c\210 \203Z @\326\261\210 A\211\204M\327p!)\207" [vm-mail-buffer major-mode vm-folder-read-only string count ignored-labels vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty vm-add-or-delete-message-labels existing-only get-buffer-create "*Ignored Labels*" erase-buffer "These labels do not exist and were not added:\n\n" "\n" display-buffer] 5 "\ Attach some already existing labels to a message. Only labels that are currently attached to some message in this folder or labels that have previously been attached to messages in this folder will be added. Other labels will be silently ignored. These are arbitrary user-defined labels, not to be confused with message attributes like `new' and `deleted'. Interactively you will be prompted for the labels to be added. You can use completion to expand the label names, with the completion list being all the labels that have ever been used in this folder. The names should be entered as a space separated list. Label names are compared case-insensitively. A numeric prefix argument COUNT causes the current message and the next COUNT-1 messages to have the labels added. A negative COUNT arg causes the current message and the previous COUNT-1 messages to be altered. COUNT defaults to one." (let ((last-command last-command) (this-command this-command) (vm-completion-auto-correct nil) (completion-ignore-case t)) (vm-follow-summary-cursor) (vm-select-folder-buffer) (list (vm-read-string "Add labels: " (vm-obarray-to-string-list vm-label-obarray) t) (prefix-numeric-value current-prefix-arg)))]) (defalias 'vm-delete-message-labels #[(string count) "\305 \210\203\306!\204\307\310!\210q\210\202! \311>\204!\307\312!\210\313 \210\n\2031\314\315pC\"\210\202$\316 \210\317 \f\320#\207" [vm-mail-buffer major-mode vm-folder-read-only string count vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary signal folder-read-only vm-error-if-folder-empty vm-add-or-delete-message-labels nil] 4 "\ Delete some labels from a message. These are arbitrary user-defined labels, not to be confused with message attributes like `new' and `deleted'. Interactively you will be prompted for the labels to be deleted. You can use completion to expand the label names, with the completion list being all the labels that have ever been used in this folder. The names should be entered as a space separated list. Label names are compared case-insensitively. A numeric prefix argument COUNT causes the current message and the next COUNT-1 message to have the labels deleted. A negative COUNT arg causes the current message and the previous COUNT-1 messages to be altered. COUNT defaults to one." (let ((last-command last-command) (this-command this-command) (vm-completion-auto-correct nil) (completion-ignore-case t)) (vm-follow-summary-cursor) (vm-select-folder-buffer) (list (vm-read-string "Delete labels: " (vm-obarray-to-string-list vm-label-obarray) t) (prefix-numeric-value current-prefix-arg)))]) (defalias 'vm-add-or-delete-message-labels #[(string count add) "\306\307\211\310C$\210 \227\311\n!\312 \313\"\307\211\211\211\211\203x\203x\314=\203H\211\203x\315 @\"\210 A\211\2027\307 \211\203s\316 @\"\203e @ B \202l @B A\211\204R )\204\200\307\203`@\203\304\317\f!\203\304\212\f\211!\320H\321HJ)\211!\320H\322H)q\210\203\303\315@\"\210A\211\204\262*\203\212\f\211!\323H\320HJ)\211\203 @\211!\320H\322H)q\210\203\377\315@\"\210A\211\204\356) A\211\204\331)\324@\211!\323H\325H)!\2031 \203D @B A\211\202  \203D\326 @\" A\211\2045\203O\327!\330@\"\210A\211\204\205\331 \210.\207" [this-command string count mm-list m act-labels vm-display nil (vm-add-message-labels vm-delete-message-labels) vm-select-marked-or-prefixed-messages vm-parse "[- ,-\377]*\\([^- ,-\377]+\\)[- ,-\377]*" all intern intern-soft vm-virtual-message-p 1 5 9 4 copy-sequence 3 vm-delqual vm-delete-duplicates vm-set-labels vm-update-summary-and-mode-line labels ignored-labels action-labels m-list add vm-label-obarray newlist message] 8]) (defalias 'vm-set-xxxx-flag #[(m flag norecord function attr-index) "\306\211\n?\205\343 \211\307H\310HJ)\203.\212 \211\310H\311HJ)\211\310H\312H)q\210\n)?\205\343 \204\246 \211\310H\311HJ) \211\307H\310HJ)B\211\203g \211\313H)@\211\313H)=\203`@ BA\211\204J \204o B \203\246\212 @\211\310H\312H)q\210\314 \204\216\315\316!\210\317\315\306D!\210\317 @?E!\210T) A\211\204s \211\313H)I\210\320 !\210 ?\205\343 \316\211\307H\311I\210*\316=\203\326\321 !\202\343 \316\211\307H\313I**\207" [vmp m-list vm-folder-read-only m message norecord nil 4 1 5 9 2 buffer-modified-p vm-set-buffer-modified-p t vm-undo-record vm-mark-for-summary-update vm-stuff-virtual-attributes function flag vm-modification-counter attr-index vm-flush-interval val] 5]) (defalias 'vm-set-labels #[(m labels) "\306\211\307H\310H)\306 ?\205\342\211\307H\311HJ)\2037\212\211\311H\312HJ)\211\311H\313H)q\210 )?\205\342\211\311H\312HJ)\211\307H\311HJ)B\211\203l\211\314H)\n@\211\314H)=\203e\n@\fB\nA\211\204O\f\204t\fB\f\203\247\212\f@\211\311H\313H)q\210\315 \204\223\316\317!\210\320\316\306D!\210\320\321 E!\210T)\fA\211\204x\211\307H\310I\210*\306\211\307H\307I\210*\322!\210\317=\203\325\323!\202\342\317\211\307H\314I*+\207" [m message vmp old-labels m-list vm-folder-read-only nil 4 3 1 5 9 2 buffer-modified-p vm-set-buffer-modified-p t vm-undo-record vm-set-labels vm-mark-for-summary-update vm-stuff-virtual-attributes vm-modification-counter labels string vm-flush-interval val] 5]) (defalias 'vm-set-new-flag #[(m flag &optional norecord) "\303 \n\304\305%\207" [m flag norecord vm-set-xxxx-flag vm-set-new-flag 0] 6]) (defalias 'vm-set-unread-flag #[(m flag &optional norecord) "\303 \n\304\305%\207" [m flag norecord vm-set-xxxx-flag vm-set-unread-flag 1] 6]) (defalias 'vm-set-deleted-flag #[(m flag &optional norecord) "\303 \n\304\305%\207" [m flag norecord vm-set-xxxx-flag vm-set-deleted-flag 2] 6]) (defalias 'vm-set-filed-flag #[(m flag &optional norecord) "\303 \n\304\305%\207" [m flag norecord vm-set-xxxx-flag vm-set-filed-flag 3] 6]) (defalias 'vm-set-replied-flag #[(m flag &optional norecord) "\303 \n\304\305%\207" [m flag norecord vm-set-xxxx-flag vm-set-replied-flag 4] 6]) (defalias 'vm-set-written-flag #[(m flag &optional norecord) "\303 \n\304\305%\207" [m flag norecord vm-set-xxxx-flag vm-set-written-flag 5] 6]) (defalias 'vm-set-forwarded-flag #[(m flag &optional norecord) "\303 \n\304\305%\207" [m flag norecord vm-set-xxxx-flag vm-set-forwarded-flag 6] 6]) (defalias 'vm-set-redistributed-flag #[(m flag &optional norecord) "\303 \n\304\305%\207" [m flag norecord vm-set-xxxx-flag vm-set-redistributed-flag 8] 6]) (defalias 'vm-set-new-flag-of #[(m flag) "\302H\303 I\207" [m flag 2 0] 3]) (defalias 'vm-set-unread-flag-of #[(m flag) "\302H\303 I\207" [m flag 2 1] 3]) (defalias 'vm-set-deleted-flag-of #[(m flag) "\302H\302 I\207" [m flag 2] 3]) (defalias 'vm-set-filed-flag-of #[(m flag) "\302H\303 I\207" [m flag 2 3] 3]) (defalias 'vm-set-replied-flag-of #[(m flag) "\302H\303 I\207" [m flag 2 4] 3]) (defalias 'vm-set-written-flag-of #[(m flag) "\302H\303 I\207" [m flag 2 5] 3]) (defalias 'vm-set-forwarded-flag-of #[(m flag) "\302H\303 I\207" [m flag 2 6] 3]) (defalias 'vm-set-redistributed-flag-of #[(m flag) "\302H\303 I\207" [m flag 2 8] 3]) (defalias 'vm-set-deleted-flag-in-vector #[(v flag) "\302 I\207" [v flag 2] 3]) (defalias 'vm-set-new-flag-in-vector #[(v flag) "\302 I\207" [v flag 0] 3]) (provide 'vm-undo) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:35 2004 ;;; from file /Users/kyle/vm/vm-user.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-user.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-user-composition-folder-buffer #[nil "\302=\205 \207" [major-mode vm-mail-buffer mail-mode] 2 "\ Returns the folder buffer associated with the current buffer. The current buffer must be a composition buffer created by VM for a reply, resend or forward. Nil is returned if the current buffer is not associated with any VM folder. Note that the buffer returned might be a virtual folder buffer, which might have several underlying real folders associated with it. To get the list of real folder buffers associated with a composition buffer, use vm-user-composition-real-folder-buffers instead."]) (defalias 'vm-user-composition-real-folder-buffers #[nil "\306=\205L\307\211 \310=\203\f\202) \311=\203 \202) \312=\203)\n\203J\n@\211\313H\314HJ)\211\313H\315H) B\nA\211\204- *\207" [major-mode newlist list vm-system-state vm-reply-list vm-forward-list mail-mode nil replying forwarding redistributing 1 5 9 vm-redistribute-list message] 3 "\ Returns a list of the real folder buffers associated with the current buffer. The current buffer must be a composition buffer created by VM for a reply, resend or forward."]) (provide 'vm-user) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:35 2004 ;;; from file /Users/kyle/vm/vm-vars.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-vars.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\301B\302\302\303\304\217\210\305\306!\203\307\310!\204!\311\312\313M\210\314\315M\210\316\317\302\320\321\322%\207" [current-load-list vm-faked-defcustom nil (byte-code "\300\301!\207" [require custom] 2) ((error)) featurep custom fboundp custom-declare-variable t defgroup (macro . #[(&rest args) "\300\207" [nil] 1]) defcustom (macro . #[(var value doc &rest args) "\303 \nF\207" [var value doc defvar] 4]) custom-declare-group vm "The VM mail reader." :group mail] 6) (custom-declare-variable 'vm-init-file '"~/.vm" "\ *Startup file for VM that is loaded the first time you run VM in an Emacs session." :type 'file) (custom-declare-variable '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) (custom-declare-variable 'vm-folder-directory 'nil "\ *Directory where folders of mail are kept." :type '(choice (const nil) directory)) (custom-declare-variable 'vm-primary-inbox '"~/INBOX" "\ *Mail is moved from the system mailbox to this file for reading." :type 'file) (custom-declare-variable 'vm-crash-box '"~/INBOX.CRASH" "\ *File in which to store mail temporarily while it is transferred from the system mailbox to the primary inbox. If a crash occurs during this mail transfer, any missing mail will be found in this file. VM will do crash recovery from this file automatically at startup, as necessary." :type 'file) (custom-declare-variable 'vm-keep-crash-boxes 'nil "\ *Non-nil value should be a string specifying a directory where your crash boxes should be moved after VM has copied new mail out of them. This is a safety measure. In at least one case a pointer corruption bug inside Emacs has caused VM to believe that it had copied information out of the crash box when it in fact had not. VM then deleted the crash box, losing the batch of incoming mail. This is an exceedingly rare problem, but if you want to avoid losing mail if it happens, set `vm-keep-crash-boxes' to point to a directory in the same filesystem as all your crash boxes. Each saved crash box will have a unique name based on the current date and time the box was saved. You will need to clean out this directory from time to time; VM does not do so. A nil value means VM should just delete crash boxes after it has copied out the mail." :type 'boolean) (custom-declare-variable 'vm-index-file-suffix 'nil "\ *Suffix used to construct VM index file names. When VM visits a folder, it checks for the existence of a file whose name is the folder's file name with the value of this variable appended to it. If found, the file's contents will be used to tell VM about the contents of the folder. This is faster than parsing the folder itself. 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))) (defalias 'vm-spool-files #[nil "\206%\301\302!\211\203\303\304\305\"!\211\206%\301\306!\211\205%\303C!\211\207" [vm-spool-files getenv "MAILPATH" vm-delete-directory-names vm-parse "\\([^:%?]+\\)\\([%?][^:]*\\)?\\(:\\|$\\)" "MAIL"] 4]) (custom-declare-variable 'vm-spool-files 'nil "\ *If non-nil this variable's value should be a list of strings or a list of lists. If the value is a list of strings, the strings should name files that VM will check for incoming mail instead of the default place VM thinks your system mailbox is. Mail will be moved from these mailboxes to your primary inbox as specified by `vm-primary-inbox', using `vm-crash-box' as a waystation. If the value is a list of lists, each sublist should be of the form (INBOX SPOOLNAME CRASHBOX) INBOX, SPOOLNAME and CRASHBOX are all strings. INBOX is the folder where you want your new mail to be moved when you type 'g' (running `vm-get-new-mail') in VM. It is where you will read the mail. SPOOLNAME is where the mail system leaves your incoming mail, e.g. /var/spool/mail/kyle. It can also be a mailbox specification of the form, \"po:USER\", where USER is a user name. VM will pass this specification to the movemail program. It is up to movemail to interpret it and figure out where to find your mailbox. Some systems use special authentication methods that are only accessible via the movemail program. SPOOLNAME can also be a POP maildrop. A POP maildrop specification has the following format: \"pop:HOST:PORT:AUTH:USER:PASSWORD\" or \"pop-ssl:HOST:PORT:AUTH:USER:PASSWORD\" or \"pop-ssh:HOST:PORT:AUTH:USER:PASSWORD\" The second form is used to speak POP over an SSL connection. You must have the stunnel program installed and the variable vm-stunnel-program naming it in order for IMAP over SSL to work. The SSL version of the POP server will not use the same port as the non-SSL version. The third form is used to speak POP over an SSH connection. You must have the ssh program installed and the variable `vm-ssh-program' must name it in order for IMAP over SSH to work. SSH must be able to authenticate without a password, which means you must be using either .shosts authentication or RSA authentication. HOST is the host name of the POP server PORT is the TCP port number to connect to. This should normally be 110, unless you're using POP over SSL in which case the stanard port is 995. USER is the user name sent to the server. PASSWORD is the secret shared by you and the server for authentication purposes. How is it used depends on the value of the AUTH parameter. If the PASSWORD is \"*\", VM will prompt you for the password the first time you try to retrieve mail from maildrop. If the password is valid, VM will not ask you for the password again during this Emacs session. AUTH is the authentication method used to convince the server you should have access to the maildrop. Acceptable values are \"pass\", \"rpop\" and \"apop\". For \"pass\", the PASSWORD is sent to the server with the POP PASS command. For \"rpop\", the PASSWORD should be the string to be sent to the server via the RPOP command. In this case the string is not really a secret; authentication is done by other means. For \"apop\", an MD5 digest of the PASSWORD appended to the server timestamp will be sent to the server with the APOP command. In order to use \"apop\" you will have to set the value of `vm-pop-md5-program' appropriately to point at the program that will generate the MD5 digest that VM needs. SPOOLNAME can also be an IMAP maildrop. An IMAP maildrop specification has the following format: \"imap:HOST:PORT:MAILBOX:AUTH:USER:PASSWORD\" or \"imap-ssl:HOST:PORT:MAILBOX:AUTH:USER:PASSWORD\" or \"imap-ssh:HOST:PORT:MAILBOX:AUTH:USER:PASSWORD\" The second form is used to speak IMAP over an SSL connection. You must have the stunnel program installed and the variable `vm-stunnel-program' naming it in order for IMAP over SSL to work. The third form is used to speak IMAP over an SSH connection. You must have the ssh program installed and the variable `vm-ssh-program' must name it in order for IMAP over SSH to work. SSH must be able to authenticate without a password, which means you must be using .shosts authentication or public key user authentication. HOST is the host name of the IMAP server. PORT is the TCP port number to connect to. This should normally be 143. For IMAP over SSL, the standard port is 993. There is no special port for IMAP over SSH. MAILBOX is the name of the mailbox on the IMAP server. Should be \"inbox\", to access your default IMAP maildrop on the server. AUTH is the authentication method used to convince the server you should have access to the maildrop. Acceptable values are \"preauth\", \"login\" and \"cram-md5\". \"preauth\" causes VM to skip the authentication stage of the protocol with the assumption that the session was authenticated in some external way. \"login\", tells VM to use the IMAP LOGIN command for authentication, which sends your username and password in cleartext to the server. \"cram-md5\" is a challenge response system that convinces the server of your identity without transmitting your password in the clear. Not all servers support \"cram-md5\"; if you're not sure, ask your mail administrator or just try it. USER is the user name used with authentication methods that require such an identifier. \"login\" and \"cram-md5\" use it currently. PASSWORD is the secret shared by you and the server for authentication purposes. If the PASSWORD is \"*\", VM will prompt you for the password the first time you try to retrieve mail from maildrop. If the password is valid, VM will not ask you for the password again during this Emacs session. CRASHBOX is the temporary file that VM uses to store mail in transit between the SPOOLNAME and the INBOX. If the system crashes or Emacs dies while mail is being moved, and the new mail is not in the SPOOLNAME or the INBOX, then it will be in the CRASHBOX. There can be multiple entries with the same INBOX value, but a particular SPOOLNAME should appear only once. CRASHBOXes should not be shared among different INBOXes, but you can use the same CRASHBOX/INBOX pair with a different SPOOLNAME. `vm-spool-files' will default to the value of the shell environmental variables MAILPATH or MAIL if either of these variables are defined and no particular value for `vm-spool-files' has been specified." :type '(choice (repeat string) (repeat (list string string string)))) (custom-declare-variable 'vm-spool-file-suffixes 'nil "\ *List of suffixes to be used to create possible spool file names for folders. Example: (setq vm-spool-file-suffixes '(\".spool\" \"-\")) If you visit a folder ~/mail/beekeeping, when VM attempts to retrieve new mail for that folder it will look for mail in ~/mail/beekeeping.spool and ~/mail/beekeeping- in addition to scanning `vm-spool-files' for matches. The value of `vm-spool-files-suffixes' will not be used unless `vm-crash-box-suffix' is also defined, since a crash box is required for all mail retrieval from spool files." :type '(repeat string)) (custom-declare-variable 'vm-crash-box-suffix 'nil "\ *String suffix used to create possible crash box file names for folders. When VM uses `vm-spool-file-suffixes' to create a spool file name, it will append the value of `vm-crash-box-suffix' to the folder's file name to create a crash box name." :type 'string) (custom-declare-variable 'vm-make-spool-file-name 'nil "\ *Non-nil value should be a function that returns a spool file name for a folder. The function will be called with one argument, the folder's file name. If the folder does not have a file name, the function will not be called." :type 'function) (custom-declare-variable 'vm-make-crash-box-name 'nil "\ *Non-nil value should be a function that returns a crash box file name for a folder. The function will be called with one argument, the folder's file name. If the folder does not have a file name, the function will not be called." :type 'function) (custom-declare-variable 'vm-pop-md5-program '"md5" "\ *Program that reads a message on its standard input and writes an MD5 digest on its output." :type 'string) (custom-declare-variable '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. If VM is retrieving mail automatically because `vm-auto-get-new-mail' is set to a numeric value then you will not be prompted about large messages. This is to avoid prompting you while you're typing in another buffer. In this case the large message will be skipped with a warning message. You will be able to retrieved any skipped messages later by running `vm-get-new-mail' interactively. A nil value for `vm-pop-max-message-size' means no size limit." :type '(choice (const nil) integer)) (custom-declare-variable 'vm-pop-messages-per-session 'nil "\ *Non-nil value should be an integer specifying how many messages to retrieve per POP session. When you type 'g' to get new mail, VM will only retrieve that many messages from any particular POP maildrop. To retrieve more messages, type 'g' again. A nil value means there's no limit." :type '(choice (const nil) integer)) (custom-declare-variable 'vm-pop-bytes-per-session 'nil "\ *Non-nil value should be an integer specifying how many bytes to retrieve per POP session. When you type 'g' to get new mail, VM will only retrieve messages until the byte limit is reached on any particular POP maildrop. To retrieve more messages, type 'g' again. A nil value means there's no limit." :type '(choice (const nil) integer)) (custom-declare-variable 'vm-pop-expunge-after-retrieving 't "\ *Non-nil value means immediately delete messages from a POP mailbox after retrieving them. A nil value means messages will be left in the POP mailbox until you run `vm-expunge-pop-messages'. VM can only support a nil value for this variable if the remote POP server supports the UIDL command. If the server does not support UIDL and you've asked VM leave messages on the server, VM will complain about the lack of UIDL support and not retrieve messages from the server. This variable only affects POP mailboxes not listed in `vm-pop-auto-expunge-alist' (which see)." :type 'boolean) (custom-declare-variable 'vm-pop-auto-expunge-alist 'nil "\ *List of POP mailboxes and values specifying whether messages should be automatically deleted from the mailbox after retrieval. The format of the list is ((MAILBOX . VAL) (MAILBOX . VAL) ...) MAILBOX should be a POP mailbox specification as described in the documentation for the variable `vm-spool-files'. If you have the POP password specified in the `vm-spool-files' entry, you do not have to specify it here as well. Use `*' instead; VM will still understand that this mailbox is the same as the one in `vm-spool-files' that gives the password. VAL should be nil if retrieved messages should be left in the corresponding POP mailbox, t if retrieved messages should be deleted from the mailbox immediately after retrieval. VM can only support a non-nil setting of this variable if the remote POP server supports the UIDL command. If the server does not support UIDL and you've asked to VM leave messages on the server, VM will complain about the lack of UIDL support and not retrieve messages from the server." :type '(repeat (cons string boolean))) (custom-declare-variable 'vm-pop-read-quit-response 't "\ *Non-nil value tells VM to read the response to the POP QUIT command. Sometimes, for reasons unknown, the QUIT response never arrives from some POP servers and VM will hang waiting for it. So it is useful to be able to tell VM not to wait. Some other servers will not expunge messages unless the QUIT response is read, so for these servers you should set the variable's value to t." :type 'boolean) (custom-declare-variable 'vm-recognize-pop-maildrops '"^\\(pop:\\|pop-ssl:\\|pop-ssh:\\)?[^:]+:[^:]+:[^:]+:[^:]+:.+" "\ *Value if non-nil should be a regular expression that matches spool names found in `vm-spool-files' that should be considered POP 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) (custom-declare-variable 'vm-pop-folder-alist 'nil "\ *Alist of POP maildrop specifications and names that refer to them. The alist format is: ((POPDROP NAME) ...) POPDROP is a POP maildrop specification in the same format used by vm-spool-files (which see). 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 '(repeat (list string string))) (custom-declare-variable 'vm-pop-folder-cache-directory 'nil "\ *Directory where VM stores cached copies of POP folders. When VM visits a POP folder (really just a POP server where you have a mailbox) it stores the retrieved message on your computer so that they need not be retrieved each time you visit the folder. The cached copies are stored in the directory specified by this variable." :type '(choice (const nil) directory)) (custom-declare-variable 'vm-imap-max-message-size 'nil "\ *If VM is about to retrieve via IMAP a message larger than this size (in bytes) it will ask you whether it should retrieve the message. If VM is retrieving mail automatically because `vm-auto-get-new-mail' is set to a numeric value then you will not be prompted about large messages. This is to avoid prompting you while you're typing in another buffer. In this case the large message will be skipped with a warning message. You will be able to retrieved any skipped messages later by running vm-get-new-mail interactively. A nil value for `vm-imap-max-message-size' means no size limit." :type '(choice (const nil) integer)) (custom-declare-variable 'vm-imap-messages-per-session 'nil "\ *Non-nil value should be an integer specifying how many messages to retrieve per IMAP session. When you type 'g' to get new mail, VM will only retrieve that many messages from any particular IMAP maildrop. To retrieve more messages, type 'g' again. A nil value means there's no limit." :type '(choice (const nil) integer)) (custom-declare-variable 'vm-imap-bytes-per-session 'nil "\ *Non-nil value should be an integer specifying how many bytes to retrieve per IMAP session. When you type 'g' to get new mail, VM will only retrieve messages until the byte limit is reached on any particular IMAP maildrop. To retrieve more messages, type 'g' again. A nil value means there's no limit." :type '(choice (const nil) integer)) (custom-declare-variable 'vm-imap-expunge-after-retrieving 't "\ *Non-nil value means immediately remove messages from an IMAP mailbox after retrieving them. A nil value means messages will be left in the IMAP mailbox until you run `vm-expunge-imap-messages'. This variable only affects IMAP mailboxes not listed in `vm-imap-auto-expunge-alist' (which see)." :type 'boolean) (custom-declare-variable 'vm-imap-auto-expunge-alist 'nil "\ *List of IMAP mailboxes and values specifying whether messages should be automatically deleted from the mailbox after retrieval. The format of the list is ((MAILBOX . VAL) (MAILBOX . VAL) ...) MAILBOX should be an IMAP mailbox specification as described in the documentation for the variable `vm-spool-files'. If you have the IMAP password specified in the `vm-spool-files' entry, you do not have to specify it here as well. Use `*' instead; VM will still understand that this mailbox is the same as the one in `vm-spool-files' that contains the password. VAL should be nil if retrieved messages should be left in the corresponding IMAP mailbox, t if retrieved messages should be deleted from the mailbox immediately after retrieval." :type '(repeat (cons string boolean))) (custom-declare-variable 'vm-recognize-imap-maildrops '"^\\(imap\\|imap-ssl\\|imap-ssh\\):[^:]+:[^:]+:[^:]+:[^:]+:[^:]+:.+" "\ *Value if non-nil should be a regular expression that matches spool names found in `vm-spool-files' that should be considered IMAP 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) (custom-declare-variable 'vm-imap-server-list 'nil "\ *List of IMAP maildrop specifications that tell VM the IMAP servers you have access to and how to log into them. The IMAP maildrop specification in the same format used by vm-spool-files (which see). The mailbox part of the specifiation is ignored and should be asterisk or some other placeholder. Example: (setq vm-imap-server-list '( \"imap-ssl:mail.foocorp.com:993:inbox:login:becky:*\" \"imap:crickle.lex.ky.us:143:inbox:login:becky:*\" ) )" :type '(repeat string)) (custom-declare-variable 'vm-imap-folder-cache-directory 'nil "\ *Directory where VM stores cached copies of IMAP folders. When VM visits a IMAP folder (really just a IMAP server where you have a mailbox) it stores the retrieved message on your computer so that they need not be retrieved each time you visit the folder. The cached copies are stored in the directory specified by this variable." :type '(choice (const nil) directory)) (custom-declare-variable 'vm-auto-get-new-mail 't "\ *Non-nil value causes VM to automatically move mail from spool files to a mail folder when the folder is first visited. Nil means you must always use `vm-get-new-mail' to pull in newly arrived messages. If the value is a number, then it specifies how often (in seconds) VM should check for new mail and try to retrieve it. This is done asynchronously and may occur while you are editing other files. It should not disturb your editing, except perhaps for a pause while the check is being done." :type '(choice boolean integer)) (custom-declare-variable 'vm-mail-check-interval '300 "\ *Numeric value specifies the number of seconds between checks for new mail. The maildrops for all visited folders are checked. A nil value means don't check for new mail. Note that if new mail is found, it is not retrieved. The buffer local variable `vm-spooled-mail-waiting' is set non-nil in the buffers of those folders that have mail waiting. VM displays \"Mail\" in the mode line of folders that have mail waiting." :type '(choice (const nil) integer)) (defvar vm-spooled-mail-waiting nil "\ Value is non-nil if there is mail waiting for the current folder. This variable's value is local in all buffers. VM maintains this variable, you should not set it.") (make-variable-buffer-local 'vm-spooled-mail-waiting) (custom-declare-variable 'vm-default-folder-type '(cond ((not (boundp 'system-configuration)) 'From_) ((or (string-match "-solaris" system-configuration) (string-match "usg-unix-v" system-configuration) (string-match "-ibm-aix" system-configuration)) 'From_-with-Content-Length) ((string-match "-sco" system-configuration) 'mmdf) (t 'From_)) "\ *Default folder type for empty folders. If VM has to add messages that have no specific folder type to an empty folder, the folder will become this default type. Allowed types are: From_ From_-with-Content-Length BellFrom_ mmdf babyl Value must be a symbol, not a string. i.e. write (setq vm-default-folder-type 'From_) in your .emacs or .vm file. 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))) (custom-declare-variable 'vm-default-From_-folder-type ''From_ "\ *Value must be a symbol that tells VM which From-style folder type is used by your local mail delivery system. Valid values are From_ BellFrom_ Messages in From_ folders are separated by the two newlines followed by the string \"From\" and a space. Messages in BellFrom_ folders are only required to have a single newline before the \"From\" string. Since BellFrom_ and From_ folders cannot be reliably distinguished from each other, you must tell VM which one your system uses by setting the variable `vm-default-From_-folder-type' to either From_ or BellFrom_." :type '(choice (const From_) (const BellFrom_))) (custom-declare-variable 'vm-default-new-folder-line-ending-type 'nil "\ *Value must be a symbol that specifies the line ending convention to use for new folders. Text files under UNIXish and Windows systems use different characters to indicate the end of a line. UNIXish systems use a single linefeed character, Windows uses a carriage return followed by a line feed. The value of this variable tells VM which to use. `nil' means use the line ending convention of the local system; CRLF if you're on a Windows system, LF for UNIXish systems. `crlf' means use CRLF. `lf' mean use LF. `cr' means use CR (old Macs use this)." :type '(choice (const nil) (const crlf) (const cr) (const lf))) (custom-declare-variable 'vm-check-folder-types 't "\ *Non-nil value causes VM to check folder and message types for compatibility before it performs certain operations. Before saving a message to a folder, VM will check that the destination folder is of the same type as the message to be saved. Before incorporating message into a visited folder, VM will check that the messages are of the same type as that folder. A nil value means don't do the checks. If non-nil, VM will either convert the messages to the appropriate type before saving or incorporating them, or it will signal an error. The value of `vm-convert-folder-types' determines which action VM will take." :type 'boolean) (custom-declare-variable 'vm-convert-folder-types 't "\ *Non-nil value means that when VM checks folder types and finds a mismatch (see `vm-check-folder-types'), it will convert the source messages to the type of the destination folder, if it can. If `vm-check-folder-types' is nil, then this variable isn't consulted." :type 'boolean) (custom-declare-variable 'vm-trust-From_-with-Content-Length '(eq vm-default-folder-type 'From_-with-Content-Length) "\ *Non-nil value means that if the first message in a folder contains a Content-Length header and begins with \"From \" VM can safely assume that all messages in the folder have Content-Length headers that specify the length of the text section of each message. VM will then use these headers to determine message boundaries instead of the usual way of searching for two newlines followed by a line that begins with \"From \". If you set `vm-default-folder-type' to From_-with-Content-Length you must set this variable non-nil." :type 'boolean) (custom-declare-variable 'vm-visible-headers ''("Resent-" "From:" "Sender:" "To:" "Apparently-To:" "Cc:" "Subject:" "Date:") "\ *List of headers that should be visible when VM first displays a message. These should be listed in the order you wish them presented. Regular expressions are allowed. There's no need to anchor patterns with \"^\", as searches always start at the beginning of a line. Put a colon at the end of patterns to get exact matches. For example, \"Date\" matches \"Date\" and \"Date-Sent\". Header names are always matched case insensitively. If the value of `vm-invisible-header-regexp' is nil, only the headers matched by `vm-visible-headers' will be displayed. Otherwise all headers are displayed except those matched by `vm-invisible-header-regexp'. In this case `vm-visible-headers' specifies the order in which headers are displayed. Headers not matching `vm-visible-headers' are displayed last." :type '(list regexp)) (custom-declare-variable 'vm-invisible-header-regexp 'nil "\ *Non-nil value should be a regular expression that tells what headers VM should NOT normally display when presenting a message. All other headers will be displayed. The variable `vm-visible-headers' specifies the presentation order of headers; headers not matched by `vm-visible-headers' are displayed last. Nil value causes VM to display ONLY those headers specified in `vm-visible-headers'." :type '(choice (const nil) regexp)) (custom-declare-variable 'vm-highlighted-header-regexp 'nil "\ *Value specifies which headers to highlight. This is a regular expression that matches the names of headers that should be highlighted when a message is first presented. For example setting this variable to \"From:\\\\|Subject:\" causes the From and Subject headers to be highlighted. If you're using XEmacs, you might want to use the builtin `highlight-headers' package instead. If so, then you should set the variable `vm-use-lucid-highlighting' non-nil. You'll need to set the various variables used by the highlight-headers package to customize highlighting. `vm-highlighted-header-regexp' is ignored in this case." :type '(choice (const nil) regexp)) (custom-declare-variable 'vm-use-lucid-highlighting '(condition-case nil (progn (require 'highlight-headers) t) (error nil)) "\ *Non-nil means to use the `highlight-headers' package in XEmacs. Nil means just use VM's builtin header highlighting code. FSF Emacs always uses VM's builtin highlighting code." :type 'boolean) (custom-declare-variable 'vm-highlighted-header-face ''bold "\ *Face to be used to highlight headers. The headers to highlight are specified by the `vm-highlighted-header-regexp' variable. This variable is ignored under XEmacs if `vm-use-lucid-highlighting' is non-nil. XEmacs' highlight-headers package is used instead. See the documentation for the function `highlight-headers' to find out how to customize header highlighting using this package." :type 'symbol) (custom-declare-variable 'vm-preview-lines '0 "\ *Non-nil value N causes VM to display the visible headers + N lines of text of a message when it is first presented. The message is not actually flagged as read until it is exposed in its entirety. A value of t causes VM to display as much of the message as will fit in the window associated with the folder buffer. A nil value causes VM not to preview messages; no text lines are hidden and messages are immediately flagged as read." :type '(choice boolean integer)) (custom-declare-variable '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) (custom-declare-variable 'vm-fill-paragraphs-containing-long-lines 'nil "\ *Non-nil numeric value N causes VM to fill paragraphs that contain lines spanning N columns or more. Only plain text messages and text/plain MIME parts will be filled. The message itself is not modified; its text is copied into a presentation buffer before the filling is done." :type '(choice (const nil) integer)) (custom-declare-variable '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) (custom-declare-variable 'vm-display-using-mime 't "\ *Non-nil value means VM should display messages using MIME. MIME (Multipurpose Internet Mail Extensions) is a set of extensions to the standard Internet message format that allows reliable tranmission and reception of arbitrary data including images, audio and video as well as ordinary text. A non-nil value for this variable means that VM will recognize MIME encoded messages and display them as specified by the various MIME standards specifications. A nil value means VM will not display MIME messages any differently than any other message." :type 'boolean) (custom-declare-variable 'vm-mime-ignore-mime-version 't "\ *Non-nil value means ignore the version number in the MIME-Version header. VM only knows how to decode and display MIME version 1.0 messages. Some systems scramble the MIME-Version header, causing VM to believe that it cannot display a message that it actually can display. You can set `vm-mime-ignore-mime-version' non-nil if you use such systems." :type 'boolean) (custom-declare-variable 'vm-mime-require-mime-version-header 't "\ *Non-nil means a message must contain MIME-Version to be considered MIME. The MIME standard requires that MIME messages contain a MIME-Version, but some mailers ignore the standard and do not send the header. Set this variable to nil if you want VM to be lax and parse such messages as MIME anyway." :type 'boolean) (custom-declare-variable 'vm-mime-ignore-composite-type-opaque-transfer-encoding 't "\ *Non-nil means VM should ignore transfer encoding declarations of base64 and quoted-printable for object of type message/* or multipart/*. The MIME spec requires that these composite types use either 7bit, 8bit, or binary transfer encodings but some mailers declare quoted-printable and base64 even when they are not used. Set this variable non-nil if you want VM to be lax and ignore this problem and try to display the object anyway." :type 'boolean) (custom-declare-variable 'vm-mime-ignore-missing-multipart-boundary 't "\ *Non-nil means VM should treat a missing MIME boundary marker as if the marker were at the end of the current enclosing MIME object or, if there is no enclosing object, at the end of the message. A nil value means VM will complain about missing boundaries and refuse to parse such MIME messages." :type 'boolean) (custom-declare-variable 'vm-send-using-mime 't "\ *Non-nil value means VM should support sending messages using MIME. MIME (Multipurpose Internet Mail Extensions) is a set of extensions to the standard Internet message format that allows reliable tranmission and reception of arbitrary data including images, audio and video as well as traditional text. A non-nil value for this variable means that VM will - allow you to attach files and messages to your outbound message. - analyze the composition buffer when you send off a message and encode it as needed. A nil value means VM will not offer any support for composing MIME messages." :type 'boolean) (custom-declare-variable 'vm-honor-mime-content-disposition 'nil "\ *Non-nil value means use information from the Content-Disposition header to display MIME messages. The Content-Disposition header specifies whether a MIME object should be displayed inline or treated as an attachment. For VM, ``inline'' display means displaying the object in the Emacs buffer, if possible. 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) (custom-declare-variable 'vm-auto-decode-mime-messages 't "\ *Non-nil value causes MIME decoding to occur automatically when a message containing MIME objects is exposed. A nil value means that you will have to run the `vm-decode-mime-message' command (normally bound to `D') manually to decode and display MIME objects." :type 'boolean) (custom-declare-variable 'vm-mime-decode-for-preview 't "\ *Non-nil value causes partial MIME decoding to happen when a message is previewed, instead of when it is displayed in full. The point of this is if `vm-preview-lines' is set to a non-nil, non-zero value you can see readable text instead of a potentially inscrutable MIME jumble. `vm-auto-decode-mime-messages' must also be set non-nil for this variable to have effect." :type 'boolean) (custom-declare-variable 'vm-auto-displayed-mime-content-types ''("text" "image" "multipart") "\ *List of MIME content types that should be displayed immediately after decoding. Other types will be displayed as a button that you must activate to display the object. A value of t means that all types should be displayed immediately. A nil value means never display MIME objects immediately; only use buttons. If the value is a list, it should be a list of strings, which should all be types or type/subtype pairs. Example: (setq vm-auto-displayed-mime-content-types '(\"text\" \"image/jpeg\")) If a top-level type is listed without a subtype, all subtypes of that type are assumed to be included. Note that some types are processed specially, and this variable does not apply to them. multipart/digest messages are always displayed as a button to avoid automatically visiting a new folder while you are moving around in the current folder. message/partial messages are always displayed as a button, because there always needs to be a way to trigger the assembly of the parts into a full message. Any type that cannot be displayed internally or externally will be displayed as a button that allows you to save the body of the MIME object to a file." :type '(choice (const t) (repeat string))) (custom-declare-variable 'vm-auto-displayed-mime-content-type-exceptions 'nil "\ *List of MIME content types that should not be displayed immediately after decoding. These types will be displayed as a button that you must activate to display the object. This is an exception list for the types listed in `vm-auto-displayed-mime-content-types'; all types listed there will be auto-displayed except those in the exception list. The value should be either nil or a list of strings. The strings should all be types or type/subtype pairs. Example: (setq vm-auto-displayed-mime-content-type-exceptions '(\"text/html\")) If a top-level type is listed without a subtype, all subtypes of that type are assumed to be included." :type '(repeat string)) (custom-declare-variable 'vm-mime-internal-content-types 't "\ *List of MIME content types that should be displayed internally if Emacs is capable of doing so. A value of t means that VM display all types internally if possible. A list of exceptions can be specified via `vm-mime-internal-content-type-exceptions'. A nil value means never display MIME objects internally, which means VM must run an external viewer to display MIME objects. If the value is a list, it should be a list of strings. Example: (setq vm-mime-internal-content-types '(\"text\" \"image/jpeg\")) If a top-level type is listed without a subtype, all subtypes of that type are assumed to be included. Note that all multipart types are always handled internally. There is no need to list them here." :type '(choice (const t) (const nil) (repeat string))) (custom-declare-variable 'vm-mime-internal-content-type-exceptions 'nil "\ *List of MIME content types that should not be displayed internally. This is an exception list for the types specified in `vm-mime-internal-content-types'; all types listed there will be displayed internally except for those in the exception list. The value should be a list of strings. Example: (setq vm-mime-internal-content-type-exceptions '(\"image/jpeg\")) If a top-level type is listed without a subtype, all subtypes of that type are assumed to be included." :type '(repeat string)) (custom-declare-variable 'vm-mime-external-content-types-alist 'nil "\ *Alist of MIME content types and the external programs used to display them. If VM cannot display a type internally or has been instructed not to (see the documentation for the `vm-mime-internal-content-types' variable) it will try to launch an external program to display that type. The alist format is a list of lists, each sublist having the form (TYPE PROGRAM ARG ARG ... ) or (TYPE COMMAND-LINE) TYPE is a string specifying a MIME type or type/subtype pair. For example \"text\" or \"image/jpeg\". If a top-level type is listed without a subtype, all subtypes of that type are assumed to be included. In the first form, PROGRAM is a string naming a program to run to display an object. Any ARGS will be passed to the program as arguments. The octets that compose the object will be written into a temporary file and the name of the file can be inserted into an ARG string by writing %f. In earlier versions of VM the filename was always added as the last argument; as of VM 6.49 this is only done if %f does not appear in any of the ARG strings. 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. In either the PROGRAM/ARG or COMMAND-LINE forms, all the program and argument strings will have any %-specifiers in them expanded as described in the documentation for the variable `vm-mime-button-format-alist'. The only difference is that %f refers to the temporary file VM creates to store the object to be displayed, not the filename that the sender may have associated with the attachment. Example: (setq vm-mime-external-content-types-alist '( (\"text/html\" \"netscape\") (\"image/gif\" \"xv\") (\"image/jpeg\" \"xv\") (\"video/mpeg\" \"mpeg_play\") (\"video\" \"xanim\") ) ) The first matching list element will be used. No multipart message will ever be sent to an external viewer." :type '(repeat (list string string))) (custom-declare-variable 'vm-mime-external-content-type-exceptions 'nil "\ *List of MIME content types that should not be displayed externally without a manual request from the user. This is an exception list for the types specified in `vm-mime-external-content-types-alist'; types listed there will not be displayed using the specified viewer unless you explicitly request it by menu or `$ e' from the keyboard. The value should be a list of strings. Example: (setq vm-mime-external-content-type-exceptions '(\"text/html\")) If a top-level type is listed without a subtype, all subtypes of that type are assumed to be included." :type '(repeat string)) (custom-declare-variable '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) (custom-declare-variable 'vm-mime-type-converter-alist 'nil "\ *Alist of MIME types and programs that can convert between them. If VM cannot display a content type, it will scan this list to see if the type can be converted into a type that it can display. The alist format is ( (START-TYPE END-TYPE COMMAND-LINE ) ... ) START-TYPE is a string specifying a MIME type or type/subtype pair. Example \"text\" or \"image/jpeg\". If a top-level type is listed without a subtype, all subtypes of that type are assumed to be included. END-TYPE must be an exact type/subtype pair. This is the type to which START-TYPE will be converted. COMMAND-LINE is a string giving a command line to be passed to the shell. The octets that compose the object will be written to the standard input of the shell command. Example: (setq vm-mime-type-converter-alist '( (\"image/jpeg\" \"image/gif\" \"jpeg2gif\") (\"text/html\" \"text/plain\" \"striptags\") ) ) The first matching list element will be used.") (custom-declare-variable 'vm-mime-charset-converter-alist 'nil "\ *Alist of MIME charsets and programs that can convert between them. If VM cannot display a particular character set, it will scan this list to see if the charset can be converted into a charset that it can display. The alist format is ( ( START-CHARSET END-CHARSET COMMAND-LINE ) ... ) START-CHARSET is a string specifying a MIME charset. Example \"iso-8859-1\" or \"utf-8\". END-CHARSET is a string specifying the charset to which START-CHARSET will be converted. COMMAND-LINE is a string giving a command line to be passed to the shell. The characters in START-CHARSET will be written to the standard input of the shell command and VM expects characters encoded in END-CHARSET to appear at the standard output of the COMMAND-LINE. COMMAND-LINE is passed to the shell, so you can use pipelines, shell variables and redirections. Example: (setq vm-mime-charset-converter-alist '( (\"utf-8\" \"iso-2022-jp\" \"iconv -f utf-8 -t iso-2022-jp\") ) ) The first matching list element will be used." :type '(repeat (list string string string))) (custom-declare-variable 'vm-mime-alternative-select-method ''best-internal "\ *Value tells how to choose which multipart/alternative part to display. A MIME message of type multipart/alternative has multiple message parts containing the same information, but each part may be formatted differently. VM will display only one of the parts. This variable tells VM how to choose which part to display. A value of 'best means choose the part that is the most faithful to the sender's original content that can be displayed. A value of 'best-internal means choose the best part that can be displayed internally, (i.e. with the built-in capabilities of Emacs) and is allowed to be displayed internally (see `vm-mime-internal-content-types'). If none of the parts can be displayed internally, behavior reverts to that of 'best. The value can also be a list of the form (favorite TYPE ...) with the first element of the list being the symbol 'favorite'. The remaining elements of the list are strings specifying MIME types. VM will look for each TYPE in turn in the list of alternatives and choose the first matching alternative found that can be displayed. If the symbol 'favorite' is 'favorite-internal' instead, the first TYPE that matches an alternative that can be displayed internally will be chosen." :type '(choice (choice (const best-internal) (const best)) (cons (const favorite) (repeat string)) (cons (const favorite-internal) (repeat string)))) (custom-declare-variable '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) (custom-declare-variable 'vm-mime-default-face-charsets '(if vm-fsfemacs-mule-p (if (eq window-system nil) '("us-ascii" "iso-8859-1") '("us-ascii")) '("us-ascii" "iso-8859-1")) "\ *List of character sets that can be displayed using the `default' face. The default face is what you normally see when you edit text in Emacs. The font assigned to the default face can typically display one or two character sets. For U.S. and Western European users, ``us-ascii'' and one of the ISO-8859 character sets usually can be displayed. Whatever character sets that your default face can display should be listed as the value of `vm-mime-default-face-charsets'. Example: (setq vm-mime-default-face-charsets '(\"us-ascii\" \"iso-8859-1\")) Case is not significant in character set names. A value of t means all character sets can be displayed by the default face. This should be used in combination with `vm-mime-default-face-charset-exceptions' to tell VM that most of the mail you receive is displayable using your default face and its associated font, even though the messages might arrive with unknown or unregistered character sets specified in the MIME Content-Type header. To tell VM how to display other character sets, see `vm-mime-charset-font-alist'." :type '(choice (const t) (repeat string))) (custom-declare-variable 'vm-mime-default-face-charset-exceptions 'nil "\ *List of character sets that cannot be displayed using the default face. This variable acts as an exception list for `vm-mime-default-face-charsets'. 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 '(repeat string)) (custom-declare-variable 'vm-mime-charset-font-alist 'nil "\ *Assoc list of character sets and fonts that can be used to display them. The format of the list is: ( (CHARSET . FONT) ...) CHARSET is a string naming a MIME registered character set such as \"iso-8859-5\". Character set names should be specified in lower case. FONT is a string naming a font that can be used to display CHARSET. An example setup might be: (setq vm-mime-charset-font-alist '( (\"iso-8859-7\" . \"-*-*-medium-r-normal-*-16-160-72-72-c-80-iso8859-7\") ) ) This variable is only useful for character sets whose characters can all be encoded in single 8-bit bytes. Also multiple fonts can only be displayed if you're running under a window system e.g. X windows. So this variable will have no effect if you're running Emacs on a tty. 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 '(repeat (cons string string))) (custom-declare-variable 'vm-mime-use-image-strips 't "\ *Non-nil means chop an image into horizontal strip for display. Emacs treats a displayed image as a single large character and cannot scroll vertically within an image. To work around this limitation VM can display an image as a series of contiguous horizontal strips that Emacs' scrolling routines can better handle. To do this VM needs to have the ImageMagick programs 'convert' and 'identify' installed; `vm-imagemagick-convert-program' and `vm-imagemagick-identify-program must point to them. A nil value means VM should display images without cutting them into strips." :type 'boolean) (custom-declare-variable '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) (defalias 'vm-locate-executable-file #[(name) "\305\306!\203 \306 \307\310$\207\307\211 \n\2033 \2043\311\n@\"\312\f!\203,\313\202\nA\211\204\n\2058\f+\207" [name exec-path dirs done file fboundp locate-file nil 1 expand-file-name file-executable-p t] 6]) (custom-declare-variable 'vm-imagemagick-convert-program '(vm-locate-executable-file "convert") "\ *Name of ImageMagick 'convert' program. VM uses this program to convert between image formats and to slice up images for display. Set this to nil and VM will not use the 'convert' program." :type '(choice string (const nil))) (custom-declare-variable 'vm-imagemagick-identify-program '(vm-locate-executable-file "identify") "\ *Name of ImageMagick 'identify' program. VM uses this program to gather information about images. Set this to nil and VM will not use the 'convert' program." :type '(choice string (const nil))) (byte-code "\303B\304\303!\204F ;\205E \305\306\307\310\n\"E\305\311\307\312\n\"E\305\313\307\314\n\"E\305\315\307\316\n\"E\305\317\307\320\n\"E\305\321\307\322\n\"E\305\323\307\324\n\"E\257)\303\207" [current-load-list vm-imagemagick-convert-program x vm-mime-image-type-converter-alist boundp "image" "image/png" format "%s - png:-" "image/jpeg" "%s - jpeg:-" "image/gif" "%s - gif:-" "image/tiff" "%s - tiff:-" "image/xpm" "%s - xpm:-" "image/pbm" "%s - pbm:-" "image/xbm" "%s - xbm:-"] 11) (custom-declare-variable 'vm-mime-delete-after-saving 'nil "\ *Non-nil value causes VM to delete MIME body contents from a folder after the MIME object has been saved to disk. The MIME object is replaced with a message/external-body object that points to the disk copy of the object." :type 'boolean) (custom-declare-variable '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) (custom-declare-variable 'vm-mime-button-face ''gui-button-face "\ *Face used for text in buttons that trigger the display of MIME objects." :type 'boolean) (custom-declare-variable 'vm-mime-button-format-alist ''(("text" . "%-35.35(%d, %c%) [%k to %a]") ("multipart/alternative" . "%-35.35(%d%) [%k to %a]") ("multipart/digest" . "%-35.35(%d, %n message%s%) [%k to %a]") ("multipart" . "%-35.35(%d, %n part%s%) [%k to %a]") ("message/partial" . "%-35.35(%d, part %N (of %T)%) [%k to %a]") ("message/external-body" . "%-35.35(%d%) [%k to %a (%x)]") ("message" . "%-35.35(%d%) [%k to %a]") ("audio" . "%-35.35(%d%) [%k to %a]") ("video" . "%-35.35(%d%) [%k to %a]") ("image" . "%-35.35(%d%) [%k to %a]") ("application/octet-stream" . "%-35.35(%d, %f%) [%k to %a]")) "\ *List of types and formats for MIME buttons. When VM does not display a MIME object immediately, it displays a button or tag line in its place that describes the object and what you have to do to display it. The value of `vm-mime-button-format-alist' determines the format of the text in those buttons. The format of the list is ((TYPE . FORMAT) (TYPE . FORMAT) ...) The list is searched sequentially and the FORMAT corresponding to the first TYPE that matches the type of the button's object is used. TYPE should be a string specifying a top level type or a type/subtype pair. If a top-level type is listed without a subtype, all subtypes of that type are assumed to be included. FORMAT should be a string specifying the text of the button. The string should not include a newline. The string may contain the printf-like `%' conversion specifiers which substitute information about the MIME object into the button. Recognized specifiers are: a - the default action of the button. E.g. \"display image\" for images, \"display text\" for text objects and so on. c - the character set of the object. Usually only specified for text objects. Displays as \"us-ascii\" if the MIME object does not specifiy a character set. d - the content description of the object taken from the Content-Description header, if present. If the header isn't present, a generic description is provided. e - the content transfer encoding, either \"base64\" or \"quoted-printable\". f - the suggested file name to save the object into, as specified either in the Content-Disposition header, or the \"name\" parameter for objects of type \"application\". k - how to activate the button. Usually \"Press RETURN\" or \"Click mouse-2\". n - for multipart types this is the number of bundled parts, messages, whatever. N - for message/partial objects, the part number. s - an empty string if %n would display \"1\", otherwise \"s\". t - the content type of the object, e.g. \"text/enriched\". T - for message/partial objects, the total number of expected parts. \"?\" is displayed if the object doesn't specify the total number of parts expected. x - the content type of the external body of a message/external-body object. ( - starts a group, terminated by %). Useful for specifying the field width and precision for the concatentation of group of format specifiers. Example: \"%.35(%d, %t, %f%)\" specifies a maximum display width of 35 characters for the concatenation of the content description, content type and suggested file name. ) - ends a group. Use %% to get a single %. A numeric field width may be given between the `%' and the specifier; this causes right justification of the substituted string. A negative field width causes left justification. The field width may be followed by a `.' and a number specifying the maximum allowed length of the substituted string. If the string is longer than this value the right end of the string is truncated. If the value is negative, the string is truncated on the left instead of the right." :type '(repeat (cons string string))) (custom-declare-variable 'vm-mime-7bit-composition-charset '"us-ascii" "\ *Character set that VM should assume if it finds no character codes > 128 in a composition buffer. Composition buffers are assumed to use this character set unless the buffer contains a byte with the high bit set. This variable specifies what character set VM should assume if no such a character is found. 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 composition buffer to a single MIME character set that can display all the buffer's characters." :type 'string) (custom-declare-variable 'vm-mime-8bit-composition-charset '"iso-8859-1" "\ *Character set that VM should assume if it finds non-US-ASCII characters in a composition buffer. Composition buffers are assumed to use US-ASCII unless the buffer contains a byte with the high bit set. This variable specifies what character set VM should assume if such a character is found. 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) (custom-declare-variable 'vm-mime-8bit-text-transfer-encoding ''quoted-printable "\ *Symbol specifying what kind of transfer encoding to use on 8bit text. Characters with the high bit set cannot safely pass through all mail gateways and mail transport software. MIME has two transfer encodings that convert 8-bit data to 7-bit for safe transport. Quoted-printable leaves the text mostly readable even if the recipient does not have a MIME-capable mail reader. BASE64 is unreadable without a MIME-capable mail reader, unless your name is U3BvY2s=. A value of 'quoted-printable, means to use quoted-printable encoding. A value of 'base64 means to use BASE64 encoding. A value of '8bit means to send the message as is. Note that this variable usually only applies to textual MIME content types. Images, audio, video, etc. typically will have some attribute that makes VM consider them to be \"binary\", which moves them outside the scope of this variable. For example, messages with line lengths of 1000 characters or more 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))) (custom-declare-variable 'vm-mime-composition-armor-from-lines 'nil "\ *Non-nil value means \"From \" lines should be armored before sending. A line beginning with \"From \" is considered a message separator by many mail delivery agents. These agents will often insert a > before the word \"From\" to prevent mail readers from being confused. This is proper behavior, but it breaks digitally signed messages, which require bit-perfect transport in order for the message contents to be considered genuine. If `vm-mime-composition-armor-from-lines' is non-nil, a line beginning with \"From \" will cause VM to encode the message using either quoted-printable or BASE64 encoding so that the From line can be protected." :type 'boolean) (custom-declare-variable 'vm-mime-attachment-auto-type-alist ''(("\\.jpe?g$" . "image/jpeg") ("\\.gif$" . "image/gif") ("\\.png$" . "image/png") ("\\.tiff?$" . "image/tiff") ("\\.html?$" . "text/html") ("\\.au$" . "audio/basic") ("\\.mpe?g$" . "video/mpeg") ("\\.mov$" . "video/quicktime") ("\\.e?ps$" . "application/postscript") ("\\.pdf$" . "application/pdf") ("\\.xls$" . "application/vnd.ms-excel") ("\\.doc$" . "application/msword") ("\\.ppt$" . "application/vnd.ms-powerpoint")) "\ *Alist used to guess a MIME content type based on a file name. The list format is ((REGEXP . TYPE) ...) REGEXP is a string that specifies a regular expression. TYPE is a string specifying a MIME content type. When a file is attached to a MIME composition buffer using `vm-mime-attach-file', this list will be scanned until a REGEXP matches the file's name. The corresponding TYPE will be offered as a default when you are prompted for the file's type. The value of this variable is also used to guess the MIME type of application/octet-stream objects for display purposes if the value of `vm-infer-mime-types' is non-nil." :type '(repeat (cons regexp string))) (custom-declare-variable 'vm-mime-attachment-auto-suffix-alist ''(("image/jpeg" . ".jpg") ("image/gif" . ".gif") ("image/png" . ".png") ("text/html" . ".html") ("audio/basic" . ".au") ("video/mpeg" . ".mpg") ("video/quicktime" . ".mov") ("application/postscript" . ".ps") ("application/pdf" . ".pdf") ("application/vnd.ms-excel" . ".xls") ("application/mac-binhex40" . ".hqx") ("application/pdf" . ".pdf") ("application/zip" . ".zip")) "\ *Alist used to select a filename suffix for MIME object temporary files. The list format is ((TYPE . SUFFIX) ...) TYPE is a string specifying a MIME top-level type or a type/subtype pair. If a top-level type is listed without a subtype, all subtypes of that type are matched. SUFFIX is a string specifying the suffix that should be used for the accompanying type. When a MIME object is displayed using an external viewer VM must first write the object to a temporary file. The external viewer opens and displays that file. Some viewers will not open a file unless the filename ends with some extention that it recognizes such as '.html' or '.jpg'. You can use this variable to map MIME 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 '(repeat (cons string string))) (custom-declare-variable 'vm-mime-max-message-size 'nil "\ *Largest MIME message that VM should send without fragmentation. The value should be an integer which specifies the size in bytes. 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)) (custom-declare-variable '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)) (custom-declare-variable 'vm-mime-attachment-source-directory 'nil "\ *Non-nil value is a default source directory for MIME attachments. When vm-mime-attach-file prompts you for the name of a file to attach, any relative pathnames will be relative to this directory." :type '(choice (const nil) directory)) (custom-declare-variable 'vm-infer-mime-types 'nil "\ *Non-nil value means that VM should try to infer a MIME object's type from its filename when deciding whether the object should be displayed and how it should be displayed. This will be done only for objects of type application/octet-stream. The object's filename 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) (custom-declare-variable 'vm-mime-avoid-folding-content-type 't "\ *Non-nil means don't send folded Content- headers in MIME messages. `Folded' headers are headers broken into multiple lines as specified in RFC822 for readability and to avoid excessive line lengths. At least one major UNIX vendor ships a version of sendmail that believes a folded Content-Type header is a syntax error, and returns any such message to sender. A typical error message from such a sendmail version is, 553 header syntax error, line \" charset=us-ascii\" If you see one of these, setting `vm-mime-avoid-folding-content-type' non-nil may let your mail get through." :type 'boolean) (custom-declare-variable 'vm-mime-base64-decoder-program '(vm-locate-executable-file "base64-decode") "\ *Non-nil value should be a string that names a MIME base64 decoder. If the program is in your executable search path, you need not specify a full pathname. The program should expect to read base64 data on its standard input and write the converted data to its standard output." :type '(choice string (const nil))) (custom-declare-variable 'vm-mime-base64-decoder-switches 'nil "\ *List of command line flags passed to the command named by `vm-mime-base64-decoder-program'." :type '(repeat string)) (custom-declare-variable 'vm-mime-base64-encoder-program '(vm-locate-executable-file "base64-encode") "\ *Non-nil value should be a string that names a MIME base64 encoder. If the program is in your executable search path, you need not specify a full pathname. The program should expect arbitrary data on its standard input and write base64 data to its standard output." :type '(choice string (const nil))) (custom-declare-variable 'vm-mime-base64-encoder-switches 'nil "\ *List of command line flags passed to the command named by `vm-mime-base64-encoder-program'." :type '(repeat string)) (custom-declare-variable 'vm-mime-qp-decoder-program '(vm-locate-executable-file "qp-decode") "\ *Non-nil value should be a string that names a MIME quoted-printable decoder. If the program is in your executable search path, you need not specify a full pathname. The program should expect to read quoted-printable data on its standard input and write the converted data to its standard output." :type '(choice string (const nil))) (custom-declare-variable 'vm-mime-qp-decoder-switches 'nil "\ *List of command line flags passed to the command named by `vm-mime-qp-decoder-program'." :type '(repeat string)) (custom-declare-variable 'vm-mime-qp-encoder-program '(vm-locate-executable-file "qp-encode") "\ *Non-nil value should be a string that names a MIME quoted-printable encoder. If the program is in your executable search path, you need not specify a full pathname. The program should expect arbitrary data on its standard input and write quoted-printable data to its standard output." :type '(choice string (const nil))) (custom-declare-variable 'vm-mime-qp-encoder-switches 'nil "\ *List of command line flags passed to the command named by `vm-mime-qp-encoder-program'." :type '(repeat string)) (custom-declare-variable 'vm-mime-uuencode-decoder-program '"uudecode" "\ *Non-nil value should be a string that names UUENCODE decoder. If the program is in your executable search path, you need not specify a full pathname. The program should expect to read uuencoded data on its standard input and write the converted data to the file specified in the ``begin'' line at the start of the data." :type '(choice string (const nil))) (custom-declare-variable 'vm-mime-uuencode-decoder-switches 'nil "\ *List of command line flags passed to the command named by `vm-mime-uuencode-decoder-program'." :type '(repeat string)) (custom-declare-variable '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) (custom-declare-variable 'vm-honor-page-delimiters 'nil "\ *Non-nil value causes VM to honor page delimiters (as specified by the Emacs page-delimiter variable) when scrolling through a message. This means that when VM encounters a page delimiter when displaying a message all the screen lines below that delimiter will be blank until you scroll past that delimiter. When you scroll past the delimiter the text lines between the delimiter and the next delimiter will be displayed. Scrolling backward past a page delimiter reverses this process. A nil value means ignore page-delimiters." :type 'boolean) (custom-declare-variable 'vm-page-continuation-glyph '"...press SPACE to see more..." "\ *Glyph VM uses to indicate there is more text on the next page. When VM honors page delimiters (see `vm-honor-page-delimiters') and when VM is previewing a message (see `vm-preview-lines') VM indicates that there is more text by placing the glyph specified by this variable at the end of the displayed text. Under XEmacs, the value of `vm-page-continuation-glyph' can be a string or a glyph object. Under FSF Emacs, `vm-page-continuation-glyph' must be a string." :type 'boolean) (defvar vm-default-window-configuration '((startup ((((top . 70) (left . 70))) (((- (0 0 80 10) (0 10 80 40)) ((nil summary) (nil message)) ((nil nil nil t) (nil nil nil nil)))))) (quitting ((((top . 70) (left . 70))) (((0 0 80 40) ((nil message)) ((nil nil nil t)))))) (reading-message ((((top . 70) (left . 70))) (((- (0 0 80 10) (0 10 80 40)) ((nil summary) (nil message)) ((nil nil nil t) (nil nil nil nil)))))) (composing-message ((((top . 70) (left . 70))) (((0 0 80 40) ((nil composition)) ((nil nil nil t)))))) (editing-message ((((top . 70) (left . 70))) (((0 0 80 40) ((nil edit)) ((nil nil nil t)))))) (vm-summarize ((((top . 70) (left . 70))) (((- (0 0 80 10) (0 10 80 40)) ((nil summary) (nil message)) ((nil nil nil t) (nil nil nil nil)))))) (vm-folders-summarize ((((top . 70) (left . 70))) (((- (0 0 80 10) (0 10 80 40)) ((nil folders-summary) (nil message)) ((nil nil nil t) (nil nil nil nil))))))) "\ Default window configuration for VM if the user does not specify one. If you want to completely turn off VM's window configuration feature, set this variable and `vm-window-configuration-file' to nil in your .vm file. If you want to have a different window configuration setup than this, you should not set this variable directly. Rather you should set the variable `vm-window-configuration-file' to point at a file, and use the command `vm-save-window-configuration' (normally bound to `WS') to modify part of this configuration to your liking. WARNING: Don't point `vm-window-configuration-file' at your .vm or .emacs file. Your window configuration file should start out as an empty or nonexistent file. VM will repeatedly overwrite this file as you update your window configuration settings, so anything else you put into this file will go away.") (custom-declare-variable 'vm-window-configuration-file '"~/.vm.windows" "\ *Non-nil value should be a string that tells VM where to load and save your window configuration settings. Your window configuration settings are loaded automatically the first time you run VM in an Emacs session, and tells VM how to set up windows depending on what you are doing inside VM. The commands `vm-save-window-configuration' (normally bound to `WS') and `vm-delete-window-configuration' (bound to `WD') let you update this information; see their documentation for more information. You cannot change your window configuration setup without giving `vm-window-configuration-file' a non-nil value. A nil value causes VM to use the default window setup specified by the value of `vm-default-window-configuration'. WARNING: Don't point `vm-window-configuration-file' at your .vm or .emacs file. Your window configuration file should start out as an empty or nonexistent file. VM will repeatedly overwrite this file as you update your window configuration settings, so anything else you put into this file will go away." :type 'file) (custom-declare-variable 'vm-confirm-quit '0 "\ *Value of t causes VM to always ask for confirmation before quitting a VM visit of a folder. A nil value means VM will ask only when messages will be lost unwittingly by quitting, i.e. not removed by intentional delete and expunge. A value that is not nil and not t causes VM to ask only when there are unsaved changes to message attributes, or when messages will be unwittingly lost." :type '(choice (const t) (const nil) (const if-something-will-be-lost))) (custom-declare-variable '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) (custom-declare-variable '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))) (custom-declare-variable 'vm-folder-file-precious-flag 't "\ *Value that `file-precious-flag' should have in visited folders. A non-nil value causes folders to be saved by writing to a temporary file and then replacing the folder with that file. A nil value causes folders to be saved by writing directly to the folder without the use of a temporary file." :type 'boolean) (custom-declare-variable 'vm-flush-interval '90 "\ *Non-nil value specifies how often VM flushes its cached internal data. A numeric value gives the number of seconds between flushes. A value of t means flush every time there is a change. Nil means don't do flushing until a message or folder is saved. Normally when a message attribute is changed. VM keeps the record of the change in its internal memory and doesn't insert the changed data into the folder buffer until a particular message or the whole folder is saved to disk. This makes normal Emacs auto-saving useless for VM folder buffers because the information you'd want to auto-save, i.e. the attribute changes are not in the buffer when it is auto-saved. Setting `vm-flush-interval' to a numeric value will cause the VM's internal memory caches to be periodically flushed to the folder buffer. This is done non-obtrusively, so that if you type something while flushing is occurring, the flush will abort cleanly and Emacs will respond to your keystrokes as usual." :type '(choice boolean integer)) (custom-declare-variable 'vm-visit-when-saving '0 "\ *Value determines whether VM will visit folders when saving messages. `Visiting' means that VM will read the folder into Emacs and append the message to the buffer instead of appending to the folder file directly. This behavior is ideal when folders are encrypted or compressed since appending plaintext directly to such folders is a ghastly mistake. A value of t means VM will always visit folders when saving. A nil value means VM will never visit folders before saving to them, and VM will generate an error if you attempt to save messages to a folder that is being visited. The latter restriction is necessary to insure that the buffer and disk copies of the folder being visited remain consistent. A value that is not nil and not t means VM will save to a folder's buffer if that folder is being visited, otherwise VM saves to the folder file itself." :type '(choice boolean (const if-already-visited))) (custom-declare-variable 'vm-auto-folder-alist 'nil "\ *Non-nil value should be an alist that VM will use to choose a default folder name when messages are saved. The alist should be of the form ((HEADER-NAME-REGEXP (REGEXP . FOLDER-NAME) ... ...)) where HEADER-NAME-REGEXP and REGEXP are strings, and FOLDER-NAME is a string or an s-expression that evaluates to a string. If any part of the contents of the message header whose name is matched by HEADER-NAME-REGEXP is matched by the regular expression REGEXP, VM will evaluate the corresponding FOLDER-NAME and use the result as the default when prompting for a folder to save the message in. If the resulting folder name is a relative pathname, then it will be rooted in the directory named by `vm-folder-directory', or the default-directory of the currently visited folder if `vm-folder-directory' is nil. When FOLDER-NAME is evaluated, the current buffer will contain only the contents of the header matched by HEADER-NAME-REGEXP. It is safe to modify this buffer. You can use the match data from any \\( ... \\) grouping constructs in REGEXP along with the function buffer-substring to build a folder name based on the header information. If the result of evaluating FOLDER-NAME is a list, then the list will be treated as another auto-folder-alist and will be descended recursively. Whether REGEXP is matched case sensitively depends on the value of the variable `vm-auto-folder-case-fold-search'. Header names are always matched case insensitively." :type '(repeat (cons regexp (repeat (cons regexp sexp))))) (custom-declare-variable '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) (custom-declare-variable 'vm-virtual-folder-alist 'nil "\ *Non-nil value should be a list of virtual folder definitions. A virtual folder is a mapping of messages from one or more real folders into what appears to be a single folder. A virtual folder definition specifies which real folders should be searched for prospective messages and what the inclusion criteria are. Each virtual folder definition should have the following form: (VIRTUAL-FOLDER-NAME ( (FOLDER-NAME ...) (SELECTOR [ARG ...]) ... ) ... ) VIRTUAL-FOLDER-NAME is the name of the virtual folder being defined. This is the name by which you and VM will refer to this folder. FOLDER-NAME should be the name of a real folder. There may be more than one FOLDER-NAME listed, the SELECTORs within that sublist will apply to them all. If FOLDER-NAME is a directory, VM will assume this to mean that all the folders in that directory should be searched. The SELECTOR is a Lisp symbol that tells VM how to decide whether a message from one of the folders specified by the FOLDER-NAMEs should be included in the virtual folder. Some SELECTORs require an argument ARG; unless otherwise noted ARG may be omitted. The recognized SELECTORs are: author - matches message if ARG matches the author; ARG should be a regular expression. author-or-recipient - matches message if ARG matches the author of the message or any of its recipients; ARG should be a regular expression. and - matches the message if all its argument selectors match the message. Example: (and (author \"Derek McGinty\") (new)) matches all new messages from Derek McGinty. `and' takes any number of arguments. any - matches any message. deleted - matches message if it is flagged for deletion. edited - matches message if it has been edited. filed - matches message if it has been saved with its headers. forwarded - matches message if it has been forwarded using a variant of `vm-forward-message' or `vm-send-digest'. header - matches message if ARG matches any part of the header portion of the message; ARG should be a regular expression. header-or-text - matches message if ARG matches any part of the headers or the text portion of the message; ARG should be a regular expression. label - matches message if message has a label named ARG. less-chars-than - matches message if message has less than ARG characters. ARG should be a number. less-lines-than - matches message if message has less than ARG lines. ARG should be a number. more-chars-than - matches message if message has more than ARG characters. ARG should be a number. more-lines-than - matches message if message has more than ARG lines. ARG should be a number. marked - matches message if it is marked, as with `vm-mark-message'. new - matches message if it is new. not - matches message only if its selector argument does NOT match the message. Example: (not (deleted)) matches messages that are not deleted. or - matches the message if any of its argument selectors match the message. Example: (or (author \"Dave Weckl\") (subject \"drum\")) matches messages from Dave Weckl or messages with the word \"drum\" in their Subject header. `or' takes any number of arguments. read - matches message if it is neither new nor unread. recent - matches message if it is new. recipient - matches message if ARG matches any part of the recipient list of the message. ARG should be a regular expression. redistributed - matches message if it has been redistributed using `vm-resend-message'. replied - matches message if it has been replied to. sent-after - matches message if it was sent after the date ARG. A fully specified date looks like this: \"31 Dec 1999 23:59:59 GMT\" although the parts can appear in any order. You can leave out any part and it will default to the current date's value for that part, with the exception of the hh:mm:ss part which defaults to midnight. sent-before - matches message if it was sent before the date ARG. A fully specified date looks like this: \"31 Dec 1999 23:59:59 GMT\" although the parts can appear in any order. You can leave out any part and it will default to the current date's value for that part, with the exception of the hh:mm:ss part which defaults to midnight. subject - matches message if ARG matches any part of the message's subject; ARG should be a regular expression. text - matches message if ARG matches any part of the text portion of the message; ARG should be a regular expression. unanswered - matches message if it has not been replied to. Same as the `unreplied' selector. undeleted - matches message if it has not been deleted. unedited - matches message if it has not been edited. unfiled - matches message if it has not been saved with its headers. unforwarded - matches message if it has not been forwarded using `vm-forward-message' or `vm-send-digest' or one of their variants. unread - matches message if it is not new and hasn't been read. unseen - matches message if it is not new and hasn't been read. Same as `unread' selector. unredistributed - matches message if it has not been redistributed using `vm-resend-message'. unreplied - matches message if it has not been replied to. virtual-folder-member - matches message if the message is already a member of some virtual folder currently being visited. written - matches message if it has been saved without its headers. " :type 'sexp) (custom-declare-variable 'vm-virtual-mirror 't "\ *Non-nil value causes the attributes of messages in virtual folders to mirror the changes in the attributes of the underlying real messages. Similarly, changes in the attributes of virtual messages will change the attributes of the underlying real messages. A nil value causes virtual messages to have their own distinct set of attributes, apart from the underlying real message. This variable automatically becomes buffer-local when set in any fashion. You should set this variable only in your .vm or .emacs file. Use setq-default. Once VM has been started, you should not 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) (custom-declare-variable 'vm-folder-read-only 'nil "\ *Non-nil value causes a folder to be considered unmodifiable by VM. Commands that modify message attributes or messages themselves are disallowed. Commands that add or remove messages from the folder are disallowed. Commands that scan or allow the reading of messages are allowed but the `new' and `unread' message flags are not changed by them. This variable automatically becomes buffer-local when set in any fashion. You should set this variable only in your .vm or .emacs file. Use setq-default. Once VM has been started, you should not 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) (custom-declare-variable 'vm-included-text-prefix '" > " "\ *String used to prefix included text in replies." :type 'string) (custom-declare-variable 'vm-keep-sent-messages '1 "\ *Non-nil value N causes VM to keep the last N messages sent from within VM. `Keep' means that VM will not kill the composition buffer after you send a message with C-c C-c (`vm-mail-send-and-exit'). A value of 0 or nil causes VM never to keep such buffers. A value of t causes VM never to kill such buffers. 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 boolean integer)) (custom-declare-variable '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) (custom-declare-variable 'vm-mail-header-from 'nil "\ *Non-nil value should be a string that will be appear as the body of the From header in outbound mail messages. A nil value means don't insert a From header. This variable also controls the inclusion and format of the Resent-From header, when resending a message with `vm-resend-message'." :type '(choice (const nil) string)) (custom-declare-variable 'vm-mail-header-insert-date 't "\ *Non-nil value causes VM to insert a Date header into a message when it is sent. If the message has a Date header, it will be removed before the new one is inserted. If the message being sent is a resent message (i.e. has a Resent- recipient header) then the Resent-Date header will be removed/inserted instead. This is useful if you set mail-archive-file-name, because your archived message will contain a Date header. A nil value means don't insert a Date header." :type 'boolean) (custom-declare-variable 'vm-mail-header-insert-message-id 't "\ *Non-nil value causes VM to insert a Message-ID header into a message when it is sent. If the message has a Message-ID header, it will be removed before the new one is inserted. If the message being sent is a resent message (i.e. has a Resent- recipient header) a Resent-Message-ID header will be removed/inserted instead. This is useful if you set mail-archive-file-name, because your archived messages will contain a Message-ID header, which may be useful later for threading messages. A nil value means don't insert a Message-ID header." :type 'boolean) (custom-declare-variable '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)) (custom-declare-variable 'vm-reply-ignored-addresses 'nil "\ *Non-nil value should be a list of regular expressions that match addresses that VM should automatically remove from the recipient headers of replies. These addresses are removed from the headers before you are placed in the message composition buffer. So if you see an address in the header you don't want you should remove it yourself. Case is ignored when matching the addresses." :type '(repeat regexp)) (custom-declare-variable 'vm-reply-ignored-reply-tos 'nil "\ *Non-nil value should be a list of regular expressions that match addresses that, if VM finds in a message's Reply-To header, VM should ignore the Reply-To header and not use it for replies. VM will use the From header instead. Case is ignored when matching the addresses. This variable exists solely to provide an escape chute from mailing lists that add a Reply-To: mailing list header, thereby leaving no way to reply to just the author of a message." :type '(repeat regexp)) (custom-declare-variable 'vm-in-reply-to-format '"%i" "\ *String which specifies the format of the contents of the In-Reply-To header that is generated for replies. See the documentation for the variable `vm-summary-format' for information on what this string may 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)) (custom-declare-variable 'vm-included-text-attribution-format '"%F writes:\n" "\ *String which specifies the format of the attribution that precedes the included text from a message in a reply. See the documentation for the 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)) (custom-declare-variable 'vm-included-text-headers 'nil "\ *List of headers that should be retained in a message included in a reply. These should be listed in the order you wish them to appear in the included text. Regular expressions are allowed. There's no need to anchor patterns with \"^\", as searches always start at the beginning of a line. Put a colon at the end of patterns to get exact matches. (E.g. \"Date\" matches \"Date\" and \"Date-Sent\".) Header names are always matched case insensitively. If the value of `vm-included-text-discard-header-regexp' is nil, the headers matched by `vm-included-text-headers' are the only headers that will be retained. If `vm-included-text-discard-header-regexp' is non-nil, then only headers matched by that variable will be omitted; all others will be included. `vm-included-text-headers' determines the header order in that case, with headers not matching any in the `vm-included-text-headers' list appearing last in the header section of the included text." :type '(repeat regexp)) (custom-declare-variable 'vm-included-text-discard-header-regexp 'nil "\ *Non-nil value should be a regular expression header that tells what headers should not be retained in a message included in a reply. This variable along with `vm-included-text-headers' determines which headers are retained. If the value of `vm-included-text-discard-header-regexp' is nil, the headers matched by `vm-included-text-headers' are the only headers that will be retained. If `vm-included-text-discard-header-regexp' is non-nil, then only headers matched by this variable will not be retained; all others will be included. `vm-included-text-headers' determines the header order in that case, with headers not matching any in the `vm-included-text-headers' list appearing last in the header section of the included text." :type 'regexp) (custom-declare-variable 'vm-forwarding-subject-format '"forwarded message from %F" "\ *String which specifies the format of the contents of the Subject header that is generated for a forwarded message. See the documentation for the variable `vm-summary-format' for information on what this string may contain. The format should *not* end with nor contain a newline. Nil means leave the Subject header empty when forwarding." :type 'string) (custom-declare-variable 'vm-forwarded-headers 'nil "\ *List of headers that should be forwarded by `vm-forward-message'. These should be listed in the order you wish them to appear in the forwarded message. Regular expressions are allowed. There's no need to anchor patterns with \"^\", as searches always start at the beginning of a line. Put a colon at the end of patterns to get exact matches. (E.g. \"Date\" matches \"Date\" and \"Date-Sent\".) Header names are always matched case insensitively. If the value of `vm-unforwarded-header-regexp' is nil, the headers matched by `vm-forwarded-headers' are the only headers that will be forwarded. If `vm-unforwarded-header-regexp' is non-nil, then only headers matched by that variable will be omitted; all others will be forwarded. `vm-forwarded-headers' determines the forwarding order in that case, with headers not matching any in the `vm-forwarded-headers' list appearing last in the header section of the forwarded message." :type '(repeat regexp)) (custom-declare-variable 'vm-unforwarded-header-regexp '"only-drop-this-header" "\ *Non-nil value should be a regular expression header that tells what headers should not be forwarded by `vm-forward-message'. This variable along with `vm-forwarded-headers' determines which headers are forwarded. If the value of `vm-unforwarded-header-regexp' is nil, the headers matched by `vm-forwarded-headers' are the only headers that will be forwarded. If `vm-unforwarded-header-regexp' is non-nil, then only headers matched by this variable will not be forwarded; all others will be forwarded. `vm-forwarded-headers' determines the forwarding order in that case, with headers not matching any in the `vm-forwarded-headers' list appearing last in the header section of the forwarded message." :type 'regexp) (custom-declare-variable 'vm-forwarding-digest-type '"mime" "\ *Non-nil value should be a string that specifies the type of message encapsulation format to use when forwarding a message. Legal values of this variable are: \"rfc934\" \"rfc1153\" \"mime\" nil 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"))) (custom-declare-variable 'vm-mime-forward-local-external-bodies 'nil "\ *Non-nil value means forward messages that contain message/external-body parts that use the `local-file' access method. A nil value means copy the externally referenced objects into the message before forwarding. This copying is only done for objects accessed with the `local-file' access method. Objects referenced with other method are not copied. Messages that use the mesage/external-body type contain a reference to an object (image, audio, etc.) instead of the object itself. So instead of the data that makes up an image, there might be a reference to a local file that contains the image. If the recipient doesn't have access to your local filesystems then they will not be able to use the message/external-body reference. That is why the default value of this variable is nil, which forces such referneces to be converted to objects present in the message itself.") (custom-declare-variable '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) (custom-declare-variable 'vm-digest-preamble-format '"\"%s\" (%F)" "\ *String which specifies the format of the preamble lines generated by `vm-send-digest' when it is invoked with a prefix argument. One line will be generated for each message put into the digest. See the documentation for the variable `vm-summary-format' for information on what this string may contain. The format should *not* end with nor contain a newline." :type 'string) (custom-declare-variable '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) (custom-declare-variable 'vm-digest-identifier-header-format '"X-Digest: %s\n" "\ *Header to insert into messages burst from a digest. Value should be a format string of the same type as `vm-summary-format' that describes a header to be inserted into each message burst from a digest. The format string must end with a newline." :type 'string) (custom-declare-variable 'vm-digest-burst-type '"guess" "\ *Value specifies the default digest type offered by `vm-burst-digest' when it asks you what type of digest you want to unpack. Allowed values of this variable are: \"rfc934\" \"rfc1153\" \"mime\" \"guess\" rfc1153 digests have a preamble, followed by a line of exactly 70 dashes, with digested messages separated by lines of exactly 30 dashes. rfc934 digests separate messages on any line that begins with a few dashes, but doesn't require lines with only dashes or lines with a specific number of dashes. In the text of the message, any line beginning with dashes is textually modified to be preceded by a dash and a space to prevent confusion with message separators. MIME digests use whatever boundary that is specified by the boundary parameter in the Content-Type header of the digest. If the value is \"guess\", and you take the default 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"))) (custom-declare-variable 'vm-digest-send-type '"mime" "\ *String that specifies the type of digest `vm-send-digest' will use. Legal values of this variable are: \"rfc934\" \"rfc1153\" \"mime\" " :type '(choice (const "rfc934") (const "rfc1153") (const "mime"))) (custom-declare-variable 'vm-rfc934-digest-headers ''("Resent-" "From:" "Sender:" "To:" "Cc:" "Subject:" "Date:" "Message-ID:" "Keywords:") "\ *List of headers that should be appear in RFC 934 digests created by VM. These should be listed in the order you wish them to appear in the digest. Regular expressions are allowed. There's no need to anchor patterns with \"^\", as searches always start at the beginning of a line. Put a colon at the end of patterns to get exact matches. (E.g. \"Date\" matches \"Date\" and \"Date-Sent\".) Header names are always matched case insensitively. If the value of `vm-rfc934-digest-discard-header-regexp' is nil, the headers matched by `vm-rfc934-digest-headers' are the only headers that will be kept. If `vm-rfc934-digest-discard-header-regexp' is non-nil, then only headers matched by that variable will be discarded; all others will be kept. `vm-rfc934-digest-headers' determines the order of appearance in that case, with headers not matching any in the `vm-rfc934-digest-headers' list appearing last in the headers of the digestified messages." :type '(repeat regexp)) (custom-declare-variable 'vm-rfc934-digest-discard-header-regexp 'nil "\ *Non-nil value should be a regular expression header that tells what headers should not appear in RFC 934 digests created by VM. This variable along with `vm-rfc934-digest-headers' determines which headers are kept and which are discarded. If the value of `vm-rfc934-digest-discard-header-regexp' is nil, the headers matched by `vm-rfc934-digest-headers' are the only headers that will be kept. If `vm-rfc934-digest-discard-header-regexp' is non-nil, then only headers matched by this variable will be discarded; all others will be kept. `vm-rfc934-digest-headers' determines the order of appearance in that case, with headers not matching any in the `vm-rfc934-digest-headers' list appearing last in the headers of the digestified messages." :type 'regexp) (custom-declare-variable 'vm-rfc1153-digest-headers ''("Resent-" "Date:" "From:" "Sender:" "To:" "Cc:" "Subject:" "Message-ID:" "Keywords:") "\ *List of headers that should be appear in RFC 1153 digests created by VM. These should be listed in the order you wish them to appear in the digest. Regular expressions are allowed. There is no need to anchor patterns with \"^\", as searches always start at the beginning of a line. Put a colon at the end of patterns to get exact matches. (E.g. \"Date\" matches \"Date\" and \"Date-Sent\".) Header names are always matched case insensitively. If the value of `vm-rfc1153-digest-discard-header-regexp' is nil, the headers matched by `vm-rfc1153-digest-headers' are the only headers that will be kept. If `vm-rfc1153-digest-discard-header-regexp' is non-nil, then only headers matched by that variable will be discarded; all others will be kept. `vm-rfc1153-digest-headers' determines the order of appearance in that case, with headers not matching any in the `vm-rfc1153-digest-headers' list appearing last in the headers of the digestified messages." :type '(repeat regexp)) (custom-declare-variable 'vm-rfc1153-digest-discard-header-regexp '"\\(X400-\\)?Received:" "\ *Non-nil value should be a regular expression header that tells what headers should not appear in RFC 1153 digests created by VM. This variable along with `vm-rfc1153-digest-headers' determines which headers are kept and which headers are discarded. If the value of `vm-rfc1153-digest-discard-header-regexp' is nil, the headers matched by `vm-rfc1153-digest-headers' are the only headers that will be kept. If `vm-rfc1153-digest-discard-header-regexp' is non-nil, then only headers matched by this variable will be discarded; all others will be kept. `vm-rfc1153-digest-headers' determines the order of appearance in that case, with headers not matching any in the `vm-rfc1153-digest-headers' list appearing last in the headers of the digestified messages." :type 'regexp) (custom-declare-variable 'vm-mime-digest-headers ''("Resent-" "From:" "Sender:" "To:" "Cc:" "Subject:" "Date:" "Message-ID:" "Keywords:" "MIME-Version:" "Content-") "\ *List of headers that should be appear in MIME digests created by VM. These should be listed in the order you wish them to appear in the messages in the digest. Regular expressions are allowed. There's no need to anchor patterns with \"^\", as searches always start at the beginning of a line. Put a colon at the end of patterns to get exact matches. (E.g. \"Date\" matches \"Date\" and \"Date-Sent\".) Header names are always matched case insensitively. If the value of `vm-mime-digest-discard-header-regexp' is nil, the headers matched by `vm-mime-digest-headers' are the only headers that will be kept. If `vm-mime-digest-discard-header-regexp' is non-nil, then only headers matched by that variable will be discarded; all others will be kept. `vm-mime-digest-headers' determines the order of appearance in that case, with headers not matching any in the `vm-mime-digest-headers' list appearing last in the headers of the digestified messages." :type '(repeat regexp)) (custom-declare-variable 'vm-mime-digest-discard-header-regexp 'nil "\ *Non-nil value should be a regular expression header that tells which headers should not appear in MIME digests created by VM. This variable along with `vm-mime-digest-headers' determines which headers are kept and which are discarded. If the value of `vm-mime-digest-discard-header-regexp' is nil, the headers matched by `vm-mime-digest-headers' are the only headers that will be kept. If `vm-mime-digest-discard-header-regexp' is non-nil, then only headers matched by this variable will be discarded; all others will be kept. `vm-mime-digest-headers' determines the order of appearance in that case, with headers not matching any in the `vm-mime-digest-headers' list appearing last in the headers of the digestified messages." :type 'regexp) (custom-declare-variable 'vm-resend-bounced-headers ''("MIME-Version:" "Content-" "From:" "Sender:" "Reply-To:" "To:" "Cc:" "Subject:" "Newsgroups:" "In-Reply-To:" "References:" "Keywords:" "X-") "\ *List of headers that should be appear in messages resent with `vm-resend-bounced-message'. These should be listed in the order you wish them to appear in the message. Regular expressions are allowed. There is no need to anchor patterns with \"^\", as searches always start at the beginning of a line. Put a colon at the end of patterns to get exact matches. (E.g. \"Date\" matches \"Date\" and \"Date-Sent\".) Header names are always matched case insensitively. If the value of `vm-resend-bounced-discard-header-regexp' is nil, the headers matched by `vm-resend-bounced-headers' are the only headers that will be kept. If `vm-resend-bounced-discard-header-regexp' is non-nil, then only headers matched by that variable will be discarded; all others will be kept. `vm-resend-bounced-headers' determines the order of appearance in that case, with headers not matching any in the `vm-resend-bounced-headers' list appearing last in the headers of the message." :type '(repeat regexp)) (custom-declare-variable 'vm-resend-bounced-discard-header-regexp 'nil "\ *Non-nil value should be a regular expression that tells what headers should not appear in a resent bounced message. This variable along with `vm-resend-bounced-headers' determines which headers are kept and which headers are discarded. If the value of `vm-resend-bounced-discard-header-regexp' is nil, the headers matched by `vm-resend-bounced-headers' are the only headers that will be kept. If `vm-resend-bounced-discard-header-regexp' is non-nil, then only headers matched by this variable will be discarded; all others will be kept. `vm-resend-bounced-headers' determines the order of appearance in that case, with headers not matching any in the `vm-resend-bounced-headers' list appearing last in the headers of the message." :type 'regexp) (custom-declare-variable 'vm-resend-headers 'nil "\ *List of headers that should be appear in messages resent with `vm-resend-message'. These should be listed in the order you wish them to appear in the message. Regular expressions are allowed. There is no need to anchor patterns with \"^\", as searches always start at the beginning of a line. Put a colon at the end of patterns to get exact matches. (E.g. \"Date\" matches \"Date\" and \"Date-Sent\".) Header names are always matched case insensitively. If the value of `vm-resend-discard-header-regexp' is nil, the headers matched by `vm-resend-headers' are the only headers that will be kept. If `vm-resend-discard-header-regexp' is non-nil, then only headers matched by that variable will be discarded; all others will be kept. `vm-resend-headers' determines the order of appearance in that case, with headers not matching any in the `vm-resend-headers' list appearing last in the headers of the message." :type '(repeat regexp)) (custom-declare-variable 'vm-resend-discard-header-regexp '"\\(\\(X400-\\)?Received:\\|Resent-\\)" "\ *Non-nil value should be a regular expression that tells what headers should not appear in a resent message. This variable along with `vm-resend-headers' determines which headers are kept and which headers are discarded. If the value of `vm-resend-discard-header-regexp' is nil, the headers matched by `vm-resend-headers' are the only headers that will be kept. If `vm-resend-discard-header-regexp' is non-nil, then only headers matched by this variable will be discarded; all others will be kept. `vm-resend-headers' determines the order of appearance in that case, with headers not matching any in the `vm-resend-headers' list appearing last in the headers of the message." :type 'regexp) (custom-declare-variable 'vm-summary-format '"%n %*%a %-17.17F %-3.3m %2d %4l/%-5c %I\"%s\"\n" "\ *String which specifies the message summary line format. The string may contain the printf-like `%' conversion specifiers which substitute information about the message into the final summary line. Recognized specifiers are: a - attribute indicators (always four characters wide) The first char is `D', `N', `U' or ` ' for deleted, new, unread and read messages respectively. The second char is `F', `W' or ` ' for filed (saved) or written messages. The third char is `R', `Z' or ` ' for messages replied to, and forwarded messages. The fourth char is `E' if the message has been edited, ` ' otherwise. A - longer version of attributes indicators (seven characters wide) The first char is `D', `N', `U' or ` ' for deleted, new, unread and read messages respectively. The second is `r' or ` ', for message replied to. The third is `z' or ` ', for messages forwarded. The fourth is `b' or ` ', for messages redistributed. The fifth is `f' or ` ', for messages filed. The sixth is `w' or ` ', for messages written. The seventh is `e' or ` ', for messages that have been edited. c - number of characters in message (ignoring headers) d - numeric day of month message sent f - author's address F - author's full name (same as f if full name not found) h - hour:min:sec message sent H - hour:min message sent i - message ID I - thread indentation l - number of lines in message (ignoring headers) L - labels (as a comma list) m - month message sent M - numeric month message sent (January = 1) n - message number s - message subject t - addresses of the recipients of the message, in a comma-separated list T - full names of the recipients of the message, in a comma-separated list If a full name cannot be found, the corresponding address is used instead. U - user defined specifier. The next character in the format string should be a letter. VM will call the function vm-summary-function- (e.g. vm-summary-function-A for \"%UA\") in the folder buffer with the message being summarized bracketed by (point-min) and (point-max). The function will be passed a message struct as an argument. The function should return a string, which VM will insert into the summary as it would for information from any other summary specifier. w - day of the week message sent y - year message sent z - timezone of date when the message was sent * - `*' if the message is marked, ` ' otherwise ( - starts a group, terminated by %). Useful for specifying the field width and precision for the concatentation of group of format specifiers. Example: \"%.35(%I%s%)\" specifies a maximum display width of 35 characters for the concatenation of the thread indentation and the subject. ) - ends a group. Use %% to get a single %. A numeric field width may be given between the `%' and the specifier; this causes right justification of the substituted string. A negative field width causes left justification. The field width may be followed by a `.' and a number specifying the maximum allowed length of the substituted string. If the string is longer than this value the right end of the string is truncated. If the value is negative, the string is truncated on the left instead of the right. The summary format need not be one line per message but it must end with a newline, otherwise the message pointer will not be displayed correctly in the summary window." :type 'string) (custom-declare-variable 'vm-summary-arrow '"->" "\ *String that is displayed to the left of the summary of the message VM consider to be the current message. The value takes effect when the summary buffer is created. Changing this variable's value has no effect on existing summary buffers." :type 'string) (custom-declare-variable '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) (custom-declare-variable 'vm-mouse-track-summary 't "\ *Non-nil value means highlight summary lines as the mouse passes over them." :type 'boolean) (custom-declare-variable 'vm-summary-show-threads 'nil "\ *Non-nil value means VM should display and maintain message thread trees in the summary buffer. This means that messages with a common ancestor will be displayed contiguously in the summary. (If you have `vm-move-messages-physically' set non-nil the folder itself will be reordered to match the thread ordering.) If you use the `%I' summary format specifier in your `vm-summary-format', indentation will be provided as described in the documentation for `vm-summary-thread-indent-level' (which see). A nil value means don't display thread information. The `%I' specifier does nothing in the summary format. This variable automatically becomes buffer-local when set in any fashion. You should set this variable only in your .vm or .emacs file. Use setq-default. Once VM has been started, you should not 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) (custom-declare-variable 'vm-summary-thread-indent-level '2 "\ *Value should be a number that specifies how much indentation the '%I' summary format specifier should provide per thread level. A message's `thread level' refers to the number of direct ancestors from the message to the oldest ancestor the message has that is in the current folder. For example, the first message of a thread is generally a message about a new topic, e.g. a message that is not a reply to some other message. Therefore it has no ancestor and would cause %I to generate no indentation. A reply to this message will be indented by the value 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) (custom-declare-variable 'vm-thread-using-subject 't "\ *Non-nil value causes VM to use the Subject header to thread messages. Messages with the same subject will be grouped together. A nil value means VM will disregard the Subject header when threading messages." :type 'boolean) (custom-declare-variable 'vm-summary-uninteresting-senders 'nil "\ *Non-nil value should be a regular expression that matches addresses that you don't consider interesting enough to appear in the summary. When such senders would be displayed by the %F or %f summary format specifiers VM will substitute the value of `vm-summary-uninteresting-senders-arrow' (default \"To: \") followed by what would be shown by the %T and %t specifiers respectively." :type '(choice (const nil) regexp)) (custom-declare-variable '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) (custom-declare-variable 'vm-auto-center-summary '0 "\ *Value controls whether VM will keep the summary arrow vertically centered within the summary window. A value of t causes VM to always keep arrow centered. A value of nil means VM will never bother centering 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))) (custom-declare-variable 'vm-subject-ignored-prefix '"^\\(re: *\\)+" "\ *Non-nil value should be a regular expression that matches strings at the beginning of the Subject header that you want VM to ignore when threading, sorting, marking, and killing messages by subject. Matches are done case-insensitively." :type 'regexp) (custom-declare-variable 'vm-subject-ignored-suffix '"\\( (fwd)\\| \\)+$" "\ *Non-nil value should be a regular expression that matches strings at the end of the Subject header that you want VM to ignore when threading, sorting, marking and killing messages by subject. Matches are done case-insensitively." :type 'regexp) (custom-declare-variable 'vm-subject-significant-chars 'nil "\ *Number of characters in the normalized message subject considered significant in message threading and sorting. The normalized subject is the contents of the Subject header after ignored prefixes and suffixes have been removed and after consecutive whitespace has been collapsed into single spaces. The first `vm-subject-significant-chars' will be considered significant. Characters beyond this point in the subject string will be ignored. A nil value for this variable means all characters in the message subject are significant." :type '(choice (const nil) integer)) (custom-declare-variable '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) (custom-declare-variable 'vm-folders-summary-format '" %12f %4t total, %n new, %u unread, %s spooled\n" "\ *String that specifies the folders summary format. The string may contain the printf-like `%' conversion specifiers which substitute information about the folder into the final summary line. Recognized specifiers are: d - the number of deleted messages in the folder f - the name of the folder without the directory part n - the number of new messages in the folder t - the total number of messages in the folder u - the number of old but still unread messages in the folder ( - starts a group, terminated by %). Useful for specifying the field width and precision for the concatentation of group of format specifiers. Example: \"%.35(%d, %t, %f%)\" specifies a maximum display width of 35 characters for the concatenation of the content description, content type and suggested file name. ) - ends a group. Use %% to get a single %. A numeric field width may be given between the `%' and the specifier; this causes right justification of the substituted string. A negative field width causes left justification. The field width may be followed by a `.' and a number specifying the maximum allowed length of the substituted string. If the string is longer than this value the right end of the string is truncated. If the value is negative, the string is truncated on the left instead of the right. The summary format need not be one line per folder, but it should end with a newline." :type 'string) (custom-declare-variable '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 '(repeat directory)) (custom-declare-variable 'vm-mutable-windows 'pop-up-windows "\ *This variable's value controls VM's window usage. A non-nil value gives VM free run of the Emacs display; it will commandeer the entire screen for its purposes. A value of nil restricts VM's window usage to the window from which it was invoked. VM will not create, delete, or use any other windows, nor will it resize its own window." :type 'boolean) (custom-declare-variable 'vm-mutable-frames 't "\ *Non-nil value means VM is allowed to create and destroy frames to display and undisplay buffers. Whether VM actually does so depends on the value of the variables with names prefixed by ``vm-frame-per-''. VM can create a frame to display a buffer, and delete frame to undisplay a buffer. A nil value means VM should not create or delete frames. This variable does not apply to the VM commands whose names end in -other-frame, which always create a new frame." :type 'boolean) (custom-declare-variable 'vm-raise-frame-at-startup 't "\ *Specifies whether VM should raise its frame at startup. A value of nil means never raise the frame. A value of t means always raise the frame. Other values are reserved for future use." :type 'boolean) (custom-declare-variable 'vm-frame-per-folder 't "\ *Non-nil value causes the folder visiting commands to visit in a new frame. Nil means the commands will use the current frame. This variable does not apply to the VM commands whose names end in -other-frame, which always create a new frame. This variable has no meaning if you're not running under an Emacs capable of displaying multiple real or virtual frames. Note that Emacs supports multiple virtual frames on dumb terminals, and VM will use them." :type 'boolean) (custom-declare-variable 'vm-frame-per-summary 'nil "\ *Non-nil value causes VM to display the folder summary in its own frame. Nil means the `vm-summarize' command will use the current frame. This variable does not apply to `vm-summarize-other-frame', which always create a new frame. This variable has no meaning if you're not running under an Emacs capable of displaying multiple real or virtual frames. Note that Emacs supports multiple virtual frames on dumb terminals, and VM will use them." :type 'boolean) (custom-declare-variable 'vm-frame-per-folders-summary 'nil "\ *Non-nil value causes VM to display the 'all folders' summary in its own frame. Nil means the `vm-folders-summarize' command will use the current frame. This variable has no meaning if you're not running under an Emacs capable of displaying multiple real or virtual frames. Note that Emacs supports multiple virtual frames on dumb terminals, and VM will use them." :type 'boolean) (custom-declare-variable 'vm-frame-per-composition 't "\ *Non-nil value causes the mail composition commands to open a new frame. Nil means the commands will use the current frame. This variable does not apply to the VM commands whose names end in -other-frame, which always create a new frame. This variable has no meaning if you're not running under an Emacs capable of displaying multiple real or virtual frames. Note that Emacs supports multiple virtual frames on dumb terminals, and VM will use them." :type 'boolean) (custom-declare-variable 'vm-frame-per-edit 't "\ *Non-nil value causes `vm-edit-message' to open a new frame. Nil means the `vm-edit-message' will use the current frame. This variable does not apply to `vm-edit-message-other-frame', which always create a new frame. This variable has no meaning if you're not running under an Emacs capable of displaying multiple real or virtual frames. Note that Emacs support multiple virtual frames on dumb terminals, and VM will use them." :type 'boolean) (custom-declare-variable 'vm-frame-per-help 'nil "\ *Non-nil value causes VM to open a new frame to display help buffers. Nil means the VM will use the current frame. This variable has no meaning if you're not running under an Emacs capable of displaying multiple real or virtual frames. Note that Emacs supports multiple virtual frames on dumb terminals, and VM will use them." :type 'boolean) (custom-declare-variable 'vm-frame-per-completion 't "\ *Non-nil value causes VM to open a new frame on mouse initiated completing reads. A mouse initiated completing read occurs when you invoke a VM command using the mouse, either with a menu or a toolbar button. That command must then prompt you for information, and there must be a limited set of valid responses. If these conditions are met and `vm-frame-per-completion''s value is non-nil, VM will create a new frame containing a list of responses that you can select with the mouse. A nil value means the current frame will be used to display the list of choices. This variable has no meaning if you're not running Emacs native under X Windows or some other window system that allows multiple real Emacs frames. Note that Emacs supports virtual frames under ttys but VM will not use these to display completion information." :type 'boolean) (custom-declare-variable 'vm-frame-parameter-alist 'nil "\ *Non-nil value is an alist of types and lists of frame parameters. This list tells VM what frame parameters to associate with each new frame it creates of a specific type. The alist should be of this form ((SYMBOL PARAMLIST) (SYMBOL2 PARAMLIST2) ...) SYMBOL must be one of ``completion'', ``composition'', ``edit'', ``folder'', ``primary-folder'' or ``summary''. It specifies the type of frame that the following PARAMLIST applies to. ``completion'' specifies parameters for frames that display lists of choices generated by a mouse-initiated completing read. (See `vm-frame-per-completion'.) ``composition'' specifies parameters for mail composition frames. ``edit'' specifies parameters for message edit frames (e.g. created by `vm-edit-message-other-frame') ``folder'' specifies parameters for frames created by `vm' and the ``vm-visit-'' commands. ``folders-summary'' specifies parameters for frames created by the ``vm-folder-summarize'' command. ``primary-folder'' specifies parameters for the frame created by running `vm' without any arguments. ``summary'' specifies parameters for frames that display a summary buffer (e.g. created by `vm-summarize-other-frame') PARAMLIST is a list of pairs as described in the documentation for the function `make-frame'." :type '(repeat (cons (choice (const completion) (const composition) (const edit) (const folder) (const folders-summary) (const primary-folder) (const summary)) (repeat (cons symbol sexp))))) (custom-declare-variable '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) (custom-declare-variable 'vm-image-directory '(if (fboundp 'locate-data-directory) (locate-data-directory "vm") (expand-file-name (concat data-directory "vm/"))) "\ *Value specifies the directory where VM should find its artwork." :type 'directory) (custom-declare-variable 'vm-use-toolbar ''(next previous delete/undelete autofile file reply compose print visit quit nil help) "\ *Non-nil value causes VM to provide a toolbar interface. Value should be a list of symbols and integers that will determine which toolbar buttons will appear and in what order. Valid symbol value within the list are: autofile compose delete/undelete file getmail help mime next previous print quit reply visit nil If nil appears in the list, it should appear exactly once. All buttons after nil in the list will be displayed flushright in top/bottom toolbars and flushbottom in left/right toolbars. If a positive integer N appears in the list, a blank space will appear in the toolbar with a width of N pixels for top/bottom toolbars, and a height of N for left/right toolbars. This variable only has meaning under XEmacs 19.12 and beyond, and under Emacs 21 and beyond. See also `vm-toolbar-orientation' to control where the toolbar is placed." :type '(repeat (choice integer (const autofile) (const compose) (const delete/undelete) (const file) (const getmail) (const help) (const mime) (const next) (const previous) (const print) (const quit) (const reply) (const visit) (const nil)))) (custom-declare-variable 'vm-toolbar-orientation ''left "\ *Value is a symbol that specifies where the VM toolbar is located. Legal values are `left', `right' `top' and `bottom'. Any other value will be interpreted as `top'. 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 '(choice (const left) (const right) (const top) (const bottom))) (custom-declare-variable 'vm-toolbar-pixmap-directory 'vm-image-directory "\ *Value specifies the directory VM should find its toolbar pixmaps." :type 'directory) (custom-declare-variable 'vm-toolbar 'nil "\ *Non-nil value should be a list of toolbar button descriptors. See the documentation for the variable default-toolbar for a definition of what a toolbar button descriptor is. If `vm-toolbar' is set non-nil VM will use its value as a toolbar instantiator instead of the usual behavior of building a button list based on the value of `vm-use-toolbar'. `vm-use-toolbar' still must be set non-nil for a toolbar to appear, however. Consider this variable experimental; it may not be supported forever." :type 'sexp) (custom-declare-variable 'vm-use-menus '(nconc (list 'folder 'motion 'send 'mark 'label 'sort 'virtual) (cond ((string-match ".*-.*-\\(win95\\|nt\\)" system-configuration) nil) (t (list 'undo))) (list 'dispose) (cond ((string-match ".*-.*-\\(win95\\|nt\\)" system-configuration) nil) (t (list 'emacs))) (list nil 'help)) "\ *Non-nil value causes VM to provide a menu interface. A value that is a list causes VM to install its own menubar. A value of 1 causes VM to install a \"VM\" item in the Emacs menubar. If the value of `vm-use-menus' is a list, it should be a list of symbols. The symbols and the order in which they are listed determine which menus will be in the menubar and how they are ordered. Valid symbol values are: dispose emacs folder help label mark motion send sort undo virtual nil If nil appears in the list, it should appear exactly once. All menus after nil in the list will be displayed flushright in menubar. This variable only has meaning in Emacs environments where menus are provided, which usually means Emacs has to be running under a window system." :type '(choice (const 1) (repeat (choice (const dispose) (const emacs) (const folder) (const help) (const label) (const mark) (const motion) (const send) (const sort) (const undo) (const virtual) (const nil))))) (custom-declare-variable '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) (custom-declare-variable 'vm-warp-mouse-to-new-frame 'nil "\ *Non-nil value causes VM to move the mouse cursor into newly created frames. This is useful to give the new frame the focus under some window managers that randomly place newly created frames. Nil means don't move the mouse cursor." :type 'boolean) (custom-declare-variable 'vm-url-retrieval-methods ''(lynx wget fetch curl w3m) "\ *Non-nil value specifies how VM is permitted to retrieve URLs. VM needs to do this when supporting the message/external-body MIME type, which provides a reference to an object instead of the object itself. The specification should be a list of symbols with the following meanings lynx - means VM should try to use the lynx program. wget - means VM should try to use the wget program. w3m - means VM should try to use the w3m program. fetch - means VM should try to use the fetch program. curl - means VM should try to use the curl program. The list can contain all these values and VM will try them all, but not in any particular order, except that the url-w3 method will likely be tried last since it is likely to be the slowest retrieval method. If `vm-url-retrieval-methods' value is nil, VM will not try to use any URL retrieval methods." :type '(set (const lynx) (const wget) (const w3m) (const fetch) (const curl) (const url-w3))) (custom-declare-variable 'vm-url-browser '(cond ((fboundp 'w3-fetch-other-frame) 'w3-fetch-other-frame) ((fboundp 'w3-fetch) 'w3-fetch) (t 'vm-mouse-send-url-to-netscape)) "\ *Non-nil value means VM should enable URL passing. This means that VM will search for URLs (Uniform Resource Locators) in messages and make it possible for you to pass them to a World Wide Web browser. Clicking mouse-2 on the URL will send it to the browser. By default clicking mouse-3 on the URL will pop up a menu of browsers and you can pick which one you want to use. If `vm-popup-menu-on-mouse-3' is set to nil, you will not see the menu. Moving point to a character within the URL and pressing RETURN will send the URL to the browser. If the value of `vm-url-browser' is a string, it should specify name of an external browser to run. The URL will be passed to the program as its first argument after the program switches specified by `vm-url-browser-switches', if any. If the value of `vm-url-browser' is a symbol, it should specify a Lisp function to call. The URL will be passed to the program as its first and only argument. Use (setq vm-url-browser 'vm-mouse-send-url-to-netscape) for Netscape, and (setq vm-url-browser 'vm-mouse-send-url-to-mmosaic) for mMosaic, and (setq vm-url-browser 'vm-mouse-send-url-to-mosaic) for Mosaic. The advantage of using them is that they will display an URL using an existing Mosaic or Netscape process, if possible. A nil value means VM should not enable URL passing to browsers." :type '(choice (const nil) function string)) (custom-declare-variable 'vm-url-browser-switches 'nil "\ *List of command line flags passed to the command named by `vm-url-browser'. VM uses `vm-url-browser' to display URLs in messages when you click on them." :type '(repeat string)) (custom-declare-variable '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) (custom-declare-variable 'vm-url-search-limit '12000 "\ *Non-nil numeric value tells VM how hard to search for URLs. The number specifies the maximum message size in characters that VM will search for URLs. For message larger than this value, VM will search from the beginning of the message to a point `vm-url-search-limit' / 2 characters into the message. Then VM will 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)) (custom-declare-variable '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) (custom-declare-variable 'vm-startup-with-summary 't "\ *Value tells VM whether to generate a summary when a folder is visited. Nil means don't automatically generate a summary. A value of t means always generate a summary. A positive numeric value N means only generate a summary if there are N or more messages. A negative numeric value -N means only generate a summary if there are N or less messages." :type '(choice (const t) (const nil) integer)) (custom-declare-variable '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) (custom-declare-variable 'vm-jump-to-new-messages 't "\ *Non-nil value causes VM to jump to the first new message whenever such messages arrive in a folder or the first time a folder is visited. See also `vm-jump-to-unread-messages'." :type 'boolean) (custom-declare-variable 'vm-jump-to-unread-messages 't "\ *Non-nil value causes VM to jump to the first unread message whenever such messages arrive in a folder or the first time a folder is visited. New messages are considered unread in this context so new messages will be jumped to as well. The value of `vm-jump-to-new-messages' takes precedence over the setting of this variable. So if there are unread messages and new messages VM will jump to the first new message, even if an unread message appears before it in the folder, provided `vm-jump-to-new-messages' is non-nil." :type 'boolean) (custom-declare-variable 'vm-skip-deleted-messages 't "\ *Non-nil value causes VM's `n' and 'p' commands to skip over deleted messages. A value of t causes deleted messages to always be skipped. A value that is not nil and not t causes deleted messages to be skipped only 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))) (custom-declare-variable 'vm-skip-read-messages 'nil "\ *Non-nil value causes VM's `n' and `p' commands to skip over messages that have already been read, in favor of new or unread messages. A value of t causes read messages to always be skipped. A value that is 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))) (custom-declare-variable 'vm-move-after-deleting 'nil "\ *Non-nil value causes VM's `d' command to automatically invoke `vm-next-message' or `vm-previous-message' after deleting, to move past the deleted messages. A value of t means motion should honor the value of `vm-circular-folders'. A value that is not t and not nil means that motion should be done as if `vm-circular-folders' is set to nil." :type '(choice (const nil) (const t) (const skip-if-some-undeleted))) (custom-declare-variable 'vm-move-after-undeleting 'nil "\ *Non-nil value causes VM's `u' command to automatically invoke `vm-next-message' or `vm-previous-message' after undeleting, to move past the undeleted messages. A value of t means motion should honor the value of `vm-circular-folders'. A value that is not t and not nil means that motion should be done as if `vm-circular-folders' is set to nil." :type '(choice (const nil) (const t) (const skip-if-some-undeleted))) (custom-declare-variable 'vm-move-after-killing 'nil "\ *Non-nil value causes VM's `k' command to automatically invoke `vm-next-message' or `vm-previous-message' after killing messages, to try to move past the deleted messages. A value of t means motion should honor the value of `vm-circular-folders'. A value that is not t and not nil means that motion should be done as if `vm-circular-folders' is set to nil." :type '(choice (const nil) (const t) (const skip-if-some-undeleted))) (custom-declare-variable '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) (custom-declare-variable '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) (custom-declare-variable '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) (custom-declare-variable 'vm-circular-folders 'nil "\ *Value determines whether VM folders will be considered circular by various commands. `Circular' means VM will wrap from the end of the folder to the start and vice versa when moving the message pointer, or deleting, undeleting or saving messages before or after the current message. A value of t causes all VM commands to consider folders circular. A value of nil causes all of VM commands to signal an error if the start or end of the folder would have to be passed to complete the command. For movement commands, this occurs after the message pointer has been moved as far as possible in the specified direction. For other commands, the error occurs before any part of the command has been executed, i.e. no deletions, saves, etc. will be done unless they can be done in their entirety. A value that is not nil and not t causes only VM's movement commands to 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))) (custom-declare-variable '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) (custom-declare-variable 'vm-move-messages-physically 'nil "\ *Non-nil value causes VM's commands that change the message order of a folder to always move the physical messages involved and not just change the presentation order. Nil means that commands just change the order in which VM displays messages and leave the folder itself undisturbed." :type 'boolean) (custom-declare-variable 'vm-edit-message-mode ''text-mode "\ *Major mode to use when editing messages in VM." :type 'function) (byte-code "\301B\301\207" [current-load-list lpr-command] 2) (custom-declare-variable 'vm-print-command '(if (boundp 'lpr-command) lpr-command "lpr") "\ *Command VM uses to print messages." :type '(choice string (const nil))) (byte-code "\301B\301\207" [current-load-list lpr-switches] 2) (custom-declare-variable '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 '(repeat string)) (custom-declare-variable 'vm-berkeley-mail-compatibility '(memq system-type '(berkeley-unix netbsd)) "\ *Non-nil means to read and write BSD Mail(1) style Status: headers. This makes sense if you plan to use VM to read mail archives created by Mail." :type 'boolean) (custom-declare-variable 'vm-strip-reply-headers 'nil "\ *Non-nil value causes VM to strip away all comments and extraneous text from the headers generated in reply messages. If you use the \"fakemail\" program as distributed with Emacs, you probably want to set this variable to t, because as of Emacs v18.52 \"fakemail\" could not handle unstripped headers." :type 'boolean) (custom-declare-variable 'vm-select-new-message-hook 'nil "\ *List of hook functions called every time a message with the 'new' attribute is made to be the current message. When the hooks are run, the current buffer will be the folder containing the message and the start and end of the message will be bracketed by (point-min) and (point-max)." :type 'hook) (custom-declare-variable 'vm-select-unread-message-hook 'nil "\ *List of hook functions called every time a message with the 'unread' attribute is made to be the current message. When the hooks are run, the current buffer will be the folder containing the message and the start and end of the message will be bracketed by (point-min) and (point-max)." :type 'hook) (custom-declare-variable 'vm-select-message-hook 'nil "\ *List of hook functions called every time a message is made to be the current message. When the hooks are run, the current buffer will be the folder containing the message and the start and end of the message will be bracketed by (point-min) and (point-max)." :type 'hook) (custom-declare-variable 'vm-arrived-message-hook 'nil "\ *List of hook functions called once for each message gathered from the system mail spool, or from another folder with `vm-get-new-mail', or from a digest with `vm-burst-digest'. When the hooks are run, the current buffer will be the folder containing the message and the start and end of the message will be bracketed by (point-min) and (point-max)." :type 'hook) (custom-declare-variable '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 'hook) (custom-declare-variable 'vm-arrived-messages-hook 'nil "\ *List of hook functions called after VM has gathered a group of messages from the system mail spool, or from another folder with `vm-get-new-mail', or from a digest with `vm-burst-digest'. When the hooks are run, the new messages will have already been added to the message list but may not yet appear in the summary. Also, the current buffer will be the folder containing the messages." :type 'hook) (custom-declare-variable 'vm-reply-hook 'nil "\ *List of hook functions to be run after a Mail mode composition buffer has been created for a reply. VM runs this hook and then runs `vm-mail-mode-hook' before leaving the user in the Mail mode buffer." :type 'hook) (custom-declare-variable 'vm-forward-message-hook 'nil "\ *List of hook functions to be run after a Mail mode composition buffer has been created to forward a message. VM runs this hook and then runs `vm-mail-mode-hook' before leaving the user in the Mail mode buffer." :type 'hook) (custom-declare-variable 'vm-resend-bounced-message-hook 'nil "\ *List of hook functions to be run after a Mail mode composition buffer has been created to resend a bounced message. VM runs this hook and then runs `vm-mail-mode-hook' before leaving the user in the Mail mode buffer." :type 'hook) (custom-declare-variable 'vm-resend-message-hook 'nil "\ *List of hook functions to be run after a Mail mode composition buffer has been created to resend a message. VM runs this hook and then runs `vm-mail-mode-hook' before leaving the user in the Mail mode buffer." :type 'hook) (custom-declare-variable 'vm-send-digest-hook 'nil "\ *List of hook functions to be run after a Mail mode composition buffer has been created to send a digest. VM runs this hook and then runs `vm-mail-mode-hook' before leaving the user in the Mail mode buffer." :type 'hook) (custom-declare-variable 'vm-mail-hook 'nil "\ *List of hook functions to be run after a Mail mode composition buffer has been created to send a non specialized message, i.e. a message that is not a reply, forward, digest, etc. VM runs this hook and then runs `vm-mail-mode-hook' before leaving the user in the Mail mode buffer." :type 'hook) (custom-declare-variable 'vm-summary-update-hook 'nil "\ *List of hook functions called just after VM updates an existing entry a folder summary." :type 'hook) (custom-declare-variable 'vm-summary-redo-hook 'nil "\ *List of hook functions called just after VM adds or deletes entries from a folder summary." :type 'hook) (custom-declare-variable 'vm-visit-folder-hook 'nil "\ *List of hook functions called just after VM visits a folder. It doesn't matter if the folder buffer already exists, this hook is run each time `vm' or `vm-visit-folder' is called interactively. It is NOT run after `vm-mode' is called." :type 'hook) (custom-declare-variable 'vm-retrieved-spooled-mail-hook 'nil "\ *List of hook functions called just after VM has retrieved a group of messages from your system mailbox(es). When these hooks are run, the messages have been added to the folder buffer but not the message list or summary. When the hooks are run, the current buffer will be the folder where the messages were incorporated." :type 'hook) (custom-declare-variable '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 'hook) (custom-declare-variable '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 'hook) (custom-declare-variable '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 'hook) (custom-declare-variable 'vm-mode-hooks 'nil "\ *Old name for `vm-mode-hook'. Supported for backward compatibility. You should use the new name." :type 'hook) (custom-declare-variable '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 'hook) (custom-declare-variable 'vm-summary-mode-hooks 'nil "\ *Old name for `vm-summary-mode-hook'. Supported for backward compatibility. You should use the new name." :type 'hook) (custom-declare-variable '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 'hook) (custom-declare-variable '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 'hook) (custom-declare-variable 'vm-presentation-mode-hook 'nil "\ *List of hook functions to run when a VM presentation buffer is created. The current buffer will be the new presentation buffer when the hooks are run. 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 'hook) (custom-declare-variable 'vm-quit-hook 'nil "\ *List of hook functions to run when you quit VM. This applies to any VM quit command." :type 'hook) (custom-declare-variable '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 'hook) (custom-declare-variable 'vm-display-buffer-hook 'nil "\ *List of hook functions that are run every time VM wants to display a buffer. When the hooks are run, the current buffer will be the buffer that VM wants to display. The hooks are expected to select a window and VM will display the buffer in that window. If you use display hooks, you should not use VM's builtin window configuration system as the result is likely to be confusing." :type 'hook) (custom-declare-variable 'vm-undisplay-buffer-hook 'nil "\ *List of hook functions that are run every time VM wants to remove a buffer from the display. When the hooks are run, the current buffer will be the buffer that VM wants to disappear. The hooks are expected to do the work of removing the buffer from the display. The hook functions should not kill the buffer. If you use undisplay hooks, you should not use VM's builtin window configuration system as the result is likely to be confusing." :type 'hook) (custom-declare-variable 'vm-iconify-frame-hook 'nil "\ *List of hook functions that are run whenever VM iconifies a frame." :type 'hook) (custom-declare-variable 'vm-menu-setup-hook 'nil "\ *List of hook functions that are run just after all menus are initialized." :type 'hook) (custom-declare-variable 'vm-mime-display-function 'nil "\ *If non-nil, this should name a function to be called inside `vm-decode-mime-message' to do the MIME display the current message. The function is called with no arguments, and at the time of the call the current buffer will be the `presentation' buffer for the folder, which is a temporary buffer that VM uses for the display of MIME messages. A copy of the current message will be in the presentation buffer at that time. The normal work that `vm-decode-mime-message' would do is not done, because this function is expected to subsume all of it." :type 'function) (custom-declare-variable 'vm-imap-session-preauth-hook 'nil "\ *List of hook functions to call to generate an preauthenticated IMAP session process. This hook is only run if the authentication method for the IMAP mailbox is ``preauth''. Each hook is called with five arguments: HOST, PORT, MAILBOX, USER, PASSWORD. (See the documentation for vm-spool-files to find out about these arguments.) It is the responsibility of the hook function to create an Emacs process whose input/output streams are connected to an authenticated IMAP session, and to return this process. If the hook cannot accomplish this, it should return nil. If all the hooks return nil, VM will signal an error. At the time the hook is run, the current buffer will be the buffer any created process should be associated with. (The BUFFER argument to start-process or open-network-stream should be (current-bfufer).)" :type 'hook) (custom-declare-variable 'vm-mail-send-hook 'nil "\ *List of hook functions to call just before sending a message. The hooks are run after confirming that you want to send the message (see `vm-confirm-mail-send') but before MIME encoding and FCC processing." :type 'hook) (defvar mail-yank-hooks nil "\ Hooks called after a message is yanked into a mail composition buffer. (This hook is deprecated, you should use mail-citation-hook instead.) The value of this hook is a list of functions to be run. Each hook function can find the newly yanked message between point and mark. Each hook function should return with point and mark around the yanked message. See the documentation for `vm-yank-message' to see when VM will run these hooks.") (custom-declare-variable 'mail-citation-hook 'nil "\ *Hook for modifying a citation just inserted in the mail buffer. Each hook function can find the citation between (point) and (mark t). And each hook function should leave point and mark around the citation text as modified. If this hook is entirely empty (nil), a default action is taken instead of no action." :type 'hook) (custom-declare-variable '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)) (custom-declare-variable '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)) (custom-declare-variable 'vm-rename-current-buffer-function 'nil "\ *Non-nil value should be a function to call to rename a buffer. Value should be something that can be passed to `funcall'. If this variable is non-nil, VM will use this function instead of its own buffer renaming code. The buffer to be renamed will be the current buffer when the function is called." :type 'function) (defvar mode-popup-menu nil "\ The mode-specific popup menu. Automatically buffer local. By default, when you press mouse-3 in VM, this menu is popped up.") (make-variable-buffer-local 'mode-popup-menu) (custom-declare-variable 'vm-movemail-program '"movemail" "\ *Name of program to use to move mail from the system spool to another location. Normally this should be the movemail program distributed with Emacs. If you use another program, it must accept as its last two arguments the spool file (or maildrop) from which mail is retrieved, and the local file where the retrieved mail should be stored." :type 'string) (custom-declare-variable 'vm-movemail-program-switches 'nil "\ *List of command line flags to pass to the movemail program named by `vm-movemail-program'." :type '(repeat string)) (custom-declare-variable 'vm-netscape-program '"netscape" "\ *Name of program to use to run Netscape. `vm-mouse-send-url-to-netscape' uses this." :type 'string) (custom-declare-variable 'vm-netscape-program-switches 'nil "\ *List of command line switches to pass to Netscape." :type '(repeat string)) (custom-declare-variable 'vm-mosaic-program '"Mosaic" "\ *Name of program to use to run Mosaic. `vm-mouse-send-url-to-mosaic' uses this." :type 'string) (custom-declare-variable 'vm-mosaic-program-switches 'nil "\ *List of command line switches to pass to Mosaic." :type '(repeat string)) (custom-declare-variable 'vm-mmosaic-program '"mMosaic" "\ *Name of program to use to run mMosaic. `vm-mouse-send-url-to-mosaic' uses this." :type 'string) (custom-declare-variable 'vm-mmosaic-program-switches 'nil "\ *List of command line switches to pass to mMosaic." :type '(repeat string)) (custom-declare-variable 'vm-konqueror-program '"konqueror" "\ *Name of program to use to run Konqueror. `vm-mouse-send-url-to-konqueror' uses this." :type 'string) (custom-declare-variable 'vm-konqueror-program-switches 'nil "\ *List of command line switches to pass to Konqueror." :type '(repeat string)) (custom-declare-variable 'vm-konqueror-client-program '"kfmclient" "\ *Name of program to use to issue requests to Konqueror. `vm-mouse-send-url-to-konqueror' uses this." :type 'string) (custom-declare-variable 'vm-konqueror-client-program-switches 'nil "\ *List of command line switches to pass to Konqueror client." :type '(repeat string)) (custom-declare-variable 'vm-wget-program '"wget" "\ *Name of program to use to run wget. This is used to retrieve URLs." :type 'string) (custom-declare-variable 'vm-w3m-program '"w3m" "\ *Name of program to use to run w3m. This is used to retrieve URLs." :type 'string) (custom-declare-variable 'vm-fetch-program '"fetch" "\ *Name of program to use to run fetch. This is used to retrieve URLs. Fetch is part of the standard FreeBSD installation." :type 'string) (custom-declare-variable 'vm-curl-program '"curl" "\ *Name of program to use to run curl. This is used to retrieve URLs." :type 'string) (custom-declare-variable 'vm-lynx-program '"lynx" "\ *Name of program to use to run lynx. This is used to retrieve URLs." :type 'string) (custom-declare-variable '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))) (custom-declare-variable '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))) (custom-declare-variable '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. This variable is ignored if you're running stunnel version 4 or later versions, since those versions of stunnel are configurable only with a configuration file." :type '(list string)) (custom-declare-variable 'vm-stunnel-program-additional-configuration-file 'nil "\ *Name of a configuration file to append to the config file VM creates when using stunnel version 4 or later. Leave this set to nil unless you understand how VM uses stunnel and know that you need to change something to get stunnel working. For stunnel version 4 and beyond stunnel relies on a configuration file to tell it what to do. VM builts te ncessary configuration file for each instance of stunnel that it runs. If you have extra configuration options you want stunnel to use, put them in a file and set vm-stunnel-program-additional-configuration-file to the name of that file. This variable is ignored if you're running stunnel versions prior to version 4 as VM uses command line argument to control stunnel in those cases." :type 'string) (custom-declare-variable 'vm-stunnel-random-data-method ''generate "\ *Specifies what VM should do about sending the PRNG. The stunnel program uses the OpenSSL library which requires a certain amount of random data to seed its pseudo-random number generator. VM can generate this data using Emacs' random number generator or it can rely on stunnel to find the data by itself somehow. Some systems have a /dev/urandom device that stunnel can use. Some system have a entropy gathering daemon that can be 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. Setting `vm-stunnel-random-data-method' to the symbol `generate' tells VM to generate the random data. A nil value tells VM to do nothing and let stunnel find the data if it can." :type '(choice (const nil) (const generate))) (custom-declare-variable '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))) (custom-declare-variable 'vm-ssh-program-switches 'nil "\ *List of command line switches to pass to SSH." :type '(repeat string)) (custom-declare-variable 'vm-ssh-remote-command '"echo ready; sleep 15" "\ *Shell command to run to hold open the SSH connection. This command must generate one line of output and then sleep long enough for VM to open a port-forwarded connection. The default should work on UNIX systems." :type 'string) (custom-declare-variable '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))) (custom-declare-variable '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 (byte-code "\205\302\303!\205 ;\205\304\305\306\307\310 \"!\"\311=\207" [vm-fsfemacs-p vm-uncompface-program fboundp image-type-available-p string-match "#define" shell-command-to-string format "%s -X" 0] 6) "\ Non-nil if the uncompface command accepts a -X argument. This is only used for FSF Emacs currently.") (defvar vm-stunnel-wants-configuration-file 'unknown "\ Non-nil if stunnel is controlled by a configuration file. An older stunnel version used command line arguments instead.") (custom-declare-variable 'vm-temp-file-directory '(or (getenv "TMPDIR") (and (file-directory-p "/tmp") "/tmp") (and (file-directory-p "C:\\TEMP") "C:\\TEMP") (and (file-directory-p "C:\\") "C:\\") "/tmp") "\ *Name of a directory where VM can put temporary files." :type 'directory) (custom-declare-variable 'vm-tale-is-an-idiot 'nil "\ *Non-nil value causes `vm-mail-send' to check multi-line recipient headers of outbound mail for lines that don't end with a comma. If such a line is found, an error is signaled and the mail is not sent." :type 'boolean) (defalias 'vm-octal #[(n) "\304\305\306 \304V\203, \307\246\211\310Y\203\311\312 \"\210\n _\\ \307\245\310_\202\n+\207" [expo digit val n 0 nil 1 10 8 error "invalid octal digit: %d"] 4]) (custom-declare-variable 'vm-default-folder-permission-bits '(vm-octal 600) "\ *Default UNIX permission bits for newly created folders." :type 'integer) (defconst vm-maintainer-address "bug-vm@wonderworks.com" "\ Where to send VM bug reports.") (defvar vm-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\332#\210\302\334\335#\210\302\336\337#\210\302\340\341#\210\302\342\343#\210\302\344\343#\210\302\345\343#\210\302\346\343#\210\302\347\350#\210\302\351\352#\210\302\353\354#\210\302\355\356#\210\302\357\360#\210\302\361\362#\210\302\363\364#\210\302\365\366#\210\302\367\370#\210\302\371\372#\210\302\373\374#\210\302\375\376#\210\302\377\201@#\210\302\201A\201B#\210\302\201C\201D#\210\302\201E\201F#\210\302\201G\201H#\210\302\201I\201J#\210\302\201K\201L#\210\302\201M\201N#\210\302\201O\201P#\210\302\201Q\201R#\210\302\201S\201T#\210\302\201U\201V#\210\302\201W\201X#\210\302\201Y\201Z#\210\302\201[\201\\#\210\302\201]\201^#\210\302\201_\201`#\210\201a\201b!\203\225\201b\201c\201d\"\201e\"\210\201b\201c\201f\"\201g\"\210\302\201h\201i#\210\302\201j\201k#\210\302\201l\201m#\210\302\201n\201o#\210\302\201p\201q#\210\302\201r\201q#\210\302\201s\201q#\210\302\201t\201u#\210\302\201v\201w#\210\302\201x\201y#\210\302\201z\201{#\210\302\201|\201}#\210\302\201~\201#\210\302\201\200\304#\210\302\201\201\201\202#\210\302\201\203\201\204 #\210\302\201\205\201\206#\210\302\201\207\201\210#\210\302\201\211\201\212#\210\302\201\213\201\204 #\210\302\201\214\201\215#\210\302\201\216\201\217#\210\302\201\220\201\221#\210\302\201\222\201\223#\210\302\201\224\201\225#\210\302\201\226\201\227#\210\302\201\230\201\231#\210\302\201\232\201\204 #\210\302\201\233\201\234#\210\302\201\235\201\234#\210\302\201\236\201\237#\210\302\201\240\201\241#\210\302\201\242\201\243#\210\302\201\244\201\245#\210\302\201\246\201\247#\210\302\201\250\201\251#\210\302\201\252\201\253#\210\302\201\254\201\255#\210\302\201\256\201\257#\210\302\201\260\201\261#\210\302\201\262\201\263#\210\302\201\264\201\265#\210\302\201\266\201\267#\210\302\201\270\201\271#\210\302\201\272\201\273#\210\302\201\274\201\275#\210\302\201\276\201\277#\210\302\201\300\201\301#\210\302\201\302\201\204 #\210\302\201\303\201\304#\210\302\201\305\201\306#\210\302\201\307\201\310#\210\302\201\311\201\312#\210\302\201\313\201\314#\210\302\201\315\201\316#\210\302\201\317\201\320#\210\302\201\321\201\322#\210\302\201\323\201\324#\210\302\201\325\201\326#\210\302\201\327\201\330#\210\302\201\331\201\332#\210\302\201\333\201\332#\210\302\201\334\201\332#\210\302\201\335\201\332#\210\302\201\336\201\332#\210\302\201\337\201\332#\210\302\201\340\201\332#\210\302\201\341\201\332#\210\302\201\342\201\332#\210\302\201\343\201\332#\210\302\201\344\201\345#\210\201a\201\346!\203\260\201\346\201\347\"\210\201\346\201c\201\203\"\201\350\"\210\201\346\201c\201\213\"\201\351\"\210\201\346\201c\201\232\"\201\352\"\210\201\346\201c\201\302\"\201\353\"\210)\207" [map make-keymap define-key "h" vm-summarize "H" vm-folders-summarize "\356" vm-next-unread-message "\360" vm-previous-unread-message "n" vm-next-message "p" vm-previous-message "N" vm-next-message-no-skip "P" vm-previous-message-no-skip "\216" vm-move-message-forward "\220" vm-move-message-backward " " vm-goto-message-last-seen " " vm-goto-message "\347" "^" vm-goto-parent-message "t" vm-expose-hidden-headers " " vm-scroll-forward "b" vm-scroll-backward "" [delete] [backspace] "D" vm-decode-mime-message "d" vm-delete-message "" vm-delete-message-backward "u" vm-undelete-message "U" vm-unread-message "e" vm-edit-message "a" vm-set-message-attributes "j" vm-discard-cached-data "k" vm-kill-subject "f" vm-followup "F" vm-followup-include-text "r" vm-reply "R" vm-reply-include-text "\362" vm-resend-bounced-message "B" vm-resend-message "z" vm-forward-message "c" vm-continue-composing-message "@" vm-send-digest "*" vm-burst-digest "m" vm-mail "g" vm-get-new-mail "G" vm-sort-messages "v" vm-visit-folder "s" vm-save-message "w" vm-save-message-sans-headers "A" vm-auto-archive-messages "S" vm-save-folder "|" vm-pipe-message-to-command "###" vm-expunge-folder fboundp set-keymap-prompt lookup-key "#" "(Type # twice more to expunge)" "##" "(Type # once more to expunge)" "q" vm-quit "x" vm-quit-no-change "i" vm-iconify-frame "?" vm-help "" vm-undo [(control /)] "u" "!" shell-command "<" vm-beginning-of-message ">" vm-end-of-message "[" vm-move-to-previous-button "]" vm-move-to-next-button "\363" vm-isearch-forward "=" "L" vm-load-init-file "l" make-sparse-keymap "la" vm-add-message-labels "le" vm-add-existing-message-labels "ld" vm-delete-message-labels "V" "VV" vm-visit-virtual-folder "VC" vm-create-virtual-folder "VA" vm-create-virtual-folder-same-author "VS" vm-create-virtual-folder-same-subject "VX" vm-apply-virtual-folder "VM" vm-toggle-virtual-mirror "V?" vm-virtual-help "M" "MN" vm-next-command-uses-marks "Mn" "MM" vm-mark-message "MU" vm-unmark-message "Mm" vm-mark-all-messages "Mu" vm-clear-all-marks "MC" vm-mark-matching-messages "Mc" vm-unmark-matching-messages "MT" vm-mark-thread-subtree "Mt" vm-unmark-thread-subtree "MS" vm-mark-messages-same-subject "Ms" vm-unmark-messages-same-subject "MA" vm-mark-messages-same-author "Ma" vm-unmark-messages-same-author "MR" vm-mark-summary-region "Mr" vm-unmark-summary-region "MV" vm-toggle-all-marks "MX" vm-mark-matching-messages-with-virtual-folder "Mx" vm-unmark-matching-messages-with-virtual-folder "M?" vm-mark-help "W" "WW" vm-apply-window-configuration "WS" vm-save-window-configuration "WD" vm-delete-window-configuration "W?" vm-window-help "" vm-toggle-threads-display "" vm-save-buffer "" vm-write-file "" vm-toggle-read-only "%" vm-change-folder-type "\303" vm-show-copying-restrictions "\327" vm-show-no-warranty "0" digit-argument "1" "2" "3" "4" "5" "6" "7" "8" "9" "-" negative-argument set-keymap-name vm-mode-map "VM mode message labels map" "VM mode virtual folders map" "VM mode message marks map" "VM mode window configuration map"] 4) "\ Keymap for VM mode.") (defvar vm-summary-mode-map vm-mode-map "\ Keymap for VM Summary mode") (defvar vm-folders-summary-mode-map vm-mode-map "\ Keymap for VM Folders Summary mode") (defvar vm-mail-mode-map (byte-code "\302 \303\304 #\210\303\305\306#\210\303\307\310#\210\303\311\312#\210\303\313\314#\210\303\315\316#\210\303\317\320#\210\303\321\322#\210\303\323\324#\210\325\326!\203D\326\327\"\210)\207" [map vm-mode-map make-sparse-keymap define-key "" "" vm-preview-composition "" vm-mime-encode-composition "" vm-mime-attach-file "" vm-mime-attach-buffer " " vm-mime-attach-message "" vm-yank-message "" vm-mail-send "" vm-mail-send-and-exit fboundp set-keymap-name vm-mail-mode-map] 4) "\ Keymap for VM Mail mode buffers. Its parent keymap is mail-mode-map.") (defvar vm-edit-message-map (byte-code "\302 \303\304 #\210\303\305\306#\210\303\307\306#\210\303\310\311#\210\312\313!\203&\313\314\"\210)\207" [map vm-mode-map make-sparse-keymap define-key "" "" vm-edit-message-end "" "" vm-edit-message-abort fboundp set-keymap-name vm-edit-message-map] 4) "\ Keymap for the buffers created by VM's vm-edit-message command.") (defvar vm-mime-reader-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\327 \203J\302\330\331#\210\332\333!\203U\333\334\"\210)\207" [map make-sparse-keymap define-key " " vm-mime-run-display-function-at-point "$ " vm-mime-reader-map-display-using-default "$e" vm-mime-reader-map-display-using-external-viewer "$v" vm-mime-reader-map-display-object-as-type "$w" vm-mime-reader-map-save-file "$s" vm-mime-reader-map-save-message "$p" vm-mime-reader-map-pipe-to-printer "$|" vm-mime-reader-map-pipe-to-command "$a" vm-mime-attach-object-from-message "$d" vm-delete-mime-object vm-mouse-xemacs-mouse-p button3 vm-menu-popup-mime-dispose-menu fboundp set-keymap-name vm-mime-reader-map] 4) "\ Keymap for the MIME buttons in VM folder buffers.") (defvar vm-folder-history nil "\ List of folders visited this Emacs session.") (defalias 'vm-folder-history #[(&rest ignored) "\300\207" [t] 1]) (byte-code "\301B\306\301!\204\f\307\310\301!\210\302B\306\302!\204\307\310\302!\210\303B\306\303!\204,\307\310\303!\210\304B\306\304!\204<\307\310\304!\210\305B\306\305!\204L\307\310\305!\210\311B\306\311!\204]\307 \310\311!\210\312B\306\312!\204n\307\n\310\312!\210\313B\306\313!\204\307 \310\313!\210\314B\306\314!\204\220\307\f\310\314!\210\315B\306\315!\204\241\307 \310\315!\210\316B\306\316!\204\262\307\310\316!\210\317B\306\317!\204\303\307\320B\306\320!\204\320\307\321B\306\321!\204\335\307\322B\306\322!\204\352\307\323B\306\323!\204\367\307\310\323!\210\324B\306\324!\204\307\310\324!\210\325B\306\325!\204\307\310\325!\210\326B\306\326!\204*\307\310\326!\210\327B\306\327!\204;\307\310\327!\210\330B\306\330!\204L\307\310\330!\210\331B\306\331!\204]\307\310\331!\210\332B\306\332!\204n\307\310\332!\210\333B\306\333!\204\307\310\333!\210\334B\306\334!\204\220\307\310\334!\210\335B\306\335!\204\241\307\310\335!\210\336B\306\336!\204\262\307\310\336!\210\337B\306\337!\204\303\307\340B\306\340!\204\320\307 \341B\306\341!\204\335\307!\342B\306\342!\204\352\307\"\310\342!\210\343B\306\343!\204\373\344#\310\343!\210\345B\306\345!\204\f\307%\310\345!\210\346B\306\346!\204\344&\310\346!\210\347B\306\347!\204.\307'\310\347!\210\350B\306\350!\204?\344(\351B\306\351!\204L\307)\352B\306\352!\204Y\307*\353B\306\353!\204f\307+\354B\306\354!\204s\307,\310\354!\210\355B\306\355!\204\204\307-\310\355!\210\356B\306\356!\204\225\307.\310\356!\210\357B\306\357!\204\246\307/\310\357!\210\360B\306\360!\204\267\3610\310\360!\210\362B\306\362!\204\310\3612\310\362!\210\363B\306\363!\204\331\3073\310\363!\210\364B\306\364!\204\352\3074\310\364!\210\365B\306\365!\204\373\3075\366B\306\366!\204\3076\310\366!\210\367B\306\367!\204\3077\370B\306\370!\204&\3078\371B\306\371!\2043\3729\373B\306\373!\204@\374;\375B\306\375!\204M\307=\376B\306\376!\204Z\307>\377B\306\377!\204g\307?\201@B\306\201@!\204x\344@\201BB\306\201A!\203\213A\206\216\201cB\201CB\201dC\201DB\201eD\201EB\201fE\201FB\201gF\201GB\201hG\201HB\201iH\201IB\201jI\201JB\201kJ\201KB\201lK\201LB\201mL\201MB\201nM\201NB\201oN\201OB\201pO\201PB\201qP\201QB\201rQ\201RB\201sR\201SB\201tS\201TB\201uT\201UB\201vU\201VB\201wV\201WB\201xW\201XB\201yX\201YB\201zY\201ZB\306\201Z!\204\245\201{\201|\307\"Z\201[B\201}[\201\\B\201~\\\201]B\201]\201^B\201\200^\201_B\201\201_\201`B\201\202`\201aB\306\201a!\204\370\307a\201bB\201\203b\307\207" [current-load-list vm-folder-type vm-folder-access-method vm-folder-access-data vm-message-list vm-virtual-folder-definition boundp nil make-variable-buffer-local vm-virtual-buffers vm-real-buffers vm-message-pointer vm-message-order-changed vm-message-order-header-present vm-last-message-pointer vm-folders-summary-hash vm-folders-summary-spool-hash vm-folders-summary-folder-hash vm-folders-summary-buffer vm-mail-buffer vm-presentation-buffer vm-presentation-buffer-handle vm-mime-decoded vm-summary-buffer vm-summary-pointer vm-system-state vm-undo-record-list vm-saved-undo-record-list vm-undo-record-pointer vm-last-save-folder vm-last-written-file vm-last-visit-folder vm-last-visit-pop-folder vm-last-visit-imap-folder vm-last-pipe-command vm-messages-not-on-disk 0 vm-totals vm-modification-counter vm-flushed-modification-counter vm-tempfile-counter vm-messages-needing-summary-update vm-buffers-needing-display-update vm-buffers-needing-undo-boundaries vm-numbering-redo-start-point vm-numbering-redo-end-point vm-summary-redo-start-point vm-need-summary-pointer-update vm-thread-obarray bonk vm-thread-subject-obarray vm-label-obarray vm-block-new-mail vm-global-block-new-mail vm-saved-buffer-modified-p vm-kept-mail-buffers vm-inhibit-write-file-hook vm-chop-full-name-function vm-default-chop-full-name vm-session-beginning t vm-init-file-loaded vm-window-configurations vm-window-configuration vm-message-id-number rmail-spool-directory vm-spool-directory vm-content-length-search-regexp vm-content-length-header vm-attributes-header-regexp vm-attributes-header vm-message-order-header-regexp vm-message-order-header vm-bookmark-header-regexp vm-bookmark-header vm-pop-retrieved-header-regexp vm-pop-retrieved-header vm-imap-retrieved-header-regexp vm-imap-retrieved-header vm-last-modified-header-regexp vm-last-modified-header vm-summary-header-regexp vm-summary-header vm-vheader-header-regexp vm-vheader-header vm-labels-header-regexp vm-labels-header vm-berkeley-mail-status-header vm-berkeley-mail-status-header-regexp vm-internal-unforwarded-header-regexp vm-matched-header-vector vm-supported-folder-types vm-supported-window-configurations vm-supported-sort-keys vm-supported-interactive-virtual-selectors vm-virtual-selector-function-alist vm-supported-attribute-names vm-key-functions vm-digest-type-alist "/usr/spool/mail/" "^Content-Length:.*\n\\|\\(\n\n\\)" "Content-Length:" "^X-VM-\\(Attributes\\|v5-Data\\):\\(.*\n\\([ ].*\n\\)*\\)" "X-VM-v5-Data:" "^X-VM-Message-Order:" "X-VM-Message-Order:" "^X-VM-Bookmark:" "X-VM-Bookmark:" "^X-VM-POP-Retrieved:" "X-VM-POP-Retrieved:" "^X-VM-IMAP-Retrieved:" "X-VM-IMAP-Retrieved:" "^X-VM-Last-Modified:" "X-VM-Last-Modified:" "^X-VM-Summary-Format:" "X-VM-Summary-Format:" "^X-VM-VHeader:" "X-VM-VHeader:" "^X-VM-Labels:" "X-VM-Labels:" "Status: " "^Status: \\(..?\\)\n" "\\(X-VM-\\|Status:\\|Content-Length:\\)" make-vector 6 ("From_" "BellFrom_" "From_-with-Content-Length" "mmdf" "babyl") (("default") ("startup") ("quitting") ("composing-message") ("editing-message") ("marking-message") ("reading-message") ("searching-message") ("vm") ("vm-add-message-labels") ("vm-apply-virtual-folder") ("vm-auto-archive-messages") ("vm-beginning-of-message") ("vm-burst-digest") ("vm-burst-mime-digest") ("vm-burst-rfc1153-digest") ("vm-burst-rfc934-digest") ("vm-change-folder-type") ("vm-clear-all-marks") ("vm-continue-composing-message") ("vm-create-virtual-folder") ("vm-create-virtual-folder-same-author") ("vm-create-virtual-folder-same-subject") ("vm-decode-mime-message") ("vm-delete-duplicate-messages") ("vm-delete-message") ("vm-delete-message-backward") ("vm-delete-message-labels") ("vm-delete-mime-object") ("vm-discard-cached-data") ("vm-edit-message") ("vm-edit-message-abort") ("vm-edit-message-end") ("vm-edit-message-other-frame") ("vm-end-of-message") ("vm-expose-hidden-headers") ("vm-expunge-folder") ("vm-expunge-imap-messages") ("vm-expunge-pop-messages") ("vm-folders-summarize") ("vm-followup") ("vm-followup-include-text") ("vm-followup-include-text-other-frame") ("vm-followup-other-frame") ("vm-forward-message") ("vm-forward-message-all-headers") ("vm-forward-message-all-headers-other-frame") ("vm-forward-message-other-frame") ("vm-get-new-mail") ("vm-goto-message") ("vm-goto-message-last-seen") ("vm-goto-parent-message") ("vm-help") ("vm-isearch-forward") ("vm-kill-subject") ("vm-load-init-file") ("vm-mail") ("vm-mail-other-frame") ("vm-mail-other-window") ("vm-mail-send") ("vm-mail-send-and-exit") ("vm-mark-all-messages") ("vm-mark-help") ("vm-mark-matching-messages") ("vm-mark-matching-messages-with-virtual-folder") ("vm-mark-message") ("vm-mark-messages-same-author") ("vm-mark-messages-same-subject") ("vm-mark-summary-region") ("vm-mark-thread-subtree") ("vm-mime-attach-buffer") ("vm-mime-attach-file") ("vm-mime-attach-message") ("vm-mime-attach-mime-file") ("vm-mime-attach-object-from-message") ("vm-mode") ("vm-move-message-backward") ("vm-move-message-backward-physically") ("vm-move-message-forward") ("vm-move-message-forward-physically") ("vm-move-to-previous-button") ("vm-move-to-next-button") ("vm-next-command-uses-marks") ("vm-next-message") ("vm-next-message-no-skip") ("vm-next-message-no-skip") ("vm-next-message-same-subject") ("vm-next-unread-message") ("vm-other-frame") ("vm-other-window") ("vm-pipe-message-to-command") ("vm-previous-message") ("vm-previous-message-no-skip") ("vm-previous-message-no-skip") ("vm-previous-message-same-subject") ("vm-previous-unread-message") ("vm-quit") ("vm-quit-just-bury") ("vm-quit-just-iconify") ("vm-quit-no-change") ("vm-reply") ("vm-reply-include-text") ("vm-reply-include-text-other-frame") ("vm-reply-other-frame") ("vm-resend-bounced-message") ("vm-resend-bounced-message-other-frame") ("vm-resend-message") ("vm-resend-message-other-frame") ("vm-save-and-expunge-folder") ("vm-save-buffer") ("vm-save-folder") ("vm-save-message") ("vm-save-message-sans-headers") ("vm-save-message-to-imap-folder") ("vm-scroll-backward") ("vm-scroll-backward-one-line") ("vm-scroll-forward") ("vm-scroll-forward-one-line") ("vm-send-digest") ("vm-send-digest-other-frame") ("vm-send-mime-digest") ("vm-send-mime-digest-other-frame") ("vm-send-rfc1153-digest") ("vm-send-rfc1153-digest-other-frame") ("vm-send-rfc934-digest") ("vm-send-rfc934-digest-other-frame") ("vm-set-message-attributes") ("vm-show-copying-restrictions") ("vm-show-no-warranty") ("vm-sort-messages") ("vm-submit-bug-report") ("vm-summarize") ("vm-summarize-other-frame") ("vm-toggle-all-marks") ("vm-toggle-read-only") ("vm-toggle-threads-display") ("vm-undelete-message") ("vm-undo") ("vm-unmark-matching-messages") ("vm-unmark-matching-messages-with-virtual-folder") ("vm-unmark-message") ("vm-unmark-messages-same-author") ("vm-unmark-messages-same-subject") ("vm-unmark-summary-region") ("vm-unmark-thread-subtree") ("vm-unread-message") ("vm-virtual-help") ("vm-visit-folder") ("vm-visit-folder-other-frame") ("vm-visit-folder-other-window") ("vm-visit-imap-folder") ("vm-visit-imap-folder-other-frame") ("vm-visit-imap-folder-other-window") ("vm-visit-pop-folder") ("vm-visit-pop-folder-other-frame") ("vm-visit-pop-folder-other-window") ("vm-visit-virtual-folder") ("vm-visit-virtual-folder-other-frame") ("vm-visit-virtual-folder-other-window") ("vm-write-file") ("vm-yank-message") ("vm-yank-message-other-folder")) ("date" "reversed-date" "author" "reversed-author" "subject" "reversed-subject" "recipients" "reversed-recipients" "line-count" "reversed-line-count" "byte-count" "reversed-byte-count" "physical-order" "reversed-physical-order") (("any") ("virtual-folder-member") ("header") ("label") ("text") ("header-or-text") ("recipient") ("author") ("author-or-recipient") ("subject") ("sent-before") ("sent-after") ("more-chars-than") ("less-chars-than") ("more-lines-than") ("less-lines-than") ("new") ("unread") ("read") ("unseen") ("recent") ("deleted") ("replied") ("forwarded") ("redistributed") ("filed") ("written") ("edited") ("marked") ("undeleted") ("unreplied") ("unforwarded") ("unredistributed") ("unfiled") ("unwritten") ("unedited") ("unmarked")) ((any . vm-vs-any) (virtual-folder-member . vm-vs-virtual-folder-member) (and . vm-vs-and) (or . vm-vs-or) (not . vm-vs-not) (header . vm-vs-header) (label . vm-vs-label) (text . vm-vs-text) (header-or-text . vm-vs-header-or-text) (recipient . vm-vs-recipient) (author . vm-vs-author) (author-or-recipient . vm-vs-author-or-recipient) (subject . vm-vs-subject) (sortable-subject . vm-vs-sortable-subject) (sent-before . vm-vs-sent-before) (sent-after . vm-vs-sent-after) (more-chars-than . vm-vs-more-chars-than) (less-chars-than . vm-vs-less-chars-than) (more-lines-than . vm-vs-more-lines-than) (less-lines-than . vm-vs-less-lines-than) (new . vm-vs-new) (unread . vm-vs-unread) (read . vm-vs-read) (unseen . vm-vs-unseen) (recent . vm-vs-recent) (deleted . vm-vs-deleted) (replied . vm-vs-replied) (answered . vm-vs-answered) (forwarded . vm-vs-forwarded) (redistributed . vm-vs-redistributed) (filed . vm-vs-filed) (written . vm-vs-written) (edited . vm-vs-edited) (marked . vm-vs-marked) (undeleted . vm-vs-undeleted) (unreplied . vm-vs-unreplied) (unanswered . vm-vs-unanswered) (unforwarded . vm-vs-unforwarded) (unredistributed . vm-vs-unredistributed) (unfiled . vm-vs-unfiled) (unwritten . vm-vs-unwritten) (unedited . vm-vs-unedited) (unmarked . vm-vs-unmarked)) ("new" "unread" "read" "deleted" "replied" "forwarded" "redistributed" "filed" "written" "edited" "undeleted" "unreplied" "unforwarded" "unredistributed" "unfiled" "unwritten" "unedited" "recent" "unseen" "answered" "unanswered") (("rfc934") ("rfc1153") ("mime"))] 3) (defvar vm-completion-auto-correct t "\ Non-nil means that minibuffer-complete-file should aggressively erase the trailing part of a word that caused completion to fail, and retry the completion with the resulting word.") (defvar vm-minibuffer-completion-table nil "\ Completion table used by vm-minibuffer-complete-word. Should be just a list of strings, not an alist or an obarray.") (defvar vm-completion-auto-space t "\ Non-nil value means that vm-minibuffer-complete-word should automatically append a space to words that complete unambiguously.") (byte-code "\301B\306\302B\307\303B\310\304B\311\305B\311\312B\313\n\314B\315\f\316B\317\320B\321\320!\204@\322\323B\321\323!\204M\324\325B\321\325!\204Z\317\326\325!\210\327B\321\327!\204k\317\326\327!\210\330B\321\330!\204|\317\326\330!\210\331B\321\331!\204\215\317\326\331!\210\332B\321\332!\204\236\317\326\332!\210\333B\321\333!\204\257\317\326\333!\210\334B\321\334!\204\300\317\326\334!\210\335B\321\335!\204\321\317\326\335!\210\336B\321\336!\204\342\317\326\336!\210\337B\321\337!\204\363\317\326\337!\210\340B\321\340!\204\317 \326\340!\210\341B\321\341!\204\317!\326\341!\210\342B\321\342!\204&\317\"\326\342!\210\343B\321\343!\2047\317#\326\343!\210\344B\321\344!\204H\317$\326\344!\210\345B\321\345!\204Y\317%\346B\321\346!\204f\317&\347B\321\347!\204s\317'\350B\321\350!\204\200\317(\326\350!\210\351B\321\351!\204\221\317)\326\351!\210\352B\321\352!\204\242\317*\353B\321\353!\204\257\317+\354B\321\354!\204\274\317,\355B\321\355!\204\311\317-\326\355!\210\356B\321\356!\204\332\317.\326\356!\210\357B\321\357!\204\353\317/\360B\321\360!\204\370\3170\361B\321\361!\204\3621\363B\321\363!\204\3623\364B\321\364!\204\3174\365B\321\365!\204,\3175\366B\321\366!\2049\3176\367B\321\367!\204F\3177\370B\321\370!\204S\3178\371B\321\371!\204`\3179\372B\321\372!\204m\317:\373B\321\373!\204z\317;\374B\321\374!\204\207\317<\375B\321\375!\204\224\317=\376B\321\376!\204\241\317>\377B\321\377!\204\256\317?\201@B\321\201@!\204\277\317@\201AB\321\201A!\204\320\317A\201BB\321\201B!\204\341\317B\201CB\321\201C!\204\362\317C\201DB\321\201D!\204\317D\201EB\321\201E!\204\317E\201FB\321\201F!\204%\317F\201GB\321\201G!\2048\201HG\317\207" [current-load-list vm-attributes-vector-length vm-cache-vector-length vm-softdata-vector-length vm-location-data-vector-length vm-mirror-data-vector-length 9 25 20 6 vm-folder-summary-vector-length 15 vm-startup-message-lines ("Please use \\[vm-submit-bug-report] to report bugs." "For discussion about the VM mail reader, see the gnu.emacs.vm.info newsgroup" "You may give out copies of VM. Type \\[vm-show-copying-restrictions] to see the conditions" "VM comes with ABSOLUTELY NO WARRANTY; type \\[vm-show-no-warranty] for full details") vm-startup-message-displayed nil vm-mode-line-format boundp ("" " %&%& " ("VM " vm-version ": " (vm-folder-read-only "read-only ") (vm-virtual-folder-definition (vm-virtual-mirror "mirrored ")) "%b" (vm-mail-buffer (vm-ml-sort-keys ("" " by " vm-ml-sort-keys))) (vm-message-list (" " vm-ml-message-number " (of " vm-ml-highest-message-number ")") (vm-folder-type " (unrecognized folder type)" " (no messages)"))) (vm-spooled-mail-waiting " Mail") (vm-message-list (" %[ " vm-ml-message-attributes-alist (vm-ml-labels ("; " vm-ml-labels)) " %] ") (" %[%] ")) "%p" " " global-mode-string) vm-ml-message-attributes-alist ((vm-ml-message-new "new" (vm-ml-message-unread "unread" (vm-ml-message-read "read"))) (vm-ml-message-edited " edited") (vm-ml-message-filed " filed") (vm-ml-message-written " written") (vm-ml-message-replied " replied") (vm-ml-message-forwarded " forwarded") (vm-ml-message-redistributed " redistributed") (vm-ml-message-deleted " deleted") (vm-ml-message-marked " MARKED")) vm-ml-message-number make-variable-buffer-local vm-ml-highest-message-number vm-ml-sort-keys vm-ml-labels vm-ml-message-new vm-ml-message-unread vm-ml-message-read vm-ml-message-edited vm-ml-message-replied vm-ml-message-forwarded vm-ml-message-redistributed vm-ml-message-deleted vm-ml-message-filed vm-ml-message-written vm-ml-message-marked vm-pop-read-point vm-pop-ok-to-ask vm-pop-passwords vm-pop-retrieved-messages vm-pop-messages-to-expunge vm-imap-read-point vm-imap-ok-to-ask vm-imap-passwords vm-imap-retrieved-messages vm-imap-messages-to-expunge vm-imap-capabilities vm-imap-auth-methods vm-pop-keep-failed-trace-buffers 5 vm-imap-keep-failed-trace-buffers vm-kept-pop-buffers vm-kept-imap-buffers vm-imap-keep-trace-buffer vm-imap-session-done vm-reply-list vm-forward-list vm-redistribute-list current-itimer current-menubar scrollbar-height top-toolbar top-toolbar-height bottom-toolbar bottom-toolbar-height right-toolbar right-toolbar-width left-toolbar left-toolbar-width vm-fsfemacs-toolbar-installed-p highlight-headers-regexp "Subject[ ]*:"] 2) (defvar vm-url-regexp "\n]+\\)>\\|\\(\\(file\\|ftp\\|gopher\\|http\\|https\\|news\\|wais\\|www\\)://[^ \n\f \"<>|()]*[^ \n\f \"<>|.!?(){}]\\)\\|\\(mailto:[^ \n\f \"<>|()]*[^] \n\f \"<>|.!?(){}]\\)\\|\\(file:/[^ \n\f \"<>|()]*[^ \n\f \"<>|.!?(){}]\\)" "\ Regular expression that matches an absolute URL. The URL itself must be matched by a \\(..\\) grouping. VM will extract the URL by copying the lowest number grouping that has a match.") (byte-code "\301B\306\302B\307\303B\310\303!\204\311\304B\310\304!\204'\312\313\311\"\305B\310\305!\2043\311\314B\310\314!\204@\311\f\315B\310\315!\204M\311 \316B\310\316!\204Z\311\317\316!\210\320B\310\320!\204k\311\321B\310\321!\204x\311\322B\310\322!\204\205\311\323B\310\323!\204\222\311\324B\310\324!\204\242\312\325\326\"\327B\310\327!\204\257\311\317\327!\210\330B\310\330!\204\312\331\332!\203\307\333\202\310\334\335B\310\335!\204\332\312\336\326\"\337B\310\337!\204\352\312\340\326\"\341B\310\341!\204\372\312\340\326\"!\342B\310\342!\204\311\"\343B\310\343!\204\312\340\326\"#\344B\310\344!\204$\311$\345B\310\345!\2041\311%\346B\310\346!\204>\347&\350B\310\350!\204K\351(\352B\353*\354B\355,\356B\310\356!\204f\311.\317\356!\210\357B\310\357!\204w\311/\317\357!\210\360B\310\360!\204\210\3110\361B\3621\363B\3643\311\207" [current-load-list vm-month-alist vm-weekday-alist pop-up-frames vm-parse-date-workspace vm-sortable-date-alist (("jan" "January" "1") ("feb" "February" "2") ("mar" "March" "3") ("apr" "April" "4") ("may" "May" "5") ("jun" "June" "6") ("jul" "July" "7") ("aug" "August" "8") ("sep" "September" "9") ("oct" "October" "10") ("nov" "November" "11") ("dec" "December" "12")) (("sun" "Sunday" "0") ("mon" "Monday" "1") ("tue" "Tuesday" "2") ("wed" "Wednesday" "3") ("thu" "Thursday" "4") ("fri" "Friday" "5") ("sat" "Saturday" "6")) boundp nil make-vector 6 vm-summary-=> vm-summary-no-=> vm-summary-overlay make-variable-buffer-local vm-summary-tokenized-compiled-format-alist vm-summary-untokenized-compiled-format-alist vm-folders-summary-compiled-format-alist vm-folders-summary-overlay vm-spool-file-message-count-hash 61 0 vm-page-end-overlay vm-begin-glyph-property fboundp extent-property begin-glyph before-string vm-thread-loop-obarray 641 vm-delete-duplicates-obarray 29 vm-image-obarray vm-mail-mode-map-parented vm-xface-cache vm-mf-default-action vm-mime-compiled-format-alist vm-mime-default-action-string-alist (("text" . "display text") ("multipart/alternative" . "display selected part") ("multipart/digest" . "read digest") ("multipart/parallel" . "display parts in parallel") ("multipart" . "display parts") ("message/partial" . "attempt message assembly") ("message/external-body" . "retrieve the object") ("message" . "display message") ("audio" . "play audio") ("video" . "display video") ("image" . "display image") ("model" . "display model") ("application/postscript" . "display PostScript") ("application/msword" . "display Word document") ("application" . "display attachment")) vm-mime-type-description-alist (("multipart/digest" . "digest") ("multipart/alternative" . "multipart alternative") ("multipart/parallel" . "multipart parallel") ("multipart" . "multipart message") ("text/plain" . "plain text") ("text/enriched" . "enriched text") ("text/html" . "HTML") ("image/gif" . "GIF image") ("image/tiff" . "TIFF image") ("image/jpeg" . "JPEG image") ("image/png" . "PNG image") ("message/rfc822" . "mail message") ("message/news" . "USENET news article") ("message/partial" . "message fragment") ("message/external-body" . "external object") ("application/postscript" . "PostScript") ("application/msword" . "Word document") ("application/vnd.ms-excel" . "Excel spreadsheet") ("application/octet-stream" . "untyped binary data")) vm-mime-base64-alphabet "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" vm-mime-base64-alphabet-decoding-vector [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 62 0 0 0 63 52 53 54 55 56 57 58 59 60 61 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 0 0 0 0 0 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 0 0 0 0 0] vm-message-garbage-alist vm-folder-garbage-alist vm-global-garbage-alist vm-mime-header-list ("MIME-Version:" "Content-") vm-mime-header-regexp "\\(MIME-Version:\\|Content-\\)"] 3) (defconst vm-mime-mule-charset-to-coding-alist (byte-code "\2031\304 \305\211\211\203)\306 @\307\"\211\203\"\310 ! @D\nB A\211\204\311\312\n\"\211+\207\313\207" [vm-fsfemacs-mule-p val alist coding-systems coding-system-list nil coding-system-get mime-charset symbol-name append (("us-ascii" raw-text) ("unknown" iso-8859-1)) (("us-ascii" no-conversion) ("iso-8859-1" no-conversion) ("iso-8859-2" iso-8859-2) ("iso-8859-3" iso-8859-3) ("iso-8859-4" iso-8859-4) ("iso-8859-5" iso-8859-5) ("iso-8859-6" iso-8859-6) ("iso-8859-7" iso-8859-7) ("iso-8859-8" iso-8859-8) ("iso-8859-9" iso-8859-9) ("iso-2022-jp" iso-2022-jp) ("big5" big5) ("koi8-r" koi8-r) ("ks_c_5601-1987" euc-kr) ("euc-jp" euc-jp) ("iso-2022-jp-2" iso-2022-jp) ("iso-2022-int-1" iso-2022-int-1) ("iso-2022-kr" iso-2022-kr) ("euc-kr" iso-2022-kr))] 4) "\ Alist that maps MIME character sets to MULE coding systems.") (defvar vm-mime-mule-charset-to-charset-alist '((latin-iso8859-1 "iso-8859-1") (latin-iso8859-2 "iso-8859-2") (latin-iso8859-3 "iso-8859-3") (latin-iso8859-4 "iso-8859-4") (cyrillic-iso8859-5 "iso-8859-5") (arabic-iso8859-6 "iso-8859-6") (greek-iso8859-7 "iso-8859-7") (hebrew-iso8859-8 "iso-8859-8") (latin-iso8859-9 "iso-8859-9") (japanese-jisx0208 "iso-2022-jp") (korean-ksc5601 "iso-2022-kr") (chinese-gb2312 "iso-2022-jp") (sisheng "iso-2022-jp") (thai-tis620 "iso-2022-jp")) "\ Alist that maps MULE character sets to matching MIME character sets.") (defvar vm-mime-mule-coding-to-charset-alist (byte-code "\2031\304 \305\211\211\203)\306 @\307\"\211\203\" @\310 !D\nB A\211\204\311\312\n\"\211+\207\313\207" [vm-fsfemacs-mule-p val alist coding-systems coding-system-list nil coding-system-get mime-charset symbol-name append ((raw-text "us-ascii")) ((iso-2022-8 "iso-2022-jp") (iso-2022-7-unix "iso-2022-jp") (iso-2022-7-dos "iso-2022-jp") (iso-2022-7-mac "iso-2022-jp"))] 4) "\ Alist that maps MULE coding systems to MIME character sets.") (byte-code "\301B\306\302B\307\303B\310\311B\304B\312\304!\204\"\313\305B\312\305!\204.\313\312\314!\204A\314B\312\314!\204A\315\f\316B\312\316!\204N\313\317B\312\317!\204[\313\320B\312\320!\204h\313\321B\312\321!\204u\313\203\202\322\323!\210\322\324!\210\325\326!\207" [current-load-list vm-mime-charset-completion-alist vm-mime-type-completion-alist vm-mime-encoded-word-regexp vm-mf-attachment-file vm-frame-list (("us-ascii") ("iso-8859-1") ("iso-8859-2") ("iso-8859-3") ("iso-8859-4") ("iso-8859-5") ("iso-8859-6") ("iso-8859-7") ("iso-8859-8") ("iso-8859-9") ("iso-2022-jp") ("iso-2022-jp-2") ("iso-2022-int-1") ("iso-2022-kr")) (("text/plain") ("text/enriched") ("text/html") ("audio/basic") ("image/jpeg") ("image/png") ("image/gif") ("image/tiff") ("video/mpeg") ("application/postscript") ("application/octet-stream") ("message/rfc822") ("message/news")) "=\\?\\([^?*]+\\)\\(\\*\\([^?*]+\\)\\)?\\?\\([BbQq]\\)\\?\\([^?]+\\)\\?=" buffer-file-type boundp nil shell-command-switch "-c" vm-stunnel-random-data-file vm-stunnel-configuration-file vm-fsfemacs-cached-scroll-bar-width vm-update-composition-buffer-name-timer fmakunbound defcustom defgroup provide vm-vars vm-faked-defcustom] 2) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:36 2004 ;;; from file /Users/kyle/vm/vm-virtual.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-virtual.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-build-virtual-message-list #[(new-messages &optional dont-finalize) "A\306\307\310\"p \311\n?\205\312 !\313\211\211\211\211\211\211\211\211\211\211\211\21123456789:;<=>?@AB\n\204\253 \203XC@\2119\310H):\202\202\310\306D\313\": DW\203\202: \313\211EF\314 FE\223*I\210 T\211\202b \2118\203\253\3158@\2119\316H\317HJ)\2119\316H\320H)A\"\2108A\2118\204\211\212B\203|B@@7B@A57\203s7@\2116;\203\324\3216G\"66<\203\340\3226!66\203j6;\203\3236!\2037\324\325\326\3276\311\313#!!!\2447\202jH\203F\3306!\203#H@\2119\316H\331H)6=\204F6;\203jH@\2119\316H\331H)\311\313\211IJK\3326!+=\203j\3306!\203R6\206g\3336!\206g\311\313\211IJK\3326!+q\210L\334=\203|\311;\335M\f\"\202\223\313;p\f>\204\211p\fBL\336=\204\223\336 \210\3306!\203\274;\203\257B@\337\313\340\341M\"\"\240\210\202\274!\203\274B@!C\240\210H\206\302 \2118\203j\n\204\347\3428@\2119\316H\317HJ)\2119\316H\320H)A\"\204a;\203\2128@\2119\316H\317HJ)\2119\316H\331H)q\210\343\3448@5#)\202\343\3448@5#\203a\n\2047\3158@\2119\316H\317HJ)\2119\316H\320H)A\"\210\3458@\2119\316H\317HJ)!9?\204\2239\306N\313\"O\2119\346OI\210*9\347\350!P\2119\346H\316PI\210*9\313Q\2119\346H\316HQL\210*9\306R\313\"S\2119\351SI\210*9:T\2119\310TI\210*9\306U\313\"O\2119\316OI\210*98@\2119\316H\317H)P\2119\316H\317PI\210*9VW\2119\316H\352WI\210*9XY\2119\316H\353YI\210*9Z[\2119\316H\320[I\210*ZTZ9@E\2119\316H\331EI\210*9\347\354!P\2119\316H\355PI\210*9=\\\2119\316H\355H\\L\210*=\204K9C\211<=\202a=9C\241\210<\204\\=A<=A=8A\2118\204\3107A\2117\204\302BA\211B\204\261)\n\203\206<\202#]T]\311^_`M\204\232\fM\212\f\203\277\f@q\210\356\357^\"\210@a>\204\270@aBa\fA\211\204\237)<\2118\2038@\2119\316H\317HJ)8@8@\2119\316H\317HJ)\2119\346H\316HJ)BQ\2119\346H\316HQL\210*8A\2118\204\310 \203\360" 2 7 19 "<--" 6 mapatoms #[(x) "\302\303! \"\207" [x label-obarray intern symbol-name] 3] vm-set-summary-redo-start-point vm-set-numbering-redo-start-point arglist selector sel-list selectors folder folders mp message location-vector virtual new-message-list tail-cons case-fold-search mirrored vbuffer message-set clauses vm-message-pointer vm-location-data-vector-length buffer pos vm-folder-directory new-messages enable-local-variables enable-local-eval inhibit-local-variables major-mode vm-real-buffers vm-mirror-data-vector-length data sym list vm-attributes-vector-length attrs vdata vm-softdata-vector-length vm-folder-type type vm-folder-access-method method vm-message-id-number number link vm-modification-counter vm-label-obarray label-obarray inhibit-quit vm-virtual-buffers] 20 "\ Builds a list of messages matching the virtual folder definition stored in the variable vm-virtual-folder-definition. If the NEW-MESSAGES argument is nil, the message list is derived from the folders listed in the virtual folder definition and selected by the various selectors. The resulting message list is assigned to vm-message-list unless DONT-FINALIZE is non-nil. If NEW-MESSAGES is non-nil then it is a list of messages to be tried against the selector parts of the virtual folder definition. Matching messages are added to vm-message-list, instead of replacing it. The messages in the NEW-MESSAGES list, if any, must all be in the same real folder. The list of matching virtual messages is returned. If DONT-FINALIZE is nil, in addition to vm-message-list being set, the virtual messages are added to the virtual message lists of their real messages, the current buffer is added to vm-virtual-buffers list of each real folder buffer represented in the virtual list, and vm-real-buffers is set to a list of all the real folder buffers involved."]) (defalias 'vm-create-virtual-folder #[(selector &optional arg read-only name bookmark) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\n\315=\316 \204H\203@\317\320\306 $\202H\317\321\306 # \322\306 DC\f\203h\323\324\203aD\202dCE\202x\203uD\202xCDDC\325 #\210*\205\214\326 \207" [vm-mail-buffer major-mode last-command vm-virtual-folder-alist use-marks name buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty vm-next-command-uses-marks nil format "%s %s %s" "%s %s" get-buffer and (marked) vm-visit-virtual-folder vm-menu-install-known-virtual-folders-menu arg selector read-only bookmark vm-use-menus] 6 "\ Create a new virtual folder from messages in the current folder. The messages will be chosen by applying the selector you specify, which is normally read from the minibuffer. Prefix arg means the new virtual folder should be visited read only." (byte-code " \n\f\203\306\f!\204\307\310!\210\fq\210\202$ \311>\204$\307\312!\210\313\314! C\244+\207" [last-command this-command current-prefix-arg prefix vm-mail-buffer major-mode buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-read-virtual-selector "Create virtual folder of messages: "] 3)]) (defalias 'vm-apply-virtual-folder #[(name &optional read-only) "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210\314 \210\315\n \"\f\316=\317\211\211\204<\307\320\n\"\210\321!\211A\211\203l @\322\306 DC\240\210\203e @\323\324\325C @A\244EC\241\210 A\211\204I\326\327\306 @#\240\210C\330@\"\210,\205\214\331 \207" [vm-mail-buffer major-mode name vm-virtual-folder-alist last-command clauses buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-error-if-folder-empty assoc vm-next-command-uses-marks nil "No such virtual folder, %s" vm-copy get-buffer and (marked) or format "%s/%s" vm-visit-virtual-folder vm-menu-install-known-virtual-folders-menu use-marks vfolder read-only vm-use-menus] 6 "\ Apply the selectors of a named virtual folder to the current folder and create a virtual folder containing the selected messages. Prefix arg means the new virtual folder should be visited read only." (let ((last-command last-command) (this-command this-command)) (list (completing-read "Apply this virtual folder's selectors: " vm-virtual-folder-alist nil t) current-prefix-arg))]) (defalias 'vm-create-virtual-folder-same-subject #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\316\n@!\211\317\n@!\203B\n@\211\320H\321HJ)\202D\n@ \322\232\203S\323\324\202W\325 !\326\327 \330\331\332\307 \303\f$%+\207" [vm-mail-buffer major-mode vm-message-pointer subject displayed-subject message vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-error-if-folder-empty vm-check-for-killed-summary vm-so-sortable-subject vm-virtual-message-p 1 5 "" "^$" "\"\"" regexp-quote vm-create-virtual-folder sortable-subject nil format "%s %s %s" bookmark] 10 nil nil]) (defalias 'vm-create-virtual-folder-same-author #[nil "\306 \210\203\307!\204\310\311!\210q\210\202! \312>\204!\310\313!\210\314 \210\315 \210\316\n@!\211\317\n@!\203B\n@\211\320H\321HJ)\202D\n@ \322\232\203S\323\324\202W\325 !\326\303 \327\330\331\307 \303\f$%+\207" [vm-mail-buffer major-mode vm-message-pointer author displayed-author message vm-follow-summary-cursor buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-error-if-folder-empty vm-check-for-killed-summary vm-su-from vm-virtual-message-p 1 5 "" "^$" "" regexp-quote vm-create-virtual-folder nil format "%s %s %s" bookmark] 10 nil nil]) (defalias 'vm-toggle-virtual-mirror #[nil "\203\306!\204\307\310!\210q\210\202 \311>\204\307\312!\210\313 \210 \314=\204+\307\315!\210\n\316\317\211!\"#\" # $%\320 %\321\f!\210&\203\250!\203/!@!@\211\322H\323H)\206l\324'\317\"(\211\325(I\210*!@!@\211\322H\326H)\206\215\324)\317\"*\211\327*I\210*\330!@\316\"\210!A\211!\202S!\203/\330!@\316\"\210!@!@\211\325H)(\211\322H\323(I\210*!@!@\211\327H)*\211\322H\326*I\210*!@!@\211\322H\331HJ)\211\325H)(\211\325(I\210*!@!@\211\322H\331HJ)\211\327H)*\211\327*I\210*!A\211!\204\255&?&+T+,\332 \210\333\334&\203H\335\202I\336,A\203S\337\202T\340#\207" [vm-mail-buffer major-mode vm-message-list undo-list modified inhibit-quit buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-check-for-killed-summary vm-virtual-mode "This is not a virtual folder." t nil buffer-modified-p set-buffer-modified-p 1 13 make-vector 2 14 4 vm-mark-for-summary-update 5 vm-update-summary-and-mode-line message "Virtual folder now %s the underlying real folder%s." "mirrors" "does not mirror" "s" "" mp vm-saved-undo-record-list vm-undo-record-list vm-undo-record-pointer vm-saved-buffer-modified-p vm-virtual-mirror vm-attributes-vector-length attrs vm-mirror-data-vector-length data vm-modification-counter vm-real-buffers] 5 nil nil]) (defalias 'vm-virtual-help #[nil "\300\301\211\302\303$\210\304\305!\207" [vm-display nil (vm-virtual-help) (vm-virtual-help) message "VV = visit, VX = apply selectors, VC = create, VM = toggle virtual mirror"] 5 nil nil]) (defalias 'vm-vs-or #[(m &rest selectors) "\306\211\211\211\f\2030\f@@\211 \236A\f@A\f@A\307 #\211?\205+\fA\211\204\f ,\207" [function arglist selector result selectors vm-virtual-selector-function-alist nil apply m] 5]) (defalias 'vm-vs-and #[(m &rest selectors) "\306\307\211\211\f\2033\f@@\211 \236A\211\204\310\311!\210\f@A\312 #\211\205.\fA\211\204\f ,\207" [function arglist selector result selectors vm-virtual-selector-function-alist t nil error "Invalid selector" apply m] 5]) (defalias 'vm-vs-not #[(m arg) "@A\305\n \236A\f #*?\207" [arg arglist selector vm-virtual-selector-function-alist m apply] 4]) (defalias 'vm-vs-any #[(m) "\300\207" [t] 1]) (defalias 'vm-vs-author #[(m arg) "\302\303 !\"\206\302\304 !\"\207" [arg m string-match vm-su-full-name vm-su-from] 4]) (defalias 'vm-vs-recipient #[(m arg) "\302\303 !\"\206\302\304 !\"\207" [arg m string-match vm-su-to vm-su-to-names] 4]) (defalias 'vm-vs-author-or-recipient #[(m arg) "\302 \"\206 \303 \"\207" [m arg vm-vs-author vm-vs-recipient] 3]) (defalias 'vm-vs-subject #[(m arg) "\302\303 !\"\207" [arg m string-match vm-su-subject] 4]) (defalias 'vm-vs-sortable-subject #[(m arg) "\302\303 !\"\207" [arg m string-match vm-so-sortable-subject] 4]) (defalias 'vm-vs-sent-before #[(m arg) "\302!\303 !\231\207" [m arg vm-so-sortable-datestring vm-timezone-make-date-sortable] 3]) (defalias 'vm-vs-sent-after #[(m arg) "\302!\303 !\231\207" [arg m vm-timezone-make-date-sortable vm-so-sortable-datestring] 3]) (defalias 'vm-vs-header #[(m arg) "\212\214~\210\211\303H\304HJ)\211\305H\303H)b\210\306\n\211\303H\304HJ)\211\305H\307H\2063\310 !\210 \305H\307H)\311#*\207" [m message arg 1 5 0 re-search-forward 3 vm-find-and-set-text-of t] 5]) (defalias 'vm-vs-label #[(m arg) "\303 \211\304H\305H)\"\207" [arg m message vm-member 4 3] 5]) (defalias 'vm-vs-text #[(m arg) "\212\214~\210\211\303H\304HJ)\211\305H\306H\206\307 !\210 \305H\306H)b\210\310\n\211\303H\304HJ)\211\305H\311H)\312#*\207" [m message arg 1 5 0 3 vm-find-and-set-text-of re-search-forward 4 t] 5]) (defalias 'vm-vs-header-or-text #[(m arg) "\212\214~\210\211\303H\304HJ)\211\305H\303H)b\210\306\n\211\303H\304HJ)\211\305H\307H)\310#*\207" [m message arg 1 5 0 re-search-forward 4 t] 5]) (defalias 'vm-vs-more-chars-than #[(m arg) "\302\303!! V\207" [m arg string-to-int vm-su-byte-count] 3]) (defalias 'vm-vs-less-chars-than #[(m arg) "\302\303!! W\207" [m arg string-to-int vm-su-byte-count] 3]) (defalias 'vm-vs-more-lines-than #[(m arg) "\302\303!! V\207" [m arg string-to-int vm-su-line-count] 3]) (defalias 'vm-vs-less-lines-than #[(m arg) "\302\303!! W\207" [m arg string-to-int vm-su-line-count] 3]) (defalias 'vm-vs-virtual-folder-member #[(m) "\211\302H\303HJ)\207" [m message 4 1] 3]) (defalias 'vm-vs-new #[(m) "\211\302H\303H)\207" [m message 2 0] 3]) (fset 'vm-vs-recent 'vm-vs-new) (defalias 'vm-vs-unread #[(m) "\211\302H\303H)\207" [m message 2 1] 3]) (fset 'vm-vs-unseen 'vm-vs-unread) (defalias 'vm-vs-read #[(m) "\211\302H\303H)\206\211\302H\304H)?\207" [m message 2 0 1] 3]) (defalias 'vm-vs-deleted #[(m) "\211\302H\302H)\207" [m message 2] 3]) (defalias 'vm-vs-replied #[(m) "\211\302H\303H)\207" [m message 2 4] 3]) (fset 'vm-vs-answered 'vm-vs-replied) (defalias 'vm-vs-forwarded #[(m) "\211\302H\303H)\207" [m message 2 6] 3]) (defalias 'vm-vs-redistributed #[(m) "\211\302H\303H)\207" [m message 2 8] 3]) (defalias 'vm-vs-filed #[(m) "\211\302H\303H)\207" [m message 2 3] 3]) (defalias 'vm-vs-written #[(m) "\211\302H\303H)\207" [m message 2 5] 3]) (defalias 'vm-vs-marked #[(m) "\211\302H\303H)\207" [m message 1 2] 3]) (defalias 'vm-vs-edited #[(m) "\211\302H\303H)\207" [m message 2 7] 3]) (defalias 'vm-vs-undeleted #[(m) "\211\302H\302H)?\207" [m message 2] 3]) (defalias 'vm-vs-unreplied #[(m) "\211\302H\303H)?\207" [m message 2 4] 3]) (fset 'vm-vs-unanswered 'vm-vs-unreplied) (defalias 'vm-vs-unforwarded #[(m) "\211\302H\303H)?\207" [m message 2 6] 3]) (defalias 'vm-vs-unredistributed #[(m) "\211\302H\303H)?\207" [m message 2 8] 3]) (defalias 'vm-vs-unfiled #[(m) "\211\302H\303H)?\207" [m message 2 3] 3]) (defalias 'vm-vs-unwritten #[(m) "\211\302H\303H)?\207" [m message 2 5] 3]) (defalias 'vm-vs-unmarked #[(m) "\211\302H\303H)?\207" [m message 1 2] 3]) (defalias 'vm-vs-unedited #[(m) "\211\302H\303H)?\207" [m message 2 7] 3]) (byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\210\300\310\302\311#\210\300\312\302\313#\210\300\314\302\315#\210\300\316\302\317#\210\300\320\302\321#\210\300\322\302\323#\210\300\324\302\325#\210\300\326\302\327#\210\300\330\302\331#\210\300\332\302\333#\210\300\334\302\335#\210\300\301\336\337#\210\300\304\336\304#\210\300\306\336\337#\210\300\310\336\337#\210\300\312\336\337#\210\300\314\336\337#\210\300\316\336\337#\210\300\320\336\337#\210\300\322\336\337#\210\300\324\336\337#\210\300\326\336\340#\210\300\330\336\340#\210\300\332\336\340#\210\300\334\336\340#\207" [put header vm-virtual-selector-clause "with header matching" label "with label of" text "with text matching" header-or-text "with header or text matching" recipient "with recipient matching" author-or-recipient "with author or recipient matching" author "with author matching" subject "with subject matching" sent-before "sent before" sent-after "sent after" more-chars-than "with more characters than" less-chars-than "with less characters than" more-lines-than "with more lines than" less-lines-than "with less lines than" vm-virtual-selector-arg-type string number] 4) (defalias 'vm-read-virtual-selector #[(prompt) "\306\211\307\n \"\310 !\211\311N\211\203O\n\312\313O\314 \315N\316R\317\320 !\210\f\321=\2032\322\n!\202O\f\323=\203K\306\324\307\n\325!\306#\227*\202O\326\n!)\327\310\330\331 !P!!\204`\332\333!\210 *D\207" [arg selector prompt vm-supported-interactive-virtual-selectors arg-type completion-ignore-case nil vm-read-string intern vm-virtual-selector-arg-type 0 -2 " " vm-virtual-selector-clause ": " raise-frame selected-frame number vm-read-number label t vm-obarray-to-string-list read-string fboundp "vm-vs-" symbol-name error "Invalid selector" vm-completion-auto-correct vm-label-obarray] 6]) (defalias 'vm-virtual-quit #[nil "\212\306=\203p\307\310 \311#\211\np\311\211\203/@q\210\312\f\"A\211\204 \205l @\211\313H\314HJ)\312 @ @\211\313H\314HJ)\211\315H\313HJ)\"\211\315H\313HL\210* A\211\2043\316,\202\206\317=\205\206\307\310\311#\211\n\316p\311 \203\321 @\211\315H\313HJ)\211\203\271@\320 \211\313H\321 I\210*A\211\204\237 @\316\211\315H\313HL\210* A\211\204\216\205\205@q\210\312\f \"!\203I!@\211\313H\321H)\320\232\203I\322 \210!!\203!@\211\313H\321H)\320\232\203!A\211!\204!\204I\211!\203I!@\211\313H\321H)\320\232\203I!@\211\313H\323HJ)\211!\204'\307\324\n\316#!\204W\n!\"\204_\316\"\325 \210\326 \210\327\311!\210\330\311!\210!\203x\331 \210\202{\332 \210A\211\204\326\316-)\207" [major-mode vm-real-buffers vm-message-list inhibit-quit b mp vm-virtual-mode vm-delete buffer-name t delq 1 5 4 nil vm-mode "Q" 8 vm-garbage-collect-message 6 #[(m) "\211\302H\303H)\304\232\207" [m message 1 8 "Q"] 3] vm-clear-virtual-quit-invalidated-undos vm-reverse-link-messages vm-set-numbering-redo-start-point vm-set-summary-redo-start-point vm-preview-current-message vm-update-summary-and-mode-line bp vm-virtual-buffers message list vmp number vm-message-pointer vm-last-message-pointer] 6]) (defalias 'vm-virtual-save-folder #[(prefix) "\212\303\304\305#\211\211\203 @q\210\306\n!\210 A\211\204 *\307\310!\210\311 \210\312 \207" [vm-real-buffers bp prefix vm-delete buffer-name t vm-save-folder vm-set-buffer-modified-p nil vm-clear-modification-flag-undos vm-update-summary-and-mode-line] 5]) (defalias 'vm-virtual-get-new-mail #[nil "\212\302\303\304#\211\211\203 @q\210\305\306\307\217\210 A\211\204 *\310 \207" [vm-real-buffers bp vm-delete buffer-name t error-data (vm-get-new-mail) ((folder-read-only (byte-code "\301\302\206\303 \"\210\304\305!\207" [buffer-file-name message "Folder is read only: %s" buffer-name sit-for 1] 3)) (unrecognized-folder-type (byte-code "\301\302\206\303 \"\210\304\305!\207" [buffer-file-name message "Folder type is unrecognized: %s" buffer-name sit-for 1] 3))) vm-emit-totals-blurb] 5]) (defalias 'vm-make-virtual-copy #[(m) "~\210p\211\306H\307HJ)\310\311 \312\216\212\f\211\306H\313H)q\210\214~\210\f\211\314H\315H\2043\316 \310\211#\210)\317 \f\211\314H\314H)\f\211\314H\307H)#\210+\211\314H\314H)e\310\223\210\211\314H\306H)\211\314H\314H)\f\211\314H\306H)\f\211\314H\314H)Z\\\310\223\210\211\314H\315H\206\217\316 \310\211#\210 \314H\315H)\211\314H\314H)\f\211\314H\315H\206\255\316 \310\211#\210 \314H\315H)\f\211\314H\314H)Z\\\310\223\210\211\314H\320H\206\316\321 !\210 \314H\320H)\211\314H\314H)\f\211\314H\320H\206\352\321 !\210 \314H\320H)\f\211\314H\314H)Z\\\310\223\210\211\314H\322H)\211\314H\314H)\f\211\314H\322H)\f\211\314H\314H)Z\\\310\223\210\211\314H\307H)\211\314H\314H)\f\211\314H\307H)\f\211\314H\314H)Z\\\310\223,\207" [m message modified buffer-read-only real-m virtual-buffer 1 5 nil buffer-modified-p ((set-buffer-modified-p modified)) 9 0 2 vm-reorder-message-headers copy-to-buffer 3 vm-find-and-set-text-of 4] 7]) (provide 'vm-virtual) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:37 2004 ;;; from file /Users/kyle/vm/vm-window.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-window.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defalias 'vm-display #[(buffer display commands configs &optional do-not-raise) ";\203 \306!p\307\216\205\310!\211\205\311\n!\n\203-\f\203- \204-\312 !\210\n\203@\f\203@\313 =\204@\314 !\210\203\f\203\203b\315!\204b\212q\210\316\317!\210)\320!\202\301>\205u\321\322\"\205u\315!?\205\301\323!\202\301\203\264\f\204\264\203\235\315!\203\235\212q\210\316\324!)\202\301>\205\252\321\322\"?\205\301\325!\202\301>\205\301\321\322\",\207" [buffer vm-sbe-buffer w wf display do-not-raise get-buffer ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) vm-get-buffer-window vm-window-frame vm-raise-frame vm-selected-frame vm-select-frame vm-get-visible-buffer-window run-hooks vm-display-buffer-hook switch-to-buffer apply vm-set-window-configuration vm-display-buffer vm-undisplay-buffer-hook vm-undisplay-buffer this-command commands configs] 4]) (defalias 'vm-display-buffer #[(buffer) "\305= \205\n \204\305=\203&\306\307\310 !!9\203&\311\312\f!!\202)\313\f!*\207" [vm-mutable-windows pop-up-frames vm-mutable-frames pop-up-windows buffer t vm-buffer-to-label window-buffer selected-window select-window display-buffer switch-to-buffer] 3]) (defalias 'vm-undisplay-buffer #[(buffer) "p\305\216 \205 \n\306 !\210)\307\310 !\211\205#\311\f\312 !\"\210\202+\207" [vm-sbe-buffer vm-mutable-frames pop-up-frames buffer w ((byte-code "p=\204\301!\203q\210\301\207" [vm-sbe-buffer buffer-name] 2)) vm-maybe-delete-windows-or-frames-on nil vm-get-buffer-window set-window-buffer other-buffer] 4]) (defalias 'vm-load-window-configurations #[(file) "\212\303\304\216\305\306!\211q\210 \203\307\303!\210\310 \210\303\311\312\217\211+\207" [work-buffer vm-fsfemacs-mule-p vm-window-configurations nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) get-buffer-create "*vm-wconfig*" set-buffer-multibyte erase-buffer (byte-code "\203\304\202 \203\304\202\305\306 !\210)\307p!\207" [vm-xemacs-mule-p vm-xemacs-file-coding-p coding-system-for-read file no-conversion raw-text insert-file-contents read] 2) ((error))] 3]) (defalias 'vm-store-window-configurations #[(file) "\212\306\307\216\310\311!\211q\210 \203\312\306!\210\313\314!\203.\314\n\203#\315\202, \203+\315\202,\316!\210\317 \210\320\fp\"\210\n\203>\315\202G \203F\315\202G\316\306\321ed\306\322%-\207" [work-buffer vm-fsfemacs-mule-p vm-xemacs-mule-p vm-xemacs-file-coding-p vm-window-configurations selective-display nil ((byte-code "\203\301!\210\301\207" [work-buffer kill-buffer] 2)) get-buffer-create "*vm-wconfig*" set-buffer-multibyte fboundp set-buffer-file-coding-system no-conversion raw-text erase-buffer print write-region 0 coding-system-for-write file] 6]) (defalias 'vm-set-window-configuration #[(&rest tags) "\300\301\215\207" [done (byte-code "\204 \306\307\310\"\210\311\312\313 \310\211\211\211\211\211\"#$%&\2039 \2049&@'\236&A\211&\204% \204B\314'\236 \204K\306\307\310\"\210\315 !\316\317!(\320=\203v)\203f\321)!\204n\306\307\310\"\210\202\np)\202\n(\322=\203\232)\203\211\321)!\204\221\306\307\310\"\210\202\np\")\202\n(\323=\203\246p\202\n(\324=\203\263)\202\n(\325=\203\277p\202\n(\326=\203\342)\203\322\321)!\204\332\306\307\310\"\210\202\n)p\202\n*\327=\203)\203\365\321)!\204\375\306\307\310\"\210\202\np)\202\n\306\307\310\"\210\fq\210\330 \210+\203+\331 \210\"\204),\206'%\" \2045-\2064$ \204<%\n\204C%\332 A@\321\333#\210\334 A@\335\"\210\336%!\203^\337%!\210\340$!\203t\340\f!\204t\341$\f\"\210\202\200\336$!\203\200\337$!\210 . \207" [vm-mutable-windows config edit composition message summary throw done nil " *vm-nonexistent*" " *vm-nonexistent-summary*" vm-selected-frame default vm-copy vm-find-composition-buffer t vm-summary-mode buffer-name vm-folders-summary-mode vm-mode vm-presentation-mode vm-virtual-mode mail-mode editing vm-check-for-killed-presentation vm-check-for-killed-summary tapestry-replace-tapestry-element #[(x) "9\203J\207;\203!\302!\203!\212q\210\303 )\304U\203! \207\207" [x nonexistent get-buffer buffer-size 0] 2] set-tapestry 1 get-buffer vm-maybe-delete-windows-or-frames-on vm-get-buffer-window vm-replace-buffer-in-windows folders-summary selected-frame nonexistent-summary nonexistent tags vm-window-configurations major-mode vm-mail-buffer vm-system-state vm-presentation-buffer vm-folders-summary-buffer vm-summary-buffer] 10)] 2]) (defalias 'vm-save-window-configuration #[(tag) "\204\305\306!\210\307\211\310\311 C!\211\307\240\210\312\n\313\314#\210\315\n\316\307\316\211\211\307&\210 \f\236\211\2037 A\n\240\210\202= \nD\fB\317!\210\320\321 \"*\207" [vm-window-configuration-file p map tag vm-window-configurations error "Configurable windows not enabled. Set vm-window-configuration-file to enable." nil tapestry vm-selected-frame tapestry-replace-tapestry-element buffer-name vm-buffer-to-label tapestry-nullify-tapestry-elements t vm-store-window-configurations message "%s configuration recorded"] 9 "\ Name and save the current window configuration. With this command you associate the current window setup with an action. Each time you perform this action VM will duplicate this window setup. Nearly every VM command can have a window configuration associated with it. VM also allows some category configurations, `startup', `reading-message', `composing-message', `editing-message', `marking-message' and `searching-message' for the commands that do these things. There is also a `default' configuration that VM will use if no other configuration is applicable. Command specific configurations are searched for first, then the category configurations and then the default configuration. The first configuration found is the one that is applied. The value of vm-mutable-windows must be non-nil for VM to use window configurations." (let ((last-command last-command) (this-command this-command)) (if (null vm-window-configuration-file) (error "Configurable windows not enabled. Set vm-window-configuration-file to enable.")) (list (intern (completing-read "Name this window configuration: " vm-supported-window-configurations 'identity t))))]) (defalias 'vm-buffer-to-label #[(buf) "\212q\210 \303=\203\304\202K \305=\203\306\202K \307=\203\"\310\202K \311=\203,\312\202K \313=\2036\312\202K \314=\203@\312\202K\n\315=\203J\316\202K)\207" [buf major-mode vm-system-state vm-summary-mode summary vm-folders-summary-mode folders-summary mail-mode composition vm-mode message vm-presentation-mode vm-virtual-mode editing edit] 2]) (defalias 'vm-delete-window-configuration #[(tag) "\204\304\305!\210\306\n \236\211\203' @=\203 A\202,\307 \"\202,\304\310\n\"\210)\311!\210\312\313\n\"\207" [vm-window-configuration-file p tag vm-window-configurations error "Configurable windows not enabled. Set vm-window-configuration-file to enable." nil delq "No window configuration set for %s" vm-store-window-configurations message "%s configuration deleted"] 4 "\ Delete the configuration saved for a particular action. This action will no longer have an associated window configuration. The action will be read from the minibuffer." (let ((last-command last-command) (this-command this-command)) (if (null vm-window-configuration-file) (error "Configurable windows not enabled. Set vm-window-configuration-file to enable.")) (list (intern (completing-read "Delete window configuration: " (mapcar #'(lambda (x) (list (symbol-name (car x)))) vm-window-configurations) 'identity t))))]) (defalias 'vm-apply-window-configuration #[(tag) "\301!\207" [tag vm-set-window-configuration] 2 "\ Change the current window configuration to be one associated with a particular action. The action will be read from the minibuffer." (let ((last-command last-command) (this-command this-command)) (list (intern (completing-read "Apply window configuration: " (mapcar #'(lambda (x) (list (symbol-name (car x)))) vm-window-configurations) 'identity t))))]) (defalias 'vm-window-help #[nil "\300\301!\207" [message "WS = save configuration, WD = delete configuration, WW = apply configuration"] 2 nil nil]) (defalias 'vm-iconify-frame #[nil "\302 \210\203\303!\204\304\305!\210q\210\202! \306>\204!\304\307!\210\310 \205,\311\312!\210\313 \207" [vm-mail-buffer major-mode vm-check-for-killed-summary buffer-name error "Folder buffer has been killed." (vm-mode vm-virtual-mode) "No VM folder buffer associated with this buffer" vm-multiple-frames-possible-p run-hooks vm-iconify-frame-hook vm-iconify-frame-xxx] 2 "\ Iconify the current frame. Run the hooks in vm-iconify-frame-hook before doing so." nil]) (defalias 'vm-window-loop #[(action obj-1 &optional obj-2) "\306\211\205\307\306\211\310\311 \312 #\211\203\"\313!\f\204~ \203A \310 \312\"=\204A\314 !\210 \n=\203?\306\306\315=\203V\316 !=\203V \202l\317=\203l\316 !=\203l\320 \"\210\n\306\321\322\217\211=\n\204\" \202\" \205\217 \310 \312\"=?\205\217\314 !-\207" [vm-search-other-frames w start all-frames done delete-me nil t next-window selected-window nomini get-buffer delete-window delete window-buffer replace set-window-buffer (byte-code "\302\303 #\207" [w all-frames next-window nomini] 4) ((wrong-number-of-arguments (byte-code "\301\302\"\207" [w next-window nomini] 3))) obj-1 action obj-2] 6]) (defalias 'vm-frame-loop #[(action obj-1) "\306\307!\205\200\307\310 !\311\211\211\211\f\203\312\f! \204m\n\203*\311\313\314\217\210\311 \315=\203R\316\317!\320\"\321\317!\320\"=\203R\f\322\316\317!\320\"!=\203R\202\\ \323=\203\\\324\f!\210 \307!\211= \204\202\n\205\325\n!\205\326\327\n\"\210\311\211,\207" [f done delete-me start obj-1 action fboundp vm-next-frame vm-selected-frame nil get-buffer (byte-code "\302!\203\303!\210 =\203\304\304\207" [delete-me start vm-created-this-frame-p vm-delete-frame nil] 2) ((error)) delete next-window vm-frame-selected-window nomini previous-window window-buffer bury bury-buffer vm-created-this-frame-p vm-error-free-call vm-delete-frame] 6]) (defalias 'vm-maybe-delete-windows-or-frames-on #[(buffer) "\303=\203 \304\305 \"\210\n\205\306\305 \"\207" [vm-mutable-windows buffer vm-mutable-frames t vm-window-loop delete vm-frame-loop] 3]) (defalias 'vm-replace-buffer-in-windows #[(old new) "\302\303 #\207" [old new vm-window-loop replace] 4]) (defalias 'vm-bury-buffer #[(&optional buffer) "\204p \203\302 \203\303\304\"\207\305!\207\305!\207" [buffer vm-xemacs-p vm-multiple-frames-possible-p vm-frame-loop bury bury-buffer] 3]) (defalias 'vm-unbury-buffer #[(buffer) "\212\300\213)\207" [((byte-code "\300\301\302\217\207" [data (switch-to-buffer buffer) ((error))] 3))] 1]) (defalias 'vm-get-buffer-window #[(buffer) "\300\301\302\217\207" [nil (byte-code "\302\303\211#\206 \205\302\304\211#\207" [buffer vm-search-other-frames get-buffer-window nil t] 4) ((wrong-number-of-arguments (byte-code "\300\301\302\217\207" [nil (byte-code "\302\303\"\206 \205\302\304\"\207" [buffer vm-search-other-frames get-buffer-window nil t] 3) ((wrong-number-of-arguments (get-buffer-window buffer)))] 3)))] 3]) (defalias 'vm-get-visible-buffer-window #[(buffer) "\300\301\302\217\207" [nil (byte-code "\302\303\211#\206 \205\302\304\303#\207" [buffer vm-search-other-frames get-buffer-window nil t] 4) ((wrong-number-of-arguments (byte-code "\300\301\302\217\207" [nil (byte-code "\302\303\"\206 \205\302\304\"\207" [buffer vm-search-other-frames get-buffer-window nil visible] 3) ((wrong-number-of-arguments (get-buffer-window buffer)))] 3)))] 3]) (defalias 'vm-set-hooks-for-frame-deletion #[nil "\300\301!\210\302\301\303\"\210\302\304\303\"\207" [make-local-variable vm-undisplay-buffer-hook add-hook vm-delete-buffer-frame kill-buffer-hook] 3]) (defalias 'vm-created-this-frame-p #[(&optional frame) "\206\302 >\207" [frame vm-frame-list vm-selected-frame] 2]) (defalias 'vm-delete-buffer-frame #[nil "\2059\212\305\300\306\"\210\307p!p \205\310 ! \203.\311 =\203.\312 !\203.\313\314 \"\210 \2058\315\316\n!),\207" [vm-undisplay-buffer-hook w b wf vm-mutable-frames remove-hook vm-delete-buffer-frame vm-get-visible-buffer-window vm-window-frame vm-selected-frame vm-created-this-frame-p vm-error-free-call vm-delete-frame t vm-maybe-delete-windows-or-frames-on] 3]) (defalias 'vm-register-frame #[(frame) " B\211\207" [frame vm-frame-list] 2]) (defalias 'vm-goto-new-frame #[(&rest types) "\304 \203\204 @\n\236A@ A\211\204\305\306!\203'\307\306!!\210\202B\305\310!\2036\311\310!!\210\202B\305\312!\203B\311\312!!\210\313\314 !\210 \205O\315\314 !)\207" [params types vm-frame-parameter-alist vm-warp-mouse-to-new-frame nil fboundp make-frame select-frame make-screen select-screen new-screen vm-register-frame vm-selected-frame vm-warp-mouse-to-frame-maybe] 4]) (defalias 'vm-goto-new-summary-frame-maybe #[nil "\205. \205.\305 \205.\306\n!\211\204\307\310!\210\311 \202-\212\312 !\210\f\205,\313\314 !!))\207" [vm-mutable-frames vm-frame-per-summary vm-summary-buffer w vm-warp-mouse-to-new-frame vm-multiple-frames-possible-p vm-get-buffer-window vm-goto-new-frame summary vm-set-hooks-for-frame-deletion select-window vm-warp-mouse-to-frame-maybe vm-window-frame] 4]) (defalias 'vm-goto-new-folders-summary-frame-maybe #[nil "\205. \205.\305 \205.\306\n!\211\204\307\310!\210\311 \202-\212\312 !\210\f\205,\313\314 !!))\207" [vm-mutable-frames vm-frame-per-folders-summary vm-folders-summary-buffer w vm-warp-mouse-to-new-frame vm-multiple-frames-possible-p vm-get-buffer-window vm-goto-new-frame folders-summary vm-set-hooks-for-frame-deletion select-window vm-warp-mouse-to-frame-maybe vm-window-frame] 4]) (defalias 'vm-goto-new-folder-frame-maybe #[(&rest types) "\205D \205D\306 \205D\307p!\206$\n\203\307\n!\206$ \205$\307 !\211\2043\310\311 \"\210\312 \202C\212\313\f!\210\205B\314\315\f!!))\207" [vm-mutable-frames vm-frame-per-folder vm-summary-buffer vm-presentation-buffer w types vm-multiple-frames-possible-p vm-get-buffer-window apply vm-goto-new-frame vm-set-hooks-for-frame-deletion select-window vm-warp-mouse-to-frame-maybe vm-window-frame vm-warp-mouse-to-new-frame] 4]) (defalias 'vm-warp-mouse-to-frame-maybe #[(&optional frame) "\204\302 \303 \205\232\304 \203s\305\306!\203;\306 \211@\205&\307 @!\310 =?\2059\311\312!\313!\314\245\315!\314\245#)\207\316!\211@\317Y\205^ @\320\321\"X\205^ A\317Y\205^ A\320\322\"X?\205q\311\320\321\"\314\245\320\322\"\314\245#)\207\323 \205\232\306 \211@=\205\205 A@?\205\231\311\313!\314\245\315!\314\245#\210\324 )\207" [frame mp vm-selected-frame vm-mouse-support-possible-here-p vm-mouse-xemacs-mouse-p fboundp mouse-position window-frame selected-frame set-mouse-position frame-highest-window frame-width 2 frame-height read-mouse-position 0 apply screen-width screen-height vm-fsfemacs-p unfocus-frame] 7]) (byte-code "\300\301\302!\203 \302\202\301\303!\203\303\202\304KM\210\305\301\306!\203$\306\202/\301\307!\203.\307\202/\304KM\207" [vm-selected-frame fboundp selected-frame selected-screen ignore vm-delete-frame delete-frame delete-screen] 3) (defalias 'vm-iconify-frame-xxx #[(&optional frame) "\301\302!\203\n\302!\207\301\303!\205\303\206\304 !\207" [frame fboundp iconify-frame iconify-screen selected-screen] 2]) (byte-code "\300\301\302!\203 \302\202\301\303!\203\303\202\304KM\210\305\301\306!\203$\306\202/\301\307!\203.\307\202/\304KM\210\301\310!\203?\311\310M\210\202C\311\312M\210\300\207" [vm-raise-frame fboundp raise-frame raise-screen ignore vm-frame-visible-p frame-visible-p screen-visible-p frame-iconified-p vm-frame-iconified-p #[(&optional frame) "\301!\302=\207" [frame vm-frame-visible-p icon] 2]] 3) (defalias 'vm-frame-totally-visible-p #[(&optional frame) "\204\301 \302!\303>?\207" [frame selected-frame frame-visible-p (nil hidden)] 2]) (byte-code "\300\301\302!\203 \302\202\301\303!\203\303\202\304KM\210\301\305!\2031\306\305KM\210\307\310KM\210\311\312KM\210\202X\301\313!\203T\306\313KM\210\307\314KM\210\311\301\315!\203M\315K\202O\316KM\210\202X\307\304M\210\317\320!\207" [vm-window-frame fboundp window-frame window-screen ignore next-frame vm-next-frame vm-select-frame select-frame vm-frame-selected-window frame-selected-window next-screen select-screen epoch::selected-window screen-selected-window provide vm-window] 3) ;ELC ;;; Compiled by kyle@cocoa.WonderWorks.COM on Wed Sep 29 00:10:38 2004 ;;; from file /Users/kyle/vm/tapestry.el ;;; in Emacs version 21.2.1 ;;; with bytecomp version 1.1.1.4 ;;; with all optimizations. ;;; This file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`tapestry.el' was compiled for Emacs 19 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\301B\303\301!\204\f\304\302B\303\302!\204\305\305\207" [current-load-list tapestry-version tapestry-windows-changed boundp "1.09" nil] 2) (defalias 'tapestry #[(&optional frame-list) "\206\305 \306 \307 \310\311\216\f\203+\312\f@!\210\313 \314 \315 E B\fA\211\204) ,D\207" [frame-list other-maps sf frame-map frames tapestry-frame-list tapestry-frame-map tapestry-selected-frame nil ((tapestry-select-frame sf)) tapestry-select-frame tapestry-window-map tapestry-buffer-map tapestry-position-map] 5 "\ Returns a list containing complete information about the current configuration of Emacs frames, windows, buffers and cursor positions. Call the function set-tapestry with the list that this function returns to restore the configuration. Optional first arg FRAME-LIST should be a list of frames; only configuration information about these frames will be returned. The configuration information is returned in a form that can be saved and restored across multiple Emacs sessions."]) (defalias 'set-tapestry #[(map &optional n root-window-edges) "\306 \307\211\211\211\211@A@\203#\204#\310\203V\307S 8\211\204;\311\312\"\210\313@\"\314A@\"\210\315\3168\")\202\207\317\n!\210\320 \237\321\216 \205\206\322 @!\210\313 @@!\210\314 @A@!\210\315\316 @8!\210 A A\202`).\207" [other-map other-maps frame-map frame-list tapestry-windows-changed sf tapestry-selected-frame nil 1 error "No such map, %d" tapestry-set-window-map tapestry-set-buffer-map tapestry-set-position-map 2 tapestry-set-frame-map tapestry-frame-list ((byte-code "\301!\203\n\302!\210\301\207" [sf tapestry-frame-live-p tapestry-select-frame] 2)) tapestry-select-frame map root-window-edges n first-window] 7 "\ Restore the frame/window/buffer configuration described by MAP, which should be a list previously returned by a call to tapestry. Optional second arg N causes frame reconfiguration to be skipped and the windows of the current frame will configured according to the window map of the Nth frame in MAP. Optional third arg ROOT-WINDOW-EDGES non-nil should be a list containing the edges of a window in the current frame. This list should be in the same form as returned by the `window-edges' function. The window configuration from MAP will be restored in this window. If no window with these exact edges exists, a window that lies entirely within the edge coordinates will be expanded until the edge coordinates match or the window bounded by ROOT-WINDOW-EDGES is entirely contained within the expanded window. If no window entirely within the ROOT-WINDOW-EDGES edge coordinates can be found, the window with the greatest overlap of ROOT-WINDOW-EDGES will be used."]) (defalias 'tapestry-frame-map #[nil "\304\305\306 \"\307\211\211\211\306 \n\203C\310\n@\236\211\203:\311 A!\203:\312 A!@=\2036 \313\241\210\202: \314\241\210\nAA\202 ,\207" [frame-list cell list map mapcar tapestry-frame-parameters tapestry-frame-list nil minibuffer windowp tapestry-window-frame t none] 5]) (defalias 'tapestry-set-frame-map #[(map) "\302  \203\303 @!\210 A\211\204\205$\304@!\210A\211\204\305)\207" [doomed-frames map tapestry-frame-list tapestry-make-frame tapestry-delete-frame nil] 3]) (defalias 'tapestry-window-map #[nil "\306\211\211\211\211\211\211\307\310\311 \"A\203\242 A\203 A\312 @!\312\f@! @\n@U\205@\313 8\313\n8U A@\nA@U\205R\314 8\314\n8U \204b\204b A\211\202 \203n @@\315=\204z\203\211 @@\316=\203\211 @\f@C\244\210 \fA\241\210\202 \203\222\315\202\223\316 @\f@E\240\210 \fA\241\210\202@.\207" [y-unchanged x-unchanged map1-edges map0-edges map1 map0 nil mapcar tapestry-window-edges tapestry-window-list tapestry-find-window-map-edges 2 3 - | maps] 8]) (defalias 'tapestry-set-window-map #[(map &optional root-window-edges) "\306!\307!\310\f\203\317\310\211\211\211\211\211\211\211 \204\277\310\310\310\311\312 \211\203\231\313@!\314!\f\232\203]@\310\211\202:\315\f\"\211\203m\314 !\202n\316\314! W\203\204 @ U\203\220@A\211\204=\203\245\211\202&\203\270\317\320!\204%\321!\210\202%\211\203)\322 \n $\210\320 .\202\355\323 \n#\203\334\324 \202\355\325 \210\326 \322 \n $\210\320 +\207" [map root-window map-height map-width root-window-edges overlap tapestry-compute-map-width tapestry-compute-map-height nil -1 tapestry-window-list tapestry-window-edges tapestry-window-area tapestry-window-overlap 0 one-window-p t delete-window tapestry-apply-window-map tapestry-windows-match-map tapestry-first-window delete-other-windows selected-window max-overlap overlap-w inside-w exact-w w-area w-edges w-list tapestry-windows-changed] 9]) (defalias 'tapestry-buffer-map #[nil "\303 \304\211\211\203!\305\n@!\306 !\307 !DB\nA\211\204 \237+\207" [list b w-list tapestry-window-list nil window-buffer buffer-file-name buffer-name] 4]) (defalias 'tapestry-set-buffer-map #[(buffer-map &optional first-window) "\306!\307\211\211\f\205M \205M @\211@\203(\310 @!\206-\311 @!\202-\312 A@!\313\f@! \204>\n =\204D\314\f@\n\"\210\fA A\202\n,\207" [first-window cell proposed-wb current-wb w-list buffer-map tapestry-window-list nil get-file-buffer find-file-noselect get-buffer-create window-buffer set-window-buffer tapestry-windows-changed] 5]) (defalias 'tapestry-position-map #[nil "\303 \304 \305 \203'\306 @!\307 @!\310 @! @\n=FB A\211\204\f\237+\207" [list w-list sw selected-window tapestry-window-list nil window-start window-point window-hscroll] 6]) (defalias 'tapestry-set-position-map #[(position-map &optional first-window) "\306!\307 \310\211\f\203U \203U @\211@\203\"\311\f@ @\"\210 A@\2030\312\f@ A@\"\210\313 8\203>\314\f@\313 8\"\210\315 8\203G\f@\316\f@!\210\fA A\202 \316\n\206[ !,\207" [first-window p sw osw w-list position-map tapestry-window-list selected-window nil set-window-start set-window-point 2 set-window-hscroll 3 select-window] 5]) (defalias 'tapestry-apply-window-map #[(map map-width map-height current-window &optional root-window-width root-window-height) "\306\211\307 \204\310\f!\311\f!\203\216@\247\203$\307\202\205@\312=\2031\307\202\205@\313=\203>\314\202\205A\203d\315\f\203W\316@! _\245\202a\317@! _\245#\210@@\247\204z\320@\f &A\203\205\321\f\322\"A\211\204\f+\207" [horizontal window-min-width window-min-height root-window-width current-window root-window-height 1 nil window-height window-width - | t split-window tapestry-compute-map-width tapestry-compute-map-height tapestry-apply-window-map next-window 0 map map-width map-height] 8]) (defalias 'tapestry-windows-match-map #[(map &optional map-width map-height window-map window-map-width window-map-height) "\204\f\306 !\307 ! \204\310 \307 !\306 !\311 @\247\203` @\247\205\351 @ _\245 @U\205\351 A@\f_\n\245 A@U\205\351\312 8 _\245\312 8U\205\351\313 8\f_\n\245\313 8U\202\351 @\314=\203\246 @\314=\205\351 A A\203\227 \203\227 \203\227\315 @\n @ \f& A A\202t\205\351 ?\205\351 ?\202\351 @\316=\205\351 @\316=\205\351 A A\203\335 \203\335 \203\335\315 @\n @ \f& A A\202\272\205\351 ?\205\351 ?)\207" [map-width map map-height window-map window-map-height window-map-width tapestry-compute-map-width tapestry-compute-map-height tapestry-window-map t 2 3 - tapestry-windows-match-map | result] 7]) (defalias 'tapestry-find-window-map-edges #[(map) "\303\211\n\211:\203 @\247\204 A@\211\202\n\211:\2039@\247\2049A\2032A\211\202'@\211\202 =\203C \202O\304 !\211AAA\241\210 *\207" [se-edges nw-edges map nil copy-sequence] 3]) (defalias 'tapestry-compute-map-width #[(map) "\302!\303 8 @Z)\207" [map edges tapestry-find-window-map-edges 2] 2]) (defalias 'tapestry-compute-map-height #[(map) "\302!\303 8 A@Z)\207" [map edges tapestry-find-window-map-edges 3] 2]) (defalias 'tapestry-delassq #[(elt list) "\304 \2032 @@=\203)\n\204A\211\211\202\n A\241\210 A\211\202  A\211\204*\207" [list curr prev elt nil] 3]) (defalias 'tapestry-remove-frame-parameters #[(map params) "\303 \205%\n@\211\203\304 @@\"\240\210A\211\204 A\211\204\303)\207" [frame-map params map nil tapestry-delassq] 5]) (defalias 'tapestry-nullify-tapestry-elements #[(map &optional buf-file-name buf-name window-start window-point window-hscroll selected-window) "\306 A@\211\205p @A@\211\203-\n\203@\306\240\210 \203&@A\306\240\210A\211\204\307 @8\211\203h\f\203?@\306\240\210 \203I@A\306\240\210 \203U@AA\306\240\210\n\203a\310@\233\306\240\210A\211\2046 A\211\204\n\306)\207" [p map buf-file-name buf-name window-start window-point nil 2 3 window-hscroll selected-window] 3]) (defalias 'tapestry-replace-tapestry-element #[(map what function) "\306\211\211\211\211 \307=\203\310\311\202U \312=\203$\310\310\202U \313=\2031\314\311\202U \315=\203>\314\310\202U \316=\203K\314\314\202U \317=\203U\314\320A@\211\205\221\f@8\211\203\207 \n@8 ! \232\204\200 \n@\233\240\210\nA\211\204iA\211\204_\306-\207" [new old p mapj mapi what nil buffer-file-name 1 0 buffer-name window-start 2 window-point window-hscroll selected-window 3 map function] 6]) (defalias 'tapestry-window-list #[(&optional first-window) "\206\304 \211\305B\211\306\307\"\211=\204'\n \305B\241\306 \307\"\211\202 ,\207" [first-window windows current-cons w tapestry-first-window nil next-window nomini] 4]) (defalias 'tapestry-first-window #[nil "\303 \304\305 !=\203\306\305 !\207\307 \310\311 \236A\206\312\313\314\n!\211@\312U\2031 A@Y\2049\306\n\315\"\202\n+\207" [edges top w tapestry-selected-frame tapestry-window-frame minibuffer-window next-window selected-window menu-bar-lines tapestry-frame-parameters 0 nil tapestry-window-edges nomini] 3]) (defalias 'tapestry-window-area #[(edges) "\3018A@Z\3028@Z_\207" [edges 3 2] 3]) (defalias 'tapestry-window-overlap #[(e0 e1) "\306\211\211\211\f@ @X\203 @\307\f8W\203 @\2023 @\f@X\2033\f@\307 8W\2033\f@\f@\307 8W\203M\307 8\307\f8X\203M\307 8\202d @\307\f8W\203d\307\f8\307 8X\203d\307\f8\fA@ A@X\203 A@\310\f8W\203 A@\202\227 A@\fA@X\203\227\fA@\310 8W\203\227\fA@\fA@\310 8W\203\262\310 8\310\f8X\203\262\310 8\202\312 A@\310\f8W\203\312\310\f8\310 8X\203\312\310\f8\n\205\337 \205\337\205\337 \205\337\n  F,\207" [right bottom left top e0 e1 nil 2 3] 4]) (defalias 'tapestry-window-edges #[(&optional window) "\303\304!\203J\303\305!\203J\303\306!\203J\304!\307\211\211\211@\305\310!\245\240\210 A\211\211@\306\310!\245\240\210 A\211\211@\305\310!\245\240\210 A\211\211@\306\310!\245\240\210\n*\207\311!\207" [window tmp edges fboundp window-pixel-edges face-width face-height nil default window-edges] 5]) (defalias 'tapestry-frame-list #[nil "\300\301!\203 \301 \207\302C\207" [fboundp frame-list nil] 2]) (defalias 'tapestry-frame-parameters #[(&optional f) "\301\302!\205 \302!\207" [f fboundp frame-parameters] 2]) (defalias 'tapestry-window-frame #[(w) "\301\302!\205 \302!\207" [w fboundp window-frame] 2]) (defalias 'tapestry-modify-frame-parameters #[(f alist) "\302\303!\205\n\303 \"\207" [f alist fboundp modify-frame-parameters] 3]) (defalias 'tapestry-select-frame #[(f) "\301\302!\205 \302!\207" [f fboundp select-frame] 2]) (defalias 'tapestry-selected-frame #[nil "\300\301!\205\301 \207" [fboundp selected-frame] 2]) (defalias 'tapestry-next-frame #[(&optional f all) "\302\303!\205\n\303 \"\207" [f all fboundp next-frame] 3]) (defalias 'tapestry-make-frame #[(&optional alist) "\301\302!\205 \302!\207" [alist fboundp make-frame] 2]) (defalias 'tapestry-delete-frame #[(&optional f) "\301\302!\205 \302!\207" [f fboundp delete-frame] 2]) (defalias 'tapestry-frame-live-p #[(f) "\301\302!\203\n\302!\207\303\207" [f fboundp frame-live-p t] 2]) (provide 'tapestry)