GNU bug report logs - #79285
[Patch] support :font-features in face

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Binbin YE <phantom2501@HIDDEN>; Keywords: patch; dated Thu, 21 Aug 2025 15:16:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 79285 <at> debbugs.gnu.org:


Received: (at 79285) by debbugs.gnu.org; 28 Aug 2025 06:05:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 28 02:05:11 2025
Received: from localhost ([127.0.0.1]:38004 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1urVkz-0006Dr-Qi
	for submit <at> debbugs.gnu.org; Thu, 28 Aug 2025 02:05:11 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:45596)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1urVkx-0006AB-0d
 for 79285 <at> debbugs.gnu.org; Thu, 28 Aug 2025 02:05:07 -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 1urVkr-0001kY-Ki; Thu, 28 Aug 2025 02:05:01 -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=WKr5m68JgJLLQmWtWNfsIsbgcy2v0q1DjnR9hmLxeO0=; b=gn3u53x5PWEC
 k++bJRm3pxIyIet8IdUJM7CIOV7fhq+WStceNp7S84tw8/vftQo12UEMOXi0O5JvjfEDgnm/D1HVv
 DOGewyf1jGHUVgbJrKSVd0WKyICSAJOQJdMyTJsWWKmhtd2gWneBN5hD8gs/s9Jc/G0vSuGZbNKOI
 1X7ibBS/vy1HZQC7OXHQOHxrRGk3X1pqH0jdijfInSNcSZgzrc675EMg62h8SVzEadwkgZewyqnj2
 1g74+GTSm+adyhuCz8MqbBDsZowsqbIY4JEOMTxYOidZLGNFwbE6SoAXP8S+bPS+YErrRcxVX8G2f
 me19gvtcGWXwhcUMiYxCdA==;
Date: Thu, 28 Aug 2025 09:04:59 +0300
Message-Id: <86y0r4rng4.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Binbin YE <phantom2501@HIDDEN>
In-Reply-To: <CABVdjjDjh5O+qYaTPCuFSCAyMiY5V1FfLcQyUtX=sp9mesYmgg@HIDDEN>
 (message from Binbin YE on Thu, 28 Aug 2025 10:36:45 +0900)
Subject: Re: bug#79285: [Patch] support :font-features in face
References: <CABVdjjDj0HHXPjhB6MNf5Rp=ye_8de805_kZyQef__SjC4N9hQ@HIDDEN>
 <861pp2b3qz.fsf@HIDDEN>
 <CABVdjjBBnR28Q1XghBr12zfQ1peYdSccW+P_0q=Gc2zxYh8TSA@HIDDEN>
 <86frdh8dvh.fsf@HIDDEN>
 <CABVdjjDjh5O+qYaTPCuFSCAyMiY5V1FfLcQyUtX=sp9mesYmgg@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79285
Cc: 79285 <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: Binbin YE <phantom2501@HIDDEN>
> Date: Thu, 28 Aug 2025 10:36:45 +0900
> Cc: 79285 <at> debbugs.gnu.org
> 
> I found I needed extra handling to support alist merging for the font features, which took a bit longer than
> expected.

Thanks, and take your time.  There's no rush.

> I am currently wrapping up the code before sending the updated patch. Can you help me understand what
> indentation guidelines are?

Sure.

> > > +      if (CONSP (font_features))
> > > +          font_put_extra (entity, QCfont_features, font_features);
>          ^^^^
> > We use indentation offset of 2 columns in C sources.
> 
> I tried clang-format with .clang-format configuration in the repository and it produces indents mixed with tab
> and space. Like <tab><space><space>

We use mixed TABs+SPCes for indentation, so this is okay.

> And I spotted the existing code base in xfaces.c sometimes uses all spaces and sometimes uses mixture of
> tab and space for indentation.

That is in general a mistake, it should use TABs where possible.  But
we don't make whitespace-only changes, we only fix these issues as
part of a larger changeset that touches the relevant places in the
code.  So sometimes such mistakes are left alone for some time.

> Is it OK to treat 1 indent level = 2 spaces?

Yes.

If you edit with Emacs, then the .dir-locals.el file in our repository
should set up the indentation for you, and then marking the region and
typing C-M-\ will reindent the region according to our rules.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79285; Package emacs. Full text available.

Message received at 79285 <at> debbugs.gnu.org:


Received: (at 79285) by debbugs.gnu.org; 28 Aug 2025 01:37:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 27 21:37:07 2025
Received: from localhost ([127.0.0.1]:37546 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1urRZa-0000aW-3E
	for submit <at> debbugs.gnu.org; Wed, 27 Aug 2025 21:37:07 -0400
Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:47310)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <phantom2501@HIDDEN>)
 id 1urRZX-0000Z8-6C
 for 79285 <at> debbugs.gnu.org; Wed, 27 Aug 2025 21:37:03 -0400
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3c84925055aso308105f8f.2
 for <79285 <at> debbugs.gnu.org>; Wed, 27 Aug 2025 18:37:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1756345017; x=1756949817; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=iQuoL/OshslHSzpYKKinErhw+2/HPYj3IGFjpNWiiyU=;
 b=Sk4le60d17+hxJfELWQ/10WCBSpoDeSonh6ZU0zslKVoyz582zKWEyFzNPdIeGzdJe
 Wcpv3gbFeNmnZG4C6Tb9Xilips8TP1g3gqp3Oqx8ErpCNco/fEE9gK95hZ5tnTur8OlW
 2trkuafxlqbJZt19FPnCv4X7F/OApUq6agw0IPSb9pKkjzApq+P//qmA0snn/MnJVZfG
 SCGgCcEPke+1UYk3IFzxtnMXxSe/KNRTS8nzlLwyiTx7E4x9kN/9Vbb5UJ+EJOUr9k36
 HJ8l7CkA4HTpOTlxrouMvPiss+ics7Du3v6r0nBchG48ue0ClLzAJDNCU9IvVCjrfCxV
 dcxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1756345017; x=1756949817;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=iQuoL/OshslHSzpYKKinErhw+2/HPYj3IGFjpNWiiyU=;
 b=Gn1w3EgHlLaJv0FDaZskGFm0rr9KegSw28UyYLlDiPqj1xIH3zst4yhC4uUQBt121o
 TB36R17J8PfLQuxudQQvcIBKh7brdGUgGbpojuDmPUh1JQDpS5WKHNYtANfHHzTnsBtj
 0Rt0vyvVxfBEg4Orx1/d5AqiaE3E7foytjTvjwfmZyoGHfqgOOZ9hNjpjJZGjYAyJ4ya
 qUnUdW1cElDMZNcz3JuRBDmMDMjtjucOLzf7v/zWl05hU+1tvrQ3ZSDO6ywkF8SMB2tW
 0qVu1OdCXHGWilxTB6zOKgsABlfDzzXC0bFwvEP23hRCodl1SsgZA69KWNPM93v2OLs7
 HnpA==
X-Gm-Message-State: AOJu0YzyByfqBRs2T2mRRI0UUtZFVL2ESnD1TB7rVISNN9WFk3hpaVyK
 qO5fe/PiUwl7PpjSDBkF4il7zgwlLNwUpzUUSJynFv+Ut+aFKK5hZZSZybC83JSRYny1zfyG6IR
 Zk6r+yONg63Bpd63SIFirzPLxvz3ly7TDTm8v
X-Gm-Gg: ASbGnctJvK2/gAB0XW2dfQL+jMtUhjPlLDDlMqObK4fYN1OWBO92LBRLxxO3/jXotqs
 n2H5Yd5no+YP+rCn44Q56M5QjOX9uxyu3e6N0ilcX+tMq4cL5zbaFsTbVTf52qt0sY8G7M8lmxU
 IvOccj1WO8D4zRuUErBOcEthwFqUC95gbB8WxdSpRqNZd70Rwizrdf69CtNzrKpuZaRecMtiY1Z
 Pabz+ctC2t/nSJHITY=
X-Google-Smtp-Source: AGHT+IEBuLLjEEb5ckww8nvE4Xiwz4EPcry1+f5MX+ZM+9xJUlUoUKegz0aE95kNkS611/JT8wGTt6geyKWf0+5xZL0=
X-Received: by 2002:a05:6000:240c:b0:3c9:9ec0:203b with SMTP id
 ffacd0b85a97d-3c99ec02f4bmr10158179f8f.27.1756345016417; Wed, 27 Aug 2025
 18:36:56 -0700 (PDT)
MIME-Version: 1.0
References: <CABVdjjDj0HHXPjhB6MNf5Rp=ye_8de805_kZyQef__SjC4N9hQ@HIDDEN>
 <861pp2b3qz.fsf@HIDDEN>
 <CABVdjjBBnR28Q1XghBr12zfQ1peYdSccW+P_0q=Gc2zxYh8TSA@HIDDEN>
 <86frdh8dvh.fsf@HIDDEN>
In-Reply-To: <86frdh8dvh.fsf@HIDDEN>
From: Binbin YE <phantom2501@HIDDEN>
Date: Thu, 28 Aug 2025 10:36:45 +0900
X-Gm-Features: Ac12FXxk7jbPaAoyH3Npnsd7LVDt1Q1ou2W9p4yfMjD8epnpinyo7orwSi5TC5M
Message-ID: <CABVdjjDjh5O+qYaTPCuFSCAyMiY5V1FfLcQyUtX=sp9mesYmgg@HIDDEN>
Subject: Re: bug#79285: [Patch] support :font-features in face
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000ce808d063d62f0c2"
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 79285
Cc: 79285 <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: -0.7 (/)

--000000000000ce808d063d62f0c2
Content-Type: text/plain; charset="UTF-8"

Hi Eli,

I found I needed extra handling to support alist merging for the font
features, which took a bit longer than expected.

I am currently wrapping up the code before sending the updated patch. Can
you help me understand what indentation guidelines are?

> > +      if (CONSP (font_features))
> > +          font_put_extra (entity, QCfont_features, font_features);
         ^^^^
> We use indentation offset of 2 columns in C sources.

I tried clang-format with .clang-format configuration in the repository and
it produces indents mixed with tab and space. Like <tab><space><space>

And I spotted the existing code base in xfaces.c sometimes uses all spaces
and sometimes uses mixture of tab and space for indentation.

Is it OK to treat 1 indent level = 2 spaces?

--000000000000ce808d063d62f0c2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi=C2=A0Eli,<div><br></div><div><div>I found I needed extr=
a handling to support alist=C2=A0merging for the font features, which took =
a bit longer than expected.</div><div><br></div><div></div></div><div>I am =
currently wrapping up the code before sending the updated patch. Can you he=
lp me understand what indentation guidelines are?</div><div><br></div><div>=
&gt; &gt; +=C2=A0 =C2=A0 =C2=A0 if (CONSP (font_features))<br>&gt; &gt; +=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 font_put_extra (entity, QCfont_features,=
 font_features);<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^^^^<br>&gt; We use i=
ndentation offset of 2 columns in C sources.</div><div><br></div><div>I tri=
ed clang-format with .clang-format configuration in the repository and it p=
roduces indents mixed with tab and space. Like &lt;tab&gt;&lt;space&gt;&lt;=
space&gt;</div><div><br></div><div>And I spotted the existing code base in =
xfaces.c sometimes uses all spaces and sometimes uses mixture=C2=A0of tab a=
nd space for indentation.</div><div><br></div><div>Is it OK to treat 1 inde=
nt level =3D 2 spaces?</div></div>

--000000000000ce808d063d62f0c2--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79285; Package emacs. Full text available.

Message received at 79285 <at> debbugs.gnu.org:


Received: (at 79285) by debbugs.gnu.org; 24 Aug 2025 05:53:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 24 01:53:17 2025
Received: from localhost ([127.0.0.1]:43020 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uq3fJ-0002Dg-7u
	for submit <at> debbugs.gnu.org; Sun, 24 Aug 2025 01:53:17 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:47880)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uq3fH-0002DU-7q
 for 79285 <at> debbugs.gnu.org; Sun, 24 Aug 2025 01:53:15 -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 1uq3fB-000438-LD; Sun, 24 Aug 2025 01:53:09 -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=42xlINnAqgpwhc8/gpQVqCm2pzbWr4kXW+Cet+jIXxw=; b=XQZqRO9bxLeN
 HWjYuOSP+PYEqypffLU+V6oSeI80TBySIVHgWVZE17v6zh3lIp802p4iRuo2DSU9rQkfCjDpiKidE
 G4/4L3Bgn4SsD71LZ62wJdj9eGP1ZHRdhsG9mifjKkZsCqxSUMXK86cYZA7esQ9PfN5TU1oh2LXKR
 wIwV5NtszSVQ/okwOaLYRBDiLQkgyrbitNOJYtvfWBw/WBAjGyvJwUIkwq4ramu/KKGgW5AZorT33
 bLvmRy+dBYzFs8upZd1M/7BnTHC+rvpja5UPrpnvB5sg5+mgp7V1Lwt3jh6yeymdIrsLRc+8Q/h8A
 ouiQYDaqmv/+D48KuI7Kpg==;
Date: Sun, 24 Aug 2025 08:53:06 +0300
Message-Id: <86frdh8dvh.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Binbin YE <phantom2501@HIDDEN>
In-Reply-To: <CABVdjjBBnR28Q1XghBr12zfQ1peYdSccW+P_0q=Gc2zxYh8TSA@HIDDEN>
 (message from Binbin YE on Sun, 24 Aug 2025 09:17:10 +0900)
Subject: Re: bug#79285: [Patch] support :font-features in face
References: <CABVdjjDj0HHXPjhB6MNf5Rp=ye_8de805_kZyQef__SjC4N9hQ@HIDDEN>
 <861pp2b3qz.fsf@HIDDEN>
 <CABVdjjBBnR28Q1XghBr12zfQ1peYdSccW+P_0q=Gc2zxYh8TSA@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79285
Cc: 79285 <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: Binbin YE <phantom2501@HIDDEN>
> Date: Sun, 24 Aug 2025 09:17:10 +0900
> Cc: 79285 <at> debbugs.gnu.org
> 
> Thank you for the review of the patch. I'll update the changes in short, together with NEWS and the ELisp
> manual.

Thanks.

> > Last, but not least, to accept a contribution of this size, we will
> > need you to sign a copyright-assignment agreement with the FSF.  If
> > you are prepared to do that, I will send you the form to fill and the
> > instructions to go with it.
> 
> I am aware of the existence of the agreement, and I am ready to sign it. While I'm working on the patch, we
> can proceed the paperwork in parallel

Form sent off-list.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79285; Package emacs. Full text available.

Message received at 79285 <at> debbugs.gnu.org:


Received: (at 79285) by debbugs.gnu.org; 24 Aug 2025 00:17:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 23 20:17:31 2025
Received: from localhost ([127.0.0.1]:42231 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1upyQM-00086C-IM
	for submit <at> debbugs.gnu.org; Sat, 23 Aug 2025 20:17:30 -0400
Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:49421)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <phantom2501@HIDDEN>)
 id 1upyQK-00085y-Rk
 for 79285 <at> debbugs.gnu.org; Sat, 23 Aug 2025 20:17:29 -0400
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-45a1b0d224dso16609495e9.3
 for <79285 <at> debbugs.gnu.org>; Sat, 23 Aug 2025 17:17:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1755994642; x=1756599442; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=RoT/cgnwtq0smV+fO2YpXmT4acjIZrXKWAolj+KHjFs=;
 b=PHmcwPmUxz9EphHWlbUfwAiWM8MHG6YJVDXM/jnQ7zWnsmAC6kT5aGwY+hdZnsFe5Z
 ZqpKuSMoQxglOAUUboenAyN5Y5QvnTgFpxUxAHrKRQkgqwWEGpth3jxC4tXw+WvysU4b
 4e2wgeIRJkLvE5h/f3O03icS+Yn0Cvq48hIZ1mz5NXziXvDq07M8WUfi1zeHzjpPNdXX
 ugmNiczxMM0DXRqwzoTdGHoZ9vvLBOE9kcxND09UtmDDe/siPisLmVqes/5Sh//Jwe5F
 N4ruxBtOQbg2XGMer/Ci6dhtnrJEOgv2ahLk8/5ui+MYoXCcyknaFYTLJ9jYBJ2nr3+B
 yWEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1755994642; x=1756599442;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=RoT/cgnwtq0smV+fO2YpXmT4acjIZrXKWAolj+KHjFs=;
 b=ogMZ/F1VrjB0W9gpUoX3XKAMGaiDiea/CluFiaziwWrJwgA7/LxbvBRtAseJnJzd8K
 cyIc/uxCpksbLR3BwMvSha7Af0M46R0hWmIcgGv7ZBIp/OiN9RTfwnqAWlya3vX68Lma
 HmAkcAPyTd70h4VkjZmLRH23jen8vmR4Qb7YO7GveuCOfrTqxkq4hzlk8CDSiSEs5tA/
 XYRCZy/3qeovdEQj0TkA/n5E8rRQEe3281rFNri5VhsiGlPOXJTKyPMGz8rjfltAtTXb
 EmYWKVCV0VWP4EH7edWWOqnEnaoTLOnZmRN7dnlNGH+ZVrn27F4HRdFQESsvbd8snADK
 AWKA==
X-Gm-Message-State: AOJu0YybAyjRiEnSNC/KUO1l5x3e8d1Afw8UNbhbcnBWYPJdfKM1fhTK
 4Fs2CKAuivpIdK8jXIXOJHHnxkBIriDaAx/CeXPkdee0XjXwhs1aizi8x23GSL5yTk9RphjHJrd
 +W3bRgbnIA0/Kj0GjlOQvJflC79MqCjs=
X-Gm-Gg: ASbGncvMeVGqvV8ikSoffAiP0BM/TOJUG1NLNuqIGSBbHvEgvi8TLKu0hyIHIrlsQdy
 N06tLzfH+foPy0vUyPyl/yAMKcoyUEEbCJdJ8mYVtVULt11eibAb15AUWyrLrZPAKfvJ9/gY0dq
 D0K68uQ75tbo0QpHFGlZb89n3DP4G9kf4hDwEwxhik+2i9/d87PxwT1ympeOR+xcjqLCHd2FCpM
 NoT1/jM/WAoI7ekMnrKY0gqpL1q9GUC5usDYjNL/xDurfvXM62pKR/aLA==
X-Google-Smtp-Source: AGHT+IGv2b3F3ZPo6MJRPW1LlvoS4LJOftmmazzBLE78bSpam2zaJ9OOHPxyH3oPx5RqLNrPReDC9sFtVoKq074fujk=
X-Received: by 2002:a05:600c:1c11:b0:456:161c:3d6f with SMTP id
 5b1f17b1804b1-45b51796376mr57680035e9.11.1755994641783; Sat, 23 Aug 2025
 17:17:21 -0700 (PDT)
MIME-Version: 1.0
References: <CABVdjjDj0HHXPjhB6MNf5Rp=ye_8de805_kZyQef__SjC4N9hQ@HIDDEN>
 <861pp2b3qz.fsf@HIDDEN>
In-Reply-To: <861pp2b3qz.fsf@HIDDEN>
From: Binbin YE <phantom2501@HIDDEN>
Date: Sun, 24 Aug 2025 09:17:10 +0900
X-Gm-Features: Ac12FXxmiB1Oup6duB5JyWLIVN42wkv6tBKJDz0-V4BVxFProCBDe3xsZ4lChYg
Message-ID: <CABVdjjBBnR28Q1XghBr12zfQ1peYdSccW+P_0q=Gc2zxYh8TSA@HIDDEN>
Subject: Re: bug#79285: [Patch] support :font-features in face
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000d9e0ed063d115c59"
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 79285
Cc: 79285 <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: -0.7 (/)

--000000000000d9e0ed063d115c59
Content-Type: text/plain; charset="UTF-8"

Hi Eli,

Thank you for the review of the patch. I'll update the changes in short,
together with NEWS and the ELisp manual.

> Last, but not least, to accept a contribution of this size, we will
> need you to sign a copyright-assignment agreement with the FSF.  If
> you are prepared to do that, I will send you the form to fill and the
> instructions to go with it.

I am aware of the existence of the agreement, and I am ready to sign it.
While I'm working on the patch, we can proceed the paperwork in parallel

Best,

Binbin

--000000000000d9e0ed063d115c59
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Eli,<br><br>Thank you for the review of the patch. I&#3=
9;ll update the changes in short, together with NEWS and the ELisp manual.<=
br><br>&gt; Last, but not least, to accept a contribution of this size, we =
will<br>&gt; need you to sign a copyright-assignment agreement with the FSF=
.=C2=A0 If<br>&gt; you are prepared to do that, I will send you the form to=
 fill and the<br>&gt; instructions to go with it.<br><br>I am aware of the =
existence of the agreement, and I am ready to sign it. While I&#39;m workin=
g on the patch, we can proceed the paperwork in parallel<br><br>Best,<br><b=
r>Binbin</div>

--000000000000d9e0ed063d115c59--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79285; Package emacs. Full text available.

Message received at 79285 <at> debbugs.gnu.org:


Received: (at 79285) by debbugs.gnu.org; 23 Aug 2025 12:51:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 23 08:51:29 2025
Received: from localhost ([127.0.0.1]:39034 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1upniS-0006Ax-Pc
	for submit <at> debbugs.gnu.org; Sat, 23 Aug 2025 08:51:29 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:35576)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1upniO-0006Ab-8M
 for 79285 <at> debbugs.gnu.org; Sat, 23 Aug 2025 08:51:26 -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 1upniI-0003Nw-Lw; Sat, 23 Aug 2025 08:51:18 -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=n5cf3h4uyZtosi32lvBaQKCyGTGq45HHTKhNauzlFCU=; b=h0WRzfzMDlE5
 jIigdF85L1ofQYzoRrWAFRpRChkWSmWJeYo6uJTdsbFHFpTE4q6XdGLkTOZN1CKV6qAuEicZanH8L
 QzSAuc2zM5sgMVvvF23erprVnsua+xIas4upTi9Bv/fc4bhtRVj+69m3gNFiYH3+K5odQLqHOX3F8
 g7fSM3ZqHeJjMcW+Ag7HWlYP8FvXsD1y+Zksccc45QG5EPNp/wjNAWVfa2lXFRfPbNNwUc4pLRc/Y
 KcZfc+PnY6sDFohlSYEA77VZs5t1yZzJkp3kv9kVILGq2Sx8aElVbGWVdksEMmtQT/ECVMiWl12Fb
 6IoGtPOg6AJLyonPDEhEnA==;
Date: Sat, 23 Aug 2025 15:51:16 +0300
Message-Id: <861pp2b3qz.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Binbin YE <phantom2501@HIDDEN>
In-Reply-To: <CABVdjjDj0HHXPjhB6MNf5Rp=ye_8de805_kZyQef__SjC4N9hQ@HIDDEN>
 (message from Binbin YE on Thu, 21 Aug 2025 23:28:53 +0900)
Subject: Re: bug#79285: [Patch] support :font-features in face
References: <CABVdjjDj0HHXPjhB6MNf5Rp=ye_8de805_kZyQef__SjC4N9hQ@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79285
Cc: 79285 <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: Binbin YE <phantom2501@HIDDEN>
> Date: Thu, 21 Aug 2025 23:28:53 +0900
> 
> It is my first time trying to contribute to Emacs source code.
> 
> The change is adding support for enabling stylistic set (font features) when using harfbuzz font backend. It is
> a commonly supported feature in the editors. See following links
> 
> https://code.visualstudio.com/docs/terminal/appearance#_font-feature-settings
> 
> https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings
> 
> The change adds :font-feature configuration like following
> 
> (set-face-attribute 'default nil :font "JetBrains Mono" :height 80
>   :font-features '((zero . 1) (ss19 . 0) (calt . 1)))
> 
> The render result can be confirmed by adding "0" to composition table 
> 
> (set-char-table-range composition-function-table
>   ?0
>   '(["." 0 font-shape-gstring]))

Thanks, this is an important feature to have in Emacs.

If implemented as a face property, as you have done in your patch, we
should also modify the face-merging code to be able to merge two lists
of features int a single list that includes all of the features,
right?  This is what should happen when two faces with non-nil
:font-features attribute are merged.

> I have read the CONTRIBUTE file and tried to make the commit message as clear as possible. Please let me
> know the code review process to get the patch accepted.

See a few comments below.

In addition, this will need s NEWS item and a suitable addition to the
ELisp manual, where the face attributes are described.

Last, but not least, to accept a contribution of this size, we will
need you to sign a copyright-assignment agreement with the FSF.  If
you are prepared to do that, I will send you the form to fill and the
instructions to go with it.

> +      /* Store font features from face attributes for use during shaping */
                                                                          ^^
Our style is to end the commend with a period and two spaces, before
"*/".

> +      if (CONSP (font_features))
> +          font_put_extra (entity, QCfont_features, font_features);
         ^^^^
We use indentation offset of 2 columns in C sources.

> +/* Convert Lisp font features to HarfBuzz features.
> +   FEATURES is a list of (feature . value) pairs.
> +   Returns the number of features converted, fills HBFEATURES array.
> +   Caller must ensure HBFEATURES has enough space. */
                                                    ^^
Two spaces there.

About "enough space" -- how many features could a font have?  And what
to do if it has more than 32?  GNU coding conventions frown on
arbitrary limits, and 32 sounds like it's quite arbitrary.  Can we do
better?

> +          Lisp_Object feature_sym = XCAR (feature_spec);
> +          Lisp_Object feature_val = XCDR (feature_spec);
> +
> +          if (SYMBOLP (feature_sym) && FIXNUMP (feature_val))

Are we sure the value cannot be larger than most-positive-fixnum?
Emacs can handle larger values if needed.

> @@ -491,7 +526,20 @@ hbfont_shape (Lisp_Object lgstring, Lisp_Object direction)
>    if (!hb_font)
>      return make_fixnum (0);
>  
> -  hb_bool_t success = hb_shape_full (hb_font, hb_buffer, NULL, 0, NULL);
> +
> +  /* Get font features from the font object */
> +  Lisp_Object font_features = Ffont_get (LGSTRING_FONT (lgstring), QCfont_features);
> +  static hb_feature_t features[32];  /* Cache features array, reasonable max size */
> +  int num_features = 0;
> +
> +  if (!NILP (font_features))
> +    {
> +      num_features = hb_features_from_lisp (font_features, features, 32);
> +    }
> +
> +  hb_bool_t success = hb_shape_full (hb_font, hb_buffer, features, num_features, NULL);

I think it is safer to pass NULL instead of 'features' if we know
there are no features.

Also, our style is not to use braces when the block has only one
statement.

> @@ -2917,6 +2923,13 @@ merge_face_ref (struct window *w,
>  		  else
>  		    err = true;
>  		}
> +	      else if (EQ (keyword, QCfont_features))
> +		{
> +		  if (NILP (value) || CONSP (value))
> +		    to[LFACE_FONT_FEATURES_INDEX] = value;
> +		  else
> +		    err = true;
> +		}

As mentioned above, I think we should be smarter here: instead of
overwriting the value of :font-features of the target face, we should
merge the two lists so that it includes the features from both faces.
Font features from FROM should override the same features from TO, but
font features which exist in TO but not in FROM should be left in the
resulting list.

Thanks again for working on this, and for your interest in Emacs.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79285; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 21 Aug 2025 15:15:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 21 11:15:04 2025
Received: from localhost ([127.0.0.1]:60869 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1up70I-00046Q-Ex
	for submit <at> debbugs.gnu.org; Thu, 21 Aug 2025 11:15:04 -0400
Received: from lists.gnu.org ([2001:470:142::17]:37826)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <phantom2501@HIDDEN>)
 id 1up6I5-0001np-Ry
 for submit <at> debbugs.gnu.org; Thu, 21 Aug 2025 10:29:23 -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 <phantom2501@HIDDEN>)
 id 1up6Hy-0007W0-4R
 for bug-gnu-emacs@HIDDEN; Thu, 21 Aug 2025 10:29:14 -0400
Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <phantom2501@HIDDEN>)
 id 1up6Ht-0006kJ-Vd
 for bug-gnu-emacs@HIDDEN; Thu, 21 Aug 2025 10:29:13 -0400
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-45b4d892175so3733935e9.2
 for <bug-gnu-emacs@HIDDEN>; Thu, 21 Aug 2025 07:29:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1755786546; x=1756391346; darn=gnu.org;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=kankiADm+PUGu61tCCcdL2t7gArVBdtX9FZ/zP5co+o=;
 b=RYYIMZv2AVj3CeEZILs4luurga8VUBZrgn2rDcV5d7jA4xIS1KhIT+cFKkuo5a2XsJ
 tSwlUtSryu/4k3fvAQb1zhYfGkMa33LjFXCnq2Pd6q7eoWM65yQ/PWSKOYkWspCs0+ts
 fIkVhOvwd/Kk+ZT/7cDh8Sn7x4qPfSxGGjYqkn2hJonsl8FUaxp08kDTeM0mGuwiMWNh
 E+b/XsRi+jTNvOrhWFBMrfe5PfmgFTQ8uxpGeSy0pKsMZfcEFc3EurYlR0hys/MQFyOg
 Xv0HhZDBG68XJ7LKz+brLB2MyTtNigadiVqZ0sLGoxDX7Mq2eiqcBKRLi33EvJVy7VLS
 IDoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1755786546; x=1756391346;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=kankiADm+PUGu61tCCcdL2t7gArVBdtX9FZ/zP5co+o=;
 b=vR8KKiLo19R7/4vWgHk3e/xlDlVL95nOgO6E3PLhWeNtEtK0cMp35/x4jQmFVg3pn7
 a1CYNNPPTDzMYlVX3M6HUDW26t86ne1xSvkadhR3P9OdkuPBATwZiZx9bdctYciH+udi
 tm7JLZTjDkMFFtiQPxgzj7mTwQL0KliQqh5oUQEMcbJgptBSaz9J1Vq8YGVIL6lBl8rt
 edmgIgq1q1xhzDC7OBHlOVT8bSTbPRZbn9NJBnf8WOrId3aTbGd+micaX7MCog7dTite
 RU9gRlBPPDQPXJ/Pctwq6tF4h1sCD0WzQYQ7U3WyBrR85S38Uq1C3Dh99iZtadzNcimU
 z8BQ==
X-Gm-Message-State: AOJu0YwfRpIo/iNORqMtPLbWSKjZtKtmu/lH5oIz1Ej5DetdpegfrrPw
 aC2F6l6+QkaOsI2MbYkmaA5mE1Nd8hBMPjqfy9Wb2J1eh6Uwzli3EL/TpJf2cTvceR8bYcVxG7a
 xCWLwLYoYRXo95bbE5ZDjeVkzl5QpcOkjTX3z
X-Gm-Gg: ASbGncvgPolIK7gYjyJ0xb7IzCFUrg/nbiP1U/M2F3Ad3NVulThTZFC8iQ05SimZaX3
 F81o9cqagYzoZ9DApx6On0CL4tODkRo4I63fPedWgdDLWihYx0YBWHNM9Q2lnk2F4thKvnVTmg7
 vScHoAWTNgzz/gdJ6sRokXzvN4M+lcng8fK/ki3lS33EfA9cIRjpHYT5vy4uwhqI2xIKK/RYvKN
 JFjqE+XlocFYT1OgoF4lafulDnWNXaTIdF8
X-Google-Smtp-Source: AGHT+IGdC3WNc3OJA5p0GElkaxEMjKDQlyTY+6RJNH4Rsky2Y3pq7GsIV5s+JcW37PQHfojR2KP51Bak9Bt1qV4D9LA=
X-Received: by 2002:a05:600c:1909:b0:43c:ea1a:720a with SMTP id
 5b1f17b1804b1-45b4d7cef1amr18215455e9.1.1755786545540; Thu, 21 Aug 2025
 07:29:05 -0700 (PDT)
MIME-Version: 1.0
From: Binbin YE <phantom2501@HIDDEN>
Date: Thu, 21 Aug 2025 23:28:53 +0900
X-Gm-Features: Ac12FXwFNk1DgIBKQhlYJ2WDMv8_imwD384xZEGNPE-8ZeAltpt3tmaxZanr2YM
Message-ID: <CABVdjjDj0HHXPjhB6MNf5Rp=ye_8de805_kZyQef__SjC4N9hQ@HIDDEN>
Subject: [Patch] support :font-features in face
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/mixed; boundary="000000000000594a7b063ce0e9d1"
Received-SPF: pass client-ip=2a00:1450:4864:20::32b;
 envelope-from=phantom2501@HIDDEN; helo=mail-wm1-x32b.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, 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.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  Greetings, It is my first time trying to contribute to Emacs
 source code. The change is adding support for enabling stylistic set (font
 features) when using harfbuzz font backend. It is a commonly supported feature
 in the editors. See following links 
 Content analysis details:   (1.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (phantom2501[at]gmail.com)
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
 in digit (phantom2501[at]gmail.com)
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.0 HTML_MESSAGE           BODY: HTML included in message
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Thu, 21 Aug 2025 11:15:00 -0400
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.2 (/)

--000000000000594a7b063ce0e9d1
Content-Type: multipart/alternative; boundary="000000000000594a79063ce0e9cf"

--000000000000594a79063ce0e9cf
Content-Type: text/plain; charset="UTF-8"

Greetings,

It is my first time trying to contribute to Emacs source code.

The change is adding support for enabling stylistic set (font features)
when using harfbuzz font backend. It is a commonly supported feature in the
editors. See following links

https://code.visualstudio.com/docs/terminal/appearance#_font-feature-settings

https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings

The change adds :font-feature configuration like following

(set-face-attribute 'default nil :font "JetBrains Mono" :height 80
  :font-features '((zero . 1) (ss19 . 0) (calt . 1)))

The render result can be confirmed by adding "0" to composition table

(set-char-table-range composition-function-table
  ?0
  '(["." 0 font-shape-gstring]))

I have read the CONTRIBUTE file and tried to make the commit message as
clear as possible. Please let me know the code review process to get the
patch accepted.


Best,

Binbin

--000000000000594a79063ce0e9cf
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Greetings,</div><div><br></div><div>It is my first ti=
me trying to contribute to Emacs source code.</div><div><br></div><div>The =
change is adding support for enabling stylistic set (font features) when us=
ing harfbuzz font backend. It is a commonly supported feature in the editor=
s. See following links</div><div><br></div><div><a href=3D"https://code.vis=
ualstudio.com/docs/terminal/appearance#_font-feature-settings">https://code=
.visualstudio.com/docs/terminal/appearance#_font-feature-settings</a></div>=
<div><br></div><div><a href=3D"https://developer.mozilla.org/en-US/docs/Web=
/CSS/font-feature-settings">https://developer.mozilla.org/en-US/docs/Web/CS=
S/font-feature-settings</a></div><div><br></div><div>The change adds :font-=
feature configuration like following</div><div><br></div><div>(set-face-att=
ribute &#39;default nil :font &quot;JetBrains Mono&quot; :height 80<br>=C2=
=A0 :font-features &#39;((zero . 1) (ss19 . 0) (calt . 1)))</div><div><br><=
/div><div>The render result can be confirmed by adding &quot;0&quot; to com=
position table=C2=A0</div><div><br></div><div>(set-char-table-range composi=
tion-function-table<br>=C2=A0 ?0<br>=C2=A0 &#39;([&quot;.&quot; 0 font-shap=
e-gstring]))</div><div><br></div><div>I have read the=C2=A0CONTRIBUTE file =
and tried to make the commit message as clear as possible. Please let me kn=
ow the code review process to get the patch accepted.</div><div><br></div><=
div><br></div><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmai=
l=3D"gmail_signature"><div dir=3D"ltr"><div>Best,</div><div><br></div><div>=
<font color=3D"#666666">Binbin</font></div></div></div></div></div>

--000000000000594a79063ce0e9cf--

--000000000000594a7b063ce0e9d1
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-support-configuring-font-features-in-face.patch"
Content-Disposition: attachment; 
	filename="0001-support-configuring-font-features-in-face.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_melhyht50>
X-Attachment-Id: f_melhyht50

RnJvbSA2NTQyYTkyOGZiYjk2YjcxYWQzMzVlNWM4ZTlhZDc3OTUwOGExZjJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCaW5iaW4gWWUgPHBoYW50b20yNTAxQGdtYWlsLmNvbT4KRGF0
ZTogU2F0LCAxNiBBdWcgMjAyNSAyMzoyNjozMyArMDkwMApTdWJqZWN0OiBbUEFUQ0hdIHN1cHBv
cnQgY29uZmlndXJpbmcgZm9udCBmZWF0dXJlcyBpbiBmYWNlCgpzdXBwb3J0IGNvbmZpZ3VyaW5n
IGZvbnQgZmVhdHVyZXMgaW4gZmFjZSB3aGVuIHVzaW5nIGhhcmZidXp6IGJhY2tlbmQKdXNpbmcg
YDpmb250LWZlYXR1cmVzJwoKKiBzcmMvZGlzcGV4dGVybi5oIChsZmFjZV9hdHRyaWJ1dGVfaW5k
ZXgpOiBBZGQKTEZBQ0VfRk9OVF9GRUFUVVJFU19JTkRFWAoqIHNyYy9mb250LmMgKGZvbnRfbG9h
ZF9mb3JfbGZhY2UpOiBTdG9yZSBmb250IGZlYXR1cnMgaW4gZXh0cmEgaW5mbwoqIHNyYy9oYmZv
bnQuYyAoaGJfZmVhdHVyZXNfZnJvbV9saXNwLCBoYmZvbnRfc2hhcGUpOiBDb252ZXJ0IGZhY2UK
c2V0dGluZ3MgdG8gaGFyZmJ1enogZmVhdHVyZXMgYW5kIHBhc3MgdG8gaGJfc2hhcGVfZnVsbAoq
IHNyYy94ZmFjZXMuYyAobGZhY2VfaGFzaCwgbGZhY2Vfc2FtZV9mb250X2F0dHJpYnV0ZXNfcCkK
KEZpbnRlcm5hbF9zZXRfbGlzcF9mYWNlX2F0dHJpYnV0ZSwgRmludGVybmFsX3NldF9saXNwX2Zh
Y2VfYXR0cmlidXRlKQooY2hlY2tfbGZhY2VfYXR0cnMsIG1lcmdlX2ZhY2VfcmVmKTogVXBkYXRl
IGZhY2UgY29tcGFyaXNvbiwgZ2V0dGVyIGFuZApzZXR0ZXIgZnVuY3Rpb25zCi0tLQogc3JjL2Rp
c3BleHRlcm4uaCB8ICAxICsKIHNyYy9mb250LmMgICAgICAgfCAgNSArKysrKwogc3JjL2hiZm9u
dC5jICAgICB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrLQogc3JjL3hmYWNlcy5jICAgICB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKyksIDMg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Rpc3BleHRlcm4uaCBiL3NyYy9kaXNwZXh0
ZXJuLmgKaW5kZXggMTlhYjEwNGQyZTYuLjIwYTkwMWI5ZjQwIDEwMDY0NAotLS0gYS9zcmMvZGlz
cGV4dGVybi5oCisrKyBiL3NyYy9kaXNwZXh0ZXJuLmgKQEAgLTE3MDUsNiArMTcwNSw3IEBAICNk
ZWZpbmUgRk9OVF9UT09fSElHSChmdCkJCQkJCQlcCiAgIExGQUNFX0ZPTlRTRVRfSU5ERVgsCiAg
IExGQUNFX0RJU1RBTlRfRk9SRUdST1VORF9JTkRFWCwKICAgTEZBQ0VfRVhURU5EX0lOREVYLAor
ICBMRkFDRV9GT05UX0ZFQVRVUkVTX0lOREVYLAogICBMRkFDRV9WRUNUT1JfU0laRQogfTsKIApk
aWZmIC0tZ2l0IGEvc3JjL2ZvbnQuYyBiL3NyYy9mb250LmMKaW5kZXggZGZlNDc5ZjkzNTUuLmQz
MWQ3MGQ2MDUwIDEwMDY0NAotLS0gYS9zcmMvZm9udC5jCisrKyBiL3NyYy9mb250LmMKQEAgLTM0
ODIsNiArMzQ4MiwxMSBAQCBmb250X2xvYWRfZm9yX2xmYWNlIChzdHJ1Y3QgZnJhbWUgKmYsIExp
c3BfT2JqZWN0ICphdHRycywgTGlzcF9PYmplY3Qgc3BlYykKICAgICB7CiAgICAgICBuYW1lID0g
RmZvbnRfZ2V0IChzcGVjLCBRQ3VzZXJfc3BlYyk7CiAgICAgICBpZiAoU1RSSU5HUCAobmFtZSkp
IGZvbnRfcHV0X2V4dHJhIChlbnRpdHksIFFDdXNlcl9zcGVjLCBuYW1lKTsKKworICAgICAgLyog
U3RvcmUgZm9udCBmZWF0dXJlcyBmcm9tIGZhY2UgYXR0cmlidXRlcyBmb3IgdXNlIGR1cmluZyBz
aGFwaW5nICovCisgICAgICBMaXNwX09iamVjdCBmb250X2ZlYXR1cmVzID0gYXR0cnNbTEZBQ0Vf
Rk9OVF9GRUFUVVJFU19JTkRFWF07CisgICAgICBpZiAoQ09OU1AgKGZvbnRfZmVhdHVyZXMpKQor
ICAgICAgICAgIGZvbnRfcHV0X2V4dHJhIChlbnRpdHksIFFDZm9udF9mZWF0dXJlcywgZm9udF9m
ZWF0dXJlcyk7CiAgICAgfQogICByZXR1cm4gZW50aXR5OwogfQpkaWZmIC0tZ2l0IGEvc3JjL2hi
Zm9udC5jIGIvc3JjL2hiZm9udC5jCmluZGV4IDNkOGRmYjRiMGU2Li45NGI2N2I1NDZlOCAxMDA2
NDQKLS0tIGEvc3JjL2hiZm9udC5jCisrKyBiL3NyYy9oYmZvbnQuYwpAQCAtMjM5LDYgKzIzOSw0
MSBAQCBoYmZvbnRfb3RmX2NhcGFiaWxpdHkgKHN0cnVjdCBmb250ICpmb250KQogCiAvKiBTdXBw
b3J0IGZ1bmN0aW9ucyBmb3IgSGFyZkJ1enogc2hhcGVyLiAgKi8KIAorLyogQ29udmVydCBMaXNw
IGZvbnQgZmVhdHVyZXMgdG8gSGFyZkJ1enogZmVhdHVyZXMuCisgICBGRUFUVVJFUyBpcyBhIGxp
c3Qgb2YgKGZlYXR1cmUgLiB2YWx1ZSkgcGFpcnMuCisgICBSZXR1cm5zIHRoZSBudW1iZXIgb2Yg
ZmVhdHVyZXMgY29udmVydGVkLCBmaWxscyBIQkZFQVRVUkVTIGFycmF5LgorICAgQ2FsbGVyIG11
c3QgZW5zdXJlIEhCRkVBVFVSRVMgaGFzIGVub3VnaCBzcGFjZS4gKi8KK3N0YXRpYyBpbnQKK2hi
X2ZlYXR1cmVzX2Zyb21fbGlzcCAoTGlzcF9PYmplY3QgZmVhdHVyZXMsIGhiX2ZlYXR1cmVfdCAq
aGJmZWF0dXJlcywgaW50IG1heF9mZWF0dXJlcykKK3sKKyAgaW50IGNvdW50ID0gMDsKKworICBm
b3IgKExpc3BfT2JqZWN0IHRhaWwgPSBmZWF0dXJlczsgQ09OU1AgKHRhaWwpICYmIGNvdW50IDwg
bWF4X2ZlYXR1cmVzOyB0YWlsID0gWENEUiAodGFpbCkpCisgICAgeworICAgICAgTGlzcF9PYmpl
Y3QgZmVhdHVyZV9zcGVjID0gWENBUiAodGFpbCk7CisgICAgICBpZiAoQ09OU1AgKGZlYXR1cmVf
c3BlYykpCisgICAgICAgIHsKKyAgICAgICAgICBMaXNwX09iamVjdCBmZWF0dXJlX3N5bSA9IFhD
QVIgKGZlYXR1cmVfc3BlYyk7CisgICAgICAgICAgTGlzcF9PYmplY3QgZmVhdHVyZV92YWwgPSBY
Q0RSIChmZWF0dXJlX3NwZWMpOworCisgICAgICAgICAgaWYgKFNZTUJPTFAgKGZlYXR1cmVfc3lt
KSAmJiBGSVhOVU1QIChmZWF0dXJlX3ZhbCkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
IC8qIENvbnZlcnQgc3ltYm9sIHRvIEhhcmZCdXp6IHRhZyAqLworICAgICAgICAgICAgICBjb25z
dCBjaGFyICpmZWF0dXJlX25hbWUgPSBTU0RBVEEgKFNZTUJPTF9OQU1FIChmZWF0dXJlX3N5bSkp
OworICAgICAgICAgICAgICBoYl90YWdfdCB0YWcgPSBoYl90YWdfZnJvbV9zdHJpbmcgKGZlYXR1
cmVfbmFtZSwgLTEpOworCisgICAgICAgICAgICAgIGhiZmVhdHVyZXNbY291bnRdLnRhZyA9IHRh
ZzsKKyAgICAgICAgICAgICAgaGJmZWF0dXJlc1tjb3VudF0udmFsdWUgPSBYRklYTlVNIChmZWF0
dXJlX3ZhbCk7CisgICAgICAgICAgICAgIGhiZmVhdHVyZXNbY291bnRdLnN0YXJ0ID0gMDsKKyAg
ICAgICAgICAgICAgaGJmZWF0dXJlc1tjb3VudF0uZW5kID0gKHVuc2lnbmVkIGludCkgLTE7Cisg
ICAgICAgICAgICAgIGNvdW50Kys7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisK
KyAgcmV0dXJuIGNvdW50OworfQorCiBzdGF0aWMgYm9vbCBjb21iaW5pbmdfY2xhc3NfbG9hZGVk
ID0gZmFsc2U7CiBzdGF0aWMgTGlzcF9PYmplY3QgY2Fub25pY2FsX2NvbWJpbmluZ19jbGFzc190
YWJsZTsKIApAQCAtNDkxLDcgKzUyNiwyMCBAQCBoYmZvbnRfc2hhcGUgKExpc3BfT2JqZWN0IGxn
c3RyaW5nLCBMaXNwX09iamVjdCBkaXJlY3Rpb24pCiAgIGlmICghaGJfZm9udCkKICAgICByZXR1
cm4gbWFrZV9maXhudW0gKDApOwogCi0gIGhiX2Jvb2xfdCBzdWNjZXNzID0gaGJfc2hhcGVfZnVs
bCAoaGJfZm9udCwgaGJfYnVmZmVyLCBOVUxMLCAwLCBOVUxMKTsKKworICAvKiBHZXQgZm9udCBm
ZWF0dXJlcyBmcm9tIHRoZSBmb250IG9iamVjdCAqLworICBMaXNwX09iamVjdCBmb250X2ZlYXR1
cmVzID0gRmZvbnRfZ2V0IChMR1NUUklOR19GT05UIChsZ3N0cmluZyksIFFDZm9udF9mZWF0dXJl
cyk7CisgIHN0YXRpYyBoYl9mZWF0dXJlX3QgZmVhdHVyZXNbMzJdOyAgLyogQ2FjaGUgZmVhdHVy
ZXMgYXJyYXksIHJlYXNvbmFibGUgbWF4IHNpemUgKi8KKyAgaW50IG51bV9mZWF0dXJlcyA9IDA7
CisKKyAgaWYgKCFOSUxQIChmb250X2ZlYXR1cmVzKSkKKyAgICB7CisgICAgICBudW1fZmVhdHVy
ZXMgPSBoYl9mZWF0dXJlc19mcm9tX2xpc3AgKGZvbnRfZmVhdHVyZXMsIGZlYXR1cmVzLCAzMik7
CisgICAgfQorCisgIGhiX2Jvb2xfdCBzdWNjZXNzID0gaGJfc2hhcGVfZnVsbCAoaGJfZm9udCwg
aGJfYnVmZmVyLCBmZWF0dXJlcywgbnVtX2ZlYXR1cmVzLCBOVUxMKTsKKworCiAgIGlmIChmb250
LT5kcml2ZXItPmVuZF9oYl9mb250KQogICAgIGZvbnQtPmRyaXZlci0+ZW5kX2hiX2ZvbnQgKGZv
bnQsIGhiX2ZvbnQpOwogICBpZiAoIXN1Y2Nlc3MpCmRpZmYgLS1naXQgYS9zcmMveGZhY2VzLmMg
Yi9zcmMveGZhY2VzLmMKaW5kZXggNzYyNmRmZWI3NWMuLjg3OTk2OGNkNzczIDEwMDY0NAotLS0g
YS9zcmMveGZhY2VzLmMKKysrIGIvc3JjL3hmYWNlcy5jCkBAIC0xODA0LDYgKzE4MDQsNyBAQCAj
ZGVmaW5lIExGQUNFX0ZPTlQoTEZBQ0UpCSAgICBBUkVGIChMRkFDRSwgTEZBQ0VfRk9OVF9JTkRF
WCkKICNkZWZpbmUgTEZBQ0VfSU5IRVJJVChMRkFDRSkJICAgIEFSRUYgKExGQUNFLCBMRkFDRV9J
TkhFUklUX0lOREVYKQogI2RlZmluZSBMRkFDRV9GT05UU0VUKExGQUNFKQkgICAgQVJFRiAoTEZB
Q0UsIExGQUNFX0ZPTlRTRVRfSU5ERVgpCiAjZGVmaW5lIExGQUNFX0VYVEVORChMRkFDRSkJICAg
IEFSRUYgKExGQUNFLCBMRkFDRV9FWFRFTkRfSU5ERVgpCisjZGVmaW5lIExGQUNFX0ZPTlRfRkVB
VFVSRVMoTEZBQ0UpICBBUkVGIChMRkFDRSwgTEZBQ0VfRk9OVF9GRUFUVVJFU19JTkRFWCkKICNk
ZWZpbmUgTEZBQ0VfRElTVEFOVF9GT1JFR1JPVU5EKExGQUNFKSBcCiAgIEFSRUYgKExGQUNFLCBM
RkFDRV9ESVNUQU5UX0ZPUkVHUk9VTkRfSU5ERVgpCiAKQEAgLTE5MTQsNiArMTkxNSwxMSBAQCBj
aGVja19sZmFjZV9hdHRycyAoTGlzcF9PYmplY3QgYXR0cnNbTEZBQ0VfVkVDVE9SX1NJWkVdKQog
CSAgIHx8IFNUUklOR1AgKGF0dHJzW0xGQUNFX0ZPTlRTRVRfSU5ERVhdKQogCSAgIHx8IFJFU0VU
X1AgKGF0dHJzW0xGQUNFX0ZPTlRTRVRfSU5ERVhdKQogCSAgIHx8IE5JTFAgKGF0dHJzW0xGQUNF
X0ZPTlRTRVRfSU5ERVhdKSk7CisgIGVhc3NlcnQgKFVOU1BFQ0lGSUVEUCAoYXR0cnNbTEZBQ0Vf
Rk9OVF9GRUFUVVJFU19JTkRFWF0pCisJICAgfHwgSUdOT1JFX0RFRkZBQ0VfUCAoYXR0cnNbTEZB
Q0VfRk9OVF9GRUFUVVJFU19JTkRFWF0pCisJICAgfHwgUkVTRVRfUCAoYXR0cnNbTEZBQ0VfRk9O
VF9GRUFUVVJFU19JTkRFWF0pCisJICAgfHwgTklMUCAoYXR0cnNbTEZBQ0VfRk9OVF9GRUFUVVJF
U19JTkRFWF0pCisJICAgfHwgQ09OU1AgKGF0dHJzW0xGQUNFX0ZPTlRfRkVBVFVSRVNfSU5ERVhd
KSk7CiAjZW5kaWYKIH0KIApAQCAtMjE2Miw3ICsyMTY4LDcgQEAgbGZhY2VfZnVsbHlfc3BlY2lm
aWVkX3AgKExpc3BfT2JqZWN0IGF0dHJzW0xGQUNFX1ZFQ1RPUl9TSVpFXSkKIAogICBmb3IgKGkg
PSAxOyBpIDwgTEZBQ0VfVkVDVE9SX1NJWkU7ICsraSkKICAgICBpZiAoaSAhPSBMRkFDRV9GT05U
X0lOREVYICYmIGkgIT0gTEZBQ0VfSU5IRVJJVF9JTkRFWAotICAgICAgICAmJiBpICE9IExGQUNF
X0RJU1RBTlRfRk9SRUdST1VORF9JTkRFWCkKKyAgICAgICAgJiYgaSAhPSBMRkFDRV9ESVNUQU5U
X0ZPUkVHUk9VTkRfSU5ERVggJiYgaSAhPSBMRkFDRV9GT05UX0ZFQVRVUkVTX0lOREVYKQogICAg
ICAgaWYgKChVTlNQRUNJRklFRFAgKGF0dHJzW2ldKSB8fCBJR05PUkVfREVGRkFDRV9QIChhdHRy
c1tpXSkpKQogCWJyZWFrOwogCkBAIC0yOTE3LDYgKzI5MjMsMTMgQEAgbWVyZ2VfZmFjZV9yZWYg
KHN0cnVjdCB3aW5kb3cgKncsCiAJCSAgZWxzZQogCQkgICAgZXJyID0gdHJ1ZTsKIAkJfQorCSAg
ICAgIGVsc2UgaWYgKEVRIChrZXl3b3JkLCBRQ2ZvbnRfZmVhdHVyZXMpKQorCQl7CisJCSAgaWYg
KE5JTFAgKHZhbHVlKSB8fCBDT05TUCAodmFsdWUpKQorCQkgICAgdG9bTEZBQ0VfRk9OVF9GRUFU
VVJFU19JTkRFWF0gPSB2YWx1ZTsKKwkJICBlbHNlCisJCSAgICBlcnIgPSB0cnVlOworCQl9CiAJ
ICAgICAgZWxzZQogCQllcnIgPSB0cnVlOwogCkBAIC0zNjQ1LDYgKzM2NTgsMzIgQEAgREVGVU4g
KCJpbnRlcm5hbC1zZXQtbGlzcC1mYWNlLWF0dHJpYnV0ZSIsIEZpbnRlcm5hbF9zZXRfbGlzcF9m
YWNlX2F0dHJpYnV0ZSwKIAl9CiAjZW5kaWYgLyogSEFWRV9XSU5ET1dfU1lTVEVNICovCiAgICAg
fQorICBlbHNlIGlmIChFUSAoYXR0ciwgUUNmb250X2ZlYXR1cmVzKSkKKyAgICB7CisgICAgICBp
ZiAoIVVOU1BFQ0lGSUVEUCAodmFsdWUpCisJICAmJiAhSUdOT1JFX0RFRkZBQ0VfUCAodmFsdWUp
CisJICAmJiAhUkVTRVRfUCAodmFsdWUpKQorCXsKKwkgIC8qIFZhbGlkYXRlIGZvbnQgZmVhdHVy
ZXMgbGlzdCBmb3JtYXQ6CisJICAgICBTaG91bGQgYmUgYSBsaXN0IG9mIChmZWF0dXJlIC4gdmFs
dWUpIHBhaXJzICovCisJICBpZiAoIU5JTFAgKHZhbHVlKSkKKwkgICAgeworCSAgICAgIExpc3Bf
T2JqZWN0IHRhaWw7CisJICAgICAgZm9yICh0YWlsID0gdmFsdWU7IENPTlNQICh0YWlsKTsgdGFp
bCA9IFhDRFIgKHRhaWwpKQorCQl7CisJCSAgTGlzcF9PYmplY3QgZmVhdHVyZV9zcGVjID0gWENB
UiAodGFpbCk7CisJCSAgaWYgKCFDT05TUCAoZmVhdHVyZV9zcGVjKQorCQkgICAgICB8fCAhU1lN
Qk9MUCAoWENBUiAoZmVhdHVyZV9zcGVjKSkKKwkJICAgICAgfHwgIUZJWE5VTVAgKFhDRFIgKGZl
YXR1cmVfc3BlYykpKQorCQkgICAgc2lnbmFsX2Vycm9yICgiSW52YWxpZCBmb250IGZlYXR1cmVz
IGZvcm1hdCIsIHZhbHVlKTsKKwkJfQorCSAgICAgIGlmICghTklMUCAodGFpbCkpCisJCXNpZ25h
bF9lcnJvciAoIkludmFsaWQgZm9udCBmZWF0dXJlcyBmb3JtYXQiLCB2YWx1ZSk7CisJICAgIH0K
Kwl9CisgICAgICBvbGRfdmFsdWUgPSBMRkFDRV9GT05UX0ZFQVRVUkVTIChsZmFjZSk7CisgICAg
ICBBU0VUIChsZmFjZSwgTEZBQ0VfRk9OVF9GRUFUVVJFU19JTkRFWCwgdmFsdWUpOworICAgIH0K
ICAgZWxzZSBpZiAoRVEgKGF0dHIsIFFDaW5oZXJpdCkpCiAgICAgewogICAgICAgTGlzcF9PYmpl
Y3QgdGFpbDsKQEAgLTQyMTMsNiArNDI1Miw4IEBAIERFRlVOICgiaW50ZXJuYWwtZ2V0LWxpc3At
ZmFjZS1hdHRyaWJ1dGUiLCBGaW50ZXJuYWxfZ2V0X2xpc3BfZmFjZV9hdHRyaWJ1dGUsCiAgICAg
dmFsdWUgPSBMRkFDRV9GT05UIChsZmFjZSk7CiAgIGVsc2UgaWYgKEVRIChrZXl3b3JkLCBRQ2Zv
bnRzZXQpKQogICAgIHZhbHVlID0gTEZBQ0VfRk9OVFNFVCAobGZhY2UpOworICBlbHNlIGlmIChF
USAoa2V5d29yZCwgUUNmb250X2ZlYXR1cmVzKSkKKyAgICB2YWx1ZSA9IExGQUNFX0ZPTlRfRkVB
VFVSRVMgKGxmYWNlKTsKICAgZWxzZQogICAgIHNpZ25hbF9lcnJvciAoIkludmFsaWQgZmFjZSBh
dHRyaWJ1dGUgbmFtZSIsIGtleXdvcmQpOwogCkBAIC00NTM5LDcgKzQ1ODAsNyBAQCBsZmFjZV9o
YXNoIChMaXNwX09iamVjdCAqdikKIAkgIF4gWEhBU0ggKHZbTEZBQ0VfV0VJR0hUX0lOREVYXSkK
IAkgIF4gWEhBU0ggKHZbTEZBQ0VfU0xBTlRfSU5ERVhdKQogCSAgXiBYSEFTSCAodltMRkFDRV9T
V0lEVEhfSU5ERVhdKQotCSAgXiBYSEFTSCAodltMRkFDRV9IRUlHSFRfSU5ERVhdKSk7CisJICBe
IFhIQVNIICh2W0xGQUNFX0ZPTlRfRkVBVFVSRVNfSU5ERVhdKSk7CiB9CiAKICNpZmRlZiBIQVZF
X1dJTkRPV19TWVNURU0KQEAgLTQ1NjMsNiArNDYwNCw3IEBAIGxmYWNlX3NhbWVfZm9udF9hdHRy
aWJ1dGVzX3AgKExpc3BfT2JqZWN0ICpsZmFjZTEsIExpc3BfT2JqZWN0ICpsZmFjZTIpCiAJICAm
JiBFUSAobGZhY2UxW0xGQUNFX1dFSUdIVF9JTkRFWF0sIGxmYWNlMltMRkFDRV9XRUlHSFRfSU5E
RVhdKQogCSAgJiYgRVEgKGxmYWNlMVtMRkFDRV9TTEFOVF9JTkRFWF0sIGxmYWNlMltMRkFDRV9T
TEFOVF9JTkRFWF0pCiAJICAmJiBFUSAobGZhY2UxW0xGQUNFX0ZPTlRfSU5ERVhdLCBsZmFjZTJb
TEZBQ0VfRk9OVF9JTkRFWF0pCisJICAmJiBFUSAobGZhY2UxW0xGQUNFX0ZPTlRfRkVBVFVSRVNf
SU5ERVhdLCBsZmFjZTJbTEZBQ0VfRk9OVF9GRUFUVVJFU19JTkRFWF0pCiAJICAmJiAoRVEgKGxm
YWNlMVtMRkFDRV9GT05UU0VUX0lOREVYXSwgbGZhY2UyW0xGQUNFX0ZPTlRTRVRfSU5ERVhdKQog
CSAgICAgIHx8IChTVFJJTkdQIChsZmFjZTFbTEZBQ0VfRk9OVFNFVF9JTkRFWF0pCiAJCSAgJiYg
U1RSSU5HUCAobGZhY2UyW0xGQUNFX0ZPTlRTRVRfSU5ERVhdKQpAQCAtNzM2Niw2ICs3NDA4LDcg
QEAgaW5pdF94ZmFjZXMgKHZvaWQpCiAgIGZhY2VfYXR0cl9zeW1bTEZBQ0VfRk9OVFNFVF9JTkRF
WF0gPSBRQ2ZvbnRzZXQ7CiAgIGZhY2VfYXR0cl9zeW1bTEZBQ0VfRElTVEFOVF9GT1JFR1JPVU5E
X0lOREVYXSA9IFFDZGlzdGFudF9mb3JlZ3JvdW5kOwogICBmYWNlX2F0dHJfc3ltW0xGQUNFX0VY
VEVORF9JTkRFWF0gPSBRQ2V4dGVuZDsKKyAgZmFjZV9hdHRyX3N5bVtMRkFDRV9GT05UX0ZFQVRV
UkVTX0lOREVYXSA9IFFDZm9udF9mZWF0dXJlczsKIH0KIAogdm9pZApAQCAtNzM5Nyw2ICs3NDQw
LDcgQEAgc3ltc19vZl94ZmFjZXMgKHZvaWQpCiAgIERFRlNZTSAoUUN3aWR0aCwgIjp3aWR0aCIp
OwogICBERUZTWU0gKFFDZm9udCwgIjpmb250Iik7CiAgIERFRlNZTSAoUUNmb250c2V0LCAiOmZv
bnRzZXQiKTsKKyAgREVGU1lNIChRQ2ZvbnRfZmVhdHVyZXMsICI6Zm9udC1mZWF0dXJlcyIpOwog
ICBERUZTWU0gKFFDZGlzdGFudF9mb3JlZ3JvdW5kLCAiOmRpc3RhbnQtZm9yZWdyb3VuZCIpOwog
ICBERUZTWU0gKFFDYm9sZCwgIjpib2xkIik7CiAgIERFRlNZTSAoUUNpdGFsaWMsICI6aXRhbGlj
Iik7Ci0tIAoyLjQ3LjIKCg==
--000000000000594a7b063ce0e9d1--




Acknowledgement sent to Binbin YE <phantom2501@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#79285; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 28 Aug 2025 06:15:03 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.