From: Shenghuo ZHU <zsh@cs.rochester.edu>
Subject: Re: bug in displaying a message in russian (\214<8-bit-char>)
Date: 22 Nov 1998 05:39:52 -0500 [thread overview]
Message-ID: <2n67c8ui2v.fsf@zsh.cs.rochester.edu> (raw)
In-Reply-To: Vladimir Volovich's message of "22 Nov 1998 11:31:46 +0300"
[-- Attachment #1: Type: text/plain, Size: 335 bytes --]
Vladimir Volovich <vvv@vvv.vsu.ru> writes:
> i attached a message which is displayed broken by gnus. it is an
> 8-bit koi8-r message without C-T header, so you should set (setq
> mm-default-coding-system 'koi8). It contains a uuencoded file
> inside. Maybe, this causes double decoding, too?
Yup. A patch is attached.
--
Shenghuo
[-- Attachment #2: Type: text/plain, Size: 3682 bytes --]
--- ChangeLog 1998/11/22 09:41:03 1.1
+++ ChangeLog 1998/11/22 10:21:47
@@ -1,3 +1,9 @@
+Sun Nov 22 04:42:22 1998 Shenghuo ZHU <zsh@cs.rochester.edu>
+
+ * mm-uu.el (mm-uu-test): New function.
+ (mm-uu-dissect): Inherit charset and cte from head.
+ * gnus-art.el (article-decode-charset): Use mm-uu-test.
+
Sat Nov 21 09:57:01 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Pterodactyl Gnus v0.53 is released.
--- gnus-art.el 1998/11/22 09:44:18 1.1
+++ gnus-art.el 1998/11/22 10:19:26
@@ -1049,8 +1049,9 @@
(widen)
(forward-line 1)
(narrow-to-region (point) (point-max))
- (when (or (not ctl)
- (equal (car ctl) "text/plain"))
+ (when (and (or (not ctl)
+ (equal (car ctl) "text/plain"))
+ (not (mm-uu-test)))
(mm-decode-body
charset (and cte (intern (downcase
(gnus-strip-whitespace cte))))
--- mm-uu.el 1998/11/22 09:34:53 1.1
+++ mm-uu.el 1998/11/22 10:21:05
@@ -72,13 +72,27 @@
(defun mm-uu-dissect ()
"Dissect the current buffer and return a list of uu handles."
- (save-excursion
- (save-restriction
- (mail-narrow-to-head)
- (goto-char (point-max)))
- (forward-line)
- (let ((text-start (point)) start-char end-char
- type file-name end-line result)
+ (let (ct ctl cte charset text-start start-char end-char
+ type file-name end-line result text-plain-type)
+ (save-excursion
+ (save-restriction
+ (mail-narrow-to-head)
+ (when (and (mail-fetch-field "mime-version")
+ (setq ct (mail-fetch-field "content-type")))
+ (setq cte (message-fetch-field "content-transfer-encoding" t)
+ ctl (condition-case () (mail-header-parse-content-type ct)
+ (error nil))
+ charset (and ctl (mail-content-type-get ctl 'charset)))
+ (if (stringp cte)
+ (setq cte (intern (downcase (mail-header-remove-whitespace
+ (mail-header-remove-comments
+ cte)))))))
+ (goto-char (point-max)))
+ (forward-line)
+ (setq text-start (point)
+ text-plain-type (cons "text/plain"
+ (if charset
+ (list (cons 'charset charset)))))
(while (re-search-forward mm-uu-begin-line nil t)
(beginning-of-line)
(setq start-char (point))
@@ -93,7 +107,7 @@
(nnheader-translate-file-chars (match-string 1))))))
(setq end-line (symbol-value
(intern (concat "mm-uu-" (symbol-name type)
- "-end-line"))))
+ "-end-line"))))
(when (re-search-forward end-line nil t)
(forward-line)
(setq end-char (point))
@@ -105,7 +119,7 @@
(if (> start-char text-start)
(push
(list (mm-uu-copy-to-buffer text-start start-char)
- '("text/plain") nil nil nil nil)
+ text-plain-type cte nil nil nil)
result))
(push
(cond
@@ -143,9 +157,29 @@
(if (> (point-max) (1+ text-start))
(push
(list (mm-uu-copy-to-buffer text-start (point-max))
- '("text/plain") nil nil nil nil)
+ text-plain-type cte nil nil nil)
result))
(setq result (cons "multipart/mixed" (nreverse result))))
+ result)))
+
+;;;### autoload
+(defun mm-uu-test ()
+ "Check whether the current buffer contains uu stuffs."
+ (save-excursion
+ (save-restriction
+ (mail-narrow-to-head)
+ (goto-char (point-max)))
+ (forward-line)
+ (let (type end-line result)
+ (while (and (not result) (re-search-forward mm-uu-begin-line nil t))
+ (forward-line)
+ (setq type (cdr (assq (aref (match-string 0) 0)
+ mm-uu-identifier-alist)))
+ (setq end-line (symbol-value
+ (intern (concat "mm-uu-" (symbol-name type)
+ "-end-line"))))
+ (if (re-search-forward end-line nil t)
+ (setq result t)))
result)))
(provide 'mm-uu)
next parent reply other threads:[~1998-11-22 10:39 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <m390h4m8lp.fsf_-_@vvv.vsu.ru>
1998-11-22 10:39 ` Shenghuo ZHU [this message]
1998-11-22 11:10 ` Vladimir Volovich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2n67c8ui2v.fsf@zsh.cs.rochester.edu \
--to=zsh@cs.rochester.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).