Received: (at 80078-done) by debbugs.gnu.org; 17 Jan 2026 12:22:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 17 07:22:03 2026 Received: from localhost ([127.0.0.1]:55857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vh5Ja-0000zN-Gm for submit <at> debbugs.gnu.org; Sat, 17 Jan 2026 07:22:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:44302) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vh5JY-0000y7-C0 for 80078-done <at> debbugs.gnu.org; Sat, 17 Jan 2026 07:22:00 -0500 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 1vh5JS-0003yc-Ll; Sat, 17 Jan 2026 07:21:55 -0500 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=44O2qZMG4oyvdR9r4SL4GM7KMYDZeudrm6BwPFQZ1aM=; b=ql8IOJamwbNAvP1PcKvR hkOhWOSNLd6PwK8WlZ+Kp4Hyq0vvntrFXMLEZODiB6gaNZxakqM5jVzMk4QzCDx8r0DSaIy3t0tM2 HM36xRitMg4Fki/F/2xQN0aVzIjUdwP7jHaPJDuid2Uh2iYED6ppJwO3qOwwgTRAWDvaI/WktPNLY O2wMhnD41Ywiqpx3/zufexbKk/VBuzU5KCpubwsE+xBZyyG2sfWFI3QkoEaQ4JUCBgWnR9fgqrEGl CH8LiQdDHR56XbbpuASpyV/LeLvuMWFkp97nPd0yTiiHWqaNe5bXQjIfxEHbNco1ylI9xom917+Zt SHugzpnfNgRi3g==; Date: Sat, 17 Jan 2026 14:21:28 +0200 Message-Id: <86ldhwsa47.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: shipmints@HIDDEN In-Reply-To: <86secmkhqw.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 03 Jan 2026 14:23:03 +0200) Subject: Re: bug#80078: format-spec should respect text properties from "text" References: <CAN+1Hboa6-92NbVTqdsLi+8YShPKibNTrfgV+wqytnooa2gz7g@HIDDEN> <86secmkhqw.fsf@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: 80078-done Cc: 80078-done <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: 80078 <at> debbugs.gnu.org > Date: Sat, 03 Jan 2026 14:23:03 +0200 > From: Eli Zaretskii <eliz@HIDDEN> > > > From: Stéphane Marks <shipmints@HIDDEN> > > Date: Sat, 27 Dec 2025 14:55:01 -0500 > > > > (require 'format-spec) > > (font-lock-mode -1) > > (format "%S" > > (format-spec (concat > > (propertize "%>-10a" 'face '(:weight bold)) > > (propertize "%>-10b" 'face '(:weight bold))) > > `((?a ,@(propertize "AAAAA" 'face '(:foreground "red"))) > > (?b ,@(propertize "BBBBB" 'face '(:foreground "red")))))) > > > > ;; "#(\"AAAAA BBBBB \" 0 5 (face #1=(:weight bold)) 5 10 (face #1#) 10 15 (face #2=(:weight bold)) 15 > > 20 (face #2#))" > > > > I was expecting BBB to be bold and red. > > > > The documentation says "Any text properties of the format specifications are copied to their replacements." > > but it doesn't say that it isn't cumulative. It is arguable that copy means replace or append to. > > > > How about an option to prepend or append text properties from the spec rather than wholesale replace > > them? > > You want this to merge face properties? That needs to be explicitly > coded, I think. Patches welcome. > > For now, I've documented that faces are not merged by format-spec. No further comments, so I presume the issue was resolved, and I'm closing this bug.
Stéphane Marks <shipmints@HIDDEN>:Eli Zaretskii <eliz@HIDDEN>:Received: (at 80078) by debbugs.gnu.org; 3 Jan 2026 12:23:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 03 07:23:14 2026 Received: from localhost ([127.0.0.1]:34329 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vc0f4-0002il-6k for submit <at> debbugs.gnu.org; Sat, 03 Jan 2026 07:23:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56316) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vc0f1-0002iY-CP for 80078 <at> debbugs.gnu.org; Sat, 03 Jan 2026 07:23:12 -0500 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 1vc0ev-0005M8-NP; Sat, 03 Jan 2026 07:23:05 -0500 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=rHW5ks0w616U6uUWjuOq033cW+CmNaGSvXGnFS4UCp0=; b=NopTD0YIenj2YNZq9Ouc 3gU+Xj3J7TQ+GDd/kY5CPMWctaUr8Ia71ikLvw+IJUNoYTbMoNpi8NlJxxylx0h9x5z+j86t/dLFW JmBFIqaExiNFyMSK2oEybxdfBYh1peskK6syc8L00QMGjKhkD/oE0LJFqn75Sw/33Ep+Nh9igloBz DkyWozH3E7DIHLYaH7ircw/6x7gNp+H2TtD4ZxLdlsgpBsgOmpUk4QQYrwZ9ohROcjQZw5rpD8gxk lgua6o2T5xTJGko+sr5NXznX/zeA8uD9S8rP4kJkIpN81Cu/49yF+cEoEk10ervg+D3m1v0wVhjbD +SBLgRRtei/p+Q==; Date: Sat, 03 Jan 2026 14:23:03 +0200 Message-Id: <86secmkhqw.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: =?utf-8?Q?St=C3=A9phane?= Marks <shipmints@HIDDEN> In-Reply-To: <CAN+1Hboa6-92NbVTqdsLi+8YShPKibNTrfgV+wqytnooa2gz7g@HIDDEN> (message from =?utf-8?Q?St=C3=A9phane?= Marks on Sat, 27 Dec 2025 14:55:01 -0500) Subject: Re: bug#80078: format-spec should respect text properties from "text" References: <CAN+1Hboa6-92NbVTqdsLi+8YShPKibNTrfgV+wqytnooa2gz7g@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: 80078 Cc: 80078 <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 (---) > From: Stéphane Marks <shipmints@HIDDEN> > Date: Sat, 27 Dec 2025 14:55:01 -0500 > > (require 'format-spec) > (font-lock-mode -1) > (format "%S" > (format-spec (concat > (propertize "%>-10a" 'face '(:weight bold)) > (propertize "%>-10b" 'face '(:weight bold))) > `((?a ,@(propertize "AAAAA" 'face '(:foreground "red"))) > (?b ,@(propertize "BBBBB" 'face '(:foreground "red")))))) > > ;; "#(\"AAAAA BBBBB \" 0 5 (face #1=(:weight bold)) 5 10 (face #1#) 10 15 (face #2=(:weight bold)) 15 > 20 (face #2#))" > > I was expecting BBB to be bold and red. > > The documentation says "Any text properties of the format specifications are copied to their replacements." > but it doesn't say that it isn't cumulative. It is arguable that copy means replace or append to. > > How about an option to prepend or append text properties from the spec rather than wholesale replace > them? You want this to merge face properties? That needs to be explicitly coded, I think. Patches welcome. For now, I've documented that faces are not merged by format-spec.
bug-gnu-emacs@HIDDEN:bug#80078; Package emacs.
Full text available.
Received: (at submit) by debbugs.gnu.org; 27 Dec 2025 19:55:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Dec 27 14:55:25 2025
Received: from localhost ([127.0.0.1]:57285 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vZaNp-0005lw-Hv
for submit <at> debbugs.gnu.org; Sat, 27 Dec 2025 14:55:25 -0500
Received: from lists.gnu.org ([2001:470:142::17]:50890)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
id 1vZaNm-0005hY-HS
for submit <at> debbugs.gnu.org; Sat, 27 Dec 2025 14:55:23 -0500
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 <shipmints@HIDDEN>)
id 1vZaNg-0003pR-Ox
for bug-gnu-emacs@HIDDEN; Sat, 27 Dec 2025 14:55:16 -0500
Received: from mail-vs1-xe34.google.com ([2607:f8b0:4864:20::e34])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from <shipmints@HIDDEN>)
id 1vZaNf-00052h-3n
for bug-gnu-emacs@HIDDEN; Sat, 27 Dec 2025 14:55:16 -0500
Received: by mail-vs1-xe34.google.com with SMTP id
ada2fe7eead31-5dbe6be1ac5so3182396137.1
for <bug-gnu-emacs@HIDDEN>; Sat, 27 Dec 2025 11:55:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1766865313; x=1767470113; darn=gnu.org;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=gj/cEF8qlsBuWlpdXgLCzujSF0uWX3FiTDUXSVaD3Y4=;
b=FAxucc19ZyKoWHX9gHXGBofHCb5DIed7nTgyg9pjHfZ3zA+cUWCJUTXEQx3wiT2nBN
yOpap3Iq/1tL6G9pFrAJ8JB5v5jMwzlxNp5oaKd5NIM4mNrYk2DHqP1dJjzFPd0RrZhu
SEpCSIRg8ucvlLGx8VMcEkq8VoELE2t1hIi/3EZdBouWDyIvDfY6xsef5ZD970z1x0e/
6E1bLfHn+al9gnQnGrKmCKDt5GKyv8NA52L2yFPwn4LrAoJt8iE3Ka3Ju1w6fLacuVjV
A7qCCs4aGHJsHLoK8f4b4aMK95tLTAjcdjxt3AF8V5mYxL8ZHJq9lPvZcqk35XPVsCQq
tUUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1766865313; x=1767470113;
h=to:subject:message-id:date:from:mime-version:x-gm-gg
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=gj/cEF8qlsBuWlpdXgLCzujSF0uWX3FiTDUXSVaD3Y4=;
b=UPL3cjqlHDvb0ZWJdqbcm4NDejDqlyeeSOULHVYR70CmK/W93yFbmIeE/HWlxCEhBq
fbNlwE+vnFLHgWfz8GqpMX84b1CTK5/LXZO0uE8bYHfKd3Xuwlsn2aqY3NSY/EnTvzxE
VY4UA+r/kocYtSZYIu3MFnBt7rTTU1bwJJ9f+C4BdFSg3K0A6iogpYfxV6deFJJB+Z7e
Sx95AcstN9KNIN17iffkmmaYSTTOiyv0JmoRKUiVtkvmzjSxtl66NERsa8yWsjRlc0hj
DzGVWHx4x6/7c7nQFvPCt59aV7NvnVIYiT8WXb3uBZHJWQQxdv0JuLO72y/aPNXV0NO6
A10A==
X-Gm-Message-State: AOJu0Yx3WNk3krJWkCHiie/O05ksqmEC2C08+V2IkSkndcQeed/FrRaq
ueRGTV/lrsFxZCyXFuVugT5rP6X4W4GhKchN2u8vzX7PqZuPsJgiUwRSikGetpz7KkyQtAEIwgO
7d5CrcLK08nL3U8Ck7Sc09d8UBVdtiVT45X2y
X-Gm-Gg: AY/fxX4z5jMrJzynwbJBMf9bd7LAxW1L1JOzHc4Tn18aNxT2FD+i89QA9t2pTPjfzf+
raI2+myHolQghNAyeO9TtzA09fC6osX8Cm1kDbqb9qa3YHd1qdQ5eRsGkM3OFGVhSd2A5oBL8mD
xMlsKeOV6dDYzymRqjFPeh9Rx+QmRduOp+vJ/uda5kr9PXO7Et8/uB+YE/bHu+UGJkHLuvpR0+P
/m4Zfjiew8CKjDn4mkG21IpuTDqOrfNSfMmexl7ro5RVcgVk4YjOSGr1UsDtwQTzSbIA48=
X-Google-Smtp-Source: AGHT+IE0cijugGj3aw8C8NKZr2u3NrFkyHD233bXdf/PeHGpTwFZ4THvEj5MjrD129KWve5FlSNLpi425RG+hO1lq5I=
X-Received: by 2002:a05:6102:2c10:b0:5d7:de24:5b3e with SMTP id
ada2fe7eead31-5eb1a631349mr8032916137.6.1766865313344; Sat, 27 Dec 2025
11:55:13 -0800 (PST)
MIME-Version: 1.0
From: =?UTF-8?Q?St=C3=A9phane_Marks?= <shipmints@HIDDEN>
Date: Sat, 27 Dec 2025 14:55:01 -0500
X-Gm-Features: AQt7F2p5d7R_jiPLS68_0cXsq_Pw5-h7v7xP24-DklarZCT9Hs5q0Tjh0d3eF4g
Message-ID: <CAN+1Hboa6-92NbVTqdsLi+8YShPKibNTrfgV+wqytnooa2gz7g@HIDDEN>
Subject: format-spec should respect text properties from "text"
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/alternative; boundary="0000000000005e30820646f46301"
Received-SPF: pass client-ip=2607:f8b0:4864:20::e34;
envelope-from=shipmints@HIDDEN; helo=mail-vs1-xe34.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,
HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
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: -0.0 (/)
--0000000000005e30820646f46301
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
(require 'format-spec)
(font-lock-mode -1)
(format "%S"
(format-spec (concat
(propertize "%>-10a" 'face '(:weight bold))
(propertize "%>-10b" 'face '(:weight bold)))
`((?a ,@(propertize "AAAAA" 'face '(:foreground "red")))
(?b ,@(propertize "BBBBB" 'face '(:foreground "red"))))))
;; "#(\"AAAAA BBBBB \" 0 5 (face #1=3D(:weight bold)) 5 10 (face #1=
#)
10 15 (face #2=3D(:weight bold)) 15 20 (face #2#))"
I was expecting BBB to be bold and red.
The documentation says "Any text properties of the format specifications
are copied to their replacements." but it doesn't say that it isn't
cumulative. It is arguable that copy means replace or append to.
How about an option to prepend or append text properties from the spec
rather than wholesale replace them?
-St=C3=A9phane
--0000000000005e30820646f46301
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_default" style=3D""><font face=3D"mono=
space">(require 'format-spec)<br>(font-lock-mode -1)</font></div><font =
face=3D"monospace">(format "%S"<br>=C2=A0(format-spec (concat<br>=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(propertize "%&=
gt;-10a" 'face '(:weight bold))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0 =C2=A0(propertize "%>-10b" 'face =
9;(:weight bold)))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 `((?=
a ,@(propertize "AAAAA" 'face '(:foreground "red&quo=
t;)))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (?b ,@(pro=
pertize "BBBBB" 'face '(:foreground "red"))))))=
<br><br>;; "#(\"AAAAA =C2=A0 =C2=A0 BBBBB =C2=A0 =C2=A0 \" 0=
5 (face #1=3D(:weight bold)) 5 10 (face #1#) 10 15 (face #2=3D(:weight bol=
d)) 15 20 (face #2#))"</font><div><br></div><div><div class=3D"gmail_d=
efault" style=3D"font-family:monospace">I was expecting BBB to be bold and =
red.</div><div class=3D"gmail_default" style=3D"font-family:monospace"><br>=
</div></div><div><div class=3D"gmail_default" style=3D"font-family:monospac=
e">The documentation says "Any text properties of the format specifica=
tions are copied to their replacements." but it doesn't say that i=
t isn't cumulative.=C2=A0 It is arguable that copy means replace or app=
end to.</div><div class=3D"gmail_default" style=3D"font-family:monospace"><=
br></div><div class=3D"gmail_default" style=3D"font-family:monospace">How a=
bout an option to prepend or append text properties from the spec rather th=
an wholesale replace them?</div></div><div><div class=3D"gmail_default" sty=
le=3D"font-family:monospace"><br></div><div class=3D"gmail_default" style=
=3D"font-family:monospace">-St=C3=A9phane=C2=A0</div></div></div>
--0000000000005e30820646f46301--
Stéphane Marks <shipmints@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#80078; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.