;ELC ;;; compiled by jwz@thalidomide on Sat May 21 06:31:44 1994 ;;; from file /th/jwz/emacs19/lisp/vm/vm-folder.el ;;; emacs version 19.10 Lucid (beta25). ;;; bytecomp version 2.24; 26-Apr-94. ;;; 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 "This file was compiled for Emacs 19.")) (fset 'vm-number-messages #[(&optional start-point end-point) " \n @HHJ @HHJ@HH!T = @H !I @H \"I T A] S!   \"*" [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."]) (fset 'vm-set-numbering-redo-start-point #[(start-point) " \n\" : :  = =Al! = ) " [intern buffer-name vm-buffers-needing-display-update start-point vm-numbering-redo-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."]) (fset 'vm-set-numbering-redo-end-point #[(end-point) " \n\" =ĉ : @HH! @HH!V  ? " [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."]) (fset '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."]) (fset 'vm-set-summary-redo-start-point #[(start-point) " \n\" : :  = =Al! = ) " [intern buffer-name vm-buffers-needing-display-update start-point vm-summary-redo-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-numbering-redo-start-point or is equal to t, then vm-numbering-redo-start-point is set to match it."]) (fset 'vm-mark-for-summary-update #[(m &optional dont-kill-cache) "HHJ= HIHHBHH! \"HHJ H @H= @HH @B @HH! \" A N)HHJHHJ H @H= @HH @B @HH! \" A N HIHHJHHHHJBHHJHH! \") HIHHBHH! \"" [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."]) (fset 'vm-force-mode-line-update #[nil "!! 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."]) (fset 'vm-do-needed-mode-line-update #[nil " = ǎ +@HH@!  @HH@HH@HH@HH?@HH?@HH@HH@HH@HH@HH@HH@HH@HH ! & q!!* " [vm-message-pointer major-mode vm-virtual-mode nil buffer-modified-p omodified buffer-read-only ((set-buffer-modified-p omodified)) erase-buffer 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 vm-ml-highest-message-number vm-folder-read-only vm-folder-type vm-virtual-folder-definition vm-virtual-mirror vm-ml-sort-keys vm-message-list set-buffer-modified-p vm-force-mode-line-update] 21 "\ Do a modeline updates 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 buffer, and then forcing Emacs to update all modelines. Also if a virtual folder being updated has no messages, erase-buffer is called on its buffer."]) (fset 'vm-update-summary-and-mode-line #[nil "\n\"\n\") \" " [mapatoms #[(b) "\n!!\nq " [get-buffer symbol-name b vm-check-for-killed-summary 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. Message lists are renumbered. Summary entries are updated or wiped and regenerated. Mode lines are updated."]) (fset 'vm-reverse-link-messages #[nil " @HH\nL  Ao*" [vm-message-list nil prev mp 1 6] 3 "\ Set reverse links for all messages in vm-message-list."]) (fset 'vm-match-ordered-header #[(alist) "Í)" [t case-fold-search match (byte-code "@@!@\"Amć" [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."]) (fset 'vm-match-header #[(&optional header-name) " !\n!\n!`I`IʕIǕbw`Iy!yv`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."]) (fset 'vm-matched-header #[nil "HH{" [vm-matched-header-vector 0 1] 3 "\ Returns the header last matched by vm-match-header. Trailing newline is included."]) (fset 'vm-matched-header-name #[nil "HH{" [vm-matched-header-vector 2 3] 3 "\ Returns the name of the header last matched by vm-match-header."]) (fset 'vm-matched-header-contents #[nil "HH{" [vm-matched-header-vector 4 5] 3 "\ Returns the contents of the header last matched by vm-match-header. Trailing newline is not included."]) (fset '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."]) (fset '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."]) (fset '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."]) (fset '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."]) (fset '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."]) (fset '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."]) (fset 'vm-get-folder-type #[(&optional file) "Ď !\nq!q !ˏ~eb U!Ѫ#ՔѪ͔֪Ѫ!ت!ڪ." [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 (insert-file-contents file nil 0 4096) ((wrong-number-of-arguments (byte-code "\n &" [call-process "sed" file temp-buffer nil "-n" "1,/^$/p"] 7))) buffer-size 0 looking-at "\n*From " vm-trust-From_-with-Content-Length From_ re-search-forward vm-content-length-search-regexp t 1 From_-with-Content-Length "\n" mmdf "BABYL OPTIONS:" babyl unknown] 5 "\ Return a symbol indicating the folder type of the current buffer. If optional arg FILE is present the type of FILE is returned instead. 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 UNIX From_ folders 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."]) (fset 'vm-convert-folder-type #[(old-type new-type) "eb B B B B] eb \" @ @b !! @ A@| \" AA @! @b !! @ A@| b \n# AA9," [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 buffer like crash boxes. This will confuse VM if called on a folder buffer in vm-mode."]) (fset 'vm-convert-folder-header #[(old-type new-type) "=`!# `|+\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."]) (fset '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."]) (fset 'vm-convert-folder-type-headers #[(old-type new-type) "\n=#` )` Z*=\n= #Δǔb! |b)\n= !ձ))" [nil length new-type From_-with-Content-Length start search-forward "\n\n" 0 old-type vm-folder-type vm-find-trailing-message-separator re-search-forward vm-content-length-search-regexp t 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."]) (fset 'vm-munge-message-separators #[(folder-type start end) "> œb ` Wcr ʼn*" [folder-type vm-folder-type (From_ mmdf 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."]) (fset '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"]) (fset 'vm-leading-message-separator #[(&optional folder-type message for-other-folder) " > Q\n=Ȫ\n=\n\n \"Q)" [folder-type vm-folder-type type (From_ From_-with-Content-Length) "From VM " current-time-string "\n" mmdf "\n" babyl message " \n0," vm-babyl-attributes-string for-other-folder ",\n*** EOOH ***\n" " \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."]) (fset 'vm-trailing-message-separator #[(&optional folder-type) " =Ī\n=ƪ\n=Ȫ\n=)" [folder-type vm-folder-type type From_ "\n" From_-with-Content-Length "" 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."]) (fset '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."]) (fset 'vm-find-leading-message-separator #[nil "=Ǎ*= !˕b*= #єb*=ԍ*" [vm-folder-type From_ "^From " nil case-fold-search reg1 done (byte-code " #Ĕb`W`Zfǚ\"au\\‡" [re-search-forward reg1 nil no-error 0 3 2 10 throw done t 1] 4) From_-with-Content-Length "\\(^\\|\n+\\)From " looking-at 1 t mmdf "^" re-search-forward no-error 0 babyl " \n[01]," (byte-code " #ĔbohU\"fua‡" [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."]) (fset 'vm-find-trailing-message-separator #[nil "= u=Ɖ  #͔?Δb! !#d`ZYuwm !Δb+= = u" [vm-folder-type From_ vm-find-leading-message-separator -1 From_-with-Content-Length "^From " nil case-fold-search content-length reg1 re-search-forward vm-content-length-search-regexp t 1 0 vm-match-header vm-content-length-header string-to-int vm-matched-header-contents search-forward "\n\n" "\n" looking-at mmdf babyl] 4 "\ Find the next trailing message separator in a folder."]) (fset 'vm-skip-past-leading-message-separator #[nil ">y !yv*=u=#" [vm-folder-type (From_ 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."]) (fset 'vm-skip-past-trailing-message-separator #[nil "=u==u=u" [vm-folder-type From_ 1 From_-with-Content-Length mmdf 5 babyl] 2 "\ Move point past a trailing message separator at point."]) (fset 'vm-build-message-list #[nil "  !Ʀ\\‰ \n    e@HHW@HHA: AYb*eb >gU \"! `  H I H `“I  H `“I  H `“I ` H `“I HH L  C    C A  T \nU \"w \nY!dU? =? \"!." [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_ 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"] 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."]) (byte-code "MMMMMMMMMMMMMMMMMMMMMMMM" [vm-build-header-order-alist #[(vheaders) "B @BB A An\nA*" [nil list order-alist vheaders] 4] vm-reorder-message-headers #[(message keep-list discard-regexp) "HHq  ~HHHHb HH!#)H ɔГI) deZVЉ eГ dГՎ !Љp   !#=HHHHbyHIpHH!S#!qHH!#ebgU !!!bS`|LAA`{P`{`{B`|`S!@A@Ac@СAf@cAs-HHqHHb!`!|!))H HH\\ГI!b H 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 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*" 10 vm-match-header vm-matched-header-end vm-match-ordered-header looking-at inhibit-quit set-buffer-modified-p vm-vheaders-of "^" vm-matched-header-name ":"] 12] vm-read-attributes #[(message-list) " ‰ !Ŧ\\ \n    T @HF@HHb@HH#@H I@HHb@!#єb܏ ! ! @HI @GW@HI  @\" A@G!W@HI A A@!\"@H 8I@ A@I@ @I\"#@!#@!\"IҔb@\"I@!?#@!\"I@\"I@\")=@!@HH T @HHT@HHT  U \"A'  Y!?/  0. " [message-list vm-message-list 0 vm-abs random 11 25 t nil data 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!" [read data] 2) ((error (byte-code " \" \"E @\"" [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] 9] vm-read-babyl-attributes #[(message) " \" IHHbuHgUIum!!\"!\"!\"!\"!\"!\"!\"!\"!\"wm,u,mu!ʔʕ{ BɕbmH 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," "^," " \\([^- ,-]+\\)," 4 3] 5] vm-set-default-attributes #[(message-list) " ‰\"\" @ I @ I @\" @HI AT+" [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] vm-emit-totals-blurb #[nil "!!q @ lj \n  T @HH T  @HH T  @HH\nT\n A E  \n - A@ǚ! A@ A@UҪ 8 8 8&)" [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] 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] vm-gobble-labels #[nil " deZV e dɎ~\n=eb `eb\n#``{\"\"*eb #`eb \n#p!\")." [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 read #[(s) " \n\"" [intern s vm-label-obarray] 3]] 5] vm-gobble-bookmark #[nil " deZV e dʎ~eb #`eb \n#p!-  S\"+" [t nil 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 read vm-record-and-change-message-pointer vm-message-pointer vm-message-list] 5] vm-gobble-visible-header-variables #[nil " deZV e dƎ ~eb #`eb #ԏ?!@HI@HIAf)+." [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-visible-headers vm-invisible-header-regexp vm-message-list mp message "Discarding visible header info..." 3 12 0 2] 5] vm-gobble-message-order #[nil "\n~eb #`eb #!p!\nG G]\"  @S @I A Ai \"\"@\n>! )!." [t nil vm-message-list list-length mp order v 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 message "Reordering messages..." read make-vector 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 "Reordering messages... done"] 6] vm-gobble-summary #[nil "\n deZV \n e d̎~eb #`eb  #p!? @HI @HI Aj. " [t nil vm-message-list mp 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 read vm-summary-format 3 18 4 2] 5] vm-stuff-attributes #[(m &optional for-other-folder) " deZV e dƎ~  HH   ӎ HI HH ! H H !\"= \" HHb  !#ޔޕ|m HHb` #%!)%!)% HH!)& HH =+ HHb, !#ޔޕ|m HHb HH- HH# 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 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] vm-stuff-babyl-attributes #[(m for-other-folder) "HHbuHHcc!u!|HHcHHc HHcHHcHHcHHcHHcHHcHHcu!|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] vm-babyl-attributes-string #[(m for-other-folder) "HHêHH?HHHHHHHHHHHHHHӰ" [m 2 0 " recent, unseen," 1 " unseen," for-other-folder " deleted," 4 " answered," 6 " forwarded," 8 " redistributed," 3 " filed," 7 " edited," 5 " written,"] 9] vm-babyl-labels-string #[(m) " HH @ BBB Aq \"*" [nil m 4 3 labels list "," " " apply concat] 5] vm-stuff-virtual-attributes #[(message) " !\n HHJ HHJHHq HHJ!))" [vm-virtual-message-p message virtual 4 1 5 9 vm-stuff-attributes] 4] vm-stuff-labels #[nil " deZV‰ e“ d“ǎ~ ‰\n   =eb `e|\"!eb #`\neb \n#ڔb!m |e !\" !*!.\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-folder-type babyl vm-skip-past-folder-header insert-before-markers vm-folder-header vm-label-obarray 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] 6] vm-stuff-bookmark #[nil " deZV‰ e“ d“ǎ~ ‰\n   eb #`\neb \n#Քb! |@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-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] vm-stuff-summary #[nil " deZV‰ e“ d“ǎ~ ‰\n   eb #`\neb \n#Քb!m |e!)ޱ!.\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-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] 6] vm-stuff-header-variables #[nil " deZV‰ e“ d“ǎ~ ɉ‰\n   eb #` eb  #֔b!m |e!!߱!. " [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 lim print-escape-newlines 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-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] 7] vm-stuff-message-order #[nil "A deZV‰ e“ d“ǎ~ ‰!    \" eb #`eb #ڔb!m |e߱   @HHc T  A f U⪁cVc%&!. " [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-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] vm-remove-message-order #[nil "A deZV‰ e“ d“ǎ~ ‰\n   eb #` eb  #Քb!m |e!.\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] vm-change-all-new-to-unread #[nil " @HH @\" @\" Af)" [vm-message-list mp 2 0 vm-set-new-flag nil vm-set-unread-flag t] 4]] 2) (fset 'vm-unread-message #[(&optional count) " !! q !\n\n@HH\n@HH\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"]) (fset 'vm-quit-just-bury #[nil "!!q >\" !̉$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 run-hooks vm-quit-hook vm-display nil (vm-quit-just-bury) (vm-quit-just-bury quitting) bury-buffer vm-summary-buffer] 5 "\ Bury the current VM folder and summary buffers. The folder is not altered and Emacs is still visiting it. You can switch back to it with switch-to-buffer or by using the Buffer Menu." nil]) (fset 'vm-quit-no-change #[nil "!" [vm-quit t] 2 "\ Exit VM without saving changes made to the folder." nil]) (fset 'vm-quit #[(&optional no-change) "!!q >\" ʉD$ = UU٪#!! !!=!!! !% =  !(p)*(ʉ$*!)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-display nil (vm-quit vm-quit-no-change) quitting vm-virtual-mode virtual no-change buffer-modified-p 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-virtual-quit message "Quitting..." vm-folder-read-only vm-change-all-new-to-unread vm-save-folder vm-summary-buffer mail-buffer summary-buffer kill-buffer set-buffer-modified-p vm-update-summary-and-mode-line] 7 "\ Quit VM, saving changes. Deleted messages are not expunged." nil]) (byte-code "MMMMMMM" [vm-start-itimers-if-needed #[nil " !\n!ŏƉ !! $\n!!?\n$" [natnump vm-flush-interval vm-auto-get-new-mail data (byte-code "!‡" [require itimer t] 2) ((error)) t get-itimer "vm-flush" start-itimer vm-flush-itimer-function nil "vm-get-mail" vm-get-mail-itimer-function] 5] vm-get-mail-itimer-function #[nil "\n\"  ? @q=   \"  ! ) A7)" [vm-auto-get-new-mail set-itimer-restart current-itimer buffer-list b-list input-pending-p major-mode vm-mode 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 t vm-message-pointer vm-thoughtfully-select-message vm-preview-current-message vm-update-summary-and-mode-line] 3] vm-flush-itimer-function #[nil "\n\" ?\n\"" [vm-flush-interval set-itimer-restart current-itimer vm-flush-cached-data nil] 3] vm-flush-cached-data #[nil "  @q = \n=    @HH @! A e  \n) A' \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 mp vm-stuff-summary vm-stuff-labels vm-message-order-changed vm-stuff-message-order 4 2 vm-stuff-attributes] 3] vm-write-file-hook #[nil "=\n? deZVĉ eē dēɎ\n   @HH @! A i\n  .ć" [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)) vm-message-list buffer-read-only mp 4 2 vm-stuff-attributes vm-update-summary-and-mode-line vm-stuff-bookmark vm-stuff-header-variables vm-stuff-labels vm-stuff-summary vm-message-order-changed vm-stuff-message-order] 4] vm-save-buffer #[(prefix) "!!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 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] 5 nil "P"] vm-write-file #[nil "!!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 call-interactively write-file 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] 5 nil nil]] 2) (fset 'vm-save-folder #[(&optional prefix) "!!q Ɖ$ = ! !@HH@!Ai  ! !)! #$ !'('=( \"!폈 )!" [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 mp message "Stuffing attributes..." vm-message-list 4 2 vm-stuff-attributes vm-update-summary-and-mode-line vm-stuff-bookmark 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 zerop 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 message "%s removed"] 3) ((error)) "No changes need to be saved"] 6 "\ 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)]) (fset '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)]) (byte-code "MMM" [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] 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] 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]] 2) (fset 'vm-help #[nil "=\n\n!!\nq= \n = =!>!=!!=!! *" [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 pop-up-frames last-command vm-help describe-mode 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 message"] 3 "\ Display help for various VM activities." nil]) (byte-code "MMMM" [vm-spool-move-mail #[(source destination) "!ď‰ \n# \n$! q )  \n& qU#c V ! \" !)+" [fboundp find-file-name-handler nil (find-file-name-handler source nil) ((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" kill-buffer] 8] vm-gobble-crash-box #[(crash-box) " deZV e dƎ~d U    !*q   =\"=\" =  \"! $ =  \"! %eb\"!)dbq~ )T#dԉ%)T)dU?  !!+;\"+!+GSHU !OR\"! ." [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 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 rename-file expand-file-name 47 "/" "" "Z" timezone-make-date-sortable current-time-string 4 sleep-for] 10] vm-get-spooled-mail #[nil "!É \n   PEC\n @; \"\n @: \n\n\n@@\"\n@A@\n@8 p!= ! \" !  \"\"!!8! ! ! \" \" !\"\nA\nK ! ." [vm-block-new-mail error "Can't get new mail until you save this folder." nil t got-mail popdrop maildrop in crash triples vm-spool-files vm-primary-inbox vm-spool-directory user-login-name vm-crash-box mapcar #[(s) " \nE" [vm-primary-inbox s vm-crash-box] 3] expand-file-name vm-folder-directory 2 vm-get-file-buffer file-exists-p message "Recovering messages from %s..." vm-gobble-crash-box "Recovering messages from %s... done" vm-recognize-pop-maildrops string-match vm-safe-popdrop-string 7 file-attributes 0 file-readable-p vm-pop-move-mail vm-spool-move-mail "Got mail from %s." run-hooks vm-retrieved-spooled-mail-hook] 8] vm-safe-popdrop-string #[(drop) "\n\"\nÔÕO\nŔŕOQƇ" [string-match "^\\([^:]+\\):[^:]+:[^:]+:\\([^:]+\\):[^:]+" drop 2 "@" 1 "???"] 5]] 2) (fset 'vm-get-new-mail #[(&optional arg) "!!q pC\"u=  = @: \"!҉ !@\"Aq ҉$ ! @: \"!t!!*҉&'(+#','!'\" deZV҉012 eғ1 dғ0~db'!-6G& @\"Aq ҉$ !96G&Z\\9!-" [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 arg vm-mode vm-spool-files message "Checking for new mail for %s..." buffer-file-name "Checking for new mail..." nil totals-blurb new-messages vm-get-spooled-mail vm-assimilate-new-messages t vm-arrived-message-hook vm-run-message-hook 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)) 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; mail is always gathered from the spool files." "P"]) (byte-code "MMMMMMMM" [vm-assimilate-new-messages #[(&optional dont-read-attributes gobble-order) " !‰ deZV‰ e“ d“ˎ~ A  A! A!  A!, A  ! !) !!  @! @q ! ! A  A! A ! A ! !  !) A&) +" [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 vm-summary-show-threads vm-update-summary-and-mode-line copy-sequence vm-sort-messages "thread" vm-virtual-buffers buffer-name vm-build-virtual-message-list vm-message-pointer t vm-need-summary-pointer-update vm-preview-current-message] 4] vm-select-marked-or-prefixed-messages #[(prefix) "\n=  WǪ !\n\n   = ! U\n@ B S Uj !c+ )" [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] vm-display-startup-message #[nil "!\n\"! @!! Al)!" [sit-for 5 vm-startup-message-lines lines message "VM %s, Copyright (C) 1994 Kyle E. Jones; type ? for help" vm-version t vm-startup-message-displayed 4 substitute-command-keys ""] 3] vm-load-init-file #[(&optional interactive) " ? ?$Ɖ$" [vm-init-file-loaded interactive load vm-init-file t vm-display nil (vm-load-init-file) (vm-load-init-file)] 5 nil "p"] vm-session-initialization #[nil "! !  !\" ͉" [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] vm-toggle-read-only #[nil "!!q ? \" ɪ\"̉$ " [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] vm-mode-internal #[nil "~!    \"  =? !#!!!" [make-local-variable require-final-newline vm-mode major-mode vm-mode-line-format mode-line-format "VM" mode-name t buffer-read-only 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-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 vm-mutable-windows window-edges vm-root-window-edges use-local-map vm-mode-map run-hooks vm-mode-hook vm-mode-hooks] 3] vm-link-to-virtual-buffers #[nil " p@q= A\n@@ @ \"!=@ B  B  A^\nAQA7 ." [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]] 2) (fset 'vm-change-folder-type #[(type) "!!q =\" \n>\n\"  =! !֦\\щ deZVщ!\"# eѓ\" dѓ!~\n eb\n\"o@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_ 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 mmdf babyl Interactively TYPE will be read from the minibuffer." (byte-code " \n !! q=\" ! !\" \"!+C" [this-command last-command vm-supported-folder-types types vm-mail-buffer buffer-name error "Folder buffer has been killed." major-mode vm-virtual-mode "%s cannot be applied to virtual folders." vm-delqual symbol-name vm-folder-type copy-sequence intern vm-read-string "Change folder to type: "] 4)]) (byte-code " > B > Ĥ" [vm-write-file-hook write-file-hooks vm-handle-file-recovery find-file-hooks (vm-handle-file-recovery vm-handle-file-reversion)] 2)