From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#67248: 30.0.50; string-pixel-width is affected by the global value of display-line-numbers Date: Fri, 17 Nov 2023 23:23:58 +0200 Message-ID: <8cc52908-98c6-b853-a679-b4ac29755555@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38943"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 To: 67248@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Nov 17 22:25:39 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r46LL-0009tI-Ll for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 17 Nov 2023 22:25:39 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r46Kp-0006Ch-83; Fri, 17 Nov 2023 16:25:07 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r46Kk-0006CH-JZ for bug-gnu-emacs@gnu.org; Fri, 17 Nov 2023 16:25:02 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r46Kk-0005Te-BJ for bug-gnu-emacs@gnu.org; Fri, 17 Nov 2023 16:25:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1r46Kk-0005c6-AD for bug-gnu-emacs@gnu.org; Fri, 17 Nov 2023 16:25:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 17 Nov 2023 21:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 67248 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.170025625621503 (code B ref -1); Fri, 17 Nov 2023 21:25:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 17 Nov 2023 21:24:16 +0000 Original-Received: from localhost ([127.0.0.1]:47244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r46K0-0005al-G1 for submit@debbugs.gnu.org; Fri, 17 Nov 2023 16:24:16 -0500 Original-Received: from lists.gnu.org ([2001:470:142::17]:34984) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r46Jw-0005aG-HM for submit@debbugs.gnu.org; Fri, 17 Nov 2023 16:24:13 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r46Jq-00068A-4M for bug-gnu-emacs@gnu.org; Fri, 17 Nov 2023 16:24:06 -0500 Original-Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r46Jn-0005OZ-SV for bug-gnu-emacs@gnu.org; Fri, 17 Nov 2023 16:24:05 -0500 Original-Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-40906fc54fdso20999745e9.0 for ; Fri, 17 Nov 2023 13:24:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700256242; x=1700861042; darn=gnu.org; h=content-transfer-encoding:from:content-language:subject:to :user-agent:mime-version:date:message-id:sender:from:to:cc:subject :date:message-id:reply-to; bh=RUWJ4maoh+TgfEKaozLhS+71C3ego6rVwDTyqXEyKUI=; b=hAqsgPzVRZ5kG0rXoXyIGjKxgIYxNzE7rx17v1a+StY5qDiHtTClcMQFtSKdbp8gXK AK5OqAPvZrOAWGlM06ncgpagsvW0Wv4Xb11cByXFQoIgDhmeEIftGNZBXY5KRXX4O2gb 0D/G/jxJxAirolK2IrMUwttV450xr7BEzo/JCbHu61G3klA4y5HXitVmf7QdiQ3xpUsr gnJFxb/DJw0QbsBt64VwtUrsa7Z6FVPQaw5ZWrG2kNU7c3qHHH9dxPmcStoLn1nUlNJz XXgpvP6bW2NqFtX8my8ys2W+QeIOiVqR/Jx9vbwOzXfxqkZjgTQs2pvRriJZgmMwyssE 8IUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700256242; x=1700861042; h=content-transfer-encoding:from:content-language:subject:to :user-agent:mime-version:date:message-id:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=RUWJ4maoh+TgfEKaozLhS+71C3ego6rVwDTyqXEyKUI=; b=YTc+4Z1d75nZgLh0qyF1rN51G9BPAFMB1Y9l+VeGuIBhVafDIBKQWo9SmxaRPZIs++ 7Urg+OreZEtFpYYdBZkO/fns9umVC4taVxUyWvi6BkN9TgZfrdQTDtECi0ipg3DroXsz nqUfj8zJU/8MlyYcnwidCj1mQ2uQdHRYk8Qdpp5J1ozRYLPjbBn8ftuZhp9ccbBIJMAM 4cnv9/6FbyDneJnrA3wLgCCbmVKnXDms/JQHqCJ6QHzr/lgs2UZ9j3D0oKeygIhDkTPi caHUni1iOxELzoEJtCwliCTvetvNTtWTVzuIYjPOxXHdfES88j362pS8A7sbJ5iO+fSt 2l7Q== X-Gm-Message-State: AOJu0YwlXqyDuoM8dYkvJs6NVdoToCpp0cYc3YzpSMttRb6qOqWxXkqh fS42vpN9RIgD2pAoLyUdqD9AxhMnnZA= X-Google-Smtp-Source: AGHT+IEUbJUhDU7UGdFung8dhsWH6ELaBNOsMwgaMsNLXuXtMEre8jZxmNKO+e8AYINNdgWDoScWqw== X-Received: by 2002:a05:6000:1a8a:b0:331:6a6d:9e24 with SMTP id f10-20020a0560001a8a00b003316a6d9e24mr305607wry.7.1700256241453; Fri, 17 Nov 2023 13:24:01 -0800 (PST) Original-Received: from [192.168.13.82] ([185.170.235.162]) by smtp.googlemail.com with ESMTPSA id u11-20020adfa18b000000b0033142b1a1eesm3418783wru.87.2023.11.17.13.24.00 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 17 Nov 2023 13:24:00 -0800 (PST) Content-Language: en-US Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=raaahh@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:274520 Archived-At: 1. (string-pixel-width "abc") ; => 51 2. (customize-set-variable 'display-line-numbers t) 3. (string-pixel-width "abc") ; => 119 This function's implementation makes provision for display-line-numbers-mode, but not for the original variable display-line-numbers, which will be t independent of the value of display-line-numbers-mode. I think it's a bad idea to have these two different ways to do the same thing, and it can lead to bugs like this one. I would suggest obsoleting the public use of display-line-numbers -- making it private, probably. At least removing it from the customization group display-line-numbers. Barring that, the patch below seems to work. Although it proliferates the differences between Emacs versions which one would have to be on the lookout for. Originally reported at https://github.com/company-mode/company-mode/issues/1427. diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el index 572822351b1..4fda98ae3d0 100644 --- a/lisp/emacs-lisp/subr-x.el +++ b/lisp/emacs-lisp/subr-x.el @@ -343,8 +343,7 @@ string-pixel-width (with-current-buffer (get-buffer-create " *string-pixel-width*") ;; If `display-line-numbers-mode' is enabled in internal ;; buffers, it breaks width calculation, so disable it (bug#59311) - (when (bound-and-true-p display-line-numbers-mode) - (display-line-numbers-mode -1)) + (setq-local display-line-numbers nil) (delete-region (point-min) (point-max)) ;; Disable line-prefix and wrap-prefix, for the same reason. (setq line-prefix nil In GNU Emacs 30.0.50 (build 271, x86_64-pc-linux-gnu, GTK+ Version 3.24.34, cairo version 1.16.0) of 2023-11-17 built on potemkin Repository revision: 94849ba35f40393362050b5937578dcf3076b4bf Repository branch: feature/cl-lib-improvements Windowing system distributor 'The X.Org Foundation', version 11.0.12101004 System Description: Ubuntu 22.10