;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