GNU bug report logs - #73384
[PATCH] Draw coloured stipples on NS

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: Ben Simms <bsimms.simms@HIDDEN>; Keywords: patch confirmed pending; dated Fri, 20 Sep 2024 13:34:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Added tag(s) confirmed. Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Added tag(s) pending. Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 73384) by debbugs.gnu.org; 18 Jan 2025 17:03:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 18 12:03:52 2025
Received: from localhost ([127.0.0.1]:43559 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tZCEh-0001mw-Es
	for submit <at> debbugs.gnu.org; Sat, 18 Jan 2025 12:03:52 -0500
Received: from mail-qt1-x82e.google.com ([2607:f8b0:4864:20::82e]:46514)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <bsimms.simms@HIDDEN>)
 id 1tZ65R-0007Sz-RH
 for 73384 <at> debbugs.gnu.org; Sat, 18 Jan 2025 05:29:54 -0500
Received: by mail-qt1-x82e.google.com with SMTP id
 d75a77b69052e-4679ea3b13bso27474721cf.1
 for <73384 <at> debbugs.gnu.org>; Sat, 18 Jan 2025 02:29:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1737196188; x=1737800988; 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=xRgpCLFYFfYoXbg5zG2VBaKT0+qOoxXblTAkJ5RmF2w=;
 b=iLuDUD7e+Wg/2bZRpn5dyZ1/skV+YA22rAapAt0F2xLK+rsBy+6ix9v7rqX6HUry8F
 ZVg33IKhyicCi5zqKxsM8FD5ItHUX8HlQph3BV07y1buneaVGJ4ppf/w/mM4dcHXBHAV
 jMzV2w+qASQZ8+Iqp2fDY8VkwiOc1M3qPeQMa7sMEkl94GcJAxgmSs5I8H6wPIGnYXt1
 T3yDRS+Z7F8HrBRv7BBlnvgAozfCf6DloaRI2Sn6Zf7ZJygCPzEMlG84mQUTDpFEs/FF
 VaaeiK/7WEP//IsvL/mDBQz5Q3HjaHXLp5IcTOkIihPOX001emW20PFEj8VIxbv13Vbo
 0WMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1737196188; x=1737800988;
 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=xRgpCLFYFfYoXbg5zG2VBaKT0+qOoxXblTAkJ5RmF2w=;
 b=DYp/YCsXk8POsFSIDBLPgDf/sbhmTV9uw+TsqepFr6Eg8obJhtR5Wj5jY7LB3nHxk3
 YuAocu5RCRuWrMjQydf94i7NNgnmqsCjDKQJkqUuRsXpXvQYqovR1Bqz11rIsOKhYp+L
 yrO9sKJ7YHNCkg4p3GOd/l1D32WdQKNa7M3cs3jQrpN8hnYDDj0sCzLf6ipD+sqtAs6d
 G/24UbkFG05SQRNmhKx7i41GzTnvxrmoDeFqE2o/drTrgrUOe0BZ2UlLQ2YBRrSiVEPe
 JWFhMsPCkW4VGw3qsaarfVRjjPAP/P8deK0Ty+C9nuFL2uMfFrpMKGSE806v6wUnQUQ6
 3QOA==
X-Forwarded-Encrypted: i=1;
 AJvYcCVBKe1Ik8T/oMltYu3wvTcrkkra/O8HkkMi06z6wdVxFKR8Qm4jQphuPZ7LPTHflXkY72ztKQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyztdxkoLkUiYkMRnSV1hY7EVlPjUoya2msOccFwVOTEBpLx5OV
 QurJMR6HN85g53mqgTyLS1U3ht4NgKsnI5mDYldyS1BSGk1JtNh8ACSabn17gWv5fXpAptMK7ic
 ihtewyqSfMToxY5rAiZaqtWwLNzY=
X-Gm-Gg: ASbGnctQuYtIkoS6EpU/TZx6ai5DvO315u3Da3k1azdaDr7ZqjWhmiNdNszQVAuxEXN
 fRJD86yAzPg1nuPQNaURhiAyeNWaceTAxZOR4mhkgFD/qQulNQBYz97RuC2MXlG8nu3efQfXXlZ
 w6LHEI2z4=
X-Google-Smtp-Source: AGHT+IHvfDqvHb2J+AwX0bOvFFI94EBqnlhCyKXg+NB8L+K/RKOLtkJfo/Qsn8IBSJ5CUbX8c5nbZSMpNt6ArecqIbU=
X-Received: by 2002:a05:622a:1922:b0:46c:7150:be3c with SMTP id
 d75a77b69052e-46e12a1fa2cmr107758741cf.2.1737196187988; Sat, 18 Jan 2025
 02:29:47 -0800 (PST)
MIME-Version: 1.0
References: <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 <m2sespuuir.fsf@HIDDEN> <m24j4v2oa2.fsf@HIDDEN>
 <m2cyhyoi5l.fsf@HIDDEN> <Z2NE4CVBQH4cKCq7@HIDDEN>
 <m24j2farq6.fsf@HIDDEN>
 <CALNBX0aT1b43eiAScPaPD40YJDMBr5edQFKZ8R3WhtuJudqg5A@HIDDEN>
 <Z4OghcXpQ8rWMzhN@HIDDEN> <86plkkbgz9.fsf@HIDDEN>
In-Reply-To: <86plkkbgz9.fsf@HIDDEN>
From: Ben Simms <bsimms.simms@HIDDEN>
Date: Sat, 18 Jan 2025 11:29:37 +0100
X-Gm-Features: AbW1kvYiZKpetrvBPJdkhzf018llRkmLDPXEc-yTDURohhRl-f9wtex05mWywtA
Message-ID: <CALNBX0Y5TX5ByKtMMpiKXjuiO8p5-x4_xcF9rNuCRkxUdq-gjA@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000b0b727062bf881e8"
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: 73384
X-Mailman-Approved-At: Sat, 18 Jan 2025 12:03:50 -0500
Cc: rudolf@HIDDEN, Alan Third <alan@HIDDEN>, 73384 <at> debbugs.gnu.org,
 arash@HIDDEN, stefankangas@HIDDEN, jdtsmith@HIDDEN
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.3 (/)

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

Hello, I sent off the request last week, I'm currently waiting on a reply
from assign@HIDDEN

On Sat, 18 Jan 2025, 10:37 Eli Zaretskii, <eliz@HIDDEN> wrote:

> > Cc: Rudolf Adamkovi=C4=8D <rudolf@HIDDEN>,
> >  Arash Esbati <arash@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>,
> >  JD Smith <jdtsmith@HIDDEN>, 73384 <at> debbugs.gnu.org
> > Date: Sun, 12 Jan 2025 10:59:17 +0000
> > From: Alan Third <alan@HIDDEN>
> >
> > On Sun, Jan 05, 2025 at 08:17:42PM +0100, Ben Simms wrote:
> > > Hi all, I've revised my patch from Alan's feedback.
> > > You can find it attached.
> >
> > LGTM. What's the situation with copyright assignment here? Has it
> > already been done?
>
> Ben, did you start your assignment paperwork?  If not, would you like
> to start it now, so we could install your changes?
>
> Thanks.
>

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

<p dir=3D"ltr">Hello, I sent off the request last week, I&#39;m currently w=
aiting on a reply from <a href=3D"mailto:assign@HIDDEN">assign@HIDDEN</a>=
</p>
<br><div class=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=
=3D"gmail_attr">On Sat, 18 Jan 2025, 10:37 Eli Zaretskii, &lt;<a href=3D"ma=
ilto:eliz@HIDDEN">eliz@HIDDEN</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">&gt; Cc: Rudolf Adamkovi=C4=8D &lt;<a href=3D"mailto:rudolf@a=
damkovic.org" target=3D"_blank" rel=3D"noreferrer">rudolf@HIDDEN</a>=
&gt;,<br>
&gt;=C2=A0 Arash Esbati &lt;<a href=3D"mailto:arash@HIDDEN" target=3D"_bla=
nk" rel=3D"noreferrer">arash@HIDDEN</a>&gt;, Stefan Kangas &lt;<a href=3D"=
mailto:stefankangas@HIDDEN" target=3D"_blank" rel=3D"noreferrer">stefank=
angas@HIDDEN</a>&gt;,<br>
&gt;=C2=A0 JD Smith &lt;<a href=3D"mailto:jdtsmith@HIDDEN" target=3D"_bl=
ank" rel=3D"noreferrer">jdtsmith@HIDDEN</a>&gt;, <a href=3D"mailto:73384=
@debbugs.gnu.org" target=3D"_blank" rel=3D"noreferrer">73384@HIDDEN=
g</a><br>
&gt; Date: Sun, 12 Jan 2025 10:59:17 +0000<br>
&gt; From: Alan Third &lt;<a href=3D"mailto:alan@HIDDEN" target=3D"_bla=
nk" rel=3D"noreferrer">alan@HIDDEN</a>&gt;<br>
&gt; <br>
&gt; On Sun, Jan 05, 2025 at 08:17:42PM +0100, Ben Simms wrote:<br>
&gt; &gt; Hi all, I&#39;ve revised my patch from Alan&#39;s feedback.<br>
&gt; &gt; You can find it attached.<br>
&gt; <br>
&gt; LGTM. What&#39;s the situation with copyright assignment here? Has it<=
br>
&gt; already been done?<br>
<br>
Ben, did you start your assignment paperwork?=C2=A0 If not, would you like<=
br>
to start it now, so we could install your changes?<br>
<br>
Thanks.<br>
</blockquote></div>

--000000000000b0b727062bf881e8--




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

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


Received: (at 73384) by debbugs.gnu.org; 18 Jan 2025 09:37:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 18 04:37:36 2025
Received: from localhost ([127.0.0.1]:40220 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tZ5Gp-0001qE-Kw
	for submit <at> debbugs.gnu.org; Sat, 18 Jan 2025 04:37:36 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:38518)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tZ5Ge-0001pr-UJ
 for 73384 <at> debbugs.gnu.org; Sat, 18 Jan 2025 04:37:25 -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 1tZ5GY-0004Zw-GH; Sat, 18 Jan 2025 04:37:18 -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=JKkWeCepgxTrJ4sAFKxF2BuzGmN9HaSc4VoXHL9MASg=; b=edZcWannUg7HeX/Bcz5H
 SPf94xWobKlKhkgHlujLWPLgVRDE3iKUTLSaIqL0gilfxr6FcXOhHfOQZSqsr1WxXeONfEohUbLqi
 Gzfc0AUpBQ+N4xPrslPrIM4/1czwpOOIcwYDatCDtpLe11cSlQgKpwW2nYrJomufDLBwtwAIklEIy
 MrcIf0qYvrQMM3zVPldXF2GWeatpD50gDQk8zWqctOOFnWKyOoj8/ogh99VRfFAP8vGSUvHMwDoCu
 XmCtDf4aRCfGCBgEeZQ0JDNCY9DgFRBbNYF9T0Y/wrlgGBCBT+DGM/snUT0RXhjgjdb9++aI5WM0W
 MOV8mcMpc+5L2g==;
Date: Sat, 18 Jan 2025 11:37:14 +0200
Message-Id: <86plkkbgz9.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: bsimms.simms@HIDDEN, Alan Third <alan@HIDDEN>
In-Reply-To: <Z4OghcXpQ8rWMzhN@HIDDEN> (message from Alan
 Third on Sun, 12 Jan 2025 10:59:17 +0000)
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
References: <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 <m2sespuuir.fsf@HIDDEN>
 <m24j4v2oa2.fsf@HIDDEN>
 <m2cyhyoi5l.fsf@HIDDEN>
 <Z2NE4CVBQH4cKCq7@HIDDEN>
 <m24j2farq6.fsf@HIDDEN>
 <CALNBX0aT1b43eiAScPaPD40YJDMBr5edQFKZ8R3WhtuJudqg5A@HIDDEN>
 <Z4OghcXpQ8rWMzhN@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 73384
Cc: rudolf@HIDDEN, arash@HIDDEN, stefankangas@HIDDEN,
 jdtsmith@HIDDEN, 73384 <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: -2.6 (--)

> Cc: Rudolf Adamkovič <rudolf@HIDDEN>,
>  Arash Esbati <arash@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>,
>  JD Smith <jdtsmith@HIDDEN>, 73384 <at> debbugs.gnu.org
> Date: Sun, 12 Jan 2025 10:59:17 +0000
> From: Alan Third <alan@HIDDEN>
> 
> On Sun, Jan 05, 2025 at 08:17:42PM +0100, Ben Simms wrote:
> > Hi all, I've revised my patch from Alan's feedback.
> > You can find it attached.
> 
> LGTM. What's the situation with copyright assignment here? Has it
> already been done?

Ben, did you start your assignment paperwork?  If not, would you like
to start it now, so we could install your changes?

Thanks.




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

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


Received: (at 73384) by debbugs.gnu.org; 12 Jan 2025 10:59:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 12 05:59:27 2025
Received: from localhost ([127.0.0.1]:46261 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tWvgk-0003rn-Qo
	for submit <at> debbugs.gnu.org; Sun, 12 Jan 2025 05:59:27 -0500
Received: from dane.soverin.net ([185.233.34.35]:34511)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <alan@HIDDEN>) id 1tWvgj-0003rZ-7u
 for 73384 <at> debbugs.gnu.org; Sun, 12 Jan 2025 05:59:25 -0500
Received: from smtp.soverin.net (unknown [10.10.4.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by dane.soverin.net (Postfix) with ESMTPS id 4YWC7p4bVQzs2s;
 Sun, 12 Jan 2025 10:59:18 +0000 (UTC)
Received: from smtp.soverin.net (smtp.soverin.net [10.10.4.99]) by soverin.net
 (Postfix) with ESMTPSA id 4YWC7p0jsqz6w; 
 Sun, 12 Jan 2025 10:59:18 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin;
 t=1736679558; bh=7gyutCdPpXFRkJ0D7RNXF49uS5Csioh9xbmyoL2EclI=;
 h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
 b=Cyi8WHUjbIUJTeconjwuQnAqPFEL4wdqm7LuVF3KvAsqzR/BucATpCxWAXdqmlTW+
 ywgnFkL8tmb8mDQfsw6vqZWV7O5KLZ4pSE1a25oOtL8zkow2VQIJqWeQJAiwOSO7pG
 CynPoY0VfFUOO/OW4jvtzNqyLiqVumBvfDDe4J4ElOaPJyL7WRzgVJh9gt+qZAb9sa
 xe+3X1ANLxU6870xblsDuXrXW51bM+V2GKa2kkUPwScrzpIrSFEYD9noLCU14b9jT7
 wC2QSQVYYavXRpd+v65n3AD60ysQla44viLcRbWJ2L1zzv5wMPpsHeH0FIgJ61Bn/Z
 p663SyU0mUkRw==
X-CM-Analysis: v=2.4 cv=e8f8Sbp/ c=1 sm=1 tr=0 ts=6783a086
 a=ISR3QhebLp+H5tYXeKXAxw==:617 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
 a=5t_MgX_RLd_vrP0Lg10A:9 a=CjuIK1q_8ugA:10
X-CM-Envelope: MS4xfPQlQ/pFremRIw+o8511xzyOE47PtlV5CjfUPUD/zkYb7CQuUztM0Ljwwge10uTWECQYP+4HLDIz8guXcN8DkqqGAV7RoD1z5Yyjq86Wg5GRxnk1gT33
 xmz00nELyxz3cAjnC8yVqNTKNsY56J4A1u7YStRlX/8Kbi/c+ovN8hdrHbQbwg1uo32DnwGbZausPe6jV8yeiyUA31gttPgXZkLPwyPOXwAPeKZ74+QAEvP7
 zZDDwyaHVulaXDQh28YA0jZsbNgfebqxprNLGvji31OMZ7C+mJx70/pQIA2hqJRUOXrAM9ppkZ56O/9MiuFODdQgwDhMi+BoWOH2dLmW9HxYki6GrhIWj8Qd
 DJ5+nRABK5aLWM+3dUBYb4hkfl9QdK5eMBv8VkzbYDBRHBs3njU=
Date: Sun, 12 Jan 2025 10:59:17 +0000
From: Alan Third <alan@HIDDEN>
To: Ben Simms <bsimms.simms@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
Message-ID: <Z4OghcXpQ8rWMzhN@HIDDEN>
Mail-Followup-To: Alan Third <alan@HIDDEN>,
 Ben Simms <bsimms.simms@HIDDEN>, Arash Esbati <arash@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>,
 Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, JD Smith <jdtsmith@HIDDEN>
References: <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 <m2sespuuir.fsf@HIDDEN>
 <m24j4v2oa2.fsf@HIDDEN>
 <m2cyhyoi5l.fsf@HIDDEN>
 <Z2NE4CVBQH4cKCq7@HIDDEN>
 <m24j2farq6.fsf@HIDDEN>
 <CALNBX0aT1b43eiAScPaPD40YJDMBr5edQFKZ8R3WhtuJudqg5A@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CALNBX0aT1b43eiAScPaPD40YJDMBr5edQFKZ8R3WhtuJudqg5A@HIDDEN>
X-Spampanel-Class: ham
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 73384
Cc: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 Arash Esbati <arash@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>,
 JD Smith <jdtsmith@HIDDEN>, 73384 <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 Sun, Jan 05, 2025 at 08:17:42PM +0100, Ben Simms wrote:
> Hi all, I've revised my patch from Alan's feedback.
> You can find it attached.

LGTM. What's the situation with copyright assignment here? Has it
already been done?

-- 
Alan Third




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

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


Received: (at 73384) by debbugs.gnu.org; 6 Jan 2025 09:08:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 04:08:37 2025
Received: from localhost ([127.0.0.1]:36629 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUj6D-0007js-7C
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 04:08:37 -0500
Received: from mail-qk1-x735.google.com ([2607:f8b0:4864:20::735]:45399)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <bsimms.simms@HIDDEN>)
 id 1tUW8I-0004Li-IN
 for 73384 <at> debbugs.gnu.org; Sun, 05 Jan 2025 14:17:55 -0500
Received: by mail-qk1-x735.google.com with SMTP id
 af79cd13be357-7b8618be68bso1062117085a.3
 for <73384 <at> debbugs.gnu.org>; Sun, 05 Jan 2025 11:17:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1736104674; x=1736709474; 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=KJagL39HdtJTTgSHJp/6ky71za9fFhsOKWPOQxDuP0I=;
 b=dxkcxyoMQWodSkULKgvpBuBC5heKyYm0nnWZ8ikmD+DWIN4KGKbV0cRsB+D6SL2xBd
 nKs7JfJVCHO2Q7NNzG+dXo7cSNdlc3eh8tpjvgE34cggqEQiIv6GjT68III5FUh7OP34
 kFrJD00UR0HfsDPG1XxhVkrYTw/84v4D/5WPLQm5W7ZcRWVXut1Cx80ozLQdpZb9l3Ik
 JKuAYI7gIp47KiKbfvH66HAruuqbD4Ma2OHTCmQEa+xrm85kz0MCOV0RnQj3aPKYylxK
 7r8k9elZWixxWUJ18KEJ95Iy6L6LO9wb8GHhCG88pQHBu9kNvsC96CgIQTgJEk1MIu13
 sGDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1736104674; x=1736709474;
 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=KJagL39HdtJTTgSHJp/6ky71za9fFhsOKWPOQxDuP0I=;
 b=OeVp/FnIeqdhh+YGBVKdZotIwuetnOLgzWMK058WsfGo3zeAazx/azv2WtOmqis3EG
 cCF2zEE3ieX2P0r0zAedpMmP8RMg/nqpw2TRtVIaSxEC1oAL3RfCRzVFytHp4C/Jy/+5
 mveG7qxvKON329KPLtV7a91vGy7I73XltfG+Q0NZ2ts3vg2auYds58nOA/ouDBXj4Yao
 os/wCw04K9+oqsDxUqKhlT8RJqKvMfZFNdvG4PS0iYOX+djyyD9XsAeEyOG/75Ortgco
 zKUIOx3G9xdHgaiuA7HCZbCH9aX01nLhnmURTqRbvLmtVpcukL8Mp083T0br/Xzm6/0P
 RmtA==
X-Forwarded-Encrypted: i=1;
 AJvYcCVD/0E+AbBoAa7Z+HKzFMjoiEfg9btZlyerzIcxrEj9x5ePH0kTft0OuEPu8O+vpHF42obbrA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwkjN27EQ+P3/ap93mJtYgT5WEpMLU8MtVYQ78OfY2uGDEgJVWP
 yxV/YzsRtAdAio374SF809qSnGC1VVcuckdqVO62JGK+hPPgyslJEZtKbrdmveroGwkSjVFijRK
 1yQoK+1LR4mMN3BkKv5Oo2OfZseA=
X-Gm-Gg: ASbGncsPL9eVWVh0JK+KkSmEX6AQlkiYvWYsNTwsuZbNogUppvG806kfnNubZi0jZli
 5mzLotb9TX4keEf5LKm9aatT3VmHzjHLiAKHqWdY4g9gLElZzadDX963muUDMlAD6/F08gg==
X-Google-Smtp-Source: AGHT+IEab70nVoau+O2CCiFUoAPHdg8MYV0LOATTE6EOA00krXbrvKbOYOGaAORZrdpknQbnBDJCgYZWqqAsksxjAK0=
X-Received: by 2002:a05:620a:6019:b0:7a3:5f3f:c084 with SMTP id
 af79cd13be357-7b9ba7abf91mr11245625185a.30.1736104673710; Sun, 05 Jan 2025
 11:17:53 -0800 (PST)
MIME-Version: 1.0
References: <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 <m2sespuuir.fsf@HIDDEN> <m24j4v2oa2.fsf@HIDDEN>
 <m2cyhyoi5l.fsf@HIDDEN> <Z2NE4CVBQH4cKCq7@HIDDEN>
 <m24j2farq6.fsf@HIDDEN>
In-Reply-To: <m24j2farq6.fsf@HIDDEN>
From: Ben Simms <bsimms.simms@HIDDEN>
Date: Sun, 5 Jan 2025 20:17:42 +0100
Message-ID: <CALNBX0aT1b43eiAScPaPD40YJDMBr5edQFKZ8R3WhtuJudqg5A@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
To: Arash Esbati <arash@HIDDEN>
Content-Type: multipart/mixed; boundary="0000000000005ee814062afa5e54"
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: 73384
X-Mailman-Approved-At: Mon, 06 Jan 2025 04:08:32 -0500
Cc: =?UTF-8?Q?Rudolf_Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 Alan Third <alan@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>,
 JD Smith <jdtsmith@HIDDEN>, 73384 <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.3 (/)

--0000000000005ee814062afa5e54
Content-Type: multipart/alternative; boundary="0000000000005ee812062afa5e52"

--0000000000005ee812062afa5e52
Content-Type: text/plain; charset="UTF-8"

Hi all, I've revised my patch from Alan's feedback.
You can find it attached.

On Sat, 4 Jan 2025 at 09:49, Arash Esbati <arash@HIDDEN> wrote:

> Many thanks for your comments Alan.  Since I'm only the messenger here,
> I'm kindly asking Ben if he can incorporate your comments and post a new
> patch.
>
> Reg. your question:
>
> > I take it this doesn't require the addition of any extra build flags
> > to bring in CoreGraphics?
>
> I don't think so, the patch just worked for me.
>
> Best, Arash
>
> Alan Third <alan@HIDDEN> writes:
>
> >> +#ifdef NS_IMPL_COCOA
> >> +/* Returns a cached CGImageMask of the stipple pattern */
> >> +- (CGImageRef)stippleMask
> >> +{
> >> +  if (stippleMask == nil) {
> >> +    CGDataProviderRef provider = CGDataProviderCreateWithData (NULL,
> [bmRep bitmapData],
> >> +                                                             [self
> sizeInBytes], NULL);
> >> +    CGImageRef mask = CGImageMaskCreate(
> >> +                                        [self size].width,
> >> +                                        [self size].height,
> >> +                                        8, 8, [self size].width,
> >> +                                        provider, NULL, 0);
> >
> > There's some weird formatting in this patch. Some of it looks like
> > it's perhaps due to email, but other bits, like the above, just look
> > wrong.
> >
> > Other things I've noticed include C++ comments, //, instead of C
> > comments, /* */. Large blocks of code with no whitespace that is a bit
> > hard to follow. It would be nicer if it was broken up into logical
> > blocks.
> >
> >
> >> +    r = NSMakeRect (s->x, s->y + box_line_width,
> >> +        s->background_width,
> >> +        s->height - 2 * box_line_width);
> > <snip>
> >> +    NSRectFill (r);
> >> +    s->background_filled_p = 1;
> >> +    CGImageRef mask = [dpyinfo->bitmaps[face->stipple - 1].img
> stippleMask];
> >> +    CGRect bounds = CGRectMake (s->x, s->y + box_line_width,
> >> +        s->background_width,
> >> +        s->height - 2 * box_line_width);
> >
> > NSRect and CGRect are the same thing, so here "r" and "bounds" are
> > identical. It might be worth just having one variable.
> >
> >> +      else if (s->stippled_p) {
> >
> > Opening braces go on new lines.
> >
> > Really that's it, Just some polishing required and a proper commit
> > message. Otherwise it looks OK to me.
> >
> > I take it this doesn't require the addition of any extra build flags
> > to bring in CoreGraphics?
>

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

<div dir=3D"ltr">Hi all, I&#39;ve revised my patch from Alan&#39;s feedback=
.<div>You can find it attached.</div></div><br><div class=3D"gmail_quote gm=
ail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, 4 Jan 20=
25 at 09:49, Arash Esbati &lt;<a href=3D"mailto:arash@HIDDEN">arash@HIDDEN=
g</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin=
:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"=
>Many thanks for your comments Alan.=C2=A0 Since I&#39;m only the messenger=
 here,<br>
I&#39;m kindly asking Ben if he can incorporate your comments and post a ne=
w<br>
patch.<br>
<br>
Reg. your question:<br>
<br>
&gt; I take it this doesn&#39;t require the addition of any extra build fla=
gs<br>
&gt; to bring in CoreGraphics?<br>
<br>
I don&#39;t think so, the patch just worked for me.<br>
<br>
Best, Arash<br>
<br>
Alan Third &lt;<a href=3D"mailto:alan@HIDDEN" target=3D"_blank">alan@id=
iocy.org</a>&gt; writes:<br>
<br>
&gt;&gt; +#ifdef NS_IMPL_COCOA<br>
&gt;&gt; +/* Returns a cached CGImageMask of the stipple pattern */<br>
&gt;&gt; +- (CGImageRef)stippleMask<br>
&gt;&gt; +{<br>
&gt;&gt; +=C2=A0 if (stippleMask =3D=3D nil) {<br>
&gt;&gt; +=C2=A0 =C2=A0 CGDataProviderRef provider =3D CGDataProviderCreate=
WithData (NULL, [bmRep bitmapData],<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0[self sizeInBytes], NULL);<br>
&gt;&gt; +=C2=A0 =C2=A0 CGImageRef mask =3D CGImageMaskCreate(<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 [self size].width,<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 [self size].height,<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 8, 8, [self size].width,<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 provider, NULL, 0);<br>
&gt;<br>
&gt; There&#39;s some weird formatting in this patch. Some of it looks like=
<br>
&gt; it&#39;s perhaps due to email, but other bits, like the above, just lo=
ok<br>
&gt; wrong.<br>
&gt;<br>
&gt; Other things I&#39;ve noticed include C++ comments, //, instead of C<b=
r>
&gt; comments, /* */. Large blocks of code with no whitespace that is a bit=
<br>
&gt; hard to follow. It would be nicer if it was broken up into logical<br>
&gt; blocks.<br>
&gt;<br>
&gt;<br>
&gt;&gt; +=C2=A0 =C2=A0 r =3D NSMakeRect (s-&gt;x, s-&gt;y + box_line_width=
,<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 s-&gt;background_width,<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 s-&gt;height - 2 * box_line_width);<b=
r>
&gt; &lt;snip&gt;<br>
&gt;&gt; +=C2=A0 =C2=A0 NSRectFill (r);<br>
&gt;&gt; +=C2=A0 =C2=A0 s-&gt;background_filled_p =3D 1;<br>
&gt;&gt; +=C2=A0 =C2=A0 CGImageRef mask =3D [dpyinfo-&gt;bitmaps[face-&gt;s=
tipple - 1].img stippleMask];<br>
&gt;&gt; +=C2=A0 =C2=A0 CGRect bounds =3D CGRectMake (s-&gt;x, s-&gt;y + bo=
x_line_width,<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 s-&gt;background_width,<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 s-&gt;height - 2 * box_line_width);<b=
r>
&gt;<br>
&gt; NSRect and CGRect are the same thing, so here &quot;r&quot; and &quot;=
bounds&quot; are<br>
&gt; identical. It might be worth just having one variable.<br>
&gt;<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 else if (s-&gt;stippled_p) {<br>
&gt;<br>
&gt; Opening braces go on new lines.<br>
&gt;<br>
&gt; Really that&#39;s it, Just some polishing required and a proper commit=
<br>
&gt; message. Otherwise it looks OK to me.<br>
&gt;<br>
&gt; I take it this doesn&#39;t require the addition of any extra build fla=
gs<br>
&gt; to bring in CoreGraphics?<br>
</blockquote></div>

--0000000000005ee812062afa5e52--

--0000000000005ee814062afa5e54
Content-Type: application/octet-stream; 
	name="0001-Support-coloured-stipples-on-Cocoa-NS.patch"
Content-Disposition: attachment; 
	filename="0001-Support-coloured-stipples-on-Cocoa-NS.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m5jzw0x40>
X-Attachment-Id: f_m5jzw0x40

RnJvbSA1MzhiNDQ0NDI3ZDg0N2U4OGI3MTMzNzY2Y2YxZWRlZmMxNTkyMzMxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCZW4gU2ltbXMgPGJlbkBiZW5zaW1tcy5tb2U+CkRhdGU6IFN1
biwgNSBKYW4gMjAyNSAyMDowMzo1MyArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFN1cHBvcnQgY29s
b3VyZWQgc3RpcHBsZXMgb24gQ29jb2EgTlMKCk9uIENvY29hIGJ1aWxkcyBvZiBOUyBFbWFjcywg
c3RpcHBsZXMgYXJlIHJlbmRlcmVkIHVzaW5nIG1hc2tlZCBDR0ltYWdlcwppbnN0ZWFkIG9mIHBh
dHRlcm5lZCBOU0NvbG9ycywgd2hpY2ggaGF2ZSBubyBzdXBwb3J0IGZvciBiZWluZyB1c2VkIGFz
IGEKbWFzayBmb3IgdGhlIGZvcmVncm91bmQgY29sb3Vycy4gTlMgRW1hY3MgY2FuIG5vdyByZW5k
ZXIgc3RpcHBsZXMgd2l0aApjb2xvdXJzIGEgbGEgb3RoZXIgYnVpbGRzIG9mIGVtYWNzLgotLS0K
IHNyYy9uc2ltYWdlLm0gfCAzMSArKysrKysrKysrKysrKysrKysrKysrKwogc3JjL25zdGVybS5o
ICB8ICA4ICsrKysrKwogc3JjL25zdGVybS5tICB8IDY4ICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMyBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0
aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9uc2ltYWdlLm0gYi9zcmMv
bnNpbWFnZS5tCmluZGV4IGVlNzJkNmUwZWEuLjRkNmJkNjc0NDYgMTAwNjQ0Ci0tLSBhL3NyYy9u
c2ltYWdlLm0KKysrIGIvc3JjL25zaW1hZ2UubQpAQCAtMzUsNiArMzUsOSBAQCBVcGRhdGVkIGJ5
IENocmlzdGlhbiBMaW1wYWNoIChjaHJpc0BuaWNlLmNoKQogI2luY2x1ZGUgImZyYW1lLmgiCiAj
aW5jbHVkZSAiY29kaW5nLmgiCiAKKyNpZmRlZiBOU19JTVBMX0NPQ09BCisjaW5jbHVkZSA8Q29y
ZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2VuZGlmCiAKICNpZiBkZWZpbmVkIChOU19JTVBM
X0dOVVNURVApIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDcwCiAjIGRlZmlu
ZSBDT0xPUlNQQUNFX05BTUUgTlNDYWxpYnJhdGVkUkdCQ29sb3JTcGFjZQpAQCAtMjg5LDcgKzI5
MiwxMSBAQCArIChpbnN0YW5jZXR5cGUpYWxsb2NJbml0RnJvbUZpbGU6IChMaXNwX09iamVjdClm
aWxlCiAKIC0gKHZvaWQpZGVhbGxvYwogeworI2lmZGVmIE5TX0lNUExfQ09DT0EKKyAgQ0dJbWFn
ZVJlbGVhc2Uoc3RpcHBsZU1hc2spOworI2Vsc2UKICAgW3N0aXBwbGVNYXNrIHJlbGVhc2VdOwor
I2VuZGlmCiAgIFtibVJlcCByZWxlYXNlXTsKICAgW3RyYW5zZm9ybSByZWxlYXNlXTsKICAgW3N1
cGVyIGRlYWxsb2NdOwpAQCAtMzAwLDcgKzMwNywxMSBAQCAtIChpZCljb3B5V2l0aFpvbmU6KE5T
Wm9uZSAqKXpvbmUKIHsKICAgRW1hY3NJbWFnZSAqY29weSA9IFtzdXBlciBjb3B5V2l0aFpvbmU6
em9uZV07CiAKKyNpZmRlZiBOU19JTVBMX0NPQ09BCisgIGNvcHktPnN0aXBwbGVNYXNrID0gQ0dJ
bWFnZUNyZWF0ZUNvcHkoc3RpcHBsZU1hc2spOworI2Vsc2UKICAgY29weS0+c3RpcHBsZU1hc2sg
PSBbc3RpcHBsZU1hc2sgY29weVdpdGhab25lOnpvbmVdOworI2VuZGlmIC8qIE5TX0lNUExfQ09D
T0EgKi8KICAgY29weS0+Ym1SZXAgPSBbYm1SZXAgY29weVdpdGhab25lOnpvbmVdOwogICBjb3B5
LT50cmFuc2Zvcm0gPSBbdHJhbnNmb3JtIGNvcHlXaXRoWm9uZTp6b25lXTsKIApAQCAtNTA5LDYg
KzUyMCwyNSBAQCAtICh2b2lkKSBzZXRBbHBoYUF0WDogKGludCkgeCBZOiAoaW50KSB5IHRvOiAo
dW5zaWduZWQgY2hhcikgYQogICAgIH0KIH0KIAorI2lmZGVmIE5TX0lNUExfQ09DT0EKKy8qIFJl
dHVybnMgYSBjYWNoZWQgQ0dJbWFnZU1hc2sgb2YgdGhlIHN0aXBwbGUgcGF0dGVybiAqLworLSAo
Q0dJbWFnZVJlZilzdGlwcGxlTWFzaworeworICBpZiAoc3RpcHBsZU1hc2sgPT0gbmlsKQorICAg
IHsKKyAgICAgIENHRGF0YVByb3ZpZGVyUmVmIHByb3ZpZGVyID0gQ0dEYXRhUHJvdmlkZXJDcmVh
dGVXaXRoRGF0YSAoTlVMTCwgW2JtUmVwIGJpdG1hcERhdGFdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGYgc2l6ZUlu
Qnl0ZXNdLCBOVUxMKTsKKyAgICAgIENHSW1hZ2VSZWYgbWFzayA9IENHSW1hZ2VNYXNrQ3JlYXRl
KFtzZWxmIHNpemVdLndpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgW3NlbGYgc2l6ZV0uaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOCwgOCwgW3NlbGYgc2l6ZV0ud2lkdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlciwgTlVMTCwgMCk7CisKKyAgICAgIENHRGF0
YVByb3ZpZGVyUmVsZWFzZShwcm92aWRlcik7CisgICAgICBzdGlwcGxlTWFzayA9IENHSW1hZ2VS
ZXRhaW4obWFzayk7CisgICAgfQorICByZXR1cm4gc3RpcHBsZU1hc2s7Cit9CisjZWxzZQogLyog
UmV0dXJucyBhIHBhdHRlcm4gY29sb3IsIHdoaWNoIGlzIGNhY2hlZCBoZXJlLiAgKi8KIC0gKE5T
Q29sb3IgKilzdGlwcGxlTWFzawogewpAQCAtNTE2LDYgKzU0Niw3IEBAIC0gKE5TQ29sb3IgKilz
dGlwcGxlTWFzawogICAgICAgc3RpcHBsZU1hc2sgPSBbW05TQ29sb3IgY29sb3JXaXRoUGF0dGVy
bkltYWdlOiBzZWxmXSByZXRhaW5dOwogICByZXR1cm4gc3RpcHBsZU1hc2s7CiB9CisjZW5kaWYg
LyogTlNfSU1QTF9DT0NPQSAqLwogCiAvKiBGaW5kIHRoZSBmaXJzdCBOU0JpdG1hcEltYWdlUmVw
IHdoaWNoIGhhcyBtdWx0aXBsZSBmcmFtZXMuICAqLwogLSAoTlNCaXRtYXBJbWFnZVJlcCAqKWdl
dEFuaW1hdGVkQml0bWFwSW1hZ2VSZXAKZGlmZiAtLWdpdCBhL3NyYy9uc3Rlcm0uaCBiL3NyYy9u
c3Rlcm0uaAppbmRleCA2YzY3NjUzNzA1Li44ZDdlZGFkNmIxIDEwMDY0NAotLS0gYS9zcmMvbnN0
ZXJtLmgKKysrIGIvc3JjL25zdGVybS5oCkBAIC02NzEsNyArNjcxLDExIEBAICNkZWZpbmUgTlNU
UkFDRV9VTlNJTEVOQ0UoKQogewogICBOU0JpdG1hcEltYWdlUmVwICpibVJlcDsgLyogdXNlZCBm
b3IgYWNjZXNzaW5nIHBpeGVsIGRhdGEgKi8KICAgdW5zaWduZWQgY2hhciAqcGl4bWFwRGF0YVs1
XTsgLyogc2hvcnRjdXQgdG8gYWNjZXNzIHBpeGVsIGRhdGEgKi8KKyNpZmRlZiBOU19JTVBMX0NP
Q09BCisgIENHSW1hZ2VSZWYgc3RpcHBsZU1hc2s7CisjZWxzZQogICBOU0NvbG9yICpzdGlwcGxl
TWFzazsKKyNlbmRpZiAvKiBOU19JTVBMX0NPQ09BICovCiBAcHVibGljCiAgIE5TQWZmaW5lVHJh
bnNmb3JtICp0cmFuc2Zvcm07CiAgIEJPT0wgc21vb3RoaW5nOwpAQCAtNjg4LDcgKzY5MiwxMSBA
QCAjZGVmaW5lIE5TVFJBQ0VfVU5TSUxFTkNFKCkKICAgICAgICAgICAgICAgIGdyZWVuOiAodW5z
aWduZWQgY2hhcilnIGJsdWU6ICh1bnNpZ25lZCBjaGFyKWIKICAgICAgICAgICAgICAgYWxwaGE6
KHVuc2lnbmVkIGNoYXIpYTsKIC0gKHZvaWQpc2V0QWxwaGFBdFg6IChpbnQpeCBZOiAoaW50KXkg
dG86ICh1bnNpZ25lZCBjaGFyKWE7CisjaWZkZWYgTlNfSU1QTF9DT0NPQQorLSAoQ0dJbWFnZVJl
ZilzdGlwcGxlTWFzazsKKyNlbHNlCiAtIChOU0NvbG9yICopc3RpcHBsZU1hc2s7CisjZW5kaWYg
LyogTlNfSU1QTF9DT0NPQSAqLwogLSAoTGlzcF9PYmplY3QpZ2V0TWV0YWRhdGE7CiAtIChCT09M
KXNldEZyYW1lOiAodW5zaWduZWQgaW50KSBpbmRleDsKIC0gKHZvaWQpc2V0VHJhbnNmb3JtOiAo
ZG91YmxlWzNdWzNdKSBtOwpkaWZmIC0tZ2l0IGEvc3JjL25zdGVybS5tIGIvc3JjL25zdGVybS5t
CmluZGV4IGY2OGEyMmQ5ZmIuLjRmN2Y5YmRiYzAgMTAwNjQ0Ci0tLSBhL3NyYy9uc3Rlcm0ubQor
KysgYi9zcmMvbnN0ZXJtLm0KQEAgLTM4MjMsOCArMzgyMyw0MSBAQCBGdW5jdGlvbiBtb2RlbGVk
IGFmdGVyIHhfZHJhd19nbHlwaF9zdHJpbmdfYm94ICgpLgogICAgICAgaWYgKHMtPnN0aXBwbGVk
X3ApCiAJewogCSAgc3RydWN0IG5zX2Rpc3BsYXlfaW5mbyAqZHB5aW5mbyA9IEZSQU1FX0RJU1BM
QVlfSU5GTyAocy0+Zik7CisjaWZkZWYgTlNfSU1QTF9DT0NPQQorCSAgLyogT24gY29jb2EgZW1h
Y3MgdGhlIHN0aXBwbGUgaXMgc3RvcmVkIGFzIGEgbWFzayBDR0ltYWdlLgorCSAgICAgRmlyc3Qg
d2Ugd2FudCB0byBjbGVhciB0aGUgYmFja2dyb3VuZCB3aXRoIHRoZSBiZyBjb2xvdXIgKi8KKwkg
IFtbTlNDb2xvciBjb2xvcldpdGhVbnNpZ25lZExvbmc6ZmFjZS0+YmFja2dyb3VuZF0gc2V0XTsK
KwkgIHIgPSBOU01ha2VSZWN0IChzLT54LCBzLT55ICsgYm94X2xpbmVfd2lkdGgsCisJCQkgIHMt
PmJhY2tncm91bmRfd2lkdGgsCisJCQkgIHMtPmhlaWdodCAtIDIgKiBib3hfbGluZV93aWR0aCk7
CisJICBOU1JlY3RGaWxsIChyKTsKKwkgIHMtPmJhY2tncm91bmRfZmlsbGVkX3AgPSAxOworCSAg
Q0dJbWFnZVJlZiBtYXNrID0KKwkgICAgW2RweWluZm8tPmJpdG1hcHNbZmFjZS0+c3RpcHBsZSAt
IDFdLmltZyBzdGlwcGxlTWFza107CisKKwkgIC8qIFRoaXMgcGFydCBjb3VsZCBwb3NzaWJseSBi
ZSBpbXByb3ZlZCwgdGhlIGF1dGhvciBpcworCSAgICAgdW5mYW1pbGlhciB3aXRoIE5TL0NvcmVH
cmFwaGljcyBhbmQgaXNuJ3Qgc3VyZSBpZiBpdCdzCisJICAgICBwb3NzaWJsZSB0byBkbyB0aGlz
IHdpdGggTlNJbWFnZSAqLworCSAgTlNHcmFwaGljc0NvbnRleHQgKmN0eCA9IFtOU0dyYXBoaWNz
Q29udGV4dCBjdXJyZW50Q29udGV4dF07CisJICBbY3R4IHNhdmVHcmFwaGljc1N0YXRlXTsKKwkg
IC8qIENoZWNrcG9pbnQgdGhlIGdyYXBoaWNzIHN0YXRlIGFuZCB0aGVuIGZvY3VzIGluIG9uIHRo
ZSBhcmVhCisJICAgICB3ZSdyZSBnb2luZyB0byBmaWxsICovCisJICBDR0NvbnRleHRSZWYgY29u
dGV4dCA9IFtjdHggQ0dDb250ZXh0XTsKKwkgIENHQ29udGV4dENsaXBUb1JlY3QgKGNvbnRleHQs
IHIpOworCSAgQ0dDb250ZXh0U2NhbGVDVE0gKGNvbnRleHQsIDEsIC0xKTsKKworCSAgLyogU3Rh
bXAgdGhlIGZvcmVncm91bmQgY29sb3VyIHVzaW5nIHRoZSBzdGlwcGxlIG1hc2sgKi8KKwkgIFtb
TlNDb2xvciBjb2xvcldpdGhVbnNpZ25lZExvbmc6ZmFjZS0+Zm9yZWdyb3VuZF0gc2V0XTsKKwkg
IENHUmVjdCBpbWFnZVNpemUgPSBDR1JlY3RNYWtlICgwLCAwLCBDR0ltYWdlR2V0V2lkdGggKG1h
c2spLAorCQkJCQkgQ0dJbWFnZUdldEhlaWdodCAobWFzaykpOworCSAgQ0dDb250ZXh0RHJhd1Rp
bGVkSW1hZ2UgKGNvbnRleHQsIGltYWdlU2l6ZSwgbWFzayk7CisKKwkgIFtbTlNHcmFwaGljc0Nv
bnRleHQgY3VycmVudENvbnRleHRdIHJlc3RvcmVHcmFwaGljc1N0YXRlXTsKKyNlbHNlCiAJICBb
W2RweWluZm8tPmJpdG1hcHNbZmFjZS0+c3RpcHBsZS0xXS5pbWcgc3RpcHBsZU1hc2tdIHNldF07
CiAJICBnb3RvIGZpbGw7CisjZW5kaWYgLyogTlNfSU1QTF9DT0NPQSAqLworCiAJfQogICAgICAg
ZWxzZSBpZiAoRk9OVF9IRUlHSFQgKHMtPmZvbnQpIDwgcy0+aGVpZ2h0IC0gMiAqIGJveF9saW5l
X3dpZHRoCiAJICAgICAgIC8qIFdoZW4geGRpc3AuYyBpZ25vcmVzIEZPTlRfSEVJR0hULCB3ZSBj
YW5ub3QgdHJ1c3QgZm9udApAQCAtMzg0Nyw3ICszODgwLDkgQEAgRnVuY3Rpb24gbW9kZWxlZCBh
ZnRlciB4X2RyYXdfZ2x5cGhfc3RyaW5nX2JveCAoKS4KIAkgIGVsc2UKIAkgICAgW0ZSQU1FX0NV
UlNPUl9DT0xPUiAocy0+Zikgc2V0XTsKIAorI2lmbmRlZiBOU19JTVBMX0NPQ09BCiAJZmlsbDoK
KyNlbmRpZiAvKiAhTlNfSU1QTF9DT0NPQSAqLwogCSAgciA9IE5TTWFrZVJlY3QgKHMtPngsIHMt
PnkgKyBib3hfbGluZV93aWR0aCwKIAkJCSAgcy0+YmFja2dyb3VuZF93aWR0aCwKIAkJCSAgcy0+
aGVpZ2h0IC0gMiAqIGJveF9saW5lX3dpZHRoKTsKQEAgLTQxNzIsNyArNDIwNywzOCBAQCBGdW5j
dGlvbiBtb2RlbGVkIGFmdGVyIHhfZHJhd19nbHlwaF9zdHJpbmdfYm94ICgpLgogCSAgaWYgKHMt
PmhsID09IERSQVdfQ1VSU09SKQogCSAgICBbRlJBTUVfQ1VSU09SX0NPTE9SIChzLT5mKSBzZXRd
OwogCSAgZWxzZSBpZiAocy0+c3RpcHBsZWRfcCkKLQkgICAgW1tkcHlpbmZvLT5iaXRtYXBzW3Mt
PmZhY2UtPnN0aXBwbGUgLSAxXS5pbWcgc3RpcHBsZU1hc2tdIHNldF07CisJICAgIHsKKyNpZmRl
ZiBOU19JTVBMX0NPQ09BCisJICAgICAgLyogT24gY29jb2EgZW1hY3MgdGhlIHN0aXBwbGUgaXMg
c3RvcmVkIGFzIGEgbWFzayBDR0ltYWdlLgorCQkgRmlyc3Qgd2Ugd2FudCB0byBjbGVhciB0aGUg
YmFja2dyb3VuZCB3aXRoIHRoZSBiZworCQkgY29sb3VyICovCisJICAgICAgW1tOU0NvbG9yIGNv
bG9yV2l0aFVuc2lnbmVkTG9uZzpzLT5mYWNlLT5iYWNrZ3JvdW5kXSBzZXRdOworCSAgICAgIE5T
UmVjdEZpbGwgKE5TTWFrZVJlY3QgKHgsIHMtPnksIGJhY2tncm91bmRfd2lkdGgsIHMtPmhlaWdo
dCkpOworCisJICAgICAgLyogVGhpcyBwYXJ0IGNvdWxkIHBvc3NpYmx5IGJlIGltcHJvdmVkLCB0
aGUgYXV0aG9yIGlzCisJCSB1bmZhbWlsaWFyIHdpdGggTlMvQ29yZUdyYXBoaWNzIGFuZCBpc24n
dCBzdXJlIGlmIGl0J3MKKwkJIHBvc3NpYmxlIHRvIGRvIHRoaXMgd2l0aCBOU0ltYWdlICovCisJ
ICAgICAgQ0dJbWFnZVJlZiBtYXNrID0gW2RweWluZm8tPmJpdG1hcHNbcy0+ZmFjZS0+c3RpcHBs
ZSAtIDFdLmltZyBzdGlwcGxlTWFza107CisJICAgICAgQ0dSZWN0IGJvdW5kcyA9IENHUmVjdE1h
a2UgKHMtPngsIHMtPnksIHMtPmJhY2tncm91bmRfd2lkdGgsIHMtPmhlaWdodCk7CisKKwkgICAg
ICAvKiBDaGVja3BvaW50IHRoZSBncmFwaGljcyBzdGF0ZSBhbmQgdGhlbiBmb2N1cyBpbiBvbiB0
aGUKKwkJIGFyZWEgd2UncmUgZ29pbmcgdG8gZmlsbCAqLworCSAgICAgIE5TR3JhcGhpY3NDb250
ZXh0ICpjdHggPSBbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENvbnRleHRdOworCSAgICAgIFtj
dHggc2F2ZUdyYXBoaWNzU3RhdGVdOworCSAgICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gW2N0
eCBDR0NvbnRleHRdOworCSAgICAgIENHQ29udGV4dENsaXBUb1JlY3QoY29udGV4dCwgYm91bmRz
KTsKKwkgICAgICBDR0NvbnRleHRTY2FsZUNUTSAoY29udGV4dCwgMSwgLTEpOworCisJICAgICAg
LyogU3RhbXAgdGhlIGZvcmVncm91bmQgY29sb3VyIHVzaW5nIHRoZSBzdGlwcGxlIG1hc2sgKi8K
KwkgICAgICBbW05TQ29sb3IgY29sb3JXaXRoVW5zaWduZWRMb25nOnMtPmZhY2UtPmZvcmVncm91
bmRdIHNldF07CisJICAgICAgQ0dSZWN0IGltYWdlU2l6ZSA9IENHUmVjdE1ha2UgKDAsIDAsIENH
SW1hZ2VHZXRXaWR0aCAobWFzayksCisJCQkJCSAgICAgQ0dJbWFnZUdldEhlaWdodCAobWFzaykp
OworCSAgICAgIENHQ29udGV4dERyYXdUaWxlZEltYWdlIChjb250ZXh0LCBpbWFnZVNpemUsIG1h
c2spOworCSAgICAgIFtbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENvbnRleHRdIHJlc3RvcmVH
cmFwaGljc1N0YXRlXTsKKyNlbHNlCisJICAgICAgW1tkcHlpbmZvLT5iaXRtYXBzW3MtPmZhY2Ut
PnN0aXBwbGUgLSAxXS5pbWcgc3RpcHBsZU1hc2tdIHNldF07CisjZW5kaWYgLyogTlNfSU1QTF9D
T0NPQSAqLworCSAgICB9CiAJICBlbHNlCiAJICAgIFtbTlNDb2xvciBjb2xvcldpdGhVbnNpZ25l
ZExvbmc6IHMtPmZhY2UtPmJhY2tncm91bmRdIHNldF07CiAKLS0gCjIuNDcuMAoK
--0000000000005ee814062afa5e54--




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

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


Received: (at 73384) by debbugs.gnu.org; 4 Jan 2025 08:49:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 04 03:49:50 2025
Received: from localhost ([127.0.0.1]:53329 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tTzqv-0003U3-Mr
	for submit <at> debbugs.gnu.org; Sat, 04 Jan 2025 03:49:50 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:36594)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <arash@HIDDEN>) id 1tTzqt-0003Tr-U6
 for 73384 <at> debbugs.gnu.org; Sat, 04 Jan 2025 03:49:48 -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 <arash@HIDDEN>)
 id 1tTzqm-0003Nr-V6; Sat, 04 Jan 2025 03:49:40 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=SCLa/pht+D1niCayjnMvdMWumAy3gxL0V+PhW7QGCQo=; b=RtJpnvsa0wSwfQOWib3c
 oEquPqoo/Sz0Yq7T+e3LmOJfhKmC8HA5iv4Gsnr8e7VDMsnFfTmYKOxZVSGGvmuuuKw0GOGbuH64B
 xiUGiK9V+VK/FZxFAXja4xNOSLTcNqQQ8XNtV6Zlk6BPa9yG9kMYzioo/QopvED7cYaw7S4OATNfB
 etlpImA3vXC4H/pnIlmC8nvSevHEVGsUuCCsq4zS1aaW/aDKUNomhc63uGczw/YsD6FqZALfuFhox
 SGRpBugx9oPEQm8RaX5yOtOled5mBMV3sYod6mk/ORGI2cJwRpfU2aK5z8GBA3twgI2BMuPrsNvyo
 JQrtNGrpqHfp4Q==;
From: Arash Esbati <arash@HIDDEN>
To: Alan Third <alan@HIDDEN>, Ben Simms <bsimms.simms@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <Z2NE4CVBQH4cKCq7@HIDDEN> (Alan Third's message
 of "Wed, 18 Dec 2024 21:55:44 +0000")
References: <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 <m2sespuuir.fsf@HIDDEN>
 <m24j4v2oa2.fsf@HIDDEN>
 <m2cyhyoi5l.fsf@HIDDEN>
 <Z2NE4CVBQH4cKCq7@HIDDEN>
Date: Sat, 04 Jan 2025 09:49:37 +0100
Message-ID: <m24j2farq6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 73384
Cc: Rudolf =?utf-8?Q?Adamkovi?= =?utf-8?Q?=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN>,
 JD Smith <jdtsmith@HIDDEN>
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.6 (--)

Many thanks for your comments Alan.  Since I'm only the messenger here,
I'm kindly asking Ben if he can incorporate your comments and post a new
patch.

Reg. your question:

> I take it this doesn't require the addition of any extra build flags
> to bring in CoreGraphics?

I don't think so, the patch just worked for me.

Best, Arash

Alan Third <alan@HIDDEN> writes:

>> +#ifdef NS_IMPL_COCOA
>> +/* Returns a cached CGImageMask of the stipple pattern */
>> +- (CGImageRef)stippleMask
>> +{
>> +  if (stippleMask == nil) {
>> +    CGDataProviderRef provider = CGDataProviderCreateWithData (NULL, [bmRep bitmapData],
>> +                                                             [self sizeInBytes], NULL);
>> +    CGImageRef mask = CGImageMaskCreate(
>> +                                        [self size].width,
>> +                                        [self size].height,
>> +                                        8, 8, [self size].width,
>> +                                        provider, NULL, 0);
>
> There's some weird formatting in this patch. Some of it looks like
> it's perhaps due to email, but other bits, like the above, just look
> wrong.
>
> Other things I've noticed include C++ comments, //, instead of C
> comments, /* */. Large blocks of code with no whitespace that is a bit
> hard to follow. It would be nicer if it was broken up into logical
> blocks.
>
>
>> +    r = NSMakeRect (s->x, s->y + box_line_width,
>> +        s->background_width,
>> +        s->height - 2 * box_line_width);
> <snip>
>> +    NSRectFill (r);
>> +    s->background_filled_p = 1;
>> +    CGImageRef mask = [dpyinfo->bitmaps[face->stipple - 1].img stippleMask];
>> +    CGRect bounds = CGRectMake (s->x, s->y + box_line_width,
>> +        s->background_width,
>> +        s->height - 2 * box_line_width);
>
> NSRect and CGRect are the same thing, so here "r" and "bounds" are
> identical. It might be worth just having one variable.
>
>> +	  else if (s->stippled_p) {
>
> Opening braces go on new lines.
>
> Really that's it, Just some polishing required and a proper commit
> message. Otherwise it looks OK to me.
>
> I take it this doesn't require the addition of any extra build flags
> to bring in CoreGraphics?




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

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


Received: (at 73384) by debbugs.gnu.org; 18 Dec 2024 21:55:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 18 16:55:54 2024
Received: from localhost ([127.0.0.1]:36315 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tO21K-0003RW-58
	for submit <at> debbugs.gnu.org; Wed, 18 Dec 2024 16:55:54 -0500
Received: from dane.soverin.net ([185.233.34.36]:39357)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <alan@HIDDEN>) id 1tO21I-0003RH-A8
 for 73384 <at> debbugs.gnu.org; Wed, 18 Dec 2024 16:55:53 -0500
Received: from smtp.soverin.net (unknown [10.10.4.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by dane.soverin.net (Postfix) with ESMTPS id 4YD6tn6y4BzXyq;
 Wed, 18 Dec 2024 21:55:45 +0000 (UTC)
Received: from smtp.soverin.net (smtp.soverin.net [10.10.4.99]) by soverin.net
 (Postfix) with ESMTPSA id 4YD6tn1n59z5W; 
 Wed, 18 Dec 2024 21:55:45 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin;
 t=1734558945; bh=gBeYWjCE49B+7gopyE9xJqCVKybRvK92Thrc0I54FJQ=;
 h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
 b=AeruY0fa4lskndLPFZP43xmcQam4/anUZJ12KT7j3n3tolbYBa7FvntJixTxawXjd
 7MPBTRNg9hVqS1IzVVxvVrC36KKJtvDFa982QiYCSCbETaHeaBxA08JMax8aoKbJrg
 IuR8n4l3cK5NODniCJTzufXsUxoHovCj0QEk4FilDpQcIihm48zwupKmx561BfU8DU
 Jwb1Bo6HeFnI1SmqPdfjdkVvCmAC/MiousMof6xrlUG5xg0tkLDLVN3y/+0MCXgZxA
 +7NuQ+YAGqV/K8WjUNXCpEU4g4O78m3jwf3aLKrYjbIKDGk/n1SgIp6WM3butDVx4P
 ucWE5iTILFRnA==
X-CMAE-Score: 0
X-CM-Analysis: v=2.4 cv=UsCZN/wB c=1 sm=1 tr=0 ts=676344e1 a=kj9zAlcOel0A:10
 a=RZcAm9yDv7YA:10 a=pNIsRpHqy2CaE01BwbgA:9 a=CjuIK1q_8ugA:10
Received: from localhost (faroe.holly.idiocy.org [local])
 by faroe.holly.idiocy.org (OpenSMTPD) with ESMTPA id 241bebf9;
 Wed, 18 Dec 2024 21:55:44 +0000 (UTC)
Date: Wed, 18 Dec 2024 21:55:44 +0000
From: Alan Third <alan@HIDDEN>
To: Arash Esbati <arash@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
Message-ID: <Z2NE4CVBQH4cKCq7@HIDDEN>
Mail-Followup-To: Alan Third <alan@HIDDEN>, Arash Esbati <arash@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>,
 Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, JD Smith <jdtsmith@HIDDEN>,
 Ben Simms <bsimms.simms@HIDDEN>
References: <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 <m2sespuuir.fsf@HIDDEN>
 <m24j4v2oa2.fsf@HIDDEN>
 <m2cyhyoi5l.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <m2cyhyoi5l.fsf@HIDDEN>
X-Spampanel-Class: ham
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: 73384
Cc: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN>,
 JD Smith <jdtsmith@HIDDEN>, Ben Simms <bsimms.simms@HIDDEN>
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.3 (/)

> +#ifdef NS_IMPL_COCOA
> +/* Returns a cached CGImageMask of the stipple pattern */
> +- (CGImageRef)stippleMask
> +{
> +  if (stippleMask == nil) {
> +    CGDataProviderRef provider = CGDataProviderCreateWithData (NULL, [bmRep bitmapData],
> +                                                             [self sizeInBytes], NULL);
> +    CGImageRef mask = CGImageMaskCreate(
> +                                        [self size].width,
> +                                        [self size].height,
> +                                        8, 8, [self size].width,
> +                                        provider, NULL, 0);

There's some weird formatting in this patch. Some of it looks like
it's perhaps due to email, but other bits, like the above, just look
wrong.

Other things I've noticed include C++ comments, //, instead of C
comments, /* */. Large blocks of code with no whitespace that is a bit
hard to follow. It would be nicer if it was broken up into logical
blocks.


> +    r = NSMakeRect (s->x, s->y + box_line_width,
> +        s->background_width,
> +        s->height - 2 * box_line_width);
<snip>
> +    NSRectFill (r);
> +    s->background_filled_p = 1;
> +    CGImageRef mask = [dpyinfo->bitmaps[face->stipple - 1].img stippleMask];
> +    CGRect bounds = CGRectMake (s->x, s->y + box_line_width,
> +        s->background_width,
> +        s->height - 2 * box_line_width);

NSRect and CGRect are the same thing, so here "r" and "bounds" are
identical. It might be worth just having one variable.

> +	  else if (s->stippled_p) {

Opening braces go on new lines.

Really that's it, Just some polishing required and a proper commit
message. Otherwise it looks OK to me.

I take it this doesn't require the addition of any extra build flags
to bring in CoreGraphics?
-- 
Alan Third




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

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


Received: (at 73384) by debbugs.gnu.org; 15 Dec 2024 14:22:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 15 09:22:40 2024
Received: from localhost ([127.0.0.1]:50012 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tMpW3-0008EM-Tf
	for submit <at> debbugs.gnu.org; Sun, 15 Dec 2024 09:22:40 -0500
Received: from mail-ej1-f47.google.com ([209.85.218.47]:44094)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1tMpVz-0008EC-AB
 for 73384 <at> debbugs.gnu.org; Sun, 15 Dec 2024 09:22:37 -0500
Received: by mail-ej1-f47.google.com with SMTP id
 a640c23a62f3a-a9f1d76dab1so674932966b.0
 for <73384 <at> debbugs.gnu.org>; Sun, 15 Dec 2024 06:22:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1734272494; x=1734877294; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=ymxMiidLZfzaHEoiL2dIC88fKX9l4oN8C5aTTdPgRho=;
 b=iDtAS4osZFGHQYSE9pfgWx23LxJo1m8uVrOPOniB9POHLigmow/JNc8RQ2DjIBCS5W
 XAEIlYvEJmC8YH3oUKdTcpkrpkN8hXbvPHbhdI+TMPzECMp2vogVrMRZTRHuP6M/Czli
 B0hVQBnOZxdl0hLYGTkCeCenhw6RgHLVP4Hz96KzFUVYs2GkCZvm3w+KFJQ7OQh3Bn9k
 +3HxbffrhQwu4J7868v7V7+2JfbYO5LtYUCDApAbgFTRSVICCBeJ99z+mYqT8qjotYR9
 ZYLOiQqSnuM99xeLQ//BpSzRJZh1pLX7BD345PAHVzyaiSiDk3ZTf8QgHnl1mDi+ewNx
 /55w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1734272494; x=1734877294;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=ymxMiidLZfzaHEoiL2dIC88fKX9l4oN8C5aTTdPgRho=;
 b=Mv0B/AxH9xUQGPqlm+q3Xeh+CLHYJnmSvv3GsIJ7gXupOqpoQHi2f1MN+5MFTyuNF5
 jCm8108G4K3l8r4JcHzyg1ZxTNgmqFArhg3FALjpliXFvVo76llNbCNJRjH9EYaUDAi6
 cwkYL8xRB8uKZ1MEhy/pbvE7qiUlCSy6C4F/kIyJ/7galZobWE55pWcrnQNixAbyaWiy
 pSST7WN/q8KgW8G/unR/ExhuE7cpB3R1scDIa/T5BpVMBWQW5OmqKLUzjgMsVVV/cKdW
 yUgH/DlSWyjhGYeqfFoFR0T1Q3+GVEjpGL/AsGAT6RoFQB8lGrfVcuFBasHdUg+TtRWU
 3+fw==
X-Gm-Message-State: AOJu0YzxnHmdJ3JSVJ6GQ2CyVUX/HzQkG7yC+5UX1Z1tX2SgBQ3PF1Qi
 vo4rN9O+xeNAzFUsEsn64/I4+6vduLsQ20191UA3Vex9HpOoJZQ5M4NSxYPutPy7eDyYgOmcYJf
 52cHbDukLja5G6ZdamDlGE0iFBPA=
X-Gm-Gg: ASbGncv0pbgTzeMQnfLWLr9krVJGyEWAE/vrmQu4oUcheisw3v+ZF4RSPTBlGa+Eqxj
 sKe2689YS1aFU3c6PmORD16+FmWWh+e32NJiNyDI=
X-Google-Smtp-Source: AGHT+IF421QqGfDbBVmj8GmCY7Py0bD7OFf6rxcQRzYOE8stJrzuqaJJfzee1RDpM5822flglfVSWzvBoKi6hkQ/TSg=
X-Received: by 2002:a17:907:2cc6:b0:aa6:8bb4:502e with SMTP id
 a640c23a62f3a-aab778c7b34mr1019119266b.6.1734272492455; Sun, 15 Dec 2024
 06:21:32 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 15 Dec 2024 14:21:31 +0000
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <m2cyhyoi5l.fsf@HIDDEN>
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 <m2sespuuir.fsf@HIDDEN> <m24j4v2oa2.fsf@HIDDEN>
 <m2cyhyoi5l.fsf@HIDDEN>
MIME-Version: 1.0
Date: Sun, 15 Dec 2024 14:21:31 +0000
Message-ID: <CADwFkmmpxRWduWN2MYMdt4UYRPMNREgZJnQxUFK2Kf+uRe3WCg@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
To: Arash Esbati <arash@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 73384
Cc: =?UTF-8?Q?Rudolf_Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, Alan Third <alan@HIDDEN>,
 JD Smith <jdtsmith@HIDDEN>, Ben Simms <bsimms.simms@HIDDEN>
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 (-)

Alan, do you have any comments on the below patch?  Thanks in advance.

Arash Esbati <arash@HIDDEN> writes:

> Arash Esbati <arash@HIDDEN> writes:
>
>> Stefan, did you have a chance to look at this again?  I'm attaching the
>> patch Ben sent me off-list.  Maybe you can advise how to proceed and get
>> this installed.  TIA.
>
> Ping!
>
> Do you see a chance to install this change?  Or should I ask Alan Third
> if he can kindly have a look?
>
> From 1c4b8efb82bd0e35c91d98f2759217702f3a7c65 Mon Sep 17 00:00:00 2001
> From: Ben Simms <ben@HIDDEN>
> Date: Mon, 14 Oct 2024 19:32:53 +0100
> Subject: [PATCH] Use masked coregraphics images on cocoa NS
>
> ---
>  src/nsimage.m | 31 +++++++++++++++++++++++++++++++
>  src/nsterm.h  |  8 ++++++++
>  src/nsterm.m  | 47 +++++++++++++++++++++++++++++++++++++++++++++--
>  3 files changed, 84 insertions(+), 2 deletions(-)
>
> diff --git a/src/nsimage.m b/src/nsimage.m
> index ee72d6e0ea1..e36cbe5dc87 100644
> --- a/src/nsimage.m
> +++ b/src/nsimage.m
> @@ -35,6 +35,9 @@ Updated by Christian Limpach (chris@HIDDEN)
>  #include "frame.h"
>  #include "coding.h"
>
> +#ifdef NS_IMPL_COCOA
> +#include <CoreGraphics/CoreGraphics.h>
> +#endif
>
>  #if defined (NS_IMPL_GNUSTEP) || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
>  # define COLORSPACE_NAME NSCalibratedRGBColorSpace
> @@ -289,7 +292,11 @@ + (instancetype)allocInitFromFile: (Lisp_Object)file
>
>  - (void)dealloc
>  {
> +#ifdef NS_IMPL_COCOA
> +  CGImageRelease(stippleMask);
> +#else
>    [stippleMask release];
> +#endif
>    [bmRep release];
>    [transform release];
>    [super dealloc];
> @@ -300,7 +307,11 @@ - (id)copyWithZone:(NSZone *)zone
>  {
>    EmacsImage *copy = [super copyWithZone:zone];
>
> +#ifdef NS_IMPL_COCOA
> +  copy->stippleMask = CGImageCreateCopy(stippleMask);
> +#else
>    copy->stippleMask = [stippleMask copyWithZone:zone];
> +#endif /* NS_IMPL_COCOA */
>    copy->bmRep = [bmRep copyWithZone:zone];
>    copy->transform = [transform copyWithZone:zone];
>
> @@ -509,6 +520,25 @@ - (void) setAlphaAtX: (int) x Y: (int) y to: (unsigned char) a
>      }
>  }
>
> +#ifdef NS_IMPL_COCOA
> +/* Returns a cached CGImageMask of the stipple pattern */
> +- (CGImageRef)stippleMask
> +{
> +  if (stippleMask == nil) {
> +    CGDataProviderRef provider = CGDataProviderCreateWithData (NULL, [bmRep bitmapData],
> +                                                             [self sizeInBytes], NULL);
> +    CGImageRef mask = CGImageMaskCreate(
> +                                        [self size].width,
> +                                        [self size].height,
> +                                        8, 8, [self size].width,
> +                                        provider, NULL, 0);
> +
> +    CGDataProviderRelease(provider);
> +    stippleMask = CGImageRetain(mask);
> +  }
> +  return stippleMask;
> +}
> +#else
>  /* Returns a pattern color, which is cached here.  */
>  - (NSColor *)stippleMask
>  {
> @@ -516,6 +546,7 @@ - (NSColor *)stippleMask
>        stippleMask = [[NSColor colorWithPatternImage: self] retain];
>    return stippleMask;
>  }
> +#endif /* NS_IMPL_COCOA */
>
>  /* Find the first NSBitmapImageRep which has multiple frames.  */
>  - (NSBitmapImageRep *)getAnimatedBitmapImageRep
> diff --git a/src/nsterm.h b/src/nsterm.h
> index 6c67653705e..2370f6ea3fb 100644
> --- a/src/nsterm.h
> +++ b/src/nsterm.h
> @@ -671,7 +671,11 @@ #define NSTRACE_UNSILENCE()
>  {
>    NSBitmapImageRep *bmRep; /* used for accessing pixel data */
>    unsigned char *pixmapData[5]; /* shortcut to access pixel data */
> +#ifdef NS_IMPL_COCOA
> +  CGImageRef stippleMask;
> +#else
>    NSColor *stippleMask;
> +#endif // NS_IMPL_COCOA
>  @public
>    NSAffineTransform *transform;
>    BOOL smoothing;
> @@ -688,7 +692,11 @@ #define NSTRACE_UNSILENCE()
>                 green: (unsigned char)g blue: (unsigned char)b
>                alpha:(unsigned char)a;
>  - (void)setAlphaAtX: (int)x Y: (int)y to: (unsigned char)a;
> +#ifdef NS_IMPL_COCOA
> +- (CGImageRef)stippleMask;
> +#else
>  - (NSColor *)stippleMask;
> +#endif // NS_IMPL_COCOA
>  - (Lisp_Object)getMetadata;
>  - (BOOL)setFrame: (unsigned int) index;
>  - (void)setTransform: (double[3][3]) m;
> diff --git a/src/nsterm.m b/src/nsterm.m
> index f68a22d9fbc..a617669cb4d 100644
> --- a/src/nsterm.m
> +++ b/src/nsterm.m
> @@ -3823,8 +3823,31 @@ Function modeled after x_draw_glyph_string_box ().
>        if (s->stippled_p)
>  	{
>  	  struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f);
> +#ifdef NS_IMPL_COCOA
> +    [[NSColor colorWithUnsignedLong:face->background] set];
> +    r = NSMakeRect (s->x, s->y + box_line_width,
> +        s->background_width,
> +        s->height - 2 * box_line_width);
> +    NSRectFill (r);
> +    s->background_filled_p = 1;
> +    CGImageRef mask = [dpyinfo->bitmaps[face->stipple - 1].img stippleMask];
> +    CGRect bounds = CGRectMake (s->x, s->y + box_line_width,
> +        s->background_width,
> +        s->height - 2 * box_line_width);
> +    NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
> +    [ctx saveGraphicsState];
> +    CGContextRef context = [ctx CGContext];
> +    CGContextClipToRect (context, bounds);
> +    CGContextScaleCTM (context, 1, -1);
> +    [[NSColor colorWithUnsignedLong:face->foreground] set];
> +    CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask), CGImageGetHeight (mask));
> +    CGContextDrawTiledImage (context, imageSize, mask);
> +    [[NSGraphicsContext currentContext] restoreGraphicsState];
> +#else
>  	  [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set];
>  	  goto fill;
> +#endif /* NS_IMPL_COCOA */
> +
>  	}
>        else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
>  	       /* When xdisp.c ignores FONT_HEIGHT, we cannot trust font
> @@ -3847,7 +3870,9 @@ Function modeled after x_draw_glyph_string_box ().
>  	  else
>  	    [FRAME_CURSOR_COLOR (s->f) set];
>
> +#ifndef NS_IMPL_COCOA
>  	fill:
> +#endif /* !NS_IMPL_COCOA */
>  	  r = NSMakeRect (s->x, s->y + box_line_width,
>  			  s->background_width,
>  			  s->height - 2 * box_line_width);
> @@ -4171,8 +4196,26 @@ Function modeled after x_draw_glyph_string_box ().
>  	  dpyinfo = FRAME_DISPLAY_INFO (s->f);
>  	  if (s->hl == DRAW_CURSOR)
>  	    [FRAME_CURSOR_COLOR (s->f) set];
> -	  else if (s->stippled_p)
> -	    [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
> +	  else if (s->stippled_p) {
> +#ifdef NS_IMPL_COCOA
> +      [[NSColor colorWithUnsignedLong:s->face->background] set];
> +      NSRectFill (NSMakeRect (x, s->y, background_width, s->height));
> +      CGImageRef mask = [dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask];
> +      CGRect bounds = CGRectMake (s->x, s->y, s->background_width, s->height);
> +      NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
> +      [ctx saveGraphicsState];
> +      CGContextRef context = [ctx CGContext];
> +      CGContextClipToRect(context, bounds);
> +      CGContextScaleCTM (context, 1, -1);
> +      [[NSColor colorWithUnsignedLong:s->face->foreground] set];
> +      CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask),
> +      CGImageGetHeight (mask));
> +      CGContextDrawTiledImage (context, imageSize, mask);
> +      [[NSGraphicsContext currentContext] restoreGraphicsState];
> +#else
> +      [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
> +#endif /* NS_IMPL_COCOA */
> +    }
>  	  else
>  	    [[NSColor colorWithUnsignedLong: s->face->background] set];
>
> --
> 2.46.0




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

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


Received: (at 73384) by debbugs.gnu.org; 11 Dec 2024 06:20:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 11 01:20:24 2024
Received: from localhost ([127.0.0.1]:60833 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tLG5A-0006YS-4K
	for submit <at> debbugs.gnu.org; Wed, 11 Dec 2024 01:20:24 -0500
Received: from eggs.gnu.org ([209.51.188.92]:43868)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arash@HIDDEN>) id 1tLG55-0006Xw-2O
 for 73384 <at> debbugs.gnu.org; Wed, 11 Dec 2024 01:20:23 -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 <arash@HIDDEN>)
 id 1tLG4w-0007Fu-Ij; Wed, 11 Dec 2024 01:20:10 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=cFOt5HFShdtZtAPeHW1682gUeLFtengDJ5GVx/Shtf8=; b=J+M1oHG5THOa6ktYzdey
 7bDYLJPaNEieBUfZbPOsQUD1IKrLqQ4eiHZSg6iFzA25qiRoSYM0G2Spnk+2k4CjBRgi0pga3FxaY
 Mp13Tt4wWDJUGtYdR5Et/8IcsPNjB7TOqGImDPE2kbSSGFQljb5xLGCdUKw9fIxfKQAwO1VPgD75q
 LV2pKKdf0O68FkaZhtEFMcWhUUkjXrEqxu3aF68GHeD9WwRDsqGN0xhZmX515KiW9dzWT4XzEZXRh
 +6+74aASFvl0gLsw0/GNw7m9UObdgaBJTRyeCZwWcu/gLofpTEzUghJP+KISFg47e9C+LJL/bT+ke
 RBIukXBiT6tLlQ==;
From: Arash Esbati <arash@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <m24j4v2oa2.fsf@HIDDEN> (Arash Esbati's message of
 "Tue, 29 Oct 2024 11:31:49 +0100")
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 <m2sespuuir.fsf@HIDDEN>
 <m24j4v2oa2.fsf@HIDDEN>
Date: Wed, 11 Dec 2024 07:20:06 +0100
Message-ID: <m2cyhyoi5l.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 73384
Cc: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, JD Smith <jdtsmith@HIDDEN>,
 Ben Simms <bsimms.simms@HIDDEN>
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 (---)

--=-=-=
Content-Type: text/plain

Arash Esbati <arash@HIDDEN> writes:

> Stefan, did you have a chance to look at this again?  I'm attaching the
> patch Ben sent me off-list.  Maybe you can advise how to proceed and get
> this installed.  TIA.

Ping!

Do you see a chance to install this change?  Or should I ask Alan Third
if he can kindly have a look?

Best, Arash

--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-Use-masked-coregraphics-images-on-cocoa-NS.patch

From 1c4b8efb82bd0e35c91d98f2759217702f3a7c65 Mon Sep 17 00:00:00 2001
From: Ben Simms <ben@HIDDEN>
Date: Mon, 14 Oct 2024 19:32:53 +0100
Subject: [PATCH] Use masked coregraphics images on cocoa NS

---
 src/nsimage.m | 31 +++++++++++++++++++++++++++++++
 src/nsterm.h  |  8 ++++++++
 src/nsterm.m  | 47 +++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/src/nsimage.m b/src/nsimage.m
index ee72d6e0ea1..e36cbe5dc87 100644
--- a/src/nsimage.m
+++ b/src/nsimage.m
@@ -35,6 +35,9 @@ Updated by Christian Limpach (chris@HIDDEN)
 #include "frame.h"
 #include "coding.h"
 
+#ifdef NS_IMPL_COCOA
+#include <CoreGraphics/CoreGraphics.h>
+#endif
 
 #if defined (NS_IMPL_GNUSTEP) || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
 # define COLORSPACE_NAME NSCalibratedRGBColorSpace
@@ -289,7 +292,11 @@ + (instancetype)allocInitFromFile: (Lisp_Object)file
 
 - (void)dealloc
 {
+#ifdef NS_IMPL_COCOA
+  CGImageRelease(stippleMask);
+#else
   [stippleMask release];
+#endif
   [bmRep release];
   [transform release];
   [super dealloc];
@@ -300,7 +307,11 @@ - (id)copyWithZone:(NSZone *)zone
 {
   EmacsImage *copy = [super copyWithZone:zone];
 
+#ifdef NS_IMPL_COCOA
+  copy->stippleMask = CGImageCreateCopy(stippleMask);
+#else
   copy->stippleMask = [stippleMask copyWithZone:zone];
+#endif /* NS_IMPL_COCOA */
   copy->bmRep = [bmRep copyWithZone:zone];
   copy->transform = [transform copyWithZone:zone];
 
@@ -509,6 +520,25 @@ - (void) setAlphaAtX: (int) x Y: (int) y to: (unsigned char) a
     }
 }
 
+#ifdef NS_IMPL_COCOA
+/* Returns a cached CGImageMask of the stipple pattern */
+- (CGImageRef)stippleMask
+{
+  if (stippleMask == nil) {
+    CGDataProviderRef provider = CGDataProviderCreateWithData (NULL, [bmRep bitmapData],
+                                                             [self sizeInBytes], NULL);
+    CGImageRef mask = CGImageMaskCreate(
+                                        [self size].width,
+                                        [self size].height,
+                                        8, 8, [self size].width,
+                                        provider, NULL, 0);
+
+    CGDataProviderRelease(provider);
+    stippleMask = CGImageRetain(mask);
+  }
+  return stippleMask;
+}
+#else
 /* Returns a pattern color, which is cached here.  */
 - (NSColor *)stippleMask
 {
@@ -516,6 +546,7 @@ - (NSColor *)stippleMask
       stippleMask = [[NSColor colorWithPatternImage: self] retain];
   return stippleMask;
 }
+#endif /* NS_IMPL_COCOA */
 
 /* Find the first NSBitmapImageRep which has multiple frames.  */
 - (NSBitmapImageRep *)getAnimatedBitmapImageRep
diff --git a/src/nsterm.h b/src/nsterm.h
index 6c67653705e..2370f6ea3fb 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -671,7 +671,11 @@ #define NSTRACE_UNSILENCE()
 {
   NSBitmapImageRep *bmRep; /* used for accessing pixel data */
   unsigned char *pixmapData[5]; /* shortcut to access pixel data */
+#ifdef NS_IMPL_COCOA
+  CGImageRef stippleMask;
+#else
   NSColor *stippleMask;
+#endif // NS_IMPL_COCOA
 @public
   NSAffineTransform *transform;
   BOOL smoothing;
@@ -688,7 +692,11 @@ #define NSTRACE_UNSILENCE()
                green: (unsigned char)g blue: (unsigned char)b
               alpha:(unsigned char)a;
 - (void)setAlphaAtX: (int)x Y: (int)y to: (unsigned char)a;
+#ifdef NS_IMPL_COCOA
+- (CGImageRef)stippleMask;
+#else
 - (NSColor *)stippleMask;
+#endif // NS_IMPL_COCOA
 - (Lisp_Object)getMetadata;
 - (BOOL)setFrame: (unsigned int) index;
 - (void)setTransform: (double[3][3]) m;
diff --git a/src/nsterm.m b/src/nsterm.m
index f68a22d9fbc..a617669cb4d 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -3823,8 +3823,31 @@ Function modeled after x_draw_glyph_string_box ().
       if (s->stippled_p)
 	{
 	  struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f);
+#ifdef NS_IMPL_COCOA
+    [[NSColor colorWithUnsignedLong:face->background] set];
+    r = NSMakeRect (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSRectFill (r);
+    s->background_filled_p = 1;
+    CGImageRef mask = [dpyinfo->bitmaps[face->stipple - 1].img stippleMask];
+    CGRect bounds = CGRectMake (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
+    [ctx saveGraphicsState];
+    CGContextRef context = [ctx CGContext];
+    CGContextClipToRect (context, bounds);
+    CGContextScaleCTM (context, 1, -1);
+    [[NSColor colorWithUnsignedLong:face->foreground] set];
+    CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask), CGImageGetHeight (mask));
+    CGContextDrawTiledImage (context, imageSize, mask);
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else
 	  [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set];
 	  goto fill;
+#endif /* NS_IMPL_COCOA */
+
 	}
       else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
 	       /* When xdisp.c ignores FONT_HEIGHT, we cannot trust font
@@ -3847,7 +3870,9 @@ Function modeled after x_draw_glyph_string_box ().
 	  else
 	    [FRAME_CURSOR_COLOR (s->f) set];
 
+#ifndef NS_IMPL_COCOA
 	fill:
+#endif /* !NS_IMPL_COCOA */
 	  r = NSMakeRect (s->x, s->y + box_line_width,
 			  s->background_width,
 			  s->height - 2 * box_line_width);
@@ -4171,8 +4196,26 @@ Function modeled after x_draw_glyph_string_box ().
 	  dpyinfo = FRAME_DISPLAY_INFO (s->f);
 	  if (s->hl == DRAW_CURSOR)
 	    [FRAME_CURSOR_COLOR (s->f) set];
-	  else if (s->stippled_p)
-	    [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+	  else if (s->stippled_p) {
+#ifdef NS_IMPL_COCOA
+      [[NSColor colorWithUnsignedLong:s->face->background] set];
+      NSRectFill (NSMakeRect (x, s->y, background_width, s->height));
+      CGImageRef mask = [dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask];
+      CGRect bounds = CGRectMake (s->x, s->y, s->background_width, s->height);
+      NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
+      [ctx saveGraphicsState];
+      CGContextRef context = [ctx CGContext];
+      CGContextClipToRect(context, bounds);
+      CGContextScaleCTM (context, 1, -1);
+      [[NSColor colorWithUnsignedLong:s->face->foreground] set];
+      CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask),
+      CGImageGetHeight (mask));
+      CGContextDrawTiledImage (context, imageSize, mask);
+      [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else 
+      [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+#endif /* NS_IMPL_COCOA */
+    }
 	  else
 	    [[NSColor colorWithUnsignedLong: s->face->background] set];
 
-- 
2.46.0


--=-=-=--




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

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


Received: (at 73384) by debbugs.gnu.org; 29 Oct 2024 10:32:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 29 06:32:29 2024
Received: from localhost ([127.0.0.1]:56124 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t5jWW-0007qO-PU
	for submit <at> debbugs.gnu.org; Tue, 29 Oct 2024 06:32:29 -0400
Received: from eggs.gnu.org ([209.51.188.92]:57680)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arash@HIDDEN>) id 1t5jWT-0007qD-CE
 for 73384 <at> debbugs.gnu.org; Tue, 29 Oct 2024 06:32:27 -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 <arash@HIDDEN>)
 id 1t5jWM-0004Fu-ST; Tue, 29 Oct 2024 06:32:18 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=QDdYdjs6y/WovgHLrDlQlVhcF18xiuFSFrIUFKpws+E=; b=P634uT4Q8+rLgpY2YVU7
 IxWPml1PM4OnYy5+GMfcY1PJKFYUbXKtBPdCx+EN6KiP6dtAfmKr+R8/OXHY5BEbOPeeIh44XAIk0
 5YdSyPknn2uXCPT9hnnwnSkCI7mRx39RtrB7q/2M6NEXP/Xeqo2lLnuMkjLj2P+/IAsAr2h797Rlk
 RFhsEWMycC/K2kYjIKtwc9AVg4GAd0ZnalWJHRkeO6Zk3al6BDBye9JKOhUQXVrFvtHx+MeK6wGtw
 IkYrZnUEDWM4J6YizfFUlur8f87Po/7/sQwwA3db54v2qcllMUlUyvbA6XYbKwpD/TAKEF0rWyAN4
 rqMv1cXmimV3GQ==;
From: Arash Esbati <arash@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <m2sespuuir.fsf@HIDDEN> (Arash Esbati's message of
 "Mon, 21 Oct 2024 21:26:52 +0200")
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 <m2sespuuir.fsf@HIDDEN>
Date: Tue, 29 Oct 2024 11:31:49 +0100
Message-ID: <m24j4v2oa2.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 73384
Cc: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, JD Smith <jdtsmith@HIDDEN>,
 Ben Simms <bsimms.simms@HIDDEN>
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 (---)

--=-=-=
Content-Type: text/plain

Arash Esbati <arash@HIDDEN> writes:

> I'd say it works.  What do others think?  Many thanks for this.

Stefan, did you have a chance to look at this again?  I'm attaching the
patch Ben sent me off-list.  Maybe you can advise how to proceed and get
this installed.  TIA.

Best, Arash

--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-Use-masked-coregraphics-images-on-cocoa-NS.patch

From 1c4b8efb82bd0e35c91d98f2759217702f3a7c65 Mon Sep 17 00:00:00 2001
From: Ben Simms <ben@HIDDEN>
Date: Mon, 14 Oct 2024 19:32:53 +0100
Subject: [PATCH] Use masked coregraphics images on cocoa NS

---
 src/nsimage.m | 31 +++++++++++++++++++++++++++++++
 src/nsterm.h  |  8 ++++++++
 src/nsterm.m  | 47 +++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/src/nsimage.m b/src/nsimage.m
index ee72d6e0ea1..e36cbe5dc87 100644
--- a/src/nsimage.m
+++ b/src/nsimage.m
@@ -35,6 +35,9 @@ Updated by Christian Limpach (chris@HIDDEN)
 #include "frame.h"
 #include "coding.h"
 
+#ifdef NS_IMPL_COCOA
+#include <CoreGraphics/CoreGraphics.h>
+#endif
 
 #if defined (NS_IMPL_GNUSTEP) || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
 # define COLORSPACE_NAME NSCalibratedRGBColorSpace
@@ -289,7 +292,11 @@ + (instancetype)allocInitFromFile: (Lisp_Object)file
 
 - (void)dealloc
 {
+#ifdef NS_IMPL_COCOA
+  CGImageRelease(stippleMask);
+#else
   [stippleMask release];
+#endif
   [bmRep release];
   [transform release];
   [super dealloc];
@@ -300,7 +307,11 @@ - (id)copyWithZone:(NSZone *)zone
 {
   EmacsImage *copy = [super copyWithZone:zone];
 
+#ifdef NS_IMPL_COCOA
+  copy->stippleMask = CGImageCreateCopy(stippleMask);
+#else
   copy->stippleMask = [stippleMask copyWithZone:zone];
+#endif /* NS_IMPL_COCOA */
   copy->bmRep = [bmRep copyWithZone:zone];
   copy->transform = [transform copyWithZone:zone];
 
@@ -509,6 +520,25 @@ - (void) setAlphaAtX: (int) x Y: (int) y to: (unsigned char) a
     }
 }
 
+#ifdef NS_IMPL_COCOA
+/* Returns a cached CGImageMask of the stipple pattern */
+- (CGImageRef)stippleMask
+{
+  if (stippleMask == nil) {
+    CGDataProviderRef provider = CGDataProviderCreateWithData (NULL, [bmRep bitmapData],
+                                                             [self sizeInBytes], NULL);
+    CGImageRef mask = CGImageMaskCreate(
+                                        [self size].width,
+                                        [self size].height,
+                                        8, 8, [self size].width,
+                                        provider, NULL, 0);
+
+    CGDataProviderRelease(provider);
+    stippleMask = CGImageRetain(mask);
+  }
+  return stippleMask;
+}
+#else
 /* Returns a pattern color, which is cached here.  */
 - (NSColor *)stippleMask
 {
@@ -516,6 +546,7 @@ - (NSColor *)stippleMask
       stippleMask = [[NSColor colorWithPatternImage: self] retain];
   return stippleMask;
 }
+#endif /* NS_IMPL_COCOA */
 
 /* Find the first NSBitmapImageRep which has multiple frames.  */
 - (NSBitmapImageRep *)getAnimatedBitmapImageRep
diff --git a/src/nsterm.h b/src/nsterm.h
index 6c67653705e..2370f6ea3fb 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -671,7 +671,11 @@ #define NSTRACE_UNSILENCE()
 {
   NSBitmapImageRep *bmRep; /* used for accessing pixel data */
   unsigned char *pixmapData[5]; /* shortcut to access pixel data */
+#ifdef NS_IMPL_COCOA
+  CGImageRef stippleMask;
+#else
   NSColor *stippleMask;
+#endif // NS_IMPL_COCOA
 @public
   NSAffineTransform *transform;
   BOOL smoothing;
@@ -688,7 +692,11 @@ #define NSTRACE_UNSILENCE()
                green: (unsigned char)g blue: (unsigned char)b
               alpha:(unsigned char)a;
 - (void)setAlphaAtX: (int)x Y: (int)y to: (unsigned char)a;
+#ifdef NS_IMPL_COCOA
+- (CGImageRef)stippleMask;
+#else
 - (NSColor *)stippleMask;
+#endif // NS_IMPL_COCOA
 - (Lisp_Object)getMetadata;
 - (BOOL)setFrame: (unsigned int) index;
 - (void)setTransform: (double[3][3]) m;
diff --git a/src/nsterm.m b/src/nsterm.m
index f68a22d9fbc..a617669cb4d 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -3823,8 +3823,31 @@ Function modeled after x_draw_glyph_string_box ().
       if (s->stippled_p)
 	{
 	  struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f);
+#ifdef NS_IMPL_COCOA
+    [[NSColor colorWithUnsignedLong:face->background] set];
+    r = NSMakeRect (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSRectFill (r);
+    s->background_filled_p = 1;
+    CGImageRef mask = [dpyinfo->bitmaps[face->stipple - 1].img stippleMask];
+    CGRect bounds = CGRectMake (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
+    [ctx saveGraphicsState];
+    CGContextRef context = [ctx CGContext];
+    CGContextClipToRect (context, bounds);
+    CGContextScaleCTM (context, 1, -1);
+    [[NSColor colorWithUnsignedLong:face->foreground] set];
+    CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask), CGImageGetHeight (mask));
+    CGContextDrawTiledImage (context, imageSize, mask);
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else
 	  [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set];
 	  goto fill;
+#endif /* NS_IMPL_COCOA */
+
 	}
       else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
 	       /* When xdisp.c ignores FONT_HEIGHT, we cannot trust font
@@ -3847,7 +3870,9 @@ Function modeled after x_draw_glyph_string_box ().
 	  else
 	    [FRAME_CURSOR_COLOR (s->f) set];
 
+#ifndef NS_IMPL_COCOA
 	fill:
+#endif /* !NS_IMPL_COCOA */
 	  r = NSMakeRect (s->x, s->y + box_line_width,
 			  s->background_width,
 			  s->height - 2 * box_line_width);
@@ -4171,8 +4196,26 @@ Function modeled after x_draw_glyph_string_box ().
 	  dpyinfo = FRAME_DISPLAY_INFO (s->f);
 	  if (s->hl == DRAW_CURSOR)
 	    [FRAME_CURSOR_COLOR (s->f) set];
-	  else if (s->stippled_p)
-	    [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+	  else if (s->stippled_p) {
+#ifdef NS_IMPL_COCOA
+      [[NSColor colorWithUnsignedLong:s->face->background] set];
+      NSRectFill (NSMakeRect (x, s->y, background_width, s->height));
+      CGImageRef mask = [dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask];
+      CGRect bounds = CGRectMake (s->x, s->y, s->background_width, s->height);
+      NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
+      [ctx saveGraphicsState];
+      CGContextRef context = [ctx CGContext];
+      CGContextClipToRect(context, bounds);
+      CGContextScaleCTM (context, 1, -1);
+      [[NSColor colorWithUnsignedLong:s->face->foreground] set];
+      CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask),
+      CGImageGetHeight (mask));
+      CGContextDrawTiledImage (context, imageSize, mask);
+      [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else 
+      [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+#endif /* NS_IMPL_COCOA */
+    }
 	  else
 	    [[NSColor colorWithUnsignedLong: s->face->background] set];
 
-- 
2.46.0


--=-=-=--




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

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


Received: (at 73384) by debbugs.gnu.org; 21 Oct 2024 19:27:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 21 15:27:34 2024
Received: from localhost ([127.0.0.1]:53386 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t2y3y-0001eO-BC
	for submit <at> debbugs.gnu.org; Mon, 21 Oct 2024 15:27:34 -0400
Received: from eggs.gnu.org ([209.51.188.92]:46900)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arash@HIDDEN>) id 1t2y3t-0001e3-Pz
 for 73384 <at> debbugs.gnu.org; Mon, 21 Oct 2024 15:27:33 -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 <arash@HIDDEN>)
 id 1t2y3M-00082x-DE; Mon, 21 Oct 2024 15:26:56 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=7z914o0HTqMFps/PJvCSKiHKq5MOfM9a2MPG3jXGUts=; b=Pchdfg0P6LrAGi8/v75X
 SVJOIgPPuX1Bdyt8GC5+gYAZ6j1a/LalxxxW8HHaSbMHe/iXpZgs+u8p7TmIR88hPalrL4A0F5tSR
 4ABgZpNZ6WL5egO6c9GpVvXv7sctx7OuAQ6Z8yiu/rk1CePHRXOfIv0Zott5XyZwSG4Bwi3N/eyHH
 fRKlT9F5WRimIqEgj77KSItZw9vaR7vHAYl7B0goxgMl5KGT9QmQQC0AWYhsD5OcQ0KviEjY9F/rV
 SiYnkpUAB0AY9ovw4TMOVVKOW0BBxOT1kd/J+D2c5PYxUkJlCE8BxpC/VAX9MxMijGPiY2lumm5/s
 4X/Fc9ZuvAy6xw==;
From: Arash Esbati <arash@HIDDEN>
To: Ben Simms <bsimms.simms@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
 (Ben Simms's message of "Mon, 21 Oct 2024 20:33:45 +0200")
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 <m2plntnwle.fsf@HIDDEN>
 <CALNBX0YYHHtHh-FMyBVNz5pE8EWeQ7v9cpdr6ifZyeQGf2Ecvg@HIDDEN>
Date: Mon, 21 Oct 2024 21:26:52 +0200
Message-ID: <m2sespuuir.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 73384
Cc: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN>,
 JD Smith <jdtsmith@HIDDEN>
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 (---)

--=-=-=
Content-Type: text/plain

Ben Simms <bsimms.simms@HIDDEN> writes:

> I'm not sure, I've attached the patch instead of including it in the
> email body, perhaps this is better.

Yes, thanks, now it works.  I think it was due to a trailing whitespace
after else in this part:

+      [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else
+      [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];

which was removed in the body.  At any rate, I applied your change,
built emacs anew from scratch, and it looks like this:

--=-=-=
Content-Type: image/png
Content-Disposition: inline; filename=stipples-patch.png
Content-Transfer-Encoding: base64

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
s3mfhYnFZIv5FjUWv1hSLNmWmZabLC9avrGytkq0Wm5Vb9VtrWfNsy6wrrG+Z0Oz8bWZZVNpc8OW
aMu2zbbdanvNDrVztcu0q7C7ao/au9mL7bfat40jjPMYJxlXOe6Wg7oDxyHfocbhoSPTMdyx0LHe
8cV4i/HJ49eOvzj+s5OrU47TLqe7E7QnhE4onNA44U9nO2eBc4XzjYm0iUETF01smPjSxd5F5LLN
5bYrw3Wy63LXZtdPbu5uMrdatx53C/dU9y3ut9g67Cj2SvYlD4KHv8cijyaPd55unnmehz3/8HLw
yvba69U9yXqSaNKuSY+9zbz53ju8O31YPqk+3/t0+pr68n0rfR/5mfsJ/Xb7PePYcrI4+zgv/J38
Zf7H/N9wPbkLuGcCsIDggOKA1kDtwPjA8sAHQWZBGUE1QX3BrsHzgs+EEELCQtaG3OIZ8QS8al5f
qHvogtDzYephsWHlYY/C7cJl4Y2T0cmhk9dPvhdhGSGJqI8EkbzI9ZH3o6yjZkWdiCZGR0VXRD+N
mRAzP+ZiLCN2Ruze2Ndx/nGr4+7G28Qr4psT6AkpCdUJbxIDEtcldk4ZP2XBlCtJBknipIZkUnJC
8u7k/qmBUzdO7UpxTSlK6ZhmPW3OtMvTDabnTD85gz6DP+NIKiE1MXVv6kd+JL+S35/GS9uS1ifg
CjYJngv9hBuEPSJv0TrRs3Tv9HXp3RneGeszejJ9M0sze8Vccbn4ZVZI1vasN9mR2XuyB3IScw7k
knNTc49LtCXZkvMzjWfOmdkmtZcWSTtnec7aOKtPFibbLUfk0+QNeTrwR79FYaP4RvEw3ye/Iv/t
7ITZR+ZozZHMaZlrN3fF3GcFQQU/zMPnCeY1zzedv2T+wwWcBTsWIgvTFjYvMl+0bFHX4uDFVUuo
S7KX/FzoVLiu8K+liUsblxktW7zs8TfB39QUaRTJim4t91q+/Vv8W/G3rSsmrti84nOxsPinEqeS
0pKPKwUrf/puwndl3w2sSl/Vutpt9bY1xDWSNR1rfddWrdNaV7Du8frJ6+s2sDYUb/hr44yNl0td
Srdvom5SbOosCy9r2Gyxec3mj+WZ5Tcr/CsObDHcsmLLm63Cre3b/LbVbjfaXrL9/ffi72/vCN5R
V2lVWbqTuDN/59NdCbsu/sD+oXq3we6S3Z/2SPZ0VsVUna92r67ea7h3dQ1ao6jp2Zey79r+gP0N
tQ61Ow4wD5QcBAcVB387lHqo43DY4eYj7CO1Ry2PbjnGOFZch9TNreurz6zvbEhqaDseery50avx
2AnHE3uaTJsqTuqeXH2KemrZqYHTBaf7z0jP9J7NOPu4eUbz3XNTzt04H32+9ULYhUs/Bv147iLn
4ulL3peaLntePv4T+6f6K25X6lpcW4797PrzsVa31rqr7lcbrnlca2yb1Haq3bf97PWA6z/e4N24
cjPiZltHfMftWym3Om8Lb3ffybnz8pf8Xz7cXXyPcK/4vub90geGDyp/tf31QKdb58mHAQ9bHsU+
uvtY8Pj5E/mTj13LntKelj4zeVbd7dzd1BPUc+23qb91PZc+/9Bb9LvW71te2Lw4+offHy19U/q6
XspeDvy58pX+qz1/ufzV3B/V/+B17usPb4rf6r+tesd+d/F94vtnH2Z/JH0s+2T7qfFz2Od7A7kD
A1K+jD/4K4AB5dEmHYA/9wBASwKAAc+N1Kmq8+FgQVRn2kEE/hNWnSEHixsAtfCfProX/t3cAuDg
LgCsoD49BYAoGgBxHgCdOHGkDp/lBs+dykKEZ4PvYz6l5aaBf1NUZ9Kv/B7dAqWqCxjd/gsgCIL+
sa4fZQAAAIplWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIA
AIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAAAJAAAAABAAOShgAHAAAAEgAAAHigAgAEAAAAAQAA
An6gAwAEAAAAAQAAAE4AAAAAQVNDSUkAAABTY3JlZW5zaG909kNfcwAAAAlwSFlzAAAWJQAAFiUB
SVIk8AAAAdVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRv
YmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6
cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAg
PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0
cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNp
b24+Nzg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNp
b24+NjM4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+
U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAg
IDwvcmRmOlJERj4KPC94OnhtcG1ldGE+ChCifdUAAAAcaURPVAAAAAIAAAAAAAAAJwAAACgAAAAn
AAAAJwAADti2xpKyAAAOpElEQVR4AeydeZBUxR3Hf3Pszh6zu6WCgMbElFDGAyWJB4eYCFrGstB4
IoVixIOUiYJJLI1RvJPCaLQim0QjKoIBFSMpLQ88UNCKeERECYkxJppSDtG47D2zM5PuR7r717M9
u+/tzqzvld/3x75v9+vf69/v82vq/Zid1xtraWkpUICjobExwGgMBQEQAAEQAAEQAAEQCAuBGAq/
sKQCfoAACIAACIAACIBAZQmg8KssX9wdBEAABEAABEAABEJDAIVfaFIBR0AABEAABEAABECgsgRQ
+FWWL+4OAiAAAiAAAiAAAqEhgMIvNKmAIyAAAiAAAiAAAiBQWQIo/CrLF3cHARAAARAAARAAgdAQ
QOEXmlTAERAAARAAARAAARCoLAEUfpXli7uDAAiAAAiAAAiAQGgIoPALTSrgCAiAAAiAAAiAAAhU
lgAKv8ryxd1BAARAAARAAARAIDQEUPiFJhVwBARAAARAAARAAAQqSwCFX2X54u4gAAIgAAIgAAIg
EBoCKPxCkwo4AgIgAAIgAAIgAAKVJRC48Os+8ZA+PdqvZT2Nin1ES+pn056JLX2O5Rdhx2kYDS6G
BVfgwmkYDS6GBVfgwmkYDS6GBVfgwmkYDS6GBVdh4TJs9TvcrZIahR8KVGtxhGUBW045GvDTAUV0
gQu44D/cZg3g34NhwRW4cBpGR50LCj+TS6eKeoKdQbFOxMdgMAkuDAaT4MJgMAkuDAaT4MJgMAku
DAaT4MJgMFluLij8GFyXLDdw1xy8D/NxGkaDi2HBVdi55Asxaik00sTWF0L91Y6o+Klyj7wrEvY5
7FyUt/BTkbDP4GLzUK1yc0Hhp8iWOJcbeIlpdDfm0ygs8UXlck/3mbQqe4zFgjfW5w6mKsrQmPi7
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
--=-=-=
Content-Type: text/plain


I'd say it works.  What do others think?  Many thanks for this.

Best, Arash

--=-=-=--




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

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


Received: (at 73384) by debbugs.gnu.org; 21 Oct 2024 18:24:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 21 14:24:39 2024
Received: from localhost ([127.0.0.1]:53327 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t2x54-00079z-SK
	for submit <at> debbugs.gnu.org; Mon, 21 Oct 2024 14:24:39 -0400
Received: from eggs.gnu.org ([209.51.188.92]:42160)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arash@HIDDEN>) id 1t2x51-00079i-MB
 for 73384 <at> debbugs.gnu.org; Mon, 21 Oct 2024 14:24:37 -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 <arash@HIDDEN>)
 id 1t2x4S-0001Vo-OP; Mon, 21 Oct 2024 14:24:01 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=yq45uyNMa9twezFac4zCPBm+IgY2CQ7yCNFjvb3v3TQ=; b=OxxH3Hgd+aBRZnBuRIHP
 QYRz0QZd+DZOR9EZJ9Eebd1Ixh5JFYo9Mxy0Qf52IdHOq7MvbWuK+3aHaFq8aKlWAB+rYzZBAcsZZ
 X+ftQ3Nn8nu8UwKJlff2xveVrN/JZ4MxN4TMeIT8+cAozrrljS/J80EB+lajtvhzGSINUMyQxKe0z
 ncNI36RGFbRZ4bNTviFMYt6MpmxdeXXfN6ZppFO1E6aZPYumysZDK6+0+mbh2uiqxGnVKVg2k7N9I
 rVzfaE+2/4+Dl+NRR7KmivgBVYs2Ui9R7jUI/zj3P9y3id1VFGE0zKOmQUVUdzo2dn0/UmFznLXBS
 A6hAem+r4JCijQ==;
From: Arash Esbati <arash@HIDDEN>
To: Ben Simms <bsimms.simms@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
 (Ben Simms's message of "Sat, 19 Oct 2024 10:34:02 +0200")
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 <m2wmi7dn6z.fsf@HIDDEN>
 <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
Date: Mon, 21 Oct 2024 20:23:57 +0200
Message-ID: <m2plntnwle.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 73384
Cc: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN>
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 (---)

--=-=-=
Content-Type: text/plain

Ben Simms <bsimms.simms@HIDDEN> writes:

> Sure, this is the patch from 6213ca44

Thanks.  I copied the patch into the file attached and tried it again,
but still no avail:

$ git apply 00stipple.patch
00stipple.patch:179: trailing whitespace.
#else
error: patch failed: src/nsterm.m:3823
error: src/nsterm.m: patch does not apply

What am I missing?

Best, Arash

--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=00stipple.patch

From 1c4b8efb82bd0e35c91d98f2759217702f3a7c65 Mon Sep 17 00:00:00 2001
From: Ben Simms <ben@HIDDEN>
Date: Mon, 14 Oct 2024 19:32:53 +0100
Subject: [PATCH] Use masked coregraphics images on cocoa NS

---
 src/nsimage.m | 31 +++++++++++++++++++++++++++++++
 src/nsterm.h  |  8 ++++++++
 src/nsterm.m  | 47 +++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/src/nsimage.m b/src/nsimage.m
index ee72d6e0ea1..e36cbe5dc87 100644
--- a/src/nsimage.m
+++ b/src/nsimage.m
@@ -35,6 +35,9 @@ Updated by Christian Limpach (chris@HIDDEN)
 #include "frame.h"
 #include "coding.h"

+#ifdef NS_IMPL_COCOA
+#include <CoreGraphics/CoreGraphics.h>
+#endif

 #if defined (NS_IMPL_GNUSTEP) || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
 # define COLORSPACE_NAME NSCalibratedRGBColorSpace
@@ -289,7 +292,11 @@ + (instancetype)allocInitFromFile: (Lisp_Object)file

 - (void)dealloc
 {
+#ifdef NS_IMPL_COCOA
+  CGImageRelease(stippleMask);
+#else
   [stippleMask release];
+#endif
   [bmRep release];
   [transform release];
   [super dealloc];
@@ -300,7 +307,11 @@ - (id)copyWithZone:(NSZone *)zone
 {
   EmacsImage *copy = [super copyWithZone:zone];

+#ifdef NS_IMPL_COCOA
+  copy->stippleMask = CGImageCreateCopy(stippleMask);
+#else
   copy->stippleMask = [stippleMask copyWithZone:zone];
+#endif /* NS_IMPL_COCOA */
   copy->bmRep = [bmRep copyWithZone:zone];
   copy->transform = [transform copyWithZone:zone];

@@ -509,6 +520,25 @@ - (void) setAlphaAtX: (int) x Y: (int) y to: (unsigned char) a
     }
 }

+#ifdef NS_IMPL_COCOA
+/* Returns a cached CGImageMask of the stipple pattern */
+- (CGImageRef)stippleMask
+{
+  if (stippleMask == nil) {
+    CGDataProviderRef provider = CGDataProviderCreateWithData (NULL, [bmRep bitmapData],
+                                                             [self sizeInBytes], NULL);
+    CGImageRef mask = CGImageMaskCreate(
+                                        [self size].width,
+                                        [self size].height,
+                                        8, 8, [self size].width,
+                                        provider, NULL, 0);
+
+    CGDataProviderRelease(provider);
+    stippleMask = CGImageRetain(mask);
+  }
+  return stippleMask;
+}
+#else
 /* Returns a pattern color, which is cached here.  */
 - (NSColor *)stippleMask
 {
@@ -516,6 +546,7 @@ - (NSColor *)stippleMask
       stippleMask = [[NSColor colorWithPatternImage: self] retain];
   return stippleMask;
 }
+#endif /* NS_IMPL_COCOA */

 /* Find the first NSBitmapImageRep which has multiple frames.  */
 - (NSBitmapImageRep *)getAnimatedBitmapImageRep
diff --git a/src/nsterm.h b/src/nsterm.h
index 6c67653705e..2370f6ea3fb 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -671,7 +671,11 @@ #define NSTRACE_UNSILENCE()
 {
   NSBitmapImageRep *bmRep; /* used for accessing pixel data */
   unsigned char *pixmapData[5]; /* shortcut to access pixel data */
+#ifdef NS_IMPL_COCOA
+  CGImageRef stippleMask;
+#else
   NSColor *stippleMask;
+#endif // NS_IMPL_COCOA
 @public
   NSAffineTransform *transform;
   BOOL smoothing;
@@ -688,7 +692,11 @@ #define NSTRACE_UNSILENCE()
                green: (unsigned char)g blue: (unsigned char)b
               alpha:(unsigned char)a;
 - (void)setAlphaAtX: (int)x Y: (int)y to: (unsigned char)a;
+#ifdef NS_IMPL_COCOA
+- (CGImageRef)stippleMask;
+#else
 - (NSColor *)stippleMask;
+#endif // NS_IMPL_COCOA
 - (Lisp_Object)getMetadata;
 - (BOOL)setFrame: (unsigned int) index;
 - (void)setTransform: (double[3][3]) m;
diff --git a/src/nsterm.m b/src/nsterm.m
index f68a22d9fbc..a617669cb4d 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -3823,8 +3823,31 @@ Function modeled after x_draw_glyph_string_box ().
       if (s->stippled_p)
  {
   struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f);
+#ifdef NS_IMPL_COCOA
+    [[NSColor colorWithUnsignedLong:face->background] set];
+    r = NSMakeRect (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSRectFill (r);
+    s->background_filled_p = 1;
+    CGImageRef mask = [dpyinfo->bitmaps[face->stipple - 1].img stippleMask];
+    CGRect bounds = CGRectMake (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
+    [ctx saveGraphicsState];
+    CGContextRef context = [ctx CGContext];
+    CGContextClipToRect (context, bounds);
+    CGContextScaleCTM (context, 1, -1);
+    [[NSColor colorWithUnsignedLong:face->foreground] set];
+    CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask), CGImageGetHeight (mask));
+    CGContextDrawTiledImage (context, imageSize, mask);
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else
   [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set];
   goto fill;
+#endif /* NS_IMPL_COCOA */
+
  }
       else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
        /* When xdisp.c ignores FONT_HEIGHT, we cannot trust font
@@ -3847,7 +3870,9 @@ Function modeled after x_draw_glyph_string_box ().
   else
     [FRAME_CURSOR_COLOR (s->f) set];

+#ifndef NS_IMPL_COCOA
  fill:
+#endif /* !NS_IMPL_COCOA */
   r = NSMakeRect (s->x, s->y + box_line_width,
   s->background_width,
   s->height - 2 * box_line_width);
@@ -4171,8 +4196,26 @@ Function modeled after x_draw_glyph_string_box ().
   dpyinfo = FRAME_DISPLAY_INFO (s->f);
   if (s->hl == DRAW_CURSOR)
     [FRAME_CURSOR_COLOR (s->f) set];
-  else if (s->stippled_p)
-    [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+  else if (s->stippled_p) {
+#ifdef NS_IMPL_COCOA
+      [[NSColor colorWithUnsignedLong:s->face->background] set];
+      NSRectFill (NSMakeRect (x, s->y, background_width, s->height));
+      CGImageRef mask = [dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask];
+      CGRect bounds = CGRectMake (s->x, s->y, s->background_width, s->height);
+      NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
+      [ctx saveGraphicsState];
+      CGContextRef context = [ctx CGContext];
+      CGContextClipToRect(context, bounds);
+      CGContextScaleCTM (context, 1, -1);
+      [[NSColor colorWithUnsignedLong:s->face->foreground] set];
+      CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask),
+      CGImageGetHeight (mask));
+      CGContextDrawTiledImage (context, imageSize, mask);
+      [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else 
+      [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+#endif /* NS_IMPL_COCOA */
+    }
   else
     [[NSColor colorWithUnsignedLong: s->face->background] set];

-- 
2.46.0

--=-=-=--




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

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


Received: (at 73384) by debbugs.gnu.org; 19 Oct 2024 14:25:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Oct 19 10:25:44 2024
Received: from localhost ([127.0.0.1]:44217 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t2AOk-00031Y-Q8
	for submit <at> debbugs.gnu.org; Sat, 19 Oct 2024 10:25:44 -0400
Received: from mail-qt1-f182.google.com ([209.85.160.182]:60453)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bsimms.simms@HIDDEN>) id 1t24w3-00030h-0e
 for 73384 <at> debbugs.gnu.org; Sat, 19 Oct 2024 04:35:44 -0400
Received: by mail-qt1-f182.google.com with SMTP id
 d75a77b69052e-460b2e4c50fso8220351cf.0
 for <73384 <at> debbugs.gnu.org>; Sat, 19 Oct 2024 01:35:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1729326854; x=1729931654; 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=PhlMivrUHXJqza/05chQ15K1dlw1CW3XTeprwmBQI4g=;
 b=PL+nHfuVbGpUIAa4ZzufqGnaGZlZcFkMNHOyeqkmo/0GOIFknNSoJ62F3W5Ew8Ilqu
 vz+u1bHuGJwOalf9c6TGs5JXnIORHXhV2HHAI1ACv2/VFr1SlC6PmBuiv8Uo4rYVTNxK
 HSeQlX5gpAhD1KJ0RmrkLoPZ9MumIBPArYGwHsxH9RQTlJeF8WM0Hl1tHUe+GXxc2U1T
 EeDAJtv+ahZTnNKw0ao/x3xECLiy8//FfmNbaC7arZWVb1sC5jAXNb60QigahLjaa4c0
 TVyHIWup88hT+vEH1eclEDBytTgoZAxmqcbj1ZFa/mF/o57uYg4/T7r2rNc+0jX8PfF/
 0N2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1729326854; x=1729931654;
 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=PhlMivrUHXJqza/05chQ15K1dlw1CW3XTeprwmBQI4g=;
 b=mLhHq1JcYz8tnvEQwNJ2bRNeD/ByHnqw29tJHK3s1xJG2L+7VriGVnHgJKCDQqZfuO
 7ytYN/HsWoVc7mxCop0jmo/R0Fptr56+lW8NIAcag9tu/1Fdwpa/qbKkVDMjFqUCSOmD
 H8W72oPLbKo+hHYMvVRUOTxhgnB9+I2Iwg3f5Wt4qsXjDpLStud2IhHvyqN0NqAv0JLL
 P0uIj/OgITDvY5yfEICoW86FveltODEiW2yH0L15RO6cBzRSOg1JIMbwJUpfAhot2t2r
 HckSIsw4Tad9y53Hpt9xG9cube6sVSe+4QD3562BEhkZ9FTvIaWewWrG3MkFJ76cecbe
 Ns0A==
X-Gm-Message-State: AOJu0Yxs6tpMfalovZ+GshAQoQiKrmJF9T+LQ1oJkL7Xq9mSG/hLqAaX
 9xcb6cPTnVIWz1Lfg0tYftsuIn2qt6689GQ+os1r8CXa6yUlsprJm7fJyHuNFo5bOFvLpTCXXwg
 RVxcHtIAy/rorxheIpz+tr7mUas0=
X-Google-Smtp-Source: AGHT+IETHhNp9su0oYInE5p+yN54EU8gBJZNxusIYfdydUMfoO77k5cVJP70M1zTCh7SBbJfbj2EqTdjUwcfdRQjZQE=
X-Received: by 2002:a05:622a:3d3:b0:460:8416:6fd8 with SMTP id
 d75a77b69052e-460aed48b1fmr84171791cf.14.1729326853806; Sat, 19 Oct 2024
 01:34:13 -0700 (PDT)
MIME-Version: 1.0
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 <m2wmi7dn6z.fsf@HIDDEN>
In-Reply-To: <m2wmi7dn6z.fsf@HIDDEN>
From: Ben Simms <bsimms.simms@HIDDEN>
Date: Sat, 19 Oct 2024 10:34:02 +0200
Message-ID: <CALNBX0azD7y70qeD9hUuynQB417ojEhpoAVEm5=k+LXJHOtaQQ@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
To: Arash Esbati <arash@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000d261fe0624d04827"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 73384
X-Mailman-Approved-At: Sat, 19 Oct 2024 10:25:42 -0400
Cc: =?UTF-8?Q?Rudolf_Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN>
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 (-)

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

Sure, this is the patch from 6213ca44

From 1c4b8efb82bd0e35c91d98f2759217702f3a7c65 Mon Sep 17 00:00:00 2001
From: Ben Simms <ben@HIDDEN>
Date: Mon, 14 Oct 2024 19:32:53 +0100
Subject: [PATCH] Use masked coregraphics images on cocoa NS

---
 src/nsimage.m | 31 +++++++++++++++++++++++++++++++
 src/nsterm.h  |  8 ++++++++
 src/nsterm.m  | 47 +++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/src/nsimage.m b/src/nsimage.m
index ee72d6e0ea1..e36cbe5dc87 100644
--- a/src/nsimage.m
+++ b/src/nsimage.m
@@ -35,6 +35,9 @@ Updated by Christian Limpach (chris@HIDDEN)
 #include "frame.h"
 #include "coding.h"

+#ifdef NS_IMPL_COCOA
+#include <CoreGraphics/CoreGraphics.h>
+#endif

 #if defined (NS_IMPL_GNUSTEP) || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
 # define COLORSPACE_NAME NSCalibratedRGBColorSpace
@@ -289,7 +292,11 @@ + (instancetype)allocInitFromFile: (Lisp_Object)file

 - (void)dealloc
 {
+#ifdef NS_IMPL_COCOA
+  CGImageRelease(stippleMask);
+#else
   [stippleMask release];
+#endif
   [bmRep release];
   [transform release];
   [super dealloc];
@@ -300,7 +307,11 @@ - (id)copyWithZone:(NSZone *)zone
 {
   EmacsImage *copy = [super copyWithZone:zone];

+#ifdef NS_IMPL_COCOA
+  copy->stippleMask = CGImageCreateCopy(stippleMask);
+#else
   copy->stippleMask = [stippleMask copyWithZone:zone];
+#endif /* NS_IMPL_COCOA */
   copy->bmRep = [bmRep copyWithZone:zone];
   copy->transform = [transform copyWithZone:zone];

@@ -509,6 +520,25 @@ - (void) setAlphaAtX: (int) x Y: (int) y to: (unsigned
char) a
     }
 }

+#ifdef NS_IMPL_COCOA
+/* Returns a cached CGImageMask of the stipple pattern */
+- (CGImageRef)stippleMask
+{
+  if (stippleMask == nil) {
+    CGDataProviderRef provider = CGDataProviderCreateWithData (NULL,
[bmRep bitmapData],
+                                                             [self
sizeInBytes], NULL);
+    CGImageRef mask = CGImageMaskCreate(
+                                        [self size].width,
+                                        [self size].height,
+                                        8, 8, [self size].width,
+                                        provider, NULL, 0);
+
+    CGDataProviderRelease(provider);
+    stippleMask = CGImageRetain(mask);
+  }
+  return stippleMask;
+}
+#else
 /* Returns a pattern color, which is cached here.  */
 - (NSColor *)stippleMask
 {
@@ -516,6 +546,7 @@ - (NSColor *)stippleMask
       stippleMask = [[NSColor colorWithPatternImage: self] retain];
   return stippleMask;
 }
+#endif /* NS_IMPL_COCOA */

 /* Find the first NSBitmapImageRep which has multiple frames.  */
 - (NSBitmapImageRep *)getAnimatedBitmapImageRep
diff --git a/src/nsterm.h b/src/nsterm.h
index 6c67653705e..2370f6ea3fb 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -671,7 +671,11 @@ #define NSTRACE_UNSILENCE()
 {
   NSBitmapImageRep *bmRep; /* used for accessing pixel data */
   unsigned char *pixmapData[5]; /* shortcut to access pixel data */
+#ifdef NS_IMPL_COCOA
+  CGImageRef stippleMask;
+#else
   NSColor *stippleMask;
+#endif // NS_IMPL_COCOA
 @public
   NSAffineTransform *transform;
   BOOL smoothing;
@@ -688,7 +692,11 @@ #define NSTRACE_UNSILENCE()
                green: (unsigned char)g blue: (unsigned char)b
               alpha:(unsigned char)a;
 - (void)setAlphaAtX: (int)x Y: (int)y to: (unsigned char)a;
+#ifdef NS_IMPL_COCOA
+- (CGImageRef)stippleMask;
+#else
 - (NSColor *)stippleMask;
+#endif // NS_IMPL_COCOA
 - (Lisp_Object)getMetadata;
 - (BOOL)setFrame: (unsigned int) index;
 - (void)setTransform: (double[3][3]) m;
diff --git a/src/nsterm.m b/src/nsterm.m
index f68a22d9fbc..a617669cb4d 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -3823,8 +3823,31 @@ Function modeled after x_draw_glyph_string_box ().
       if (s->stippled_p)
  {
   struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f);
+#ifdef NS_IMPL_COCOA
+    [[NSColor colorWithUnsignedLong:face->background] set];
+    r = NSMakeRect (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSRectFill (r);
+    s->background_filled_p = 1;
+    CGImageRef mask = [dpyinfo->bitmaps[face->stipple - 1].img
stippleMask];
+    CGRect bounds = CGRectMake (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
+    [ctx saveGraphicsState];
+    CGContextRef context = [ctx CGContext];
+    CGContextClipToRect (context, bounds);
+    CGContextScaleCTM (context, 1, -1);
+    [[NSColor colorWithUnsignedLong:face->foreground] set];
+    CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask),
CGImageGetHeight (mask));
+    CGContextDrawTiledImage (context, imageSize, mask);
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else
   [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set];
   goto fill;
+#endif /* NS_IMPL_COCOA */
+
  }
       else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
        /* When xdisp.c ignores FONT_HEIGHT, we cannot trust font
@@ -3847,7 +3870,9 @@ Function modeled after x_draw_glyph_string_box ().
   else
     [FRAME_CURSOR_COLOR (s->f) set];

+#ifndef NS_IMPL_COCOA
  fill:
+#endif /* !NS_IMPL_COCOA */
   r = NSMakeRect (s->x, s->y + box_line_width,
   s->background_width,
   s->height - 2 * box_line_width);
@@ -4171,8 +4196,26 @@ Function modeled after x_draw_glyph_string_box ().
   dpyinfo = FRAME_DISPLAY_INFO (s->f);
   if (s->hl == DRAW_CURSOR)
     [FRAME_CURSOR_COLOR (s->f) set];
-  else if (s->stippled_p)
-    [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+  else if (s->stippled_p) {
+#ifdef NS_IMPL_COCOA
+      [[NSColor colorWithUnsignedLong:s->face->background] set];
+      NSRectFill (NSMakeRect (x, s->y, background_width, s->height));
+      CGImageRef mask = [dpyinfo->bitmaps[s->face->stipple - 1].img
stippleMask];
+      CGRect bounds = CGRectMake (s->x, s->y, s->background_width,
s->height);
+      NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
+      [ctx saveGraphicsState];
+      CGContextRef context = [ctx CGContext];
+      CGContextClipToRect(context, bounds);
+      CGContextScaleCTM (context, 1, -1);
+      [[NSColor colorWithUnsignedLong:s->face->foreground] set];
+      CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask),
+      CGImageGetHeight (mask));
+      CGContextDrawTiledImage (context, imageSize, mask);
+      [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else
+      [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+#endif /* NS_IMPL_COCOA */
+    }
   else
     [[NSColor colorWithUnsignedLong: s->face->background] set];

-- 
2.46.0


On Thu, 17 Oct 2024 at 12:43, Arash Esbati <arash@HIDDEN> wrote:

> Ben Simms <bsimms.simms@HIDDEN> writes:
>
> > Hey all, I've gone ahead and put my changes behind NS_IMPL_COCA ifdefs:
>
> Thanks.  I tried to test this but the patch doesn't apply:
>
> $ git apply --check 00stipple.patch
> error: patch failed: src/nsterm.m:3823
> error: src/nsterm.m: patch does not apply
>
> This is with Emacs from master 6213ca44.  Do you have the chance to
> check and resend?
>
> Best, Arash
>

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

<div dir=3D"ltr">Sure, this is the patch from 6213ca44<div><br></div><div>F=
rom 1c4b8efb82bd0e35c91d98f2759217702f3a7c65 Mon Sep 17 00:00:00 2001<br>Fr=
om: Ben Simms &lt;ben@HIDDEN&gt;<br>Date: Mon, 14 Oct 2024 19:32:53 +=
0100<br>Subject: [PATCH] Use masked coregraphics images on cocoa NS<br><br>=
---<br>=C2=A0src/nsimage.m | 31 +++++++++++++++++++++++++++++++<br>=C2=A0sr=
c/nsterm.h =C2=A0| =C2=A08 ++++++++<br>=C2=A0src/nsterm.m =C2=A0| 47 ++++++=
+++++++++++++++++++++++++++++++++++++++--<br>=C2=A03 files changed, 84 inse=
rtions(+), 2 deletions(-)<br><br>diff --git a/src/nsimage.m b/src/nsimage.m=
<br>index ee72d6e0ea1..e36cbe5dc87 100644<br>--- a/src/nsimage.m<br>+++ b/s=
rc/nsimage.m<br>@@ -35,6 +35,9 @@ Updated by Christian Limpach (<a href=3D"=
mailto:chris@HIDDEN">chris@HIDDEN</a>)<br>=C2=A0#include &quot;frame.h&qu=
ot;<br>=C2=A0#include &quot;coding.h&quot;<br>=C2=A0<br>+#ifdef NS_IMPL_COC=
OA<br>+#include &lt;CoreGraphics/CoreGraphics.h&gt;<br>+#endif<br>=C2=A0<br=
>=C2=A0#if defined (NS_IMPL_GNUSTEP) || MAC_OS_X_VERSION_MAX_ALLOWED &lt; 1=
070<br>=C2=A0# define COLORSPACE_NAME NSCalibratedRGBColorSpace<br>@@ -289,=
7 +292,11 @@ + (instancetype)allocInitFromFile: (Lisp_Object)file<br>=C2=A0=
<br>=C2=A0- (void)dealloc<br>=C2=A0{<br>+#ifdef NS_IMPL_COCOA<br>+ =C2=A0CG=
ImageRelease(stippleMask);<br>+#else<br>=C2=A0 =C2=A0[stippleMask release];=
<br>+#endif<br>=C2=A0 =C2=A0[bmRep release];<br>=C2=A0 =C2=A0[transform rel=
ease];<br>=C2=A0 =C2=A0[super dealloc];<br>@@ -300,7 +307,11 @@ - (id)copyW=
ithZone:(NSZone *)zone<br>=C2=A0{<br>=C2=A0 =C2=A0EmacsImage *copy =3D [sup=
er copyWithZone:zone];<br>=C2=A0<br>+#ifdef NS_IMPL_COCOA<br>+ =C2=A0copy-&=
gt;stippleMask =3D CGImageCreateCopy(stippleMask);<br>+#else<br>=C2=A0 =C2=
=A0copy-&gt;stippleMask =3D [stippleMask copyWithZone:zone];<br>+#endif /* =
NS_IMPL_COCOA */<br>=C2=A0 =C2=A0copy-&gt;bmRep =3D [bmRep copyWithZone:zon=
e];<br>=C2=A0 =C2=A0copy-&gt;transform =3D [transform copyWithZone:zone];<b=
r>=C2=A0<br>@@ -509,6 +520,25 @@ - (void) setAlphaAtX: (int) x Y: (int) y t=
o: (unsigned char) a<br>=C2=A0 =C2=A0 =C2=A0}<br>=C2=A0}<br>=C2=A0<br>+#ifd=
ef NS_IMPL_COCOA<br>+/* Returns a cached CGImageMask of the stipple pattern=
 */<br>+- (CGImageRef)stippleMask<br>+{<br>+ =C2=A0if (stippleMask =3D=3D n=
il) {<br>+ =C2=A0 =C2=A0CGDataProviderRef provider =3D CGDataProviderCreate=
WithData (NULL, [bmRep bitmapData],<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 [self sizeInBytes], NULL);<br>+ =C2=A0 =C2=A0CG=
ImageRef mask =3D CGImageMaskCreate(<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[self size].width,<br>+ =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[self size].height,<br>+ =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A08, 8, [se=
lf size].width,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0provider, NULL, 0);<br>+<br>+ =C2=A0 =C2=A0CGDataProviderRelea=
se(provider);<br>+ =C2=A0 =C2=A0stippleMask =3D CGImageRetain(mask);<br>+ =
=C2=A0}<br>+ =C2=A0return stippleMask;<br>+}<br>+#else<br>=C2=A0/* Returns =
a pattern color, which is cached here. =C2=A0*/<br>=C2=A0- (NSColor *)stipp=
leMask<br>=C2=A0{<br>@@ -516,6 +546,7 @@ - (NSColor *)stippleMask<br>=C2=A0=
 =C2=A0 =C2=A0 =C2=A0stippleMask =3D [[NSColor colorWithPatternImage: self]=
 retain];<br>=C2=A0 =C2=A0return stippleMask;<br>=C2=A0}<br>+#endif /* NS_I=
MPL_COCOA */<br>=C2=A0<br>=C2=A0/* Find the first NSBitmapImageRep which ha=
s multiple frames. =C2=A0*/<br>=C2=A0- (NSBitmapImageRep *)getAnimatedBitma=
pImageRep<br>diff --git a/src/nsterm.h b/src/nsterm.h<br>index 6c67653705e.=
.2370f6ea3fb 100644<br>--- a/src/nsterm.h<br>+++ b/src/nsterm.h<br>@@ -671,=
7 +671,11 @@ #define NSTRACE_UNSILENCE()<br>=C2=A0{<br>=C2=A0 =C2=A0NSBitma=
pImageRep *bmRep; /* used for accessing pixel data */<br>=C2=A0 =C2=A0unsig=
ned char *pixmapData[5]; /* shortcut to access pixel data */<br>+#ifdef NS_=
IMPL_COCOA<br>+ =C2=A0CGImageRef stippleMask;<br>+#else<br>=C2=A0 =C2=A0NSC=
olor *stippleMask;<br>+#endif // NS_IMPL_COCOA<br>=C2=A0@public<br>=C2=A0 =
=C2=A0NSAffineTransform *transform;<br>=C2=A0 =C2=A0BOOL smoothing;<br>@@ -=
688,7 +692,11 @@ #define NSTRACE_UNSILENCE()<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 green: (unsigned char)g blue: (unsigned char)b=
<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0alpha:(unsigned =
char)a;<br>=C2=A0- (void)setAlphaAtX: (int)x Y: (int)y to: (unsigned char)a=
;<br>+#ifdef NS_IMPL_COCOA<br>+- (CGImageRef)stippleMask;<br>+#else<br>=C2=
=A0- (NSColor *)stippleMask;<br>+#endif // NS_IMPL_COCOA<br>=C2=A0- (Lisp_O=
bject)getMetadata;<br>=C2=A0- (BOOL)setFrame: (unsigned int) index;<br>=C2=
=A0- (void)setTransform: (double[3][3]) m;<br>diff --git a/src/nsterm.m b/s=
rc/nsterm.m<br>index f68a22d9fbc..a617669cb4d 100644<br>--- a/src/nsterm.m<=
br>+++ b/src/nsterm.m<br>@@ -3823,8 +3823,31 @@ Function modeled after x_dr=
aw_glyph_string_box ().<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (s-&gt;stippled_p)=
<br>=C2=A0	{<br>=C2=A0	 =C2=A0struct ns_display_info *dpyinfo =3D FRAME_DIS=
PLAY_INFO (s-&gt;f);<br>+#ifdef NS_IMPL_COCOA<br>+ =C2=A0 =C2=A0[[NSColor c=
olorWithUnsignedLong:face-&gt;background] set];<br>+ =C2=A0 =C2=A0r =3D NSM=
akeRect (s-&gt;x, s-&gt;y + box_line_width,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=
=A0s-&gt;background_width,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0s-&gt;height - 2=
 * box_line_width);<br>+ =C2=A0 =C2=A0NSRectFill (r);<br>+ =C2=A0 =C2=A0s-&=
gt;background_filled_p =3D 1;<br>+ =C2=A0 =C2=A0CGImageRef mask =3D [dpyinf=
o-&gt;bitmaps[face-&gt;stipple - 1].img stippleMask];<br>+ =C2=A0 =C2=A0CGR=
ect bounds =3D CGRectMake (s-&gt;x, s-&gt;y + box_line_width,<br>+ =C2=A0 =
=C2=A0 =C2=A0 =C2=A0s-&gt;background_width,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=
=A0s-&gt;height - 2 * box_line_width);<br>+ =C2=A0 =C2=A0NSGraphicsContext =
*ctx =3D [NSGraphicsContext currentContext];<br>+ =C2=A0 =C2=A0[ctx saveGra=
phicsState];<br>+ =C2=A0 =C2=A0CGContextRef context =3D [ctx CGContext];<br=
>+ =C2=A0 =C2=A0CGContextClipToRect (context, bounds);<br>+ =C2=A0 =C2=A0CG=
ContextScaleCTM (context, 1, -1);<br>+ =C2=A0 =C2=A0[[NSColor colorWithUnsi=
gnedLong:face-&gt;foreground] set];<br>+ =C2=A0 =C2=A0CGRect imageSize =3D =
CGRectMake (0, 0, CGImageGetWidth (mask), CGImageGetHeight (mask));<br>+ =
=C2=A0 =C2=A0CGContextDrawTiledImage (context, imageSize, mask);<br>+ =C2=
=A0 =C2=A0[[NSGraphicsContext currentContext] restoreGraphicsState];<br>+#e=
lse<br>=C2=A0	 =C2=A0[[dpyinfo-&gt;bitmaps[face-&gt;stipple-1].img stippleM=
ask] set];<br>=C2=A0	 =C2=A0goto fill;<br>+#endif /* NS_IMPL_COCOA */<br>+<=
br>=C2=A0	}<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0else if (FONT_HEIGHT (s-&gt;font)=
 &lt; s-&gt;height - 2 * box_line_width<br>=C2=A0	 =C2=A0 =C2=A0 =C2=A0 /* =
When xdisp.c ignores FONT_HEIGHT, we cannot trust font<br>@@ -3847,7 +3870,=
9 @@ Function modeled after x_draw_glyph_string_box ().<br>=C2=A0	 =C2=A0el=
se<br>=C2=A0	 =C2=A0 =C2=A0[FRAME_CURSOR_COLOR (s-&gt;f) set];<br>=C2=A0<br=
>+#ifndef NS_IMPL_COCOA<br>=C2=A0	fill:<br>+#endif /* !NS_IMPL_COCOA */<br>=
=C2=A0	 =C2=A0r =3D NSMakeRect (s-&gt;x, s-&gt;y + box_line_width,<br>=C2=
=A0			 =C2=A0s-&gt;background_width,<br>=C2=A0			 =C2=A0s-&gt;height - 2 * =
box_line_width);<br>@@ -4171,8 +4196,26 @@ Function modeled after x_draw_gl=
yph_string_box ().<br>=C2=A0	 =C2=A0dpyinfo =3D FRAME_DISPLAY_INFO (s-&gt;f=
);<br>=C2=A0	 =C2=A0if (s-&gt;hl =3D=3D DRAW_CURSOR)<br>=C2=A0	 =C2=A0 =C2=
=A0[FRAME_CURSOR_COLOR (s-&gt;f) set];<br>-	 =C2=A0else if (s-&gt;stippled_=
p)<br>-	 =C2=A0 =C2=A0[[dpyinfo-&gt;bitmaps[s-&gt;face-&gt;stipple - 1].img=
 stippleMask] set];<br>+	 =C2=A0else if (s-&gt;stippled_p) {<br>+#ifdef NS_=
IMPL_COCOA<br>+ =C2=A0 =C2=A0 =C2=A0[[NSColor colorWithUnsignedLong:s-&gt;f=
ace-&gt;background] set];<br>+ =C2=A0 =C2=A0 =C2=A0NSRectFill (NSMakeRect (=
x, s-&gt;y, background_width, s-&gt;height));<br>+ =C2=A0 =C2=A0 =C2=A0CGIm=
ageRef mask =3D [dpyinfo-&gt;bitmaps[s-&gt;face-&gt;stipple - 1].img stippl=
eMask];<br>+ =C2=A0 =C2=A0 =C2=A0CGRect bounds =3D CGRectMake (s-&gt;x, s-&=
gt;y, s-&gt;background_width, s-&gt;height);<br>+ =C2=A0 =C2=A0 =C2=A0NSGra=
phicsContext *ctx =3D [NSGraphicsContext currentContext];<br>+ =C2=A0 =C2=
=A0 =C2=A0[ctx saveGraphicsState];<br>+ =C2=A0 =C2=A0 =C2=A0CGContextRef co=
ntext =3D [ctx CGContext];<br>+ =C2=A0 =C2=A0 =C2=A0CGContextClipToRect(con=
text, bounds);<br>+ =C2=A0 =C2=A0 =C2=A0CGContextScaleCTM (context, 1, -1);=
<br>+ =C2=A0 =C2=A0 =C2=A0[[NSColor colorWithUnsignedLong:s-&gt;face-&gt;fo=
reground] set];<br>+ =C2=A0 =C2=A0 =C2=A0CGRect imageSize =3D CGRectMake (0=
, 0, CGImageGetWidth (mask),<br>+ =C2=A0 =C2=A0 =C2=A0CGImageGetHeight (mas=
k));<br>+ =C2=A0 =C2=A0 =C2=A0CGContextDrawTiledImage (context, imageSize, =
mask);<br>+ =C2=A0 =C2=A0 =C2=A0[[NSGraphicsContext currentContext] restore=
GraphicsState];<br>+#else <br>+ =C2=A0 =C2=A0 =C2=A0[[dpyinfo-&gt;bitmaps[s=
-&gt;face-&gt;stipple - 1].img stippleMask] set];<br>+#endif /* NS_IMPL_COC=
OA */<br>+ =C2=A0 =C2=A0}<br>=C2=A0	 =C2=A0else<br>=C2=A0	 =C2=A0 =C2=A0[[N=
SColor colorWithUnsignedLong: s-&gt;face-&gt;background] set];<br>=C2=A0<br=
>-- <br>2.46.0<br><br></div></div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr" class=3D"gmail_attr">On Thu, 17 Oct 2024 at 12:43, Arash Esbati &l=
t;<a href=3D"mailto:arash@HIDDEN">arash@HIDDEN</a>&gt; wrote:<br></div><b=
lockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-le=
ft:1px solid rgb(204,204,204);padding-left:1ex">Ben Simms &lt;<a href=3D"ma=
ilto:bsimms.simms@HIDDEN" target=3D"_blank">bsimms.simms@HIDDEN</a>&g=
t; writes:<br>
<br>
&gt; Hey all, I&#39;ve gone ahead and put my changes behind NS_IMPL_COCA if=
defs:<br>
<br>
Thanks.=C2=A0 I tried to test this but the patch doesn&#39;t apply:<br>
<br>
$ git apply --check 00stipple.patch<br>
error: patch failed: src/nsterm.m:3823<br>
error: src/nsterm.m: patch does not apply<br>
<br>
This is with Emacs from master 6213ca44.=C2=A0 Do you have the chance to<br=
>
check and resend?<br>
<br>
Best, Arash<br>
</blockquote></div>

--000000000000d261fe0624d04827--




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

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


Received: (at 73384) by debbugs.gnu.org; 17 Oct 2024 10:46:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 17 06:46:17 2024
Received: from localhost ([127.0.0.1]:33524 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t1O1I-0000dV-N4
	for submit <at> debbugs.gnu.org; Thu, 17 Oct 2024 06:46:16 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45626)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arash@HIDDEN>) id 1t1O1F-0000dF-Kx
 for 73384 <at> debbugs.gnu.org; Thu, 17 Oct 2024 06:46: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 <arash@HIDDEN>)
 id 1t1Nyi-0007qt-MZ; Thu, 17 Oct 2024 06:43:36 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=rt0+/PVesijruVADXgosKiivjLbFj/gKMy4jC26/Vfg=; b=eYy9TSYWR520/lrWk208
 CNtz/rUqBWA7yVHza2XC1ulKIbU0T6G3LRB169qbAfIc0/84dnwl3PLByhrEoEqYV+1mPHN+tNXlO
 GDwSeviOSwNs5E70wKQTcLxO35nooKeox7rW4Xwybe51HzuCG/qA7XdoIC8h/hlosPPFhWemUhwyA
 EUyDhXCKgVzpYAgxYQW3HmGXSF6rnSiN9k3oIT7unAeUieUKlIOaQ9mARxYEyjx68oJsI6R5+C3nV
 i+QgewUl8rYTMbRtqushDLM84JWcSBSdOsgR44Oo+p8+0vPIN1SzzNDNRo3RuW0VFuczf5v5p0jr4
 x1fnMnETCf/xWQ==;
From: Arash Esbati <arash@HIDDEN>
To: Ben Simms <bsimms.simms@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
 (Ben Simms's message of "Mon, 14 Oct 2024 19:35:51 +0100")
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
 <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
Date: Thu, 17 Oct 2024 12:43:32 +0200
Message-ID: <m2wmi7dn6z.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 73384
Cc: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 73384 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN>
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 (---)

Ben Simms <bsimms.simms@HIDDEN> writes:

> Hey all, I've gone ahead and put my changes behind NS_IMPL_COCA ifdefs:

Thanks.  I tried to test this but the patch doesn't apply:

$ git apply --check 00stipple.patch
error: patch failed: src/nsterm.m:3823
error: src/nsterm.m: patch does not apply

This is with Emacs from master 6213ca44.  Do you have the chance to
check and resend?

Best, Arash




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

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


Received: (at 73384) by debbugs.gnu.org; 15 Oct 2024 00:07:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 14 20:07:12 2024
Received: from localhost ([127.0.0.1]:47464 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t0V5i-00019V-Ng
	for submit <at> debbugs.gnu.org; Mon, 14 Oct 2024 20:07:11 -0400
Received: from mail-qt1-f170.google.com ([209.85.160.170]:56411)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bsimms.simms@HIDDEN>) id 1t0Pwb-0007ca-Vj
 for 73384 <at> debbugs.gnu.org; Mon, 14 Oct 2024 14:37:27 -0400
Received: by mail-qt1-f170.google.com with SMTP id
 d75a77b69052e-4603b835a1cso46556061cf.0
 for <73384 <at> debbugs.gnu.org>; Mon, 14 Oct 2024 11:37:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1728930962; x=1729535762; 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=K5poi6Er9Mi5WiJt24EzFtmcC1tudsNgiGIZgC72zIw=;
 b=JkobzzQkAACEuM6d4DfjCaDHCj/14KlmSLGnC7x/2KtFIf5roaGtFxXIoemE4VxeCq
 ncPFSSmdx1XuoG6p7yMN5MLVb/ZOOhH3wVUlv31RATdYDAWXJ8mM2+7CO/06o9qntS1a
 QYM/Q5KXVYEMUqfhg3khdDz26/FgDHHRPo/mbjhjFn0/xApL6VBAv5eJYAi1CSpkq5GW
 iomJtYO0lZoZeutm2lfg88rBFsQelSfwB3Dkj+brbDx5DhZu9z3go2qIygtijuvayqTf
 msa095AcfWcqJKQCIRQ58fiAF7vyks5BoGgFa0yXS7OeBpUf4yxBo39TW89v5JyEvNra
 NlOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1728930962; x=1729535762;
 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=K5poi6Er9Mi5WiJt24EzFtmcC1tudsNgiGIZgC72zIw=;
 b=vUuIASM1aatTvqjiLvUV9a8ZSqy6c3Wgqw3eCOZr+5hPX40++CRIZCWNQ46RSr7GbY
 AfWg/G183Fi4Ut6TOmU12ME0x4XYWj56yQa6WmP4cqxEfutrtuXV9Av5IarjSXkhn+qb
 0UgSRpn9IfPdk2XB8wYwdJ+6/1ln1cYvLF0TQSiHJqkuzei88PhO93ok1wbkQatBicJu
 UUDqlLuuaxFq5M5ORfOk25OO3pndzuKqi0AEiZrmiSRrzqZQntF5skkG4F5KArntcz1S
 A4Wf2EQGWeGTW009sQuNIJ7KzadocUTckPYnq3rYLR6cPA3xcd9K9z4RfV6eGg7TCVOd
 WqAQ==
X-Gm-Message-State: AOJu0YzKM6r3FM0I2HSHv1qbpjFQbJB3FdXx3VbbNloxt2ZcZjxi5jG4
 qKeLUuE+RgOpgR2tqldMnhd8Sf00A9/ZmqMVKJPrKnOAzCo8W5IE8iXo2+OF71lOKQtQNtSIcr1
 yZn8aUjVEB9JX1ZKvH0arr4n2Iy6b6XavN3g=
X-Google-Smtp-Source: AGHT+IGktSkEzi8STZKgENL6OIOEh5RBnU2ap8fKJymvRdJchAzUIo1Ra3k+ZyxzKnEK7RuDtinrex4X4HvjC29xsfA=
X-Received: by 2002:a05:622a:22a7:b0:458:4d54:2c35 with SMTP id
 d75a77b69052e-4604bc2e5c3mr230683971cf.46.1728930962152; Mon, 14 Oct 2024
 11:36:02 -0700 (PDT)
MIME-Version: 1.0
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN> <m234kzjwuc.fsf@HIDDEN>
In-Reply-To: <m234kzjwuc.fsf@HIDDEN>
From: Ben Simms <bsimms.simms@HIDDEN>
Date: Mon, 14 Oct 2024 19:35:51 +0100
Message-ID: <CALNBX0aUsJUD4a3Z_N6AiU-somV6Fq6To35Z0Dkznaf5FGFfVg@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
To: 73384 <at> debbugs.gnu.org
Content-Type: multipart/alternative; boundary="000000000000d7279f0624741bad"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 73384
X-Mailman-Approved-At: Mon, 14 Oct 2024 20:07:10 -0400
Cc: =?UTF-8?Q?Rudolf_Adamkovi=C4=8D?= <rudolf@HIDDEN>,
 Arash Esbati <arash@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>
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 (-)

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

Hey all, I've gone ahead and put my changes behind NS_IMPL_COCA ifdefs:

From fb1ceddc6385bcefc3fb31f2c96652448298df77 Mon Sep 17 00:00:00 2001
From: Ben Simms <ben@HIDDEN>
Date: Mon, 14 Oct 2024 19:32:53 +0100
Subject: [PATCH] Use masked coregraphics images on cocoa NS

---
 src/nsimage.m | 31 +++++++++++++++++++++++++++++++
 src/nsterm.h  |  8 ++++++++
 src/nsterm.m  | 47 +++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/src/nsimage.m b/src/nsimage.m
index ee72d6e0ea1..e36cbe5dc87 100644
--- a/src/nsimage.m
+++ b/src/nsimage.m
@@ -35,6 +35,9 @@ Updated by Christian Limpach (chris@HIDDEN)
 #include "frame.h"
 #include "coding.h"

+#ifdef NS_IMPL_COCOA
+#include <CoreGraphics/CoreGraphics.h>
+#endif

 #if defined (NS_IMPL_GNUSTEP) || MAC_OS_X_VERSION_MAX_ALLOWED < 1070
 # define COLORSPACE_NAME NSCalibratedRGBColorSpace
@@ -289,7 +292,11 @@ + (instancetype)allocInitFromFile: (Lisp_Object)file

 - (void)dealloc
 {
+#ifdef NS_IMPL_COCOA
+  CGImageRelease(stippleMask);
+#else
   [stippleMask release];
+#endif
   [bmRep release];
   [transform release];
   [super dealloc];
@@ -300,7 +307,11 @@ - (id)copyWithZone:(NSZone *)zone
 {
   EmacsImage *copy =3D [super copyWithZone:zone];

+#ifdef NS_IMPL_COCOA
+  copy->stippleMask =3D CGImageCreateCopy(stippleMask);
+#else
   copy->stippleMask =3D [stippleMask copyWithZone:zone];
+#endif /* NS_IMPL_COCOA */
   copy->bmRep =3D [bmRep copyWithZone:zone];
   copy->transform =3D [transform copyWithZone:zone];

@@ -509,6 +520,25 @@ - (void) setAlphaAtX: (int) x Y: (int) y to: (unsigned
char) a
     }
 }

+#ifdef NS_IMPL_COCOA
+/* Returns a cached CGImageMask of the stipple pattern */
+- (CGImageRef)stippleMask
+{
+  if (stippleMask =3D=3D nil) {
+    CGDataProviderRef provider =3D CGDataProviderCreateWithData (NULL,
[bmRep bitmapData],
+                                                             [self
sizeInBytes], NULL);
+    CGImageRef mask =3D CGImageMaskCreate(
+                                        [self size].width,
+                                        [self size].height,
+                                        8, 8, [self size].width,
+                                        provider, NULL, 0);
+
+    CGDataProviderRelease(provider);
+    stippleMask =3D CGImageRetain(mask);
+  }
+  return stippleMask;
+}
+#else
 /* Returns a pattern color, which is cached here.  */
 - (NSColor *)stippleMask
 {
@@ -516,6 +546,7 @@ - (NSColor *)stippleMask
       stippleMask =3D [[NSColor colorWithPatternImage: self] retain];
   return stippleMask;
 }
+#endif /* NS_IMPL_COCOA */

 /* Find the first NSBitmapImageRep which has multiple frames.  */
 - (NSBitmapImageRep *)getAnimatedBitmapImageRep
diff --git a/src/nsterm.h b/src/nsterm.h
index 6c67653705e..2370f6ea3fb 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -671,7 +671,11 @@ #define NSTRACE_UNSILENCE()
 {
   NSBitmapImageRep *bmRep; /* used for accessing pixel data */
   unsigned char *pixmapData[5]; /* shortcut to access pixel data */
+#ifdef NS_IMPL_COCOA
+  CGImageRef stippleMask;
+#else
   NSColor *stippleMask;
+#endif // NS_IMPL_COCOA
 @public
   NSAffineTransform *transform;
   BOOL smoothing;
@@ -688,7 +692,11 @@ #define NSTRACE_UNSILENCE()
                green: (unsigned char)g blue: (unsigned char)b
               alpha:(unsigned char)a;
 - (void)setAlphaAtX: (int)x Y: (int)y to: (unsigned char)a;
+#ifdef NS_IMPL_COCOA
+- (CGImageRef)stippleMask;
+#else
 - (NSColor *)stippleMask;
+#endif // NS_IMPL_COCOA
 - (Lisp_Object)getMetadata;
 - (BOOL)setFrame: (unsigned int) index;
 - (void)setTransform: (double[3][3]) m;
diff --git a/src/nsterm.m b/src/nsterm.m
index f68a22d9fbc..a617669cb4d 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -3823,8 +3823,31 @@ Function modeled after x_draw_glyph_string_box ().
       if (s->stippled_p)
  {
   struct ns_display_info *dpyinfo =3D FRAME_DISPLAY_INFO (s->f);
+#ifdef NS_IMPL_COCOA
+    [[NSColor colorWithUnsignedLong:face->background] set];
+    r =3D NSMakeRect (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSRectFill (r);
+    s->background_filled_p =3D 1;
+    CGImageRef mask =3D [dpyinfo->bitmaps[face->stipple - 1].img
stippleMask];
+    CGRect bounds =3D CGRectMake (s->x, s->y + box_line_width,
+        s->background_width,
+        s->height - 2 * box_line_width);
+    NSGraphicsContext *ctx =3D [NSGraphicsContext currentContext];
+    [ctx saveGraphicsState];
+    CGContextRef context =3D [ctx CGContext];
+    CGContextClipToRect (context, bounds);
+    CGContextScaleCTM (context, 1, -1);
+    [[NSColor colorWithUnsignedLong:face->foreground] set];
+    CGRect imageSize =3D CGRectMake (0, 0, CGImageGetWidth (mask),
CGImageGetHeight (mask));
+    CGContextDrawTiledImage (context, imageSize, mask);
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else
   [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set];
   goto fill;
+#endif /* NS_IMPL_COCOA */
+
  }
       else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
        /* When xdisp.c ignores FONT_HEIGHT, we cannot trust font
@@ -3847,7 +3870,9 @@ Function modeled after x_draw_glyph_string_box ().
   else
     [FRAME_CURSOR_COLOR (s->f) set];

+#ifndef NS_IMPL_COCOA
  fill:
+#endif /* !NS_IMPL_COCOA */
   r =3D NSMakeRect (s->x, s->y + box_line_width,
   s->background_width,
   s->height - 2 * box_line_width);
@@ -4171,8 +4196,26 @@ Function modeled after x_draw_glyph_string_box ().
   dpyinfo =3D FRAME_DISPLAY_INFO (s->f);
   if (s->hl =3D=3D DRAW_CURSOR)
     [FRAME_CURSOR_COLOR (s->f) set];
-  else if (s->stippled_p)
-    [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+  else if (s->stippled_p) {
+#ifdef NS_IMPL_COCOA
+      [[NSColor colorWithUnsignedLong:s->face->background] set];
+      NSRectFill (NSMakeRect (x, s->y, background_width, s->height));
+      CGImageRef mask =3D [dpyinfo->bitmaps[s->face->stipple - 1].img
stippleMask];
+      CGRect bounds =3D CGRectMake (s->x, s->y, s->background_width,
s->height);
+      NSGraphicsContext *ctx =3D [NSGraphicsContext currentContext];
+      [ctx saveGraphicsState];
+      CGContextRef context =3D [ctx CGContext];
+      CGContextClipToRect(context, bounds);
+      CGContextScaleCTM (context, 1, -1);
+      [[NSColor colorWithUnsignedLong:s->face->foreground] set];
+      CGRect imageSize =3D CGRectMake (0, 0, CGImageGetWidth (mask),
+      CGImageGetHeight (mask));
+      CGContextDrawTiledImage (context, imageSize, mask);
+      [[NSGraphicsContext currentContext] restoreGraphicsState];
+#else
+      [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
+#endif /* NS_IMPL_COCOA */
+    }
   else
     [[NSColor colorWithUnsignedLong: s->face->background] set];

--=20
2.46.0


On Mon, 14 Oct 2024 at 02:29, Rudolf Adamkovi=C4=8D <rudolf@HIDDEN> =
wrote:

> Arash Esbati <arash@HIDDEN> writes:
>
> > Here is how it currently looks:
> >
> >   https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-09/msg00304.htm=
l
>
> OMG, this explains my recent troubles with Indent Bars on macOS.
>
> +1 for merging!
>
> Rudy
> --
> "The whole science is nothing more than a refinement of everyday
> thinking."  --- Albert Einstein, 1879-1955
>
> Rudolf Adamkovi=C4=8D <rudolf@HIDDEN> [he/him]
> http://adamkovic.org
>

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

<div dir=3D"ltr">Hey all, I&#39;ve gone ahead and put my changes behind NS_=
IMPL_COCA ifdefs:<div><br></div><div>From fb1ceddc6385bcefc3fb31f2c96652448=
298df77 Mon Sep 17 00:00:00 2001<br>From: Ben Simms &lt;ben@HIDDEN&gt=
;<br>Date: Mon, 14 Oct 2024 19:32:53 +0100<br>Subject: [PATCH] Use masked c=
oregraphics images on cocoa NS<br><br>---<br>=C2=A0src/nsimage.m | 31 +++++=
++++++++++++++++++++++++++<br>=C2=A0src/nsterm.h =C2=A0| =C2=A08 ++++++++<b=
r>=C2=A0src/nsterm.m =C2=A0| 47 +++++++++++++++++++++++++++++++++++++++++++=
++--<br>=C2=A03 files changed, 84 insertions(+), 2 deletions(-)<br><br>diff=
 --git a/src/nsimage.m b/src/nsimage.m<br>index ee72d6e0ea1..e36cbe5dc87 10=
0644<br>--- a/src/nsimage.m<br>+++ b/src/nsimage.m<br>@@ -35,6 +35,9 @@ Upd=
ated by Christian Limpach (<a href=3D"mailto:chris@HIDDEN">chris@HIDDEN</=
a>)<br>=C2=A0#include &quot;frame.h&quot;<br>=C2=A0#include &quot;coding.h&=
quot;<br>=C2=A0<br>+#ifdef NS_IMPL_COCOA<br>+#include &lt;CoreGraphics/Core=
Graphics.h&gt;<br>+#endif<br>=C2=A0<br>=C2=A0#if defined (NS_IMPL_GNUSTEP) =
|| MAC_OS_X_VERSION_MAX_ALLOWED &lt; 1070<br>=C2=A0# define COLORSPACE_NAME=
 NSCalibratedRGBColorSpace<br>@@ -289,7 +292,11 @@ + (instancetype)allocIni=
tFromFile: (Lisp_Object)file<br>=C2=A0<br>=C2=A0- (void)dealloc<br>=C2=A0{<=
br>+#ifdef NS_IMPL_COCOA<br>+ =C2=A0CGImageRelease(stippleMask);<br>+#else<=
br>=C2=A0 =C2=A0[stippleMask release];<br>+#endif<br>=C2=A0 =C2=A0[bmRep re=
lease];<br>=C2=A0 =C2=A0[transform release];<br>=C2=A0 =C2=A0[super dealloc=
];<br>@@ -300,7 +307,11 @@ - (id)copyWithZone:(NSZone *)zone<br>=C2=A0{<br>=
=C2=A0 =C2=A0EmacsImage *copy =3D [super copyWithZone:zone];<br>=C2=A0<br>+=
#ifdef NS_IMPL_COCOA<br>+ =C2=A0copy-&gt;stippleMask =3D CGImageCreateCopy(=
stippleMask);<br>+#else<br>=C2=A0 =C2=A0copy-&gt;stippleMask =3D [stippleMa=
sk copyWithZone:zone];<br>+#endif /* NS_IMPL_COCOA */<br>=C2=A0 =C2=A0copy-=
&gt;bmRep =3D [bmRep copyWithZone:zone];<br>=C2=A0 =C2=A0copy-&gt;transform=
 =3D [transform copyWithZone:zone];<br>=C2=A0<br>@@ -509,6 +520,25 @@ - (vo=
id) setAlphaAtX: (int) x Y: (int) y to: (unsigned char) a<br>=C2=A0 =C2=A0 =
=C2=A0}<br>=C2=A0}<br>=C2=A0<br>+#ifdef NS_IMPL_COCOA<br>+/* Returns a cach=
ed CGImageMask of the stipple pattern */<br>+- (CGImageRef)stippleMask<br>+=
{<br>+ =C2=A0if (stippleMask =3D=3D nil) {<br>+ =C2=A0 =C2=A0CGDataProvider=
Ref provider =3D CGDataProviderCreateWithData (NULL, [bmRep bitmapData],<br=
>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [self si=
zeInBytes], NULL);<br>+ =C2=A0 =C2=A0CGImageRef mask =3D CGImageMaskCreate(=
<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[self=
 size].width,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0[self size].height,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A08, 8, [self size].width,<br>+ =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0provider, NULL, 0);<br>+<br=
>+ =C2=A0 =C2=A0CGDataProviderRelease(provider);<br>+ =C2=A0 =C2=A0stippleM=
ask =3D CGImageRetain(mask);<br>+ =C2=A0}<br>+ =C2=A0return stippleMask;<br=
>+}<br>+#else<br>=C2=A0/* Returns a pattern color, which is cached here. =
=C2=A0*/<br>=C2=A0- (NSColor *)stippleMask<br>=C2=A0{<br>@@ -516,6 +546,7 @=
@ - (NSColor *)stippleMask<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0stippleMask =3D [[=
NSColor colorWithPatternImage: self] retain];<br>=C2=A0 =C2=A0return stippl=
eMask;<br>=C2=A0}<br>+#endif /* NS_IMPL_COCOA */<br>=C2=A0<br>=C2=A0/* Find=
 the first NSBitmapImageRep which has multiple frames. =C2=A0*/<br>=C2=A0- =
(NSBitmapImageRep *)getAnimatedBitmapImageRep<br>diff --git a/src/nsterm.h =
b/src/nsterm.h<br>index 6c67653705e..2370f6ea3fb 100644<br>--- a/src/nsterm=
.h<br>+++ b/src/nsterm.h<br>@@ -671,7 +671,11 @@ #define NSTRACE_UNSILENCE(=
)<br>=C2=A0{<br>=C2=A0 =C2=A0NSBitmapImageRep *bmRep; /* used for accessing=
 pixel data */<br>=C2=A0 =C2=A0unsigned char *pixmapData[5]; /* shortcut to=
 access pixel data */<br>+#ifdef NS_IMPL_COCOA<br>+ =C2=A0CGImageRef stippl=
eMask;<br>+#else<br>=C2=A0 =C2=A0NSColor *stippleMask;<br>+#endif // NS_IMP=
L_COCOA<br>=C2=A0@public<br>=C2=A0 =C2=A0NSAffineTransform *transform;<br>=
=C2=A0 =C2=A0BOOL smoothing;<br>@@ -688,7 +692,11 @@ #define NSTRACE_UNSILE=
NCE()<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 green: (un=
signed char)g blue: (unsigned char)b<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0alpha:(unsigned char)a;<br>=C2=A0- (void)setAlphaAtX: (=
int)x Y: (int)y to: (unsigned char)a;<br>+#ifdef NS_IMPL_COCOA<br>+- (CGIma=
geRef)stippleMask;<br>+#else<br>=C2=A0- (NSColor *)stippleMask;<br>+#endif =
// NS_IMPL_COCOA<br>=C2=A0- (Lisp_Object)getMetadata;<br>=C2=A0- (BOOL)setF=
rame: (unsigned int) index;<br>=C2=A0- (void)setTransform: (double[3][3]) m=
;<br>diff --git a/src/nsterm.m b/src/nsterm.m<br>index f68a22d9fbc..a617669=
cb4d 100644<br>--- a/src/nsterm.m<br>+++ b/src/nsterm.m<br>@@ -3823,8 +3823=
,31 @@ Function modeled after x_draw_glyph_string_box ().<br>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0if (s-&gt;stippled_p)<br>=C2=A0	{<br>=C2=A0	 =C2=A0struct ns_d=
isplay_info *dpyinfo =3D FRAME_DISPLAY_INFO (s-&gt;f);<br>+#ifdef NS_IMPL_C=
OCOA<br>+ =C2=A0 =C2=A0[[NSColor colorWithUnsignedLong:face-&gt;background]=
 set];<br>+ =C2=A0 =C2=A0r =3D NSMakeRect (s-&gt;x, s-&gt;y + box_line_widt=
h,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0s-&gt;background_width,<br>+ =C2=A0 =C2=
=A0 =C2=A0 =C2=A0s-&gt;height - 2 * box_line_width);<br>+ =C2=A0 =C2=A0NSRe=
ctFill (r);<br>+ =C2=A0 =C2=A0s-&gt;background_filled_p =3D 1;<br>+ =C2=A0 =
=C2=A0CGImageRef mask =3D [dpyinfo-&gt;bitmaps[face-&gt;stipple - 1].img st=
ippleMask];<br>+ =C2=A0 =C2=A0CGRect bounds =3D CGRectMake (s-&gt;x, s-&gt;=
y + box_line_width,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0s-&gt;background_width,=
<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0s-&gt;height - 2 * box_line_width);<br>+ =
=C2=A0 =C2=A0NSGraphicsContext *ctx =3D [NSGraphicsContext currentContext];=
<br>+ =C2=A0 =C2=A0[ctx saveGraphicsState];<br>+ =C2=A0 =C2=A0CGContextRef =
context =3D [ctx CGContext];<br>+ =C2=A0 =C2=A0CGContextClipToRect (context=
, bounds);<br>+ =C2=A0 =C2=A0CGContextScaleCTM (context, 1, -1);<br>+ =C2=
=A0 =C2=A0[[NSColor colorWithUnsignedLong:face-&gt;foreground] set];<br>+ =
=C2=A0 =C2=A0CGRect imageSize =3D CGRectMake (0, 0, CGImageGetWidth (mask),=
 CGImageGetHeight (mask));<br>+ =C2=A0 =C2=A0CGContextDrawTiledImage (conte=
xt, imageSize, mask);<br>+ =C2=A0 =C2=A0[[NSGraphicsContext currentContext]=
 restoreGraphicsState];<br>+#else<br>=C2=A0	 =C2=A0[[dpyinfo-&gt;bitmaps[fa=
ce-&gt;stipple-1].img stippleMask] set];<br>=C2=A0	 =C2=A0goto fill;<br>+#e=
ndif /* NS_IMPL_COCOA */<br>+<br>=C2=A0	}<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0els=
e if (FONT_HEIGHT (s-&gt;font) &lt; s-&gt;height - 2 * box_line_width<br>=
=C2=A0	 =C2=A0 =C2=A0 =C2=A0 /* When xdisp.c ignores FONT_HEIGHT, we cannot=
 trust font<br>@@ -3847,7 +3870,9 @@ Function modeled after x_draw_glyph_st=
ring_box ().<br>=C2=A0	 =C2=A0else<br>=C2=A0	 =C2=A0 =C2=A0[FRAME_CURSOR_CO=
LOR (s-&gt;f) set];<br>=C2=A0<br>+#ifndef NS_IMPL_COCOA<br>=C2=A0	fill:<br>=
+#endif /* !NS_IMPL_COCOA */<br>=C2=A0	 =C2=A0r =3D NSMakeRect (s-&gt;x, s-=
&gt;y + box_line_width,<br>=C2=A0			 =C2=A0s-&gt;background_width,<br>=C2=
=A0			 =C2=A0s-&gt;height - 2 * box_line_width);<br>@@ -4171,8 +4196,26 @@ =
Function modeled after x_draw_glyph_string_box ().<br>=C2=A0	 =C2=A0dpyinfo=
 =3D FRAME_DISPLAY_INFO (s-&gt;f);<br>=C2=A0	 =C2=A0if (s-&gt;hl =3D=3D DRA=
W_CURSOR)<br>=C2=A0	 =C2=A0 =C2=A0[FRAME_CURSOR_COLOR (s-&gt;f) set];<br>-	=
 =C2=A0else if (s-&gt;stippled_p)<br>-	 =C2=A0 =C2=A0[[dpyinfo-&gt;bitmaps[=
s-&gt;face-&gt;stipple - 1].img stippleMask] set];<br>+	 =C2=A0else if (s-&=
gt;stippled_p) {<br>+#ifdef NS_IMPL_COCOA<br>+ =C2=A0 =C2=A0 =C2=A0[[NSColo=
r colorWithUnsignedLong:s-&gt;face-&gt;background] set];<br>+ =C2=A0 =C2=A0=
 =C2=A0NSRectFill (NSMakeRect (x, s-&gt;y, background_width, s-&gt;height))=
;<br>+ =C2=A0 =C2=A0 =C2=A0CGImageRef mask =3D [dpyinfo-&gt;bitmaps[s-&gt;f=
ace-&gt;stipple - 1].img stippleMask];<br>+ =C2=A0 =C2=A0 =C2=A0CGRect boun=
ds =3D CGRectMake (s-&gt;x, s-&gt;y, s-&gt;background_width, s-&gt;height);=
<br>+ =C2=A0 =C2=A0 =C2=A0NSGraphicsContext *ctx =3D [NSGraphicsContext cur=
rentContext];<br>+ =C2=A0 =C2=A0 =C2=A0[ctx saveGraphicsState];<br>+ =C2=A0=
 =C2=A0 =C2=A0CGContextRef context =3D [ctx CGContext];<br>+ =C2=A0 =C2=A0 =
=C2=A0CGContextClipToRect(context, bounds);<br>+ =C2=A0 =C2=A0 =C2=A0CGCont=
extScaleCTM (context, 1, -1);<br>+ =C2=A0 =C2=A0 =C2=A0[[NSColor colorWithU=
nsignedLong:s-&gt;face-&gt;foreground] set];<br>+ =C2=A0 =C2=A0 =C2=A0CGRec=
t imageSize =3D CGRectMake (0, 0, CGImageGetWidth (mask),<br>+ =C2=A0 =C2=
=A0 =C2=A0CGImageGetHeight (mask));<br>+ =C2=A0 =C2=A0 =C2=A0CGContextDrawT=
iledImage (context, imageSize, mask);<br>+ =C2=A0 =C2=A0 =C2=A0[[NSGraphics=
Context currentContext] restoreGraphicsState];<br>+#else <br>+ =C2=A0 =C2=
=A0 =C2=A0[[dpyinfo-&gt;bitmaps[s-&gt;face-&gt;stipple - 1].img stippleMask=
] set];<br>+#endif /* NS_IMPL_COCOA */<br>+ =C2=A0 =C2=A0}<br>=C2=A0	 =C2=
=A0else<br>=C2=A0	 =C2=A0 =C2=A0[[NSColor colorWithUnsignedLong: s-&gt;face=
-&gt;background] set];<br>=C2=A0<br>-- <br>2.46.0<br><br></div></div><br><d=
iv class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, 14 O=
ct 2024 at 02:29, Rudolf Adamkovi=C4=8D &lt;<a href=3D"mailto:rudolf@adamko=
vic.org">rudolf@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex">Arash Esbati &lt;<a href=3D"mailto:arash@HIDDEN=
rg" target=3D"_blank">arash@HIDDEN</a>&gt; writes:<br>
<br>
&gt; Here is how it currently looks:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0<a href=3D"https://lists.gnu.org/archive/html/bug-gnu-emac=
s/2024-09/msg00304.html" rel=3D"noreferrer" target=3D"_blank">https://lists=
.gnu.org/archive/html/bug-gnu-emacs/2024-09/msg00304.html</a><br>
<br>
OMG, this explains my recent troubles with Indent Bars on macOS.<br>
<br>
+1 for merging!<br>
<br>
Rudy<br>
-- <br>
&quot;The whole science is nothing more than a refinement of everyday<br>
thinking.&quot;=C2=A0 --- Albert Einstein, 1879-1955<br>
<br>
Rudolf Adamkovi=C4=8D &lt;<a href=3D"mailto:rudolf@HIDDEN" target=3D=
"_blank">rudolf@HIDDEN</a>&gt; [he/him]<br>
<a href=3D"http://adamkovic.org" rel=3D"noreferrer" target=3D"_blank">http:=
//adamkovic.org</a><br>
</blockquote></div>

--000000000000d7279f0624741bad--




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

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


Received: (at 73384) by debbugs.gnu.org; 14 Oct 2024 01:29:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 13 21:29:59 2024
Received: from localhost ([127.0.0.1]:33679 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t09uI-0005by-Sp
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 21:29:59 -0400
Received: from fhigh-a1-smtp.messagingengine.com ([103.168.172.152]:33623)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rudolf@HIDDEN>) id 1t09uF-0005bd-V7
 for 73384 <at> debbugs.gnu.org; Sun, 13 Oct 2024 21:29:57 -0400
Received: from phl-compute-01.internal (phl-compute-01.phl.internal
 [10.202.2.41])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 3C086114017E;
 Sun, 13 Oct 2024 21:29:34 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-01.internal (MEProxy); Sun, 13 Oct 2024 21:29:34 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adamkovic.org;
 h=cc:cc:content-transfer-encoding:content-type:content-type
 :date:date:from:from:in-reply-to:in-reply-to:message-id
 :mime-version:references:reply-to:subject:subject:to:to; s=fm3;
 t=1728869374; x=1728955774; bh=MhsO8BTUe5i4qlxWdjVUfo7G6MYzvmey
 mxB7tvxTIO8=; b=kcsNevnm3bGVwFXFVq1StNHVQheDBCQzKe1eiqKFJkR4n7Es
 OOQzrOrJcQeO/9F3Bwaw9nhoFmGBRUQDPj9avLNGREnuNXwEzflsFcGDe/T8BXao
 qna2sayTkVqyksB78D5wZ4u7BKWY57brvk6vDUw1BzQ5gqP40Fdm5uyolYEcbxfq
 g6SJ4A/D9mdnUIZiHzclDmTPL7nM6dMQMLALTu4t2hyeiEIX2Nf34gCCkjfmc/gs
 03IPH9gsyrCTTwxEFkj3/8IGTaGtqoasnhbygbUdF/gSQLhkf4ATSqL9Pa26pgXv
 irJ75Slh1sEwyKIyHysbpQNXBYy9gHrwFE7Xkw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1728869374; x=
 1728955774; bh=MhsO8BTUe5i4qlxWdjVUfo7G6MYzvmeymxB7tvxTIO8=; b=o
 fXSv1hZY2ZpfkQbRF5p1ynv1nZVB4M5ATKfY9b3hfyD4M2/0BWETk6pfo5G9PZIN
 q6qW0zYx8cJqJhIhAAcRdvGW3nIpbi7/rj/zirWQAhFoYK3NflXiaStpOpnz8i36
 PZ6fCo4JGKo+TUpeqpud0f1PYSyAQaqEqq1WZaXN0ym64f+oTIpJztQew19rbdrW
 aaV6G/npU//pDgmGDNPgDFe8XuyGl33gN2o6832y6+wu+d4q55EQrh/D/YTY3Ucr
 5O6YBtK09o/6D0DHBUGKWwcCXy8kDfgj9zCLvBN6cJdyibh0EsChYEacxzmfMI17
 80YFpRlp+7ONXGP7yqxWA==
X-ME-Sender: <xms:_XMMZ3dW84unJ3fQgdBRLGw_oPFH-JllEkAES0z8R6t9aPqfy8OYwA>
 <xme:_XMMZ9PW9GXI-YpfiMGRsLkkszAQaL5OpmN5-PRzukebFZMbV0dZw7OfBHnnXYV8H
 iWvoNdhISRQ40KBw1Y>
X-ME-Received: <xmr:_XMMZwhiJV4U0BqH228rdFAvLh741GUnMFuNQR4CQEPzDYDf_8fypwJrY7acUSR-iycCK2ZT3CCzfO3w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdeggedggeejucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhephffvvefujghffffkgggtgfesthhqredttddtjeen
 ucfhrhhomheptfhuugholhhfucetuggrmhhkohhvihgtuceorhhuugholhhfsegruggrmh
 hkohhvihgtrdhorhhgqeenucggtffrrghtthgvrhhnpefhgefhgfdvuefglefhfedttdel
 ueeljeeuteffhfeiffeuveeuffetfeefveduhfenucffohhmrghinhepghhnuhdrohhrgh
 dprggurghmkhhovhhitgdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr
 mhepmhgrihhlfhhrohhmpehruhguohhlfhesrggurghmkhhovhhitgdrohhrghdpnhgspg
 hrtghpthhtohepgedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjeeffeekgees
 uggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopegsshhimhhmshdrshhimhhmsh
 esghhmrghilhdrtghomhdprhgtphhtthhopehsthgvfhgrnhhkrghnghgrshesghhmrghi
 lhdrtghomhdprhgtphhtthhopegrrhgrshhhsehgnhhurdhorhhg
X-ME-Proxy: <xmx:_XMMZ49ZQUCPGXNI_U469oS3ejx0yD7gwj5rHx-ESqHgWNA8HhjcAw>
 <xmx:_XMMZztgYeAQBjC5sv-w20uGRgNgYwjrDKNmf1kTwOvzgVSBqPYCpQ>
 <xmx:_XMMZ3GXNWd6ApAEG3zrCxujDx3Ql_XXjKJ9psDx95aAVZT4Kt52SQ>
 <xmx:_XMMZ6OSqiQweSglNJTjPo_6ZDP_rtb6W9kmr2EWMKnYfFgAA8DIhw>
 <xmx:_nMMZ9KykG5C-AWnJurOvQTlNXJhCxGzyi61AL8utqXG1o6kas-F4v98>
Feedback-ID: i88214938:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 13 Oct 2024 21:29:32 -0400 (EDT)
From: Rudolf =?utf-8?Q?Adamkovi=C4=8D?= <rudolf@HIDDEN>
To: Arash Esbati <arash@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <m2a5g1cae0.fsf@HIDDEN>
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN>
Date: Mon, 14 Oct 2024 03:29:31 +0200
Message-ID: <m234kzjwuc.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 73384
Cc: Ben Simms <bsimms.simms@HIDDEN>, 73384 <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.7 (-)

Arash Esbati <arash@HIDDEN> writes:

> Here is how it currently looks:
>
>   https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-09/msg00304.html

OMG, this explains my recent troubles with Indent Bars on macOS.

+1 for merging!

Rudy
--=20
"The whole science is nothing more than a refinement of everyday
thinking."  --- Albert Einstein, 1879-1955

Rudolf Adamkovi=C4=8D <rudolf@HIDDEN> [he/him]
http://adamkovic.org




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

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


Received: (at 73384) by debbugs.gnu.org; 8 Oct 2024 05:05:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 08 01:05:44 2024
Received: from localhost ([127.0.0.1]:50227 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sy2Po-00051p-IR
	for submit <at> debbugs.gnu.org; Tue, 08 Oct 2024 01:05:44 -0400
Received: from eggs.gnu.org ([209.51.188.92]:55406)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arash@HIDDEN>) id 1sy2Pn-00051d-4H
 for 73384 <at> debbugs.gnu.org; Tue, 08 Oct 2024 01:05: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 <arash@HIDDEN>)
 id 1sy2NS-0004JG-6U; Tue, 08 Oct 2024 01:03:18 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=ZY/RCkjoEow4Zk4COSbYDrvJlgKLpa4qYbugOB8dCXo=; b=Q2aOQgCf2ZUSFB0CcDQd
 GF+vSjyMWnG0jnsYfIZ8rQ+gEjTasT/zpw0M+75F93m+6Rby28ODp0C7vV/LkVy4M8oMoCfq41i+U
 pfhwAhUk3sMpLUHdoJO30jOuhaQlfdofhDHiKiaWxEs5T30lHAo5zIOOQxUy+OUZ51KglwMsonRUh
 OhdDoneGt+fXGL3ve6iBSborQ+TY+oPtK9FV/UE7TpoR7jftqLgr8NmeNhHZg8kKhVah7eu1OOkqF
 pgHpox8Cf86OYMKsFkfIN5ZMm7NfZrLlZ/2Ayc1zXreLe24IZNwPXGUM5Jbw5bWZ/4j0ZSGuD/Ohv
 whdAwiGUtRN86w==;
From: Arash Esbati <arash@HIDDEN>
To: bsimms.simms@HIDDEN
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <86y1392xm3.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 30 Sep
 2024 14:24:04 +0300")
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN>
 <60441960-D7DF-4A82-A6F8-241C620EDA07@HIDDEN>
 <s1r34ljibkb.fsf@HIDDEN>
 <CADwFkmkmKS+hHX=1jP1QcVJNnnghwMiQEwK+nMir6W8fXZqBGA@HIDDEN>
 <s1ry13ayr3g.fsf@HIDDEN> <86y1392xm3.fsf@HIDDEN>
Date: Tue, 08 Oct 2024 07:03:14 +0200
Message-ID: <m234l789v1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 73384
Cc: Po Lu <luangruo@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 stefankangas@HIDDEN, jdtsmith@HIDDEN, 73384 <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 (---)

Eli Zaretskii <eliz@HIDDEN> writes:

>> Cc: Ben Simms <bsimms.simms@HIDDEN>, 73384 <at> debbugs.gnu.org,
>>  Arash Esbati <arash@HIDDEN>, JD Smith <jdtsmith@HIDDEN>
>> Date: Mon, 30 Sep 2024 07:31:31 +0800
>> From:  Po Lu via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>> 
>> Stefan Kangas <stefankangas@HIDDEN> writes:
>> 
>> >> We cannot install changes for Mac OS that use Mac-specific graphics
>> >> features, and in consequence, break the GNUstep build.
>> >
>> > We can make them conditional on macOS though, right?
>> 
>> I'll be very unsatisfied with such a solution, because it implies more
>> NS code that is impossible to test for Emacs developers in the Free
>> world.
>
> The macOS port is full of those, so I don't think one more should make
> a difference.

Ben, do you see a chance to update your patch after Eli's comment?  TIA.

Best, Arash




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

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


Received: (at 73384) by debbugs.gnu.org; 30 Sep 2024 11:24:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 30 07:24:49 2024
Received: from localhost ([127.0.0.1]:44835 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1svEWH-0002FB-30
	for submit <at> debbugs.gnu.org; Mon, 30 Sep 2024 07:24:49 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45174)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1svEWE-0002Eq-BH
 for 73384 <at> debbugs.gnu.org; Mon, 30 Sep 2024 07:24:47 -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 1svEVc-0003Kg-6X; Mon, 30 Sep 2024 07:24:08 -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=sIzk1Kdsqw2wb04HfEnzYQkUh+KjehRAi2Bl+zz4XZU=; b=ThrreMWSIRx8
 vMf5tLSZ82NqdWvQp8lBmiuGuhRGeOr9viof0pT+8BSGpYluDq6zYNsvZWZv/b1bkf/skXPnfVGZG
 MyBPLksahdznyVuT/2HOxCAZC5/yL0aqFJhGogJlumZpEBMokolTKpctDm5o7BigvGORLO3KApJrh
 ShKm1oUv/EVINmUHZ72RImW/EMYJIHbdCaL0nHSeqTmm7g+2mb8U4mRVlSHPNfZOitLMCjitr664H
 MZmDqSjfePSL/7f5KcWUIUDdm/gZP4XpOlcUagdLq2LpBrTG15KbUeZj4xoHqE+hbjT0hLWxcDJzB
 yjUbFoDNGHrJXBY7N/sf0Q==;
Date: Mon, 30 Sep 2024 14:24:04 +0300
Message-Id: <86y1392xm3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Po Lu <luangruo@HIDDEN>
In-Reply-To: <s1ry13ayr3g.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN>
 <60441960-D7DF-4A82-A6F8-241C620EDA07@HIDDEN>
 <s1r34ljibkb.fsf@HIDDEN>
 <CADwFkmkmKS+hHX=1jP1QcVJNnnghwMiQEwK+nMir6W8fXZqBGA@HIDDEN>
 <s1ry13ayr3g.fsf@HIDDEN>
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 73384
Cc: bsimms.simms@HIDDEN, 73384 <at> debbugs.gnu.org, jdtsmith@HIDDEN,
 stefankangas@HIDDEN, arash@HIDDEN
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 (-)

> Cc: Ben Simms <bsimms.simms@HIDDEN>, 73384 <at> debbugs.gnu.org,
>  Arash Esbati <arash@HIDDEN>, JD Smith <jdtsmith@HIDDEN>
> Date: Mon, 30 Sep 2024 07:31:31 +0800
> From:  Po Lu via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> Stefan Kangas <stefankangas@HIDDEN> writes:
> 
> >> We cannot install changes for Mac OS that use Mac-specific graphics
> >> features, and in consequence, break the GNUstep build.
> >
> > We can make them conditional on macOS though, right?
> 
> I'll be very unsatisfied with such a solution, because it implies more
> NS code that is impossible to test for Emacs developers in the Free
> world.

The macOS port is full of those, so I don't think one more should make
a difference.




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

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


Received: (at 73384) by debbugs.gnu.org; 30 Sep 2024 00:14:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 29 20:14:43 2024
Received: from localhost ([127.0.0.1]:43091 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sv43n-0003Pj-30
	for submit <at> debbugs.gnu.org; Sun, 29 Sep 2024 20:14:43 -0400
Received: from mail-ed1-f54.google.com ([209.85.208.54]:41988)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1sv43k-0003PX-Ig
 for 73384 <at> debbugs.gnu.org; Sun, 29 Sep 2024 20:14:41 -0400
Received: by mail-ed1-f54.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so6876900a12.0
 for <73384 <at> debbugs.gnu.org>; Sun, 29 Sep 2024 17:14:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1727655183; x=1728259983; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=1hBHlzCM7xZ50H28rTf1T32F9VpA2ZPE77Ai/YOOXIw=;
 b=Gd7OmzKsyEEKVpThDfMn4P/q8abD7Iff66CrEk8ZDKzweKb5xBqZjoUas0XW3dn8tO
 4yArFEkGdIQpyW4G4+LRC8MtbR5GvFnr8+hLQZTnCAG4mwozQLlCfop4axLHXYD9lXPu
 VQ9UEcIj1znL6nrTKTAKF+9WGHgy2oqNIiKHPs3uFtBTHuyiGZOABx7A6NDswYwK3J/M
 CDD/3M8ITC7mOHulDMxsqxrddoPvWUJSR7zf44XvfoyIbbZQGX2mbKFhuit2EkUT3YMq
 /PnVtqpwKjz9OX0IBcxZf1wLS6DL3s3BlK5A4qJTyJi9SEzhHoIfXMo+ieUt6bTbohkI
 tANg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1727655183; x=1728259983;
 h=cc:to:subject:message-id:date:mime-version:references:in-reply-to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=1hBHlzCM7xZ50H28rTf1T32F9VpA2ZPE77Ai/YOOXIw=;
 b=MXveZZ9clf1u3HOBOs+OhWl06sKm70uYjr+1rKVMXw3uBCo0YeYZYtDNHbhoxSekC5
 PWoKEtwstCDdVIc+9/P114J4HKUC1uvSAQdLEwIuqBiVujwNoG2tKz6Z6kGGZUfR3gXD
 O37sHghPYn9i/PA58QR4rwauHi7tIKok5meONyI4TL6vpOS75GsXEmW8tJh+k0kiQRKF
 Ol4xupw1mWmyGBryzLKWcx2Ww3s9/IMRHQ7XF7rQBmB2V91PTq3Hx1B4HnpBF80Y+JuN
 feQF8/TE3giGPPQ3rN+DrwQfcEkfyU81s2WzWS7smgge4asbFa6r78FozmyfqDiMufX+
 ubUA==
X-Forwarded-Encrypted: i=1;
 AJvYcCUwkW6gXZW07OFEYiElezCuwuOoqgFo3jVAQsgPocFNlo/aRYBLaHW4FUK2ahVklYNOgA6eXw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzRjc/DrAqC7sDu/XNYJWaHiQiWcVhxm4D3rEWd7QaqzhJfY7IR
 IOO7Gstcl7AmAS/CXPHfwNblxBReLYZiLGAHbl9R6i+Io+BZ8iSqlLJUC7MNCoIEDKzE8s8dgBE
 EcdFzpxIWJhdWpD79QvzwNR1LEQs=
X-Google-Smtp-Source: AGHT+IFnTjsqW9CW+px0Mo4oCnlxN4nn4qPtAv5rIGfRWYSqLEdsjfecbwQ8kj8E+X+oJZFiTAwsIPyK8di6ZsNGq0Q=
X-Received: by 2002:a05:6402:5407:b0:5c8:81a6:f14c with SMTP id
 4fb4d7f45d1cf-5c882455c96mr11665208a12.9.1727655182331; Sun, 29 Sep 2024
 17:13:02 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 29 Sep 2024 17:13:01 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <s1ry13ayr3g.fsf@HIDDEN>
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN>
 <60441960-D7DF-4A82-A6F8-241C620EDA07@HIDDEN>
 <s1r34ljibkb.fsf@HIDDEN>
 <CADwFkmkmKS+hHX=1jP1QcVJNnnghwMiQEwK+nMir6W8fXZqBGA@HIDDEN>
 <s1ry13ayr3g.fsf@HIDDEN>
MIME-Version: 1.0
Date: Sun, 29 Sep 2024 17:13:01 -0700
Message-ID: <CADwFkmn03TjeTrgCC2c7Hf1GqgLDyofN6E9h1xtVFVJGD_CDjQ@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
To: Po Lu <luangruo@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: -0.9 (/)
X-Debbugs-Envelope-To: 73384
Cc: Ben Simms <bsimms.simms@HIDDEN>, 73384 <at> debbugs.gnu.org,
 Arash Esbati <arash@HIDDEN>, JD Smith <jdtsmith@HIDDEN>
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.9 (-)

Po Lu <luangruo@HIDDEN> writes:

> Stefan Kangas <stefankangas@HIDDEN> writes:
>
>>> We cannot install changes for Mac OS that use Mac-specific graphics
>>> features, and in consequence, break the GNUstep build.
>>
>> We can make them conditional on macOS though, right?
>
> I'll be very unsatisfied with such a solution, because it implies more
> NS code that is impossible to test for Emacs developers in the Free
> world.

That would be the drawback, indeed.

Can anyone see a way to fix this bug using APIs that are also
implemented by GNUstep?




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

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


Received: (at 73384) by debbugs.gnu.org; 29 Sep 2024 23:32:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 29 19:32:20 2024
Received: from localhost ([127.0.0.1]:42909 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sv3Ol-0007ft-CA
	for submit <at> debbugs.gnu.org; Sun, 29 Sep 2024 19:32:20 -0400
Received: from sonic307-10.consmr.mail.ne1.yahoo.com ([66.163.190.33]:41937)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <luangruo@HIDDEN>) id 1sv3Oh-0007eP-Db
 for 73384 <at> debbugs.gnu.org; Sun, 29 Sep 2024 19:32:15 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1727652697; bh=28JcmlKG+NmFiutU4K8N/kk8JIieADpTNrUQqZCzRnc=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To;
 b=Q5E35KxanuLcEHMglCvhYH0ZFM/3ZwYTmhKEwK2NxG5/FY5OP1z7XXGxidxMw9PcbVJwB/xoL68QXMF4GWNr+17i9NYT8UaPegOmCFiaST2R/jOICl5I7xyA545czjGyBO50cMh9mGR6Tg+SvpmyO8CdwGmItoGPJ72teS0vnBlKjHtSVoD1ouAodXNFSl+oE1LGz/Xs98XpMD6A5FCmB8NrO60Kbf5VDJdsegEBMI7sIuaIExryplMhVE7QiWfofEYRRAd7TBwNZGL9nRPM3VcvUqdjqimbSFX/SFYZHlwHJ3sdq7UWVo0BkURfoIs+X+Ei8Fqni1ZcY+VwdsjXCg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1727652697; bh=Qq/pzz2HwZqh+MMpniK0r6eAliuq0cD1QF1MXJxLn/A=;
 h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
 b=fKnRJ0bRNjdeVAXM9hB+0jhYKEMVAjQYysej8SBX7n4UR79N0FLs7NpQRB8kIQiLKKoL/2onSvCoFPMeUdMpNiYkB3dmdxFxxlk7Na1H9sIfDWIgL0sNB71rSbUEJoBbHuVe5prUN88RUkfu72M/w7jeTzyAADsawxg01u5l1exlhz6yltFBzQHdNU9qQ1jyWH8KPK9/xqYtKxHY8NYa+KsKe+5cCvcyyoKasMWX2x4/phdNyyvFw8I1TQVLZbsavP1GsypsPHIVwHcMOgQG9GomMDYxF7Xs3ij6G2KgF948hZGJiJl82iJ/71VxxNWMfLDpiq6AA6qSNsWCX709WQ==
X-YMail-OSG: KiJfSVEVM1nST86EUl8gYSofiR4t23._RVR8XvkHNPSPhwniMn3JXojbPz2I5ZT
 Jv_MA6Nbr8RFzvc0UyK_ylvXhwiWhow2iHODbgQ2sqvqUiBknL2JXPTll1cbHGFkLAEAAMmbchRZ
 5ousunqflEeZSDfKuQPlCeyxLzU4EPYDiZ9YR4uB_KKipX9qcrrIZHVLZu3cUoEISPjiGrQM6yyt
 oNZBgMY5dgBXC5I2IX9PUjeP58EWOkMpjwPR5E0UYhFHGSpM7KL1uqFTisplT6D5Zd6nKLPF5Wj.
 QbtYhD6.lwehY76.clasPMyjfIs6g_jmPCqqN.W9u5ZnwQuCjwTrfUa50cTrUNHOmdjMYnJbvHt2
 BMhRsYcwdR3wsBKktAp8DHFvO8YkPCHPV..MI2ZFy3UY92NsIxcH1x_iLqIxdCJabjwYKYKLx8X5
 C6tgzoQQGk_q_VMRyUmU3mHs6Mp.6K5K_SiW9o7JcIIw6Fjkm4JCz1cZUSrSdqxAeR9_HQfx5FBr
 J8d9NhhET1ax9hd_sDxqwoPMgfM_gQg5nsRK04Mfc40BiOAJ7R7UZtL9yzh_fHZGKZKbxIPvvCmY
 yagXgnD8Q5xmDVHAbnrp6o_Gam_Vo_gJIqB6tkvj5pxkBaty67kvjyFqacqD.nfyM9tlaMwWHNoJ
 liOtzFhF2Khhxq5qpHZ4U.z3yrz6iMdJVDmVNZDG23eR2Z2eTHZUnqLtz7mCLeGORYCcqvgCJMW6
 6MIx8LaKLOM3pJeUKyEUPDdzZhQrnnD6_UluQ76Vh8u3PzrcTagJz8k_m8aDc8ceQ4885k3lbwUP
 7ZB7KQPYexgB0H1nxSKASWpIDT5TGyDw4t6anFqrSHExMHS3QaOBngGvC4O4rXDCbN_pLcqY.Lr6
 0gi0_UHztx1xDvE.GLFb_epUfnhWCwFBIBDEfQ.BkhGOxcYbebmn5X9boOu4C8ttGVmbIBmbVqKG
 d._xD9SY3.NMU.Hc2nLtc2NWiYyWVjh1_dy5YdsgAqj.5G4YQyM74OCFj948xQXsk1DHPlJpyS2C
 19C2iVIn2NLh3sw56eE3EUP1vrB4ChEvqGFAbyxA3buCwdyv0kU3C2Omn8vg0.NWbqM0w5.XlzCs
 zu2XKKZzm0b95UU2K9Yz1UP5zAL64vWHLsssfo_o_ygmmWrWPDeILDv8c4kyDl0I9xejvqAPVeT3
 7XW1W6c6Dnt2Nlo8_.EvA3G1nFMEsynRHqdGZCMm45.reQqEhEs6SHQvHLJEj9kFLMCE_ZEdsWXd
 eEuicufWf6vzUg2GYpm.4Fc_d3tLPDHygo_JVPB6XUHwZVXLIfx6LgWLhMfRfuiwrD2zJeFNZOeb
 xvo4V5vqRbzeM2DPD1KMPRMzUxqWBXSFQc.Le8FeDrF_lVmuN9HwfG56dhXWoA6_Ax.GfJVRRnqh
 vC0tgfsGthvhK7OOfwXGeDxkyD4_AQLtv.2eOifV4uIdimHJ7OC43_zbAcWsEbNnuB9fKO75tMvm
 G_tuUfLqAna85U4Yx2GWZcR_sOYBLU_N6j2.drb8cKoVi5l7wlJKnhJ2FagzqLIvuqLhiLAQ4TbG
 K5x04ya3GS0xzmkOvIL0uCMEY3eK2IQFhogbmHJdW_AnkZJ5ZCNo8rZgOInGnbdYdOBCl4aNFlwg
 0rmwOIgaBaRmgOkRnh7s9LhYE8Jdwg9HFXZ8zkNPKxPQinNxOB8AeNn7BrbSQ3uFlbWzq9rgrx_d
 SC.0fRSA691TZAX1Nkz2Pvv0mghFo7OW2p5Rk1PP5EDZ830IWAVGzXtEBPEZJ9m_iBJnMx5qhmw5
 PuAoQBw_WfyI4LVYuMzjExiqpmNQ.a9cLYtqM18YAvjel4c9X27MmszRbUE7blxalLDoxnRAFFSv
 9n7rMKvLIWjPjqjNbV3vyy5t8HhNFtAYHCgcmkbMtP3ZiP0k2O8F6ZKiE_THLGcKbDxGvXWkfP.U
 BqOTBMWCVRVGbTRGDx16qwh.9ea8Yl2AAEqm_hBqsutf40MYwH3MLycreu5TZVSD0JSPKQYiOHUh
 _cxieYK1uUOBZtB2_N1MNSZ7Z.HOcvowcAkynAeU0z6Sfup6R6.EtCYMkAG81a8nHOBMSmKV8EQl
 .D4iPMyrOcCGEVnXqxRefajtYEQpnRBR1EtOwAYBlZ_Z71FP1Ug.Mguidm9PKuz6wsD7LzfC1ccs
 ho2zgJIF_efHriwO6.yhmwOWMEjBPNoJCUwhk9TxXbyABM23qi.7NW8ZNlCN_V4FI4mMDilSTESV
 Hq5PNLEE_uYCuSZ1o_qLicX.V1KuUOZHVKZwUoXDpEBVPzPKdH_U-
X-Sonic-MF: <luangruo@HIDDEN>
X-Sonic-ID: 1fa08209-f474-4c6a-a241-f3b0df494a65
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic307.consmr.mail.ne1.yahoo.com with HTTP; Sun, 29 Sep 2024 23:31:37 +0000
Received: by hermes--production-sg3-fc85cddf6-6lk5x (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 95b5fb69e32defcb0ae1a019972aaf9d; 
 Sun, 29 Sep 2024 23:31:34 +0000 (UTC)
From: Po Lu <luangruo@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <CADwFkmkmKS+hHX=1jP1QcVJNnnghwMiQEwK+nMir6W8fXZqBGA@HIDDEN>
 (Stefan Kangas's message of "Sun, 29 Sep 2024 13:33:30 -0700")
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN>
 <60441960-D7DF-4A82-A6F8-241C620EDA07@HIDDEN>
 <s1r34ljibkb.fsf@HIDDEN>
 <CADwFkmkmKS+hHX=1jP1QcVJNnnghwMiQEwK+nMir6W8fXZqBGA@HIDDEN>
Date: Mon, 30 Sep 2024 07:31:31 +0800
Message-ID: <s1ry13ayr3g.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Mailer: WebService/1.1.22645
 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 381
X-Spam-Score: -0.9 (/)
X-Debbugs-Envelope-To: 73384
Cc: Ben Simms <bsimms.simms@HIDDEN>, 73384 <at> debbugs.gnu.org,
 Arash Esbati <arash@HIDDEN>, JD Smith <jdtsmith@HIDDEN>
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.9 (-)

Stefan Kangas <stefankangas@HIDDEN> writes:

>> We cannot install changes for Mac OS that use Mac-specific graphics
>> features, and in consequence, break the GNUstep build.
>
> We can make them conditional on macOS though, right?

I'll be very unsatisfied with such a solution, because it implies more
NS code that is impossible to test for Emacs developers in the Free
world.




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

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


Received: (at 73384) by debbugs.gnu.org; 29 Sep 2024 20:35:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 29 16:35:11 2024
Received: from localhost ([127.0.0.1]:42167 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sv0dK-0005GS-UR
	for submit <at> debbugs.gnu.org; Sun, 29 Sep 2024 16:35:11 -0400
Received: from mail-ej1-f50.google.com ([209.85.218.50]:53421)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1sv0dJ-0005GI-1T
 for 73384 <at> debbugs.gnu.org; Sun, 29 Sep 2024 16:35:09 -0400
Received: by mail-ej1-f50.google.com with SMTP id
 a640c23a62f3a-a8a837cec81so309720566b.2
 for <73384 <at> debbugs.gnu.org>; Sun, 29 Sep 2024 13:34:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1727642011; x=1728246811; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Ll/kNm94k47lLrPQtDplG6119YfR3RnGYHVyaSpjWz4=;
 b=KqBrdkOa5mLGiJ9sclePpmrV/tV6PBPDjvcxiLDXtHp0GsHC92aB3+paOfCHrkoR51
 jwg3fikqwaGGdzIPoBG0YYcIcIjr/PDKFMiYg531ByVR+7pAjOLJER2+evCh2dDXbsnu
 LQEkWI2B38hldDAloFwc2y0TcwtuPv/kJyXvgP4jVrJ9Hn55W5FiF9/1EADn4Gf4DAQt
 vPoy7PHzHhpKSYu1QB9/2RV8w5sSgZfDTZ+ctUJoTPKEG/uJ4GsXRZvUhW9WYy1D4cTy
 8CP5dJlv3gDvMUeMVOd+V9/h7vlpfZRIJjHUEMaCsp1jsmAENX9RX6QXW3OONhUojIpD
 FCBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1727642011; x=1728246811;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=Ll/kNm94k47lLrPQtDplG6119YfR3RnGYHVyaSpjWz4=;
 b=inu/cV2A6v3PVbJeISMr8z8pVB6MEivZ0QwOD5WQMvt99n+oC5OjKv6tPRpll1iWkz
 ycyLUOwWIDjlAdVmjx52tvChHw3znH/D7TiyhmPZufJJ36f2BU5jMu07uBXFi+/hR/ZJ
 /Qb8N5JBnerHqwX6TV071tG3jfAKGSrMH/TrrUeQ9dMlalnaRLqsA/IgEQWUNyOq6wZL
 FcSfj17U0QaW1kzZZo3C6doihBh/PSArWufmNSaB+Y+ZGLH66te7i6thKGEI0Tf33WbD
 M2QRDiwCkIpJmICsfd4ljQ1DVTwHpY6hTT4Fi6eqG/78/gizTj3M743ubSLr8s2mNI1m
 sSQw==
X-Gm-Message-State: AOJu0YwZwa77kCFNpPNWlCnV8BcsJ8vUGI+3wo85Vbpbe81R4+QvPwLg
 JOC8ix+Pzf9QXWPClzehpkS2KuDgyjSxq7y8VuzO8HdQP2WkzPj0X4yYHrOcW1+N98bb9o3Ow4x
 SBXSr7PmKGt9EcnzrilFPOCWowVk=
X-Google-Smtp-Source: AGHT+IGOJrGZcTxCr3yNUGwmc2q3y7CDMitD1AVwmkJ2kStGJxC6+YMZ8+LpkJYpxrwpkBqCdT5T7f1nhxpdOwzfLaU=
X-Received: by 2002:a05:6402:1ecf:b0:5c5:b7fd:170a with SMTP id
 4fb4d7f45d1cf-5c88260391amr19929187a12.28.1727642011158; Sun, 29 Sep 2024
 13:33:31 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 29 Sep 2024 13:33:30 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <s1r34ljibkb.fsf@HIDDEN>
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN>
 <60441960-D7DF-4A82-A6F8-241C620EDA07@HIDDEN>
 <s1r34ljibkb.fsf@HIDDEN>
MIME-Version: 1.0
Date: Sun, 29 Sep 2024 13:33:30 -0700
Message-ID: <CADwFkmkmKS+hHX=1jP1QcVJNnnghwMiQEwK+nMir6W8fXZqBGA@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
To: Po Lu <luangruo@HIDDEN>, JD Smith <jdtsmith@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 73384
Cc: Ben Simms <bsimms.simms@HIDDEN>, 73384 <at> debbugs.gnu.org,
 Arash Esbati <arash@HIDDEN>
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 (-)

Po Lu <luangruo@HIDDEN> writes:

> JD Smith <jdtsmith@HIDDEN> writes:
>
>>  On Sep 21, 2024, at 11:08=E2=80=AFAM, Arash Esbati <arash@HIDDEN>
>>  wrote:
>>
>>  Stefan Kangas <stefankangas@HIDDEN> writes:
>>
>>  Could you please also provide a simple recipe for testing this
>>  change?
>>
>> It would be good to move quickly to assess and integrate this patch in
>> time for Emacs 30, since it fixes an existing bug in the display of :sti=
pple
>> face attributes on the NS port, which will likely confuse users.  Po I
>> believe implemented the partial fix to NS stipples in ef6ffbdc79.
>>
>> See bug#73082 for more (and a test recipe).
>
> We cannot install changes for Mac OS that use Mac-specific graphics
> features, and in consequence, break the GNUstep build.

We can make them conditional on macOS though, right?




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

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


Received: (at 73384) by debbugs.gnu.org; 29 Sep 2024 17:52:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 29 13:52:51 2024
Received: from localhost ([127.0.0.1]:41481 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1suy6F-0000cT-Ki
	for submit <at> debbugs.gnu.org; Sun, 29 Sep 2024 13:52:51 -0400
Received: from mail-qk1-f177.google.com ([209.85.222.177]:57769)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jdtsmith@HIDDEN>) id 1suy6D-0000cJ-Pr
 for 73384 <at> debbugs.gnu.org; Sun, 29 Sep 2024 13:52:50 -0400
Received: by mail-qk1-f177.google.com with SMTP id
 af79cd13be357-7ae3d9a93c0so241418885a.3
 for <73384 <at> debbugs.gnu.org>; Sun, 29 Sep 2024 10:52:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1727632272; x=1728237072; darn=debbugs.gnu.org;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=5GwK3MgCwsN8xjr4Uyc2TC77l0ax5Kcnz37XQkpZp9A=;
 b=cAViZzBjFifDQxMGeVTh6tzLl6f5g0cj9/ycyYIFY9ms77whwNYgnPs3f0vkx0GPZw
 e0VeMXIQvh5EaqNmyXRs+qCfPGqjAyLE9eRHsdf1LkHITZZ9td2HgiTKndOw0f9DF094
 HXkv4ny8WKsqrr4etelPJ2g/c4f92aWaQ1Ajqt8YgoxK7zDemDm9SczRpHLuRZu8rUU4
 zu6sfGflmBZRIeqozHimPEXzBTigcXg1FgZ9WgXwJ7OEEJiuZ+fDEk3DIpZpPEdYCMri
 1a6aNQ1AbfEywjxXMA3hjiMnxXm7t+Z02dplXwKMgKHHCdP1YwQv59BABIunaE1IKdo9
 VdbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1727632272; x=1728237072;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=5GwK3MgCwsN8xjr4Uyc2TC77l0ax5Kcnz37XQkpZp9A=;
 b=XE6WCPy3fl9sWrJ6juJW0r84IaUB7yYCMA93pshm4U4jzhrca39IMthOHOaGnXWid7
 tketpJdP3AqkKu6FeLefcV7h98DvMDGZfHxhUaulRqbZKCwsyKc1/zhu4OECvysQE+z6
 kc2hMZUm88wYw2FA/cKLV0scqgRUWAjcufgKee2Cy8EYJ4u+eJxQDk964I3AAMjnGEVH
 D8qRkYApr+y8EEX0rUgf84Wyq1ZTw7O0EBtd6kMq0Kn5Oz7sqRshYQB4uTCus/phCFLC
 RGxDDEMOOk5qtsH8i0dT7ff2yQ2NybAy4M65vyCQ41FfUHKmuQznVm2+t8VvWtCFZlR2
 PLEQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCW7CovRaOjXGxyCHTMDDMvQrbPR2o9VjrQV4Yi7Nk5+IUkKbwn1B1xIObeTbeeGHoHDSAXrhQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyQQ1Co/bUt8eLEYxn6ULV7nQotMdJd0e96ySUj/1tVbvluBbaq
 kR84zKXMvgVW8Cf6B5SibICa6W+W17C5WHuhHljCKpQHleg6vMer
X-Google-Smtp-Source: AGHT+IEfkmKWGorWDQzV6HlmiriNXVBrTIO6TdeLddpgzQa7S2NQGaTfgMPOuvH39XTvjjsJlFlaeg==
X-Received: by 2002:a05:620a:f0d:b0:7a9:ad47:edb1 with SMTP id
 af79cd13be357-7ae378dbbf9mr1730697885a.53.1727632272439; 
 Sun, 29 Sep 2024 10:51:12 -0700 (PDT)
Received: from smtpclient.apple (cm-24-53-187-34.buckeyecom.net.
 [24.53.187.34]) by smtp.gmail.com with ESMTPSA id
 af79cd13be357-7ae3782b961sm336405485a.75.2024.09.29.10.51.10
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Sun, 29 Sep 2024 10:51:11 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\))
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
From: JD Smith <jdtsmith@HIDDEN>
In-Reply-To: <s1r34ljibkb.fsf@HIDDEN>
Date: Sun, 29 Sep 2024 13:51:00 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <0689D105-693A-46A9-A0DF-32C22B171072@HIDDEN>
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN>
 <60441960-D7DF-4A82-A6F8-241C620EDA07@HIDDEN> <s1r34ljibkb.fsf@HIDDEN>
To: Po Lu <luangruo@HIDDEN>
X-Mailer: Apple Mail (2.3774.600.62)
X-Spam-Score: -0.9 (/)
X-Debbugs-Envelope-To: 73384
Cc: Ben Simms <bsimms.simms@HIDDEN>, 73384 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>, Arash Esbati <arash@HIDDEN>
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.9 (-)



> On Sep 28, 2024, at 7:49=E2=80=AFPM, Po Lu <luangruo@HIDDEN> wrote:
>=20
> JD Smith <jdtsmith@HIDDEN> writes:
>=20
>> On Sep 21, 2024, at 11:08=E2=80=AFAM, Arash Esbati <arash@HIDDEN>
>> wrote:
>>=20
>> Stefan Kangas <stefankangas@HIDDEN> writes:
>>=20
>> Could you please also provide a simple recipe for testing this
>> change?
>>=20
>> It would be good to move quickly to assess and integrate this patch =
in
>> time for Emacs 30, since it fixes an existing bug in the display of =
:stipple
>> face attributes on the NS port, which will likely confuse users.  Po =
I
>> believe implemented the partial fix to NS stipples in ef6ffbdc79. =20
>>=20
>> See bug#73082 for more (and a test recipe).
>=20
> We cannot install changes for Mac OS that use Mac-specific graphics
> features, and in consequence, break the GNUstep build.

I see.  Are there generic GNUstep analogs that could be substituted?=




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

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


Received: (at 73384) by debbugs.gnu.org; 29 Sep 2024 00:10:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 28 20:10:05 2024
Received: from localhost ([127.0.0.1]:56738 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1suhVj-00066u-Kg
	for submit <at> debbugs.gnu.org; Sat, 28 Sep 2024 20:10:05 -0400
Received: from sonic309-22.consmr.mail.ne1.yahoo.com ([66.163.184.148]:46374)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <luangruo@HIDDEN>) id 1suhVf-00065r-Rc
 for 73384 <at> debbugs.gnu.org; Sat, 28 Sep 2024 20:10:01 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1727568562; bh=HkDztEVWG/z5+DHXAoDMgLhuWdD6gj8kU3EOrUkjoEo=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To;
 b=nN0mPKd/vG4rkr/GVFQof+zW5FKCHgORps4btnJpLCyL3WXbggyOBO+BwkEeD6msXq4Am0/QspyH9Kwkw9JlPv2cyzCQ9wkyrMb/65IWvqIRVR6XDzMNcYBB86utGJekwh5qPkEgPbynKiYVdlc8c1nHfkR+mjAXJmZf0rJvPHS9X5ajl1Q200/1LM+e5zuvRiutp4ir/SuaQuLT2b18gwh7QvGD3LoSNTGAYiQxLi9w1Z2MPrR/+JdVr8MRdO5LgDxBNCdzt8nx/ucOW9b7Ys+ePw87K8IIKwl533E24VRrvvZQdgfbd0+ub3nZtUTYOP0PUAPz/S+pm0ZTCzO92w==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1727568562; bh=Xtbxt5hwBiQ/jvzZCc3fweaVbmXQLALSSPxHmkWoz0c=;
 h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
 b=jOO4uEcAF9iwmmxA6sCdxH2FB4qs/S8p4vgaaOEzT4Ocx9RPeDCisngb/eOIfyKsuU5e4Hs+ndhqDf4h/atUlaAJ7mxLHWzap1uL4j6THRkpFx8F9qycTut3G5xY9Js6kApwTYjj8M7ZDAuhLG26OiOxNwcMNZZwxVLKavKSE0cwagCsNCgXK6GaQVyMs/NSu77R5nGR/SzdZOI4kM1g0wBhtUZLBGw41O8DBBElOGZyBN66Gd499A9lsLGMRQ+HxCC5zjUWr9Xe+XKPrQDDneGC4EPP0IGC6Gl8iPS2fFqecQtT/IimQGF67mojB/dK+gkv+U4j7MHB/5h4spihZg==
X-YMail-OSG: SaWREpYVM1m6RIdTZjbcMyNWaVu8PLjV8ABRKPQxGwf8M9_ojr.H0lmc1Bz9zkm
 irov2KPyUjqUC4v3hwbMQeR7cCh.oHWvvuq65.3y_.9_sBfhyOh0ePH1oUi7pUjVaSCA2sXgduRO
 7_kGKQS3cG_S1zceQB.TNW7YckshdnTVPw1Zhoz5YFKJMv3DExlMPDHTeb8yQoHyz.NGHoFmR7lV
 UTB0Y2OjVx8joH6JriIFD9fpCbrzbM_4AMVlxvnyV.xeAkChFV4_sI9Q5UXUz2_r46jQdTMT1CpX
 tvzbNuetTpWVXdVxEdWBT3jR_t0YtlpAVZV13NvZYXcjK0kijKEViy_MC2.GdtfS4yvMg4geRoaK
 ZMo6E_bYQjmwNO7bt9gmycGSbZuqgIbQzeFBzQN_8v_VufZaZ8Uas0viu5KyztBGKfv9eEI0bniu
 ACnF5S_Ng0Q2Sjjx9R5dDx3IQbOQBm_y8A.SvHhdijkKn3ueGwJPMPsK_X8iL5uLvuJwoW6Evk3X
 7m45MP5tPBcDcqY972AuobwYlQ.99U2_XGza7TF7sywcJ_qx07TFH59H6P61fJvq8ZH4gWthBe9t
 e8PArjo697S6paxL.Cw3ujeC7kE4bgmwW7EKr.1LLSdBxY8AmfbPDwWYZMv_PK0lQxJRFSXtuUpk
 kP1b5VYeBomP11D4Ld_znOKXVA4O_q6Sh8IRaH1xN48_ayGvueOxd7ET7F7MewJKA_DOCP8CXuJ9
 NS7wfebtR5Vj66_Z4GKmscqOk1vcf4lnYMZcPC9.czra2i8b0IpYw417T0VJOZKxP.Thfn3re0Wn
 Gy8d_OnD3P7CFolxjHIJ9CfS6hLIbKV3jq5sQD7jApKln3.4a_IVbkuvbxvbYIAR7dZHxkXb.Kfb
 K99vxzzqlQX6FAjwlhYhh2EzyMz6DhJYa13b1lIMwGyGa5qG2H0NK0q0wPyvWkv7NajIDELii3fg
 qraoJJ61Xl1jbpbgCB_GGF7R957wmJ2.q4MVjbigTynkpOHci6ywCJyp504rmCdcUWKCQkpWKVn1
 4KErrdbvINTR7k.VPfVxhYcpSwLpt_6Mzz4FQIaG4eDHLRL5GcgB2M7b7IOKLMVvwgiDl1iBBrY8
 VsBA2Vf.6j1nTnpfxPwfqoGmgqtur2u.4t7S_ZoX_G99PSbZcEax__DK.WBhQzWgQ3XG4IMJqfsU
 oLJb55FeecrWxY0_PH.YqwAAFvfsNBuZwv1QmxauXWOwhbMmZfPQ2KHDqHMpmtEx13lcXSov4jL6
 2BGKjFD.NGm1oQqWgsRr.gxeWsWBvANulR.AIXLK5rjPM_Jxa5zWUbju4Ya3vk3C5nYC_dHNss6O
 .mn_bh48aRBxnA7_bNaSRWfLSuDwk9TVCCbznm2Ouvb.xQlLFbjEj03go5u5sbIWTe0YcxQGWHIm
 T2zdm0wWI95rMm_1Z.X0QJO2emWL4e_KIw9JJQUhj5AWdGVZvMTesWwshRQaSppqZBbCR5p692Pg
 zBqUY.WJSBRth8Zz0pgPZL1NWHSZDQZwR0m6onPS9FzvmSw.bHN3lGzwBXPofz3as0JQXlVqv_eU
 r2ZlagE65RKCLbI8NB5gpz5EoXRcpHtL99gXsxXNaqQceci6X_Xiud4voNBDJyjNlqbwlRVsE3O8
 WYoZ_lJvn.sYS0buk15OOSgiCThN4hd2x1r31zvA9.8P4ZCDcc94cOkeKUmZZdOqfLK9VHH0YCN1
 W4Wf8tNS1Hv7UVzt.vdXt7oWtWjz.wwLWfc4gbGohGT0rbRkk3A3DzMcvaAXEZxrktd9Rg69qvcZ
 krbEnqDnpfCGRM9nDiWxKjKzQ0sT0DOfAv00WawaoPZO06qOFn0MEnJrJLlSPDZSXxfkQmRqsGE8
 iGvh1W4oqlVKVgzV9Z4f4VDwm9WLLmn5kXtbEy_GnrnthY8ziBqQG7N3YHGx2xhQwGI3oA4mZU3w
 lnH2KjZB107e4FJ4OefkY50sHg8nuqWZCZCZy5DfJ5z1cLLX7wiARPGJwsZkLO.3ANSA_iNFomNO
 CtntGVr3LbLwKkcG5nYez2h0hq623PNm2yrPQtZQormRiAm66HX99WG0PnpoB5Hr.OSyl55_tQVz
 AXf0dTvcxxlqbcl7VPvnF_1.JWump15Zj7cwWbdFyo.5x4ObNDWz2N7.QNo7TjtJIBsOmGRECkqC
 sEZSqJKl11zQCXGeP0Ab7PuIYZCUvelOecsagF_jIb3R0sxfOQXoOWnxYLLZVpaEKmCebZchLMun
 Jm5QE3AbahQPhqds.gmwUKtIohJM7JPGQ19WVc5sYAddIgnCLBA--
X-Sonic-MF: <luangruo@HIDDEN>
X-Sonic-ID: b4d951dd-e254-455a-8a68-abbcc1c00c27
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic309.consmr.mail.ne1.yahoo.com with HTTP; Sun, 29 Sep 2024 00:09:22 +0000
Received: by hermes--production-sg3-fc85cddf6-qj99b (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID c92d5d767918433738427d5e0a313e54; 
 Sat, 28 Sep 2024 23:49:12 +0000 (UTC)
From: Po Lu <luangruo@HIDDEN>
To: JD Smith <jdtsmith@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <60441960-D7DF-4A82-A6F8-241C620EDA07@HIDDEN> (JD Smith's
 message of "Sat, 28 Sep 2024 14:30:19 -0400")
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN>
 <60441960-D7DF-4A82-A6F8-241C620EDA07@HIDDEN>
Date: Sun, 29 Sep 2024 07:49:08 +0800
Message-ID: <s1r34ljibkb.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: WebService/1.1.22645
 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 725
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 73384
Cc: Ben Simms <bsimms.simms@HIDDEN>, 73384 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>, Arash Esbati <arash@HIDDEN>
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 (-)

JD Smith <jdtsmith@HIDDEN> writes:

>  On Sep 21, 2024, at 11:08=E2=80=AFAM, Arash Esbati <arash@HIDDEN>
>  wrote:
>
>  Stefan Kangas <stefankangas@HIDDEN> writes:
>
>  Could you please also provide a simple recipe for testing this
>  change?
>
> It would be good to move quickly to assess and integrate this patch in
> time for Emacs 30, since it fixes an existing bug in the display of :stip=
ple
> face attributes on the NS port, which will likely confuse users.  Po I
> believe implemented the partial fix to NS stipples in ef6ffbdc79.=20=20
>
> See bug#73082 for more (and a test recipe).

We cannot install changes for Mac OS that use Mac-specific graphics
features, and in consequence, break the GNUstep build.




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

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


Received: (at 73384) by debbugs.gnu.org; 28 Sep 2024 18:32:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 28 14:32:12 2024
Received: from localhost ([127.0.0.1]:38645 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sucEl-0002BK-Me
	for submit <at> debbugs.gnu.org; Sat, 28 Sep 2024 14:32:11 -0400
Received: from mail-qt1-f174.google.com ([209.85.160.174]:45377)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jdtsmith@HIDDEN>) id 1sucEi-0002B2-SH
 for 73384 <at> debbugs.gnu.org; Sat, 28 Sep 2024 14:32:09 -0400
Received: by mail-qt1-f174.google.com with SMTP id
 d75a77b69052e-45821eb62daso20545261cf.3
 for <73384 <at> debbugs.gnu.org>; Sat, 28 Sep 2024 11:31:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1727548233; x=1728153033; darn=debbugs.gnu.org;
 h=references:to:cc:in-reply-to:date:subject:mime-version:message-id
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=/9FlkcqYXyfl7/x7XVMENvMZWb9fzHLZZN4sBl/Vod4=;
 b=Ja0hRjPHxFuaSKOhvZ96HcNqBMp9aWjhpday92Q+pvhRmd0muYPiA3CboTdf02elta
 HGv8v9EhLW6Ea+zE7siKpQjVUydpxIWK6i0zpifl/9exOAdiLxEhYx7DRTP4FcJW5R4Q
 himZ+flNAlprtfkOCZWBWH44dIN7zAdefNf0vbE5jeqymajhLhqGlypI4V05w2ZiagNC
 5AUqIqys8qAnOk5sBlbbMepUkEM77AijrMkIgIRcnggbP2kFc6QHCHmjSU2qibf/IWoV
 0QYF8BXDLbukVult8WZR0U4eL99xP0n3dHTh2AwSDs3JhBiuILjoO0u5BG0Y8qUZa/bR
 HD2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1727548233; x=1728153033;
 h=references:to:cc:in-reply-to:date:subject:mime-version:message-id
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=/9FlkcqYXyfl7/x7XVMENvMZWb9fzHLZZN4sBl/Vod4=;
 b=WGiDVUR2H0d1aVMVqDte867RaoiFz9zcOFfgtnKvJolLxWQVwObh7x6OfexO7CXKPD
 KtIEz8OEJaMnl6ie3YWKQebm/SrXM1S8X+6v1pUPPVIGrJ6fCjJC5Cyd8vQJYxk6MOoN
 Mg59StCJVfbW4xqaTV89sqpTzqaPyPZ4miGcGCS3p1LtBk74ci/KEO3603x54kMcywIu
 UXxWQioXMpszD+1cdyBxstjeOW40YoipJPwvk9KgLJGzJbUDY88Ye5Wmx2F7ggwyIr1s
 gRZEt1VP3tvBeDLVro6chwyIp1SVYCRM6SOTbe3ZpxfgZQ2GDtwxuwVjgZDkMynV/W0w
 FY2g==
X-Forwarded-Encrypted: i=1;
 AJvYcCVZbnVit1DV8xKWOkASysy2/oC7AR+jSDcOboOhVC+n204O55VAs2Al/9WAXPFzkq0qOL2cuQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yx0IhnFf7ZfGMlCSWsbLJppXnPs96MVF4r50CkeBsmlTbkzmnXO
 B9zKCmgaM6/ga3DTCb9by7Ru0LoF2RI7oD8EHMElCWsLCkcKo4Kc
X-Google-Smtp-Source: AGHT+IFpWJJmqfti5TqUV9yAyFqm1i19nHpAj2wUUjXG5NUZjruASerhWPRH4ZyNAwVbbm+PgLliDA==
X-Received: by 2002:ac8:58c5:0:b0:458:1551:90ac with SMTP id
 d75a77b69052e-45c9f319a31mr104216941cf.55.1727548232665; 
 Sat, 28 Sep 2024 11:30:32 -0700 (PDT)
Received: from smtpclient.apple (cm-24-53-187-34.buckeyecom.net.
 [24.53.187.34]) by smtp.gmail.com with ESMTPSA id
 d75a77b69052e-45c9f2e0254sm20080861cf.48.2024.09.28.11.30.29
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Sat, 28 Sep 2024 11:30:31 -0700 (PDT)
From: JD Smith <jdtsmith@HIDDEN>
Message-Id: <60441960-D7DF-4A82-A6F8-241C620EDA07@HIDDEN>
Content-Type: multipart/alternative;
 boundary="Apple-Mail=_AAA32870-BD44-4146-B3AB-CE83677FA3CE"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\))
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
Date: Sat, 28 Sep 2024 14:30:19 -0400
In-Reply-To: <m2a5g1cae0.fsf@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>,
 73384 <at> debbugs.gnu.org
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 <m2a5g1cae0.fsf@HIDDEN>
X-Mailer: Apple Mail (2.3774.600.62)
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 73384
Cc: Po Lu <luangruo@HIDDEN>, Ben Simms <bsimms.simms@HIDDEN>,
 Arash Esbati <arash@HIDDEN>
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 (-)


--Apple-Mail=_AAA32870-BD44-4146-B3AB-CE83677FA3CE
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8



> On Sep 21, 2024, at 11:08=E2=80=AFAM, Arash Esbati <arash@HIDDEN> =
wrote:
>=20
> Stefan Kangas <stefankangas@HIDDEN> writes:
>=20
>> Could you please also provide a simple recipe for testing this =
change?

It would be good to move quickly to assess and integrate this patch in =
time for Emacs 30, since it fixes an existing bug in the display of =
:stipple face attributes on the NS port, which will likely confuse =
users.  Po I believe implemented the partial fix to NS stipples in =
ef6ffbdc79. =20

See bug#73082 for more (and a test recipe).=

--Apple-Mail=_AAA32870-BD44-4146-B3AB-CE83677FA3CE
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"overflow-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;"><br =
id=3D"lineBreakAtBeginningOfMessage"><div><br><blockquote =
type=3D"cite"><div>On Sep 21, 2024, at 11:08=E2=80=AFAM, Arash Esbati =
&lt;arash@HIDDEN&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div><div>Stefan Kangas =
&lt;stefankangas@HIDDEN&gt; writes:<br><br><blockquote =
type=3D"cite">Could you please also provide a simple recipe for testing =
this change?</blockquote></div></div></blockquote></div><br><div>It =
would be good to move quickly to assess and integrate this patch in time =
for Emacs 30, since it fixes an existing bug in the display of :stipple =
face attributes on the NS port, which will likely confuse users. =
&nbsp;Po I believe implemented the partial fix to NS stipples =
in&nbsp;<span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); =
font-size: 13px; text-wrap-mode: wrap; background-color: rgb(255, 255, =
255);">ef6ffbdc79. &nbsp;</span></div><div><span style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0); font-size: 13px; text-wrap-mode: =
wrap; background-color: rgb(255, 255, 255);"><br></span></div><div><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-size: =
13px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);">See =
bug#</span><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0); font-size: 13px; text-wrap-mode: wrap; background-color: rgb(255, =
255, 255);">73082 for more (and a test =
recipe).</span></div></body></html>=

--Apple-Mail=_AAA32870-BD44-4146-B3AB-CE83677FA3CE--




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

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


Received: (at 73384) by debbugs.gnu.org; 21 Sep 2024 15:11:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 21 11:11:07 2024
Received: from localhost ([127.0.0.1]:40203 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ss1lK-0005gV-KF
	for submit <at> debbugs.gnu.org; Sat, 21 Sep 2024 11:11:06 -0400
Received: from eggs.gnu.org ([209.51.188.92]:44880)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arash@HIDDEN>) id 1ss1lI-0005ft-K4
 for 73384 <at> debbugs.gnu.org; Sat, 21 Sep 2024 11:11:05 -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 <arash@HIDDEN>)
 id 1ss1im-0001RY-Ff; Sat, 21 Sep 2024 11:08:28 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=StZfXq+L4N4jFBaW67loe+dirWhyyHq8vgc1pf95uHc=; b=GaYOMzRJM5kFc4G2+r12
 D2teDVx1hkxc0WkQizIOTQnFWVw34r/eg3eQxqtXv+bxrJNGv6sdY+F12tkkGZAHWwDu1O29tTQoh
 mjCG26fuSnoRwdIDaQQSe+DkBqFkbVsI8QWMWMaV4GekcXVlT7rsWwpIOfAKdO7gME1MD8igm0rAH
 AZpIeeTK0RdKsWgMjU/u5dU/IaOba+1ogxgrUKVXMBmFkqswzHka8B4fI6HQd5z1t3XVaHBcOWkUB
 u5Vtovubnz3kjFFxJYA5THstvgRdCjpRSfvmIe7fwiJJF4T91G8NgSiRtiWxzc4Bb+dhpFVO+eVq4
 dPj4Wv3XWFqjPA==;
From: Arash Esbati <arash@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
In-Reply-To: <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
 (Stefan Kangas's message of "Sat, 21 Sep 2024 04:41:30 -0700")
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
 <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
Date: Sat, 21 Sep 2024 17:08:23 +0200
Message-ID: <m2a5g1cae0.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 73384
Cc: Ben Simms <bsimms.simms@HIDDEN>, 73384 <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 (---)

Stefan Kangas <stefankangas@HIDDEN> writes:

> Could you please also provide a simple recipe for testing this change?

You could try the one provided here:

  https://github.com/jdtsmith/indent-bars?tab=readme-ov-file#testing-stipples

Here is how it currently looks:

  https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-09/msg00304.html

Best, Arash




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

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


Received: (at 73384) by debbugs.gnu.org; 21 Sep 2024 11:43:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 21 07:43:00 2024
Received: from localhost ([127.0.0.1]:37524 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sryVw-0001ki-3x
	for submit <at> debbugs.gnu.org; Sat, 21 Sep 2024 07:43:00 -0400
Received: from mail-ed1-f48.google.com ([209.85.208.48]:42208)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1sryVt-0001kS-QT
 for 73384 <at> debbugs.gnu.org; Sat, 21 Sep 2024 07:42:58 -0400
Received: by mail-ed1-f48.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so3832610a12.0
 for <73384 <at> debbugs.gnu.org>; Sat, 21 Sep 2024 04:42:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1726918892; x=1727523692; darn=debbugs.gnu.org;
 h=to:subject:message-id:date:mime-version:references:in-reply-to:from
 :from:to:cc:subject:date:message-id:reply-to;
 bh=fBGw1ESSrvyovUU/atvCyFTe+egrzL8hgTz/78I88YE=;
 b=R1yXGb089n25HGpYFoUpjzpcZiiR2MogA6PmV71nkxDlr5/rcuBJjtRcHEUCNA36tp
 1rtNBZNT+CN7RokOAHGavm/5gskBPxbAyyhZ+rP/LKbmprNGjhrkOQVUZriKoDD8gc1D
 d6Eqxco2wNoRJlzq3V9kRAUYogXrlWnLMIAo/fUP4EXtS20InFIbg/4XgBwAT9WU2ZiE
 Jig20g/y0SLhJfdQDNWGKnaVRrzD+gCMhsckL/9PA/G2okqxY0SwzzSd/kAJck/hMxTh
 zYdgPnKdgD4BIw+DO29+8s6HLBUVGti85DgltTMlSdoSWSy011RHQkuxdUfsC+MUvH/C
 D7DQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1726918892; x=1727523692;
 h=to:subject:message-id:date:mime-version:references:in-reply-to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=fBGw1ESSrvyovUU/atvCyFTe+egrzL8hgTz/78I88YE=;
 b=d+Z4QNoaAzrW2ye4fPp+yPUUyuHky8m8uOj9K8wRCVnSWbRb/8rA9VXXBj80nXYn3W
 vttnC38PfxVRlKpcEisOJ4St6k3oekibhoylBe8G6EojIgg81OtQPxjA3qcFKH7vahG5
 DoUDUVenACh7nFU50F64/MaFHzb6bmyeoWmR7h7aHZtCqxufesrJZ7015qpovchCrWyq
 yj4qrHZb6ux9VIPhJ0w4l9IVrd6cG3sPOG+rQhMe+qSfOCIa5pzHE2yeEGChTzSBCWBw
 LK1YmpFkj7X1Jn0uak2FYzJTPU61+vnPFWLmSyB9yL1SUgbCY2ApV0gkKVArqEwIkbP3
 Lrkg==
X-Forwarded-Encrypted: i=1;
 AJvYcCV+ay+45YsFnV6bPaWyqY6olGeoPB9Ew9cvY02gk5vgRaVg444A1UrT35axsZDZRZdrGhuLLA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yy8Kehtk/yOuZ1mKYfr++5JimPUTMAoKJLuY+Zk/LXHj6Or3YgY
 P3vnnapMzYGgFLs4Ho4FGIggldsIegRj7WSp1+62sSqkVfQeImXT3XGGzDLHJMihrlwtxF2Dy2H
 JDbjqqaSN6ekOIz5+d4w1ccSk8Pg=
X-Google-Smtp-Source: AGHT+IGqweaVepCysxYLZOXhfNGKJ4NrV00c6Az9S2YU9nzPK2ZhJZ5c/TVzLPC2PTo9oM6WRtxuskMy567br89+3aI=
X-Received: by 2002:a05:6402:3483:b0:5c3:cc44:570a with SMTP id
 4fb4d7f45d1cf-5c4637b6f7emr5583225a12.2.1726918891397; Sat, 21 Sep 2024
 04:41:31 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sat, 21 Sep 2024 04:41:30 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
References: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
MIME-Version: 1.0
Date: Sat, 21 Sep 2024 04:41:30 -0700
Message-ID: <CADwFkmm5YFDXhCwQPgYQ0RC1JUYGjPpReiDuuQqc+7F8VFePTQ@HIDDEN>
Subject: Re: bug#73384: [PATCH] Draw coloured stipples on NS
To: Ben Simms <bsimms.simms@HIDDEN>, 73384 <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 73384
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 (-)

Ben Simms <bsimms.simms@HIDDEN> writes:

> Hello, I've been advised to submit my patch adding support for drawing
> coloured stipples on NS Emacs here:

Thanks for the patch.

Could you please also provide a simple recipe for testing this change?




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

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


Received: (at submit) by debbugs.gnu.org; 20 Sep 2024 13:33:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 20 09:33:32 2024
Received: from localhost ([127.0.0.1]:34392 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1srdlK-0002nl-Fe
	for submit <at> debbugs.gnu.org; Fri, 20 Sep 2024 09:33:31 -0400
Received: from lists.gnu.org ([209.51.188.17]:45000)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bsimms.simms@HIDDEN>) id 1srYWZ-0000uK-RN
 for submit <at> debbugs.gnu.org; Fri, 20 Sep 2024 03:57:58 -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 <bsimms.simms@HIDDEN>)
 id 1srYWH-0002wa-0S
 for bug-gnu-emacs@HIDDEN; Fri, 20 Sep 2024 03:57:37 -0400
Received: from mail-qk1-x735.google.com ([2607:f8b0:4864:20::735])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <bsimms.simms@HIDDEN>)
 id 1srYWE-0002kg-EJ
 for bug-gnu-emacs@HIDDEN; Fri, 20 Sep 2024 03:57:36 -0400
Received: by mail-qk1-x735.google.com with SMTP id
 af79cd13be357-7a99e8d5df1so163279285a.2
 for <bug-gnu-emacs@HIDDEN>; Fri, 20 Sep 2024 00:57:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1726819053; x=1727423853; darn=gnu.org;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=EI5Eo9QK4BopGSVygnx3JnI6mZA4l/Y4ZmhcmN+6AGA=;
 b=YybUA3TrMPkgTZgsMEfeaRxgvpM94iumPMBHRA6bVfywegGDWIjORZa4MSlcjpIhLl
 GdYWbozN8OVL2J1GGWzQU20WzdF9AqI4KkMVOWViiDv3/H34GzEKFeTqZjXM5+X8yPOD
 0P/o7ds+KrjY3rnBhAEMgwGvguGXHpP0/M/rL9B8143XHncutba56b0NlEQzOd0+HNac
 aZMcg9hWyB4OYWTunc6jCxM/TLGucZV2rVzwPiCZ0KmdxTrnPs6WZu9qVuHBk93vTxLb
 09L15G7f45rQX3yqOsXnyWd4dnIbId27JEnYIHn4wraHE57+71/Oxyxuc+sPOriDQw2x
 QT7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1726819053; x=1727423853;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=EI5Eo9QK4BopGSVygnx3JnI6mZA4l/Y4ZmhcmN+6AGA=;
 b=HROMabLTdnORaoyfhmrrgjkDMSsFObrIQKT86GyDg6DQULgLuT4RcF4Go+fY6x0QsX
 Fy+k+UbecIF9EkcsAavWNcftZtgbOsTeBQbEVjmR0Vi3PD4jt6CejrKGIpR2zw7CjhJw
 tC8DbjOKClO5ALKLlZdmzE5U6qB2cJCqbhnKjWpfWMMGddtKrNjWexl66aldprKYEi1d
 erQDlXqYGYvgIWWXxwCbwSZDLESlLwBBkmQVGD5xtfIX+liicF5UagdrWim43ybVZkTe
 vAaz8Hg9eULBKj2p8T5ncJdjFWQVH0MZ0cOQlPkBwoo1AY8hm2d472T9xB+zxtrpeDtO
 cHLQ==
X-Gm-Message-State: AOJu0Yz+9OB4URZCf5FPyaCAdHf8m2bnftYAQSRmidwq3AKh9ME3GlSn
 Rxuudru6SvvtZwPLLu2VBP57BycsQamlBQOcQsUv6WBgTjwgGiwhzPT1RgRNtyxILJJ/9w7j6/U
 0ouHYge7++oOOFBT15gupuUYiuu2q2eXb
X-Google-Smtp-Source: AGHT+IEA64RG2StSW/+ygpCn+970Jg+S7UHK9u04vn1akVY2yCq/ubhPeJE0MYwjPSOL79QBeUhR/pjoC9moXM5740c=
X-Received: by 2002:ac8:5792:0:b0:458:34df:1e5c with SMTP id
 d75a77b69052e-45b204de3a5mr39149061cf.12.1726819052536; Fri, 20 Sep 2024
 00:57:32 -0700 (PDT)
MIME-Version: 1.0
From: Ben Simms <bsimms.simms@HIDDEN>
Date: Fri, 20 Sep 2024 09:57:21 +0200
Message-ID: <CALNBX0b7nw6v+r4YW7U2y_sx609RV3sw6wRqHQExTsUY=O6jxQ@HIDDEN>
Subject: [PATCH] Draw coloured stipples on NS
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/alternative; boundary="00000000000037ce3f0622886479"
Received-SPF: pass client-ip=2607:f8b0:4864:20::735;
 envelope-from=bsimms.simms@HIDDEN; helo=mail-qk1-x735.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.3 (-)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Fri, 20 Sep 2024 09:33:29 -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: -2.3 (--)

--00000000000037ce3f0622886479
Content-Type: text/plain; charset="UTF-8"

Hello, I've been advised to submit my patch adding support for drawing
coloured stipples on NS Emacs here:

From 87c143b1b77ae02a08b9e1bbe27da57859e28a8d Mon Sep 17 00:00:00 2001
From: Ben Simms <ben@HIDDEN>
Date: Fri, 20 Sep 2024 09:50:47 +0200
Subject: [PATCH] Support drawing coloured stipples

This makes use of CoreGraphics, while this works fine on macos systems,
I'm unsure how to test this on a GNUStep or other supported NS
implementation.
---
 src/nsimage.m | 17 +++++++++++++---
 src/nsterm.h  |  4 ++--
 src/nsterm.m  | 56 +++++++++++++++++++++++++++++++++++++++++++++------
 3 files changed, 66 insertions(+), 11 deletions(-)

diff --git a/src/nsimage.m b/src/nsimage.m
index ee72d6e0ea..100af5c3e9 100644
--- a/src/nsimage.m
+++ b/src/nsimage.m
@@ -28,6 +28,7 @@ Updated by Christian Limpach (chris@HIDDEN)
 /* This should be the first include, as it may set up #defines affecting
    interpretation of even the system includes.  */
 #include <config.h>
+#include <CoreGraphics/CoreGraphics.h>

 #include "lisp.h"
 #include "dispextern.h"
@@ -510,10 +511,20 @@ - (void) setAlphaAtX: (int) x Y: (int) y to:
(unsigned char) a
 }

 /* Returns a pattern color, which is cached here.  */
-- (NSColor *)stippleMask
+- (CGImageRef)stippleMask
 {
-  if (stippleMask == nil)
-      stippleMask = [[NSColor colorWithPatternImage: self] retain];
+  if (stippleMask == nil) {
+    CGDataProviderRef provider = CGDataProviderCreateWithData (NULL,
[bmRep bitmapData],
+                                                             [self
sizeInBytes], NULL);
+    id mask = (id)CGImageMaskCreate(
+                                          [self size].width,
+                                          [self size].height,
+                                          8, 8, [self size].width,
+                                          provider, NULL, 0);
+
+    CGDataProviderRelease(provider);
+    stippleMask = (CGImageRef)[mask retain];
+  }
   return stippleMask;
 }

diff --git a/src/nsterm.h b/src/nsterm.h
index 3a713f8e8c..7ec851966f 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -670,7 +670,7 @@ #define NSTRACE_UNSILENCE()
 {
   NSBitmapImageRep *bmRep; /* used for accessing pixel data */
   unsigned char *pixmapData[5]; /* shortcut to access pixel data */
-  NSColor *stippleMask;
+  CGImageRef stippleMask;
 @public
   NSAffineTransform *transform;
   BOOL smoothing;
@@ -687,7 +687,7 @@ #define NSTRACE_UNSILENCE()
                green: (unsigned char)g blue: (unsigned char)b
               alpha:(unsigned char)a;
 - (void)setAlphaAtX: (int)x Y: (int)y to: (unsigned char)a;
-- (NSColor *)stippleMask;
+- (CGImageRef)stippleMask;
 - (Lisp_Object)getMetadata;
 - (BOOL)setFrame: (unsigned int) index;
 - (void)setTransform: (double[3][3]) m;
diff --git a/src/nsterm.m b/src/nsterm.m
index 794630de1c..84084f12a4 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -3826,9 +3826,28 @@ Function modeled after x_draw_glyph_string_box ().

       if (s->stippled_p)
  {
+  [[NSColor colorWithUnsignedLong:face->background] set];
+  r = NSMakeRect (s->x, s->y + box_line_width,
+  s->background_width,
+  s->height - 2 * box_line_width);
+  NSRectFill (r);
+  s->background_filled_p = 1;
   struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f);
-  [[dpyinfo->bitmaps[face->stipple-1].img stippleMask] set];
-  goto fill;
+  CGImageRef mask =
+    [dpyinfo->bitmaps[face->stipple - 1].img stippleMask];
+  CGRect bounds = CGRectMake (s->x, s->y + box_line_width,
+      s->background_width,
+      s->height - 2 * box_line_width);
+  NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
+  [ctx saveGraphicsState];
+  CGContextRef context = [ctx CGContext];
+  CGContextClipToRect (context, bounds);
+  CGContextScaleCTM (context, 1, -1);
+  [[NSColor colorWithUnsignedLong:face->foreground] set];
+  CGRect imageSize = CGRectMake (0, 0, CGImageGetWidth (mask),
+ CGImageGetHeight (mask));
+  CGContextDrawTiledImage (context, imageSize, mask);
+  [[NSGraphicsContext currentContext] restoreGraphicsState];
  }
       else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
        /* When xdisp.c ignores FONT_HEIGHT, we cannot trust font
@@ -3851,7 +3870,6 @@ Function modeled after x_draw_glyph_string_box ().
   else
     [FRAME_CURSOR_COLOR (s->f) set];

- fill:
   r = NSMakeRect (s->x, s->y + box_line_width,
   s->background_width,
   s->height - 2 * box_line_width);
@@ -4175,10 +4193,36 @@ Function modeled after x_draw_glyph_string_box ().
   dpyinfo = FRAME_DISPLAY_INFO (s->f);
   if (s->hl == DRAW_CURSOR)
     [FRAME_CURSOR_COLOR (s->f) set];
-  else if (s->stippled_p)
-    [[dpyinfo->bitmaps[s->face->stipple - 1].img stippleMask] set];
-  else
+  else if (s->stippled_p) {
+      [[NSColor colorWithUnsignedLong:s->face->background]
+ set];
+      NSRectFill (
+ NSMakeRect (x, s->y, background_width, s->height));
+      CGImageRef mask =
+ [dpyinfo->bitmaps[s->face->stipple - 1]
+    .img stippleMask];
+      CGRect bounds
+ = CGRectMake (s->x, s->y, s->background_width,
+      s->height);
+      NSGraphicsContext *ctx =
+ [NSGraphicsContext currentContext];
+      [ctx saveGraphicsState];
+      CGContextRef context = [ctx CGContext];
+      CGContextClipToRect(context, bounds);
+      CGContextScaleCTM (context, 1, -1);
+      [[NSColor colorWithUnsignedLong:s->face->foreground]
+ set];
+      CGRect imageSize
+ = CGRectMake (0, 0, CGImageGetWidth (mask),
+      CGImageGetHeight (mask));
+      CGContextDrawTiledImage (context, imageSize, mask);
+      [[NSGraphicsContext currentContext]
+ restoreGraphicsState];
+    }
+  else {
     [[NSColor colorWithUnsignedLong: s->face->background] set];
+    NSRectFill (NSMakeRect (x, s->y, background_width, s->height));
+  }

   NSRectFill (NSMakeRect (x, s->y, background_width, s->height));
  }
-- 
2.45.2

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

<div dir=3D"ltr">Hello, I&#39;ve been advised to submit my patch adding sup=
port for drawing coloured stipples on NS Emacs here:<div><br></div><div>Fro=
m 87c143b1b77ae02a08b9e1bbe27da57859e28a8d Mon Sep 17 00:00:00 2001<br>From=
: Ben Simms &lt;ben@HIDDEN&gt;<br>Date: Fri, 20 Sep 2024 09:50:47 +02=
00<br>Subject: [PATCH] Support drawing coloured stipples<br><br>This makes =
use of CoreGraphics, while this works fine on macos systems,<br>I&#39;m uns=
ure how to test this on a GNUStep or other supported NS<br>implementation.<=
br>---<br>=C2=A0src/nsimage.m | 17 +++++++++++++---<br>=C2=A0src/nsterm.h =
=C2=A0| =C2=A04 ++--<br>=C2=A0src/nsterm.m =C2=A0| 56 +++++++++++++++++++++=
++++++++++++++++++++++++------<br>=C2=A03 files changed, 66 insertions(+), =
11 deletions(-)<br><br>diff --git a/src/nsimage.m b/src/nsimage.m<br>index =
ee72d6e0ea..100af5c3e9 100644<br>--- a/src/nsimage.m<br>+++ b/src/nsimage.m=
<br>@@ -28,6 +28,7 @@ Updated by Christian Limpach (<a href=3D"mailto:chris=
@nice.ch">chris@HIDDEN</a>)<br>=C2=A0/* This should be the first include, =
as it may set up #defines affecting<br>=C2=A0 =C2=A0 interpretation of even=
 the system includes. =C2=A0*/<br>=C2=A0#include &lt;config.h&gt;<br>+#incl=
ude &lt;CoreGraphics/CoreGraphics.h&gt;<br>=C2=A0<br>=C2=A0#include &quot;l=
isp.h&quot;<br>=C2=A0#include &quot;dispextern.h&quot;<br>@@ -510,10 +511,2=
0 @@ - (void) setAlphaAtX: (int) x Y: (int) y to: (unsigned char) a<br>=C2=
=A0}<br>=C2=A0<br>=C2=A0/* Returns a pattern color, which is cached here. =
=C2=A0*/<br>-- (NSColor *)stippleMask<br>+- (CGImageRef)stippleMask<br>=C2=
=A0{<br>- =C2=A0if (stippleMask =3D=3D nil)<br>- =C2=A0 =C2=A0 =C2=A0stippl=
eMask =3D [[NSColor colorWithPatternImage: self] retain];<br>+ =C2=A0if (st=
ippleMask =3D=3D nil) {<br>+ =C2=A0 =C2=A0CGDataProviderRef provider =3D CG=
DataProviderCreateWithData (NULL, [bmRep bitmapData],<br>+ =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 [self sizeInBytes], NULL);=
<br>+ =C2=A0 =C2=A0id mask =3D (id)CGImageMaskCreate(<br>+ =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[self size].widt=
h,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0[self size].height,<br>+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A08, 8, [self size].width,<br>+ =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0provider, NULL, =
0);<br>+<br>+ =C2=A0 =C2=A0CGDataProviderRelease(provider);<br>+ =C2=A0 =C2=
=A0stippleMask =3D (CGImageRef)[mask retain];<br>+ =C2=A0}<br>=C2=A0 =C2=A0=
return stippleMask;<br>=C2=A0}<br>=C2=A0<br>diff --git a/src/nsterm.h b/src=
/nsterm.h<br>index 3a713f8e8c..7ec851966f 100644<br>--- a/src/nsterm.h<br>+=
++ b/src/nsterm.h<br>@@ -670,7 +670,7 @@ #define NSTRACE_UNSILENCE()<br>=C2=
=A0{<br>=C2=A0 =C2=A0NSBitmapImageRep *bmRep; /* used for accessing pixel d=
ata */<br>=C2=A0 =C2=A0unsigned char *pixmapData[5]; /* shortcut to access =
pixel data */<br>- =C2=A0NSColor *stippleMask;<br>+ =C2=A0CGImageRef stippl=
eMask;<br>=C2=A0@public<br>=C2=A0 =C2=A0NSAffineTransform *transform;<br>=
=C2=A0 =C2=A0BOOL smoothing;<br>@@ -687,7 +687,7 @@ #define NSTRACE_UNSILEN=
CE()<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 green: (uns=
igned char)g blue: (unsigned char)b<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0alpha:(unsigned char)a;<br>=C2=A0- (void)setAlphaAtX: (=
int)x Y: (int)y to: (unsigned char)a;<br>-- (NSColor *)stippleMask;<br>+- (=
CGImageRef)stippleMask;<br>=C2=A0- (Lisp_Object)getMetadata;<br>=C2=A0- (BO=
OL)setFrame: (unsigned int) index;<br>=C2=A0- (void)setTransform: (double[3=
][3]) m;<br>diff --git a/src/nsterm.m b/src/nsterm.m<br>index 794630de1c..8=
4084f12a4 100644<br>--- a/src/nsterm.m<br>+++ b/src/nsterm.m<br>@@ -3826,9 =
+3826,28 @@ Function modeled after x_draw_glyph_string_box ().<br>=C2=A0<br=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (s-&gt;stippled_p)<br>=C2=A0	{<br>+	 =C2=A0[=
[NSColor colorWithUnsignedLong:face-&gt;background] set];<br>+	 =C2=A0r =3D=
 NSMakeRect (s-&gt;x, s-&gt;y + box_line_width,<br>+			 =C2=A0s-&gt;backgro=
und_width,<br>+			 =C2=A0s-&gt;height - 2 * box_line_width);<br>+	 =C2=A0NS=
RectFill (r);<br>+	 =C2=A0s-&gt;background_filled_p =3D 1;<br>=C2=A0	 =C2=
=A0struct ns_display_info *dpyinfo =3D FRAME_DISPLAY_INFO (s-&gt;f);<br>-	 =
=C2=A0[[dpyinfo-&gt;bitmaps[face-&gt;stipple-1].img stippleMask] set];<br>-=
	 =C2=A0goto fill;<br>+	 =C2=A0CGImageRef mask =3D<br>+	 =C2=A0 =C2=A0[dpyi=
nfo-&gt;bitmaps[face-&gt;stipple - 1].img stippleMask];<br>+	 =C2=A0CGRect =
bounds =3D CGRectMake (s-&gt;x, s-&gt;y + box_line_width,<br>+				 =C2=A0 =
=C2=A0 =C2=A0s-&gt;background_width,<br>+				 =C2=A0 =C2=A0 =C2=A0s-&gt;hei=
ght - 2 * box_line_width);<br>+	 =C2=A0NSGraphicsContext *ctx =3D [NSGraphi=
csContext currentContext];<br>+	 =C2=A0[ctx saveGraphicsState];<br>+	 =C2=
=A0CGContextRef context =3D [ctx CGContext];<br>+	 =C2=A0CGContextClipToRec=
t (context, bounds);<br>+	 =C2=A0CGContextScaleCTM (context, 1, -1);<br>+	 =
=C2=A0[[NSColor colorWithUnsignedLong:face-&gt;foreground] set];<br>+	 =C2=
=A0CGRect imageSize =3D CGRectMake (0, 0, CGImageGetWidth (mask),<br>+					=
 CGImageGetHeight (mask));<br>+	 =C2=A0CGContextDrawTiledImage (context, im=
ageSize, mask);<br>+	 =C2=A0[[NSGraphicsContext currentContext] restoreGrap=
hicsState];<br>=C2=A0	}<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0else if (FONT_HEIGHT =
(s-&gt;font) &lt; s-&gt;height - 2 * box_line_width<br>=C2=A0	 =C2=A0 =C2=
=A0 =C2=A0 /* When xdisp.c ignores FONT_HEIGHT, we cannot trust font<br>@@ =
-3851,7 +3870,6 @@ Function modeled after x_draw_glyph_string_box ().<br>=
=C2=A0	 =C2=A0else<br>=C2=A0	 =C2=A0 =C2=A0[FRAME_CURSOR_COLOR (s-&gt;f) se=
t];<br>=C2=A0<br>-	fill:<br>=C2=A0	 =C2=A0r =3D NSMakeRect (s-&gt;x, s-&gt;=
y + box_line_width,<br>=C2=A0			 =C2=A0s-&gt;background_width,<br>=C2=A0			=
 =C2=A0s-&gt;height - 2 * box_line_width);<br>@@ -4175,10 +4193,36 @@ Funct=
ion modeled after x_draw_glyph_string_box ().<br>=C2=A0	 =C2=A0dpyinfo =3D =
FRAME_DISPLAY_INFO (s-&gt;f);<br>=C2=A0	 =C2=A0if (s-&gt;hl =3D=3D DRAW_CUR=
SOR)<br>=C2=A0	 =C2=A0 =C2=A0[FRAME_CURSOR_COLOR (s-&gt;f) set];<br>-	 =C2=
=A0else if (s-&gt;stippled_p)<br>-	 =C2=A0 =C2=A0[[dpyinfo-&gt;bitmaps[s-&g=
t;face-&gt;stipple - 1].img stippleMask] set];<br>-	 =C2=A0else<br>+	 =C2=
=A0else if (s-&gt;stippled_p) {<br>+	 =C2=A0 =C2=A0 =C2=A0[[NSColor colorWi=
thUnsignedLong:s-&gt;face-&gt;background]<br>+		set];<br>+	 =C2=A0 =C2=A0 =
=C2=A0NSRectFill (<br>+		NSMakeRect (x, s-&gt;y, background_width, s-&gt;he=
ight));<br>+	 =C2=A0 =C2=A0 =C2=A0CGImageRef mask =3D<br>+		[dpyinfo-&gt;bi=
tmaps[s-&gt;face-&gt;stipple - 1]<br>+		 =C2=A0 =C2=A0.img stippleMask];<br=
>+	 =C2=A0 =C2=A0 =C2=A0CGRect bounds<br>+		=3D CGRectMake (s-&gt;x, s-&gt;=
y, s-&gt;background_width,<br>+			 =C2=A0 =C2=A0 =C2=A0s-&gt;height);<br>+	=
 =C2=A0 =C2=A0 =C2=A0NSGraphicsContext *ctx =3D<br>+		[NSGraphicsContext cu=
rrentContext];<br>+	 =C2=A0 =C2=A0 =C2=A0[ctx saveGraphicsState];<br>+	 =C2=
=A0 =C2=A0 =C2=A0CGContextRef context =3D [ctx CGContext];<br>+	 =C2=A0 =C2=
=A0 =C2=A0CGContextClipToRect(context, bounds);<br>+	 =C2=A0 =C2=A0 =C2=A0C=
GContextScaleCTM (context, 1, -1);<br>+	 =C2=A0 =C2=A0 =C2=A0[[NSColor colo=
rWithUnsignedLong:s-&gt;face-&gt;foreground]<br>+		set];<br>+	 =C2=A0 =C2=
=A0 =C2=A0CGRect imageSize<br>+		=3D CGRectMake (0, 0, CGImageGetWidth (mas=
k),<br>+			 =C2=A0 =C2=A0 =C2=A0CGImageGetHeight (mask));<br>+	 =C2=A0 =C2=
=A0 =C2=A0CGContextDrawTiledImage (context, imageSize, mask);<br>+	 =C2=A0 =
=C2=A0 =C2=A0[[NSGraphicsContext currentContext]<br>+		restoreGraphicsState=
];<br>+	 =C2=A0 =C2=A0}<br>+	 =C2=A0else {<br>=C2=A0	 =C2=A0 =C2=A0[[NSColo=
r colorWithUnsignedLong: s-&gt;face-&gt;background] set];<br>+	 =C2=A0 =C2=
=A0NSRectFill (NSMakeRect (x, s-&gt;y, background_width, s-&gt;height));<br=
>+	 =C2=A0}<br>=C2=A0<br>=C2=A0	 =C2=A0NSRectFill (NSMakeRect (x, s-&gt;y, =
background_width, s-&gt;height));<br>=C2=A0	}<br>-- <br>2.45.2<br><br></div=
></div>

--00000000000037ce3f0622886479--




Acknowledgement sent to Ben Simms <bsimms.simms@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#73384; 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, 13 Feb 2025 10:30:02 UTC

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