🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.vm.bug
Article #578

Problem bursting MIME digests

#578
From: Ulrich Mueller
Date: Fri, 07 Oct 2005 09:21
360 lines
13982 bytes
[I have already sent this to bug-vm@wonderworks.com about a week ago,
but it did not appear in g.e.vm.bug.]

Hi,

a mailing list that I read recently changed its digest format to the
following:

   MIME-Version: 1.0
   Content-Type: multipart/digest; boundary=12345
   From: digest@nowhere
   To: user@nowhere
   Subject: Test Digest
   Date: Tue, 27 Sep 2005 18:00:00 GMT

   --12345
   Content-Type: text/plain; charset=us-ascii

   Table of contents


   --12345
   Content-Type: message/rfc822

   From: user1@nowhere
   Subject: Message 1

   This is message 1.
   --12345
   Content-Type: message/rfc822

   From: user2@nowhere
   Subject: Message 2

   This is message 2.
   --12345
   Content-Type: message/rfc822

   From: user3@nowhere
   Subject: Message 3

   This is message 3.
   --12345--


Now the command "vm-burst-digest" results in a display of only the
table of contents plus one (garbled) message containing everything
else.

Please note that the digest format does not include an extra newline
before the boundary lines. I don't know if this is strictly conforming
to RFC 2046, however, VM should be robust enough to handle it.

The following patch in fuction vm-mime-burst-layout fixes the problem
for me:

--- vm-digest.el~	2005-09-27 23:32:06.000000000 +0200
+++ vm-digest.el	2005-09-27 23:34:14.000000000 +0200
@@ -179,6 +179,7 @@
 		    (goto-char start)
 		    (while (= (following-char) ?\n)
 		      (delete-char 1)))
+		  (insert ?\n)
 		  (insert (vm-trailing-message-separator folder-type)))
 		 ((vm-mime-types-match "multipart/digest"
 				       (car (vm-mm-layout-type layout)))
@@ -202,6 +203,7 @@
 		      (goto-char start)
 		      (while (= (following-char) ?\n)
 			(delete-char 1)))
+		    (insert ?\n)
 		    (insert (vm-trailing-message-separator folder-type))
 		    (setq part-list (cdr part-list))))
 		 (t (error


Emacs  : GNU Emacs 21.4.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2005-05-17 on a1ianalyse1
Package: VM 7.19

current state:
==============
(setq
 vm-arrived-message-hook nil
 vm-arrived-messages-hook nil
 vm-auto-center-summary 0
 vm-auto-decode-mime-messages nil
 vm-auto-displayed-mime-content-type-exceptions nil
 vm-auto-displayed-mime-content-types '("text" "multipart")
 vm-auto-folder-case-fold-search nil
 vm-auto-get-new-mail t
 vm-auto-next-message t
 vm-berkeley-mail-compatibility nil
 vm-check-folder-types t
 vm-circular-folders nil
 vm-confirm-new-folders t
 vm-confirm-quit 0
 vm-convert-folder-types t
 vm-crash-box "~/Mail/INBOX.CRASH"
 vm-crash-box-suffix nil
 vm-default-From_-folder-type 'From_
 vm-default-folder-permission-bits 384
 vm-default-folder-type 'From_
 vm-delete-after-archiving nil
 vm-delete-after-bursting nil
 vm-delete-after-saving t
 vm-delete-empty-folders t
 vm-digest-burst-type "guess"
 vm-digest-identifier-header-format "X-Digest: %s\n"
 vm-digest-center-preamble t
 vm-digest-preamble-format "\"%s\" (%F)"
 vm-digest-send-type "mime"
 vm-display-buffer-hook nil
 vm-display-using-mime t
 vm-edit-message-hook nil
 vm-edit-message-mode 'text-mode
 vm-fill-paragraphs-containing-long-lines nil
 vm-flush-interval 90
 vm-folder-directory "~/Mail/"
 vm-folder-read-only nil
 vm-folders-summary-database "~/.vm.folders.db"
 vm-folders-summary-directories '("~/Mail/")
 vm-folders-summary-format "  %12f %4t total, %n new, %u unread, %s spooled\n"
 vm-follow-summary-cursor t
 vm-forward-message-hook nil
 vm-forwarded-headers '("Resent-" "From:" "Sender:" "Reply-To:" "To:" "Cc:"
			"Subject:" "Date:" "Message-ID:" "Keywords:")
 vm-forwarding-digest-type "mime"
 vm-forwarding-subject-format "forwarded message from %F"
 vm-frame-parameter-alist nil
 vm-frame-per-completion t
 vm-frame-per-composition nil
 vm-frame-per-edit nil
 vm-frame-per-folder nil
 vm-frame-per-folders-summary nil
 vm-frame-per-help nil
 vm-frame-per-summary nil
 vm-highlight-url-face 'bold-italic
 vm-highlighted-header-regexp "^\\(From\\|To\\|Subject\\):"
 vm-honor-mime-content-disposition nil
 vm-honor-page-delimiters nil
 vm-icontopbm-program "/usr/bin/icontopbm"
 vm-image-directory "/usr/share/emacs/site-lisp/vm/../etc/vm"
 vm-imagemagick-convert-program "/usr/bin/convert"
 vm-imagemagick-identify-program "/usr/bin/identify"
 vm-imap-bytes-per-session 1000000
 vm-imap-expunge-after-retrieving t
 vm-imap-max-message-size 200000
 vm-imap-messages-per-session 50
 vm-imap-session-preauth-hook '(ulm-vm-imap-session-preauth-hook)
 vm-in-reply-to-format "%i"
 vm-included-text-attribution-format "%F writes:\n"
 vm-included-text-discard-header-regexp nil
 vm-included-text-headers nil
 vm-included-text-prefix " > "
 vm-index-file-suffix nil
 vm-init-file "~/.vm"
 vm-infer-mime-types nil
 vm-invisible-header-regexp nil
 vm-jump-to-new-messages t
 vm-jump-to-unread-messages t
 vm-keep-crash-boxes nil
 vm-keep-sent-messages 1
 vm-lynx-program "lynx"
 vm-mail-header-from nil
 vm-mail-header-insert-date t
 vm-mail-header-insert-message-id t
 vm-mail-hook nil
 vm-mail-check-interval nil
 vm-mail-mode-hook '(mc-install-write-mode ulm-mail-mode)
 vm-mail-send-hook nil
 vm-make-crash-box-name nil
 vm-make-spool-file-name nil
 vm-mime-7bit-composition-charset "us-ascii"
 vm-mime-8bit-composition-charset "iso-8859-1"
 vm-mime-8bit-text-transfer-encoding '8bit
 vm-mime-alternative-select-method 'best-internal
 vm-mime-attachment-auto-type-alist '(("\\.jpe?g$" . "image/jpeg")
				      ("\\.gif$" . "image/gif")
				      ("\\.png$" . "image/png")
				      ("\\.tiff?$" . "image/tiff")
				      ("\\.html?$" . "text/html")
				      ("\\.au$" . "audio/basic")
				      ("\\.mpe?g$" . "video/mpeg")
				      ("\\.mov$" . "video/quicktime")
				      ("\\.e?ps$" . "application/postscript")
				      ("\\.pdf$" . "application/pdf")
				      ("\\.xls$" . "application/vnd.ms-excel")
				      ("\\.doc$" . "application/msword")
				      ("\\.ppt$" .
				       "application/vnd.ms-powerpoint")
				      )
 vm-mime-attachment-save-directory nil
 vm-mime-avoid-folding-content-type t
 vm-mime-base64-decoder-program "mimencode"
 vm-mime-base64-decoder-switches '("-u")
 vm-mime-base64-encoder-program "mimencode"
 vm-mime-base64-encoder-switches nil
 vm-mime-button-face 'gui-button-face
 vm-mime-button-format-alist '(("text" . "%-35.35(%d, %c%) [%k to %a]")
			       ("multipart/alternative" .
				"%-35.35(%d%) [%k to %a]")
			       ("multipart/digest" .
				"%-35.35(%d, %n message%s%) [%k to %a]")
			       ("multipart" .
				"%-35.35(%d, %n part%s%) [%k to %a]")
			       ("message/partial" .
				"%-35.35(%d, part %N (of %T)%) [%k to %a]")
			       ("message/external-body" .
				"%-35.35(%d%) [%k to %a (%x)]")
			       ("message" . "%-35.35(%d%) [%k to %a]")
			       ("audio" . "%-35.35(%d%) [%k to %a]")
			       ("video" . "%-35.35(%d%) [%k to %a]")
			       ("image" . "%-35.35(%d%) [%k to %a]")
			       ("application/octet-stream" .
				"%-35.35(%d, %f%) [%k to %a]")
			       )
 vm-mime-charset-converter-alist nil
 vm-mime-charset-font-alist nil
 vm-mime-confirm-delete t
 vm-mime-decode-for-preview t
 vm-mime-default-face-charset-exceptions nil
 vm-mime-default-face-charsets '("us-ascii" "iso-8859-1")
 vm-mime-delete-after-saving nil
 vm-mime-delete-viewer-processes t
 vm-mime-digest-discard-header-regexp nil
 vm-mime-digest-headers '("Resent-" "From:" "Sender:" "To:" "Cc:" "Subject:"
			  "Date:" "Message-ID:" "Keywords:" "MIME-Version:"
			  "Content-")
 vm-mime-display-function nil
 vm-mime-external-content-types-alist nil
 vm-mime-forward-local-external-bodies nil
 vm-mime-ignore-composite-type-opaque-transfer-encoding t
 vm-mime-ignore-mime-version t
 vm-mime-ignore-missing-multipart-boundary t
 vm-mime-internal-content-type-exceptions nil
 vm-mime-internal-content-types t
 vm-mime-max-message-size nil
 vm-mime-qp-decoder-program "mimencode"
 vm-mime-qp-decoder-switches '("-u" "-q")
 vm-mime-qp-encoder-program "mimencode"
 vm-mime-qp-encoder-switches '("-q")
 vm-mime-require-mime-version-header t
 vm-mime-type-converter-alist nil
 vm-mime-use-image-strips t
 vm-mime-use-w3-for-text/html t
 vm-mime-uuencode-decoder-program "uudecode"
 vm-mime-uuencode-decoder-switches nil
 vm-mode-hook '(mc-install-read-mode ulm-vm-mode ulm-quote-syntax-german)
 vm-mode-hooks nil
 vm-mosaic-program "Mosaic"
 vm-mosaic-program-switches nil
 vm-move-after-deleting nil
 vm-move-after-undeleting nil
 vm-move-after-killing nil
 vm-move-messages-physically nil
 vm-movemail-program "movemail"
 vm-mutable-frames t
 vm-mutable-windows t
 vm-netscape-program "netscape"
 vm-netscape-program-switches nil
 vm-page-continuation-glyph "...press SPACE to see more..."
 vm-paragraph-fill-column 70
 vm-pop-bytes-per-session nil
 vm-pop-expunge-after-retrieving t
 vm-pop-max-message-size nil
 vm-pop-messages-per-session nil
 vm-pop-md5-program "md5"
 vm-popup-menu-on-mouse-3 t
 vm-preferences-file "~/.vm.preferences"
 vm-preview-lines nil
 vm-preview-read-messages nil
 vm-primary-inbox "~/Mail/INBOX"
 vm-quit-hook nil
 vm-recognize-imap-maildrops "^\\(imap\\|imap-ssl\\|imap-ssh\\):[^:]+:[^:]+:[^:]+:[^:]+:[^:]+:.+"
 vm-recognize-pop-maildrops "^\\(pop:\\|pop-ssl:\\|pop-ssh:\\)?[^:]+:[^:]+:[^:]+:[^:]+:.+"
 vm-reply-hook nil
 vm-reply-ignored-reply-tos nil
 vm-reply-subject-prefix "Re: "
 vm-resend-bounced-discard-header-regexp nil
 vm-resend-bounced-headers '("MIME-Version:" "Content-" "From:" "Sender:"
			     "Reply-To:" "To:" "Cc:" "Subject:" "Newsgroups:"
			     "In-Reply-To:" "References:" "Keywords:" "X-")
 vm-resend-bounced-message-hook nil
 vm-resend-discard-header-regexp "\\(Resent-\\|X-Delivered\\|X-POP3-\\)"
 vm-resend-headers nil
 vm-resend-message-hook nil
 vm-retrieved-spooled-mail-hook nil
 vm-rfc1153-digest-discard-header-regexp "\\(X400-\\)?Received:"
 vm-rfc1153-digest-headers '("Resent-" "Date:" "From:" "Sender:" "To:" "Cc:"
			     "Subject:" "Message-ID:" "Keywords:")
 vm-rfc934-digest-discard-header-regexp nil
 vm-rfc934-digest-headers '("Resent-" "From:" "Sender:" "To:" "Cc:" "Subject:"
			    "Date:" "Message-ID:" "Keywords:")
 vm-search-using-regexps nil
 vm-select-message-hook '(ulm-select-charset)
 vm-select-new-message-hook nil
 vm-select-unread-message-hook nil
 vm-send-digest-hook nil
 vm-send-using-mime t
 vm-skip-deleted-messages t
 vm-skip-read-messages nil
 vm-spool-file-suffixes nil
 vm-spooled-mail-waiting-hook nil
 vm-ssh-program "ssh"
 vm-ssh-program-switches nil
 vm-ssh-remote-command "echo ready; sleep 15"
 vm-startup-with-summary 'split
 vm-strip-reply-headers nil
 vm-stunnel-program "stunnel"
 vm-stunnel-program-switches nil
 vm-stunnel-random-data-method 'generate
 vm-subject-significant-chars nil
 vm-summary-format "%n %*%a %-17.17F %-3.3m %2d %4l/%-5c %I\"%s\"\n"
 vm-summary-highlight-face 'bold
 vm-summary-mode-hook '(mc-install-read-mode)
 vm-summary-mode-hooks nil
 vm-summary-redo-hook nil
 vm-summary-show-threads nil
 vm-summary-thread-indent-level 2
 vm-summary-uninteresting-senders nil
 vm-summary-uninteresting-senders-arrow "To: "
 vm-tale-is-an-idiot nil
 vm-temp-file-directory "/tmp"
 vm-thread-using-subject t
 vm-toolbar-pixmap-directory "/usr/share/emacs/site-lisp/vm/../etc/vm"
 vm-trust-From_-with-Content-Length nil
 vm-uncompface-program nil
 vm-undisplay-buffer-hook nil
 vm-unforwarded-header-regexp nil
 vm-url-browser 'ulm-browse-url
 vm-url-browser-switches nil
 vm-url-retrieval-methods '(lynx wget fetch curl w3m)
 vm-url-search-limit 12000
 vm-use-menus '(folder motion send mark label sort virtual undo dispose emacs
		nil help)
 vm-use-toolbar '(next previous delete/undelete autofile file reply compose
		  print visit quit nil help)
 vm-virtual-folder-alist nil
 vm-virtual-mirror t
 vm-visible-headers '("Resent-" "From:" "Sender:" "Reply-To:" "To:"
		      "Apparently-To:" "Cc:" "Subject:" "Date:" "Newsgroups:")
 vm-visit-folder-hook nil
 vm-visit-when-saving 0
 vm-warp-mouse-to-new-frame nil
 vm-wget-program "wget"
 vm-window-configuration-file "~/.vm.windows"
 features '(view mailalias sendmail vm-reply reporter vm-virtual vm-delete
	    vm-undo vm-crypto vm-imap ulm-latin mail-utils vm-page vm-mime
	    vm-toolbar vm-summary tapestry vm-motion vm-message mailcrypt
	    comint ring easymenu vm-folder vm-misc vm-easymenu vm-menu vm-mouse
	    vm-window vm-autoload vm-vars vm-startup vm-version vm latin-1
	    delsel jka-compr iso-transl disp-table ediff-hook vc-hooks
	    lisp-float-type lisp-mode page menu-bar timer select scroll-bar
	    mldrag mouse facemenu faces cus-face frame ucs-tables misc-lang
	    vietnamese tibetan thai lao korean japanese hebrew greek romanian
	    slovak czech european ethiopic devanagari indian cyrillic chinese
	    case-table help overlay md5 base64 format mule env backquote custom
	    widget x-toolkit)
 )
Technical Details
Message-ID: <ubr214r8c@a1ihome1.kph.uni-mainz.de>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!meganewsservers.com!feeder2.on.meganewsservers.com!npeer.de.kpn-eurorings.net!news.n-ix.net!news.belwue.de!news.Uni-Mainz.DE!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: f6829,98f3c948ac855e44,start
X-Google-Attributes: gidf6829,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!meganewsservers.com!feeder2.on.meganewsservers.com!npeer.de.kpn-eurorings.net!news.n-ix.net!news.belwue.de!news.Uni-Mainz.DE!not-for-mail
From: ulm@kph.uni-mainz.de (Ulrich Mueller)
Newsgroups: gnu.emacs.vm.bug
Subject: Problem bursting MIME digests
Date: Fri, 7 Oct 2005 11:21:10 +0200
Lines: 360
Sender: ulm@a1ihome1.kph.uni-mainz.de
Message-ID: <ubr214r8c@a1ihome1.kph.uni-mainz.de>
NNTP-Posting-Host: a1ihome1.kph.uni-mainz.de
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Trace: news1.zdv.uni-mainz.de 1128676899 6476 134.93.134.75 (7 Oct 2005 09:21:39 GMT)
X-Complaints-To: news@uni-mainz.de
NNTP-Posting-Date: Fri, 7 Oct 2005 09:21:39 +0000 (UTC)