From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.user/1593 Path: news.gmane.org!not-for-mail From: chr@nybo.no (Christian Nybø) Newsgroups: gmane.emacs.gnus.user Subject: Re: check for a particular header before calling a washing function? Date: 09 Dec 2002 23:54:43 +0100 Organization: (nil) Message-ID: <87znrevm4s.fsf@nybo.no> References: <877kemocp2.fsf@nybo.no> <84n0nirlfi.fsf@lucy.cs.uni-dortmund.de> <87vg25mz2u.fsf@nybo.no> <847kelpkhj.fsf@lucy.cs.uni-dortmund.de> <87ptsdmo55.fsf@nybo.no> <84r8cs8p9e.fsf@lucy.cs.uni-dortmund.de> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: sea.gmane.org 1138668319 11955 80.91.229.2 (31 Jan 2006 00:45:19 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 31 Jan 2006 00:45:19 +0000 (UTC) Original-X-From: nobody Tue Jan 17 17:29:24 2006 Original-Path: quimby.gnus.org!newsfeed1.e.nsc.no!nsc.no!nextra.com!news4.e.nsc.no.POSTED!53ab2750!not-for-mail Original-Sender: chr@lapchr Original-Newsgroups: gnu.emacs.gnus User-Agent: Gnus/5.070099 (Pterodactyl Gnus v0.99) XEmacs/21.4 (Common Lisp) Original-NNTP-Posting-Host: 80.212.74.97 Original-X-Complaints-To: news-abuse@telenor.net Original-NNTP-Posting-Date: Tue, 10 Dec 2002 00:55:55 MET Original-X-Trace: news4.ulv.nextra.no 1039478155 80.212.74.97 Original-Xref: bridgekeeper.physik.uni-ulm.de gnus-emacs-gnus:1733 Original-Lines: 69 X-Gnus-Article-Number: 1733 Tue Jan 17 17:29:24 2006 Xref: news.gmane.org gmane.emacs.gnus.user:1593 Archived-At: kai.grossjohann@uni-duisburg.de (Kai Großjohann) writes: > chr@nybo.no (Christian Nybø) writes: > > > Correct. My Emacs is an XEmacs, btw. I see two-character > > combinations. > > Aha. Okay, you have a non-mule XEmacs. The first step to fix this > is to install a Mule XEmacs. > > Then, get the Mule-UCS package and the Latin-Unity package and enable > both. > > I think that should solve your problems. I think that it's overkill for my needs. I added this to my .gnus: (defun utf-8-decode-region (start end) (interactive "r") (let ((work-buffer (generate-new-buffer " *utf-8-work*"))) (unwind-protect (save-excursion (buffer-disable-undo work-buffer) (progn (goto-char start) (while (not (eobp)) (cond ((zerop (logand (following-char) #x80)) ; high bit is not set (insert-char (following-char) 1 t work-buffer)) ((= (logand #xE0 (following-char)) #xC0) (insert-char (logior (lsh (logand (following-char) #b00011111) 6) (progn (forward-char) (logand (following-char) #b00111111))) 1 t work-buffer))) (forward-char)) (or (markerp end) (setq end (set-marker (make-marker) end))) (goto-char start) (insert-buffer-substring work-buffer) (delete-region (point) end))) (and work-buffer (kill-buffer work-buffer))))) (defun gnus-article-de-utf-8 () "Convert utf-8 to latin-1" (interactive) (save-excursion (set-buffer gnus-article-buffer) (let ((buffer-read-only nil)) (widen) (goto-char (point-min)) (search-forward "\n\n" nil t) (utf-8-decode-region (point) (point-max))))) (define-key gnus-summary-mode-map "Wu" 'gnus-article-de-utf-8) (defun gnus-article-maybe-de-utf-8 () (let* ((ct (message-fetch-field "Content-Type" t)) (ctlist (and ct (mail-header-parse-content-type ct)))) (when (string= (cdr (assoc 'charset (cdr ctlist))) "utf-8") (gnus-article-de-utf-8)))) thus articles encoded in utf-8 consisting of characters in the range from 0 to 255 are displayed nicely. Thanks for your time. -- chr