
(defun vm-rfc934-char-stuff-region (start end) (byte-code " #
b`W #$ # )\"" [end nil start t set-marker make-marker re-search-forward "^-" replace-match "- -"] 8))

(defun vm-rfc934-char-unstuff-region (start end) (byte-code " #
b`W #' #  )\"" [end nil start t set-marker make-marker re-search-forward "^- " replace-match "" forward-char] 8))

(defun vm-digestify-region (start end) (byte-code " #= ɂ \"b!` `\"
#; #* b=M `!`\"!))\"" [end nil separator-regexp vm-folder-type start t set-marker make-marker mmdf "
+
" "
+
From .*" vm-rfc934-char-stuff-region insert-before-markers "------- Start of digest -------
" delete-region forward-line re-search-forward replace-match "

------------------------------
" -1 "------- End of digest -------
"] 14))

(defun vm-burst-digest (&optional grotty-digest) "\
Burst the current message (a digest) into its individual messages.
The digest's messages are assimilated into the folder as new mail would be,
e.g. message grouping takes place and if you're not reading a message
you will be moved to the first new or unread message.

By default VM expects digests to be in the standard RFC 934 format.
A prefix will inveigle VM into coping with other digest formats,
with mixed results." (interactive "P") (byte-code "  ! q	!\" 	!?\" =- \"; pC\".  J K \" # # @
	 deZV  e\"  d\")+)      ." [vm-mail-buffer vm-summary-buffer nil major-mode this-command vm-folder-read-only grotty-digest inhibit-quit t start end reg-start leader trailer error-data reg-end text-start buffer-read-only old-buffer-modified-p m vm-message-pointer vm-sr-clip vm-sr-min vm-sr-max vm-follow-summary-cursor buffer-name bufferp vm-virtual-mode error "%s cannot be applied to virtual folders." signal folder-read-only vm-error-if-folder-empty message "Bursting %sdigest..." "(possible grotty) " "" set-marker make-marker buffer-modified-p buffer-size ((byte-code "  	
\"	\"
\"" [vm-sr-clip vm-sr-min vm-sr-max nil widen narrow-to-region set-marker] 6)) (byte-code " db`p	@!	@!##?% !U  #!U)G !\"b* !`\"d\"b#?h !n !\"w d\"=  HH %b#+#! cc`	#`\")# !!\" 	b#!!\" 	b#!`\"	\"b bc\"\"  !N!" [start vm-message-pointer t end grotty-digest vm-folder-type leader trailer m reg-start nil text-start vm-attributes-header-regexp vm-berkeley-mail-compatibility vm-berkeley-mail-status-header-regexp reg-end vm-delete-after-bursting widen insert-buffer-substring vm-text-of vm-text-end-of re-search-backward "\\(^-[^ ].*
+\\|^-
+\\)+" error "final message separator not found" point-marker match-end 0 set-marker match-beginning skip-chars-backward "
" delete-region re-search-forward "^-[^ ]" "first message separator not found" vm-fix-grotty-digest mmdf "
" "

" concat "From " 3 8 " " current-time-string "

" "\\(\\(
+\\)\\|\\(^\\)\\)\\(-[^ ].*
+\\|-
+\\)+" replace-match "" 2 search-forward "
+-[^ ]" vm-rfc934-char-unstuff-region vm-clear-modification-flag-undos vm-set-buffer-modified-p buffer-modified-p vm-delete-message 1] 45) ((error (byte-code " d\"	!
@> 
@
A\"!" [start old-buffer-modified-p error-data delete-region set-buffer-modified-p (file-supersession buffer-file-locked) signal error "Malformed digest"] 5))) vm-assimilate-new-messages vm-emit-totals-blurb vm-thoughtfully-select-message vm-update-summary-and-mode-line] 25))

(defun vm-fix-grotty-digest (start end) (byte-code "	\"b!#, !b̍?$ c! ))" [start end nil t narrow-to-region forward-line 1 re-search-forward "^-[^ ]" match-beginning 0 real-separator (byte-code "!? \"`Zf\" \"!?& \"" [nil t looking-at "------------" throw real-separator /= 2 10 ".+

"] 8) "- "] 7))
