GNU bug report logs -
#1770
23.0.60; (message-check 'illegible-text ...) fails on eight-bit chars
Previous Next
Reported by: Reiner Steib <Reiner.Steib <at> gmx.de>
Date: Fri, 2 Jan 2009 22:20:03 UTC
Severity: normal
Found in version 23.0.60
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sun, 23 Jan 2011 18:55:18 -0800
with message-id <877hdvyprd.fsf <at> gnus.org>
and subject line Re: bug#1770: 23.0.60; (message-check 'illegible-text ...) fails on eight-bit chars
has caused the GNU bug report #1770,
regarding 23.0.60; (message-check 'illegible-text ...) fails on eight-bit chars
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
1770: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1770
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Package: emacs,gnus
Version: 23.0.60
When replying to an article with a bogus charset declaration
(e.g. charset="ISO 8859-15" produced by Knode; "ISO-8859-15" would be
correct. An example in gmane.test is
<873ag15s04.not-fsf <at> marauder.physik.uni-ulm.de>) with Gnus, the buffer
contains eight-bit-control characters.
When sending the reply, Gnus asks: "Use ASCII as charset? " (see
`mml-parse-1').
Option 1: Answer `y'.
Result: The reply is sent with charset=us-ascii, but it contains 8bit
characters.
Option 2: Answer `n'. The Gnus asks a second time. Answer `n' again.
Result: The same as above.
See <87wsddtn9r.fsf <at> marauder.physik.uni-ulm.de> in gmane.test
Expected behavior:
This following code from `message-fix-before-sending' should kick in:
(This is what happens in Emacs 22 with current Gnus CVS trunk,
i.e. the same Gnus code base as Emacs 23.)
(message-check 'illegible-text
(let (char found choice)
(message-goto-body)
(while (progn
(skip-chars-forward mm-7bit-chars)
(when (get-text-property (point) 'no-illegible-text)
;; There is a signed or encrypted raw message part
;; that is considered to be safe.
(goto-char (or (next-single-property-change
(point) 'no-illegible-text)
(point-max))))
(setq char (char-after)))
(when (or (< (mm-char-int char) 128)
(and (mm-multibyte-p)
(memq (char-charset char)
'(eight-bit-control eight-bit-graphic
control-1))
(not (get-text-property
(point) 'untranslated-utf-8))))
(message-overlay-put (message-make-overlay (point) (1+ (point)))
'face 'highlight)
(setq found t))
(forward-char))
(when found
(setq choice
(gnus-multiple-choice
"Non-printable characters found. Continue sending?"
`((?d "Remove non-printable characters and send")
(?r ,(format
"Replace non-printable characters with \"%s\" and send"
message-replacement-char))
(?i "Ignore non-printable characters and send")
(?e "Continue editing"))))
(if (eq choice ?e)
(error "Non-printable characters"))
(message-goto-body)
(skip-chars-forward mm-7bit-chars)
(while (not (eobp))
(when (let ((char (char-after)))
(or (< (mm-char-int char) 128)
(and (mm-multibyte-p)
;; FIXME: Wrong for Emacs 23 (unicode) and for
;; things like undecable utf-8. Should at least
;; use find-coding-systems-region.
(memq (char-charset char)
'(eight-bit-control eight-bit-graphic
control-1))
(not (get-text-property
(point) 'untranslated-utf-8)))))
(if (eq choice ?i)
(message-kill-all-overlays)
(delete-char 1)
(when (eq choice ?r)
(insert message-replacement-char))))
(forward-char)
(skip-chars-forward mm-7bit-chars)))))
In Emacs 23, (char-charset char) returns `eight-bit'. Is adding
eight-bit next to eight-bit-graphic sufficient? The comment (by Dave
Love, CC-ed if I got X-Debbugs-CC right) seems to suggest that there's
more to be done.
Bye, Reiner.
In GNU Emacs 23.0.60.1 (i686-pc-linux-gnu, GTK+ Version 2.12.9)
of 2009-01-01 on primula
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default-enable-multibyte-characters: t
--
,,,
(o o)
---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/
[Message part 3 (message/rfc822, inline)]
Kenichi Handa <handa <at> m17n.org> writes:
> As I wrote, non-Unicode characters are still not caught
> here. But I'm not sure it's problem to be solved by
> message-fix-before-sending. I have not yet got a reply to
> this question.
Ok. Well, I think it may (or may not be) nice to warn users about
sending un-encodable bytes. But they will most likely get a warning of
some kind, since there's probably other eight-bit-chars there, so I
think that's probably sufficient. So I'm closing this report now,
unless anybody objects...
--
(domestic pets only, the antidote for overdose, milk.)
larsi <at> gnus.org * Lars Magne Ingebrigtsen
This bug report was last modified 14 years and 118 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.