GNU bug report logs - #67968
[PATCH] A small patch to make emacs support transparent image (png, webp, svg)

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: Qiutum <zh4710jj@HIDDEN>; Keywords: patch; dated Fri, 22 Dec 2023 11:47:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 67968) by debbugs.gnu.org; 24 Dec 2023 14:37:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 24 09:37:05 2023
Received: from localhost ([127.0.0.1]:51839 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rHPbF-0007Zn-Bo
	for submit <at> debbugs.gnu.org; Sun, 24 Dec 2023 09:37:05 -0500
Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]:42170)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1rHPbD-0007ZI-Fv
 for 67968 <at> debbugs.gnu.org; Sun, 24 Dec 2023 09:37:03 -0500
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5534dcfdd61so5656454a12.0
 for <67968 <at> debbugs.gnu.org>; Sun, 24 Dec 2023 06:36:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1703428611; x=1704033411; 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=7dn5s6vys9+S+hTqJPiRu6bUyK/IgDmydKC3p85DbPc=;
 b=W8aZrMHToVshBx3bI9ZjRn267ij6bkc1eyTzgawsDSq5Q85JnUIGlYrlH12quNsD+x
 677naryqz2fzTKqBzyDghFI7aLDGH57DKDwUrgMiXdyDcK42BWMGEbgglz3boyDLhN2y
 uuMPshceDSNvErTz/YwRNZ9Rcx3UqfsoHwHdnxz/0C9bbduGpT+Fe1xgHUrUnksyyrNl
 xFcENF7uTqJczRugpiNHQ0q/u4vktupVmZ1CyjnyksdPrlMKTGG26IO8g/PzWMlO1yKc
 Jx0G63Ln5dCJOjUWj8nPTYKshJ8w+2PBc/ynrwl0AHxeFWEVT1/J6d28X1VHlbvlTgEF
 xFQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1703428611; x=1704033411;
 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=7dn5s6vys9+S+hTqJPiRu6bUyK/IgDmydKC3p85DbPc=;
 b=uwHW+xEbtiHnttYSG3gzOYrLMl4aZCH4VC4udN8msodfvFuOkZ8N4+deCG6+1bxtqz
 GtG6/iJ7VoPzSdjjFhYIWCMDMQbIrENCi3E2sRdVYP0tFzcTWrJnpTwcSS6XiJTZm3ux
 6uDlK+kIWZchn0Pk3VOK12fEN+LanqhOfOS9ViGZ7gacijhVtY2tHeatie50JB/a39Kh
 mEuK3ujzhLAYOLRwfBA2JEyonBH6Ud/5fYesQfnASOKaci4rchraN4AG8HbeXb9i33el
 UZvyTlbvhkdhwibBzqrAYJ3OU+Uswz6ROIlvsFlQzZ9K8gm5WixbNJaqE+fW4X/s5LHb
 DW9Q==
X-Gm-Message-State: AOJu0YyNAmeN5EF247f+zwsWd9IsPZM1TQlOOM35p2ICu6kHfhvsbm2+
 EW3rMJGNP8Q/sx2FoDrTznu8+sO2GzCGw2kC5HDegxFaRR4=
X-Google-Smtp-Source: AGHT+IE75pAW4x1nr658pnXWWDAzSKbI0H3/ARHfjjVl/txKYO+K2eCQ5Irva6FTO5NPqXlxI3SYDRgEDDAAn/LuN1s=
X-Received: by 2002:a50:c01e:0:b0:554:afc1:1cc with SMTP id
 r30-20020a50c01e000000b00554afc101ccmr1195884edb.0.1703428611658; Sun, 24 Dec
 2023 06:36:51 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 24 Dec 2023 06:36:51 -0800
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <CACph+bVEiGK7Mcd1JmsEEN403u=i=cTQagzCemp_tc7wKQtG0w@HIDDEN>
 (Qiutum's message of "Fri, 22 Dec 2023 19:38:09 +0800")
References: <CACph+bW99OiFn2c_yWy_vE3nw90ZLwmPES-uCuu=JYdQtHhubQ@HIDDEN>
 <CACph+bVEiGK7Mcd1JmsEEN403u=i=cTQagzCemp_tc7wKQtG0w@HIDDEN>
MIME-Version: 1.0
Date: Sun, 24 Dec 2023 06:36:51 -0800
Message-ID: <CADwFkmk+c61+5NgxcG8ALkyr0FjdveiDCmiTmHSnrhrxG-LVEg@HIDDEN>
Subject: Re: bug#67968: [PATCH] A small patch to make emacs support
 transparent image (png, webp, svg)
To: Qiutum <zh4710jj@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 67968
Cc: 67968 <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 (-)

Qiutum <zh4710jj@HIDDEN> writes:

> Hi everyone,
>
> Recently, I've been reading the code of image.c and wondering how to make emacs support transparent image. Then I find that a small change on the
> src/image.c can make it worked (and wonder why this have not been solved since the solution is so simple).
>
> This patch can support the transparent png, webp and svg. The core of the patch is to change the code,
>
>  PUT_PIXEL (mask_img, x, y, *p > 0 ? PIX_MASK_DRAW : PIX_MASK_RETAIN);
>
> to
>
>  PUT_PIXEL (mask_img, x, y, *p > 0 ? *p : PIX_MASK_RETAIN);
>
> Then all worked like a magic.
>
> I have checked my patch in linux by default configure option "../configure" for dwm and pgtk build for hyprland, both are fine. I don't know whether it
> could support other platforms since I don't have them.
>
> Please check my patch and happy to hear comments.

I thought we already supported transparency in png, webp and svg?

Could you please explain more about the problem you are trying to solve?




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

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


Received: (at submit) by debbugs.gnu.org; 22 Dec 2023 11:46:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 22 06:46:18 2023
Received: from localhost ([127.0.0.1]:46150 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rGdyr-000113-H5
	for submit <at> debbugs.gnu.org; Fri, 22 Dec 2023 06:46:18 -0500
Received: from lists.gnu.org ([2001:470:142::17]:42632)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <zh4710jj@HIDDEN>) id 1rGdrR-0006mF-OU
 for submit <at> debbugs.gnu.org; Fri, 22 Dec 2023 06:38:38 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <zh4710jj@HIDDEN>)
 id 1rGdrG-0002cw-86
 for bug-gnu-emacs@HIDDEN; Fri, 22 Dec 2023 06:38:26 -0500
Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <zh4710jj@HIDDEN>)
 id 1rGdrD-00025N-Qb
 for bug-gnu-emacs@HIDDEN; Fri, 22 Dec 2023 06:38:25 -0500
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2cc6c028229so20755691fa.2
 for <bug-gnu-emacs@HIDDEN>; Fri, 22 Dec 2023 03:38:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1703245101; x=1703849901; darn=gnu.org;
 h=to:subject:message-id:date:from:in-reply-to:references:mime-version
 :from:to:cc:subject:date:message-id:reply-to;
 bh=TJNWiNjesl2gkaaKEsvVbxUtkw5Z2M61e8eMM3oox40=;
 b=DuVFJcKTHSBVvMj1R7giAUkcEdGBwaNgg25vNk4DQzYXJFwRgy9Biv4OwuMeEuFJQc
 tCPw6LzSJYJqBtKR+OHHDcwzI6+9knKjl/4xHeGO+pr+xkCbw3WL+2CrTrqghyPQa+m6
 rpFssXT1Os/G92uLVBpsCiO1ClNigiilSVZvqFNO6vapC3vR4AkOnzXPdUsVf12Ji/Qv
 y8I1Yfj6MpBlZy+/92z4KC06RtJ+G9FXMKrZvweVyf6ib13zcPCpQylBFRBMYiinA7hk
 21JdX1t1lq6bSW+1eedo6v3eBT2RvlNaRMDZOUC91L2/Yb8dSNdxJ8BQP4BRMXbFIovp
 Uw2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1703245101; x=1703849901;
 h=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=TJNWiNjesl2gkaaKEsvVbxUtkw5Z2M61e8eMM3oox40=;
 b=nW1c8Oq6keaR7k1Or5Kfix4ayMvvcIncFLqxGZoyUM03dNzqEW069YW6Qi1NzMf93d
 QAgvxDXUuVT7Yher2yRPHI1KshhL4xSJRdYjCXnbwW+9IlUtCXFpLhYJfkFoSCh0CtEY
 FBHjH5/MUdtiyyc5WiqsDtqGu2Ko+AdenmWBaoMfW/5j50NWAncr0rDZTgVmdZY0lz3O
 C8sy73Ya3GkhpGXxPMZbcUqME4lB3fwbrpXKIv7Irh2DnwzFMtBn6sJpn8HzG3MLbPKf
 La3aVRYY8r3lO94e0yd3u5bvAU0l9P1onM/x1RWXtiQsB/H6TDoKYC+ar1S2Efbe9L7H
 h06Q==
X-Gm-Message-State: AOJu0YydccrV5Tvai9uGJ1wrmxaIKe/5si/GT6nXBi3hUj3t62u1eVyu
 uD/86H77GahyuGX2PzsrbcMO8ioS37YcLQjHrJNp2xMeOYm+hA==
X-Google-Smtp-Source: AGHT+IHsftjEYVx+Rd2L2sixd9U/3Ol1vPcuT15xSxrvAFsWZPXva5KXBENIxri+axIpKxZfDa/W1SF/8FM7gdZtYeo=
X-Received: by 2002:a2e:874b:0:b0:2cc:70f8:a7e0 with SMTP id
 q11-20020a2e874b000000b002cc70f8a7e0mr565843ljj.93.1703245101213; Fri, 22 Dec
 2023 03:38:21 -0800 (PST)
MIME-Version: 1.0
References: <CACph+bW99OiFn2c_yWy_vE3nw90ZLwmPES-uCuu=JYdQtHhubQ@HIDDEN>
In-Reply-To: <CACph+bW99OiFn2c_yWy_vE3nw90ZLwmPES-uCuu=JYdQtHhubQ@HIDDEN>
From: Qiutum <zh4710jj@HIDDEN>
Date: Fri, 22 Dec 2023 19:38:09 +0800
Message-ID: <CACph+bVEiGK7Mcd1JmsEEN403u=i=cTQagzCemp_tc7wKQtG0w@HIDDEN>
Subject: [PATCH] A small patch to make emacs support transparent image (png,
 webp, svg)
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/mixed; boundary="000000000000393c07060d17a79d"
Received-SPF: pass client-ip=2a00:1450:4864:20::230;
 envelope-from=zh4710jj@HIDDEN; helo=mail-lj1-x230.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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Fri, 22 Dec 2023 06:46:15 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

--000000000000393c07060d17a79d
Content-Type: multipart/alternative; boundary="000000000000393c06060d17a79b"

--000000000000393c06060d17a79b
Content-Type: text/plain; charset="UTF-8"

Hi everyone,

Recently, I've been reading the code of image.c and wondering how to make
emacs support transparent image. Then I find that a small change on the
src/image.c can make it worked (and wonder why this have not been solved
since the solution is so simple).

This patch can support the transparent png, webp and svg. The core of the
patch is to change the code,

 PUT_PIXEL (mask_img, x, y, *p > 0 ? PIX_MASK_DRAW : PIX_MASK_RETAIN);

to

 PUT_PIXEL (mask_img, x, y, *p > 0 ? *p : PIX_MASK_RETAIN);

Then all worked like a magic.

I have checked my patch in linux by default configure option "../configure"
for dwm and pgtk build for hyprland, both are fine. I don't know whether it
could support other platforms since I don't have them.

Please check my patch and happy to hear comments.

Best regards,
Zhang

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">Hi everyone,</div><div dir=3D"ltr"><div><br>Recently, I&#39;ve been =
reading the code of image.c and wondering how to make emacs support=C2=A0tr=
ansparent image. Then I find that a small change on the src/image.c can mak=
e it worked=C2=A0(and wonder why this have not=C2=A0been solved since the=
=C2=A0solution is so simple).</div><div><br></div><div>This patch can suppo=
rt=C2=A0the transparent=C2=A0png, webp and svg. The core of the patch is to=
 change the code,</div><div><br></div><div>=C2=A0PUT_PIXEL (mask_img, x, y,=
 *p &gt; 0 ? PIX_MASK_DRAW : PIX_MASK_RETAIN);=C2=A0 =C2=A0=C2=A0</div><div=
><br></div><div>to=C2=A0</div><div><br></div><div>=C2=A0PUT_PIXEL (mask_img=
, x, y, *p &gt; 0 ? *p : PIX_MASK_RETAIN);=C2=A0 =C2=A0</div><div><br></div=
><div>Then all worked like a magic.</div><div><br></div><div><div>I have ch=
ecked my patch in linux by default configure option &quot;../configure&quot=
; for dwm and pgtk build for hyprland, both are fine. I don&#39;t know whet=
her it could support other platforms since I don&#39;t have them.</div><div=
><br>Please check my patch and happy to hear comments.</div><div><br>Best r=
egards,</div><div>Zhang<br></div></div></div>
</div></div>

--000000000000393c06060d17a79b--

--000000000000393c07060d17a79d
Content-Type: application/x-patch; name="support-image-transparent.patch"
Content-Disposition: attachment; filename="support-image-transparent.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_lqgau6q10>
X-Attachment-Id: f_lqgau6q10

ZGlmZiAtLWdpdCBhL3NyYy9pbWFnZS5jIGIvc3JjL2ltYWdlLmMKaW5kZXggODRkYjliZmIzYjgu
LmQ1OTM1MmIzM2NlIDEwMDY0NAotLS0gYS9zcmMvaW1hZ2UuYworKysgYi9zcmMvaW1hZ2UuYwpA
QCAtODA1NCw3ICs4MDU0LDYgQEAgcG5nX2xvYWRfYm9keSAoc3RydWN0IGZyYW1lICpmLCBzdHJ1
Y3QgaW1hZ2UgKmltZywgc3RydWN0IHBuZ19sb2FkX2NvbnRleHQgKmMpCiAgIGludCBiaXRfZGVw
dGgsIGNvbG9yX3R5cGUsIGludGVybGFjZV90eXBlOwogICBwbmdfYnl0ZSBjaGFubmVsczsKICAg
cG5nX3VpbnRfMzIgcm93X2J5dGVzOwotICBib29sIHRyYW5zcGFyZW50X3A7CiAgIHN0cnVjdCBw
bmdfbWVtb3J5X3N0b3JhZ2UgdGJyOyAgLyogRGF0YSB0byBiZSByZWFkICovCiAgIHB0cmRpZmZf
dCBuYnl0ZXM7CiAgIEVtYWNzX1BpeF9Db250YWluZXIgeGltZywgbWFza19pbWcgPSBOVUxMOwpA
QCAtODE4MywyNSArODE4Miw2IEBAIHBuZ19sb2FkX2JvZHkgKHN0cnVjdCBmcmFtZSAqZiwgc3Ry
dWN0IGltYWdlICppbWcsIHN0cnVjdCBwbmdfbG9hZF9jb250ZXh0ICpjKQogICBpZiAoIWltYWdl
X2NyZWF0ZV94X2ltYWdlX2FuZF9waXhtYXAgKGYsIGltZywgd2lkdGgsIGhlaWdodCwgMCwgJnhp
bWcsIDApKQogICAgIGdvdG8gZXJyb3I7CiAKLSAgLyogSWYgaW1hZ2UgY29udGFpbnMgc2ltcGx5
IHRyYW5zcGFyZW5jeSBkYXRhLCB3ZSBwcmVmZXIgdG8KLSAgICAgY29uc3RydWN0IGEgY2xpcHBp
bmcgbWFzay4gICovCi0gIHRyYW5zcGFyZW50X3AgPSBmYWxzZTsKLSMgaWZkZWYgUE5HX3RSTlNf
U1VQUE9SVEVECi0gIHBuZ19ieXRlcCB0cmFuc19hbHBoYTsKLSAgaW50IG51bV90cmFuczsKLSAg
aWYgKHBuZ19nZXRfdFJOUyAocG5nX3B0ciwgaW5mb19wdHIsICZ0cmFuc19hbHBoYSwgJm51bV90
cmFucywgTlVMTCkpCi0gICAgewotICAgICAgdHJhbnNwYXJlbnRfcCA9IHRydWU7Ci0gICAgICBp
ZiAodHJhbnNfYWxwaGEpCi0JZm9yIChpbnQgaSA9IDA7IGkgPCBudW1fdHJhbnM7IGkrKykKLQkg
IGlmICgwIDwgdHJhbnNfYWxwaGFbaV0gJiYgdHJhbnNfYWxwaGFbaV0gPCAyNTUpCi0JICAgIHsK
LQkgICAgICB0cmFuc3BhcmVudF9wID0gZmFsc2U7Ci0JICAgICAgYnJlYWs7Ci0JICAgIH0KLSAg
ICB9Ci0jIGVuZGlmCi0KICAgLyogVGhpcyBmdW5jdGlvbiBpcyBlYXNpZXIgdG8gd3JpdGUgaWYg
d2Ugb25seSBoYXZlIHRvIGhhbmRsZQogICAgICBvbmUgZGF0YSBmb3JtYXQ6IFJHQiBvciBSR0JB
IHdpdGggOCBiaXRzIHBlciBjaGFubmVsLiAgTGV0J3MKICAgICAgdHJhbnNmb3JtIG90aGVyIGZv
cm1hdHMgaW50byB0aGF0IGZvcm1hdC4gICovCkBAIC04MjE5LDM5ICs4MTk5LDYgQEAgcG5nX2xv
YWRfYm9keSAoc3RydWN0IGZyYW1lICpmLCBzdHJ1Y3QgaW1hZ2UgKmltZywgc3RydWN0IHBuZ19s
b2FkX2NvbnRleHQgKmMpCiAgICAgICB8fCBjb2xvcl90eXBlID09IFBOR19DT0xPUl9UWVBFX0dS
QVlfQUxQSEEpCiAgICAgcG5nX3NldF9ncmF5X3RvX3JnYiAocG5nX3B0cik7CiAKLSAgLyogSGFu
ZGxlIGFscGhhIGNoYW5uZWwgYnkgY29tYmluaW5nIHRoZSBpbWFnZSB3aXRoIGEgYmFja2dyb3Vu
ZAotICAgICBjb2xvci4gIERvIHRoaXMgb25seSBpZiBhIHJlYWwgYWxwaGEgY2hhbm5lbCBpcyBz
dXBwbGllZC4gIEZvcgotICAgICBzaW1wbGUgdHJhbnNwYXJlbmN5LCB3ZSBwcmVmZXIgYSBjbGlw
cGluZyBtYXNrLiAgKi8KLSAgaWYgKCF0cmFuc3BhcmVudF9wKQotICAgIHsKLSAgICAgIExpc3Bf
T2JqZWN0IHNwZWNpZmllZF9iZwotCT0gaW1hZ2Vfc3BlY192YWx1ZSAoaW1nLT5zcGVjLCBRQ2Jh
Y2tncm91bmQsIE5VTEwpOwotICAgICAgRW1hY3NfQ29sb3IgY29sb3I7Ci0KLSAgICAgIC8qIElm
IHRoZSB1c2VyIHNwZWNpZmllZCBhIGNvbG9yLCB0cnkgdG8gdXNlIGl0OyBpZiBub3QsIHVzZSB0
aGUKLQkgY3VycmVudCBmcmFtZSBiYWNrZ3JvdW5kLCBpZ25vcmluZyBhbnkgZGVmYXVsdCBiYWNr
Z3JvdW5kCi0JIGNvbG9yIHNldCBieSB0aGUgaW1hZ2UuICAqLwotICAgICAgaWYgKFNUUklOR1Ag
KHNwZWNpZmllZF9iZykKLQkgID8gRlJBTUVfVEVSTUlOQUwgKGYpLT5kZWZpbmVkX2NvbG9yX2hv
b2sgKGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU1NEQVRBIChzcGVjaWZpZWRfYmcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZjb2xvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSkKLQkgIDogKEZSQU1FX1RFUk1JTkFM
IChmKS0+cXVlcnlfZnJhbWVfYmFja2dyb3VuZF9jb2xvciAoZiwgJmNvbG9yKSwKLSAgICAgICAg
ICAgICB0cnVlKSkKLQkvKiBUaGUgdXNlciBzcGVjaWZpZWQgYDpiYWNrZ3JvdW5kJywgdXNlIHRo
YXQuICAqLwotCXsKLQkgIGludCBzaGlmdCA9IGJpdF9kZXB0aCA9PSAxNiA/IDAgOiA4OwotCSAg
cG5nX2NvbG9yXzE2IGJnID0geyAwIH07Ci0JICBiZy5yZWQgPSBjb2xvci5yZWQgPj4gc2hpZnQ7
Ci0JICBiZy5ncmVlbiA9IGNvbG9yLmdyZWVuID4+IHNoaWZ0OwotCSAgYmcuYmx1ZSA9IGNvbG9y
LmJsdWUgPj4gc2hpZnQ7Ci0KLQkgIHBuZ19zZXRfYmFja2dyb3VuZCAocG5nX3B0ciwgJmJnLAot
CQkJICAgICAgUE5HX0JBQ0tHUk9VTkRfR0FNTUFfU0NSRUVOLCAwLCAxLjApOwotCX0KLSAgICB9
Ci0KICAgcG5nX3NldF9pbnRlcmxhY2VfaGFuZGxpbmcgKHBuZ19wdHIpOwogICBwbmdfcmVhZF91
cGRhdGVfaW5mbyAocG5nX3B0ciwgaW5mb19wdHIpOwogCkBAIC04Mjg3LDcgKzgyMzQsNiBAQCBw
bmdfbG9hZF9ib2R5IChzdHJ1Y3QgZnJhbWUgKmYsIHN0cnVjdCBpbWFnZSAqaW1nLCBzdHJ1Y3Qg
cG5nX2xvYWRfY29udGV4dCAqYykKICAgLyogQ3JlYXRlIGFuIGltYWdlIGFuZCBwaXhtYXAgc2Vy
dmluZyBhcyBtYXNrIGlmIHRoZSBQTkcgaW1hZ2UKICAgICAgY29udGFpbnMgYW4gYWxwaGEgY2hh
bm5lbC4gICovCiAgIGlmIChjaGFubmVscyA9PSA0Ci0gICAgICAmJiB0cmFuc3BhcmVudF9wCiAg
ICAgICAmJiAhaW1hZ2VfY3JlYXRlX3hfaW1hZ2VfYW5kX3BpeG1hcCAoZiwgaW1nLCB3aWR0aCwg
aGVpZ2h0LCAxLAogCQkJCQkgICAmbWFza19pbWcsIDEpKQogICAgIHsKQEAgLTgzMzAsNyArODI3
Niw3IEBAIHBuZ19sb2FkX2JvZHkgKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGltYWdlICppbWcs
IHN0cnVjdCBwbmdfbG9hZF9jb250ZXh0ICpjKQogCSAgaWYgKGNoYW5uZWxzID09IDQpCiAJICAg
IHsKIAkgICAgICBpZiAobWFza19pbWcpCi0JCVBVVF9QSVhFTCAobWFza19pbWcsIHgsIHksICpw
ID4gMCA/IFBJWF9NQVNLX0RSQVcgOiBQSVhfTUFTS19SRVRBSU4pOworCQlQVVRfUElYRUwgKG1h
c2tfaW1nLCB4LCB5LCAqcCA+IDAgPyAqcCA6IFBJWF9NQVNLX1JFVEFJTik7CiAJICAgICAgKytw
OwogCSAgICB9CiAJfQpAQCAtMTA0NjIsMzYgKzEwNDA4LDIwIEBAIHdlYnBfbG9hZCAoc3RydWN0
IGZyYW1lICpmLCBzdHJ1Y3QgaW1hZ2UgKmltZykKICAgICB9CiAKICAgLyogQ3JlYXRlIHRoZSB4
IGltYWdlIGFuZCBwaXhtYXAuICAqLwotICBFbWFjc19QaXhfQ29udGFpbmVyIHhpbWc7CisgIEVt
YWNzX1BpeF9Db250YWluZXIgeGltZywgbWFza19pbWcgPSBOVUxMOwogICBpZiAoIWltYWdlX2Ny
ZWF0ZV94X2ltYWdlX2FuZF9waXhtYXAgKGYsIGltZywgd2lkdGgsIGhlaWdodCwgMCwgJnhpbWcs
IGZhbHNlKSkKICAgICBnb3RvIHdlYnBfZXJyb3IyOwogCi0gIC8qIEZpbmQgdGhlIGJhY2tncm91
bmQgdG8gdXNlIGlmIHRoZSBXZWJQIGltYWdlIGNvbnRhaW5zIGFuIGFscGhhCi0gICAgIGNoYW5u
ZWwuICAqLwotICBFbWFjc19Db2xvciBiZ19jb2xvcjsKLSAgaWYgKGZlYXR1cmVzLmhhc19hbHBo
YSkKLSAgICB7Ci0gICAgICBMaXNwX09iamVjdCBzcGVjaWZpZWRfYmcKLQk9IGltYWdlX3NwZWNf
dmFsdWUgKGltZy0+c3BlYywgUUNiYWNrZ3JvdW5kLCBOVUxMKTsKLQotICAgICAgLyogSWYgdGhl
IHVzZXIgc3BlY2lmaWVkIGEgY29sb3IsIHRyeSB0byB1c2UgaXQ7IGlmIG5vdCwgdXNlIHRoZQot
CSBjdXJyZW50IGZyYW1lIGJhY2tncm91bmQsIGlnbm9yaW5nIGFueSBkZWZhdWx0IGJhY2tncm91
bmQKLQkgY29sb3Igc2V0IGJ5IHRoZSBpbWFnZS4gICovCi0gICAgICBpZiAoU1RSSU5HUCAoc3Bl
Y2lmaWVkX2JnKSkKLQlGUkFNRV9URVJNSU5BTCAoZiktPmRlZmluZWRfY29sb3JfaG9vayAoZiwK
LQkJCQkJCVNTREFUQSAoc3BlY2lmaWVkX2JnKSwKLQkJCQkJCSZiZ19jb2xvciwKLQkJCQkJCWZh
bHNlLAotCQkJCQkJZmFsc2UpOwotICAgICAgZWxzZQotCUZSQU1FX1RFUk1JTkFMIChmKS0+cXVl
cnlfZnJhbWVfYmFja2dyb3VuZF9jb2xvciAoZiwgJmJnX2NvbG9yKTsKLSAgICAgIGJnX2NvbG9y
LnJlZCAgID4+PSA4OwotICAgICAgYmdfY29sb3IuZ3JlZW4gPj49IDg7Ci0gICAgICBiZ19jb2xv
ci5ibHVlICA+Pj0gODsKKyAgaWYgKGZlYXR1cmVzLmhhc19hbHBoYQorICAgICAgJiYgIWltYWdl
X2NyZWF0ZV94X2ltYWdlX2FuZF9waXhtYXAgKGYsIGltZywgd2lkdGgsIGhlaWdodCwgMSwKKwkJ
CQkJICAgJm1hc2tfaW1nLCB0cnVlKSkKKyAgICB7CisgICAgICBpbWFnZV9kZXN0cm95X3hfaW1h
Z2UgKHhpbWcpOworICAgICAgaW1hZ2VfY2xlYXJfaW1hZ2VfMSAoZiwgaW1nLCBDTEVBUl9JTUFH
RV9QSVhNQVApOworICAgICAgZ290byB3ZWJwX2Vycm9yMjsKICAgICB9CiAKLSAgLyogRmlsbCB0
aGUgWCBpbWFnZSBmcm9tIFdlYlAgZGF0YS4gICovCi0KKyAgLyogRmlsbCB0aGUgWCBpbWFnZSBh
bmQgbWFzayBmcm9tIFdlYlAgZGF0YS4gICovCiAgIGluaXRfY29sb3JfdGFibGUgKCk7CiAKICAg
aW1nLT5jb3JuZXJzW1RPUF9DT1JORVJdID0gMDsKQEAgLTEwNTA2LDI0ICsxMDQzNiwxNiBAQCB3
ZWJwX2xvYWQgKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGltYWdlICppbWcpCiAgICAgewogICAg
ICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsgKyt4KQogCXsKLQkgIGludCByLCBnLCBiOwot
CSAgLyogVGhlIFdlYlAgYWxwaGEgY2hhbm5lbCBhbGxvd3MgMjU2IGxldmVscyBvZiBwYXJ0aWFs
Ci0JICAgICB0cmFuc3BhcmVuY3kuICBCbGVuZCBpdCB3aXRoIHRoZSBiYWNrZ3JvdW5kIG1hbnVh
bGx5LiAgKi8KKwkgIGludCByID0gKnArKyA8PCA4OworCSAgaW50IGcgPSAqcCsrIDw8IDg7CisJ
ICBpbnQgYiA9ICpwKysgPDwgODsKKwkgIFBVVF9QSVhFTCAoeGltZywgeCwgeSwgbG9va3VwX3Jn
Yl9jb2xvciAoZiwgciwgZywgYikpOwogCSAgaWYgKGZlYXR1cmVzLmhhc19hbHBoYSB8fCBhbmlt
KQogCSAgICB7Ci0JICAgICAgZmxvYXQgYSA9IChmbG9hdCkgcFszXSAvIFVJTlQ4X01BWDsKLQkg
ICAgICByID0gKGludCkoYSAqIHBbMF0gKyAoMSAtIGEpICogYmdfY29sb3IucmVkKSAgIDw8IDg7
Ci0JICAgICAgZyA9IChpbnQpKGEgKiBwWzFdICsgKDEgLSBhKSAqIGJnX2NvbG9yLmdyZWVuKSA8
PCA4OwotCSAgICAgIGIgPSAoaW50KShhICogcFsyXSArICgxIC0gYSkgKiBiZ19jb2xvci5ibHVl
KSAgPDwgODsKLQkgICAgICBwICs9IDQ7Ci0JICAgIH0KLQkgIGVsc2UKLQkgICAgewotCSAgICAg
IHIgPSAqcCsrIDw8IDg7Ci0JICAgICAgZyA9ICpwKysgPDwgODsKLQkgICAgICBiID0gKnArKyA8
PCA4OworCSAgICAgIGlmIChtYXNrX2ltZykKKwkJUFVUX1BJWEVMIChtYXNrX2ltZywgeCwgeSwg
KnAgPiAwID8gKnAgOiBQSVhfTUFTS19SRVRBSU4pOworCSAgICAgICsrcDsKIAkgICAgfQotCSAg
UFVUX1BJWEVMICh4aW1nLCB4LCB5LCBsb29rdXBfcmdiX2NvbG9yIChmLCByLCBnLCBiKSk7CiAJ
fQogICAgIH0KIApAQCAtMTA1MzYsNiArMTA0NTgsMTYgQEAgd2VicF9sb2FkIChzdHJ1Y3QgZnJh
bWUgKmYsIHN0cnVjdCBpbWFnZSAqaW1nKQogICAvKiBQdXQgeGltZyBpbnRvIHRoZSBpbWFnZS4g
ICovCiAgIGltYWdlX3B1dF94X2ltYWdlIChmLCBpbWcsIHhpbWcsIDApOwogCisgICAgLyogU2Ft
ZSBmb3IgdGhlIG1hc2suICAqLworICBpZiAobWFza19pbWcpCisgICAgeworICAgICAgLyogRmls
bCBpbiB0aGUgYmFja2dyb3VuZF90cmFuc3BhcmVudCBmaWVsZCB3aGlsZSB3ZSBoYXZlIHRoZQor
CSBtYXNrIGhhbmR5LiAgQ2FzdGluZyBhdm9pZHMgYSBHQ0Mgd2FybmluZy4gICovCisgICAgICBp
bWFnZV9iYWNrZ3JvdW5kX3RyYW5zcGFyZW50IChpbWcsIGYsIChFbWFjc19QaXhfQ29udGV4dClt
YXNrX2ltZyk7CisKKyAgICAgIGltYWdlX3B1dF94X2ltYWdlIChmLCBpbWcsIG1hc2tfaW1nLCAx
KTsKKyAgICB9CisKICAgaW1nLT53aWR0aCA9IHdpZHRoOwogICBpbWctPmhlaWdodCA9IGhlaWdo
dDsKIApAQCAtMTIwNDcsMTYgKzExOTc5LDEzIEBAIHN2Z19sb2FkX2ltYWdlIChzdHJ1Y3QgZnJh
bWUgKmYsIHN0cnVjdCBpbWFnZSAqaW1nLCBjaGFyICpjb250ZW50cywKICAgICAvKiBUaGUgd3Jh
cHBlciBzZXRzIHRoZSBmb3JlZ3JvdW5kIGNvbG9yLCB3aWR0aCBhbmQgaGVpZ2h0LCBhbmQKICAg
ICAgICB2aWV3Qm94IG11c3QgY29udGFpbiB0aGUgZGltZW5zaW9ucyBvZiB0aGUgb3JpZ2luYWwg
aW1hZ2UuICBJdAogICAgICAgIGFsc28gZHJhd3MgYSByZWN0YW5nbGUgb3ZlciB0aGUgd2hvbGUg
c3BhY2UsIHNldCB0byB0aGUKLSAgICAgICBiYWNrZ3JvdW5kIGNvbG9yLCBiZWZvcmUgaW5jbHVk
aW5nIHRoZSBvcmlnaW5hbCBpbWFnZS4gIFRoaXMKLSAgICAgICBhY3RzIHRvIHNldCB0aGUgYmFj
a2dyb3VuZCBjb2xvciwgaW5zdGVhZCBvZiBsZWF2aW5nIGl0Ci0gICAgICAgdHJhbnNwYXJlbnQu
ICAqLworICAgICAgIGJhY2tncm91bmQgY29sb3IsIGJlZm9yZSBpbmNsdWRpbmcgdGhlIG9yaWdp
bmFsIGltYWdlLiAqLwogICAgIGNvbnN0IGNoYXIgKndyYXBwZXIgPQogICAgICAgIjxzdmcgeG1s
bnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgIgogICAgICAgInhtbG5z
OnhpPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZVwiICIKICAgICAgICJzdHlsZT1c
ImNvbG9yOiAjJTA2WDsgZmlsbDogY3VycmVudENvbG9yO1wiICIKICAgICAgICJ3aWR0aD1cIiVk
XCIgaGVpZ2h0PVwiJWRcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiICIKICAgICAgICJ2
aWV3Qm94PVwiMCAwICVmICVmXCI+IgotICAgICAgIjxyZWN0IHdpZHRoPVwiMTAwJSVcIiBoZWln
aHQ9XCIxMDAlJVwiIGZpbGw9XCIjJTA2WFwiLz4iCiAgICAgICAiPHhpOmluY2x1ZGUgaHJlZj1c
ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsJXNcIj48L3hpOmluY2x1ZGU+IgogICAgICAgIjwv
c3ZnPiI7CiAKQEAgLTEyMDkyLDcgKzEyMDIxLDYgQEAgc3ZnX2xvYWRfaW1hZ2UgKHN0cnVjdCBm
cmFtZSAqZiwgc3RydWN0IGltYWdlICppbWcsIGNoYXIgKmNvbnRlbnRzLAogICAgIGlmIChidWZm
ZXJfc2l6ZSA8PSBzbnByaW50ZiAod3JhcHBlZF9jb250ZW50cywgYnVmZmVyX3NpemUsIHdyYXBw
ZXIsCiAJCQkJIGZvcmVncm91bmQgJiAweEZGRkZGRiwgd2lkdGgsIGhlaWdodCwKIAkJCQkgdmll
d2JveF93aWR0aCwgdmlld2JveF9oZWlnaHQsCi0JCQkJIGJhY2tncm91bmQgJiAweEZGRkZGRiwK
IAkJCQkgU1NEQVRBIChlbmNvZGVkX2NvbnRlbnRzKSkpCiAgICAgICBnb3RvIHJzdmdfZXJyb3I7
CiAKQEAgLTEyMTczLDEzICsxMjEwMSwyMSBAQCBzdmdfbG9hZF9pbWFnZSAoc3RydWN0IGZyYW1l
ICpmLCBzdHJ1Y3QgaW1hZ2UgKmltZywgY2hhciAqY29udGVudHMsCiAKICAgewogICAgIC8qIFRy
eSB0byBjcmVhdGUgYSB4IHBpeG1hcCB0byBob2xkIHRoZSBzdmcgcGl4bWFwLiAgKi8KLSAgICBF
bWFjc19QaXhfQ29udGFpbmVyIHhpbWc7CisgICAgRW1hY3NfUGl4X0NvbnRhaW5lciB4aW1nLCBt
YXNrX2ltZyA9IE5VTEw7CiAgICAgaWYgKCFpbWFnZV9jcmVhdGVfeF9pbWFnZV9hbmRfcGl4bWFw
IChmLCBpbWcsIHdpZHRoLCBoZWlnaHQsIDAsICZ4aW1nLCAwKSkKICAgICAgIHsKIAlnX29iamVj
dF91bnJlZiAocGl4YnVmKTsKIAlyZXR1cm4gZmFsc2U7CiAgICAgICB9CiAKKyAgaWYgKCFpbWFn
ZV9jcmVhdGVfeF9pbWFnZV9hbmRfcGl4bWFwIChmLCBpbWcsIHdpZHRoLCBoZWlnaHQsIDEsCisJ
CQkJCSAgICZtYXNrX2ltZywgdHJ1ZSkpCisgICAgeworICAgICAgaW1hZ2VfZGVzdHJveV94X2lt
YWdlICh4aW1nKTsKKyAgICAgIGltYWdlX2NsZWFyX2ltYWdlXzEgKGYsIGltZywgQ0xFQVJfSU1B
R0VfUElYTUFQKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICBpbml0X2NvbG9y
X3RhYmxlICgpOwogCiAgICAgLyogVGhpcyBsb29wIGhhbmRsZXMgb3BhY2l0eSB2YWx1ZXMsIHNp
bmNlIEVtYWNzIGFzc3VtZXMKQEAgLTEyMTk1LDkgKzEyMTMxLDEzIEBAIHN2Z19sb2FkX2ltYWdl
IChzdHJ1Y3QgZnJhbWUgKmYsIHN0cnVjdCBpbWFnZSAqaW1nLCBjaGFyICpjb250ZW50cywKIAkg
ICAgaW50IGJsdWUgICAgPSAqcGl4ZWxzKys7CiAKICAgICAgICAgICAgIC8qIFNraXAgb3BhY2l0
eS4gICovCi0JICAgIHBpeGVscysrOworCSAgICBpbnQgb3BhY2l0eSA9ICpwaXhlbHMrKzsKIAog
CSAgICBQVVRfUElYRUwgKHhpbWcsIHgsIHksIGxvb2t1cF9yZ2JfY29sb3IgKGYsIHJlZCA8PCA4
LCBncmVlbiA8PCA4LCBibHVlIDw8IDgpKTsKKworCQlpZiAobWFza19pbWcpCisJCQlQVVRfUElY
RUwgKG1hc2tfaW1nLCB4LCB5LCBvcGFjaXR5ID4gMCA/IG9wYWNpdHkgOiBQSVhfTUFTS19SRVRB
SU4pOworCiAJICB9CiAKIAlwaXhlbHMgKz0gcm93c3RyaWRlIC0gNCAqIHdpZHRoOwpAQCAtMTIy
MjAsNiArMTIxNjAsMTYgQEAgc3ZnX2xvYWRfaW1hZ2UgKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0
IGltYWdlICppbWcsIGNoYXIgKmNvbnRlbnRzLAogCiAgICAgLyogUHV0IHhpbWcgaW50byB0aGUg
aW1hZ2UuICAqLwogICAgIGltYWdlX3B1dF94X2ltYWdlIChmLCBpbWcsIHhpbWcsIDApOworCisg
ICAgLyogU2FtZSBmb3IgdGhlIG1hc2suICAqLworICAgIGlmIChtYXNrX2ltZykKKyAgICAgIHsK
KwkvKiBGaWxsIGluIHRoZSBiYWNrZ3JvdW5kX3RyYW5zcGFyZW50IGZpZWxkIHdoaWxlIHdlIGhh
dmUgdGhlCisJICAgbWFzayBoYW5keS4gIENhc3RpbmcgYXZvaWRzIGEgR0NDIHdhcm5pbmcuICAq
LworCWltYWdlX2JhY2tncm91bmRfdHJhbnNwYXJlbnQgKGltZywgZiwgKEVtYWNzX1BpeF9Db250
ZXh0KW1hc2tfaW1nKTsKKworCWltYWdlX3B1dF94X2ltYWdlIChmLCBpbWcsIG1hc2tfaW1nLCAx
KTsKKyAgICAgIH0KICAgfQogCiAgIGVhc3N1bWUgKGVyciA9PSBOVUxMKTsK
--000000000000393c07060d17a79d--




Acknowledgement sent to Qiutum <zh4710jj@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#67968; 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: Sat, 20 Jan 2024 12:30:02 UTC

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