From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/58941 Path: main.gmane.org!not-for-mail From: Katsumi Yamaoka Newsgroups: gmane.emacs.gnus.general Subject: Re: [BUG]What does this mean:"Mention that multibyte characters Date: Tue, 19 Oct 2004 14:41:09 +0900 Organization: Emacsen advocacy group Sender: ding-owner@lists.math.uh.edu Message-ID: References: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1098164624 1660 80.91.229.6 (19 Oct 2004 05:43:44 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 19 Oct 2004 05:43:44 +0000 (UTC) Cc: Juri Linkov Original-X-From: ding-owner+M7479@lists.math.uh.edu Tue Oct 19 07:43:30 2004 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13] ident=mail) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CJmmQ-00083Y-00 for ; Tue, 19 Oct 2004 07:43:30 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu ident=lists) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1CJmkd-0007V9-00; Tue, 19 Oct 2004 00:41:39 -0500 Original-Received: from util2.math.uh.edu ([129.7.128.23]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1CJmkT-0007Us-00 for ding@lists.math.uh.edu; Tue, 19 Oct 2004 00:41:29 -0500 Original-Received: from justine.libertine.org ([66.139.78.221] ident=postfix) by util2.math.uh.edu with esmtp (Exim 4.30) id 1CJmkF-0001XY-Q6 for ding@lists.math.uh.edu; Tue, 19 Oct 2004 00:41:15 -0500 Original-Received: from washington.hostforweb.net (washington.hostforweb.net [69.61.11.2]) by justine.libertine.org (Postfix) with ESMTP id 89B0F3A0056 for ; Tue, 19 Oct 2004 00:41:15 -0500 (CDT) Original-Received: from localhost ([127.0.0.1]) by washington.hostforweb.net with esmtpa (Exim 4.42) id 1CJmkK-0001js-QQ; Tue, 19 Oct 2004 01:41:21 -0400 Original-To: ding@gnus.org X-Face: #kKnN,xUnmKia.'[pp`;Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu;B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw= L&i*6&( User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:ds+CzGHQcY2xpzkb/koLJvqg6D0= X-Hashcash: 1:17:041019:ding@gnus.org::8GRfURvH7fAXA4Ar:00000MPN X-Hashcash: 1:17:041019:juri@jurta.org::HYHoDuqArfKhKpzf:000000000000000000000000000000000000000000000000cGh X-Antivirus-Scanner: Clean mail though you should still use an Antivirus X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - washington.hostforweb.net X-AntiAbuse: Original Domain - gnus.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - jpl.org X-Source: X-Source-Args: X-Source-Dir: Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:58941 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:58941 >>>>> In >>>>> zrr wrote: > I pressed 'E' to expire the artile, but the article still be > regarded as not expired. There is no mark symbol appeared and no > highlight on the current line. >>>>> In Katsumi Yamaoka wrote: > I'll fix it within a couple of days and, if possible,... I've fixed it in both the Gnus trunk and the v5-10 branch. It will help not only Emacs 22 users but also Russian users, Ukrainian users and much more. There are two ways that gnus-update-summary-mark-positions inserts a dummy mark in a multibyte buffer. Which of them is used depends on the value of gnus-summary-line-format. (insert ?\200) (insert (format "%c" ?\200)) In order to look for the position of a line where it is inserted, the recent gnus-update-summary-mark-positions searched for the string: (mm-string-as-multibyte "\200") I noticed those three strings will differ by the language environment and the version of Emacs. The following form shows how they are different. (with-temp-buffer (set-buffer-multibyte t) (insert ?\200 (format "%c" ?\200)) (list (car (split-char (char-after (point-min)))) (car (split-char (char-after (1+ (point-min))))) (car (split-char (string-to-char (string-as-multibyte "\200")))))) In the Russian language environment, it returns as follows: ;; Emacs 21.3.50 (eight-bit-control mule-unicode-2500-33ff eight-bit-control) ;; Emacs 22.0.0 (iso-8859-1 iso-8859-1 eight-bit) Even in the English language environment, Emacs 22.0.0 returns: (iso-8859-1 iso-8859-1 eight-bit) Those are the cause of the problem which troubled Tang and Derek. > I'll also summarize how string-(as|make|to)-multibyte works. I'll try translation of Kenichi Handa's advice next time. By the way, I'm not sure whether Juri Linkov's similar changes for the other places don't cause similar problems.