Received: (at 71605) by debbugs.gnu.org; 20 Jun 2024 09:59:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 20 05:59:02 2024 Received: from localhost ([127.0.0.1]:50918 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sKEZK-0004ZR-B3 for submit <at> debbugs.gnu.org; Thu, 20 Jun 2024 05:59:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sKEZI-0004Z4-9P for 71605 <at> debbugs.gnu.org; Thu, 20 Jun 2024 05:59:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sKEZ9-0006D4-76; Thu, 20 Jun 2024 05:58:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=bMQfOXyJceCMPNvymhleKyCg3GJNLuNAQob5cXu3lh0=; b=D1sRg8KQQfrB mJTd+tZfe+CY9tCApdLju2AfDF9plmduBv1DbvLfMtSnH8W7yx9DE83+ZfpoGHd7/rZtqiiVXEKTd 7TlEqRYW3eia02MNFoB+s11tACjGnAY8X732WNOJ7xEt400gcbtQi+6C788jDWDhL803leLG8pgjM 8qZNVFCmW1bIMJiT8R9nQo/HAb1sgjOr6Pmm0MlmU56pgbhxKeX5Vw/EJYLpfIePEG69liEsytj4T Lmqno/B3LRrqpWk7g6Jm3HzMu9AVVzQqMr+BaXJq0UZTekAaWAv6ApdF0Fb+B/W1hBlqazThYz7Ic kVxvnZv2U/PlXgbuthz2Iw==; Date: Thu, 20 Jun 2024 12:58:48 +0300 Message-Id: <86a5jgndev.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <060e1362-a206-4c88-b49f-60e4f5da7238@HIDDEN> (message from Jim Porter on Wed, 19 Jun 2024 22:37:33 -0700) Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> <86plsfqvme.fsf@HIDDEN> <66e7c49d-adb6-186f-18f1-33eee9f668ad@HIDDEN> <86h6dqqy63.fsf@HIDDEN> <a378b46a-e53a-d7b4-c3c0-e2db1022bc55@HIDDEN> <86iky5p34b.fsf@HIDDEN> <8269125b-7e9c-ffde-be9e-4a07c42ce6a5@HIDDEN> <86o77wnrb7.fsf@HIDDEN> <060e1362-a206-4c88-b49f-60e4f5da7238@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Wed, 19 Jun 2024 22:37:33 -0700 > Cc: 71605 <at> debbugs.gnu.org > From: Jim Porter <jporterbugs@HIDDEN> > > On 6/19/2024 9:58 PM, Eli Zaretskii wrote: > >> I think that would work, provided :align-to were fixed so that it could > >> handle wrapping again. > > > > Stay tuned. > > Thanks. No rush on this, since Emacs 30 takes priority over this small > nice-to-have enhancement. (I do have a patch for EWW that would benefit > from fixing this bug, but that too can wait.) Should be fixed now on the master branch.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 20 Jun 2024 05:38:45 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 20 01:38:45 2024 Received: from localhost ([127.0.0.1]:44338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sKAVR-0001wA-5E for submit <at> debbugs.gnu.org; Thu, 20 Jun 2024 01:38:45 -0400 Received: from mail-pf1-f181.google.com ([209.85.210.181]:46179) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sKAVP-0001vr-Cz for 71605 <at> debbugs.gnu.org; Thu, 20 Jun 2024 01:38:43 -0400 Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-7062c0ee254so478656b3a.0 for <71605 <at> debbugs.gnu.org>; Wed, 19 Jun 2024 22:38:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718861854; x=1719466654; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=xdG1MO0ZRXkYpWl9W+bnWrqLtvPXIEIGstkKYfbtBJg=; b=AFbNUVVuT8mbBPQMqXY6vP2buidtmCgVJd+GZEEHDIcBrdF0vPUcC+GP0PopuhdYiu ep7V5GiQizhH86FmAYbJ3DBWQUUiKD/ABygtB4XeMXvyKjq4YwOPGDLUAai7x2AVEe3J ZVuECo8aW5yzxRwXvKVVRmo6o4FNRYWFfVGqUAoeYMTA0Vv3gOobetT+rloFhS9yYaAY hLtKzkcpdJzvUQf+Cru01SJ08zx+R8sn9N1bmFwNcapEfy0Pg8brkwEChTyifi1RZ4Sy WOibMt6AiJAJqU5UafE4BW2uDOGXkDWR1Mwgk/Q7OJZPj+H3+A17/DPu9ctCHSctQP1s bt/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718861854; x=1719466654; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=xdG1MO0ZRXkYpWl9W+bnWrqLtvPXIEIGstkKYfbtBJg=; b=B5dvLkGjEX0LMqrpE3H09uXKdEGP2D6BCbY+1OWLlUey/wOszZPpWL6s64jriBquNW Kta+k89qpO4P2C1ZSnFXSMvhRqbNXkx108qaVdv5xCH2PijVCzlwtgyg9KI9LUabyhr2 tOtLC4qx7j81BCmdlBsR8tixa+fh0hkvHagiv+r485J0KEwNyy8TxhP8tteQzIFQ8qUN Dsv7uykFl3h1uU1QOM5nMCZP4r54ZzLg58kOSMbb8CHTPAs19AaYzH0qTSB450O3wtDF jxKEFqLF4mAeBszJ1GmEhUVzFuaoBcmQQfe908ONv5bKYDJR4YpWxSZCUpiFX5r0O36R KUkg== X-Gm-Message-State: AOJu0Yy1ovjQthHs0IwyYL17TOySDuNinKfcJlq9vcfLHFkcBC4SHyal z/r1NZ6x/UsLqA5EVZT2JSiKl5xqXqyw+JIl/VODk/tZ3wcekQO1 X-Google-Smtp-Source: AGHT+IGaZ6x+h72T2NZp4WuK1tPReD4YHne3OrvII8kkRoNSJzQTElb/MlYBpWzQ0iyFfl+KWFigcA== X-Received: by 2002:a05:6a20:bca9:b0:1b3:fa57:647f with SMTP id adf61e73a8af0-1bcbb5c5a1fmr4338494637.31.1718861854019; Wed, 19 Jun 2024 22:37:34 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2c7e55e0cd4sm725510a91.25.2024.06.19.22.37.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Jun 2024 22:37:33 -0700 (PDT) Message-ID: <060e1362-a206-4c88-b49f-60e4f5da7238@HIDDEN> Date: Wed, 19 Jun 2024 22:37:33 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US To: Eli Zaretskii <eliz@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> <86plsfqvme.fsf@HIDDEN> <66e7c49d-adb6-186f-18f1-33eee9f668ad@HIDDEN> <86h6dqqy63.fsf@HIDDEN> <a378b46a-e53a-d7b4-c3c0-e2db1022bc55@HIDDEN> <86iky5p34b.fsf@HIDDEN> <8269125b-7e9c-ffde-be9e-4a07c42ce6a5@HIDDEN> <86o77wnrb7.fsf@HIDDEN> From: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <86o77wnrb7.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 6/19/2024 9:58 PM, Eli Zaretskii wrote: >> I think that would work, provided :align-to were fixed so that it could >> handle wrapping again. > > Stay tuned. Thanks. No rush on this, since Emacs 30 takes priority over this small nice-to-have enhancement. (I do have a patch for EWW that would benefit from fixing this bug, but that too can wait.)
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 20 Jun 2024 04:58:50 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 20 00:58:50 2024 Received: from localhost ([127.0.0.1]:43436 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sK9sn-0000TN-Px for submit <at> debbugs.gnu.org; Thu, 20 Jun 2024 00:58:50 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55868) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sK9sl-0000T6-KV for 71605 <at> debbugs.gnu.org; Thu, 20 Jun 2024 00:58:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sK9sc-00028c-MJ; Thu, 20 Jun 2024 00:58:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=GS2o5GIyQa9GhAbbZb+8MLokIFnvTxDPLzYJCVXbdW0=; b=R6KZZ3ldSr/f acvB2E4NSQwRy9uZSTXfoy8EsvrQUQFwi2yEPXT40Otu0D/jxBmMpZcw1Idb+DjMsAS7L8D/Hcx3G 2n1pcPB+WNxJADD7oLnh+qwNhyyR/Hb45hFZ/Ss8qZBMS1yuDHRt9CYeSQINUXgXABKPD45tWm9eF SGPGDGdJN5Dql01/7lyynHMraz+6t5ZSE6wLHMDHLF/wEaDbi4yKL7f7BFSNvjJVdH5E94srwWWta iGoGryV00oxjd4EcCGm7zlsEd/JfVpvEbTZcvC3RzcRkznAHDAVKyWQFCWtoQvaqN/SzI3HXU54Nl VJQ7Hgs6fX4kP7wNuZa0eQ==; Date: Thu, 20 Jun 2024 07:58:36 +0300 Message-Id: <86o77wnrb7.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <8269125b-7e9c-ffde-be9e-4a07c42ce6a5@HIDDEN> (message from Jim Porter on Wed, 19 Jun 2024 12:53:33 -0700) Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> <86plsfqvme.fsf@HIDDEN> <66e7c49d-adb6-186f-18f1-33eee9f668ad@HIDDEN> <86h6dqqy63.fsf@HIDDEN> <a378b46a-e53a-d7b4-c3c0-e2db1022bc55@HIDDEN> <86iky5p34b.fsf@HIDDEN> <8269125b-7e9c-ffde-be9e-4a07c42ce6a5@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Wed, 19 Jun 2024 12:53:33 -0700 > Cc: 71605 <at> debbugs.gnu.org > From: Jim Porter <jporterbugs@HIDDEN> > > On 6/19/2024 4:45 AM, Eli Zaretskii wrote: > > If both the first line of the paragraph and the rest are aligned on > > that width, they will all line up. IOW, the idea is to make the text > > of all the lines :align-to to the same column number, like this: > > > > * some text > > some other text > > > > Then you don't care about the actual pixel width of "* ". > > Just so I'm sure I understand this: the idea is that the buffer's > contents are "* some text some other text" and then we set the :align-to > property on "some text some other text" so that the result is displayed > like this? > > +---- Here is the align-to column > v > * _some text > ___some other text Yes. > The underscores represent the space added by :align-to. In practice, the > first line might not have any extra space from :align-to, but the > pixel-width of "* " could be less than 2 * <canonical character width> > for variable-pitch fonts. The value calculated for :align-to needs to make sure that never happens. > I think that would work, provided :align-to were fixed so that it could > handle wrapping again. Stay tuned. > (And so long as we're ok with there being a bit of extra space after > the first-line prefix when using some fonts, but I don't see why > that would be an issue.) We _should_ be ok with some extra white space, because that's what I see in word processors all around me. Their indentation of the itemized lists always indents by more than just one SPC after the item symbol (bullet or number or letter).
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 19 Jun 2024 19:54:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jun 19 15:54:46 2024 Received: from localhost ([127.0.0.1]:56950 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sK1OI-0005jD-6h for submit <at> debbugs.gnu.org; Wed, 19 Jun 2024 15:54:46 -0400 Received: from mail-pj1-f48.google.com ([209.85.216.48]:44465) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sK1OG-0005ir-7g for 71605 <at> debbugs.gnu.org; Wed, 19 Jun 2024 15:54:44 -0400 Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-2c2e31d319eso172942a91.1 for <71605 <at> debbugs.gnu.org>; Wed, 19 Jun 2024 12:54:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718826815; x=1719431615; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=6a+D7dP2K2px5U9+dljz+sSnNpwAttl570JTnJkg2+Q=; b=evFoWp5/S9tB2TIPqYeWaj6N87yvny5J+y87KC5eB7F4gTkl0d7UyrYNRbA4zHBkwv EnqYZwjdJ/Od/A3Jen5tXPN2ArJ0e/syimomlBX3unyYh/rIr42BY20FGe4SPoJ4EVjJ +IcvMRfpuV1lPvdLk4dBz48gWXyGzP55Th8UxvI3PPjvugcDlxtFP/RtBke3V+VU6RqU CZpFUfJsNgMkRERqjNu0vEeYDFY1/E4VISnO4ajiSIscrhW7++xZP+111bzcLKXoJGLb PpIeHwWjbNuYJbOHecg+vvvaQ2dqZ1KA0iF3JZchD2xhvGhs1F74zLOEeN7lCkW4YMZw 0L4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718826815; x=1719431615; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6a+D7dP2K2px5U9+dljz+sSnNpwAttl570JTnJkg2+Q=; b=uvMJXgXakZP0tKtP1yb02rdn+qlMJjIs2amnexcjXioEEJO08R7y15j0WFVBRg6Tw2 rMLn18MpQdxCFsl3t84SvJPMglyZMwM3cycxVdBDk2S2/QYWXy/OYnlyKErMEA5kPexv 39ZnPVstie0voG0ztZMRZOpy5YcWkYOReJjKfpSSWQiznF6cfBym6pBni5txYMt7DlYX awLj69U+bSyXq+C3mup1PjX0fHSVlKDREfSynUIezYEPIe8RHf4aIqkSD3N+I+p4Qi/n hDCr/RA/PjcgkeIgF79fQTonqHX72YX7Dt/268mKP5dcyYH/lv1rzw+n1I3fURw9jLFd mPig== X-Gm-Message-State: AOJu0YwB22BO1v0g8oIzJ7EBTD7yBloLXR7NyjtjNF7cyVn2AXjlLlRe TA7+GvhtERrXNvIzjefATYLDzFvBcN01xj2eP3PE9bbXY/JHc9gX X-Google-Smtp-Source: AGHT+IHkezksv0UZiAMGvLnk/rfiKockcWYBScqgvLnq4Fzt1FDxNvPjlh+IGh3lQc8oxDGojAB6eA== X-Received: by 2002:a17:90b:4f84:b0:2c7:da20:524b with SMTP id 98e67ed59e1d1-2c7da205691mr1092543a91.10.1718826814807; Wed, 19 Jun 2024 12:53:34 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2c7e55db59dsm26431a91.27.2024.06.19.12.53.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Jun 2024 12:53:34 -0700 (PDT) Message-ID: <8269125b-7e9c-ffde-be9e-4a07c42ce6a5@HIDDEN> Date: Wed, 19 Jun 2024 12:53:33 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US To: Eli Zaretskii <eliz@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> <86plsfqvme.fsf@HIDDEN> <66e7c49d-adb6-186f-18f1-33eee9f668ad@HIDDEN> <86h6dqqy63.fsf@HIDDEN> <a378b46a-e53a-d7b4-c3c0-e2db1022bc55@HIDDEN> <86iky5p34b.fsf@HIDDEN> From: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <86iky5p34b.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 6/19/2024 4:45 AM, Eli Zaretskii wrote: > If both the first line of the paragraph and the rest are aligned on > that width, they will all line up. IOW, the idea is to make the text > of all the lines :align-to to the same column number, like this: > > * some text > some other text > > Then you don't care about the actual pixel width of "* ". Just so I'm sure I understand this: the idea is that the buffer's contents are "* some text some other text" and then we set the :align-to property on "some text some other text" so that the result is displayed like this? +---- Here is the align-to column v * _some text ___some other text The underscores represent the space added by :align-to. In practice, the first line might not have any extra space from :align-to, but the pixel-width of "* " could be less than 2 * <canonical character width> for variable-pitch fonts. I think that would work, provided :align-to were fixed so that it could handle wrapping again. (And so long as we're ok with there being a bit of extra space after the first-line prefix when using some fonts, but I don't see why that would be an issue.)
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 19 Jun 2024 11:46:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jun 19 07:46:14 2024 Received: from localhost ([127.0.0.1]:41040 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJtlW-0005ME-2M for submit <at> debbugs.gnu.org; Wed, 19 Jun 2024 07:46:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55110) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sJtlU-0005Lk-HX for 71605 <at> debbugs.gnu.org; Wed, 19 Jun 2024 07:46:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sJtlK-0005Fi-BR; Wed, 19 Jun 2024 07:46:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=7IU2fjjRUp0yLDQg6dSfkpeg0nzfQvoMw/NhSjwyCPE=; b=CpMxoJD5WY23 oMj+zD7uCpvJacbe1wce2fcktDgKkuO7HBNSgUf29FVpj2s4GjRkrB5DYDrTQ9XzsEtiM/APLT0nc LgFaHQkoEyhV9HN2c8onS9o+9y5SZ6ausCZn83WrPbQdpjx8ZhsXsnyYMfDGPO2I7iGZms+KKkMeQ O75RnkaOESlMFP0JUg4Fb8ns6Vg9bsdwbvaMFVA60Q7WlmHNCNTU7m2f6qz65Kt/G+f7WUPQwABrI uEKCZRl7uemP5nPNc/2YvUNoTRL9/pFLMjhwLIJd7zhvfTLOltjJw/FIUIDFNWMKTLP+oVwkXFjcl xKyW2cjVkzeV6mZeVIX7AA==; Date: Wed, 19 Jun 2024 14:45:56 +0300 Message-Id: <86iky5p34b.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <a378b46a-e53a-d7b4-c3c0-e2db1022bc55@HIDDEN> (message from Jim Porter on Tue, 18 Jun 2024 15:17:29 -0700) Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> <86plsfqvme.fsf@HIDDEN> <66e7c49d-adb6-186f-18f1-33eee9f668ad@HIDDEN> <86h6dqqy63.fsf@HIDDEN> <a378b46a-e53a-d7b4-c3c0-e2db1022bc55@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Tue, 18 Jun 2024 15:17:29 -0700 > Cc: 71605 <at> debbugs.gnu.org > From: Jim Porter <jporterbugs@HIDDEN> > > On 6/18/2024 4:37 AM, Eli Zaretskii wrote: > >> Or maybe :align-to could take a string value, which would mean "use the > >> pixel-width of this string as the value". > > > > How is that different from using a column (as opposed to pixel) value > > for :align-to? > > A column wouldn't work, since for a variable-pitch font, N columns is > just N * <canonical character width>. If the actual characters you're > trying to align to are narrower than the canonical width, they won't > line up correctly. If both the first line of the paragraph and the rest are aligned on that width, they will all line up. IOW, the idea is to make the text of all the lines :align-to to the same column number, like this: * some text some other text Then you don't care about the actual pixel width of "* ". > Po Lu also raised the issue that in some cases, different frames can be > displaying the same buffer using different fonts. Conceptually, I'm > really trying to tell the display engine, "Put a space here exactly as > wide as <some text> using whatever font you end up using." At the buffer > level, I can't provide a numeric width here that works everywhere, since > it might really be multiple numbers, one for each frame. IMNSHO, this is over-engineering, as we already have the means to do the same with existing features. Asking the display engine to measure and record somewhere the pixel width of a string is a significant complication to how the display code works, because the display routines can be called to start their job at any arbitrary place in the buffer. > Providing a number in pixels is also challenging because then I need to > be able to determine when to recompute that number. Which is why I didn't suggest that. I suggested columns because they scale with text-scale-adjust. > >>>> If I set that correctly, then the pixel-size should adjust as the > >>>> text scales. It wouldn't handle the case where the actual font > >>>> changes though. > >>> > >>> Why not? > >> > >> I was planning to set :relative-width to <first_line_prefix_width> / > >> <width_of_one_space>. If the font changes, the result of that > >> calculation can change. > > > > The idea is to set it to the multiple of the character's width, which > > will then scale with the font. > > Imagine two fonts A and B, where the only difference is that the space > character in B is twice as wide. So: > > <asterisk_width> = 15 > <space_width_A> = 10 > <space_width_B> = 20 > <first_line_prefix_width_A> = 15 + 10 = 25 > <first_line_prefix_width_B> = 15 + 20 = 35 > > If I compute :relative-width for font A, the result is 25/10 = 2.5. Then, > > 2.5 * <space_width_A> = 25 = <first_line_prefix_width_A> (good) > 2.5 * <space_width_B> = 50 != <first_line_prefix_width_B> (bad!) > > So we'd need a way of keeping the width in-sync with any font changes. I don't understand the example. If these are two different paragraphs, then their indentation cannot be guaranteed to be the same anyway, because no one can assure you all the paragraphs will use the same font. So whatever you mean by <width_of_one_space>, it will always be different for different fonts, and I don't see how this can be solved for an arbitrary combination of fonts. So my suggestion is to go back to the simpler idea of using :align-to with an absolute value, either in pixels or in columns (which AFAIR is interpreted in units of the frame's default font's width), and if needed augment that by recalculation when necessary.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 18 Jun 2024 22:18:41 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 18 18:18:41 2024 Received: from localhost ([127.0.0.1]:53874 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJhA1-0003M3-CZ for submit <at> debbugs.gnu.org; Tue, 18 Jun 2024 18:18:41 -0400 Received: from mail-pf1-f171.google.com ([209.85.210.171]:44189) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sJh9z-0003Lk-8n for 71605 <at> debbugs.gnu.org; Tue, 18 Jun 2024 18:18:40 -0400 Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-70436048c25so4644107b3a.0 for <71605 <at> debbugs.gnu.org>; Tue, 18 Jun 2024 15:18:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718749050; x=1719353850; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=fy6P9iGMb0r4NEZjP+aRPky0unZ0i4pHV7F1ZdThpbs=; b=WI+Qx20NKbS6WD2r3ybFPWkNhSAuZMSD3E4wpsfDVz7uUG57dg//IOSzYMYAyrVBg6 CN0oBANmwqMTs0A4recy95upxsEGW3OMCnuocdw3DSbDb6d9rdzg1G4V6OeaGsOJjqED yihwlXm9ZMtb0G+FT1tSROnqr9lKvR3YlHDPBdC4W9nIsI98nfwTArn0jL2yK0lZdcpq 1FsSMT+o2z5SsQLyT6p1GaePFh2pMuz2iAWX2VhhgXXmYYeYBaqW4iwrgSbT1QcIQokb 7UJMQZcEHnEm+N9InLkpD2cqM2sBYFH71YF6NmqckYsalCWYfgUX3Iawv3JVIvBIaIWS 4Q2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718749050; x=1719353850; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fy6P9iGMb0r4NEZjP+aRPky0unZ0i4pHV7F1ZdThpbs=; b=liWA5tGJ0xh5NOGwn0Ab/7OXQquKDi2W+hScGxEfkJX4YNEyYqNT0SESCcd912QrZT BbKaw847rS2Bxys3Lqsi7bnkciF2Wsp9g5cvB0JqamxxW/MnZYUWJgIgCB2B5LPfutj+ segfopvkVG7q6+xBXzdzX04iqY0iAkAnesmwO31sLELPByUnfHz1JZWyJ/sHGMIYB+hN ScWyLV/5fuy2F7lEqZT0c2FpP4fKnzkoNvRwF3Wz4VGEpscVXJZEy0ouWMCjVHzvDi41 41B9S74ehhJaJMUEC4Z4lUhIlRJg7bu+DOmPeDyjcugB7hRGIibYCLsEJHKyGiUdlCIq 5llQ== X-Gm-Message-State: AOJu0YxWeD8aXUktkLvVH5NA4yKRaAUSpWplYumpfNKDFs3MDJP+pgIt 0iclcsdf3bG8QpSZK3TM3eb+60ExGegbfkyg5q/Upb44bF7XwFRa X-Google-Smtp-Source: AGHT+IHo18m24KmA0h0ri1tnNMMV0SP6ERE+03wRK4c6y8Tsqu1LWH7M1lLLEphN5HtpKLQbBL8dsw== X-Received: by 2002:a05:6a20:ba8f:b0:1b5:9670:33f2 with SMTP id adf61e73a8af0-1bcbb5f70b5mr828184637.39.1718749050154; Tue, 18 Jun 2024 15:17:30 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-705cc96731dsm9424965b3a.55.2024.06.18.15.17.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 18 Jun 2024 15:17:29 -0700 (PDT) Message-ID: <a378b46a-e53a-d7b4-c3c0-e2db1022bc55@HIDDEN> Date: Tue, 18 Jun 2024 15:17:29 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US To: Eli Zaretskii <eliz@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> <86plsfqvme.fsf@HIDDEN> <66e7c49d-adb6-186f-18f1-33eee9f668ad@HIDDEN> <86h6dqqy63.fsf@HIDDEN> From: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <86h6dqqy63.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 6/18/2024 4:37 AM, Eli Zaretskii wrote: > I don't think I understand how would this do the job. Surely, the > indentation space should be visible? I mean the second-line "* " prefix would be visible but transparent. >> A face transparency attribute might do the trick, and be useful for >> other things too: > > It isn't universally supported, AFAIK. I think it would be feasible to support an opacity level of 1.0 and 0.0. opacity=0.0 could just allocate the space for the text but not actually draw the glyphs. (Whether we want to go this route is another question.) >> Or maybe :align-to could take a string value, which would mean "use the >> pixel-width of this string as the value". > > How is that different from using a column (as opposed to pixel) value > for :align-to? A column wouldn't work, since for a variable-pitch font, N columns is just N * <canonical character width>. If the actual characters you're trying to align to are narrower than the canonical width, they won't line up correctly. Po Lu also raised the issue that in some cases, different frames can be displaying the same buffer using different fonts. Conceptually, I'm really trying to tell the display engine, "Put a space here exactly as wide as <some text> using whatever font you end up using." At the buffer level, I can't provide a numeric width here that works everywhere, since it might really be multiple numbers, one for each frame. Providing a number in pixels is also challenging because then I need to be able to determine when to recompute that number. >>>> If I set that correctly, then the pixel-size should adjust as the >>>> text scales. It wouldn't handle the case where the actual font >>>> changes though. >>> >>> Why not? >> >> I was planning to set :relative-width to <first_line_prefix_width> / >> <width_of_one_space>. If the font changes, the result of that >> calculation can change. > > The idea is to set it to the multiple of the character's width, which > will then scale with the font. Imagine two fonts A and B, where the only difference is that the space character in B is twice as wide. So: <asterisk_width> = 15 <space_width_A> = 10 <space_width_B> = 20 <first_line_prefix_width_A> = 15 + 10 = 25 <first_line_prefix_width_B> = 15 + 20 = 35 If I compute :relative-width for font A, the result is 25/10 = 2.5. Then, 2.5 * <space_width_A> = 25 = <first_line_prefix_width_A> (good) 2.5 * <space_width_B> = 50 != <first_line_prefix_width_B> (bad!) So we'd need a way of keeping the width in-sync with any font changes.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 18 Jun 2024 12:53:45 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 18 08:53:45 2024 Received: from localhost ([127.0.0.1]:42207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJYLI-00028a-Or for submit <at> debbugs.gnu.org; Tue, 18 Jun 2024 08:53:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46796) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sJYLF-00028L-T1 for 71605 <at> debbugs.gnu.org; Tue, 18 Jun 2024 08:53:43 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sJYL6-0006qQ-PP; Tue, 18 Jun 2024 08:53:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=oWSNdEpZb8HAq+LpDsK15J+4DJqt6SqmvUkN4+JdM/c=; b=RNfGNlZlnNEZ y37eVXWvdEMEFFvXx3vXH1T2Wzzw9ZpDjsFTIObQPEOX2fVWeQvInHc1czJ9i6sIR9GbVXucC7W/w m/Y5dcBHAO1+oawYvvnUEFNhZM37s8EAEuKAuX8LAQSu4fhmuy4+CPIXPWyQxE7YXMWTLck9071c3 eStrMco+OQOpUyPltfvusPs6I1weKkrzesrgK6WDTPdGZLyCN/3oN8nGpvGnxfoeTW0wcbmjYIF/e fUt3d/8PGZzDcslmH9b0Uo59LtKGUJFz2tO8HOpwXfe7fmuiZcegUuWq98ocvlfOGebHg0qwDzwLC mmNXj46cKZydYvfRmokZZg==; Date: Tue, 18 Jun 2024 15:53:13 +0300 Message-Id: <868qz2quo6.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <f6f70ad9-ae35-7f00-5888-1c0d69bf84b0@HIDDEN> (message from Jim Porter on Mon, 17 Jun 2024 23:27:49 -0700) Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <s54cyof3ayi.fsf@HIDDEN> <835c7897-d276-b0fe-6d1e-8e6a20cac2bb@HIDDEN> <4e596683-665e-8e2c-c201-9ddcb476d195@HIDDEN> <86le33qr8d.fsf@HIDDEN> <c71f647c-d8e8-59b8-1fc4-4d270eb85d69@HIDDEN> <9fe82edb-d0f1-faaf-2b1c-6c3aa66832b2@HIDDEN> <f6f70ad9-ae35-7f00-5888-1c0d69bf84b0@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71605 Cc: luangruo@HIDDEN, 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Mon, 17 Jun 2024 23:27:49 -0700 > From: Jim Porter <jporterbugs@HIDDEN> > Cc: luangruo@HIDDEN, 71605 <at> debbugs.gnu.org > > On 6/17/2024 8:02 PM, Jim Porter wrote: > > Just so others are aware I'm going to try and bisect this. I'll report > > back when it's finished. > > Looks like this is the commit that regressed this: > > > commit fb3d582e7ba595b7680e2c2adf22c7ab699e5792 > Author: Eli Zaretskii <eliz@HIDDEN> > Date: Wed Jun 29 20:15:36 2022 +0300 > > Fix hscrolling of :align-to when display-line-numbers is in effect > > * src/dispextern.h (struct it): Rename 'tab_offset' member to > 'stretch_adjust'. > * src/xdisp.c (gui_produce_glyphs, produce_stretch_glyph) > (display_line): All users of 'tab_offset' changed. > (produce_stretch_glyph): Fix calculation of ':align-to' when > line numbers are displayed and the window is hscrolled. > (calc_pixel_width_or_height): Fix calculation of width of 'space' > display property when 'display-line-numbers' is turned on, but the > line number was not yet produced for the current glyph row. > (Bug#56176) Thanks. Unfortunately, it means the current behavior is not a bug, but rather an unintended consequence of another bugfix. The above changeset changed :align-to to count from the beginning of the physical line, not the screen line. So, for example, if you have an 80-column line, the continuation line begins from column 80, not 0. Thus, something like ':align-to 4' will never work on continuation lines, because we got past column 4 long ago... So I need to think whether and how to restore the capability of using :align-to in wrap-prefix.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 18 Jun 2024 12:39:50 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 18 08:39:50 2024 Received: from localhost ([127.0.0.1]:42156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJY7p-0001lo-MX for submit <at> debbugs.gnu.org; Tue, 18 Jun 2024 08:39:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54046) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sJY7l-0001lX-0w for 71605 <at> debbugs.gnu.org; Tue, 18 Jun 2024 08:39:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sJY7c-0004RX-Rh; Tue, 18 Jun 2024 08:39:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=fwcsFQLr2ia+xbiLpFhGBgPAZG2M1EV20OkaG/qTfMk=; b=f85bqIZq6vm9 9ASGFQ61aSbX6eILrs7RucbHaoRbDhSz2VTao+SRlQHTK4vzM+pdrlY24smNPCdemKe5+LI67fs8e Pn3TlE0qHeP42S2dakGgXS8afYLKioklanfCTtfsnISbkzc2M2I7YsMCpd/hMPauMr8zVV1p/vU4J Ad2rSV5g4SNT0ZwNfo8awAD1r5Cuv89Dtq5J6jTYJeaq7gsVJJs1eQxkPGHSG7YwTeA6fdHFqWiMW Oi4k8n2N+UNXGGCIyB6/DseitK5pf9HfA7qG1eNNWJCSH/U75eS4Wyc/kI/rVePfT8uhinyNvzvbr i89uKyDKjiMIX4fexWmlwA==; Date: Tue, 18 Jun 2024 15:39:09 +0300 Message-Id: <86bk3yqvbm.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <c71f647c-d8e8-59b8-1fc4-4d270eb85d69@HIDDEN> (message from Jim Porter on Mon, 17 Jun 2024 13:08:47 -0700) Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <s54cyof3ayi.fsf@HIDDEN> <835c7897-d276-b0fe-6d1e-8e6a20cac2bb@HIDDEN> <4e596683-665e-8e2c-c201-9ddcb476d195@HIDDEN> <86le33qr8d.fsf@HIDDEN> <c71f647c-d8e8-59b8-1fc4-4d270eb85d69@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71605 Cc: luangruo@HIDDEN, 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Mon, 17 Jun 2024 13:08:47 -0700 > Cc: luangruo@HIDDEN, 71605 <at> debbugs.gnu.org > From: Jim Porter <jporterbugs@HIDDEN> > > >> Which actually gives me an > >> idea... what if the wrap-prefix is just the original text like "* " and > >> we fontify it to be invisible? It's not part of the buffer and you can't > >> select it anyway, so it doesn't really matter what the text is so long > >> as it's not visible.) > > > > I don't think I follow: how is this relevant to the issue at hand? > > I was thinking you could wrap "* this is some text" like so: > > * this is > * some text > > The second "* " would come from the wrap-prefix, but we'd make the > foreground transparent (or the same color as the background) so it > wouldn't be visible. Then it would always take up the same width as the > first "* " because it's the same string with the same font and everything. If it's transparent, some change in the faces could reveal it, which I think will be perceived as a bug. And invisible text cannot take up screen estate, so I'm not sure how would that help...
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 18 Jun 2024 11:37:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 18 07:37:53 2024 Received: from localhost ([127.0.0.1]:42103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJX9t-0000E3-1s for submit <at> debbugs.gnu.org; Tue, 18 Jun 2024 07:37:53 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58640) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sJX9r-0000Dl-2q for 71605 <at> debbugs.gnu.org; Tue, 18 Jun 2024 07:37:52 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sJX9j-0001ow-67; Tue, 18 Jun 2024 07:37:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=B+k1KZFm/NkYI2kCpqerNpOXN9Up5VzoWN9757D1XTM=; b=n3lHk3qY0fIM CU9PycoKZoyKiqpGJm68TvRVLtPGJH/pEU6BXa7ye7+WrYqqrUhjJHxT8+ytilrySyQ8t60LtEcmr gai9ScZBcDGPzztEjep4zJBrBGkVr/l0u+YCGXKwqFBDRWakkAX6Cem24I/Ub+4r1zYM5fwV65T2j rC1TpVMCAncS7cfBbDH9VJzSqN4ygVXJP1KhdzryPmUTvDGc03pJAQzB82tV6BkrSRlDvr42aYt9d PimamxMy1b05jJse+5vLUPadk46coRYoBDyepbV0tzAK0z/e6h3l334U8pzQ3euUtS0wBCFBlsVbH +jMmfMA6sOnuLF6OjV2eeg==; Date: Tue, 18 Jun 2024 14:37:40 +0300 Message-Id: <86h6dqqy63.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <66e7c49d-adb6-186f-18f1-33eee9f668ad@HIDDEN> (message from Jim Porter on Mon, 17 Jun 2024 11:44:47 -0700) Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> <86plsfqvme.fsf@HIDDEN> <66e7c49d-adb6-186f-18f1-33eee9f668ad@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Mon, 17 Jun 2024 11:44:47 -0700 > Cc: 71605 <at> debbugs.gnu.org > From: Jim Porter <jporterbugs@HIDDEN> > > Replying to your individual points below, but in the other subthread, I > had the idea that maybe a better way to do this would be for the wrap > prefix to always be the first-line prefix but to make it transparent > when desired. So for the "* some text" example, the wrap-prefix would be > "* " but fontified(?) such that you can't see it. I don't think I understand how would this do the job. Surely, the indentation space should be visible? > A face transparency attribute might do the trick, and be useful for > other things too: It isn't universally supported, AFAIK. > Or maybe :align-to could take a string value, which would mean "use the > pixel-width of this string as the value". How is that different from using a column (as opposed to pixel) value for :align-to? > >> If I set that correctly, then the pixel-size should adjust as the > >> text scales. It wouldn't handle the case where the actual font > >> changes though. > > > > Why not? > > I was planning to set :relative-width to <first_line_prefix_width> / > <width_of_one_space>. If the font changes, the result of that > calculation can change. The idea is to set it to the multiple of the character's width, which will then scale with the font. > > If you can pass a window, you can use window-text-pixel-size instead. > > I think 'window-text-pixel-size' would compute the size of the text > already in the buffer Yes, and we have with-current-buffer...
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 18 Jun 2024 06:29:00 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 18 02:29:00 2024 Received: from localhost ([127.0.0.1]:40710 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJSKy-0005tt-5Y for submit <at> debbugs.gnu.org; Tue, 18 Jun 2024 02:29:00 -0400 Received: from mail-pg1-f179.google.com ([209.85.215.179]:53363) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sJSKv-0005tc-QB for 71605 <at> debbugs.gnu.org; Tue, 18 Jun 2024 02:28:58 -0400 Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-656d8b346d2so3589405a12.2 for <71605 <at> debbugs.gnu.org>; Mon, 17 Jun 2024 23:28:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718692069; x=1719296869; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=kJFwbhkd8TZ5nztSrFU55pxyDORAU3OqGlGnzsjxjgQ=; b=IhNWPVjW2UG7+FhXzBB6MMVQDqN4QG7FEL685JceTZ7Qj9EeYVG3y5fn6FDoRVB7gw L10Q0mit7mN5tCQ/IVDInL6V5FVVW0363PboKhtmWhkKhyAxlC+LRokzsxwC4fxEirJc 8r/FoR91VKtOz0Et3450TTd7MApxvQLj65LLKZFwBByyGtYR4KdDVu19+Df/xJj4YA5H 75r0QTH2HxA7c5kYbIpQd93XKtV3CWiufnX7H87QLHdFR/tvq3FKsuP9u/O5gFRYBwWu KtXviq3VNqNuVZWFzAVW4stwS8ZU0T2zApy+BCHkCj99KJSuIa9+9P5YL5dHlmYQx+Iz ipjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718692069; x=1719296869; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kJFwbhkd8TZ5nztSrFU55pxyDORAU3OqGlGnzsjxjgQ=; b=Q2qnZANVfwA2AYrdG5Jm/YIG8HXIfUpkIN5rrJVsMdZYCWoUwAoVT6fNvC2mjLTMdx HBNqSGUEOKtiFJwCKwGmyPwu7oxeHVrXhSOsEnaIdZSCPRJ2nVa9jaUfwJlrXzIXvvj/ 4j+w30t6x5rOZcTkJ3HkfeAk/9ek6b1FKrZWYmIiSuDQyUK23c5UxYPhB8rSFe1Rqj2f 0hWQNCL0iRDK8y4qBfXjBkoUK5NRVePbhh4xbtjDgXpNqsPd8Ko85JJIXNAIkdpW0jHJ G0qdeixC1HEjSGyrnhubXiu6H8cNlhSdUsqPlD5StGD8L/I5v8JW7AwehnaNk5KG4RUj QzdA== X-Forwarded-Encrypted: i=1; AJvYcCWIRVc+Dbeu0++NQKenr6l7fr3nzw8gDs35yPYSbLH06r0WNmhf3vomPw6Wy1TkK+6oTZN0ytTnHcNDrfXfE81KAaahJcY= X-Gm-Message-State: AOJu0YxkjpFxjE1fFcgKWlougjcBjdUny+XV8JVHrt1ViZmehIaJ8Cdo yFOq1cZvvAkUIDgIAOAenyeyiOKh/JSQOBQHpFdBIT2zkoE7gN+j X-Google-Smtp-Source: AGHT+IEhB6M12Ujzu8cStb6eOo7y0D/vy5oWQaK4hfQlG001LtvH43ki1nAAnFd4L6Oi+j/XEA85+g== X-Received: by 2002:a05:6a20:6a21:b0:1b6:d8bd:c42d with SMTP id adf61e73a8af0-1bae7d98214mr12319460637.4.1718692069387; Mon, 17 Jun 2024 23:27:49 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f855f29011sm89859245ad.249.2024.06.17.23.27.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jun 2024 23:27:48 -0700 (PDT) Message-ID: <f6f70ad9-ae35-7f00-5888-1c0d69bf84b0@HIDDEN> Date: Mon, 17 Jun 2024 23:27:49 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US From: Jim Porter <jporterbugs@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <s54cyof3ayi.fsf@HIDDEN> <835c7897-d276-b0fe-6d1e-8e6a20cac2bb@HIDDEN> <4e596683-665e-8e2c-c201-9ddcb476d195@HIDDEN> <86le33qr8d.fsf@HIDDEN> <c71f647c-d8e8-59b8-1fc4-4d270eb85d69@HIDDEN> <9fe82edb-d0f1-faaf-2b1c-6c3aa66832b2@HIDDEN> In-Reply-To: <9fe82edb-d0f1-faaf-2b1c-6c3aa66832b2@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: luangruo@HIDDEN, 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 6/17/2024 8:02 PM, Jim Porter wrote: > Just so others are aware I'm going to try and bisect this. I'll report > back when it's finished. Looks like this is the commit that regressed this: commit fb3d582e7ba595b7680e2c2adf22c7ab699e5792 Author: Eli Zaretskii <eliz@HIDDEN> Date: Wed Jun 29 20:15:36 2022 +0300 Fix hscrolling of :align-to when display-line-numbers is in effect * src/dispextern.h (struct it): Rename 'tab_offset' member to 'stretch_adjust'. * src/xdisp.c (gui_produce_glyphs, produce_stretch_glyph) (display_line): All users of 'tab_offset' changed. (produce_stretch_glyph): Fix calculation of ':align-to' when line numbers are displayed and the window is hscrolled. (calc_pixel_width_or_height): Fix calculation of width of 'space' display property when 'display-line-numbers' is turned on, but the line number was not yet produced for the current glyph row. (Bug#56176) I'll take a look in more detail tomorrow, but if anyone else wants to fix this, go ahead. I also have a bit of Elisp that checks whether this feature works, and I should be able to make it into a proper regression test with a bit of work.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 18 Jun 2024 03:03:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 23:03:24 2024 Received: from localhost ([127.0.0.1]:38734 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJP80-0008Rs-8a for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 23:03:24 -0400 Received: from mail-pg1-f169.google.com ([209.85.215.169]:52605) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sJP7y-0008Rd-3B for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 23:03:23 -0400 Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-6e9f52e99c2so3640178a12.1 for <71605 <at> debbugs.gnu.org>; Mon, 17 Jun 2024 20:03:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718679734; x=1719284534; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=IjWFq3WZCn+tmo6d+ySshR1Z93RkbuHJvF5cmu/Nh4Y=; b=eHv4050UB/Z2IEVTe7Rzx0Xfkqx5shAKrdZXgSm8Ouigibx1wIertFLbyrcMOtC8iy sAhh7ITjvHhehEkiU65yD5U3dtxRLJXO5OE0e/fLCDeMrcn7W0Op1Dmg8zEUxjXD2z/N mfHPh0cx2ZO/3e0gsLxo3pATHQjPUWo4L7E6OAbO8kLQi9+dw6S3Tq54e9EY6IUsF3TO FmvhjgOiBvmwuq5SGGZg407P1roCtuUoaaEvScydsRxE+xkarlqojekVAb4c6mjwwXHD U03ciIMGOCYyeS5i/TL682a8GM4ppRwThHgSriJd+S5jpJpjLrjwQIyU07JNF4nPEpyL Mf0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718679734; x=1719284534; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IjWFq3WZCn+tmo6d+ySshR1Z93RkbuHJvF5cmu/Nh4Y=; b=dpcwD/5WBfZe2fJ3utHcEX/5zyIch//vOi9BUMtsmqcAplel29K/dBXn73oefurFNb LeOdLR8pqXnXHvIy1PPLTfFWDo88Xg8luSrWtDEKpcGogDlvpVL4YxuEqLqiypsNVCH2 ycTTIcXa93chUXBYENqqrzD442uG+xlZ0pBCIwJJgAtF7lf5OzxqLypGQAC+hZ/hZRDz dJPIMW8If4UTWpElA16FMch8MZB+2YcgXgHka0e6nH5xGdIM9gSwXgghmKGXx4Ei65Am BcL7iWnQkGJovAu80orGtHxWSrg6oimpIUjcrvtcIFoFswpcH97LIWXWhNNFusUi/4K1 2fUA== X-Forwarded-Encrypted: i=1; AJvYcCXmJ9qjNHwda52V/0oVaNMPMhta+vPDMUIGlWdx4rqr1QZ4ElwpP+5rysYO77WedzeXrGoxsL75NGcEZ9EJpUd67djWeE8= X-Gm-Message-State: AOJu0YzGDMLz7CLWb4ZV4pmi+HK09+ILLEjADbhGnYmD+RT8xI7cMAR9 4nD50pIzKYvCOOKE584iK0x/FQ/tDfuIeg7jJMeiXBUkHIhKXOp1 X-Google-Smtp-Source: AGHT+IHL0z3gfN9QQugmlqr8srjrWPlZ5kZUVvcriw+TJqSLQE7aS+nkOKBn65IcRogxyBVXNRvqIw== X-Received: by 2002:a17:90a:de0c:b0:2c2:ee5c:35a4 with SMTP id 98e67ed59e1d1-2c4da9cd916mr11802695a91.0.1718679733593; Mon, 17 Jun 2024 20:02:13 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2c4a75ee4e8sm12121769a91.16.2024.06.17.20.02.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jun 2024 20:02:13 -0700 (PDT) Message-ID: <9fe82edb-d0f1-faaf-2b1c-6c3aa66832b2@HIDDEN> Date: Mon, 17 Jun 2024 20:02:12 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US From: Jim Porter <jporterbugs@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <s54cyof3ayi.fsf@HIDDEN> <835c7897-d276-b0fe-6d1e-8e6a20cac2bb@HIDDEN> <4e596683-665e-8e2c-c201-9ddcb476d195@HIDDEN> <86le33qr8d.fsf@HIDDEN> <c71f647c-d8e8-59b8-1fc4-4d270eb85d69@HIDDEN> In-Reply-To: <c71f647c-d8e8-59b8-1fc4-4d270eb85d69@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: luangruo@HIDDEN, 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 6/17/2024 1:08 PM, Jim Porter wrote: > On 6/17/2024 12:55 PM, Eli Zaretskii wrote: >>> Cc: 71605 <at> debbugs.gnu.org >>> Date: Mon, 17 Jun 2024 11:17:45 -0700 >>> From: Jim Porter <jporterbugs@HIDDEN> >>> >>> Replacing :align-to with :width works just fine though. It's entirely >>> possible I'm just doing something wrong, but maybe this is a bug? >> >> It's a bug in Emacs 29 and Emacs 30. It works in Emacs 27. > > Ah, that explains it. Just so others are aware I'm going to try and bisect this. I'll report back when it's finished.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 17 Jun 2024 20:09:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 16:09:58 2024 Received: from localhost ([127.0.0.1]:36739 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJIfu-0002oV-0k for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 16:09:58 -0400 Received: from mail-pl1-f181.google.com ([209.85.214.181]:56355) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sJIfs-0002o9-LT for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 16:09:57 -0400 Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-1f44b441b08so34831815ad.0 for <71605 <at> debbugs.gnu.org>; Mon, 17 Jun 2024 13:09:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718654928; x=1719259728; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=qLHI/BFG0/izN680SaSMZTSLZ1P6Yo3fQWnekVcbC1M=; b=HDM3mY97WvcS9Iim7eKEIlYzstckSNu1MrlNiZjO9RrbHZ027uIUoaeAIqJaexl/gm nPL/uIS5YsB6+kbi0gova9cFRNq4kodQJjiHqj2i/rfdBwrlR0gtcYoTFZkHW9scZrB2 1oCn341QyYqGtNLR4exnpMTZUByToyvhNis/lBXq4cu06DzAcbrNTEQN8CXZ4ITxyM2r kU0Lt3TqvhVTZgntIH0ftXbjScm6wWGdy4Kt4398yndtZodcmavYDjbtV9xrMTT63XqC qV44ql8gwkwxr+N9ZMbKz3sSB3gdNM5QvzDDHOotvfeZXk/LUlpWj1DEx7qXMlCXIZAL xwqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718654928; x=1719259728; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qLHI/BFG0/izN680SaSMZTSLZ1P6Yo3fQWnekVcbC1M=; b=cwDZB7Dd0CykPKFfXpUXPa5wqBXIKmEz/i98wiRfjMypCBG+z6nsJU8e33LdHu5zvY pK3PEeNZcI3+RwLpSoKANC863Ar9yDGvt/f5Jp6/BoRkFTD893xyfJkxxrb5EjTwxlxR ZC9JYK8VRFocB/t3eRIbD3F6rcgS8l5LldGLconlRlhy/IshtCiG5orsiE0FI68iY3ft wnfsKc02YJHtHEZvulBYhnD1Ev19TDwH3h09/3rzkjCA8MovL3Q6xwLg8teID5Yfl2Yh Pk41TGFDrj2ux6f9lGUvhZOY8InyiOsYmYPeYlZTJeaWRI871Rrtd+YHDQnk2RAiD4j/ ygsw== X-Forwarded-Encrypted: i=1; AJvYcCV2mitkBJwzJaViEvBY9GTQMx7GUSWR5FAzzRqQ/bma7/4otOKndkrM7VIhRZMP+7s8JHqUmzszfwQz5rcmRC6oFhtwK8E= X-Gm-Message-State: AOJu0Yx+C7vZckuZWBnUZiXTOuAw9MxGnQe7kIfwBBFrT+vQhaZJSOW1 J9L7f7PLVtNjSCVnMcxewmjB7fnPvEkbTrYFUFfbs88F7IaMb2l1 X-Google-Smtp-Source: AGHT+IHzSmWE5/Rm9FUFO9IXNC2eQ4DfydSXgyDUhnFkEQ//3fqGO+3qgHKa9uNva1QR9hoJRPoqDg== X-Received: by 2002:a17:902:c40f:b0:1f6:8157:b52f with SMTP id d9443c01a7336-1f8625c60a2mr122267215ad.8.1718654928335; Mon, 17 Jun 2024 13:08:48 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f855f02511sm83104765ad.202.2024.06.17.13.08.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jun 2024 13:08:47 -0700 (PDT) Message-ID: <c71f647c-d8e8-59b8-1fc4-4d270eb85d69@HIDDEN> Date: Mon, 17 Jun 2024 13:08:47 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US To: Eli Zaretskii <eliz@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <s54cyof3ayi.fsf@HIDDEN> <835c7897-d276-b0fe-6d1e-8e6a20cac2bb@HIDDEN> <4e596683-665e-8e2c-c201-9ddcb476d195@HIDDEN> <86le33qr8d.fsf@HIDDEN> From: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <86le33qr8d.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: luangruo@HIDDEN, 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 6/17/2024 12:55 PM, Eli Zaretskii wrote: >> Cc: 71605 <at> debbugs.gnu.org >> Date: Mon, 17 Jun 2024 11:17:45 -0700 >> From: Jim Porter <jporterbugs@HIDDEN> >> >> Replacing :align-to with :width works just fine though. It's entirely >> possible I'm just doing something wrong, but maybe this is a bug? > > It's a bug in Emacs 29 and Emacs 30. It works in Emacs 27. Ah, that explains it. >> (Now what would be great is if :align-to supported a *string* value that >> meant "use the pixel-width of this string". > > It's already possible: just have a variable that holds the width, and > use it in the :align-to expression. That would make the code simpler, but I'd still need to figure out when to reevaluate the variable to update things. >> Which actually gives me an >> idea... what if the wrap-prefix is just the original text like "* " and >> we fontify it to be invisible? It's not part of the buffer and you can't >> select it anyway, so it doesn't really matter what the text is so long >> as it's not visible.) > > I don't think I follow: how is this relevant to the issue at hand? I was thinking you could wrap "* this is some text" like so: * this is * some text The second "* " would come from the wrap-prefix, but we'd make the foreground transparent (or the same color as the background) so it wouldn't be visible. Then it would always take up the same width as the first "* " because it's the same string with the same font and everything.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 17 Jun 2024 19:55:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 15:55:29 2024 Received: from localhost ([127.0.0.1]:36375 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJIRt-0002Jh-Ka for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 15:55:29 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47302) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sJIRo-0002JM-Uj for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 15:55:28 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sJIRh-0006ZE-8Y; Mon, 17 Jun 2024 15:55:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=c5MvAdE401JHoGyO9PBnG0GZRNQWXaKoQGnGGlFGwqg=; b=WIcfByTakbZF ugQqprnthI2dr+MSxI5u+srMNSUhY+3Jsx/KdxuyRzDdkxO8PkDOHNgf1iHyX1o1RaFvRaq2ZcYcu j1ZNAD2pugH0ZTvPQuIiew3slLPa5x4xW7976S7Mx7C24c1CP9/qpZAuyihY4PkjlsQzVC7dNTle0 3ufgStdB7tjNudYawiW8+DD/9swoe6QF8nOAx1jO5GHuq1Y7dYD1jAFKOf2b94ELKtuSTppodKpnR /4jlDfY3u2UFUulmYgDOgXyC09q9p6cXpdZSsgMoHvhU9BPfpDSBTieUhjacXzmptiTePOpCCqVT9 Etw3uluQZsUBeTNOG7kpjQ==; Date: Mon, 17 Jun 2024 22:55:14 +0300 Message-Id: <86le33qr8d.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <4e596683-665e-8e2c-c201-9ddcb476d195@HIDDEN> (message from Jim Porter on Mon, 17 Jun 2024 11:17:45 -0700) Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <s54cyof3ayi.fsf@HIDDEN> <835c7897-d276-b0fe-6d1e-8e6a20cac2bb@HIDDEN> <4e596683-665e-8e2c-c201-9ddcb476d195@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71605 Cc: luangruo@HIDDEN, 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: 71605 <at> debbugs.gnu.org > Date: Mon, 17 Jun 2024 11:17:45 -0700 > From: Jim Porter <jporterbugs@HIDDEN> > > Maybe :align-to could be made to work. It doesn't seem to work at all > for me, even in a minimal test case like calling this on a long line of > text: > > (put-text-property (point-min) (point-max) 'wrap-prefix '(space > :align-to 4)) > > Replacing :align-to with :width works just fine though. It's entirely > possible I'm just doing something wrong, but maybe this is a bug? It's a bug in Emacs 29 and Emacs 30. It works in Emacs 27. > (Now what would be great is if :align-to supported a *string* value that > meant "use the pixel-width of this string". It's already possible: just have a variable that holds the width, and use it in the :align-to expression. > Which actually gives me an > idea... what if the wrap-prefix is just the original text like "* " and > we fontify it to be invisible? It's not part of the buffer and you can't > select it anyway, so it doesn't really matter what the text is so long > as it's not visible.) I don't think I follow: how is this relevant to the issue at hand?
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 17 Jun 2024 18:45:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 14:45:57 2024 Received: from localhost ([127.0.0.1]:35379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJHMb-0000Iq-0S for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 14:45:57 -0400 Received: from mail-pj1-f43.google.com ([209.85.216.43]:52480) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sJHMY-0000Ia-Fy for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 14:45:55 -0400 Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-2c4c7eb425fso3731780a91.1 for <71605 <at> debbugs.gnu.org>; Mon, 17 Jun 2024 11:45:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718649886; x=1719254686; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=1mqzTT2ftJrw+OmqPOv3oEYs+m3oejSxsjpYYVTuUng=; b=mt50fzacyh02jhMmeVnH9uojw8xjODePiZIHJwlGcTn203w/BibabBkcIwZYqjtnTT ZpxlZk8OITRIaAuaqYh1JW2sJMsy9kE3ajVB025A4h3AfYDgvfnV2AOrKs2np8nCd7Rl uiMABO8kIBPsGltE0YnZ+kYt//6cbe1Ki1KCudJXDKRbQw4cMwuD2xvjxp4VXVrp+vLQ qq1tYhp07hFDMklX0udB8MrJtanxUYs1UcDtNC6fPAcoXDoUi8Idb9RT0dzTCrKmFbCH 8yGC0kNmE38wCRBKM9yCBn9RIQ7Zd3fdXLih/IeHPbU7r/IW6EqcAHydiY3aCqJmQ4La Ai5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718649886; x=1719254686; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1mqzTT2ftJrw+OmqPOv3oEYs+m3oejSxsjpYYVTuUng=; b=gOL4k/DOautE0cYFPXOZIaxnf/iA8XoVxtPWCItsq9zg/dOyq4OhcwoM4y85GzwEib sNfss0SITmMriDhZvu1ol2q07B1IF0iinUp+VZmILYs0tyJQz8xur7aZ5/Cd/f1QdE07 k48zFNVG47OoNbM7lYwf+drRFqtSkgc5UuPvViVzSXZ7L6UEfGKFQkEXc5xyPqjUZDXN 3DPguTOApn0DLMAWs85Z2bSkKD2F/pquIb32ZE7IbiCt8+2q6YPGKBsHi8bfxeBWL06E JJdjxLbY6u8KZmajrOxgQqmfNd/OWNZdv0wG7TryvNBg8zJXAwmD7woU4jnn08bcSWqH saMg== X-Gm-Message-State: AOJu0YziOu+WEGOsu5bVrsadeet2DZDcN/OFyG+IIiEeEHwjeWtP4UQK iNdvXNhk3uUsyRnuuIrh6GjU5ricFnohHQThzDmN9ozg870dUGyzrII3Uw== X-Google-Smtp-Source: AGHT+IH2tGZLzm82pQ7LOXm25mon/rub9aEL8heRAqjSD4b0WrQcLK5fGyHAUKV9jCJ6ElTbZ9nblA== X-Received: by 2002:a17:90a:fa06:b0:2c2:c148:c961 with SMTP id 98e67ed59e1d1-2c4dbd44db6mr9148799a91.48.1718649886562; Mon, 17 Jun 2024 11:44:46 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2c4a76aa3f4sm11541072a91.53.2024.06.17.11.44.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jun 2024 11:44:46 -0700 (PDT) Message-ID: <66e7c49d-adb6-186f-18f1-33eee9f668ad@HIDDEN> Date: Mon, 17 Jun 2024 11:44:47 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US To: Eli Zaretskii <eliz@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> <86plsfqvme.fsf@HIDDEN> From: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <86plsfqvme.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Replying to your individual points below, but in the other subthread, I had the idea that maybe a better way to do this would be for the wrap prefix to always be the first-line prefix but to make it transparent when desired. So for the "* some text" example, the wrap-prefix would be "* " but fontified(?) such that you can't see it. A face transparency attribute might do the trick, and be useful for other things too: <https://lists.gnu.org/archive/html/emacs-devel/2024-01/msg00657.html>. Or maybe :align-to could take a string value, which would mean "use the pixel-width of this string as the value". On 6/17/2024 11:20 AM, Eli Zaretskii wrote: >> Date: Mon, 17 Jun 2024 10:42:56 -0700 >> Cc: 71605 <at> debbugs.gnu.org >> From: Jim Porter <jporterbugs@HIDDEN> >> >> I tried using :align-to, and it doesn't seem to take effect for the >> 'wrap-prefix' text property. I haven't looked closely at why that >> doesn't work, but even if it did, I think it might make things more >> complex than they already are. > > What exactly did you try? I might be misremembering, but I'm not > aware of any limitations wrt use of :align-to in wrap-prefix. In > fact, the ELisp reference manual explicitly mentions :align-to in its > description of wrap-prefix. My minimal test case is to open a buffer, put some random text in (long enough that it would wrap), and then call: (put-text-property (point-min) (point-max) 'wrap-prefix '(space :align-to 4)) Nothing changes for me. If I replace :align-to with :width, I see the continuation lines get indented by 4 characters. >> The 'face-change' idea could work, or here's another possibility: what >> about using :relative-width? > > :relative-width could work, but you'd need to make sure it takes the > width from a fixed character, otherwise different paragraphs won't > align the same. In this case, the first character is always a space so that's ok. >> If I set that correctly, then the pixel-size should adjust as the >> text scales. It wouldn't handle the case where the actual font >> changes though. > > Why not? I was planning to set :relative-width to <first_line_prefix_width> / <width_of_one_space>. If the font changes, the result of that calculation can change. >>>> -@defun string-pixel-width string >>>> +@defun string-pixel-width string &optional buffer [snip] >> Maybe this should take the face-remapping-alist directly? Or maybe we >> should pass in a window? > > If you can pass a window, you can use window-text-pixel-size instead. I think 'window-text-pixel-size' would compute the size of the text already in the buffer, and I was looking for a function that told the width of some text if I were to later display it in that window. In any case, I might not need to use this function at all depending on how I do things... >> Yeah, though the FCP argument is always the prefix we constructed, so we >> know what the display-spec looks like if it's present. > > Sure, but that means the code is fragile, and you need to comment > prominently that if the form of the display spec changes in the > future, this code will need to be adapted. Assuming I keep going down this route, I'll be sure to comment this extensively.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 17 Jun 2024 18:20:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 14:20:46 2024 Received: from localhost ([127.0.0.1]:35321 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJGyE-00085I-EM for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 14:20:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48044) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sJGyC-000851-Gy for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 14:20:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sJGy2-00073L-Gt; Mon, 17 Jun 2024 14:20:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=Ool+twL7TsEvFxnsWtrwWc4q4T9SZ3de5yOcnUpxhrM=; b=cz9kacxaARomsKP7gCF7 JkZs/K4k09FvKNyXQh5LZcqOk4tdpH9y1ppV1YZ4srxqd8yQN1e29GojlJ+fGSxb7Jwc7ltvZaz57 5lrTGsBjFeqV5uCScOjWHdm1mTH6YknQS47qIS6Pp0MTmoMbwDGvBgIEP4tDw2kvnAoPxTVRI6CvH HsWHHnshQgiwqnSlrGEeizvPreozJXmrw4QhrfYXKo3RPk8bozeceMmWkIMYwCyOl5BpWdqwCerMK h5neVpn3sXer1OvY37nOAKxf9CNGhK586B0RRWahAi6M/IhmRV2gmEct7Oki+WXIpzbXjqKtSyVXZ Lz93pfoUtG0mgg==; Date: Mon, 17 Jun 2024 21:20:25 +0300 Message-Id: <86plsfqvme.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> (message from Jim Porter on Mon, 17 Jun 2024 10:42:56 -0700) Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Mon, 17 Jun 2024 10:42:56 -0700 > Cc: 71605 <at> debbugs.gnu.org > From: Jim Porter <jporterbugs@HIDDEN> > > On 6/17/2024 4:37 AM, Eli Zaretskii wrote: > >> Date: Sun, 16 Jun 2024 19:56:44 -0700 > >> From: Jim Porter <jporterbugs@HIDDEN> > >> The attached patch adds a display spec in this case so that the text > >> lines up perfectly. > > > > Can you explain the idea of the patch? I don't think I understand why > > you use '(space :width)' rather than '(space :align-to)'. > > I tried using :align-to, and it doesn't seem to take effect for the > 'wrap-prefix' text property. I haven't looked closely at why that > doesn't work, but even if it did, I think it might make things more > complex than they already are. What exactly did you try? I might be misremembering, but I'm not aware of any limitations wrt use of :align-to in wrap-prefix. In fact, the ELisp reference manual explicitly mentions :align-to in its description of wrap-prefix. > If I understand your :align-to suggestion, setting :align-to on > everything after the "* " bullet could work in theory, but I don't know > what value you could set there to make everything correct. Some multiple of the width of the default font's representative character, or of its average-width property? > The 'face-change' idea could work, or here's another possibility: what > about using :relative-width? :relative-width could work, but you'd need to make sure it takes the width from a fixed character, otherwise different paragraphs won't align the same. The ELisp manual says: ‘:relative-width FACTOR’ Specifies that the width of the stretch should be computed from the first character in the group of consecutive characters that have the same ‘display’ property. The space width is the pixel width of that character, multiplied by FACTOR. > If I set that correctly, then the pixel-size should adjust as the > text scales. It wouldn't handle the case where the actual font > changes though. Why not? > >> -@defun string-pixel-width string > >> +@defun string-pixel-width string &optional buffer > >> This is a convenience function that uses @code{window-text-pixel-size} > >> -to compute the width of @var{string} (in pixels). > >> +to compute the width of @var{string} (in pixels). If @var{buffer} is > >> +non-@code{nil}, use the face remappings from that buffer when > >> +determining the width (@pxref{Face Remapping}). > > > > An alternative would be to provide a face to use. > > > > In any case, using BUFFER only for face-remapping-alist is only a > > small part of what a buffer can do to a string: there's the major mode > > with its fontifications and whatnot. > > Yeah, I'm not entirely happy with this BUFFER argument either. I don't > think we need to worry about fontification in this case though, since > you can pass in a fontified string. > > Maybe this should take the face-remapping-alist directly? Or maybe we > should pass in a window? If you can pass a window, you can use window-text-pixel-size instead. > >> +(defun visual-wrap--adjust-display-width (fcp n) > >> + (when-let ((display (get-text-property 0 'display fcp)) > >> + ((eq (car-safe display) 'space)) > > > > Doesn't this only work with very simple 'display' specs? The 'space' > > part could be in some place deep in the spec, not just the second > > symbol. > > Yeah, though the FCP argument is always the prefix we constructed, so we > know what the display-spec looks like if it's present. Sure, but that means the code is fragile, and you need to comment prominently that if the form of the display spec changes in the future, this code will need to be adapted.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 17 Jun 2024 18:18:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 14:18:56 2024 Received: from localhost ([127.0.0.1]:35316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJGwR-000827-QV for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 14:18:56 -0400 Received: from mail-pg1-f178.google.com ([209.85.215.178]:49259) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sJGwP-00081p-EO for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 14:18:54 -0400 Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-6c4926bf9baso3843065a12.2 for <71605 <at> debbugs.gnu.org>; Mon, 17 Jun 2024 11:18:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718648265; x=1719253065; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=bgnGaAkkCfzT9pg5IRdG+IQ01s2N5ZIu0C5sP/EspF4=; b=DAKWQkaf8BisJYiBqtk51LhXMScz92YSChmrP469xttrU1hJxi+KVkcKmxBN1Yf3Ax 2m9k7nXBIQpxlwIJRBFZmMPivY6NoMWf4XXoXVvzkWnBx1rFzxJhl4C+3DvD291NvwLS pFRU+mOjgibTK4E3YbGngIIGA/x4yxlIac7bYJxJKYDpIuR67UCUEfMhZ1GGNFSlTr+o +muuX/T5JPrjV1aBkN7EgNaHb+0xV/vdauDOqWOOaHv9pDQkpwng2YXXx2HRUoEWaqVM /QuBWsToeeMCqSoXwKR3bMKdThcUlaxfZK3uWwUwEnIrsVnTElT2zAYJYMO6HaaNdIz2 g8ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718648265; x=1719253065; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=bgnGaAkkCfzT9pg5IRdG+IQ01s2N5ZIu0C5sP/EspF4=; b=pIZtkeiAxRs/L3gdU6U9KMkbBIaD1z2v8dKCzdYilVgJm99ZRbOD2HoDGrPJidst+C HeDBkTTZJGuBqYt+ZyhHaavrinZDMtTB85spUY0Y497am+rSX/OdV37F0NZRSaKFYaza 9UPBr8PBZd/SbxJyfHDT30ijwLxomdu6KrF7v9tIGeylpKiat3zfdUVtXTszYNzSdKaO jg4u3+JP4iBIfyaNH3xVBL7SmbCpIpUA8JrV2MYAuc36ldZ99N1PFGv4zAo4zsdKdUMG ApwA/LikjOxo16YPqwh4NYoxmo5KE/tDpGp9zZZcLdyvwdH62/maWHojWUARbumJ34mx Qpow== X-Gm-Message-State: AOJu0YwWd2rDxkzjbL2ndAPG0V6R1hVwnzLAHZEIGhT04ihtxF4ZO7st cz9i33903V/OENytnDSeLiQ6p7CMhLAHoRsElVPeNeA6rNTtMBJb X-Google-Smtp-Source: AGHT+IG5Xd845XMbvk3C83ZeSP3NLp9g7X/OZNB9+Zo0K2x8YaICRGnF7J0q/4GlzdXLOhS85ilbiQ== X-Received: by 2002:a17:902:d507:b0:1f7:38c5:1f34 with SMTP id d9443c01a7336-1f8627da8c2mr134810685ad.39.1718648264576; Mon, 17 Jun 2024 11:17:44 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f855f3c812sm82037015ad.274.2024.06.17.11.17.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jun 2024 11:17:44 -0700 (PDT) Message-ID: <4e596683-665e-8e2c-c201-9ddcb476d195@HIDDEN> Date: Mon, 17 Jun 2024 11:17:45 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US From: Jim Porter <jporterbugs@HIDDEN> To: Po Lu <luangruo@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <s54cyof3ayi.fsf@HIDDEN> <835c7897-d276-b0fe-6d1e-8e6a20cac2bb@HIDDEN> In-Reply-To: <835c7897-d276-b0fe-6d1e-8e6a20cac2bb@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 6/17/2024 9:13 AM, Jim Porter wrote: > Note that I haven't removed any of the old logic though; it's all there > as before, since the space characters are useful for terminals (where > the pixelwise :width display-spec doesn't do anything for us, if I > understand correctly). Evidently I wasn't understanding this correctly, since further testing and consulting the code shows that the :width display-spec works just fine on terminals. It does make it harder to get this patch working well though... Maybe :align-to could be made to work. It doesn't seem to work at all for me, even in a minimal test case like calling this on a long line of text: (put-text-property (point-min) (point-max) 'wrap-prefix '(space :align-to 4)) Replacing :align-to with :width works just fine though. It's entirely possible I'm just doing something wrong, but maybe this is a bug? (Now what would be great is if :align-to supported a *string* value that meant "use the pixel-width of this string". Which actually gives me an idea... what if the wrap-prefix is just the original text like "* " and we fontify it to be invisible? It's not part of the buffer and you can't select it anyway, so it doesn't really matter what the text is so long as it's not visible.)
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 17 Jun 2024 17:44:08 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 13:44:07 2024 Received: from localhost ([127.0.0.1]:35297 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJGOk-00075u-UX for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 13:44:07 -0400 Received: from mail-pl1-f182.google.com ([209.85.214.182]:51224) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sJGOi-00075G-01 for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 13:44:05 -0400 Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-1f6da06ba24so39035235ad.2 for <71605 <at> debbugs.gnu.org>; Mon, 17 Jun 2024 10:44:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718646176; x=1719250976; darn=debbugs.gnu.org; h=in-reply-to:from:references:cc:to:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=NEIPR9v+T221y8H8QwnVEZatrlOxRkdsm8bCwP+DwvE=; b=U4opmeAXKvug3ED0QL54FVq5wAzmCFxzSwyz74dRJB07yhDsD3uj8Y1voE6P++kvAT hMG2gamU5rEx7zkEUhQX7EXaGN4Xml6T+ILKUnaR7FyTaObU76kAP/bMPokxF5UPCY08 WvTKtIrrY5w2xxL71vQkY4HZvnA6OjU1ebLyi7e/kuCMUPPXRFdoTz4iiRcFxpJg0d5U LTB3g1GBrWbkAeiX4HAiIiFZBl4IS2wVbvXWDbii3PcsurfV+waQegxJO4wMOloaz+Rp fFBnr9xUze9XAXO4kDukfwguGxblganxOioBGognVwJQjidXgFtDnEm72OTxf+ZbGZ9e u/1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718646176; x=1719250976; h=in-reply-to:from:references:cc:to:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=NEIPR9v+T221y8H8QwnVEZatrlOxRkdsm8bCwP+DwvE=; b=TTF+6fNydIi1mkYb/bocwts/rudW3fLi9zZAndUs+Z3E5iACyuIO9xn2bhDNB/kIdo Ky2DTBCU79C/zG6I/Gi/3doDAHDSf5WZdgE62GpTDj+Kja2fljaV3ZOqWqt9EwjoG87m UZk6MdlaAGANMlWlx60AO0IoGExPjtVVm8mqJOmiz5gnvk0TORNCKudi1txHTX8OgaNg GTIrmaQIgodVe3cp9RFumJhUBBFGN4S5pJ+6LWfizCblGTyk+0+0FmTZwokJ5e8Eo33a oL3oL5MSwz93IlB9CXePLKn/162VTm0/Tq7sRqUTa0khsCX0D8ihhBuDG5YroiXJUm3u 8skQ== X-Gm-Message-State: AOJu0YydMi/7pcwIJ4VV1btr5H+oNZR/WDLNmBcTtXrGyVFIfD+ThsMv gZDrDsfL/wNujHJnQ1I4LT0PtaLTKVeGpJ4Z6jJDdmV3/odsm8aN X-Google-Smtp-Source: AGHT+IEIhTaCHyEjVUvpc04PSXuaZy+B5ee0nC0+FFCM1cqozqfDINwHd7D6F+SV1L4ewn2gi5PDCQ== X-Received: by 2002:a17:902:db04:b0:1f6:ff48:1cdb with SMTP id d9443c01a7336-1f8629006fbmr126005715ad.52.1718646175367; Mon, 17 Jun 2024 10:42:55 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f855ee808bsm81559445ad.142.2024.06.17.10.42.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jun 2024 10:42:54 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------fiT0Rab0roZKyB3qsvnzQXTk" Message-ID: <201c2285-012f-fa29-03b5-78a2e26aa134@HIDDEN> Date: Mon, 17 Jun 2024 10:42:56 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US To: Eli Zaretskii <eliz@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <868qz3ssu0.fsf@HIDDEN> From: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <868qz3ssu0.fsf@HIDDEN> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------fiT0Rab0roZKyB3qsvnzQXTk Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 6/17/2024 4:37 AM, Eli Zaretskii wrote: >> Date: Sun, 16 Jun 2024 19:56:44 -0700 >> From: Jim Porter <jporterbugs@HIDDEN> >> The attached patch adds a display spec in this case so that the text >> lines up perfectly. > > Can you explain the idea of the patch? I don't think I understand why > you use '(space :width)' rather than '(space :align-to)'. I tried using :align-to, and it doesn't seem to take effect for the 'wrap-prefix' text property. I haven't looked closely at why that doesn't work, but even if it did, I think it might make things more complex than they already are. I'll try to describe the current process: 1. 'visual-wrap-prefix-mode' goes a line at a time, finding the first-line prefix (for a bulleted item, this is something like "* "). 2. Then it constructs the wrap-prefix string (for a bulleted item, something like " "; for other items it might be the same as the first-line prefix). 3. Finally, it applies the the wrap-prefix to the entire line it's examining. The problem comes up for variable-pitch fonts, where "* " and " " have different pixel widths. Before my patch, this results in the second line not lining up correctly. See the attached image for an example. My patch just sets a display-spec on the " " to make it have the same pixel-width as "* ". Then it all lines up. If I understand your :align-to suggestion, setting :align-to on everything after the "* " bullet could work in theory, but I don't know what value you could set there to make everything correct. If it's a fixed number of pixels, then scaling up the text could mean the "* " becomes too wide for the space we reserved for it, and then things would probably look wrong. If it's based on the canonical character width, that might work so long as that updates when needed, but it might still look off depending on how the canonical width and the pixel width compare. (Ideally, we'd align to the exact pixel-width of "* " or whatever the first-line prefix is.) I couldn't get :align-to to work in the first place though so this is all hypothetical... >> There's currently one problem though: I'm not sure >> how to regenerate the wrap prefix automatically if the face changes. >> It's not hard to handle for 'text-scale-adjust', but I don't know how to >> handle 'global-text-scale-adjust' (or other things that could change the >> face[1]). >> >> Does anyone have any ideas for this part? > > Perhaps we could provide a function "face-change (&optional frame)" > which would access the frame's face_change flag and the global > face_change flag. Then you could test those in a post-command-hook or > somesuch. (However, using :align-to, if feasible, sounds like a > better solution to me.) The 'face-change' idea could work, or here's another possibility: what about using :relative-width? If I set that correctly, then the pixel-size should adjust as the text scales. It wouldn't handle the case where the actual font changes though. It would also have some loss of precision, but I tested out a hacky patch using :relative-width and it looks good in practice. >> -@defun string-pixel-width string >> +@defun string-pixel-width string &optional buffer >> This is a convenience function that uses @code{window-text-pixel-size} >> -to compute the width of @var{string} (in pixels). >> +to compute the width of @var{string} (in pixels). If @var{buffer} is >> +non-@code{nil}, use the face remappings from that buffer when >> +determining the width (@pxref{Face Remapping}). > > An alternative would be to provide a face to use. > > In any case, using BUFFER only for face-remapping-alist is only a > small part of what a buffer can do to a string: there's the major mode > with its fontifications and whatnot. Yeah, I'm not entirely happy with this BUFFER argument either. I don't think we need to worry about fontification in this case though, since you can pass in a fontified string. Maybe this should take the face-remapping-alist directly? Or maybe we should pass in a window? The latter might be better for handling things like frame-specific font settings. (Although as Po Lu points out, frame-specific fonts are challenging to handle correctly here.) >> +(defun visual-wrap--adjust-display-width (fcp n) >> + (when-let ((display (get-text-property 0 'display fcp)) >> + ((eq (car-safe display) 'space)) > > Doesn't this only work with very simple 'display' specs? The 'space' > part could be in some place deep in the spec, not just the second > symbol. Yeah, though the FCP argument is always the prefix we constructed, so we know what the display-spec looks like if it's present. The extra checks are just my natural paranoia. I've added a comment here explaining though. >> (defun visual-wrap-fill-context-prefix (beg end) >> "Compute visual wrap prefix from text between BEG and END. >> -This is like `fill-context-prefix', but with prefix length adjusted >> -by `visual-wrap-extra-indent'." >> - (let* ((fcp >> - ;; `fill-context-prefix' ignores prefixes that look like >> - ;; paragraph starts, in order to avoid inadvertently >> - ;; creating a new paragraph while filling, but here we're >> - ;; only dealing with single-line "paragraphs" and we don't >> - ;; actually modify the buffer, so this restriction doesn't >> - ;; make much sense (and is positively harmful in >> - ;; taskpaper-mode where paragraph-start matches everything). >> - (or (let ((paragraph-start regexp-unmatchable)) >> - (fill-context-prefix beg end)) >> - ;; Note: fill-context-prefix may return nil; See: >> - ;; http://article.gmane.org/gmane.emacs.devel/156285 >> - "")) > > The comment above and the URL it included are deleted: is that because > they are no longer relevant? If not, maybe move them with the code, > so that the information is not lost. Correct, they're no longer relevant. I extracted the logic that we need out of 'fill-content-prefix' and into 'visual-wrap--content-prefix'. The former didn't behave quite the way we wanted (hence all the comments), and it made handling the display-spec parts of my patch even harder, so I just took the relevant logic out and made a function that does exactly what we want. I've added more detail to the commit message explaining the change. --------------fiT0Rab0roZKyB3qsvnzQXTk Content-Type: image/png; name="misaligned.png" Content-Disposition: attachment; filename="misaligned.png" Content-Transfer-Encoding: base64 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 --------------fiT0Rab0roZKyB3qsvnzQXTk Content-Type: text/plain; charset=UTF-8; name="0001-Add-support-for-variable-width-text-in-visual-wrap-p.patch" Content-Disposition: attachment; filename*0="0001-Add-support-for-variable-width-text-in-visual-wrap-p.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAxMjA3NDgzNThiNmE3MTdjNzQwZThkNGYxMzljZTYyYTMwYmU3NjA2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFN1biwgMTYgSnVuIDIwMjQgMTU6MjE6NTIgLTA3MDAKU3ViamVjdDogW1BB VENIIDEvMl0gQWRkIHN1cHBvcnQgZm9yIHZhcmlhYmxlLXdpZHRoIHRleHQgaW4KICd2aXN1 YWwtd3JhcC1wcmVmaXgtbW9kZScKClRoaXMgdXNlcyBhIGRpc3BsYXkgc3BlYyB0byBzZXQg dGhlIHdpZHRoIGNvcnJlY3RseSB3aGVuIGluZGVudGluZyB3aXRoCnNwYWNlcy4KCiogbGlz cC9lbWFjcy1saXNwL3N1YnIteC5lbCAoc3RyaW5nLXBpeGVsLXdpZHRoKTogTmV3IGFyZ3Vt ZW50IEJVRkZFUi4KCiogbGlzcC92aXN1YWwtd3JhcC5lbCAodmlzdWFsLXdyYXAtLWNvbnRl bnQtcHJlZml4KQoodmlzdWFsLXdyYXAtLWFkanVzdC1kaXNwbGF5LXdpZHRoKTogTmV3IGZ1 bmN0aW9ucy4KKHZpc3VhbC13cmFwLS1leHRyYS1pbmRlbnQpOiBSZW5hbWUgZnJvbSAndmlz dWFsLXdyYXAtLXByZWZpeCcgYW5kIGNhbGwKJ3Zpc3VhbC13cmFwLS1hZGp1c3QtZGlzcGxh eS13aWR0aCcuCih2aXN1YWwtd3JhcC1maWxsLWNvbnRleHQtcHJlZml4KTogU3VwcG9ydCBk aXNwbGF5IHdpZHRoLiAgVXNlCid2aXN1YWwtd3JhcC0tY29udGVudC1wcmVmaXgnIGluc3Rl YWQgb2YgJ2ZpbGwtY29udGVudC1wcmVmaXgnLCB3aGljaApsZXRzIHVzIHJlbW92ZSB0aGUg b2xkIHdvcmthcm91bmRzLgoodmlzdWFsLXdyYXAtcHJlZml4LWZ1bmN0aW9uKTogQWxsb3cg J2xicCcgdG8gYmUgYXQgJ3BvaW50LW1pbicuCih2aXN1YWwtd3JhcC1wcmVmaXgtbW9kZSk6 IFJlZm9udGlmeSB3aGVuIGNoYW5naW5nIHRleHQgc2NhbGUuCgoqIGRvYy9saXNwcmVmL2Rp c3BsYXkudGV4aSAoU2l6ZSBvZiBEaXNwbGF5ZWQgVGV4dCk6IERvY3VtZW50IEJVRkZFUgph cmd1bWVudCBmb3IgJ3N0cmluZy1waXhlbC13aWR0aCcuCgoqIGV0Yy9ORVdTOiBBbm5vdW5j ZSB0aGlzIGNoYW5nZS4KLS0tCiBkb2MvbGlzcHJlZi9kaXNwbGF5LnRleGkgIHwgIDYgKyst CiBldGMvTkVXUyAgICAgICAgICAgICAgICAgIHwgIDggKysrLQogbGlzcC9lbWFjcy1saXNw L3N1YnIteC5lbCB8IDExICsrKystCiBsaXNwL3Zpc3VhbC13cmFwLmVsICAgICAgIHwgODYg KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5n ZWQsIDgzIGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Rv Yy9saXNwcmVmL2Rpc3BsYXkudGV4aSBiL2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4aQppbmRl eCBkNWM5NmQxM2UwMi4uNTI5NTdmMmFkMDcgMTAwNjQ0Ci0tLSBhL2RvYy9saXNwcmVmL2Rp c3BsYXkudGV4aQorKysgYi9kb2MvbGlzcHJlZi9kaXNwbGF5LnRleGkKQEAgLTIzNTEsOSAr MjM1MSwxMSBAQCBTaXplIG9mIERpc3BsYXllZCBUZXh0CiBtZWFuaW5nIGFzIHdpdGggQGNv ZGV7d2luZG93LXRleHQtcGl4ZWwtc2l6ZX0uCiBAZW5kIGRlZnVuCiAKLUBkZWZ1biBzdHJp bmctcGl4ZWwtd2lkdGggc3RyaW5nCitAZGVmdW4gc3RyaW5nLXBpeGVsLXdpZHRoIHN0cmlu ZyAmb3B0aW9uYWwgYnVmZmVyCiBUaGlzIGlzIGEgY29udmVuaWVuY2UgZnVuY3Rpb24gdGhh dCB1c2VzIEBjb2Rle3dpbmRvdy10ZXh0LXBpeGVsLXNpemV9Ci10byBjb21wdXRlIHRoZSB3 aWR0aCBvZiBAdmFye3N0cmluZ30gKGluIHBpeGVscykuCit0byBjb21wdXRlIHRoZSB3aWR0 aCBvZiBAdmFye3N0cmluZ30gKGluIHBpeGVscykuICBJZiBAdmFye2J1ZmZlcn0gaXMKK25v bi1AY29kZXtuaWx9LCB1c2UgdGhlIGZhY2UgcmVtYXBwaW5ncyBmcm9tIHRoYXQgYnVmZmVy IHdoZW4KK2RldGVybWluaW5nIHRoZSB3aWR0aCAoQHB4cmVme0ZhY2UgUmVtYXBwaW5nfSku CiBAZW5kIGRlZnVuCiAKIEBkZWZ1biBsaW5lLXBpeGVsLWhlaWdodApkaWZmIC0tZ2l0IGEv ZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCBiMmZkYmM0YTg4Zi4uMjdhNGZkMTFhODcgMTAw NjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC01NDksNyArNTQ5LDggQEAg dGV4dCBpbiBhbnkgd2F5LiAgVGhlIGdsb2JhbCBtaW5vciBtb2RlCiBidWZmZXJzLgogCiAo VGhpcyBtaW5vciBtb2RlIGlzIHRoZSAnYWRhcHRpdmUtd3JhcCcgRUxQQSBwYWNrYWdlIHJl bmFtZWQgYW5kCi1saWdodGx5IGVkaXRlZCBmb3IgaW5jbHVzaW9uIGluIEVtYWNzLikKK2Vu aGFuY2VkIGZvciBpbmNsdXNpb24gaW4gRW1hY3MuICBJdCBhZGRpdGlvbmFsbHkgc3VwcG9y dHMgcHJlZml4ZXMgZm9yCit2YXJpYWJsZS13aWR0aCB0ZXh0LikKIAogKysrCiAqKiBOZXcg dXNlciBvcHRpb24gJ2d1ZC1oaWdobGlnaHQtY3VycmVudC1saW5lJy4KQEAgLTI3ODksNiAr Mjc5MCwxMSBAQCBUaGVzZSBmdW5jdGlvbnMgYXJlIGxpa2UgJ3VzZXItdWlkJyBhbmQgJ2dy b3VwLWdpZCcsIHJlc3BlY3RpdmVseSwgYnV0CiBhcmUgYXdhcmUgb2YgZmlsZSBuYW1lIGhh bmRsZXJzLCBzbyB0aGV5IHdpbGwgcmV0dXJuIHRoZSByZW1vdGUgVUlEIG9yCiBHSUQgZm9y IHJlbW90ZSBmaWxlcyAob3IgLTEgaWYgdGhlIGNvbm5lY3Rpb24gaGFzIG5vIGFzc29jaWF0 ZWQgdXNlcikuCiAKKysrKworKiogJ3N0cmluZy1waXhlbC13aWR0aCcgbm93IGFjY2VwdHMg YSBCVUZGRVIgYXJndW1lbnQuCitJZiBCVUZGRVIgaXMgbm9uLW5pbCwgJ3N0cmluZy1waXhl bC13aWR0aCcgd2lsbCBhcHBseSBCVUZGRVIncyBmYWNlCityZW1hcHBpbmdzIHdoZW4gY29t cHV0aW5nIHRoZSBzdHJpbmcncyB3aWR0aC4KKwogKysrCiAqKiAnZnNldCcsICdkZWZhbGlh cycgYW5kICdkZWZ2YXJhbGlhcycgbm93IHNpZ25hbCBhbiBlcnJvciBmb3IgY3ljbGljIGFs aWFzZXMuCiBQcmV2aW91c2x5LCAnZnNldCcsICdkZWZhbGlhcycgYW5kICdkZWZ2YXJhbGlh cycgY291bGQgYmUgbWFkZSB0bwpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3N1YnIt eC5lbCBiL2xpc3AvZW1hY3MtbGlzcC9zdWJyLXguZWwKaW5kZXggNjk5YmU3NjdlZTcuLjJj YmUxYmViOWYxIDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3Avc3Vici14LmVsCisrKyBi L2xpc3AvZW1hY3MtbGlzcC9zdWJyLXguZWwKQEAgLTMzMyw4ICszMzMsMTAgQEAgbmFtZWQt bGV0CiAgICAgICAuICxhYXJncykpKQogCiA7OzsjIyNhdXRvbG9hZAotKGRlZnVuIHN0cmlu Zy1waXhlbC13aWR0aCAoc3RyaW5nKQotICAiUmV0dXJuIHRoZSB3aWR0aCBvZiBTVFJJTkcg aW4gcGl4ZWxzLiIKKyhkZWZ1biBzdHJpbmctcGl4ZWwtd2lkdGggKHN0cmluZyAmb3B0aW9u YWwgYnVmZmVyKQorICAiUmV0dXJuIHRoZSB3aWR0aCBvZiBTVFJJTkcgaW4gcGl4ZWxzLgor SWYgQlVGRkVSIGlzIG5vbi1uaWwsIHVzZSB0aGUgZmFjZSByZW1hcHBpbmdzIGZyb20gdGhh dCBidWZmZXIgd2hlbgorZGV0ZXJtaW5pbmcgdGhlIHdpZHRoLiIKICAgKGRlY2xhcmUgKGlt cG9ydGFudC1yZXR1cm4tdmFsdWUgdCkpCiAgIChpZiAoemVyb3AgKGxlbmd0aCBzdHJpbmcp KQogICAgICAgMApAQCAtMzQ4LDYgKzM1MCwxMSBAQCBzdHJpbmctcGl4ZWwtd2lkdGgKICAg ICAgIDs7IERpc2FibGUgbGluZS1wcmVmaXggYW5kIHdyYXAtcHJlZml4LCBmb3IgdGhlIHNh bWUgcmVhc29uLgogICAgICAgKHNldHEgbGluZS1wcmVmaXggbmlsCiAJICAgIHdyYXAtcHJl Zml4IG5pbCkKKyAgICAgIChpZiBidWZmZXIKKyAgICAgICAgICAoc2V0cS1sb2NhbCBmYWNl LXJlbWFwcGluZy1hbGlzdAorICAgICAgICAgICAgICAgICAgICAgICh3aXRoLWN1cnJlbnQt YnVmZmVyIGJ1ZmZlcgorICAgICAgICAgICAgICAgICAgICAgICAgZmFjZS1yZW1hcHBpbmct YWxpc3QpKQorICAgICAgICAoa2lsbC1sb2NhbC12YXJpYWJsZSAnZmFjZS1yZW1hcHBpbmct YWxpc3QpKQogICAgICAgKGluc2VydCAocHJvcGVydGl6ZSBzdHJpbmcgJ2xpbmUtcHJlZml4 IG5pbCAnd3JhcC1wcmVmaXggbmlsKSkKICAgICAgIChjYXIgKGJ1ZmZlci10ZXh0LXBpeGVs LXNpemUgbmlsIG5pbCB0KSkpKSkKIApkaWZmIC0tZ2l0IGEvbGlzcC92aXN1YWwtd3JhcC5l bCBiL2xpc3AvdmlzdWFsLXdyYXAuZWwKaW5kZXggZDk1Y2Y0YmI1NjkuLjg4NjIxOWNmZjU0 IDEwMDY0NAotLS0gYS9saXNwL3Zpc3VhbC13cmFwLmVsCisrKyBiL2xpc3AvdmlzdWFsLXdy YXAuZWwKQEAgLTk3LDM4ICs5Nyw3MyBAQCB2aXN1YWwtd3JhcC0tcHJlZml4LWZhY2UKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAodmlzdWFsLXdyYXAtLWZhY2Ut ZXh0ZW5kLXAgZikgZikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW9sLWZh Y2UpKSkpKSkpCiAKLShkZWZ1biB2aXN1YWwtd3JhcC0tcHJlZml4IChmY3ApCisoZGVmdW4g dmlzdWFsLXdyYXAtLWNvbnRlbnQtcHJlZml4IChwb3NpdGlvbikKKyAgIkdldCB0aGUgY29u dGVudCBwcmVmaXggZm9yIHRoZSBsaW5lIHN0YXJ0aW5nIGF0IFBPU0lUSU9OLgorVGhpcyBp cyBsaWtlIGBmaWxsLWNvbnRlbnQtcHJlZml4JyBidXQgZG9lc24ndCBjaGVjayBzdWJzZXF1 ZW50IGxpbmVzCithbmQgdXNlcyBkaXNwbGF5IHNwZWNzIHRvIGhhbmRsZSB2YXJpYWJsZS1w aXRjaCBmYWNlcy4iCisgIChzYXZlLWV4Y3Vyc2lvbgorICAgIChnb3RvLWNoYXIgcG9zaXRp b24pCisgICAgKGlmIChlb2xwKSAoZm9yd2FyZC1saW5lIDEpKQorICAgIDs7IE1vdmUgdG8g dGhlIHNlY29uZCBsaW5lIHVubGVzcyB0aGVyZSBpcyBqdXN0IG9uZS4KKyAgICAobW92ZS10 by1sZWZ0LW1hcmdpbikKKyAgICAobGV0ICgocHJlZml4IChmaWxsLW1hdGNoLWFkYXB0aXZl LXByZWZpeCkpKQorICAgICAgOzsgQ2hlY2sgd2hldGhlciB3ZSBzaG91bGQgdXNlIG91ciBm aXJzdC1saW5lIGNvbnRlbnQgcHJlZml4LgorICAgICAgKGlmIChvciAoYW5kIGFkYXB0aXZl LWZpbGwtZmlyc3QtbGluZS1yZWdleHAKKwkJICAgKHN0cmluZy1tYXRjaCBhZGFwdGl2ZS1m aWxsLWZpcnN0LWxpbmUtcmVnZXhwIHByZWZpeCkpCisJICAgICAgKGFuZCBjb21tZW50LXN0 YXJ0LXNraXAKKwkJICAgKHN0cmluZy1tYXRjaCBjb21tZW50LXN0YXJ0LXNraXAgcHJlZml4 KSkpCisJICBwcmVmaXgKKyAgICAgICAgOzsgV2Ugd2FudCB0aGUgcHJlZml4IHRvIGJlIHdo aXRlc3BhY2Ugb2YgdGhlIHNhbWUgd2lkdGggYXMgdGhlCisgICAgICAgIDs7IGZpcnN0LWxp bmUgcHJlZml4LgorICAgICAgICAobGV0ICgoc3BhY2VzIChtYWtlLXN0cmluZyAoc3RyaW5n LXdpZHRoIHByZWZpeCkgP1xzKSkpCisgICAgICAgICAgOzsgSWYgdGhlIGZvbnQgZm9yIG91 ciBmaXJzdC1saW5lIHByZWZpeCBpcyB2YXJpYWJsZS1waXRjaCwKKyAgICAgICAgICA7OyB1 c2UgYSBkaXNwbGF5IHNwZWMgdG8gbGluZSB0aGUgc3Vic2VxdWVudCBsaW5lcyB1cAorICAg ICAgICAgIDs7IGNvcnJlY3RseS4KKyAgICAgICAgICAod2hlbi1sZXQgKChmb250IChmb250 LWF0IHBvc2l0aW9uKSkKKyAgICAgICAgICAgICAgICAgICAgICgobWVtcSAoZm9udC1nZXQg Zm9udCA6c3BhY2luZykgJyhuaWwgMCkpKSkKKyAgICAgICAgICAgIChwdXQtdGV4dC1wcm9w ZXJ0eSAwIChsZW5ndGggc3BhY2VzKSAnZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGAoc3BhY2UgOndpZHRoICgsKHN0cmluZy1waXhlbC13aWR0aAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCAoY3Vy cmVudC1idWZmZXIpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhY2Vz KSkKKyAgICAgICAgICBzcGFjZXMpKSkpKQorCisoZGVmdW4gdmlzdWFsLXdyYXAtLWFkanVz dC1kaXNwbGF5LXdpZHRoIChmY3AgbikKKyAgKHdoZW4tbGV0ICgoZGlzcGxheSAoZ2V0LXRl eHQtcHJvcGVydHkgMCAnZGlzcGxheSBmY3ApKQorICAgICAgICAgICAgIDs7IElmIHdlIGhh dmUgYSBkaXNwbGF5IHNwZWMgaGVyZSwgaXQgc2hvdWxkIGJlIHdoYXQgd2UKKyAgICAgICAg ICAgICA7OyBzcGVjaWZpZWQgaW4gYHZpc3VhbC13cmFwLS1jb250ZW50LXByZWZpeCcsIGJ1 dAorICAgICAgICAgICAgIDs7IGRvdWJsZS1jaGVjayBqdXN0IHRvIGJlIHNhZmUuCisgICAg ICAgICAgICAgKChlcSAoY2FyLXNhZmUgZGlzcGxheSkgJ3NwYWNlKSkKKyAgICAgICAgICAg ICAod2lkdGggKGNhciAocGxpc3QtZ2V0IChjZHIgZGlzcGxheSkgOndpZHRoKSkpKQorICAg IChwdXQtdGV4dC1wcm9wZXJ0eSAwIChsZW5ndGggZmNwKSAnZGlzcGxheQorICAgICAgICAg ICAgICAgICAgICAgICBgKHNwYWNlIDp3aWR0aCAoLCgrIHdpZHRoIG4pKSkgZmNwKSkKKyAg ZmNwKQorCisoZGVmdW4gdmlzdWFsLXdyYXAtLWV4dHJhLWluZGVudCAoZmNwKQogICAobGV0 ICgoZmNwLWxlbiAoc3RyaW5nLXdpZHRoIGZjcCkpKQogICAgIChjb25kCiAgICAgICgoPSAw IHZpc3VhbC13cmFwLWV4dHJhLWluZGVudCkKICAgICAgIGZjcCkKICAgICAgKCg8IDAgdmlz dWFsLXdyYXAtZXh0cmEtaW5kZW50KQotICAgICAgKGNvbmNhdCBmY3AgKG1ha2Utc3RyaW5n IHZpc3VhbC13cmFwLWV4dHJhLWluZGVudCA/XHMpKSkKKyAgICAgIChsZXQqICgoZXh0cmEg KG1ha2Utc3RyaW5nIHZpc3VhbC13cmFwLWV4dHJhLWluZGVudCA/XHMpKQorICAgICAgICAg ICAgIChyZXN1bHQgKGNvbmNhdCBmY3AgZXh0cmEpKSkKKyAgICAgICAgKHZpc3VhbC13cmFw LS1hZGp1c3QtZGlzcGxheS13aWR0aAorICAgICAgICAgcmVzdWx0IChzdHJpbmctcGl4ZWwt d2lkdGggZXh0cmEgKGN1cnJlbnQtYnVmZmVyKSkpKSkKICAgICAgKCg8IDAgKCsgdmlzdWFs LXdyYXAtZXh0cmEtaW5kZW50IGZjcC1sZW4pKQotICAgICAgKHN1YnN0cmluZyBmY3AKLSAg ICAgICAgICAgICAgICAgMAotICAgICAgICAgICAgICAgICAoKyB2aXN1YWwtd3JhcC1leHRy YS1pbmRlbnQgZmNwLWxlbikpKQorICAgICAgKGxldCogKChpZHggKCsgdmlzdWFsLXdyYXAt ZXh0cmEtaW5kZW50IGZjcC1sZW4pKQorICAgICAgICAgICAgICh0cmltIChzdWJzdHJpbmcg ZmNwIGlkeCkpCisgICAgICAgICAgICAgKHJlc3VsdCAoc3Vic3RyaW5nIGZjcCAwIGlkeCkp KQorICAgICAgICAocmVtb3ZlLXRleHQtcHJvcGVydGllcyAwIChsZW5ndGggdHJpbSkgJyhk aXNwbGF5KSB0cmltKQorICAgICAgICAodmlzdWFsLXdyYXAtLWFkanVzdC1kaXNwbGF5LXdp ZHRoCisgICAgICAgICByZXN1bHQgKC0gKHN0cmluZy1waXhlbC13aWR0aCB0cmltIChjdXJy ZW50LWJ1ZmZlcikpKSkpKQogICAgICAodAogICAgICAgIiIpKSkpCiAKIChkZWZ1biB2aXN1 YWwtd3JhcC1maWxsLWNvbnRleHQtcHJlZml4IChiZWcgZW5kKQogICAiQ29tcHV0ZSB2aXN1 YWwgd3JhcCBwcmVmaXggZnJvbSB0ZXh0IGJldHdlZW4gQkVHIGFuZCBFTkQuCi1UaGlzIGlz IGxpa2UgYGZpbGwtY29udGV4dC1wcmVmaXgnLCBidXQgd2l0aCBwcmVmaXggbGVuZ3RoIGFk anVzdGVkCi1ieSBgdmlzdWFsLXdyYXAtZXh0cmEtaW5kZW50Jy4iCi0gIChsZXQqICgoZmNw Ci0gICAgICAgICAgOzsgYGZpbGwtY29udGV4dC1wcmVmaXgnIGlnbm9yZXMgcHJlZml4ZXMg dGhhdCBsb29rIGxpa2UKLSAgICAgICAgICA7OyBwYXJhZ3JhcGggc3RhcnRzLCBpbiBvcmRl ciB0byBhdm9pZCBpbmFkdmVydGVudGx5Ci0gICAgICAgICAgOzsgY3JlYXRpbmcgYSBuZXcg cGFyYWdyYXBoIHdoaWxlIGZpbGxpbmcsIGJ1dCBoZXJlIHdlJ3JlCi0gICAgICAgICAgOzsg b25seSBkZWFsaW5nIHdpdGggc2luZ2xlLWxpbmUgInBhcmFncmFwaHMiIGFuZCB3ZSBkb24n dAotICAgICAgICAgIDs7IGFjdHVhbGx5IG1vZGlmeSB0aGUgYnVmZmVyLCBzbyB0aGlzIHJl c3RyaWN0aW9uIGRvZXNuJ3QKLSAgICAgICAgICA7OyBtYWtlIG11Y2ggc2Vuc2UgKGFuZCBp cyBwb3NpdGl2ZWx5IGhhcm1mdWwgaW4KLSAgICAgICAgICA7OyB0YXNrcGFwZXItbW9kZSB3 aGVyZSBwYXJhZ3JhcGgtc3RhcnQgbWF0Y2hlcyBldmVyeXRoaW5nKS4KLSAgICAgICAgICAo b3IgKGxldCAoKHBhcmFncmFwaC1zdGFydCByZWdleHAtdW5tYXRjaGFibGUpKQotICAgICAg ICAgICAgICAgICAgICAoZmlsbC1jb250ZXh0LXByZWZpeCBiZWcgZW5kKSkKLSAgICAgICAg ICAgICAgICAgIDs7IE5vdGU6IGZpbGwtY29udGV4dC1wcmVmaXggbWF5IHJldHVybiBuaWw7 IFNlZToKLSAgICAgICAgICAgICAgICAgIDs7IGh0dHA6Ly9hcnRpY2xlLmdtYW5lLm9yZy9n bWFuZS5lbWFjcy5kZXZlbC8xNTYyODUKLSAgICAgICAgICAgICAgIiIpKQotICAgICAgICAg KHByZWZpeCAodmlzdWFsLXdyYXAtLXByZWZpeCBmY3ApKQorVGhpcyBpcyBsaWtlIGBmaWxs LWNvbnRleHQtcHJlZml4JywgYnV0IHN1cHBvcnRpbmcgdmFyaWFibGUtd2lkdGggZmFjZXMK K2FuZCB3aXRoIHRoZSBwcmVmaXggbGVuZ3RoIGFkanVzdGVkIGJ5IGB2aXN1YWwtd3JhcC1l eHRyYS1pbmRlbnQnLiIKKyAgKGxldCogKChmY3AgKHZpc3VhbC13cmFwLS1jb250ZW50LXBy ZWZpeCBiZWcpKQorICAgICAgICAgKHByZWZpeCAodmlzdWFsLXdyYXAtLWV4dHJhLWluZGVu dCBmY3ApKQogICAgICAgICAgKGZhY2UgKHZpc3VhbC13cmFwLS1wcmVmaXgtZmFjZSBmY3Ag YmVnIGVuZCkpKQogICAgIChpZiBmYWNlCiAgICAgICAgIChwcm9wZXJ0aXplIHByZWZpeCAn ZmFjZSBmYWNlKQpAQCAtMTYwLDcgKzE5NSw4IEBAIHZpc3VhbC13cmFwLXByZWZpeC1mdW5j dGlvbgogCSAocmVtb3ZlLXRleHQtcHJvcGVydGllcwogCSAgMCAobGVuZ3RoIHBmeCkgJyh3 cmFwLXByZWZpeCkgcGZ4KQogICAgICAgICAgKGxldCAoKGRwIChnZXQtdGV4dC1wcm9wZXJ0 eSAwICdkaXNwbGF5IHBmeCkpKQotICAgICAgICAgICAod2hlbiAoYW5kIGRwIChlcSBkcCAo Z2V0LXRleHQtcHJvcGVydHkgKDEtIGxicCkgJ2Rpc3BsYXkpKSkKKyAgICAgICAgICAgKHdo ZW4gKGFuZCBkcCAoPiBsYnAgKHBvaW50LW1pbikpCisgICAgICAgICAgICAgICAgICAgICAg KGVxIGRwIChnZXQtdGV4dC1wcm9wZXJ0eSAoMS0gbGJwKSAnZGlzcGxheSkpKQogICAgICAg ICAgICAgIDs7IFRoZXJlJ3MgYSBgZGlzcGxheScgcHJvcGVydHkgd2hpY2ggY292ZXJzIG5v dCBqdXN0IHRoZQogICAgICAgICAgICAgIDs7IHByZWZpeCBidXQgYWxzbyB0aGUgcHJldmlv dXMgbmV3bGluZS4gIFNvIGl0J3Mgbm90CiAgICAgICAgICAgICAgOzsganVzdCBtYWtpbmcg dGhlIHByZWZpeCBtb3JlIHByZXR0eSBhbmQgY291bGQgaW50ZXJmZXJlCkBAIC0xODcsOCAr MjIzLDEyIEBAIHZpc3VhbC13cmFwLXByZWZpeC1tb2RlCiAgICAgICAgIDs7IG9mIHRoZSBo b29rIChidWcjMTUxNTUpLgogICAgICAgICAoYWRkLWhvb2sgJ2ppdC1sb2NrLWZ1bmN0aW9u cwogICAgICAgICAgICAgICAgICAgIyd2aXN1YWwtd3JhcC1wcmVmaXgtZnVuY3Rpb24gJ2Fw cGVuZCB0KQotICAgICAgICAoaml0LWxvY2stcmVnaXN0ZXIgIyd2aXN1YWwtd3JhcC1wcmVm aXgtZnVuY3Rpb24pKQorICAgICAgICAoaml0LWxvY2stcmVnaXN0ZXIgIyd2aXN1YWwtd3Jh cC1wcmVmaXgtZnVuY3Rpb24pCisgICAgICAgIDs7IEZJWE1FOiBXaGF0IHNob3VsZCB3ZSBk byBhYm91dCBgZ2xvYmFsLXRleHQtc2NhbGUtYWRqdXN0JyBvcgorICAgICAgICA7OyBvdGhl ciB0aGluZ3MgdGhhdCBjYW4gY2hhbmdlIHRoZSB0ZXh0IHNpemU/CisgICAgICAgIChhZGQt aG9vayAndGV4dC1zY2FsZS1tb2RlLWhvb2sgIydqaXQtbG9jay1yZWZvbnRpZnkgbmlsIHQp KQogICAgIChqaXQtbG9jay11bnJlZ2lzdGVyICMndmlzdWFsLXdyYXAtcHJlZml4LWZ1bmN0 aW9uKQorICAgIChyZW1vdmUtaG9vayAndGV4dC1zY2FsZS1tb2RlLWhvb2sgIydqaXQtbG9j ay1yZWZvbnRpZnkpCiAgICAgKHdpdGgtc2lsZW50LW1vZGlmaWNhdGlvbnMKICAgICAgIChz YXZlLXJlc3RyaWN0aW9uCiAgICAgICAgICh3aWRlbikKLS0gCjIuMjUuMQoK --------------fiT0Rab0roZKyB3qsvnzQXTk--
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 17 Jun 2024 16:14:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 12:14:47 2024 Received: from localhost ([127.0.0.1]:35195 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJF0J-0001z9-9X for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 12:14:47 -0400 Received: from mail-pf1-f172.google.com ([209.85.210.172]:61506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sJF0H-0001yx-5l for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 12:14:46 -0400 Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-70599522368so3121810b3a.2 for <71605 <at> debbugs.gnu.org>; Mon, 17 Jun 2024 09:14:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718640817; x=1719245617; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=1U0NUEFuXZtovnpCo8hbrQNdkx9N2Csp6QmC9+qICI0=; b=OqpbDN7nnQhnstErDKxXr4Lgmhejyq6ZWZFxJjnl7fs3LrB3iiC5wMED7hhZUlkvEH hh2w8U4YAibEW61kAc35f0aXNQnAg90lKE8rZvt811kyogke/pk2IrzGTNmLWNDtZd2C WdYdqE0No+ENJnl/iYzfLhNA1Oi0fweC9B6m12sV5AhCk6peAVnMu6AE2U481lFqC83C YG1rkpzsBuL+6f4n4GQE9vWGA4y8bBYTcaork7De1G4s0RAD3P30+m4JfcxHihv8YzxF sWeYtzp5QpngjJBcQs2dxl/ipKMAwfYjRXdr2WbB60Gs/4VfsKYTIestd/1TpfZUF2CP WeFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718640817; x=1719245617; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1U0NUEFuXZtovnpCo8hbrQNdkx9N2Csp6QmC9+qICI0=; b=BaSQ9TiTyeNfuJz5vqQhmZZ9J7oth2HHuXsoQtjrW+t4Hfg+Cksg5u+a4XgzNVxnxw l6sL8xc6ECGhsmXvVU5dZ2AUxxwcg7iJmwR0cAQy+lID+d9ScefBnQ5dHXwmi5/BEi+i 8HHj75yWVWiyPl7sLDH9gJXYTu0WcnYZA+WJvAnAY+ZZcBuFqSL0SCjzqMAO6Ux2bHQo g1tCQH4/a0rQ4rJNZnOVpEwds18nwCvqxp78R04Tt0vIG8/DAcrCQKQ5c4X/9szIByTq Sjv1QD7I0U+DuquMWRO9p4BubdlFPif+b1XYrHy+U/T7tSixLjSGSHZP/M7pGtmj2slN PJqQ== X-Gm-Message-State: AOJu0YyTUXmhT9u0CQ5N8Rc3tUGf7wk7RXiTKCg/NuMpTDzwcLKqPlBJ BvI/iLpXKAF1NOUBZD7WizCZ5lyYLH4cROz083aNLbfp3HIQR+RI X-Google-Smtp-Source: AGHT+IEgpjWOs7G9mciqt8UD5YSETIaxDwQ0eDVFxm9PeIsYuC1XX6qlIR9ja1olvmqzwabcUg/5yw== X-Received: by 2002:a05:6a20:8404:b0:1b8:b517:9bf9 with SMTP id adf61e73a8af0-1bae7ebacc5mr9636110637.25.1718640817178; Mon, 17 Jun 2024 09:13:37 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-705cc97fd59sm7515978b3a.84.2024.06.17.09.13.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jun 2024 09:13:36 -0700 (PDT) Message-ID: <835c7897-d276-b0fe-6d1e-8e6a20cac2bb@HIDDEN> Date: Mon, 17 Jun 2024 09:13:38 -0700 MIME-Version: 1.0 Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Content-Language: en-US To: Po Lu <luangruo@HIDDEN> References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> <s54cyof3ayi.fsf@HIDDEN> From: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <s54cyof3ayi.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 6/17/2024 7:23 AM, Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > Actually, there's more than just this one problem. To start with, the > existing format of the generated line prefix properties enables the > extracted fill prefix to be displayed consistently on any frame, > whatever the metrics of its default font/face. This I consider a far > more critical capability than perfect alignment of wrapped text in the > presence of a variable-pitch default font, as the latter is virtually > unknown among programmers, and also unimplementable within reasonable > standards of performance with pixelwise spacers. That's a good point. In practice, we should only do this if the first-line prefix uses a variable-pitch font, since otherwise we might as well just use the requisite number of space characters as before, sans display-spec. > If this is to be > installed, please condition it behind a user option and restore the > existing logic that you have effaced as the default. I'll add a check for variable-pitch fonts and a user option. With the variable-pitch check, I think it should be ok for the user option to default to enabling this new behavior? For fixed-pitch fonts, the new code would behave the same as before regardless of the option. Note that I haven't removed any of the old logic though; it's all there as before, since the space characters are useful for terminals (where the pixelwise :width display-spec doesn't do anything for us, if I understand correctly). I did extract parts of 'fill-content-prefix' into 'visual-wrap--content-prefix', but the only parts I removed were the ones for handling multiple lines; those don't apply here, since 'visual-wrap-prefix-function' gets the prefixes one line at a time.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 17 Jun 2024 14:23:05 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 10:23:05 2024 Received: from localhost ([127.0.0.1]:34819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJDGD-0007Sq-8Q for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 10:23:05 -0400 Received: from sonic305-21.consmr.mail.ne1.yahoo.com ([66.163.185.147]:42020) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <luangruo@HIDDEN>) id 1sJDG9-0007S3-VA for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 10:23:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1718634171; bh=+nlvkuKd23bBFYJ5AtUgpSjsEyFqX5taL9m7oNROqeI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=sTA2GnOBfamkE3T1a9ggSehQUlDyaiAUVz4C0dBO7njVFAu5Y+SIh/Nx9S7F9JMZ1fDnbmfTDW6HPsPXf23ld45iTW8DS1vaG+DfGUYj1nJnUiEGcAApwmCxWsI8zr2Gq3IzuGuZ5doR+753hDyZuTL8LFBXNztjkkTdmRDM8uijE/nTRzpGWaNOgybUmTgW+0n7DjmmYMRc9L/ASvUA2l/4fBL43EVJ7R1QH1/Fzskph1wCiELeFGhd9qEhHVJaszRqOCdtSY62AgAfja6eqviNcQAIaBT5kb27tJVg3crSdv4Jg866zYwsbHhqmDL0EK5smfadUwI4KXqxX+1YNg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1718634171; bh=j3fUQ7HztLrhKyP6UV+EsKNB25kWlftPgdstjIPraj0=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=mkgLLzo/VxZRVziqrkOfr4TUQmSsHzuovSP58DtaZQJSOX4v43MOa1A7Y07bdc4QJJSoEoGTp5DUucy7aPKNTb3vRYazoXLcy2ObWGVCNeisoAw512jg7501CgWD2h6PAm5e24EJAo4qhgIOJNGKf3ed6phd+mP/RTEe8O8V1su6OZTElmolg/gKvvrMyhDaq9WiYSCj9OebSaVb2+dHYRWwGp1ZBq0X/vJ84a2MS1PbySGHfF5n8CxWT5skdN+ZiobDrY3kvst1gj4Tf3zuqnubDDWEiamKsuD+6gKHa9p7rIHr85hz42mqrq+dTo7YYq8x2YP1WJSOXPj+m2rTBw== X-YMail-OSG: 0uNetCgVM1m0E8TxcT8ctM4BAW.A2Rn5IR6q7agRZpZYWdVHOkP59Jztx9vw1Ln urdv2g.PJuMKqdck_cRf93A5qjKAIdiR4NJ0K8tRnUxqUTYYM0ERe94uiYwGmB1wzc.4WVy8Wy_i 0u2GIU3RIqJ4YX67tfaQLi3f7kfB0rGJJfdIJWsA62uPAOE_VpPg.PWDzCOLvUAtN_zrZtrVGH3A YDaUlTWDvfC61T6PyD2mPntDewcxgdZmNVnlg5AT05Q543r1m2KaPNn.K0Cq2r36H_FSOxOIrtP3 6FDI8IxUCa4IP.kG5kUKCvX9aOBuwyVIrIyKuc_9RvOm487K6uG9eagaoBHARFwH9aUe_cJSNaS8 OuvpVyJlfx8YeGj50j1KiFYU1w4b1Y58mY6J5wmyc5QnZ9UAskZkQABXUaq_yxu6K2CgtmWdulBy W800VErlme_WRkIApePH5BU6euV2hS1CJH6t2L2vC25FY7l7MUbO8mF.sPEuvvMDUMITfdNJsGJi 38vY1HDXTpnQVzs_aUFcXc93Vxx_aiqgOLTsqp5b2LE.ybIENd.FAL5kKBySUzdmbUEbA_WJ0_NM K4IrwzFOsucWlA_IY9kRkz0A3WGABfjxQ6vPl3tjOEWva3Q5DAZxu6y.kTWolEHHpGb28CeX4BXl daN04RPvM9f2mkIjfrmMs187CmwowoiwjGmMksSvUiEEgqBmJwJuoXUucejRZp.hUox76.YezLas Cmj43pZXPmuD10JHCZcuhrHuW0FifwzuWqpIQcKPaumweYRB6i9qDfX_4f_SfLIuetVuvzlRAi9M gKQK1zEWWq9r9zHn9OKw16CSGWmJ0RUvx0xL4sfsh_HcDLiNpePAfCc04LQimfO0OTwyz_SvX6tH VO7Dzm5UnOTWm7bWBP_jgJJ4nfAd9leA.DrCndVdt4rHEblSFbJy7BV981b8LVd1W6eLahpo08u7 vHle1307EiahkQvkq1KXCoOdewbXXgA5Nf4EqD5pJts9igfQFijQ0vl_ugIYA.r2tU48bti9xjdx POEhku30bn_51L5D5j8N1XGGqk0z55OmOaqlAf8bXxJhgtogymI_E5XrAsR8POh0CKYSA2YHqWiJ sI4XjuFxJK76fFg8fDRm8uD_sOxcYiQXOmw1Isy9xQbuR91ThQheuKwa02yzWnXDkj7_lH2DidVO ME0TJFd50Sftk1Gma0wcAu2DBJc3onAQ5uA3p4UcD.Xsq2de8r67D8.8MbSmBZ1_nUg0_H78kF.3 vhxa3al0OEtFOro29JgJtSi867WCnz4l7DL9RKQMOwaNyERjlIfm9WV_pdkmUwg3G1vZZbpI0ZCz 48unikpH1n_LeXjxP2YcvliUH5vWhvIKNdSCiCFzru9NtIujTtU7kYUtr5lOVThjrbO3sC3pH2iM ox5lxHp7Hbs6HIxN1F7Lvw0gMREJ0o_N7Y9SxCGYuA1rLgueYX3LD.GYS49lQKlq6sW69TbQSs7r KmI2eVKzqBAcArktG9sK4yY7oKktMH.XABz48yHfVHAR4Gzuf6ZOhFiLj6OuVP2q2oX2INi_hA5_ Be6MhIlLyodCsvzSEJeqDeK9jUUtmYcZm8e4TNLa2xHW_ctLkl.tfXJPVLyaW4kSWjTVNTIUSs_T 3rllamSUn5eRLKLT.P2MvZ6jnTIRZXdpQTcV3wt_CxtasecYr0HoAIRJXMfnNK5rZX8iKg1wk.Hu IqF1tbbEVE3iOpctTdYeDMScYtcRkRljKh1iNm6kpaGzV.Gu0HlN6UogdBEOWHxmS3jNoKfhK7gy ui9IVY6ar58dccOE.ryT9N0FUR2RyItbodVp.ca9Md_t6Y6S6k_bS.mkLNXtx_bJXpfxjn9OIhlu YaDLP1DaXJ_iOvsdbd7oyP0QlW7qFSFXP8K1v3jUer.OUyWbvLtt3FoCruY4va6lCwfRxboEh1vD cpSkvJ.UeU3FhTl3cQZV7H.GRB2Hd_stwoQbGEx9JQax.i3lmSnrVuzOXm_DsivFtH16BiWPTYw7 5jIWDDU34RnPWFysIdf8.DhPONFIn09QfaclcTuEKri9pB5lC_BflEk39MpWNsB7zZ1CSawVkyb2 5aC.wjezLnDETeXc2ppD9jrcAk1Tot8Cd03kXO3RkQUO.4daRMwnXq6Kc74YYnO.hwUKfQXxyIrV YYrfzdjFuijLVQZXjzQqYygjaVvnZgIRhKhdtOPqqjwZ1ebkAfNvY1fEyyhvTILC2CvAPd1yuY60 NlcWejwJE6UFcU_gaOwj5ZEPyeA-- X-Sonic-MF: <luangruo@HIDDEN> X-Sonic-ID: 01ece84a-6b95-4c3e-b73b-e9bf5d88d8c2 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.ne1.yahoo.com with HTTP; Mon, 17 Jun 2024 14:22:51 +0000 Received: by hermes--production-sg3-7b469d9f6-d5m7f (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 3face74ae25bb39a71530b1ae57ab5f4; Mon, 17 Jun 2024 14:22:49 +0000 (UTC) From: Po Lu <luangruo@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' In-Reply-To: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> (Jim Porter's message of "Sun, 16 Jun 2024 19:56:44 -0700") References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> Date: Mon, 17 Jun 2024 22:23:01 +0800 Message-ID: <s54cyof3ayi.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.22407 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1615 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Jim Porter <jporterbugs@HIDDEN> writes: > (Note: I plan to merge this only after we cut the Emacs 30 release > branch, since it seems a bit too substantial a change to sneak in > right near the end. However, I think the patch is mostly done aside > from one remaining issue, so any feedback is very welcome.) > > 'visual-wrap-prefix-mode' has one small issue: since the wrap prefix > is just a string, the wrapped text may not line up for variable-width > fonts. This is mainly in cases like so: > > * here is some text that > got visually wrapped > > If the "* " is variable-width, the second line will probably be > indented wrong by a few pixels. > > The attached patch adds a display spec in this case so that the text > lines up perfectly. There's currently one problem though: I'm not sure > how to regenerate the wrap prefix automatically if the face > changes. It's not hard to handle for 'text-scale-adjust', but I don't Actually, there's more than just this one problem. To start with, the existing format of the generated line prefix properties enables the extracted fill prefix to be displayed consistently on any frame, whatever the metrics of its default font/face. This I consider a far more critical capability than perfect alignment of wrapped text in the presence of a variable-pitch default font, as the latter is virtually unknown among programmers, and also unimplementable within reasonable standards of performance with pixelwise spacers. If this is to be installed, please condition it behind a user option and restore the existing logic that you have effaced as the default.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at 71605) by debbugs.gnu.org; 17 Jun 2024 11:37:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 17 07:37:58 2024 Received: from localhost ([127.0.0.1]:60392 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJAgQ-0002C7-2X for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 07:37:58 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46710) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sJAgM-0002Bq-UN for 71605 <at> debbugs.gnu.org; Mon, 17 Jun 2024 07:37:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sJAgF-0005BD-9f; Mon, 17 Jun 2024 07:37:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=0jr1pMOUB6MVpeJFxK8OpKljSE6c2aOOy79CdTZkDDo=; b=DyGQbEhXMJxJ jOrOqxrQMVyhkrpsVMIPcFG9fWJzue/D09JiGSGUCJxrh6sSE0lniWWDeunBsGjcIePOKepSwZ4CM uVFgANLj5LJmacwsZd+q3BRPPHFn03fD1cXn4i3UZbS0gkY7N9cUV7s2PzHrtCMd5XHP7LK6EFW8J MvIl6V2JkrWmIpDM6O4cuINHU28yeuAKEs1QiNFvLtD+O8qG84DAD3+9tjPPBXejF8hw8+06NYKp0 VAmy8cJ0g1nNNDd7Cp4ATEPdvO42mnn/FUqeA81nUSboHiUqu+LjQVblZp9E26YPW5PpYm95iO6Po mxgrqk1OBnhRSfnbnYf09g==; Date: Mon, 17 Jun 2024 14:37:43 +0300 Message-Id: <868qz3ssu0.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> (message from Jim Porter on Sun, 16 Jun 2024 19:56:44 -0700) Subject: Re: bug#71605: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' References: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71605 Cc: 71605 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sun, 16 Jun 2024 19:56:44 -0700 > From: Jim Porter <jporterbugs@HIDDEN> > > (Note: I plan to merge this only after we cut the Emacs 30 release > branch, since it seems a bit too substantial a change to sneak in right > near the end. However, I think the patch is mostly done aside from one > remaining issue, so any feedback is very welcome.) OK. > 'visual-wrap-prefix-mode' has one small issue: since the wrap prefix is > just a string, the wrapped text may not line up for variable-width > fonts. This is mainly in cases like so: > > * here is some text that > got visually wrapped > > If the "* " is variable-width, the second line will probably be indented > wrong by a few pixels. It also means the line after "*", the one that begins with "here is", will also move horizontally. Isn't that a misfeature? Perhaps this mode should align the text to some fixed pixel-coordinate, in which case changes in font should not matter? Or am I missing something? > The attached patch adds a display spec in this case so that the text > lines up perfectly. Can you explain the idea of the patch? I don't think I understand why you use '(space :width)' rather than '(space :align-to)'. > There's currently one problem though: I'm not sure > how to regenerate the wrap prefix automatically if the face changes. > It's not hard to handle for 'text-scale-adjust', but I don't know how to > handle 'global-text-scale-adjust' (or other things that could change the > face[1]). > > Does anyone have any ideas for this part? Perhaps we could provide a function "face-change (&optional frame)" which would access the frame's face_change flag and the global face_change flag. Then you could test those in a post-command-hook or somesuch. (However, using :align-to, if feasible, sounds like a better solution to me.) > -@defun string-pixel-width string > +@defun string-pixel-width string &optional buffer > This is a convenience function that uses @code{window-text-pixel-size} > -to compute the width of @var{string} (in pixels). > +to compute the width of @var{string} (in pixels). If @var{buffer} is > +non-@code{nil}, use the face remappings from that buffer when > +determining the width (@pxref{Face Remapping}). An alternative would be to provide a face to use. In any case, using BUFFER only for face-remapping-alist is only a small part of what a buffer can do to a string: there's the major mode with its fontifications and whatnot. > +(defun string-pixel-width (string &optional buffer) > + "Return the width of STRING in pixels. > +If BUFFER is non-nil, use the face remappings from that buffer when > +determining the width." > (declare (important-return-value t)) > (if (zerop (length string)) > 0 > @@ -348,6 +350,11 @@ string-pixel-width > ;; Disable line-prefix and wrap-prefix, for the same reason. > (setq line-prefix nil > wrap-prefix nil) > + (if buffer ^^^^^^^^^ This should test buffer-live-p, I think, not just buffer non-nil. > +(defun visual-wrap--adjust-display-width (fcp n) > + (when-let ((display (get-text-property 0 'display fcp)) > + ((eq (car-safe display) 'space)) Doesn't this only work with very simple 'display' specs? The 'space' part could be in some place deep in the spec, not just the second symbol. > (defun visual-wrap-fill-context-prefix (beg end) > "Compute visual wrap prefix from text between BEG and END. > -This is like `fill-context-prefix', but with prefix length adjusted > -by `visual-wrap-extra-indent'." > - (let* ((fcp > - ;; `fill-context-prefix' ignores prefixes that look like > - ;; paragraph starts, in order to avoid inadvertently > - ;; creating a new paragraph while filling, but here we're > - ;; only dealing with single-line "paragraphs" and we don't > - ;; actually modify the buffer, so this restriction doesn't > - ;; make much sense (and is positively harmful in > - ;; taskpaper-mode where paragraph-start matches everything). > - (or (let ((paragraph-start regexp-unmatchable)) > - (fill-context-prefix beg end)) > - ;; Note: fill-context-prefix may return nil; See: > - ;; http://article.gmane.org/gmane.emacs.devel/156285 > - "")) The comment above and the URL it included are deleted: is that because they are no longer relevant? If not, maybe move them with the code, so that the information is not lost.
bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 17 Jun 2024 02:56:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 16 22:56:54 2024 Received: from localhost ([127.0.0.1]:58586 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJ2Y9-0002Op-CH for submit <at> debbugs.gnu.org; Sun, 16 Jun 2024 22:56:54 -0400 Received: from lists.gnu.org ([209.51.188.17]:36536) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1sJ2Y6-0002Oe-R3 for submit <at> debbugs.gnu.org; Sun, 16 Jun 2024 22:56:51 -0400 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 <jporterbugs@HIDDEN>) id 1sJ2Y4-0007XU-Ry for bug-gnu-emacs@HIDDEN; Sun, 16 Jun 2024 22:56:48 -0400 Received: from mail-oo1-xc35.google.com ([2607:f8b0:4864:20::c35]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <jporterbugs@HIDDEN>) id 1sJ2Y2-0001Xa-NT for bug-gnu-emacs@HIDDEN; Sun, 16 Jun 2024 22:56:48 -0400 Received: by mail-oo1-xc35.google.com with SMTP id 006d021491bc7-5ba090b0336so1885976eaf.1 for <bug-gnu-emacs@HIDDEN>; Sun, 16 Jun 2024 19:56:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718593005; x=1719197805; darn=gnu.org; h=subject:from:to:content-language:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=BFdBAsSXoXCSy8qVsJxvuW/KGYtPTGyycN3uAKx3TXw=; b=TFN2lstKWx53It0rRxCS9faWzLXr1oOZ2VN6+anKrSMOXmF0/E/PxSb/rKIvk6eiwX 3L3oMUTV9V1+o7AdxDtU7579snuFInSmpgws5wI4GIvNc8e7xWB9jni9FE30b+Z/sJeM GWghJVvSl/vGWExGDrj9ktB/iJn0G9Dmt+XRUKeB9LKK0EAbVRbQDEz6FJWj1rRiPvnh ZUV2v6ehTmH4X7GqPIqxXiJ9J2Vp2zxfrq+Z68tsV8PiH/QIxq84MzminSLGe3YNMqjl nnZm6mkvicvW6XXHhx9aOo21gKtZQMvzC1LuJGyf7SZm92pn8uFU577ZZIUi5UlmV9ea 5dGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718593005; x=1719197805; h=subject:from:to:content-language:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BFdBAsSXoXCSy8qVsJxvuW/KGYtPTGyycN3uAKx3TXw=; b=dycxHvb/7pGktWLc0fcXMop8ZkmOegmFtSLRaqMS+ScytDEDSwXnFRuLEFbn4ZUQBY j+dp7Ns1vvv5YseA2E2Fx3czezokJUOYJWGENw+xZHIxMb0RG7q5jnD/kXungQbWAh2X w7yLNz0SIaFL8LBo0cfx/ZQBcysPWGk/s0kmqlTd7Q6w69cVsVWVnnXAO3isra8zayAh TTlLAz1F75zWNqGP/8OW0GGFb2g6QdAAylaNTzlCWLUZ2pgZ+PQV40CwjxDelU6M/gFL 92SFRNTQp7SacYkeKyS90U/DITvKOOWm3NSRwnwgrRAvK9W1quXfsOXpbxVcxdY5W/mW UINA== X-Gm-Message-State: AOJu0YyoNyuuJWjkYafrAJ2qNruVfCBMzCiPvCJhjAqOXiyPP3Ot6Smz tfbus4afBv7YXUQ5rvR85yFtjqbovUQB0qlbYGrlMymAVeA34Yz1G3hXIA== X-Google-Smtp-Source: AGHT+IEBnl2lPR+uNcla6XLoFd5OwY4uS7kTxqGRXpfVhRKHLIroEHv90ZIQevQbYAzq7t2ezKXfoA== X-Received: by 2002:a05:6358:5c:b0:1a1:c982:47c0 with SMTP id e5c5f4694b2df-1a1c982547fmr467175855d.32.1718593004868; Sun, 16 Jun 2024 19:56:44 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f855f39a42sm70452415ad.268.2024.06.16.19.56.43 for <bug-gnu-emacs@HIDDEN> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 16 Jun 2024 19:56:44 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------1ABD0qXctHlxJqSTmVRggRBy" Message-ID: <bbe630e2-0354-9d56-9090-dad7c1a4d43e@HIDDEN> Date: Sun, 16 Jun 2024 19:56:44 -0700 MIME-Version: 1.0 X-Mozilla-News-Host: news://news.gmane.io:119 Content-Language: en-US To: bug-gnu-emacs@HIDDEN From: Jim Porter <jporterbugs@HIDDEN> Subject: 30.0.50; [PATCH] Support variable-width text in 'visual-wrap-prefix-mode' Received-SPF: pass client-ip=2607:f8b0:4864:20::c35; envelope-from=jporterbugs@HIDDEN; helo=mail-oo1-xc35.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------1ABD0qXctHlxJqSTmVRggRBy Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit (Note: I plan to merge this only after we cut the Emacs 30 release branch, since it seems a bit too substantial a change to sneak in right near the end. However, I think the patch is mostly done aside from one remaining issue, so any feedback is very welcome.) 'visual-wrap-prefix-mode' has one small issue: since the wrap prefix is just a string, the wrapped text may not line up for variable-width fonts. This is mainly in cases like so: * here is some text that got visually wrapped If the "* " is variable-width, the second line will probably be indented wrong by a few pixels. The attached patch adds a display spec in this case so that the text lines up perfectly. There's currently one problem though: I'm not sure how to regenerate the wrap prefix automatically if the face changes. It's not hard to handle for 'text-scale-adjust', but I don't know how to handle 'global-text-scale-adjust' (or other things that could change the face[1]). Does anyone have any ideas for this part? [1] There's 'after-setting-font-hook', but that doesn't cover everything either. --------------1ABD0qXctHlxJqSTmVRggRBy Content-Type: text/plain; charset=UTF-8; name="0001-Add-support-for-variable-width-text-in-visual-wrap-p.patch" Content-Disposition: attachment; filename*0="0001-Add-support-for-variable-width-text-in-visual-wrap-p.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2OTZhMjcxNjAxNDU3ZjYzZGQ3MTI3MjYxMjQyZTIxNDMyNzEzNDAyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFN1biwgMTYgSnVuIDIwMjQgMTU6MjE6NTIgLTA3MDAKU3ViamVjdDogW1BB VENIXSBBZGQgc3VwcG9ydCBmb3IgdmFyaWFibGUtd2lkdGggdGV4dCBpbgogJ3Zpc3VhbC13 cmFwLXByZWZpeC1tb2RlJwoKVGhpcyB1c2VzIGEgZGlzcGxheSBzcGVjIHRvIHNldCB0aGUg d2lkdGggY29ycmVjdGx5IHdoZW4gaW5kZW50aW5nIHdpdGgKc3BhY2VzLgoKKiBsaXNwL2Vt YWNzLWxpc3Avc3Vici14LmVsIChzdHJpbmctcGl4ZWwtd2lkdGgpOiBOZXcgYXJndW1lbnQg QlVGRkVSLgoKKiBsaXNwL3Zpc3VhbC13cmFwLmVsICh2aXN1YWwtd3JhcC0tYWRqdXN0LWRp c3BsYXktd2lkdGgpCih2aXN1YWwtd3JhcC0tY29udGVudC1wcmVmaXgpOiBOZXcgZnVuY3Rp b25zLgoodmlzdWFsLXdyYXAtLWV4dHJhLWluZGVudCk6IFJlbmFtZSBmcm9tICd2aXN1YWwt d3JhcC0tcHJlZml4JyBhbmQgY2FsbAondmlzdWFsLXdyYXAtLWFkanVzdC1kaXNwbGF5LXdp ZHRoJy4KKHZpc3VhbC13cmFwLWZpbGwtY29udGV4dC1wcmVmaXgpOiBTdXBwb3J0IGRpc3Bs YXkgd2lkdGguCih2aXN1YWwtd3JhcC1wcmVmaXgtZnVuY3Rpb24pOiBBbGxvdyAnbGJwJyB0 byBiZSBhdCAncG9pbnQtbWluJy4KKHZpc3VhbC13cmFwLXByZWZpeC1tb2RlKTogUmVmb250 aWZ5IHdoZW4gY2hhbmdpbmcgdGV4dCBzY2FsZS4KCiogZG9jL2xpc3ByZWYvZGlzcGxheS50 ZXhpIChTaXplIG9mIERpc3BsYXllZCBUZXh0KTogRG9jdW1lbnQgQlVGRkVSCmFyZ3VtZW50 IGZvciAnc3RyaW5nLXBpeGVsLXdpZHRoJy4KCiogZXRjL05FV1M6IEFubm91bmNlIHRoaXMg Y2hhbmdlLgotLS0KIGRvYy9saXNwcmVmL2Rpc3BsYXkudGV4aSAgfCAgNiArKy0tCiBldGMv TkVXUyAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0KIGxpc3AvZW1hY3MtbGlzcC9zdWJy LXguZWwgfCAxMSArKysrLS0KIGxpc3AvdmlzdWFsLXdyYXAuZWwgICAgICAgfCA3MyArKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwg NzAgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2xp c3ByZWYvZGlzcGxheS50ZXhpIGIvZG9jL2xpc3ByZWYvZGlzcGxheS50ZXhpCmluZGV4IGQ1 Yzk2ZDEzZTAyLi41Mjk1N2YyYWQwNyAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvZGlzcGxh eS50ZXhpCisrKyBiL2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4aQpAQCAtMjM1MSw5ICsyMzUx LDExIEBAIFNpemUgb2YgRGlzcGxheWVkIFRleHQKIG1lYW5pbmcgYXMgd2l0aCBAY29kZXt3 aW5kb3ctdGV4dC1waXhlbC1zaXplfS4KIEBlbmQgZGVmdW4KIAotQGRlZnVuIHN0cmluZy1w aXhlbC13aWR0aCBzdHJpbmcKK0BkZWZ1biBzdHJpbmctcGl4ZWwtd2lkdGggc3RyaW5nICZv cHRpb25hbCBidWZmZXIKIFRoaXMgaXMgYSBjb252ZW5pZW5jZSBmdW5jdGlvbiB0aGF0IHVz ZXMgQGNvZGV7d2luZG93LXRleHQtcGl4ZWwtc2l6ZX0KLXRvIGNvbXB1dGUgdGhlIHdpZHRo IG9mIEB2YXJ7c3RyaW5nfSAoaW4gcGl4ZWxzKS4KK3RvIGNvbXB1dGUgdGhlIHdpZHRoIG9m IEB2YXJ7c3RyaW5nfSAoaW4gcGl4ZWxzKS4gIElmIEB2YXJ7YnVmZmVyfSBpcworbm9uLUBj b2Rle25pbH0sIHVzZSB0aGUgZmFjZSByZW1hcHBpbmdzIGZyb20gdGhhdCBidWZmZXIgd2hl bgorZGV0ZXJtaW5pbmcgdGhlIHdpZHRoIChAcHhyZWZ7RmFjZSBSZW1hcHBpbmd9KS4KIEBl bmQgZGVmdW4KIAogQGRlZnVuIGxpbmUtcGl4ZWwtaGVpZ2h0CmRpZmYgLS1naXQgYS9ldGMv TkVXUyBiL2V0Yy9ORVdTCmluZGV4IGIyZmRiYzRhODhmLi4yN2E0ZmQxMWE4NyAxMDA2NDQK LS0tIGEvZXRjL05FV1MKKysrIGIvZXRjL05FV1MKQEAgLTU0OSw3ICs1NDksOCBAQCB0ZXh0 IGluIGFueSB3YXkuICBUaGUgZ2xvYmFsIG1pbm9yIG1vZGUKIGJ1ZmZlcnMuCiAKIChUaGlz IG1pbm9yIG1vZGUgaXMgdGhlICdhZGFwdGl2ZS13cmFwJyBFTFBBIHBhY2thZ2UgcmVuYW1l ZCBhbmQKLWxpZ2h0bHkgZWRpdGVkIGZvciBpbmNsdXNpb24gaW4gRW1hY3MuKQorZW5oYW5j ZWQgZm9yIGluY2x1c2lvbiBpbiBFbWFjcy4gIEl0IGFkZGl0aW9uYWxseSBzdXBwb3J0cyBw cmVmaXhlcyBmb3IKK3ZhcmlhYmxlLXdpZHRoIHRleHQuKQogCiArKysKICoqIE5ldyB1c2Vy IG9wdGlvbiAnZ3VkLWhpZ2hsaWdodC1jdXJyZW50LWxpbmUnLgpAQCAtMjc4OSw2ICsyNzkw LDExIEBAIFRoZXNlIGZ1bmN0aW9ucyBhcmUgbGlrZSAndXNlci11aWQnIGFuZCAnZ3JvdXAt Z2lkJywgcmVzcGVjdGl2ZWx5LCBidXQKIGFyZSBhd2FyZSBvZiBmaWxlIG5hbWUgaGFuZGxl cnMsIHNvIHRoZXkgd2lsbCByZXR1cm4gdGhlIHJlbW90ZSBVSUQgb3IKIEdJRCBmb3IgcmVt b3RlIGZpbGVzIChvciAtMSBpZiB0aGUgY29ubmVjdGlvbiBoYXMgbm8gYXNzb2NpYXRlZCB1 c2VyKS4KIAorKysrCisqKiAnc3RyaW5nLXBpeGVsLXdpZHRoJyBub3cgYWNjZXB0cyBhIEJV RkZFUiBhcmd1bWVudC4KK0lmIEJVRkZFUiBpcyBub24tbmlsLCAnc3RyaW5nLXBpeGVsLXdp ZHRoJyB3aWxsIGFwcGx5IEJVRkZFUidzIGZhY2UKK3JlbWFwcGluZ3Mgd2hlbiBjb21wdXRp bmcgdGhlIHN0cmluZydzIHdpZHRoLgorCiArKysKICoqICdmc2V0JywgJ2RlZmFsaWFzJyBh bmQgJ2RlZnZhcmFsaWFzJyBub3cgc2lnbmFsIGFuIGVycm9yIGZvciBjeWNsaWMgYWxpYXNl cy4KIFByZXZpb3VzbHksICdmc2V0JywgJ2RlZmFsaWFzJyBhbmQgJ2RlZnZhcmFsaWFzJyBj b3VsZCBiZSBtYWRlIHRvCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3Avc3Vici14LmVs IGIvbGlzcC9lbWFjcy1saXNwL3N1YnIteC5lbAppbmRleCA2OTliZTc2N2VlNy4uMmNiZTFi ZWI5ZjEgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9zdWJyLXguZWwKKysrIGIvbGlz cC9lbWFjcy1saXNwL3N1YnIteC5lbApAQCAtMzMzLDggKzMzMywxMCBAQCBuYW1lZC1sZXQK ICAgICAgIC4gLGFhcmdzKSkpCiAKIDs7OyMjI2F1dG9sb2FkCi0oZGVmdW4gc3RyaW5nLXBp eGVsLXdpZHRoIChzdHJpbmcpCi0gICJSZXR1cm4gdGhlIHdpZHRoIG9mIFNUUklORyBpbiBw aXhlbHMuIgorKGRlZnVuIHN0cmluZy1waXhlbC13aWR0aCAoc3RyaW5nICZvcHRpb25hbCBi dWZmZXIpCisgICJSZXR1cm4gdGhlIHdpZHRoIG9mIFNUUklORyBpbiBwaXhlbHMuCitJZiBC VUZGRVIgaXMgbm9uLW5pbCwgdXNlIHRoZSBmYWNlIHJlbWFwcGluZ3MgZnJvbSB0aGF0IGJ1 ZmZlciB3aGVuCitkZXRlcm1pbmluZyB0aGUgd2lkdGguIgogICAoZGVjbGFyZSAoaW1wb3J0 YW50LXJldHVybi12YWx1ZSB0KSkKICAgKGlmICh6ZXJvcCAobGVuZ3RoIHN0cmluZykpCiAg ICAgICAwCkBAIC0zNDgsNiArMzUwLDExIEBAIHN0cmluZy1waXhlbC13aWR0aAogICAgICAg OzsgRGlzYWJsZSBsaW5lLXByZWZpeCBhbmQgd3JhcC1wcmVmaXgsIGZvciB0aGUgc2FtZSBy ZWFzb24uCiAgICAgICAoc2V0cSBsaW5lLXByZWZpeCBuaWwKIAkgICAgd3JhcC1wcmVmaXgg bmlsKQorICAgICAgKGlmIGJ1ZmZlcgorICAgICAgICAgIChzZXRxLWxvY2FsIGZhY2UtcmVt YXBwaW5nLWFsaXN0CisgICAgICAgICAgICAgICAgICAgICAgKHdpdGgtY3VycmVudC1idWZm ZXIgYnVmZmVyCisgICAgICAgICAgICAgICAgICAgICAgICBmYWNlLXJlbWFwcGluZy1hbGlz dCkpCisgICAgICAgIChraWxsLWxvY2FsLXZhcmlhYmxlICdmYWNlLXJlbWFwcGluZy1hbGlz dCkpCiAgICAgICAoaW5zZXJ0IChwcm9wZXJ0aXplIHN0cmluZyAnbGluZS1wcmVmaXggbmls ICd3cmFwLXByZWZpeCBuaWwpKQogICAgICAgKGNhciAoYnVmZmVyLXRleHQtcGl4ZWwtc2l6 ZSBuaWwgbmlsIHQpKSkpKQogCmRpZmYgLS1naXQgYS9saXNwL3Zpc3VhbC13cmFwLmVsIGIv bGlzcC92aXN1YWwtd3JhcC5lbAppbmRleCBkOTVjZjRiYjU2OS4uMjQxY2QzMzcxNDggMTAw NjQ0Ci0tLSBhL2xpc3AvdmlzdWFsLXdyYXAuZWwKKysrIGIvbGlzcC92aXN1YWwtd3JhcC5l bApAQCAtOTcsMzggKzk3LDYwIEBAIHZpc3VhbC13cmFwLS1wcmVmaXgtZmFjZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmICh2aXN1YWwtd3JhcC0tZmFjZS1leHRl bmQtcCBmKSBmKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlb2wtZmFjZSkp KSkpKSkKIAotKGRlZnVuIHZpc3VhbC13cmFwLS1wcmVmaXggKGZjcCkKKyhkZWZ1biB2aXN1 YWwtd3JhcC0tYWRqdXN0LWRpc3BsYXktd2lkdGggKGZjcCBuKQorICAod2hlbi1sZXQgKChk aXNwbGF5IChnZXQtdGV4dC1wcm9wZXJ0eSAwICdkaXNwbGF5IGZjcCkpCisgICAgICAgICAg ICAgKChlcSAoY2FyLXNhZmUgZGlzcGxheSkgJ3NwYWNlKSkKKyAgICAgICAgICAgICAod2lk dGggKGNhciAocGxpc3QtZ2V0IChjZHIgZGlzcGxheSkgOndpZHRoKSkpKQorICAgIChwdXQt dGV4dC1wcm9wZXJ0eSAwIChsZW5ndGggZmNwKSAnZGlzcGxheQorICAgICAgICAgICAgICAg ICAgICAgICBgKHNwYWNlIDp3aWR0aCAoLCgrIHdpZHRoIG4pKSkgZmNwKSkKKyAgZmNwKQor CisoZGVmdW4gdmlzdWFsLXdyYXAtLWV4dHJhLWluZGVudCAoZmNwKQogICAobGV0ICgoZmNw LWxlbiAoc3RyaW5nLXdpZHRoIGZjcCkpKQogICAgIChjb25kCiAgICAgICgoPSAwIHZpc3Vh bC13cmFwLWV4dHJhLWluZGVudCkKICAgICAgIGZjcCkKICAgICAgKCg8IDAgdmlzdWFsLXdy YXAtZXh0cmEtaW5kZW50KQotICAgICAgKGNvbmNhdCBmY3AgKG1ha2Utc3RyaW5nIHZpc3Vh bC13cmFwLWV4dHJhLWluZGVudCA/XHMpKSkKKyAgICAgIChsZXQqICgoZXh0cmEgKG1ha2Ut c3RyaW5nIHZpc3VhbC13cmFwLWV4dHJhLWluZGVudCA/XHMpKQorICAgICAgICAgICAgIChy ZXN1bHQgKGNvbmNhdCBmY3AgZXh0cmEpKSkKKyAgICAgICAgKHZpc3VhbC13cmFwLS1hZGp1 c3QtZGlzcGxheS13aWR0aAorICAgICAgICAgcmVzdWx0IChzdHJpbmctcGl4ZWwtd2lkdGgg ZXh0cmEgKGN1cnJlbnQtYnVmZmVyKSkpKSkKICAgICAgKCg8IDAgKCsgdmlzdWFsLXdyYXAt ZXh0cmEtaW5kZW50IGZjcC1sZW4pKQotICAgICAgKHN1YnN0cmluZyBmY3AKLSAgICAgICAg ICAgICAgICAgMAotICAgICAgICAgICAgICAgICAoKyB2aXN1YWwtd3JhcC1leHRyYS1pbmRl bnQgZmNwLWxlbikpKQorICAgICAgKGxldCogKChpZHggKCsgdmlzdWFsLXdyYXAtZXh0cmEt aW5kZW50IGZjcC1sZW4pKQorICAgICAgICAgICAgICh0cmltIChzdWJzdHJpbmcgZmNwIGlk eCkpCisgICAgICAgICAgICAgKHJlc3VsdCAoc3Vic3RyaW5nIGZjcCAwIGlkeCkpKQorICAg ICAgICAocmVtb3ZlLXRleHQtcHJvcGVydGllcyAwIChsZW5ndGggdHJpbSkgJyhkaXNwbGF5 KSB0cmltKQorICAgICAgICAodmlzdWFsLXdyYXAtLWFkanVzdC1kaXNwbGF5LXdpZHRoCisg ICAgICAgICByZXN1bHQgKC0gKHN0cmluZy1waXhlbC13aWR0aCB0cmltIChjdXJyZW50LWJ1 ZmZlcikpKSkpKQogICAgICAodAogICAgICAgIiIpKSkpCiAKKyhkZWZ1biB2aXN1YWwtd3Jh cC0tY29udGVudC1wcmVmaXggKHBvc2l0aW9uKQorICAiR2V0IHRoZSBjb250ZW50IHByZWZp eCBmb3IgdGhlIGxpbmUgc3RhcnRpbmcgYXQgUE9TSVRJT04uCitUaGlzIGlzIGxpa2UgYGZp bGwtY29udGVudC1wcmVmaXgnIGJ1dCBkb2Vzbid0IGNoZWNrIHN1YnNlcXVlbnQgbGluZXMK K2FuZCB1c2VzIGRpc3BsYXkgc3BlY3MgdG8gaGFuZGxlIHZhcmlhYmxlLXdpZHRoIGZhY2Vz LiIKKyAgKHNhdmUtZXhjdXJzaW9uCisgICAgKGdvdG8tY2hhciBwb3NpdGlvbikKKyAgICAo aWYgKGVvbHApIChmb3J3YXJkLWxpbmUgMSkpCisgICAgOzsgTW92ZSB0byB0aGUgc2Vjb25k IGxpbmUgdW5sZXNzIHRoZXJlIGlzIGp1c3Qgb25lLgorICAgIChtb3ZlLXRvLWxlZnQtbWFy Z2luKQorICAgIChsZXQgKChwcmVmaXggKGZpbGwtbWF0Y2gtYWRhcHRpdmUtcHJlZml4KSkp CisgICAgICAoaWYgKG9yIChhbmQgYWRhcHRpdmUtZmlsbC1maXJzdC1saW5lLXJlZ2V4cAor CQkgICAoc3RyaW5nLW1hdGNoIGFkYXB0aXZlLWZpbGwtZmlyc3QtbGluZS1yZWdleHAgcHJl Zml4KSkKKwkgICAgICAoYW5kIGNvbW1lbnQtc3RhcnQtc2tpcAorCQkgICAoc3RyaW5nLW1h dGNoIGNvbW1lbnQtc3RhcnQtc2tpcCBwcmVmaXgpKSkKKwkgIHByZWZpeAorICAgICAgICAo cHJvcGVydGl6ZQorICAgICAgICAgKG1ha2Utc3RyaW5nIChzdHJpbmctd2lkdGggcHJlZml4 KSA/XHMpCisgICAgICAgICAnZGlzcGxheSBgKHNwYWNlIDp3aWR0aCAoLChzdHJpbmctcGl4 ZWwtd2lkdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCAo Y3VycmVudC1idWZmZXIpKSkpKSkpKSkKKwogKGRlZnVuIHZpc3VhbC13cmFwLWZpbGwtY29u dGV4dC1wcmVmaXggKGJlZyBlbmQpCiAgICJDb21wdXRlIHZpc3VhbCB3cmFwIHByZWZpeCBm cm9tIHRleHQgYmV0d2VlbiBCRUcgYW5kIEVORC4KLVRoaXMgaXMgbGlrZSBgZmlsbC1jb250 ZXh0LXByZWZpeCcsIGJ1dCB3aXRoIHByZWZpeCBsZW5ndGggYWRqdXN0ZWQKLWJ5IGB2aXN1 YWwtd3JhcC1leHRyYS1pbmRlbnQnLiIKLSAgKGxldCogKChmY3AKLSAgICAgICAgICA7OyBg ZmlsbC1jb250ZXh0LXByZWZpeCcgaWdub3JlcyBwcmVmaXhlcyB0aGF0IGxvb2sgbGlrZQot ICAgICAgICAgIDs7IHBhcmFncmFwaCBzdGFydHMsIGluIG9yZGVyIHRvIGF2b2lkIGluYWR2 ZXJ0ZW50bHkKLSAgICAgICAgICA7OyBjcmVhdGluZyBhIG5ldyBwYXJhZ3JhcGggd2hpbGUg ZmlsbGluZywgYnV0IGhlcmUgd2UncmUKLSAgICAgICAgICA7OyBvbmx5IGRlYWxpbmcgd2l0 aCBzaW5nbGUtbGluZSAicGFyYWdyYXBocyIgYW5kIHdlIGRvbid0Ci0gICAgICAgICAgOzsg YWN0dWFsbHkgbW9kaWZ5IHRoZSBidWZmZXIsIHNvIHRoaXMgcmVzdHJpY3Rpb24gZG9lc24n dAotICAgICAgICAgIDs7IG1ha2UgbXVjaCBzZW5zZSAoYW5kIGlzIHBvc2l0aXZlbHkgaGFy bWZ1bCBpbgotICAgICAgICAgIDs7IHRhc2twYXBlci1tb2RlIHdoZXJlIHBhcmFncmFwaC1z dGFydCBtYXRjaGVzIGV2ZXJ5dGhpbmcpLgotICAgICAgICAgIChvciAobGV0ICgocGFyYWdy YXBoLXN0YXJ0IHJlZ2V4cC11bm1hdGNoYWJsZSkpCi0gICAgICAgICAgICAgICAgICAgIChm aWxsLWNvbnRleHQtcHJlZml4IGJlZyBlbmQpKQotICAgICAgICAgICAgICAgICAgOzsgTm90 ZTogZmlsbC1jb250ZXh0LXByZWZpeCBtYXkgcmV0dXJuIG5pbDsgU2VlOgotICAgICAgICAg ICAgICAgICAgOzsgaHR0cDovL2FydGljbGUuZ21hbmUub3JnL2dtYW5lLmVtYWNzLmRldmVs LzE1NjI4NQotICAgICAgICAgICAgICAiIikpCi0gICAgICAgICAocHJlZml4ICh2aXN1YWwt d3JhcC0tcHJlZml4IGZjcCkpCitUaGlzIGlzIGxpa2UgYGZpbGwtY29udGV4dC1wcmVmaXgn LCBidXQgc3VwcG9ydGluZyB2YXJpYWJsZS13aWR0aCBmYWNlcworYW5kIHdpdGggdGhlIHBy ZWZpeCBsZW5ndGggYWRqdXN0ZWQgYnkgYHZpc3VhbC13cmFwLWV4dHJhLWluZGVudCcuIgor ICAobGV0KiAoKGZjcCAodmlzdWFsLXdyYXAtLWNvbnRlbnQtcHJlZml4IGJlZykpCisgICAg ICAgICAocHJlZml4ICh2aXN1YWwtd3JhcC0tZXh0cmEtaW5kZW50IGZjcCkpCiAgICAgICAg ICAoZmFjZSAodmlzdWFsLXdyYXAtLXByZWZpeC1mYWNlIGZjcCBiZWcgZW5kKSkpCiAgICAg KGlmIGZhY2UKICAgICAgICAgKHByb3BlcnRpemUgcHJlZml4ICdmYWNlIGZhY2UpCkBAIC0x NjAsNyArMTgyLDggQEAgdmlzdWFsLXdyYXAtcHJlZml4LWZ1bmN0aW9uCiAJIChyZW1vdmUt dGV4dC1wcm9wZXJ0aWVzCiAJICAwIChsZW5ndGggcGZ4KSAnKHdyYXAtcHJlZml4KSBwZngp CiAgICAgICAgICAobGV0ICgoZHAgKGdldC10ZXh0LXByb3BlcnR5IDAgJ2Rpc3BsYXkgcGZ4 KSkpCi0gICAgICAgICAgICh3aGVuIChhbmQgZHAgKGVxIGRwIChnZXQtdGV4dC1wcm9wZXJ0 eSAoMS0gbGJwKSAnZGlzcGxheSkpKQorICAgICAgICAgICAod2hlbiAoYW5kIGRwICg+IGxi cCAocG9pbnQtbWluKSkKKyAgICAgICAgICAgICAgICAgICAgICAoZXEgZHAgKGdldC10ZXh0 LXByb3BlcnR5ICgxLSBsYnApICdkaXNwbGF5KSkpCiAgICAgICAgICAgICAgOzsgVGhlcmUn cyBhIGBkaXNwbGF5JyBwcm9wZXJ0eSB3aGljaCBjb3ZlcnMgbm90IGp1c3QgdGhlCiAgICAg ICAgICAgICAgOzsgcHJlZml4IGJ1dCBhbHNvIHRoZSBwcmV2aW91cyBuZXdsaW5lLiAgU28g aXQncyBub3QKICAgICAgICAgICAgICA7OyBqdXN0IG1ha2luZyB0aGUgcHJlZml4IG1vcmUg cHJldHR5IGFuZCBjb3VsZCBpbnRlcmZlcmUKQEAgLTE4Nyw4ICsyMTAsMTIgQEAgdmlzdWFs LXdyYXAtcHJlZml4LW1vZGUKICAgICAgICAgOzsgb2YgdGhlIGhvb2sgKGJ1ZyMxNTE1NSku CiAgICAgICAgIChhZGQtaG9vayAnaml0LWxvY2stZnVuY3Rpb25zCiAgICAgICAgICAgICAg ICAgICAjJ3Zpc3VhbC13cmFwLXByZWZpeC1mdW5jdGlvbiAnYXBwZW5kIHQpCi0gICAgICAg IChqaXQtbG9jay1yZWdpc3RlciAjJ3Zpc3VhbC13cmFwLXByZWZpeC1mdW5jdGlvbikpCisg ICAgICAgIChqaXQtbG9jay1yZWdpc3RlciAjJ3Zpc3VhbC13cmFwLXByZWZpeC1mdW5jdGlv bikKKyAgICAgICAgOzsgRklYTUU6IFdoYXQgc2hvdWxkIHdlIGRvIGFib3V0IGBnbG9iYWwt dGV4dC1zY2FsZS1hZGp1c3QnIG9yCisgICAgICAgIDs7IG90aGVyIHRoaW5ncyB0aGF0IGNh biBjaGFuZ2UgdGhlIHRleHQgc2l6ZT8KKyAgICAgICAgKGFkZC1ob29rICd0ZXh0LXNjYWxl LW1vZGUtaG9vayAjJ2ppdC1sb2NrLXJlZm9udGlmeSBuaWwgdCkpCiAgICAgKGppdC1sb2Nr LXVucmVnaXN0ZXIgIyd2aXN1YWwtd3JhcC1wcmVmaXgtZnVuY3Rpb24pCisgICAgKHJlbW92 ZS1ob29rICd0ZXh0LXNjYWxlLW1vZGUtaG9vayAjJ2ppdC1sb2NrLXJlZm9udGlmeSkKICAg ICAod2l0aC1zaWxlbnQtbW9kaWZpY2F0aW9ucwogICAgICAgKHNhdmUtcmVzdHJpY3Rpb24K ICAgICAgICAgKHdpZGVuKQotLSAKMi4yNS4xCgo= --------------1ABD0qXctHlxJqSTmVRggRBy--
Jim Porter <jporterbugs@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#71605
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.