;ELC ;;; compiled by kyle@crystal.WonderWorks.COM on Wed Aug 12 23:03:47 1998 ;;; from file /local/home/kyle/vm/6/vm-delete.el ;;; emacs version 19.34.2. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-delete.el' was compiled for Emacs 19")) (provide (quote vm-delete)) (defalias 'vm-delete-message #[(count) "t  !! q +pC\" \n= !a@HHX@\"TAB։C$tU!U݂#  ?! =! ##)+" [vm-follow-summary-cursor vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-folder-read-only signal folder-read-only vm-error-if-folder-empty last-command vm-next-command-uses-marks vm-select-marked-or-prefixed-messages count 0 del-count mlist used-marks 2 vm-set-deleted-flag t vm-display nil (vm-delete-message vm-delete-message-backward) this-command message "No messages deleted" "%d message%s deleted" 1 "" "s" vm-update-summary-and-mode-line vm-move-after-deleting vm-circular-folders vm-next-message 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 \n[!" [vm-follow-summary-cursor vm-delete-message count] 2 "\ Like vm-delete-message, except the deletion direction is reversed." "p"]) (defalias 'vm-undelete-message #[(count) "t  !! q +pC\" \n= !a@HHX@\"TABtUx!Uق#ԉ$ ? =  ##)+" [vm-follow-summary-cursor vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-folder-read-only signal folder-read-only vm-error-if-folder-empty last-command vm-next-command-uses-marks vm-select-marked-or-prefixed-messages count 0 undel-count mlist used-marks 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 vm-move-after-undeleting vm-circular-folders t vm-next-message 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) "  !! q 'pC\"  @!\fj@HHa@!a@\"TA@tU|!Uق#,܉$   V  W  \"#\"=# %#)" [vm-follow-summary-cursor vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-folder-read-only signal folder-read-only vm-error-if-folder-empty vm-so-sortable-subject vm-message-pointer vm-message-list 0 t case-fold-search n mp subject 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 arg -1 vm-move-after-killing vm-circular-folders vm-next-message 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-expunge-folder #[(&optional shaddap) "!!q #pC\"  /!\f==\"ԉ@HHi@HHy@HHJ!@HHJzԉ!\"@HHJ@HHJB\"@HHJ\"\"y\"@HHq\"@HHJA! \"!!)!=*!A)+!=+,!@\"!@HI0T0FA!A_!A@HHL_!A!A_!A@HHL@HH\"AL!*\"A\"+@@HHJHH@@HHJHHJ\"L)=*A)+=+ \"3!!, AA&A@HHL&AA&A@HHL@\"@HI!0T0)@H@HHJH=@HHJHHq deZVԉ567 eԓ6 dԓ5~:@HHJHH@HHJHH|.APԉ$\") ?ʁ@!ʁA!." [vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-folder-read-only signal folder-read-only vm-update-summary-and-mode-line shaddap message "Expunging..." last-command vm-next-command-uses-marks vm-message-list major-mode vm-virtual-mode make-vector 29 0 nil virtual-messages prev buffers-altered virtual mp use-marks 2 1 vm-thread-obarray vm-unthread-message 5 4 curr vms 9 6 intern vm-set-numbering-redo-start-point t vm-set-summary-redo-start-point vm-message-pointer vm-system-state vm-last-message-pointer inhibit-quit vm-set-deleted-flag-of expunged 3 vm-modification-counter vm-set-buffer-modified-p delq vm-numbering-redo-start-point buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-read-only vm-display (vm-expunge-folder) (vm-expunge-folder) mapatoms #[(buffer) " !q\n \f \" \"  =2 0\f " [symbol-name buffer vm-system-state vm-garbage-collect-message vm-message-pointer nil vm-folder-type vm-update-summary-and-mode-line vm-preview-current-message major-mode vm-virtual-mode vm-message-order-changed vm-message-order-header-present vm-clear-expunge-invalidated-undos] 2] "Deleted messages expunged." "No messages are flagged for deletion."] 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]) ;ELC ;;; compiled by kyle@crystal.WonderWorks.COM on Wed Aug 12 23:03:55 1998 ;;; from file /local/home/kyle/vm/6/vm-digest.el ;;; emacs version 19.34.2. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-digest.el' was compiled for Emacs 19")) (provide (quote vm-digest)) (defalias 'vm-no-frills-encapsulate-message #[(m keep-list discard-regexp) "p``}c\fHH q~\nq` \fHH\fHH#b# #,dbc+" [nil source-buffer target-buffer "------- start of forwarded message -------\n" m 1 9 beg insert-buffer-substring 0 4 vm-reorder-message-headers "\\(X-VM-\\|Status:\\)" keep-list discard-regexp "------- end of forwarded message -------\n"] 5 "\ 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) "p \f\" \n \f ``}`\f  B \f@HHJHH ` HHHH# b#!r t #db\fA\f1GWb \n\n!Q# \nbdb\n  @b\n A bG\"cb)\n.\n" [message-list nil append keep-list vm-mime-header-list beg n start m source-buffer boundary mime-keep-list mlist boundary-positions target-buffer point-marker 1 5 9 vm-insert-region-from-buffer 0 4 vm-reorder-message-headers "\\(X-VM-\\|Status:\\)" vm-mime-plain-message-p discard-regexp 2 always-use-digest vm-mime-make-multipart-boundary re-search-forward "^--" regexp-quote "\\(--\\)?$" t "\n--" "--\n" "\n\n" format "This is a digest, %d messages, MIME encapsulation.\n"] 11 "\ 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 are fewer than two messages 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) " !! \"\f-\f@\"% \fA +" [nil vm-mime-find-digests-in-layout vm-mm-layout m list did-burst ident-header vm-digest-identifier-header-format 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) "p ǎ deZV \n 1 e\n1 d ͎~!!q!R!!@\"\n!ckc`!\n\f`#\n!c!@\"!\n!cc` @!\n\f`#\n!c A!\neb \n\" ) U q ()*db!*!+. " [nil vm-folder-type folder-type part-list start folder-buffer work-buffer ((byte-code "!" [work-buffer kill-buffer] 2)) buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) generate-new-buffer "*vm-work*" buffer-disable-undo vectorp layout error "Not a MIME message" vm-mime-types-match "message" vm-mm-layout-type vm-leading-message-separator ident-header vm-mime-insert-mime-body vm-munge-message-separators 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 inhibit-quit buffer-read-only old-buffer-modified-p insert-buffer-substring set-buffer-modified-p] 6]) (defalias 'vm-rfc934-char-stuff-region #[(start end) " “ b` W! #!Ɖ#\n) ‰" [make-marker end nil start 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) " “ b` W$ #$Ɖ#u\n) ‰" [make-marker end nil start 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) "p\n \"ĉ \n ``}` c @HHJHHq~ q`HHHH#bĉ#!t\nv\n#d\",dbc A (`y`|cb`y`|GA݂A \"#cb." [message-list append keep-list vm-mime-header-list nil n start m source-buffer mlist mime-keep-list target-buffer "---------------\n" 1 5 9 beg insert-buffer-substring 0 4 vm-reorder-message-headers "\\(X-VM-\\|Status:\\)" vm-mime-plain-message-p discard-regexp vm-rfc934-char-stuff-region "---------------" "------- end -------\n" format "------- start of %s%s(RFC 934 encapsulation) -------\n" "digest " "forwarded message " "(%d messages) " ""] 8 "\ 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) " “ b` W! #!Ɖ#\n) ‰" [make-marker end nil start 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) " “ b` W! #!Ɖ#\n) ‰" [make-marker end nil start 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) "p\n \"ĉ \n``}`c@HHJHHq~\nq`HHHH#bĉ#!p\nr #d\",dbcA$c b`y`|GA܂#c b." [message-list append keep-list vm-mime-header-list nil start m source-buffer mlist mime-keep-list target-buffer "---------------\n\n" 1 5 9 beg insert-buffer-substring 0 4 vm-reorder-message-headers "\\(X-VM-\\|Status:\\)" vm-mime-plain-message-p discard-regexp 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" ""] 7 "\ 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) "p\n \n \f ( \" 6< deZV` e` dَ~ڎ܍." [nil t vm-folder-type folder-type folder-buffer temp-marker separator-regexp prologue-separator-regexp after-prev-sep ident-header prev-sep match work-buffer vm-digest-identifier-header-format vm-summary-sprintf m rfc1153 "^----------------------------------------------------------------------\n" "^------------------------------\n" "\\(^-[^ ].*\n+\\)+" buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) ((byte-code "!" [work-buffer kill-buffer] 2)) done (byte-code "!\n!\nq `œHH!HH#eb#6\"He̕|u̔œ ׎d\"k\"#* ߎw !$#?+``hU!c̔`|!c`!c`gU!*c$#;ed|+eb  \" ) U42q 456db\n!6!+ЇŇ" [generate-new-buffer "*vm-work*" work-buffer buffer-disable-undo make-marker nil temp-marker vm-insert-region-from-buffer m 1 9 vm-text-of 0 4 re-search-forward prologue-separator-regexp t throw done match prev-sep match-data md ((store-match-data md)) rfc1153 vm-rfc1153-char-unstuff-region after-prev-sep vm-rfc934-char-unstuff-region vm-munge-message-separators folder-type match-data ((store-match-data match-data)) "\n" vm-match-header vm-digest-get-header-contents "From" separator-regexp 10 delete-char -1 vm-trailing-message-separator vm-leading-message-separator ident-header vm-folder-type 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 folder-buffer buffer-modified-p inhibit-quit buffer-read-only old-buffer-modified-p insert-buffer-substring set-buffer-modified-p] 6)] 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) " \"" [vm-rfc1153-or-rfc934-burst-message m 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) " \"" [vm-rfc1153-or-rfc934-burst-message m 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) "   !! q pɉ!\f \f\f@!Q\f@HHJHHqV\f@dpC\"V֚w!w!\"ۚ!ݚ!ߚ!\"\" !&T&'q(!*\f@HH# \fA\f5  ɉ1C$   !," [digest-type vm-digest-burst-type vm-follow-summary-cursor vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-error-if-folder-empty nil vm-select-marked-or-prefixed-messages 1 mlist totals-blurb m start-buffer vm-virtual-message-p 5 9 vm-folder-read-only 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-modification-counter vm-delete-after-bursting vm-move-after-deleting 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) this-command vm-thoughtfully-select-message vm-preview-current-message] 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 (quote ("guess")))) (quote identity) nil)) (if (string= type "") vm-digest-burst-type type)))]) (defalias 'vm-burst-rfc934-digest #[nil "!" [vm-burst-digest "rfc934"] 2 "\ Burst an RFC 934 style digest" nil]) (defalias 'vm-burst-rfc1153-digest #[nil "!" [vm-burst-digest "rfc1153"] 2 "\ Burst an RFC 1153 style digest" nil]) (defalias 'vm-burst-mime-digest #[nil "!" [vm-burst-digest "mime"] 2 "\ Burst a MIME digest" nil]) (defalias 'vm-burst-digest-to-temp-folder #[(&optional digest-type) "   !! q pɉ!\f юp@HH AKׂL$!\fq  @!q @HHJv @ݚ!!\"⚃!䚃!暃!\"\" A \\!p+! ! *35p7C$ɉ\f." [digest-type vm-digest-burst-type vm-follow-summary-cursor vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-error-if-folder-empty nil vm-select-marked-or-prefixed-messages 1 work-buffer mlist totals-blurb m start-buffer ((byte-code "!" [work-buffer kill-buffer] 2)) generate-new-buffer format "digest from %s/%s%s" vm-message-pointer 0 " ..." "" vm-default-folder-type vm-folder-type vm-virtual-message-p 5 "guess" vm-guess-digest-type "Couldn't guess digest type." message "Bursting %s digest to folder..." "mime" vm-mime-burst-message "rfc934" vm-rfc934-burst-message "rfc1153" vm-rfc1153-burst-message "Unknown digest type: %s" "Bursting %s digest... done" set-buffer-modified-p vm-sbe-buffer ((byte-code "p=!q" [vm-sbe-buffer buffer-name] 2)) vm-goto-new-folder-frame-maybe folder vm-mode vm-should-generate-summary summary vm-summarize buffer-offer-save vm-display vm-presentation-buffer t this-command (vm-mode startup)] 7 "\ Burst the current message (a digest) into a temporary folder. The digest's messages are copied to a buffer and vm-mode is invoked on the buffer. There is no file associated with this buffer. You can use `vm-write-file' to save the buffer, or `vm-save-message' to save individual messages to a real folder. 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 (quote ("guess")))) (quote identity) nil)) (if (string= type "") vm-digest-burst-type type)))]) (defalias 'vm-guess-digest-type #[(m) "" [return-value (byte-code "HHq!\f!,\f\"'\f\"'\f\",\"*~!bHH#FӂG*" [m 1 9 vm-mm-layout layout vectorp vm-mime-layout-contains-type "multipart/digest" "message/rfc822" "message/news" throw return-value "mime" vm-text-of search-forward "\n----------------------------------------------------------------------\n" 0 4 t "rfc1153" "rfc934"] 4)] 2 "\ Guess the digest type of the message M. M should be the message struct of a real message. Returns either \"rfc934\", \"rfc1153\" or \"mime\"."]) (defalias 'vm-digest-get-header-contents #[(header-name-regexp) "\fQ #%ɔ%ʔb % ," [nil regexp contents "^\\(" header-name-regexp "\\)\\|\\(^$\\)" t case-fold-search re-search-forward 1 0 vm-match-header vm-matched-header-contents] 4]) ;ELC ;;; compiled by kyle@crystal.WonderWorks.COM on Tue Jul 21 12:41:14 1998 ;;; from file /local/home/kyle/vm/6/vm-easymenu.el ;;; emacs version 19.34.2. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-easymenu.el' was compiled for Emacs 19")) (provide (quote vm-easymenu)) (defalias 'vm-easy-menu-define '(macro . #[(symbol maps doc menu) "\n\fF\nD\fE" [progn defvar symbol nil doc vm-easy-menu-do-define quote maps menu] 7 "\ Define a menu bar submenu in maps MAPS, according to MENU. The menu keymap is stored in symbol SYMBOL, both as its value and as its function definition. DOC is used as the doc string for SYMBOL. The first element of MENU must be a string. It is the menu bar item name. The rest of the elements are menu items. A menu item is usually a vector of three elements: [NAME CALLBACK ENABLE] NAME is a string--the menu item name. CALLBACK is a command to run when the item is chosen, or a list to evaluate when the item is chosen. ENABLE is an expression; the item is enabled for selection whenever this expression's value is non-nil. Alternatively, a menu item may have the form: [ NAME CALLBACK [ KEYWORD ARG ] ... ] Where KEYWORD is one of the symbol defined below. :keys KEYS KEYS is a string; a complex keyboard equivalent to this menu item. This is normally not needed because keyboard equivalents are usually computed automatically. :active ENABLE ENABLE is an expression; the item is enabled for selection whenever this expression's value is non-nil. :suffix NAME NAME is a string; the name of an argument to CALLBACK. :style STYLE is a symbol describing the type of menu item. The following are defined: toggle: A checkbox. Currently just prepend the name with the string \"Toggle \". radio: A radio button. nil: An ordinary menu item. :selected SELECTED SELECTED is an expression; the checkbox or radio button is selected whenever this expression's value is non-nil. Currently just disable radio buttons, no effect on checkboxes. A menu item can be a string. Then that string appears in the menu as unselectable text. A string consisting solely of hyphens is displayed as a solid horizontal line. A menu item can be a list. It is treated as a submenu. The first element should be the submenu name. That's used as the menu item in the top-level menu. The cdr of the submenu list is a list of menu items, as above."])) (defalias 'vm-easy-menu-do-define #[(symbol maps doc menu) "\n@\nA\"L EM\f!%\fC'\f\"" [symbol vm-easy-menu-create-keymaps menu lambda (event) doc (interactive "@e") easy-popup-menu event mapcar #[(map) " @!\" @JB#" [define-key map vector menu-bar intern menu symbol] 6] keymapp maps] 8]) (byte-code "! B" [boundp vm-easy-menu-item-count 0 current-load-list] 2) (defalias 'vm-easy-menu-create-keymaps #[(menu-name menu-items) " !\f!\f@ ! H\n \f ;<\n \"6ς7 \f~ :P @ A\"\n @\f~ !~9c\nq\"!\nT H\f H9H!HUHɉ GV H TH\\===\fQ\f==\fR\f=\fP\f-\n#C=CC\nD#.` GUX\f HQ\f\n#)!n\fP\f9~\nFM\n\n\fD\nAB\f\n\f!!\f\nB#-\fA\f\n)" [make-sparse-keymap menu-name menu reverse menu-items item vectorp 1 callback nil command enabler name string-match "^-+$" "" vm-easy-menu-create-keymaps make-symbol format "menu-function-%d" vm-easy-menu-item-count 0 2 keyword symbol-name 58 arg keys active selected style count :keys :active :suffix " " :style :selected " (" ")" toggle "Toggle " put menu-enable radio not 4 3 keymapp " ..." lambda (interactive) define-key vector intern] 7]) (defalias 'vm-easy-menu-change #[(path name items) "C\"\"#!  !& \f\"A)!)" [key-binding apply vector menu-bar mapcar intern append path name map keymapp vm-easy-menu-create-keymaps items 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) "" [nil] 1]) (defalias 'vm-easy-menu-add #[(menu &optional map) "" [nil] 1]) ;ELC ;;; compiled by kyle@crystal.WonderWorks.COM on Wed Aug 12 23:04:01 1998 ;;; from file /local/home/kyle/vm/6/vm-edit.el ;;; emacs version 19.34.2. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-edit.el' was compiled for Emacs 19")) (provide (quote vm-edit)) (defalias 'vm-edit-message #[(&optional prefix-argument) "  !! q *pC\" \f@!D\f@HHJD!]\f@HH\f@\" \fiq`\f@HHZ)\f@HHp!2 deZVԉ eԓ dԓ~\f@!\f@!#!@HI@HH@HH#,q!ebW#u,  / \"/!@C\f3!!!6q9u:u u!=[!@ tA=!BsCD=!!))EFGHD$," [vm-follow-summary-cursor vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-check-for-killed-presentation vm-folder-read-only signal folder-read-only vm-error-if-folder-empty vm-virtual-message-p vm-message-pointer 4 1 "Can't edit unmirrored virtual messages." prefix-argument 2 7 vm-set-edited-flag-of nil vm-update-summary-and-mode-line vm-presentation-buffer 0 folder-buffer edit-buf offset mp buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) generate-new-buffer format "edit of %s's note re: %s" vm-su-full-name vm-su-subject copy-to-buffer set-buffer-modified-p search-forward "\n\n" t vm-edit-message-mode text-mode set-keymap-parent vm-edit-message-map current-local-map use-local-map editing vm-system-state run-hooks vm-edit-message-hook message substitute-command-keys "Type \\[vm-edit-message-end] to end edit, \\[vm-edit-message-abort] to abort with no change." vm-mutable-frames vm-frame-per-edit vm-multiple-frames-possible-p vm-get-buffer-window w vm-goto-new-frame edit vm-set-hooks-for-frame-deletion select-window vm-warp-mouse-to-new-frame vm-warp-mouse-to-frame-maybe vm-window-frame vm-display (vm-edit-message vm-edit-message-other-frame) this-command editing-message] 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) " !É!*  " [vm-multiple-frames-possible-p vm-goto-new-frame edit nil vm-frame-per-edit vm-search-other-frames vm-edit-message prefix 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) "  !! q !\"@HHJL\"H\"HIHIHIHIHI@= )C! \"HHJ###@HI#@HI#@HHq@#@= )#@C! \"#A#*!A7\",Ή$ " [count 1 vm-follow-summary-cursor vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-check-for-killed-presentation vm-error-if-folder-empty vm-select-marked-or-prefixed-messages make-vector 29 0 nil m buffers-needing-thread-sort mlist 5 vm-thread-obarray vm-unthread-message t fillarray 3 2 12 16 17 vm-presentation-buffer vm-message-pointer vm-preview-current-message vm-build-threads vm-summary-show-threads intern 4 v-list 9 vm-mark-for-summary-update mapatoms #[(s) "\n!!q!" [get-buffer symbol-name s vm-sort-messages "thread"] 3] vm-display (vm-discard-cached-data) (vm-discard-cached-data) vm-update-summary-and-mode-line] 6 "\ 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-edit-message-end #[nil "!@HH!!dbhU#c@HHed#@HH=ˉ\f eb#dĔdєb!d |Beb#d`Z\feb\f!ڱ*p C~@HHJHHq@HHJ>! deZVˉ\"#$ e˓# d˓\"~@HHJHHbˉ '`'!`@HHJHH| +@\"@HI,@HHq@HHJ@HHJ=< ? )G!$!!*" [vm-message-pointer 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 length buffer-read-only re-search-forward vm-content-length-search-regexp t 0 vm-match-header vm-content-length-header vm-matched-header-start vm-matched-header-end search-forward "\n\n" " " int-to-string "\n" mp edit-buf buffer-modified-p 5 vm-message-list "The original copy of this message has been expunged." buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) opoint insert-buffer-substring 4 vm-discard-cached-data vm-set-edited-flag-of vm-preview-current-message vm-update-summary-and-mode-line message "No change." vm-display (vm-edit-message-end) (vm-edit-message-end reading-message startup) set-buffer-modified-p kill-buffer] 6 "\ End the edit of a message and copy the result to its folder." nil]) (defalias 'vm-edit-message-abort #[nil "!@HHJHH!!@HIp$!p!!" [vm-message-pointer error "This is not a VM message edit buffer." buffer-name 1 5 9 "The folder buffer for this message has been killed." 4 0 nil vm-display (vm-edit-message-abort) (vm-edit-message-abort reading-message startup) set-buffer-modified-p kill-buffer message "Aborted, no change."] 5 "\ Abort the edit of a message, forgetting changes to the message." nil]) ;ELC ;;; compiled by kyle@crystal.WonderWorks.COM on Mon Aug 17 18:25:13 1998 ;;; from file /local/home/kyle/vm/6/vm-folder.el ;;; emacs version 19.34.2. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-folder.el' was compiled for Emacs 19")) (provide (quote vm-folder)) (defalias 'vm-number-messages #[(&optional start-point end-point) " \n & @HHJ& @HHJ@HH!T =L @H\f!I @H\f\"I\fT A'W\fS!\f a \"*" [1 start-point vm-message-list message-list n 6 string-to-int 0 end-point int-to-string format "%3d" vm-ml-highest-message-number vm-summary-buffer vm-copy-local-variables] 6 "\ 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) " \n\" =?N :K :K6 =6 =6A?! =I ) " [intern buffer-name vm-buffers-needing-display-update vm-numbering-redo-start-point t start-point vm-message-list mp 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) " \n\" =ĉ :- @HH! @HH!V-  ?5 " [intern buffer-name vm-buffers-needing-display-update end-point t vm-numbering-redo-end-point string-to-int 1 0] 4 "\ 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 ": \n\"É" [vm-numbering-redo-start-point vm-number-messages vm-numbering-redo-end-point 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) " \n\" =?N :K :K6 =6 =6A?! =I ) " [intern buffer-name vm-buffers-needing-display-update vm-summary-redo-start-point t start-point vm-message-list mp 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) "HHJ=t HIHH$BHH! \"HHJ rH @H=h @HHZ @B @HH! \" A <)HHJHHJ H @H= @HH @B @HH! \" A HIHHJHHHHJBHHJHH! \") HIHH\fBHH! \"" [m 1 5 dont-kill-cache 3 18 nil vm-messages-needing-summary-update intern buffer-name 9 vm-buffers-needing-display-update 4 m-list 2 15] 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 "!\n! q !)" [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 "/ = ǎ + ʎ q ,@HHA@!D@HH@HH@HH@HH?m@HH?@HH@HH@HH@HH@HH@HH@HH @HH!\" #\"&\"q#!* \f # & q#!* " [vm-message-pointer major-mode vm-virtual-mode nil buffer-modified-p omodified buffer-read-only ((set-buffer-modified-p omodified)) erase-buffer vm-presentation-buffer ((set-buffer-modified-p omodified)) 4 3 vm-su-labels vm-ml-labels 1 0 vm-ml-message-number 2 vm-ml-message-new vm-ml-message-unread vm-ml-message-read 7 vm-ml-message-edited vm-ml-message-filed 5 vm-ml-message-written vm-ml-message-replied 6 vm-ml-message-forwarded 8 vm-ml-message-redistributed vm-ml-message-deleted vm-ml-message-marked vm-summary-buffer modified vm-copy-local-variables default-directory vm-ml-highest-message-number vm-folder-read-only vm-folder-type vm-virtual-folder-definition vm-virtual-mirror vm-ml-sort-keys vm-spooled-mail-waiting vm-message-list set-buffer-modified-p vm-force-mode-line-update] 23 "\ 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 "\n\"\n\")  \" " [mapatoms #[(b) "\n!!)\nq \f  ' " [get-buffer symbol-name b vm-check-for-killed-summary vm-use-toolbar vm-toolbar-support-possible-p vm-toolbar-update-toolbar vm-do-needed-renumbering vm-summary-buffer vm-do-needed-summary-rebuild vm-do-needed-mode-line-update] 4] vm-buffers-needing-display-update fillarray 0 vm-messages-needing-summary-update mapcar vm-update-message-summary nil 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 " @HH\nL  A*" [vm-message-list nil prev mp 1 6] 3 "\ Set reverse links for all messages in vm-message-list."]) (defalias 'vm-match-ordered-header #[(alist) "Í)" [t case-fold-search match (byte-code "@@!@\"Ać" [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) "\f\f!X\n!\n!X`I`IʕIǕbw`Iy!Ky?`I`SI)*" [t "\\([^ \n:]+\\):" header-name-regexp case-fold-search header-name looking-at vm-matched-header-vector 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 " H H\"" [vm-buffer-substring-no-properties vm-matched-header-vector 0 1] 4 "\ Returns the header last matched by vm-match-header. Trailing newline is included."]) (defalias 'vm-matched-header-name #[nil " H H\"" [vm-buffer-substring-no-properties vm-matched-header-vector 2 3] 4 "\ Returns the name of the header last matched by vm-match-header."]) (defalias 'vm-matched-header-contents #[nil " H H\"" [vm-buffer-substring-no-properties vm-matched-header-vector 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 "H" [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 "H" [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 "H" [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 "H" [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 "H" [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 "H" [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) "Ď - !\nq-!q !-ˏ\f7\fA T~\f}eb UW!g#)͔{Д؂!ڂ!܂." [nil case-fold-search b temp-buffer ((byte-code "!" [temp-buffer kill-buffer] 2)) file vm-get-file-buffer generate-new-buffer "*vm-work*" file-readable-p (byte-code " $)ć" [binary coding-system-for-read insert-file-contents file nil 0 4096] 5) ((wrong-number-of-arguments (byte-code "\n &" [call-process "sed" file temp-buffer nil "-n" "1,/^$/p"] 7))) start 1 end buffer-size 0 looking-at "\n*From " vm-trust-From_-with-Content-Length vm-default-From_-folder-type t re-search-forward vm-content-length-search-regexp From_-with-Content-Length "\n" mmdf "BABYL OPTIONS:" babyl unknown] 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 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. 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) "eb 3 \fB \fB \fB \fB\feb \"\f\f@\f@b !!\f@\fA@| \"\fAA\f@!\f@b !!\f@\fA@| b \n#\fAAC," [old-type nil end beg pos-list vm-folder-type 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 new-type 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) "=`!#\f`|+\n=(!" [old-type babyl t case-fold-search beg looking-at "BABYL OPTIONS:" search-forward "" nil new-type 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 "= #" [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) "\n=\"#`) )`\fZ*=/\n=W\f#)VϔVǔb!V |0)\n=h !ֱ))" [nil length new-type From_-with-Content-Length start search-forward "\n\n" 0 old-type vm-folder-type vm-find-trailing-message-separator t case-fold-search re-search-forward vm-content-length-search-regexp 1 vm-match-header vm-content-length-header vm-matched-header-start vm-matched-header-end " " int-to-string "\n"] 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) "= >4 Ǔb /`W/clj*" [folder-type From_ BellFrom_ vm-folder-type (From_ From_-with-Content-Length mmdf BellFrom_ babyl) make-marker end nil start 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) " ! \n? \n=)" [vm-get-folder-type file type vm-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) " > Q6\n=Ȃ6\n=6\n5\n \"Q6)" [folder-type vm-folder-type type (From_ From_-with-Content-Length BellFrom_) "From VM " current-time-string "\n" mmdf "\n" babyl message "\f\n0," vm-babyl-attributes-string for-other-folder ",\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) " =Ă5\n=Ƃ5\n=$Ƃ5\n=.ɂ5\n=5)" [folder-type vm-folder-type type From_ "\n" From_-with-Content-Length "" BellFrom_ mmdf "\n" babyl ""] 3 "\ 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."]) (defalias 'vm-folder-header #[(&optional folder-type label-obarray) " =-\" ( #\")).)" [folder-type vm-folder-type type babyl nil list label-obarray mapatoms #[(sym) " B" [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 "=Ǎ*=( #&˔b*=A #?ϕb*=Z #X˔b*=hԍ*" [vm-folder-type From_ "^From .* [1-9][0-9][0-9][0-9]$" nil case-fold-search reg1 done (byte-code " #)Ĕb`W`Zfǚ#\"u‡" [re-search-forward reg1 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 "^" babyl "\f\n[01]," (byte-code " #$ĔbohU\"u‡" [re-search-forward reg1 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 "= u= =` \n #)kϔkДb!k !\n#gd`Z\nYd\nugdbwms !? b #u,= = u" [vm-folder-type From_ vm-find-leading-message-separator -1 BellFrom_ From_-with-Content-Length "^From " nil case-fold-search start-point content-length reg1 t re-search-forward vm-content-length-search-regexp 1 0 vm-match-header vm-content-length-header string-to-int vm-matched-header-contents search-forward "\n\n" "\n" looking-at -5 mmdf babyl] 4 "\ Find the next trailing message separator in a folder."]) (defalias 'vm-skip-past-leading-message-separator #[nil ">y !y *=6u !4y(*=A#" [vm-folder-type (From_ BellFrom_ From_-with-Content-Length) "^>From " nil case-fold-search reg1 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 "=m?+u=+=+=#u=+u" [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 "  !Ʀ\\‰ \n \f \\ eT@HHW@@HHA:K\fA*b*}eb >zgUzt \"! `   H I H `“I  H `“I  H `“I ` H `“I HH\fL\f C \f\f C\fA\f T \nU \" \nY!dU?4 =?4- #!." [vm-get-folder-type vm-folder-type nil 0 vm-abs random 11 25 last-end message modulus n tail-cons vm-message-list end mp 5 (From_ BellFrom_ From_-with-Content-Length) 10 "Warning: newline found at beginning of folder, %s" buffer-file-name buffer-name sleep-for 2 vm-skip-past-folder-header vm-find-leading-message-separator vm-make-message 1 7 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"] 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 field 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) "B  @BB A A\f\nA*" [nil list order-alist vheaders] 4]) (defalias 'vm-reorder-message-headers #[(message keep-list discard-regexp) "HHq  ~HHHHHHb HH!#)H ɔГI)\\ deZVЉl eГl dГՎ\f!ЉpЉ   !\"#$%'=HHHHbyHIpHH!S#!#qHH!#eb`!ygU   %!!\"l!l.` |A` BBe`A@UTA eA` BBAA b!! `!ABB `\"BB\" b`p@A@#AA`Z%%@A!p!@!A@#!AA!%A%\"\"p\"@\"A@#\"AA\"|/2HHqHHb#!`!|!))ZH HH\\ГI!b ZH QI.+" [message 1 9 vm-visible-headers keep-list vm-invisible-header-regexp discard-regexp 3 12 0 t case-fold-search re-search-forward vm-text-of 2 make-marker nil buffer-size vm-sr-max vm-sr-min vm-sr-clip ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) vm-build-header-order-alist buffer-modified-p 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 ((byte-code "!" [work-buffer kill-buffer] 2)) vm-folder-type babyl insert-buffer-substring generate-new-buffer "*vm-work*" looking-at ">From " 10 vm-match-header vm-matched-header-end vm-match-ordered-header inhibit-quit set-buffer-modified-p vm-vheaders-of "^" vm-matched-header-name ":"] 16]) (defalias 'vm-read-attributes #[(message-list) " ‰ !Ŧ\\ȉ \n \f  T @HT@HHb@HH#@H I@HHb@!#Ҕbݏ ! ! @HI @G W@HI  @ \" A@G\"W@HI A A@\"\"@H 8I@ A@I@ @IG#*$@!#*@\"\"IӔb@ \"I@!?#G@\"\"I@ \"I@\"*=T@!@HHfT@HHxT@HHT \fU \"A+ \fY!?0 1.\n" [message-list vm-message-list 0 vm-abs random 11 25 t nil data oldpoint case-fold-search modulus vm-total-count vm-deleted-count vm-unread-count vm-new-count mp 2 1 search-forward "\n\n" 4 3 point-marker re-search-forward vm-attributes-header-regexp vm-text-of (byte-code "`p!<\nGV\n! #" [oldpoint read data 1 vectorp error "Bad x-vm-v5-data at %d in buffer %s" buffer-name] 5) ((error (byte-code "\n # \"\"E@\"" [message "Bad x-vm-v5-data header at %d in buffer %s, ignoring" oldpoint buffer-name make-vector vm-attributes-vector-length nil vm-cache-vector-length data vm-set-new-flag-in-vector t] 4))) vectorp vm-convert-v4-attributes vm-attributes-vector-length vm-extend-vector vm-cache-vector-length vm-berkeley-mail-compatibility vm-berkeley-mail-status-header-regexp make-vector vm-set-unread-flag looking-at ".*R.*" vm-set-new-flag-of vm-folder-type babyl vm-read-babyl-attributes message "Reading attributes... %d" "Reading attributes... done" vm-modification-counter vm-totals] 10]) (defalias 'vm-read-babyl-attributes #[(message) " \"\fIHHbuHgU(Ium!!F\"!U\"!d\"!s\"!\"!\"!\"!\"!\"wm-u-mu!ʔʕ\" BɕbH I," [t nil make-vector vm-attributes-vector-length vect labels case-fold-search message 2 0 1 12 49 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," "^," " \\([^- ,-]+\\)," vm-buffer-substring-no-properties 4 3] 5]) (defalias 'vm-set-default-attributes #[(message-list) " ‰<\"\" @ I @\fI @\" @HI A+" [message-list vm-message-list nil cache attr mp make-vector vm-attributes-vector-length vm-cache-vector-length 3 2 vm-set-new-flag-of t 4] 4]) (defalias 'vm-emit-totals-blurb #[nil "!!q\f@ }lj \n \fpT\f@HHF T g\f@HHX T g\f@HHg\nT\n\fA\f/  \n -\fA@ǚ!\fA@\fA@U҂\f8\f8\f8&)" [vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-totals vm-modification-counter vm-message-list 0 vm-total-count vm-deleted-count vm-unread-count vm-new-count mp 2 1 message "No messages." "%d message%s, %d new, %d unread, %d deleted" "" "s" 3 4] 9]) (defalias 'vm-convert-v4-attributes #[(data) " ! GZ\"\"\"D" [apply vector vm-vector-to-list data make-list vm-attributes-vector-length nil make-vector vm-cache-vector-length] 6]) (defalias 'vm-gobble-last-modified #[nil " deZV - e- dˎ~eb #`eb  #Yӏ-\f," [t nil oldpoint lim time case-fold-search buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-last-modified-header-regexp (byte-code "`p!: #" [oldpoint read time error "Bad last-modified header at %d in buffer %s" buffer-name] 5) ((error (byte-code "\n #" [message "Bad last-modified header at %d in buffer %s, ignoring" oldpoint buffer-name (0 0 0) time] 4)))] 5]) (defalias 'vm-gobble-labels #[nil " deZV' e' dɎ~\n=deb `eb\n#``{\"\"*eb #`eb \n#`ۏ!*." [t nil lim case-fold-search buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) vm-folder-type babyl vm-skip-past-folder-header re-search-forward "^Labels:" list string vm-parse "[- ,-]*\\([^- ,-]+\\)[- ,-]*" mapcar #[(s) " \n\"" [intern s vm-label-obarray] 3] vm-skip-past-leading-message-separator search-forward "\n\n" vm-labels-header-regexp oldpoint (byte-code "p!<\f #" [read list error "Bad global label list at %d in buffer %s" oldpoint buffer-name] 5) ((error (byte-code "\n #ć" [message "Bad global label list at %d in buffer %s, ignoring" oldpoint buffer-name nil list] 4))) vm-startup-apply-labels] 5]) (defalias 'vm-startup-apply-labels #[(labels) "\n\"" [mapcar #[(s) " \n\"" [intern s vm-label-obarray] 3] labels] 3]) (defalias 'vm-gobble-bookmark #[nil " deZV - e- dˎ~eb #`eb  #Yӏ-\f!," [t nil oldpoint lim n case-fold-search buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-bookmark-header-regexp (byte-code "`p!\n! #" [oldpoint read n natnump error "Bad bookmark at %d in buffer %s" buffer-name] 4) ((error (byte-code "\n #" [message "Bad bookmark at %d in buffer %s, ignoring" oldpoint buffer-name 1 n] 4))) vm-startup-apply-bookmark] 5]) (defalias 'vm-startup-apply-bookmark #[(n) " \nS \"" [n vm-record-and-change-message-pointer vm-message-pointer vm-message-list] 4]) (defalias 'vm-gobble-pop-retrieved #[nil " deZV - e- dˎ~eb #`eb  #Yӏ. " [t nil oldpoint lim ob case-fold-search buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-pop-retrieved-header-regexp (byte-code "`p!< #\n" [oldpoint read ob error "Bad pop-retrieved header at %d in buffer %s" buffer-name vm-pop-retrieved-messages] 5) ((error (byte-code "\n #" [message "Bad pop-retrieved header at %d in buffer %s, ignoring" oldpoint buffer-name] 4)))] 5]) (defalias 'vm-gobble-visible-header-variables #[nil " deZV e dƎ ~eb #`eb #iԏh\"+." [buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) t lim case-fold-search vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-vheader-header-regexp got invis vis (byte-code "p!p!" [read vis invis t got] 2) ((error)) vm-startup-apply-header-variables] 5]) (defalias 'vm-startup-apply-header-variables #[(vis invis) " \n ?0\f! / @HI @HI A)" [vis vm-visible-headers invis vm-invisible-header-regexp vm-message-list mp message "Discarding visible header info..." 3 12 nil 0 2] 4]) (defalias 'vm-gobble-message-order #[nil "~eb #`eb \n #E` ͏\nD!\n!!)-" [t nil order lim case-fold-search vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-message-order-header-regexp oldpoint (byte-code "p!<\f #" [read order error "Bad order header at %d in buffer %s" oldpoint buffer-name] 5) ((error (byte-code "\n #ć" [message "Bad order header at %d in buffer %s, ignoring" oldpoint buffer-name nil order] 4))) message "Reordering messages..." vm-startup-apply-message-order "Reordering messages... done"] 4]) (defalias 'vm-startup-apply-message-order #[(order) "  G\fG]\"+\n+ȏA\nA\n \n\"\" @ >! ," [nil vm-message-list mp v list-length make-vector order (byte-code " @S\n@I" [v order mp] 3) ((args-out-of-range)) t inhibit-quit delq append vm-message-order-changed vm-message-order-header-present vm-message-pointer vm-set-numbering-redo-start-point vm-reverse-link-messages] 5]) (defalias 'vm-gobble-summary #[nil " deZV+ e+ dʎ~eb #`eb \n#^`ӏ !)." [t nil lim summary case-fold-search buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-summary-header-regexp oldpoint (byte-code "p!" [read summary] 2) ((error (byte-code "\n #" [message "Bad summary header at %d in buffer %s, ignoring" oldpoint buffer-name "" summary] 4))) vm-startup-apply-summary] 5]) (defalias 'vm-startup-apply-summary #[(summary) " ?&\n% @HI @HI A )" [summary vm-summary-format vm-message-list mp 3 18 nil 4 2 t] 4]) (defalias 'vm-stuff-attributes #[(m &optional for-other-folder) " deZV e dƎ~  HH \f ԎW HIe HHe ! H H !\"= \" HHb! !#ߔߕ| HHb` $&!)&!)& HH!)& HH =F,F HHb- !#ߔߕ| HHb HHF. HH78# HH  HI." [buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t m 2 delflag buffer-file-name opoint print-length buffer-read-only case-fold-search cache attributes old-buffer-modified-p ((set-buffer-modified-p old-buffer-modified-p)) for-other-folder 3 18 1 vm-su-summary vm-set-deleted-flag-in-vector copy-sequence vm-folder-type babyl vm-stuff-babyl-attributes 0 re-search-forward vm-attributes-header-regexp vm-text-of insert-before-markers vm-attributes-header " (" print-escape-newlines prin1-to-string "\n " 4 ")\n" From_ vm-berkeley-mail-compatibility vm-berkeley-mail-status-header-regexp vm-berkeley-mail-status-header "" "R" "O\n"] 11]) (defalias 'vm-stuff-folder-attributes #[(&optional abort-if-input-pending) "  @HH @\nB A\n\n\") B\n6 B @! A, ?H*" [nil mp newlist vm-message-list 4 2 (vm-sort-compare-physical-order-r) vm-key-functions sort vm-sort-compare-xxxxxx abort-if-input-pending input-pending-p vm-stuff-attributes t] 4]) (defalias 'vm-stuff-babyl-attributes #[(m for-other-folder) "HHbuHHcc!u!.|HH<cGHHGc\fWHHWcHHbcHHmcHHxcHHcHHcHHcu!|HH\"" [m 0 2 1 12 "1" "0" delete-char looking-at "\\( [^- ,-]+,\\)+" " recent, unseen," " unseen," for-other-folder " deleted," 4 " answered," 6 " forwarded," 8 " redistributed," 3 " filed," 7 " edited," 5 " written," mapcar #[(label) " ±" [" " label ","] 3]] 4]) (defalias 'vm-babyl-attributes-string #[(m for-other-folder) "HH\fÂHH?$HH$HH-HH6HH?HHHHHQHHZӰ" [m 2 0 " recent, unseen," 1 " unseen," for-other-folder " deleted," 4 " answered," 6 " forwarded," 8 " redistributed," 3 " filed," 7 " edited," 5 " written,"] 9]) (defalias 'vm-babyl-labels-string #[(m) " HH\f\f@ BBB\fA\f \"*" [nil m 4 3 labels list "," " " apply concat] 5]) (defalias 'vm-stuff-virtual-attributes #[(message) " !\n+ HHJ+ HHJHHq HHJ!))" [vm-virtual-message-p message virtual 4 1 5 9 vm-stuff-attributes] 4]) (defalias 'vm-stuff-labels #[nil " deZV‰$ e“$ d“ǎ~ ‰\n \f =Ueb `e|\"!eb #`\neb \n#ܔb!v |v\"#\"\"!*!. " [vm-message-pointer buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t lim buffer-read-only buffer-file-name print-length case-fold-search old-buffer-modified-p vm-folder-type babyl vm-skip-past-folder-header insert-before-markers vm-folder-header vm-label-obarray vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-labels-header-regexp 0 vm-match-header vm-labels-header vm-matched-header-start vm-matched-header-end " " list print-escape-newlines mapatoms #[(sym) " !\nB" [symbol-name sym list] 2] prin1-to-string "\n" set-buffer-modified-p] 7]) (defalias 'vm-stuff-bookmark #[nil " deZV‰$ e“$ d“ǎ~ ‰\n \f eb #`\neb \n#t֔b!t |@HHݱ!.\n" [vm-message-pointer buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t lim buffer-read-only buffer-file-name case-fold-search old-buffer-modified-p vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-bookmark-header-regexp 0 vm-match-header vm-bookmark-header vm-matched-header-start vm-matched-header-end " " 1 "\n" set-buffer-modified-p] 6]) (defalias 'vm-stuff-last-modified #[nil " deZV‰$ e“$ d“ǎ~ ‰\n \f eb #`\neb \n#t֔b!t | !ޱ!.\n" [vm-message-pointer buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t lim buffer-read-only buffer-file-name case-fold-search old-buffer-modified-p vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-last-modified-header-regexp 0 vm-match-header vm-last-modified-header vm-matched-header-start vm-matched-header-end " " prin1-to-string current-time "\n" set-buffer-modified-p] 6]) (defalias 'vm-stuff-pop-retrieved #[nil " deZV‰$ e“$ d“ǎ~ ‰\np \f eb #` eb  #~ڔb!~ |c cc c @\f\"c A c!. " [vm-message-pointer buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t vm-pop-retrieved-messages lim curbuf p print-length buffer-read-only buffer-file-name case-fold-search old-buffer-modified-p vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-pop-retrieved-header-regexp 0 vm-match-header vm-pop-retrieved-header vm-matched-header-start vm-matched-header-end " nil\n" "\n (\n" " " prin1 "\n" " )\n" set-buffer-modified-p] 9]) (defalias 'vm-stuff-imap-retrieved #[nil " deZV‰$ e“$ d“ǎ~ ‰\np \f eb #` eb  #~ڔb!~ |c cc c @\f\"c A c!. " [vm-message-pointer buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t vm-imap-retrieved-messages lim curbuf p print-length buffer-read-only buffer-file-name case-fold-search old-buffer-modified-p vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-imap-retrieved-header-regexp 0 vm-match-header vm-imap-retrieved-header vm-matched-header-start vm-matched-header-end " nil\n" "\n (\n" " " prin1 "\n" " )\n" set-buffer-modified-p] 9]) (defalias 'vm-stuff-summary #[nil " deZV‰$ e“$ d“ǎ~ ‰\n \f eb #`\neb \n#zהb!\\ |\\!)!. " [vm-message-pointer buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t lim buffer-read-only buffer-file-name print-length case-fold-search old-buffer-modified-p vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-summary-header-regexp 0 vm-match-header vm-summary-header vm-matched-header-start vm-matched-header-end " " print-escape-newlines prin1-to-string vm-summary-format "\n" set-buffer-modified-p] 7]) (defalias 'vm-stuff-header-variables #[nil " deZV‰$ e“$ d“ǎ~ ɉ‰\n \f eb #` eb  #}ؔb!_ |_! !!.\f" [vm-message-pointer buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t buffer-file-name buffer-read-only print-length lim print-escape-newlines case-fold-search old-buffer-modified-p vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-vheader-header-regexp 0 vm-match-header vm-vheader-header vm-matched-header-start vm-matched-header-end " " prin1-to-string vm-visible-headers vm-invisible-header-regexp "\n" set-buffer-modified-p] 8]) (defalias 'vm-stuff-message-order #[nil "A deZV‰% e“% d“ǎ~ ‰! \f  \" eb #`eb #۔b!i |i   @HHc T  A  Uズcc&'!.\f" [vm-message-list buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t copy-sequence mp buffer-read-only n lim buffer-file-name case-fold-search old-buffer-modified-p sort #[(p q) "HH\nHHW" [p 0 q] 3] vm-skip-past-folder-header vm-find-leading-message-separator vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-message-order-header-regexp 0 vm-match-header vm-message-order-header vm-matched-header-start vm-matched-header-end "\n (" 1 15 "\n " " " ")\n" vm-message-order-changed vm-message-order-header-present set-buffer-modified-p] 9]) (defalias 'vm-remove-message-order #[nil "A{ deZV‰% e“% d“ǎ~ ‰\n \f eb #`\feb \f#rՔb!T |T!.\n" [vm-message-list buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-modified-p t buffer-read-only buffer-file-name lim case-fold-search old-buffer-modified-p vm-skip-past-folder-header vm-skip-past-leading-message-separator search-forward "\n\n" re-search-forward vm-message-order-header-regexp 0 vm-match-header vm-message-order-header vm-matched-header-start vm-matched-header-end vm-message-order-header-present set-buffer-modified-p] 6]) (defalias 'vm-read-index-file-maybe #[nil "" [done (byte-code ";\n ;\" P ! !)" [buffer-file-name vm-index-file-suffix throw done nil index-file file-readable-p vm-read-index-file] 3)] 2]) (defalias 'vm-read-index-file #[(index-file) "" [done (byte-code "" [error-data (byte-code "Ž \n \f !  q!)eb !=Z! !\f !!p\" ! ! !\n ! ! ! ! ! ! !u@ \f C C A H HI H HI H HI H HI!\"@G)W)\" I.!I@G,WC,\" IU!^ H@IAAAA !\f.\f/0 !!\n! ! \"!." [nil work-buffer ((byte-code "!" [work-buffer kill-buffer] 2)) tail m-list m v order retrieved labels summary bookmark folder-type invis vis validity-check label-list location-list cache-list attr-list obj message "Reading index file..." vm-make-work-buffer insert-file-contents-literally index-file read 1 error "Unsupported index file version: %s" vm-check-index-file-validity throw done vm-make-message 0 make-marker 4 2 5 3 "Attribute list is shorter than location list" vm-attributes-vector-length vm-extend-vector "Cache list is shorter than location list" vm-cache-vector-length "Label list is shorter than location list" vm-message-list vm-folder-type vm-pop-retrieved-messages vm-startup-apply-bookmark vm-startup-apply-message-order vm-startup-apply-summary vm-startup-apply-labels vm-startup-apply-header-variables "Reading index file... done" t] 19) ((error (byte-code "\n #!!!" [message "Index file read of %s signaled: %s" index-file error-data sleep-for 2 "Ignoring index file..."] 4)))] 3)] 2]) (defalias 'vm-check-index-file-validity #[(blob) "~)" [done (byte-code ": !@=\\ĉA@  \"V1\"AY@fL!A@=Q\"AA8+·@\"" [blob error "Validity check object not a cons: %s" file nil time2 time ch 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 "~ddSe\f Y%\f\ff!\nBB\f Z \n-BB" [11 nil blob lim pos step vm-char-to-int file current-time] 5]) (defalias 'vm-write-index-file-maybe #[nil "" [done (byte-code ";\n\"\f;\"\fP !)" [buffer-file-name throw done nil vm-index-file-suffix index-file vm-write-index-file] 3)] 2]) (defalias 'vm-write-index-file #[(index-file) "Ž! !\"!  \" \" ! \" \" ! \" \" ! \"f@HHg \" ! \"  \" U \" \" @HH \"T A \"* \"& \" ! \"(+\"( \") ! \"- \" ! \"/ \" ! \" \"] @ \"\fHH! \" \"\fHH! \" \"\fHH! \" \"\fHH! \" \" A \" \" \" @ \"\fH \" \" As \" \" \" @ \"\fH \" \" A \" \" \" @ \"\fHH \" \" A \" \"@AсB \"9 \"A4сC \"A@ \" \"AAA \")сD \"EASсB \"~ \"AyсC \"A@ \" \"AAA] \")сF \"ɁG!HI." [nil work-buffer ((byte-code "!" [work-buffer kill-buffer] 2)) t m mp m-list print-length print-escape-newlines message "Sorting for index file..." sort copy-sequence vm-message-list vm-sort-compare-physical-order "Stuffing index file..." vm-make-work-buffer princ ";; index file version\n" prin1 1 terpri ";; folder type\n" vm-folder-type ";; timestamp + sample of folder bytes for consistency check\n" vm-generate-index-file-validity-check ";; bookmark\n" vm-message-pointer 0 "1" ";; message order\n" n "(" 15 "\n " " " "\n)\n" ";; summary\n" vm-summary-format ";; labels used in this folder\n" list mapatoms #[(sym) " !\nB" [symbol-name sym list] 2] vm-label-obarray ";; visible headers\n" vm-visible-headers ";; hidden headers\n" vm-invisible-header-regexp ";; 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" vm-pop-retrieved-messages p "nil\n" " " ";; retrieved IMAP messages\n" vm-imap-retrieved-messages ";; end of index file\n" "Writing index file..." done (byte-code "qÏ)#!ʇ" [work-buffer data (byte-code "ed #)" [binary coding-system-for-write write-region index-file] 4) ((error (byte-code "\n #!\"" [message "Write of %s signaled: %s" index-file data sleep-for 2 throw done nil] 4))) vm-error-free-call set-file-modes index-file 384 message "Writing index file... done" t] 4)] 6]) (defalias 'vm-delete-index-file #[nil "; P\n\")" [vm-index-file-suffix buffer-file-name index-file vm-error-free-call delete-file] 3]) (defalias 'vm-change-all-new-to-unread #[nil "# @HH @\" @\" A)" [vm-message-list mp 2 0 vm-set-new-flag nil vm-set-unread-flag t] 4]) (defalias 'vm-unread-message #[(&optional count) "  !! q !\nO\n@HHF\n@HHF\n@\"\nA\n+)Љ$ " [count 1 vm-follow-summary-cursor vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-error-if-folder-empty vm-select-marked-or-prefixed-messages mlist 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 "!!q\f>\" !) Ή$BΉ$L!YΉ$c!pΉ$p!" [vm-mail-buffer buffer-name error "Folder buffer has been killed." major-mode (vm-mode vm-virtual-mode) "%s must be invoked from a VM buffer." this-command 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-summary-buffer vm-bury-buffer vm-presentation-buffer-handle] 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 "!!q\f>\" !) Ή$p!K!U! *" [vm-mail-buffer buffer-name error "Folder buffer has been killed." major-mode (vm-mode vm-virtual-mode) "%s must be invoked from a VM buffer." this-command 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-summary-buffer vm-presentation-buffer-handle pres-buffer summary-buffer vm-bury-buffer vm-iconify-frame] 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 "!" [vm-quit t] 2 "\ Quit visiting the current folder without saving changes made to the folder." nil]) (defalias 'vm-quit #[(&optional no-change) "!!q\f>\" ˉD$\f=vv vLvUvvUi܂j#!v! !!=!!!) !*\f=  !-.p/011ˉ$1!0+0ˉ$0!/q/ˉ$/q!p!+ )" [vm-mail-buffer buffer-name error "Folder buffer has been killed." major-mode (vm-mode vm-virtual-mode) "%s must be invoked from a VM buffer." this-command vm-check-for-killed-summary vm-check-for-killed-presentation vm-display nil (vm-quit vm-quit-no-change) quitting vm-virtual-mode virtual no-change buffer-modified-p buffer-file-name buffer-offer-save vm-messages-not-on-disk 0 vm-set-buffer-modified-p vm-undo-record-list y-or-n-p format "%d message%s have not been saved to disk, quit anyway? " 1 "" "s" "Aborted" vm-confirm-quit "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-folder-read-only vm-change-all-new-to-unread vm-save-folder vm-summary-buffer vm-presentation-buffer-handle mail-buffer pres-buffer summary-buffer kill-buffer set-buffer-modified-p vm-update-summary-and-mode-line] 7 "\ Quit visiting the current folder, saving changes. Deleted messages are not expunged." nil]) (defalias 'vm-start-itimers-if-needed #[nil " !\n! !?ƏT !-!- $\n!@!@\n$ !!? $я !! $C# !! $C#\n!!?\n$C#)։" [natnump vm-flush-interval vm-auto-get-new-mail vm-mail-check-interval data (byte-code "!‡" [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 "!‡" [require timer t] 2) ((error)) timer vm-timer-using run-at-time timer-set-function t] 5]) (byte-code " B" [timer-list current-load-list] 2) (defalias 'vm-timer-using #[(fun) " !\n! @H = A *" [timer-list nil done p 5 fun t] 3]) (defalias 'vm-check-mail-itimer-function #[(&optional timer) "\n  \n#/\n\"/ ) !/\" \n \f \f\f@q=Љ \n!\n= \" !)\fA\f9 ?\f? !\"+" [nil inhibit-quit vm-mail-check-interval timer timer-set-time current-time set-itimer-restart current-itimer cancel-timer buffer-list oldval found-one b-list input-pending-p major-mode vm-mode t vm-block-new-mail vm-spooled-mail-waiting vm-check-for-spooled-mail intern buffer-name vm-buffers-needing-display-update vm-update-summary-and-mode-line run-hooks vm-spooled-mail-waiting-hook] 4]) (defalias 'vm-get-mail-itimer-function #[(&optional timer) "\n  \n#/\n\"/ ) !/\" \n   @q =ω\n gg \"!! ) A 6\n? ? !\"*" [nil inhibit-quit vm-auto-get-new-mail timer timer-set-time current-time set-itimer-restart current-itimer cancel-timer buffer-list found-one b-list input-pending-p major-mode vm-mode t buffer-modified-p buffer-file-name file-newer-than-file-p make-auto-save-file-name vm-block-new-mail vm-folder-read-only vm-get-spooled-mail vm-assimilate-new-messages vm-message-pointer vm-thoughtfully-select-message vm-preview-current-message vm-update-summary-and-mode-line] 4]) (defalias 'vm-flush-itimer-function #[(&optional timer) "  # \" ?* & ! \"" [vm-flush-interval timer timer-set-time current-time set-itimer-restart current-itimer vm-flush-cached-data cancel-timer nil] 4]) (defalias 'vm-flush-cached-data #[nil " G G @q =@@ \n=@  6 !@ \n A\n L\n+" [buffer-list nil found-one buf-list input-pending-p major-mode vm-mode vm-message-list t vm-modification-counter vm-flushed-modification-counter vm-stuff-summary vm-stuff-labels vm-message-order-changed vm-stuff-message-order vm-stuff-folder-attributes] 3]) (defalias 'vm-write-file-hook #[nil "=]\n?] deZVĉ- eē- dēɎ\n!\f[ [ -ć" [major-mode vm-mode vm-inhibit-write-file-hook buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-read-only vm-stuff-folder-attributes vm-message-list vm-update-summary-and-mode-line vm-stuff-bookmark vm-stuff-pop-retrieved vm-stuff-imap-retrieved vm-stuff-last-modified vm-stuff-header-variables vm-stuff-labels vm-stuff-summary vm-message-order-changed vm-stuff-message-order] 4]) (defalias 'vm-save-buffer #[(prefix) "!!q\f=\" !  \" ̉$ " [vm-mail-buffer buffer-name error "Folder buffer has been killed." major-mode vm-virtual-mode "%s cannot be applied to virtual folders." this-command save-buffer prefix intern vm-buffers-needing-display-update nil vm-block-new-mail vm-display (vm-save-buffer) (vm-save-buffer) vm-update-summary-and-mode-line vm-write-index-file-maybe] 5 nil "P"]) (defalias 'vm-write-file #[nil "!!q\f=\" !) g \fL  \fq \"\"* g  q \"\"*) \"׉$ " [vm-mail-buffer buffer-name error "Folder buffer has been killed." major-mode vm-virtual-mode "%s cannot be applied to virtual folders." this-command old-buffer-name call-interactively write-file vm-check-for-killed-summary vm-summary-buffer name rename-buffer format "%s Summary" t vm-check-for-killed-presentation vm-presentation-buffer-handle "%s Presentation" intern vm-buffers-needing-display-update nil vm-block-new-mail vm-display (vm-write-file) (vm-write-file) vm-update-summary-and-mode-line vm-write-index-file-maybe] 5 nil nil]) (defalias 'vm-unblock-new-mail #[nil "" [nil vm-block-new-mail] 2]) (defalias 'vm-save-folder #[(&optional prefix) "!!q Ɖ$ =)\f! Ɖ!!a a ! \f!)! %& U)*)=* \"!*!" [vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-display nil (vm-save-folder) (vm-save-folder) major-mode vm-virtual-mode vm-virtual-save-folder prefix buffer-modified-p newlist mp message "Stuffing attributes..." vm-stuff-folder-attributes vm-message-list vm-update-summary-and-mode-line vm-stuff-bookmark vm-stuff-pop-retrieved vm-stuff-imap-retrieved vm-stuff-last-modified vm-stuff-header-variables vm-stuff-labels vm-stuff-summary vm-message-order-changed vm-stuff-message-order "Saving..." t vm-inhibit-write-file-hook save-buffer vm-set-buffer-modified-p vm-clear-modification-flag-undos 0 vm-messages-not-on-disk vm-block-new-mail vm-write-index-file-maybe buffer-size vm-delete-empty-folders buffer-file-name y-or-n-p format "%s is empty, remove it? " (byte-code " ! \"" [delete-file buffer-file-name vm-delete-index-file clear-visited-file-modtime message "%s removed"] 3) ((error)) "No changes need to be saved"] 5 "\ Save current folder to disk. Deleted messages are not expunged. Prefix arg is handled the same as for the command `save-buffer'. When applied to a virtual folder, this command runs itself on each of the underlying real folders associated with the virtual folder." (list current-prefix-arg)]) (defalias 'vm-save-and-expunge-folder #[(&optional prefix) "!!q Ɖ$ *!!!" [vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-display nil (vm-save-and-expunge-folder) (vm-save-and-expunge-folder) vm-folder-read-only message "Expunging..." vm-expunge-folder t vm-save-folder prefix] 5 "\ Expunge folder, then save it to disk. Prefix arg is handled the same as for the command save-buffer. Expunge won't be done if folder is read-only. When applied to a virtual folder, this command works as if you had run vm-expunge-folder followed by vm-save-folder." (list current-prefix-arg)]) (defalias 'vm-handle-file-recovery-or-reversion #[(recovery) "!! \n!" [vm-summary-buffer buffer-name kill-buffer vm-virtual-quit fundamental-mode major-mode recovery t vm-block-new-mail vm buffer-file-name] 2]) (defalias 'vm-handle-file-recovery #[nil "  =  @HHU!" [buffer-modified-p major-mode vm-mode vm-message-list 0 5 1 vm-handle-file-recovery-or-reversion t] 2]) (defalias 'vm-handle-file-reversion #[nil " ? =  @HHU!" [buffer-modified-p major-mode vm-mode vm-message-list 0 5 1 vm-handle-file-recovery-or-reversion nil] 2]) (defalias 'vm-after-revert-buffer-hook #[nil "= !" [major-mode vm-mode vm-handle-file-recovery-or-reversion nil] 2]) (defalias 'vm-help #[nil "=\n\n!!\nq\"= )\n \f=:!s=G!s>T!s=c!!s=q!!s *" [major-mode vm-summary-mode vm-mail-buffer buffer-name error "Folder buffer has been killed." pop-up-windows vm-mutable-windows t vm-mutable-frames vm-frame-per-help pop-up-frames last-command vm-help describe-function vm-system-state previewing message "Type SPC to read message, n previews next message (? gives more help)" (showing reading) "SPC and b scroll, (d)elete, (s)ave, (n)ext, (r)eply (? gives more help)" editing substitute-command-keys "Type \\[vm-edit-message-end] to end edit, \\[vm-edit-message-abort] to abort with no change." mail-mode "Type \\[vm-mail-send-and-exit] to send message, \\[kill-buffer] to discard this composition" describe-mode] 3 "\ Display help for various VM activities." nil]) (defalias 'vm-spool-move-mail #[(source destination) "!\nď‰  \n# \n$! q )  \n& q\\U\\#c V !}U} \"\"! !)+" [fboundp find-file-name-handler nil (byte-code " \"" [find-file-name-handler source vm-spool-move-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) error-buffer status handler vm-spool-move-mail source destination get-buffer-create format "*output of %s %s %s*" vm-movemail-program erase-buffer call-process t 0 "\n%s exited with code %s\n" buffer-size vm-display-buffer error "Failed getting new mail from %s" message "Warning: unexpected output from %s" sleep-for 2 kill-buffer] 8]) (defalias 'vm-gobble-crash-box #[(crash-box) " deZV e dƎ~d U  \f !+q \f\f=w\"=\"!!\f=\"\f!\"!\f!$\f=\"\f\"!\f%eb!\"!)dbq~ )T#dU? +dԉ%+T+ !!-;?\" !233838 !$-\"22!3838 !$-\"2_2\"* ." [buffer-size nil vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) buffer-file-name vm-folder-type 0 buffer-modified-p old-buffer-modified-p crash-folder-type got-mail inbox-empty inbox-folder-type inbox-buffer-file buffer-read-only crash-buf opoint-max t no-conversion coding-system-for-read enable-local-variables inhibit-local-variables find-file-noselect crash-box vm-get-folder-type vm-check-folder-types unknown error "crash box %s's type is unrecognized" "inbox %s's type is unrecognized" vm-default-folder-type vm-convert-folder-types vm-convert-folder-type set-buffer-modified-p "crash box %s mismatches vm-default-folder-type: %s, %s" "crash box %s mismatches %s's folder type: %s, %s" vm-convert-folder-header insert-buffer-substring 1 write-region vm-modification-counter kill-buffer vm-keep-crash-boxes vm-error-free-call delete-file decode-time current-time name time expand-file-name format "Z-%02d-%02d-%05d" 4 3 vm-abs random 100000 file-exists-p rename-file] 10]) (defalias 'vm-compute-spool-files #[nil " \f: ;\f\" 77 7\n  !) !)EC K \f PECe @;[ \"e @:e  \n\"*" [nil triples fallback-triples buffer-file-name vm-spool-file-suffixes vm-crash-box-suffix mapcar #[(suffix) " P\nPE" [buffer-file-name suffix vm-crash-box-suffix] 4] vm-make-spool-file-name vm-make-crash-box-name vm-spool-files vm-primary-inbox vm-spool-directory user-login-name vm-crash-box #[(s) " \nE" [vm-primary-inbox s vm-crash-box] 3] append] 6]) (defalias 'vm-spool-check-mail #[(source) "!\nď \"'!8ʚ?'!)" [fboundp find-file-name-handler nil (byte-code " \"" [find-file-name-handler source vm-spool-check-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) handler vm-spool-check-mail source 7 file-attributes 0 file-readable-p] 4]) (defalias 'vm-movemail-specific-spool-file-p #[(file) "\n\"" [string-match "^po:[^:]+$" file] 3]) (defalias 'vm-check-for-spooled-mail #[(&optional interactive) "? ĉ \n \f \n @@\" @A@ @8 !p!= !b\nv\"v\" ۏ ! \n A &  .\n" [vm-block-new-mail vm-compute-spool-files t interactive nil mail-waiting meth maildrop in crash done vm-imap-ok-to-ask vm-pop-ok-to-ask triples expand-file-name vm-folder-directory 2 vm-movemail-specific-spool-file-p vm-get-file-buffer file-exists-p vm-recognize-imap-maildrops string-match vm-imap-check-mail vm-recognize-pop-maildrops vm-pop-check-mail vm-spool-check-mail (byte-code " \n!Ç" [mail-waiting meth maildrop nil] 2) ((error)) vm-spooled-mail-waiting] 11]) (defalias 'vm-get-spooled-mail #[(&optional interactive) "! Ɖ \n \f p!P Ap!\"!Pp!\"!Ƃ[C@@\"\f@A@\n@8 \n \n!\n\"\n! ##\n\"\n! p\f!=: ! \" ! \"\n!8횄:\n!: \" \n\"\n '\n \": !: \"AU3 5\" Y!.\f" [vm-block-new-mail error "Can't get new mail until you save this folder." vm-compute-spool-files t interactive nil got-mail retrieval-function popdrop maildrop safe-maildrop in crash non-file-maildrop vm-imap-ok-to-ask vm-pop-ok-to-ask triples verify-visited-file-modtime yes-or-no-p format "Folder %s changed on disk, discard those changes? " buffer-name message "Folder %s changed on disk, consider M-x revert-buffer" sleep-for 2 expand-file-name vm-folder-directory vm-movemail-specific-spool-file-p vm-spool-move-mail vm-recognize-imap-maildrops string-match vm-safe-imapdrop-string vm-imap-move-mail vm-recognize-pop-maildrops vm-safe-popdrop-string vm-pop-move-mail vm-get-file-buffer file-exists-p "Recovering messages from %s..." vm-gobble-crash-box "Recovering messages from %s... done" 7 file-attributes 0 file-readable-p error-data (funcall retrieval-function maildrop crash) ((error (byte-code "\n #!Ƈ" [message "%s signaled: %s" retrieval-function error-data sleep-for 2 t] 4)) (quit (byte-code "\n\"!Ň" [message "quitting from %s..." retrieval-function sleep-for 2 t] 3))) "Got mail from %s." vm-spooled-mail-waiting intern vm-buffers-needing-display-update vm-update-summary-and-mode-line run-hooks vm-retrieved-spooled-mail-hook] 13]) (defalias 'vm-safe-popdrop-string #[(drop) "\n\"\nÔÕO\nŔŕOQƇ" [string-match "^\\([^:]+\\):[^:]+:[^:]+:\\([^:]+\\):[^:]+" drop 2 "@" 1 "???"] 5]) (defalias 'vm-safe-imapdrop-string #[(drop) "\n\"!\nÔÕO\nŔŕO\nǔǕOȰ\"ɇ" [string-match "^imap:\\([^:]+\\):[^:]+:\\([^:]+\\):[^:]+:\\([^:]+\\):[^:]+" drop 3 "@" 1 " [" 2 "]" "???"] 7]) (defalias 'vm-get-new-mail #[(&optional arg) "!!q #pC\"=- =8! =G @:\\W \"`!!! Ӊ$ ! @: \"!t!!)Ӊ$%&)#%*%!%\" deZVӉ./0 eӓ/ dӓ.~db4%!.6G$ J Ӊ$ 3 6 !96G$Z\\9M!," [vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary vm-folder-read-only signal folder-read-only major-mode vm-virtual-mode vm-virtual-get-new-mail vm-mode "Can't get mail for a non-VM folder buffer" arg vm-spool-files message "Checking for new mail for %s..." buffer-file-name "Checking for new mail..." nil totals-blurb vm-get-spooled-mail t vm-assimilate-new-messages vm-emit-totals-blurb vm-display (vm-get-new-mail) (vm-get-new-mail) vm-thoughtfully-select-message vm-preview-current-message vm-update-summary-and-mode-line "No new mail for %s" "No new mail." sit-for 4 "" mcount folder buffer-read-only read-file-name "Gather mail from folder: " vm-folder-directory vm-check-folder-types vm-compatible-folder-p "Folder %s is not the same format as this folder." buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) binary coding-system-for-read insert-file-contents vm-message-list (vm-get-new-mail) (vm-get-new-mail) vm-messages-not-on-disk "No messages gathered."] 6 "\ Move any new mail that has arrived in any of the spool files for the current folder into the folder. New mail is appended to the disk and buffer copies of the folder. Prefix arg means to gather mail from a user specified folder, instead of the usual spool files. The file name will be read from the minibuffer. Unlike when getting mail from a spool file, the source file is left undisturbed after its messages have been copied. When applied to a virtual folder, this command runs itself on each of the underlying real folders associated with this virtual folder. A prefix argument has no effect when this command is applied to virtual folder; mail is always gathered from the spool files." "P"]) (defalias 'vm-assimilate-new-messages #[(&optional dont-read-attributes gobble-order labels) " !‰ deZV‰ - e“- d“ˎ~ = Ad M A!R A!Z d A!, n Ao  ! !) ! @H!IA) !!   @\" A) ! V%V%U\f@!N\f@q ! !  AM  A! A# ! A, !(A (*(A M !)\fA) +" [vm-last vm-message-list nil new-messages b-list tail-cons buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) vm-build-message-list vm-ml-sort-keys dont-read-attributes vm-set-default-attributes vm-read-attributes gobble-order vm-gobble-message-order vm-thread-obarray vm-build-threads vm-set-numbering-redo-start-point vm-set-summary-redo-start-point copy-sequence labels vm-burst-digest-messages-inherit-labels mp 4 3 vm-summary-show-threads vm-update-summary-and-mode-line vm-sort-messages "thread" vm-arrived-message-hook vm-run-message-hook run-hooks vm-arrived-messages-hook vm-virtual-buffers buffer-name vm-build-virtual-message-list vm-message-pointer t vm-need-summary-pointer-update vm-preview-current-message] 5]) (defalias 'vm-select-marked-or-prefixed-messages #[(prefix) "\n= S Wǂ !\n\n \f =0 ! UP\n@ B S U0\f!0+ )" [nil mlist last-command vm-next-command-uses-marks vm-marked-messages prefix 0 backward forward vm-abs vm-message-pointer count direction vm-circular-folders t vm-check-count vm-move-message-pointer] 4]) (defalias 'vm-display-startup-message #[nil "!)\n\"!( ( @!! A)!" [sit-for 5 vm-startup-message-lines lines message "VM %s, Copyright (C) 1998 Kyle E. Jones; type ? for help" vm-version t vm-startup-message-displayed 4 substitute-command-keys ""] 3]) (defalias 'vm-session-initialization #[nil "!\n /! & !&\"\f͉" [boundp vm-session-beginning random t vm-load-init-file vm-window-configuration-file vm-default-window-configuration vm-window-configurations vm-load-window-configurations make-vector 29 0 vm-buffers-needing-display-update nil] 3]) (defalias 'vm-toggle-read-only #[nil "!!q\f? \"\f'ɂ(\"̉$ " [vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-folder-read-only intern vm-buffers-needing-display-update message "Folder is now %s" "read-only" "modifiable" vm-display nil (vm-toggle-read-only) (vm-toggle-read-only) vm-update-summary-and-mode-line] 5 nil nil]) (byte-code " B" [scroll-in-place current-load-list] 2) (defalias 'vm-mode-internal #[nil "~!\f   \f\" !\" $ &(!\" r \"\"1B1!0!2!3!!" [make-local-variable require-final-newline vm-mode major-mode vm-mode-line-format mode-line-format "VM" mode-name vm-use-menus vm-popup-menu-on-mouse-3 vm-menu-support-possible-p vm-menu-mode-menu mode-popup-menu t buffer-read-only buffer-offer-save nil vm-thread-obarray vm-thread-subject-obarray make-vector 29 0 vm-label-obarray vm-last-message-pointer vm-modification-counter vm-message-list vm-message-pointer vm-message-order-changed vm-message-order-header-present vm-imap-retrieved-messages vm-pop-retrieved-messages vm-summary-buffer vm-system-state vm-undo-record-list vm-undo-record-pointer vm-link-to-virtual-buffers vm-virtual-buffers vm-get-folder-type vm-folder-type use-local-map vm-mode-map add-hook after-save-hook vm-unblock-new-mail vm-menu-install-menus kill-buffer-hook vm-garbage-collect-folder vm-garbage-collect-message use-dialog-box current-load-list file-precious-flag scroll-in-place run-hooks vm-mode-hook vm-mode-hooks] 3]) (defalias 'vm-link-to-virtual-buffers #[nil " pb@q=Y AY\n@@R\f @\f\"!=K@ B\f B  A.\nA&A ." [buffer-list nil clauses folders folder-buffer vbuffers b-list major-mode vm-virtual-mode vm-virtual-folder-definition vm-get-file-buffer expand-file-name vm-folder-directory vm-real-buffers] 6]) (defalias 'vm-change-folder-type #[(type) "!!q =\"\" \n>2\n\" > =B! !֦\\щ deZVщ!\"# eѓ\" dѓ!~\n eb\n\"z@HHb`\n@\"c@HH@HHV`@HH|@HH`ѓ@HI@HI\n\"@HHb`\n!!@HH@HH|@HHѓ@HHb\n@HH@HH#@HI@HI@H\nIATU\". 6\" !d9@HHVe9@HH}щ$" [vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary major-mode vm-virtual-mode "%s cannot be applied to virtual folders." this-command vm-error-if-folder-empty type (From_ BellFrom_ From_-with-Content-Length mmdf babyl) "Unknown folder type: %s" vm-folder-type unknown "Current folder's type is unknown, can't change it." vm-message-list nil t 0 vm-abs random 11 5 opoint text-end modulus n inhibit-quit old-type buffer-read-only mp buffer-size vm-sr-max vm-sr-min vm-sr-clip make-marker ((byte-code "~ \n} É\nÉÇ" [vm-sr-clip vm-sr-min vm-sr-max nil] 3)) vm-convert-folder-header vm-leading-message-separator 1 2 3 vm-convert-folder-type-headers 4 insert-before-markers vm-trailing-message-separator vm-munge-message-separators 12 7 message "Converting... %d" vm-clear-modification-flag-undos intern vm-buffers-needing-display-update vm-update-summary-and-mode-line "Conversion complete." vm-message-pointer vm-display (vm-change-folder-type) (vm-change-folder-type)] 9 "\ Change folder type to TYPE. TYPE may be one of the following symbol values: From_ From_-with-Content-Length BellFrom_ mmdf babyl Interactively TYPE will be read from the minibuffer." (let ((this-command this-command) (last-command last-command) (types vm-supported-folder-types)) (vm-select-folder-buffer) (vm-error-if-virtual-folder) (setq types (vm-delqual (symbol-name vm-folder-type) (copy-sequence types))) (list (intern (vm-read-string "Change folder to type: " types))))]) (defalias 'vm-garbage-collect-folder #[nil "ÏA)" [vm-folder-garbage-alist nil (byte-code "@A@@!" [vm-folder-garbage-alist] 2) ((error))] 4]) (defalias 'vm-garbage-collect-message #[nil "ÏA)" [vm-message-garbage-alist nil (byte-code "@A@@!" [vm-message-garbage-alist] 2) ((error))] 4]) (byte-code " >\n B > ĤB!' B*C" [vm-write-file-hook write-file-hooks vm-handle-file-recovery find-file-hooks (vm-handle-file-recovery vm-handle-file-reversion) after-revert-hook current-load-list boundp vm-after-revert-buffer-hook] 2) ;ELC ;;; compiled by kyle@crystal.WonderWorks.COM on Wed Aug 12 23:04:29 1998 ;;; from file /local/home/kyle/vm/6/vm-imap.el ;;; emacs version 19.34.2. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`vm-imap.el' was compiled for Emacs 19")) (byte-code "!!\"\"/####" [provide vm-imap fboundp define-error vm-imap-store-failed "IMAP STORE failed" vm-imap-protocol-error "IMAP protocl error" put error-conditions (vm-imap-store-failed error) error-message (vm-imap-protocol-error error) "IMAP protocol error"] 4) (defalias 'vm-imap-move-mail #[(source destination) " \n !Ǐ ! !F\f !   !\"#$%& (\"zA !(\"A)." [nil vm-folder-type vm-imap-messages-per-session vm-imap-bytes-per-session fboundp find-file-name-handler (byte-code " \"" [find-file-name-handler source vm-imap-move-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) vm-safe-imapdrop-string source vm-imapdrop-sans-password uid vm-imap-retrieved-messages process-buffer retrieved-bytes retrieved n response message-size mailbox-count mailbox uid-validity read-write can-delete source-list select x auto-expunge source-nopwd did-delete imap-retrieved-messages msgid statblob imapdrop handler b-per-session m-per-session folder-type process assoc vm-imap-auto-expunge-alist vm-imap-expunge-after-retrieving ((byte-code "\n\n\n!\f\f!Ç" [imap-retrieved-messages vm-imap-retrieved-messages statblob vm-imap-stop-status-timer process vm-imap-end-session] 2)) end-of-session (byte-code " \f #\"\f!\"!  q\n- \f\f\"8\"@A@88# \"\"$\"\"\"X'!'W(! (WꍈT+\"!)ޚ?" [handler throw end-of-session vm-imap-move-mail source destination vm-imap-make-session process nil process-buffer folder-type vm-default-folder-type vm-folder-type vm-parse "\\([^:]+\\):?" source-list 3 mailbox vm-imap-select-mailbox select mailbox-count uid-validity 2 read-write can-delete vm-imap-clear-invalid-retrieval-entries source-nopwd imap-retrieved-messages 1 n 0 retrieved retrieved-bytes vm-imap-start-status-timer statblob vm-set-imap-stat-x-box imapdrop vm-set-imap-stat-x-maxmsg natnump m-per-session b-per-session skip (byte-code " \n\"\n#@AA \n; 6\n$\")\n\" \"V f\n#gщ==\n\"\n\" \n\"\n%\"\n$\n\"\"' #(T()*\\*+!\nB\n\n\"Ç" [vm-set-imap-stat-x-currmsg statblob n nil list vm-imap-get-uid-list process uid msgid uid-validity imap-retrieved-messages vm-imap-ok-to-ask message "Skipping message %d (of %d) from %s (retrieved already)..." mailbox-count imapdrop throw skip t vm-imap-get-message-size message-size vm-set-imap-stat-x-need vm-imap-max-message-size vm-imap-ask-about-large-message response retrieve read-write can-delete delete "Deleting message %d..." vm-imap-delete-message did-delete "Skipping message %d..." "Skipping message %d in %s, too large (%d > %d)..." "Retrieving message %d (of %d) from %s..." vm-imap-send-command format "FETCH %d (RFC822.PEEK)" vm-imap-retrieve-to-crashbox destination retrieved b-per-session retrieved-bytes auto-expunge copy-sequence] 7) did-delete vm-imap-send-command "CLOSE" vm-imap-read-ok-response] 7)] 27]) (defalias 'vm-imap-check-mail #[(source) "! ď ! \n \f ӎՍ).\f" [nil fboundp find-file-name-handler (byte-code " \"" [find-file-name-handler source vm-imap-check-mail] 3) ((wrong-number-of-arguments (find-file-name-handler source))) vm-imap-retrieved-messages vm-imapdrop-sans-password source source-list mailbox select response x uid-validity msg-count imapdrop retrieved handler process ((byte-code "!" [process vm-imap-end-session] 2)) end-of-session (byte-code "\f\f\"\"\f!\"!q\f\"  8  \"@A@UJ\"##@o\"@A\"A@8=\"At\"@Қ?" [handler throw end-of-session vm-imap-check-mail source vm-imap-make-session process nil process-buffer vm-parse "\\([^:]+\\):?" source-list 3 mailbox vm-imap-select-mailbox select msg-count uid-validity 0 vm-imap-clear-invalid-retrieval-entries imapdrop retrieved vm-imap-get-uid-list 1 response assoc x 2 uid t] 6)] 11]) (defalias 'vm-expunge-imap-messages #[nil "  !! q =& \"ʉ̉ʉ \"\"\"x午l\"!!q+ UU#cc@A+p!UU#*ʉ\"." [vm-follow-summary-cursor vm-mail-buffer buffer-name error "Folder buffer has been killed." vm-check-for-killed-summary major-mode vm-virtual-mode "%s cannot be applied to virtual folders." this-command nil 0 t match mp data mailbox uid-alist imapdrop source-list select-response uid-validity read-write can-delete msg-count did-delete vm-imap-ok-to-ask vm-block-new-mail delete-count trouble source process ((byte-code "!" [process vm-imap-end-session] 2)) sort vm-imap-retrieved-messages #[(a b) " 8\n8\fÇ\n8 8ć A@\nA@$Ç\nA@ A@0ć @\n@:Çć" [2 a b t nil] 3] replay (byte-code " A" [error-data (byte-code "@\n 8V\f$ \f\"\f!\f! 8\n!\fϏUN@A@\nIA:\"\f# @\"p\f@\"Tʇ" [mp data source 2 process did-delete vm-imap-send-command "CLOSE" vm-imap-read-ok-response vm-imap-end-session nil vm-safe-imapdrop-string imapdrop error-data (byte-code "\n\"\f!\" !q\f\"\f\f8 \"@A@88\f#@=W\"b\"m\"\n\"" [message "Opening IMAP session to %s..." imapdrop vm-imap-make-session source process signal error nil process-buffer vm-parse "\\([^:]+\\):?" source-list 3 mailbox vm-imap-select-mailbox select-response msg-count uid-validity 2 read-write can-delete vm-imap-clear-invalid-retrieval-entries mp data throw replay t "Can't delete messages in mailbox %s, skipping..." "Mailbox %s is read-only, skipping..." "Expunging messages in %s..."] 5) ((error (byte-code "AA\"\f\"\f B!@A@ /A\"" [error-data apply message "Couldn't open IMAP session to %s, skipping..." imapdrop trouble sleep-for 2 mp source throw replay t] 4))) msg-count 0 throw replay t vm-imap-get-uid-list 1 uid-alist rassoc match vm-imap-delete-message delete-count] 5) ((error (byte-code " B !\"!\"! @8\n+ A \"" [imapdrop trouble message "Something signaled: %s" prin1-to-string error-data sleep-for 2 "Skipping rest of mailbox %s..." mp source throw replay t] 4))) mp] 3) vm-imap-send-command "CLOSE" vm-imap-read-ok-response get-buffer-create "*IMAP Expunge Trouble*" buffer-read-only erase-buffer format "%s IMAP message%s expunged.\n\n" "No" 1 "" "s" "VM had problems expunging messages from:\n" " " "\n" display-buffer message "%s IMAP message%s expunged."] 20 "\ Deletes all messages from IMAP mailbox that have already been retrieved into the current folder. VM sets the \\Deleted flag on all such messages on all the relevant IMAP servers and then immediately expunges." nil]) (defalias 'vm-imap-make-session #[(source) "\n!É \n \f ӎՍ." [nil vm-safe-imapdrop-string source binary source-nopwd-nombox process-buffer source-list pass user auth port host timestamp greeting coding-system-for-write coding-system-for-read imapdrop process process-to-shutdown ((byte-code "!" [process-to-shutdown vm-imap-end-session] 2)) end-of-session (byte-code " \"A@ 8 8 8\n 8\f !\f+ \"5 \"\"C!M \"\nW \"\fa \"\fؚ\"A@\f\"\"\"!\f\"\fDB\f\"!'(\"'q'! )'\f$0\"0!'q!e30!50!\"0780\n\f#\"0!b\fD\"\"!\"bZ5@=b܁A!!\"bρB\"70)" [vm-parse source "\\([^:]+\\):?" source-list host 2 port 4 auth 5 user 6 pass vm-imapdrop-sans-password-and-mailbox source-nopwd-nombox error "No host in IMAP maildrop specification, \"%s\"" "No port in IMAP maildrop specification, \"%s\"" string-match "^[0-9]+$" string-to-int "No authentication method in IMAP maildrop specification, \"%s\"" "No user in IMAP maildrop specification, \"%s\"" "No password in IMAP maildrop specification, \"%s\"" "*" assoc vm-imap-passwords vm-imap-ok-to-ask message "Need password for %s" imapdrop throw end-of-session nil vm-read-password format "IMAP password for %s: " generate-new-buffer "trace of IMAP session to %s" process-buffer vm-xemacs-mule-p set-buffer-file-coding-system binary t buffer-disable-undo erase-buffer open-network-stream "IMAP" process process-kill-without-query make-local-variable vm-imap-read-point vm-imap-read-greeting greeting delete-process process-to-shutdown "login" vm-imap-send-command "LOGIN %s %s" vm-imap-read-ok-response delete "IMAP password for %s incorrect" sleep-for "preauth" preauth "IMAP session was not pre-authenticated" "Don't know how to authenticate using %s"] 7)] 15]) (defalias 'vm-imap-end-session #[(process) " !q \" !!! #% $)" [process-buffer process vm-imap-send-command "LOGOUT" kill-buffer fboundp add-async-timeout 2 delete-process run-at-time nil] 5]) (defalias 'vm-imap-stat-timer #[(o) "H" [o 0] 2]) (defalias 'vm-imap-stat-x-box #[(o) "H" [o 1] 2]) (defalias 'vm-imap-stat-x-currmsg #[(o) "H" [o 2] 2]) (defalias 'vm-imap-stat-x-maxmsg #[(o) "H" [o 3] 2]) (defalias 'vm-imap-stat-x-got #[(o) "H" [o 4] 2]) (defalias 'vm-imap-stat-x-need #[(o) "H" [o 5] 2]) (defalias 'vm-imap-stat-y-box #[(o) "H" [o 6] 2]) (defalias 'vm-imap-stat-y-currmsg #[(o) "H" [o 7] 2]) (defalias 'vm-imap-stat-y-maxmsg #[(o) "H" [o 8] 2]) (defalias 'vm-imap-stat-y-got #[(o) "H" [o 9] 2]) (defalias 'vm-imap-stat-y-need #[(o) "H" [o 10] 2]) (defalias 'vm-set-imap-stat-timer #[(o val) "\nI" [o 0 val] 3]) (defalias 'vm-set-imap-stat-x-box #[(o val) "\nI" [o 1 val] 3]) (defalias 'vm-set-imap-stat-x-currmsg #[(o val) "\nI" [o 2 val] 3]) (defalias 'vm-set-imap-stat-x-maxmsg #[(o val) "\nI" [o 3 val] 3]) (defalias 'vm-set-imap-stat-x-got #[(o val) "\nI" [o 4 val] 3]) (defalias 'vm-set-imap-stat-x-need #[(o val) "\nI" [o 5 val] 3]) (defalias 'vm-set-imap-stat-y-box #[(o val) "\nI" [o 6 val] 3]) (defalias 'vm-set-imap-stat-y-currmsg #[(o val) "\nI" [o 7 val] 3]) (defalias 'vm-set-imap-stat-y-maxmsg #[(o val) "\nI" [o 8 val] 3]) (defalias 'vm-set-imap-stat-y-got #[(o val) "\nI" [o 9 val] 3]) (defalias 'vm-set-imap-stat-y-need #[(o val) "\nI" [o 10 val] 3]) (defalias 'vm-imap-start-status-timer #[nil "\"\f$\f \"\f*" [make-vector 11 nil timer blob add-timeout 5 vm-imap-report-retrieval-status vm-set-imap-stat-timer] 5]) (defalias 'vm-imap-stop-status-timer #[(status-blob) "!\f !! !!" [fboundp disable-timeout vm-imap-stat-timer status-blob cancel-timer] 3]) (defalias 'vm-imap-report-retrieval-status #[(o) " !N ! !=N ! !=N ! ! ! ! ! !V8̂9 ! ! !=JςK%% !\" !\" !\" !\" !\"" [vm-imap-stat-x-got o vm-imap-stat-x-box vm-imap-stat-y-box vm-imap-stat-x-currmsg vm-imap-stat-y-currmsg message "Retrieving message %d (of %d) from %s, %s..." vm-imap-stat-x-maxmsg format "%d%s of %d%s" vm-imap-stat-x-need "!" "" vm-imap-stat-y-got " (stalled)" vm-set-imap-stat-y-box vm-set-imap-stat-y-currmsg vm-set-imap-stat-y-maxmsg vm-set-imap-stat-y-got vm-set-imap-stat-y-need] 13]) (defalias 'vm-imap-send-command #[(process command) "db!\"!\")`  \" \" \"" [insert-before-markers "VM " t case-fold-search string-match "^LOGIN" command "LOGIN \n" " \n" vm-imap-read-point process-send-string process] 3]) (defalias 'vm-imap-select-mailbox #[(process mailbox &optional just-examine) "p \nÉ?ĉ \n \f #\" !  #Q\" #`\" $ 8A\f\f#\fA@A@8{8\f#8\fA@\n8 $ 8 8 $ A@A@b! 8 $8 $8 #8É< \f! !! \" F.\f" [just-examine "EXAMINE" "SELECT" nil t need-ok can-delete read-write uid-validity msg-count permanent-flags flags p response tok command imap-buffer vm-imap-send-command process format "%s %s" mailbox vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to %s" BAD vm-imap-protocol-error "server said BAD to %s" * OK vector 2 UIDVALIDITY atom PERMANENTFLAGS list FLAGS EXISTS read (vector READ-WRITE) (vector READ-ONLY) "FLAGS missing from SELECT responses" "EXISTS missing from SELECT responses" "UIDVALIDITY missing from SELECT responses" vm-imap-scan-list-for-flag "\\Deleted"] 13]) (defalias 'vm-imap-get-uid-list #[(process first last) "p  #\"\n !\f#5!\f#A!\f%\f8A #\\!\fA@A@b! A@A@8{ B B \f# $ B ." [nil t need-ok p response uid msg-num tok imap-buffer list vm-imap-send-command process format "FETCH %d:%d (UID)" first last vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to UID FETCH" BAD vm-imap-protocol-error "server said BAD to UID FETCH" * atom FETCH 3 UID "expected (UID number) in FETCH response" read 2 OK] 9]) (defalias 'vm-imap-ask-about-large-message #[(process size n) "p \n ̎͋.\f" [nil t end start p list fetch-response response need-header need-ok imap-buffer work-buffer ((byte-code "!" [work-buffer kill-buffer] 2)) ((byte-code " \f\"\" P !#!#+!%@$Չ\fY! 8A#q!A@A@ 8\"!%q' \"#ed\"%! +eb#b12# `\"\f6#!\f6#!" [vm-imap-send-command process format "FETCH %d (RFC822.HEADER)" n need-ok vm-imap-read-response response vm-imap-response-matches VM NO error "server said NO to header FETCH" BAD vm-imap-protocol-error "server said BAD to header FETCH" * atom FETCH list fetch-response nil need-header OK "FETCH OK sent before FETCH response" point-marker vm-imap-read-point 3 RFC822\.HEADER string "expected (RFC822.HEADER string) in FETCH response" p start 2 end generate-new-buffer "*imap-glop*" work-buffer insert-buffer-substring imap-buffer vm-imap-cleanup-region vm-display-buffer selected-window minibuffer-scroll-window re-search-forward "^Received:" t 0 vm-reorder-message-headers vm-visible-headers vm-invisible-header-regexp set-window-point y-or-n-p "Message %d, size = %d, retrieve? " size retrieve "Delete message %d from maildrop? " delete skip] 7))] 10]) (defalias 'vm-imap-retrieve-to-crashbox #[(process crash statblob) "‰b\n\" Bp!#?!#L!%`'#'‰,,z! \n\" 8A\f#!\fA@A@ 8b \"(#b(=+!,?,8˚)`.(\".b ) c(\"b !5+%)|." [vm-imap-read-point t nil p list fetch-response end need-msg start vm-set-imap-stat-x-got statblob 0 #[(beg end len) "\n \fZ\" ƦU\n!" [vm-imap-read-point vm-set-imap-stat-x-got statblob end start random 10 0 vm-imap-report-retrieval-status] 4] func after-change-functions need-ok response vm-imap-read-response process vm-imap-response-matches VM NO error "server said NO to message FETCH" BAD vm-imap-protocol-error "server said BAD to message FETCH" * atom FETCH OK "FETCH OK sent before FETCH response" point-marker 3 RFC822 string "expected (RFC822 string) in FETCH response" 2 vm-imap-cleanup-region vm-munge-message-separators vm-folder-type babyl file-attributes crash attrs 7 opoint vm-convert-folder-header vm-skip-past-folder-header vm-leading-message-separator vm-convert-folder-type-headers insert-before-markers vm-trailing-message-separator buffer-file-type write-region] 7]) (defalias 'vm-imap-delete-message #[(process n) " \f\"\" !?!" [vm-imap-send-command process format "STORE %d +FLAGS.SILENT (\\Deleted)" n vm-imap-read-ok-response vm-imap-protocol-error "STORE ... +FLAGS.SILENT (\\Deleted) failed"] 5]) (defalias 'vm-imap-get-message-size #[(process n) "p  #\"\n ! #4! #@! t %t 8A\f#a!\fA@A@b! ##." [nil t need-ok need-size p response size tok imap-buffer list vm-imap-send-command process format "FETCH %d:%d (RFC822.SIZE)" n vm-imap-read-response vm-imap-response-matches VM NO error "server said NO to size FETCH" BAD vm-imap-protocol-error "server said BAD to size FETCH" * atom FETCH 3 RFC822\.SIZE "expected (RFC822.SIZE number) in FETCH response" read OK] 9]) (defalias 'vm-imap-read-greeting #[(process) " ! #ǂ #ɂ)" [nil response vm-imap-read-response process vm-imap-response-matches * OK t PREAUTH preauth] 4]) (defalias 'vm-imap-read-ok-response #[(process) " - ! \" #%ʉʉ\n\n+" [nil done retval response vm-imap-read-response process vm-imap-response-matches * VM OK t] 5]) (defalias 'vm-imap-cleanup-region #[(start end) " ZV\f! Ɠ b`W-#-ɉ#) ZV:!Ɖ" [end start 30000 message "CRLF conversion and char unstuffing..." make-marker nil search-forward " \n" t replace-match "\n" "CRLF conversion and char unstuffing... done"] 4]) (defalias 'vm-imapdrop-sans-password #[(source) " \"@ A@ 8 8 8 8ʰ\f)" [nil source-list vm-parse source "\\([^:]+\\):?" ":" 2 3 4 5 ":*"] 13]) (defalias 'vm-imapdrop-sans-password-and-mailbox #[(source) " \"@ A@ 8 8 8ʰ\n)" [nil source-list vm-parse sou