From unknown Sat Aug 16 16:23:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10978: `calendar-string-spread' loses with double-width characters Resent-From: =?UTF-8?Q?=C5=A0t=C4=9Bp=C3=A1n_?= =?UTF-8?Q?N=C4=9Bmec?= Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 09 Mar 2012 11:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 10978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 10978@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs Received: via spool by submit@debbugs.gnu.org id=B.13312943392636 (code B ref -1); Fri, 09 Mar 2012 11:59:02 +0000 Received: (at submit) by debbugs.gnu.org; 9 Mar 2012 11:58:59 +0000 Received: from localhost ([127.0.0.1]:40118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S5yTK-0000gS-3X for submit@debbugs.gnu.org; Fri, 09 Mar 2012 06:58:59 -0500 Received: from eggs.gnu.org ([208.118.235.92]:48435) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S5yTG-0000gH-No for submit@debbugs.gnu.org; Fri, 09 Mar 2012 06:58:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S5ySM-0000Go-9w for submit@debbugs.gnu.org; Fri, 09 Mar 2012 06:57:59 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:32942) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S5ySM-0000Gi-43 for submit@debbugs.gnu.org; Fri, 09 Mar 2012 06:57:58 -0500 Received: from eggs.gnu.org ([208.118.235.92]:48207) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S5ySK-0005wY-C9 for bug-gnu-emacs@gnu.org; Fri, 09 Mar 2012 06:57:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S5yS0-0000E9-A8 for bug-gnu-emacs@gnu.org; Fri, 09 Mar 2012 06:57:55 -0500 Received: from mail-ww0-f49.google.com ([74.125.82.49]:60070) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S5yRz-0000DW-Uc for bug-gnu-emacs@gnu.org; Fri, 09 Mar 2012 06:57:36 -0500 Received: by wgbdr1 with SMTP id dr1so1197866wgb.30 for ; Fri, 09 Mar 2012 03:57:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type :content-transfer-encoding; bh=/6+3vyaa7Ng35xqND6OirQGLPGB6J4Ei3Ta3rAnByJE=; b=X1aacH6tE9o7ZrsPZ974che8/uIVqTyTEwIYmo6E6XeAQtzmkjujwPlDVV+fQ69/ju 9IgTccgYRgt2WIETRgguZlPeyGu4xIjxsAGcKlwC3sNIb5TQzLzhJ32bKQRf9zaXju96 2RFOnUP8D9NbTv/IAHxLa9cQhQCjQA884HbK7ndGXUsaB+wZUit1OdUaArKsYUiDSuCf ORVuxBgJpyPwANc6oFGR2fdVuDqoBEN0P7wJBIy9dTvHXvql9sVp2noqQHn+Klw+1knx Nurc0oHGmKdcYwKY9wmqOBdgLwcexdiK2lO5yD/w/QbJgIL3aWlLYyJfoX5xw/8jz4HI Opww== Received: by 10.216.138.17 with SMTP id z17mr1303113wei.18.1331294253294; Fri, 09 Mar 2012 03:57:33 -0800 (PST) Received: from localhost (176.119.broadband10.iol.cz. [90.177.119.176]) by mx.google.com with ESMTPS id ff2sm8828638wib.9.2012.03.09.03.57.32 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 09 Mar 2012 03:57:32 -0800 (PST) From: =?UTF-8?Q?=C5=A0t=C4=9Bp=C3=A1n_?= =?UTF-8?Q?N=C4=9Bmec?= Date: Fri, 09 Mar 2012 12:57:30 +0100 Message-ID: <87vcme6l79.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.1 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) The algorithm used obviously works using `length', but for every double-width character the resulting string is one char too long when actually displayed, defeating its purpose when formatting the calendar mode line (`calendar-update-mode-line' et al.). Ex.: (calendar-string-spread '("a" "b" "c") ?\s 10) ;=3D> "a b c" ; OK (calendar-string-spread '("=E7=9F=A2" "b" "c") ?\s 10) ;=3D> "=E7=9F=A2 b c" ; not OK --=20 =C5=A0t=C4=9Bp=C3=A1n From unknown Sat Aug 16 16:23:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10978: `calendar-string-spread' loses with double-width characters Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 09 Mar 2012 12:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: =?UTF-8?Q?=C5=A0t=C4=9Bp=C3=A1n_?= =?UTF-8?Q?N=C4=9Bmec?= Cc: 10978@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 10978-submit@debbugs.gnu.org id=B10978.13312964478823 (code B ref 10978); Fri, 09 Mar 2012 12:35:01 +0000 Received: (at 10978) by debbugs.gnu.org; 9 Mar 2012 12:34:07 +0000 Received: from localhost ([127.0.0.1]:40157 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S5z1K-0002IG-Lx for submit@debbugs.gnu.org; Fri, 09 Mar 2012 07:34:07 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:57441) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S5z19-0002He-55 for 10978@debbugs.gnu.org; Fri, 09 Mar 2012 07:34:04 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0M0M00400AQ3WT00@a-mtaout22.012.net.il> for 10978@debbugs.gnu.org; Fri, 09 Mar 2012 14:32:59 +0200 (IST) Received: from HOME-C4E4A596F7 ([84.229.138.42]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M0M004RFAUYSP30@a-mtaout22.012.net.il>; Fri, 09 Mar 2012 14:32:58 +0200 (IST) Date: Fri, 09 Mar 2012 14:33:05 +0200 From: Eli Zaretskii In-reply-to: <87vcme6l79.fsf@gmail.com> Message-id: <83r4x2ymwu.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: QUOTED-PRINTABLE X-012-Sender: halo1@inter.net.il References: <87vcme6l79.fsf@gmail.com> X-Spam-Score: -1.2 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > From: =C5=A0t=C4=9Bp=C3=A1n N=C4=9Bmec > =09 > Date: Fri, 09 Mar 2012 12:57:30 +0100 >=20 > The algorithm used obviously works using `length', but for every > double-width character the resulting string is one char too long wh= en > actually displayed, defeating its purpose when formatting the calen= dar > mode line (`calendar-update-mode-line' et al.). It should use `string-width' instead of `length'. From unknown Sat Aug 16 16:23:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10978: `calendar-string-spread' loses with double-width characters Resent-From: "Drew Adams" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 09 Mar 2012 14:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "'Eli Zaretskii'" , "=?UTF-8?Q?'=C5=A0tep=C3=A1n?= Nemec'" Cc: 10978@debbugs.gnu.org Received: via spool by 10978-submit@debbugs.gnu.org id=B10978.133130199317026 (code B ref 10978); Fri, 09 Mar 2012 14:07:02 +0000 Received: (at 10978) by debbugs.gnu.org; 9 Mar 2012 14:06:33 +0000 Received: from localhost ([127.0.0.1]:40250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S60Sm-0004QY-5F for submit@debbugs.gnu.org; Fri, 09 Mar 2012 09:06:32 -0500 Received: from rcsinet15.oracle.com ([148.87.113.117]:44925) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S60Si-0004QQ-8B for 10978@debbugs.gnu.org; Fri, 09 Mar 2012 09:06:29 -0500 Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q29E5Ug9005714 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 9 Mar 2012 14:05:31 GMT Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q29E5TEf003592 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 9 Mar 2012 14:05:30 GMT Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56]) by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q29E5THc010744; Fri, 9 Mar 2012 08:05:29 -0600 Received: from dradamslap1 (/10.159.38.221) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 09 Mar 2012 06:05:29 -0800 From: "Drew Adams" References: <87vcme6l79.fsf@gmail.com> <83r4x2ymwu.fsf@gnu.org> Date: Fri, 9 Mar 2012 06:05:24 -0800 Message-ID: <094B13E6BE4C43FEB3842365AA3BCB3F@us.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 In-Reply-To: <83r4x2ymwu.fsf@gnu.org> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Thread-Index: Acz98P1EzGwfmi9QRVKosJ5xU/KAvgADCDMA X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-CT-RefId: str=0001.0A090204.4F5A0E2B.0099,ss=1,re=0.000,fgs=0 X-Spam-Score: -6.9 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) > It should use `string-width' instead of `length'. The Elisp manual has a section on `Strings and Characters', which is one of the sections about Lisp data types. It has details about lots of string- and character-related functions. Perhaps some node in that section (maybe `Text Comparison'?) should at least mention function `string-width' and cross-reference the node `Width' in the `Display' part of the manual. From unknown Sat Aug 16 16:23:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10978: `calendar-string-spread' loses with double-width characters Resent-From: Glenn Morris Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 10 Mar 2012 02:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 10978@debbugs.gnu.org, =?UTF-8?Q?=C5=A0t=C4=9Bp=C3=A1n_?= =?UTF-8?Q?N=C4=9Bmec?= Received: via spool by 10978-submit@debbugs.gnu.org id=B10978.13313482102405 (code B ref 10978); Sat, 10 Mar 2012 02:57:01 +0000 Received: (at 10978) by debbugs.gnu.org; 10 Mar 2012 02:56:50 +0000 Received: from localhost ([127.0.0.1]:41463 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6CUD-0000cj-G2 for submit@debbugs.gnu.org; Fri, 09 Mar 2012 21:56:50 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:37192) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6CUA-0000cb-V2 for 10978@debbugs.gnu.org; Fri, 09 Mar 2012 21:56:47 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1S6C1U-0008BB-Nc; Fri, 09 Mar 2012 21:27:08 -0500 From: Glenn Morris References: <87vcme6l79.fsf@gmail.com> <83r4x2ymwu.fsf@gnu.org> X-Spook: Semtex JSOFC3IP fissionable import bullion lock picking X-Ran: i[EkNUI-]szL*uwp[]3?o"yI6)w#:4{sQW{Ek&U>k|{ewI}Lo4zY~N.A4]>G=,/j\lV@&, X-Hue: red X-Attribution: GM Date: Fri, 09 Mar 2012 21:27:08 -0500 In-Reply-To: <83r4x2ymwu.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 09 Mar 2012 14:33:05 +0200") Message-ID: <8pipidtclf.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -6.9 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) Eli Zaretskii wrote: > It should use `string-width' instead of `length'. Like so? *** lisp/calendar/calendar.el 2012-03-06 02:18:29 +0000 --- lisp/calendar/calendar.el 2012-03-10 02:16:16 +0000 *************** *** 1756,1762 **** (if (< (length strings) 2) (append (list "") strings (list "")) strings))) ! (n (- length (length (apply 'concat strings)))) (m (1- (length strings))) (s (car strings)) (strings (cdr strings)) --- 1756,1762 ---- (if (< (length strings) 2) (append (list "") strings (list "")) strings))) ! (n (- length (string-width (apply 'concat strings)))) (m (1- (length strings))) (s (car strings)) (strings (cdr strings)) *************** *** 1766,1772 **** (make-string (max 0 (/ (+ n i) m)) char) string) i (1+ i))) ! (substring s 0 length))) (defun calendar-update-mode-line () "Update the calendar mode line with the current date and date style." --- 1766,1772 ---- (make-string (max 0 (/ (+ n i) m)) char) string) i (1+ i))) ! (truncate-string-to-width s length))) (defun calendar-update-mode-line () "Update the calendar mode line with the current date and date style." From unknown Sat Aug 16 16:23:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10978: `calendar-string-spread' loses with double-width characters Resent-From: Glenn Morris Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 10 Mar 2012 03:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 10978@debbugs.gnu.org, =?UTF-8?Q?=C5=A0t=C4=9Bp=C3=A1n_?= =?UTF-8?Q?N=C4=9Bmec?= Received: via spool by 10978-submit@debbugs.gnu.org id=B10978.13313485425941 (code B ref 10978); Sat, 10 Mar 2012 03:03:02 +0000 Received: (at 10978) by debbugs.gnu.org; 10 Mar 2012 03:02:22 +0000 Received: from localhost ([127.0.0.1]:41467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6CZZ-0001Xm-KQ for submit@debbugs.gnu.org; Fri, 09 Mar 2012 22:02:22 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:37252) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6CZP-0001XU-6w for 10978@debbugs.gnu.org; Fri, 09 Mar 2012 22:02:21 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1S6C6i-0008Qw-Pd; Fri, 09 Mar 2012 21:32:32 -0500 From: Glenn Morris References: <87vcme6l79.fsf@gmail.com> <83r4x2ymwu.fsf@gnu.org> <8pipidtclf.fsf@fencepost.gnu.org> X-Spook: doctrine FBI airframe Leuken-Baden diwn industrial X-Ran: 1BN]EzV\XE7u:)!Vc6a%Z1xs^D:~bZ/t*%~q*kpUwE4eLZRNZG\5>i_^8jICqQN!Scauw/ X-Hue: white X-Attribution: GM Date: Fri, 09 Mar 2012 21:32:32 -0500 In-Reply-To: <8pipidtclf.fsf@fencepost.gnu.org> (Glenn Morris's message of "Fri, 09 Mar 2012 21:27:08 -0500") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -6.9 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) PS it goes quite wrong for CHAR != single-width, but that case has no relevance for the calendar, which only uses CHAR = ?\s or ?-. From unknown Sat Aug 16 16:23:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10978: `calendar-string-spread' loses with double-width characters Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 10 Mar 2012 08:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Glenn Morris Cc: 10978@debbugs.gnu.org, stepnem@gmail.com Reply-To: Eli Zaretskii Received: via spool by 10978-submit@debbugs.gnu.org id=B10978.133136653012612 (code B ref 10978); Sat, 10 Mar 2012 08:03:01 +0000 Received: (at 10978) by debbugs.gnu.org; 10 Mar 2012 08:02:10 +0000 Received: from localhost ([127.0.0.1]:41811 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6HFi-0003HN-By for submit@debbugs.gnu.org; Sat, 10 Mar 2012 03:02:10 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:35703) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6HFg-0003HF-0z for 10978@debbugs.gnu.org; Sat, 10 Mar 2012 03:02:09 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0M0N00H00RJT0U00@a-mtaout21.012.net.il> for 10978@debbugs.gnu.org; Sat, 10 Mar 2012 09:32:09 +0200 (IST) Received: from HOME-C4E4A596F7 ([84.229.138.42]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M0N00GT8RLJZM20@a-mtaout21.012.net.il>; Sat, 10 Mar 2012 09:32:09 +0200 (IST) Date: Sat, 10 Mar 2012 09:32:15 +0200 From: Eli Zaretskii In-reply-to: <8pipidtclf.fsf@fencepost.gnu.org> Message-id: <83ipiczzb4.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: QUOTED-PRINTABLE X-012-Sender: halo1@inter.net.il References: <87vcme6l79.fsf@gmail.com> <83r4x2ymwu.fsf@gnu.org> <8pipidtclf.fsf@fencepost.gnu.org> X-Spam-Score: -1.2 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > From: Glenn Morris > Cc: =C5=A0t=C4=9Bp=C3=A1n N=C4=9Bmec , > 10978@debbugs.gnu.org > Date: Fri, 09 Mar 2012 21:27:08 -0500 >=20 > Eli Zaretskii wrote: >=20 > > It should use `string-width' instead of `length'. >=20 > Like so? Yes, I think this is right. But it looks like calendar-insert-at-column and calendar-string-sprea= d also need similar changes. From unknown Sat Aug 16 16:23:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10978: `calendar-string-spread' loses with double-width characters Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 10 Mar 2012 10:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: 10978@debbugs.gnu.org, stepnem@gmail.com Reply-To: Eli Zaretskii Received: via spool by 10978-submit@debbugs.gnu.org id=B10978.13313752358469 (code B ref 10978); Sat, 10 Mar 2012 10:28:02 +0000 Received: (at 10978) by debbugs.gnu.org; 10 Mar 2012 10:27:15 +0000 Received: from localhost ([127.0.0.1]:41991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6JW6-0002CY-Pc for submit@debbugs.gnu.org; Sat, 10 Mar 2012 05:27:15 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:47335) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6JW4-0002CM-K6 for 10978@debbugs.gnu.org; Sat, 10 Mar 2012 05:27:14 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0M0N00H00YA6BF00@a-mtaout21.012.net.il> for 10978@debbugs.gnu.org; Sat, 10 Mar 2012 11:57:30 +0200 (IST) Received: from HOME-C4E4A596F7 ([84.229.138.42]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M0N00HYUYBS5ME0@a-mtaout21.012.net.il>; Sat, 10 Mar 2012 11:57:30 +0200 (IST) Date: Sat, 10 Mar 2012 11:57:37 +0200 From: Eli Zaretskii In-reply-to: <094B13E6BE4C43FEB3842365AA3BCB3F@us.oracle.com> X-012-Sender: halo1@inter.net.il Message-id: <83boo4zsku.fsf@gnu.org> References: <87vcme6l79.fsf@gmail.com> <83r4x2ymwu.fsf@gnu.org> <094B13E6BE4C43FEB3842365AA3BCB3F@us.oracle.com> X-Spam-Score: -1.2 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > From: "Drew Adams" > Cc: <10978@debbugs.gnu.org> > Date: Fri, 9 Mar 2012 06:05:24 -0800 > > > It should use `string-width' instead of `length'. > > The Elisp manual has a section on `Strings and Characters', which is one of the > sections about Lisp data types. It has details about lots of string- and > character-related functions. > > Perhaps some node in that section (maybe `Text Comparison'?) should at least > mention function `string-width' and cross-reference the node `Width' in the > `Display' part of the manual. I added such cross-references to "String Basics" and also to "Sequence Functions". From unknown Sat Aug 16 16:23:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10978: `calendar-string-spread' loses with double-width characters Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 10 Mar 2012 10:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Glenn Morris Cc: 10978@debbugs.gnu.org, stepnem@gmail.com Reply-To: Eli Zaretskii Received: via spool by 10978-submit@debbugs.gnu.org id=B10978.133137553812043 (code B ref 10978); Sat, 10 Mar 2012 10:33:01 +0000 Received: (at 10978) by debbugs.gnu.org; 10 Mar 2012 10:32:18 +0000 Received: from localhost ([127.0.0.1]:42013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6Jaz-00038C-G5 for submit@debbugs.gnu.org; Sat, 10 Mar 2012 05:32:17 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:56486) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S6Jan-00037h-U0 for 10978@debbugs.gnu.org; Sat, 10 Mar 2012 05:32:16 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0M0N00D00YI5GE00@a-mtaout22.012.net.il> for 10978@debbugs.gnu.org; Sat, 10 Mar 2012 12:02:21 +0200 (IST) Received: from HOME-C4E4A596F7 ([84.229.138.42]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M0N00DCRYJV5FD0@a-mtaout22.012.net.il>; Sat, 10 Mar 2012 12:02:21 +0200 (IST) Date: Sat, 10 Mar 2012 12:02:28 +0200 From: Eli Zaretskii In-reply-to: Message-id: <837gyszscr.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: QUOTED-PRINTABLE X-012-Sender: halo1@inter.net.il References: <87vcme6l79.fsf@gmail.com> <83r4x2ymwu.fsf@gnu.org> <8pipidtclf.fsf@fencepost.gnu.org> X-Spam-Score: -1.2 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > From: Glenn Morris > Cc: 10978@debbugs.gnu.org, =C5=A0t=C4=9Bp=C3=A1n N=C4=9Bmec > > Date: Fri, 09 Mar 2012 21:32:32 -0500 >=20 >=20 > PS it goes quite wrong for CHAR !=3D single-width, but that case ha= s no > relevance for the calendar, which only uses CHAR =3D ?\s or ?-. Sorry, I don't follow. Could you elaborate on what you had in mind? From unknown Sat Aug 16 16:23:14 2025 X-Loop: help-debbugs@gnu.org Subject: bug#10978: `calendar-string-spread' loses with double-width characters Resent-From: Glenn Morris Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 12 Mar 2012 20:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 10978@debbugs.gnu.org, stepnem@gmail.com Received: via spool by 10978-submit@debbugs.gnu.org id=B10978.133158578316807 (code B ref 10978); Mon, 12 Mar 2012 20:57:01 +0000 Received: (at 10978) by debbugs.gnu.org; 12 Mar 2012 20:56:23 +0000 Received: from localhost ([127.0.0.1]:47324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S7CI3-0004N1-3h for submit@debbugs.gnu.org; Mon, 12 Mar 2012 16:56:23 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:39649) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S7CI0-0004Mu-Oq for 10978@debbugs.gnu.org; Mon, 12 Mar 2012 16:56:22 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1S7Bp4-0002d9-Ig; Mon, 12 Mar 2012 16:26:26 -0400 From: Glenn Morris References: <87vcme6l79.fsf@gmail.com> <83r4x2ymwu.fsf@gnu.org> <8pipidtclf.fsf@fencepost.gnu.org> <837gyszscr.fsf@gnu.org> X-Spook: Ceridian SP4 DRM Downing Street doctrine NATO United X-Ran: %&=]\\,i)IW/^+aTfUe6>>m8Q)ciRYDyf0ao8I6|Cq=KQ%3"NHV1Gs (Eli Zaretskii's message of "Sat, 10 Mar 2012 12:02:28 +0200") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -6.9 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) Eli Zaretskii wrote: > But it looks like calendar-insert-at-column and calendar-string-spread > also need similar changes. ACK on calendar-insert-at-column, but calendar-string-spread is the function already being discussed - was there a third? > Sorry, I don't follow. Could you elaborate on what you had in mind? I meant, don't do this: (calendar-string-spread '("a" "b" "c") ?=E7=9F=A2 10) ie, a restriction similar to that of truncate-string-to-width: The optional 4th arg PADDING, if non-nil, specifies a padding character (which should have a display width of 1) But, it can be handled a bit better with: *** lisp/calendar/calendar.el 2012-03-06 02:18:29 +0000 --- lisp/calendar/calendar.el 2012-03-12 20:23:23 +0000 *************** *** 1756,1763 **** (if (< (length strings) 2) (append (list "") strings (list "")) strings))) ! (n (- length (length (apply 'concat strings)))) ! (m (1- (length strings))) (s (car strings)) (strings (cdr strings)) (i 0)) --- 1756,1763 ---- (if (< (length strings) 2) (append (list "") strings (list "")) strings))) ! (n (- length (string-width (apply 'concat strings)))) ! (m (* (1- (length strings)) (char-width char))) (s (car strings)) (strings (cdr strings)) (i 0)) *************** *** 1766,1772 **** (make-string (max 0 (/ (+ n i) m)) char) string) i (1+ i))) ! (substring s 0 length))) =20=20 (defun calendar-update-mode-line () "Update the calendar mode line with the current date and date style." --- 1766,1772 ---- (make-string (max 0 (/ (+ n i) m)) char) string) i (1+ i))) ! (truncate-string-to-width s length))) =20=20 (defun calendar-update-mode-line () "Update the calendar mode line with the current date and date style." From unknown Sat Aug 16 16:23:14 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: =?UTF-8?Q?=C5=A0t=C4=9Bp=C3=A1n_?= =?UTF-8?Q?N=C4=9Bmec?= Subject: bug#10978: closed (Re: bug#10978: `calendar-string-spread' loses with double-width characters) Message-ID: References: <87vcme6l79.fsf@gmail.com> X-Gnu-PR-Message: they-closed 10978 X-Gnu-PR-Package: emacs Reply-To: 10978@debbugs.gnu.org Date: Fri, 16 Mar 2012 01:43:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1331862183-1144-1" This is a multi-part message in MIME format... ------------=_1331862183-1144-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #10978: `calendar-string-spread' loses with double-width characters which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 10978@debbugs.gnu.org. --=20 10978: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D10978 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1331862183-1144-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 10978-done) by debbugs.gnu.org; 16 Mar 2012 01:42:20 +0000 Received: from localhost ([127.0.0.1]:52600 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S8MBP-0000HU-L0 for submit@debbugs.gnu.org; Thu, 15 Mar 2012 21:42:19 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:60809) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S8MBN-0000HN-Kl for 10978-done@debbugs.gnu.org; Thu, 15 Mar 2012 21:42:18 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1S8LiA-0002iE-7r; Thu, 15 Mar 2012 21:12:06 -0400 From: Glenn Morris To: 10978-done@debbugs.gnu.org Subject: Re: bug#10978: `calendar-string-spread' loses with double-width characters References: <87vcme6l79.fsf@gmail.com> <83r4x2ymwu.fsf@gnu.org> <8pipidtclf.fsf@fencepost.gnu.org> <837gyszscr.fsf@gnu.org> X-Spook: PET oil Montenegro nitrate warfare Area 51 electronic X-Ran: nR[8~ns@s)1^#2SqWK8>oN]D"9Z:uz4k3}ycJN!Z>6kU{,>{0{8rqj4u9J\gPik@a%|\:b X-Hue: blue X-Debbugs-No-Ack: yes X-Attribution: GM Date: Thu, 15 Mar 2012 21:12:06 -0400 In-Reply-To: (Glenn Morris's message of "Mon, 12 Mar 2012 16:26:26 -0400") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: 10978-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) Version: 24.0.95 > Eli Zaretskii wrote: > >> But it looks like calendar-insert-at-column and calendar-string-spread >> also need similar changes. Both hopefully fixed. ------------=_1331862183-1144-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 9 Mar 2012 11:58:59 +0000 Received: from localhost ([127.0.0.1]:40118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S5yTK-0000gS-3X for submit@debbugs.gnu.org; Fri, 09 Mar 2012 06:58:59 -0500 Received: from eggs.gnu.org ([208.118.235.92]:48435) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S5yTG-0000gH-No for submit@debbugs.gnu.org; Fri, 09 Mar 2012 06:58:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S5ySM-0000Go-9w for submit@debbugs.gnu.org; Fri, 09 Mar 2012 06:57:59 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:32942) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S5ySM-0000Gi-43 for submit@debbugs.gnu.org; Fri, 09 Mar 2012 06:57:58 -0500 Received: from eggs.gnu.org ([208.118.235.92]:48207) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S5ySK-0005wY-C9 for bug-gnu-emacs@gnu.org; Fri, 09 Mar 2012 06:57:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S5yS0-0000E9-A8 for bug-gnu-emacs@gnu.org; Fri, 09 Mar 2012 06:57:55 -0500 Received: from mail-ww0-f49.google.com ([74.125.82.49]:60070) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S5yRz-0000DW-Uc for bug-gnu-emacs@gnu.org; Fri, 09 Mar 2012 06:57:36 -0500 Received: by wgbdr1 with SMTP id dr1so1197866wgb.30 for ; Fri, 09 Mar 2012 03:57:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type :content-transfer-encoding; bh=/6+3vyaa7Ng35xqND6OirQGLPGB6J4Ei3Ta3rAnByJE=; b=X1aacH6tE9o7ZrsPZ974che8/uIVqTyTEwIYmo6E6XeAQtzmkjujwPlDVV+fQ69/ju 9IgTccgYRgt2WIETRgguZlPeyGu4xIjxsAGcKlwC3sNIb5TQzLzhJ32bKQRf9zaXju96 2RFOnUP8D9NbTv/IAHxLa9cQhQCjQA884HbK7ndGXUsaB+wZUit1OdUaArKsYUiDSuCf ORVuxBgJpyPwANc6oFGR2fdVuDqoBEN0P7wJBIy9dTvHXvql9sVp2noqQHn+Klw+1knx Nurc0oHGmKdcYwKY9wmqOBdgLwcexdiK2lO5yD/w/QbJgIL3aWlLYyJfoX5xw/8jz4HI Opww== Received: by 10.216.138.17 with SMTP id z17mr1303113wei.18.1331294253294; Fri, 09 Mar 2012 03:57:33 -0800 (PST) Received: from localhost (176.119.broadband10.iol.cz. [90.177.119.176]) by mx.google.com with ESMTPS id ff2sm8828638wib.9.2012.03.09.03.57.32 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 09 Mar 2012 03:57:32 -0800 (PST) From: =?utf-8?B?xaB0xJtww6FuIE7Em21lYw==?= To: bug-gnu-emacs Subject: `calendar-string-spread' loses with double-width characters Date: Fri, 09 Mar 2012 12:57:30 +0100 Message-ID: <87vcme6l79.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.1 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) The algorithm used obviously works using `length', but for every double-width character the resulting string is one char too long when actually displayed, defeating its purpose when formatting the calendar mode line (`calendar-update-mode-line' et al.). Ex.: (calendar-string-spread '("a" "b" "c") ?\s 10) ;=3D> "a b c" ; OK (calendar-string-spread '("=E7=9F=A2" "b" "c") ?\s 10) ;=3D> "=E7=9F=A2 b c" ; not OK --=20 =C5=A0t=C4=9Bp=C3=A1n ------------=_1331862183-1144-1--