From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Toru TSUNEYOSHI" Newsgroups: gmane.emacs.bugs Subject: bug#1369: string-width problem in buff-menu.el Date: Wed, 19 Nov 2008 00:48:02 +0900 Message-ID: Reply-To: Toru TSUNEYOSHI , 1369@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0005_01C949E0.79E7DBF0" X-Trace: ger.gmane.org 1227024640 718 80.91.229.12 (18 Nov 2008 16:10:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 18 Nov 2008 16:10:40 +0000 (UTC) To: Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Nov 18 17:11:40 2008 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1L2TAn-0008Sy-AG for geb-bug-gnu-emacs@m.gmane.org; Tue, 18 Nov 2008 17:11:30 +0100 Original-Received: from localhost ([127.0.0.1]:33177 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L2T9e-0003oY-OE for geb-bug-gnu-emacs@m.gmane.org; Tue, 18 Nov 2008 11:10:18 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L2T9a-0003oH-GX for bug-gnu-emacs@gnu.org; Tue, 18 Nov 2008 11:10:14 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L2T9Y-0003o3-Bn for bug-gnu-emacs@gnu.org; Tue, 18 Nov 2008 11:10:13 -0500 Original-Received: from [199.232.76.173] (port=41159 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L2T9Y-0003o0-33 for bug-gnu-emacs@gnu.org; Tue, 18 Nov 2008 11:10:12 -0500 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:56649) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L2T9Y-0000jT-7Q for bug-gnu-emacs@gnu.org; Tue, 18 Nov 2008 11:10:12 -0500 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAIGA8XA003277; Tue, 18 Nov 2008 08:10:09 -0800 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id mAIFt4LH030876; Tue, 18 Nov 2008 07:55:04 -0800 X-Loop: don@donarmstrong.com Resent-From: "Toru TSUNEYOSHI" Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Tue, 18 Nov 2008 15:55:04 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1369 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by submit@emacsbugs.donarmstrong.com id=B.122702329329577 (code B ref -1); Tue, 18 Nov 2008 15:55:04 +0000 Original-Received: (at submit) by emacsbugs.donarmstrong.com; 18 Nov 2008 15:48:13 +0000 Original-Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAIFmATI029571 for ; Tue, 18 Nov 2008 07:48:11 -0800 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L2SoE-000732-9x for bug-gnu-emacs@gnu.org; Tue, 18 Nov 2008 10:48:10 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L2SoC-0006yE-DQ for bug-gnu-emacs@gnu.org; Tue, 18 Nov 2008 10:48:09 -0500 Original-Received: from [199.232.76.173] (port=59930 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L2SoC-0006xy-2O for bug-gnu-emacs@gnu.org; Tue, 18 Nov 2008 10:48:08 -0500 Original-Received: from bay0-omc3-s26.bay0.hotmail.com ([65.54.246.226]:13272) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L2SoC-0006lV-5W for bug-gnu-emacs@gnu.org; Tue, 18 Nov 2008 10:48:08 -0500 Original-Received: from hotmail.com ([207.46.10.21]) by bay0-omc3-s26.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 18 Nov 2008 07:48:05 -0800 Original-Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Tue, 18 Nov 2008 07:48:05 -0800 Original-Received: from 124.155.30.210 by BAY121-DAV11.phx.gbl with DAV; Tue, 18 Nov 2008 15:48:02 +0000 X-Originating-IP: [124.155.30.210] X-Originating-Email: [t_tuneyosi@hotmail.com] X-Sender: t_tuneyosi@hotmail.com X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1933 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1933 X-OriginalArrivalTime: 18 Nov 2008 15:48:05.0504 (UTC) FILETIME=[0BE15000:01C94995] X-detected-operating-system: by monty-python.gnu.org: Windows 2000 SP4, XP SP1+ X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Resent-Date: Tue, 18 Nov 2008 11:10:13 -0500 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:22471 Archived-At: This is a multi-part message in MIME format. ------=_NextPart_000_0005_01C949E0.79E7DBF0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit hello. I found a problem in buff-menu.el. (I use GNU Emacs 22.3.1 (i386-msvc-nt5.0.2195).) `list-buffers' function can't deal with buffer name in multilingual environment. it can't truncate buffer name properly. example: ======================================================================== CRM Buffer Size Mode File .% あいうえおかきくけこさしすせそ 271 Dired by name ~/temp/あいうえおかきくけこさしすせそ/ % あいう 247 Dired by name ~/temp/あいう/ % *GNU Emacs* 669 Fundamental *scratch* 191 Lisp Interaction * *Messages* 691 Fundamental ======================================================================== i made a patch for this problem. please check it. if ok, please apply. ------=_NextPart_000_0005_01C949E0.79E7DBF0 Content-Type: application/octet-stream; name="buff-menu.el.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="buff-menu.el.diff" --- buff-menu.el.original 2008-01-07 11:45:02.000000000 +0900=0A= +++ buff-menu.el 2008-11-19 00:23:38.786576000 +0900=0A= @@ -587,21 +587,24 @@=0A= (display-buffer (list-buffers-noselect files-only)))=0A= =0A= (defun Buffer-menu-buffer+size (name size &optional name-props = size-props)=0A= - (if (> (+ (length name) (length size) 2) = Buffer-menu-buffer+size-width)=0A= + (if (> (+ (string-width name) (string-width size) 2) = Buffer-menu-buffer+size-width)=0A= (setq name=0A= (if (string-match "<[0-9]+>$" name)=0A= - (concat (substring name 0=0A= - (- Buffer-menu-buffer+size-width=0A= - (max (length size) 3)=0A= - (match-end 0)=0A= - (- (match-beginning 0))=0A= - 2))=0A= + (concat (truncate-string-to-width name=0A= + (- Buffer-menu-buffer+size-width=0A= + (max (string-width size) 3)=0A= + (string-width (match-string 0))=0A= + 2)=0A= + 0=0A= + ?\s)=0A= ":" ; narrow ellipsis=0A= (match-string 0 name))=0A= - (concat (substring name 0=0A= - (- Buffer-menu-buffer+size-width=0A= - (max (length size) 3)=0A= - 2))=0A= + (concat (truncate-string-to-width name=0A= + (- Buffer-menu-buffer+size-width=0A= + (max (string-width size) 3)=0A= + 2)=0A= + 0=0A= + ?\s)=0A= ":"))) ; narrow ellipsis=0A= ;; Don't put properties on (buffer-name).=0A= (setq name (copy-sequence name)))=0A= @@ -609,8 +612,8 @@=0A= (add-text-properties 0 (length size) size-props size)=0A= (concat name=0A= (make-string (- Buffer-menu-buffer+size-width=0A= - (length name)=0A= - (length size))=0A= + (string-width name)=0A= + (string-width size))=0A= ?\s)=0A= size))=0A= =0A= @@ -825,8 +828,11 @@=0A= mouse-face highlight=0A= help-echo "mouse-2: select this buffer"))=0A= " "=0A= - (if (> (length (nth 4 buffer)) Buffer-menu-mode-width)=0A= - (substring (nth 4 buffer) 0 Buffer-menu-mode-width)=0A= + (if (> (string-width (nth 4 buffer)) Buffer-menu-mode-width)=0A= + (truncate-string-to-width (nth 4 buffer)=0A= + Buffer-menu-mode-width=0A= + 0=0A= + ?\s)=0A= (nth 4 buffer)))=0A= (when (nth 5 buffer)=0A= (indent-to (+ Buffer-menu-buffer-column Buffer-menu-buffer+size-width=0A= ------=_NextPart_000_0005_01C949E0.79E7DBF0--