
(defun vm-match-data nil (byte-code " @!@!	BBA 	*" [index list nil (9 8 7 6 5 4 3 2 1 0) match-beginning match-end] 6))

(defun vm-auto-select-folder (mp auto-folder-alist) (byte-code "" [nil (byte-code "" [match (byte-code "	 @	@@\"?! ł 	@A
 
@@\") 
@A!J 
@A\"  !	
	q  c\"\"!
@A!

< 
\" 
\")+
A' 	A
 +" [header alist tuple-list auto-folder-alist mp nil case-fold-search vm-auto-folder-case-fold-search match-data buf result vm-get-header-contents string-match atom throw match vm-match-data get-buffer-create " *VM scratch*" widen erase-buffer store-match-data mapcar (lambda (n) (byte-code "
  #" [n nil set-marker make-marker] 5)) (lambda (n) (byte-code " T" [n] 1)) eval vm-auto-select-folder] 19)] 2) ((error (byte-code "" [nil] 1)))] 3))

(defun vm-auto-archive-messages (&optional arg) "\
Save all unfiled messages that auto-match a folder via vm-auto-folder-alist
to their appropriate folders.  Deleted message are not saved.

Prefix arg means to ask user for confirmation before saving each message." (interactive "P") (byte-code " ! q	! 	!?   @HH?y @HH?y 	\"y 
?e @HH#!y !t !TA1 +! ! U ݂ # *" [vm-mail-buffer vm-summary-buffer nil auto-folder archived vm-message-pointer vm-message-list vm-last-save-folder vm-move-after-deleting vm-auto-folder-alist arg vm-delete-after-archiving buffer-name bufferp vm-error-if-folder-empty 0 2 3 vm-auto-select-folder y-or-n-p format "Save message %s in folder %s? " 1 vm-save-message vm-delete-message zerop message "No messages archived" "%d message%s archived" "" "s" vm-update-summary-and-mode-line] 16))

(defun vm-save-message (folder &optional count) "\
Save the current message to a mail folder.
If the folder already exists, the message will be appended to it.
Prefix arg COUNT means save the next COUNT messages.  A negative COUNT means
save the previous COUNT messages.

When invoked on marked messages (via vm-next-command-uses-marks),
all marked message in the current folder are saved; other messages are
ignored.

The saved messages are flagged as `filed'." (interactive (byte-code " 
 
! 
q!# !?# ĉ\". )	6 
	J 	\"	$Q $*)!D" [last-command default vm-mail-buffer vm-summary-buffer nil vm-message-pointer vm-auto-folder-alist vm-last-save-folder dir vm-folder-directory default-directory current-prefix-arg vm-follow-summary-cursor buffer-name bufferp vm-auto-select-folder read-file-name format "Save in folder: (default %s) " "Save in folder: " prefix-numeric-value] 12)) (byte-code "Ĉ
 
! 
q!( !?( ĉ 5 	> 
!
!)q tq !?q ?f !?q \"!?w !? ! \"!= ! !  !@HH!q deZV  e\"  d\" @H@HH@\"?,@HH@HH%@HH@HHq deZVl e\"l d\" db@HH!#)=T@  !A  )+))*@HH?B @\"A)+ )q=!!?ĉC  D  ))E F G \"H I !#6E J G \"0H 3I #*IK !D  )" [last-command default vm-mail-buffer vm-summary-buffer nil vm-message-pointer vm-auto-folder-alist vm-last-save-folder dir vm-folder-directory default-directory current-prefix-arg unexpanded-folder folder count vm-confirm-new-folders vm-visit-when-saving mlist folder-buffer t vm-sr-clip vm-sr-min vm-sr-max start end buffer-read-only vm-sr-clip vm-sr-min vm-sr-max major-mode vm-messages-not-on-disk vm-delete-after-saving buffer-name bufferp vm-error-if-folder-empty 1 expand-file-name file-exists-p get-file-buffer y-or-n-p format "%s does not exist, save there anyway? " error "Save aborted" "Folder %s is being visited, cannot save." vm-select-marked-or-prefixed-messages find-file-noselect marker-buffer 0 buffer-size set-marker make-marker ((byte-code "  	
\"	\"
\"" [vm-sr-clip vm-sr-min vm-sr-max nil widen narrow-to-region set-marker] 6)) widen 4 2 vm-stuff-attributes write-region 3 quiet ((byte-code "  	
\"	\"
\"" [vm-sr-clip vm-sr-min vm-sr-max nil widen narrow-to-region set-marker] 6)) insert-buffer-substring vm-mode vm-set-buffer-modified-p buffer-modified-p vm-clear-modification-flag-undos vm-set-filed-flag vm-assimilate-new-messages vm-update-summary-and-mode-line message "Message%s saved to buffer %s" /= "s" "" "Message%s saved to %s" vm-delete-message] 50))

(defun vm-save-message-sans-headers (file &optional count) "\
Save the current message to a file, without its header section.
If the file already exists, the message will be appended to it.
Prefix arg COUNT means save the next COUNT messages.  A negative COUNT means
save the previous COUNT.

When invoked on marked messages (via vm-next-command-uses-marks),
all marked messages in the current folder are saved; other messages are
ignored.

The saved messages are flagged as `written'.

This command should NOT be used to save message to mail folders; use
vm-save-message instead (normally bound to `s')." (interactive (byte-code " $
!D)" [last-command nil current-prefix-arg vm-follow-summary-cursor read-file-name "Write text to file: " prefix-numeric-value] 6)) (byte-code " ! q! !?  * ׉!?= !E \"!	=f !` !	r r !	E@HH!q deZV  e\"  d\" 	? @!@!%&@!@!	q deZV e\" d\" db@HH!#))+)))*@HH?8@\"A)+t )	b\"YZ	!#s\"op#* " [last-command nil current-prefix-arg vm-mail-buffer vm-summary-buffer count file vm-visit-when-saving mlist file-buffer t vm-sr-clip vm-sr-min vm-sr-max start end buffer-read-only vm-sr-clip vm-sr-min vm-sr-max buffer-name bufferp vm-error-if-folder-empty 1 expand-file-name get-file-buffer error "File %s is being visited, cannot save." vm-select-marked-or-prefixed-messages find-file-noselect marker-buffer 0 buffer-size set-marker make-marker ((byte-code "  	
\"	\"
\"" [vm-sr-clip vm-sr-min vm-sr-max nil widen narrow-to-region set-marker] 6)) widen write-region vm-text-of vm-text-end-of quiet ((byte-code "  	
\"	\"
\"" [vm-sr-clip vm-sr-min vm-sr-max nil widen narrow-to-region set-marker] 6)) insert-buffer-substring 2 5 vm-set-written-flag message "Message%s written to buffer %s" /= "s" "" "Message%s written to %s" vm-update-summary-and-mode-line] 40))

(defun vm-pipe-message-to-command (command prefix-arg) "\
Run shell command with the some or all of the current message as input.
By default the entire message is used.
With one \\[universal-argument] the text portion of the message is used.
With two \\[universal-argument]'s the header portion of the message is used.

When invoked on marked messages (via vm-next-command-uses-marks),
each marked message is successively piped to the shell command,
one message per command invocation.

Output, if any, is displayed.  The message is not altered." (interactive (byte-code " 	\"
D)" [last-command vm-last-pipe-command current-prefix-arg vm-follow-summary-cursor read-string "Pipe to command: "] 4)) (byte-code "ň ! q! !? ŉ !4 	==@ !D @Cq ) @HH!q @HHb \" `@!\" \" @!@!\" \" `@!\" `@!\" 	=ed &))AT q !? !)+" [last-command vm-last-pipe-command current-prefix-arg vm-mail-buffer vm-summary-buffer nil command buffer pop-up-windows vm-mutable-windows t mlist vm-message-pointer prefix-arg shell-file-name buffer-name bufferp vm-error-if-folder-empty get-buffer-create "*Shell Command Output*" vm-next-command-uses-marks vm-select-marked-or-prefixed-messages 0 erase-buffer marker-buffer widen forward-line equal narrow-to-region vm-text-end-of (4) vm-text-of (16) call-process-region "sh" "-c" zerop buffer-size display-buffer] 32))
