tags 39884 + patch quit "Rainer Gemulla" writes: > During step 9, this statement is executed, but afterwards, the tag > variable is not set to the list mentioned in the statement > (seriously!). In my case, it had value 'Content-Type: > multipart/alternative; boundary="====-=-="' right afterwards Yes, it's due destructive modification of a quoted literal value. To catch it, I modified mml.el like this: --- i/lisp/gnus/mml.el +++ w/lisp/gnus/mml.el @@ -216,6 +216,8 @@ mml-parse (with-syntax-table mml-syntax-table (mml-parse-1)))) +(defconst mml-text/plain-tag-literal-constant '(type . "text/plain")) + (defun mml-parse-1 () "Parse the current buffer as an MML document." (let (struct tag point contents charsets warn use-ascii no-markup-p raw) @@ -281,7 +283,7 @@ mml-parse-1 (setq tag (mml-read-tag) no-markup-p nil warn nil) - (setq tag (list 'part '(type . "text/plain")) + (setq tag (list 'part mml-text/plain-tag-literal-constant) no-markup-p t warn t)) (setq raw (cdr (assq 'raw tag)) And added a debug check around setcdr as in the attached bug-39884-bad-mml-parsing.el file.