GNU bug report logs - #58271
29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully

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: 조성빈 <goranmoomin@HIDDEN>; Keywords: patch; dated Mon, 3 Oct 2022 14:20:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 58271) by debbugs.gnu.org; 25 Nov 2022 01:26:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 24 20:26:28 2022
Received: from localhost ([127.0.0.1]:60890 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oyNU3-0000XX-RZ
	for submit <at> debbugs.gnu.org; Thu, 24 Nov 2022 20:26:28 -0500
Received: from mail-oa1-f51.google.com ([209.85.160.51]:44865)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1oyNU2-0000XI-U0
 for 58271 <at> debbugs.gnu.org; Thu, 24 Nov 2022 20:26:27 -0500
Received: by mail-oa1-f51.google.com with SMTP id
 586e51a60fabf-142306beb9aso3575988fac.11
 for <58271 <at> debbugs.gnu.org>; Thu, 24 Nov 2022 17:26:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 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=I8mj+8Dw/L1CTUK1lpeW9SiP3c4DS09cLu/G68i3QCw=;
 b=lVohL1E8epq7yK04W4YMEWxxcuexbp5w8hhK8bmrXveXIMAu5PDUFiRSppieKEZbUm
 I8NwZQvDFkuPDWss9IoTHVk16INkhTRs7aD/d0thhmiO4NHqE0jWCjPrdHI6pyqygNhl
 vprdqIPH4yraQVcerQDYiYZwH6rgUY8rfhKYtQF96FO9PSR1D8RL1aX2Ub3SBA7ZrNnY
 YliON+jrhjY8Ow684Qg3rRoZE6Gh6rX3KrcDDLRwxWqsAVd8x85B8mIguOhozMz8uCQX
 VCmiFkQqz3xm1Aaqyds9ZqSGsl9m8D0EEvbp/FGg2Jo61Yy2YrvFtiiUS0y8nOTYxj3/
 cMjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 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=I8mj+8Dw/L1CTUK1lpeW9SiP3c4DS09cLu/G68i3QCw=;
 b=SUBwWjSs9Jz2La6o9apSCxt5KRLUXkT1LVv8EVmrqmCsui1P8RYEAWJb5knzbsTacn
 76SYxICvyWdt9ht7iOef0abxGARCyKFnNS8XW/62OtyXHc639APmT+bRqKFJopzX5dwa
 8b9ir//qdzyAc+ebIR6AfB+U0rxmtB5m4Bf6ASRIWiQvqb5lAulT29AKNhyflnbtMzZu
 VL1x3lx/H1jXmJ9HYj1tN3c8jBvKNIXoSwT+1J1DQ/9WsM4XxW9xYsVoiZyVc5AOAs9P
 x0r0wMY1cAxf85/4vQzH5JTSqNPSuYhzFcnwGS/5TyOWvz2snx+mgz+TbqRNMm3ETudq
 yr6A==
X-Gm-Message-State: ANoB5pkjbvem5GdpvxGX98+6te6cfpsyQ19bjyjFdyaEIsGZK1k5OISN
 fU9o6g4IFfH3m8T9IhADouEWKIgGtqjVvuOqUSQ=
X-Google-Smtp-Source: AA0mqf6/egU3fE7UC3kaDtSe29Suy1LZXOsywlD9Qbz5Xg3Nf/ep+KME3AYN0wqIx42rsoa0jw5mfGEW209ObECXKuE=
X-Received: by 2002:a05:6870:4995:b0:143:522a:ebcc with SMTP id
 ho21-20020a056870499500b00143522aebccmr2906948oab.199.1669339581263; Thu, 24
 Nov 2022 17:26:21 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Thu, 24 Nov 2022 17:26:20 -0800
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <D75F5E89-B57D-4018-839A-222B6BDF000B@HIDDEN> (Sungbin Jo's
 message of "Tue, 4 Oct 2022 11:03:28 +0900")
References: <3B2D7E85-0137-4460-B182-F7F5F39A192E@HIDDEN>
 <87czb86b4g.fsf@HIDDEN> <87r0zo1l5e.fsf@HIDDEN>
 <D75F5E89-B57D-4018-839A-222B6BDF000B@HIDDEN>
X-Hashcash: 1:20:221125:larsi@HIDDEN::IP+3tUTew5Ttw1hg:6kUF
MIME-Version: 1.0
Date: Thu, 24 Nov 2022 17:26:20 -0800
Message-ID: <CADwFkmkEcYF02NCztz=cZqQ=tXmEpPCvaxqTtu8Oc4cZcgn3JA@HIDDEN>
Subject: Re: bug#58271: 29.0.50;
 [PATCH] Handle sharing Cocoa xwidgets more gracefully
To: Sungbin Jo <goranmoomin@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 58271
Cc: Po Lu <luangruo@HIDDEN>, 58271 <at> debbugs.gnu.org,
 Lars Ingebrigtsen <larsi@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 (-)

Sungbin Jo <goranmoomin@HIDDEN> writes:

> 2022. 10. 4. =EC=98=A4=EC=A0=84 9:34, Po Lu <luangruo@HIDDEN> =EC=9E=
=91=EC=84=B1:
>
>> Thanks; since you seem to be the original author of the xwidget code on
>> Mac OS, could you please fix the crash there when an xwidget is deleted
>> but remains on-screen?
>
> I=E2=80=99ve continued on this (with some questions) on emacs-devel.
>
>> Some minor formatting comments on the patch below:
>
> Updated patch attached.

Po Lu, is this patch good to go?  It seems like your comments were all
addressed?  Thanks in advance.




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

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


Received: (at 58271) by debbugs.gnu.org; 11 Nov 2022 13:27:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 11 08:27:56 2022
Received: from localhost ([127.0.0.1]:45318 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1otU4a-0002nQ-0Z
	for submit <at> debbugs.gnu.org; Fri, 11 Nov 2022 08:27:56 -0500
Received: from mail-oa1-f51.google.com ([209.85.160.51]:37617)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1otU4Y-0002nC-96
 for 58271 <at> debbugs.gnu.org; Fri, 11 Nov 2022 08:27:54 -0500
Received: by mail-oa1-f51.google.com with SMTP id
 586e51a60fabf-12c8312131fso5414363fac.4
 for <58271 <at> debbugs.gnu.org>; Fri, 11 Nov 2022 05:27:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 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=M6Kqlb4jxzm2iYu9cMU+BtoxQvcgsyFlrU/hvlx9lnI=;
 b=psyAvfSUEmt7l/y0WUU0AvNKZOjpwzZoGawsf97pu9lGmMgK9yLqmYPOz3WGw8BTwO
 GpUjguvwsGPakFRrTCTHEeEuKhwD18nfdKrpEXv44HnoUcG7W8DQzfLICwq+Zzqni30J
 tam3tzSATfX5QhR+f83Bq4pWNvaQy9PgDXW9T0gty0lbXSVX/F1h++PEz7NFOzh9DvNC
 pW9rCdNhNLF6Gd4RG4ZYlibDW+DcdlthXGpZPAbkzx8SGbty/RvqwB3N23ygdHRn6qPX
 D1C9mxsXmo2n3D+ZvwxYTNafVOdVUlrfmzb0+pvZ+Pbld45AYU4eR21ZDvPYQyI8jLz6
 CzJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 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=M6Kqlb4jxzm2iYu9cMU+BtoxQvcgsyFlrU/hvlx9lnI=;
 b=H4yzp2oKQlqpyWuSyrZ/hAIGp+RqN+Cw8DK0f82gTTcQtPiVX83cLAQiDna/4EhnSd
 mBDQFjzhYcmh3i5EiGFrGt7DjdXqiVJiycsDvzk7jlWdE13oKBZ+ghyqFoCdlqV+AR1I
 /K2krHgwry8PMPjDD1dUm1/cTxNRQEqlGbPyX2Ofw9MGbUzma5QQJM811OwbqUYT0SGU
 uOqOpFPP+9+q+bZtGCLepEC6j+nVpo32rCfAyhhLCiHothduTyzocyq5aHKIoHc/yFFr
 GHEoDN69baHtiqS/ave42ZANIGzSu2woGKvJw2FynGfno1hxdQlpiqG9rVwLWn9/CMXv
 WEQg==
X-Gm-Message-State: ANoB5plKOqardwZVYe7TSz4XaeTVMMeKW0VxFIRx0meW2BiasDWsfjqU
 Da3g5rx0pb0oLk98aOMgbYTq4fiF6Lkuii7FAHU=
X-Google-Smtp-Source: AA0mqf4JoaP3ByFB97jhotfJ1iaN6BGwM0cVW7LVtBWFVh6zn8YrokWfn4H4kTZpmOPyoj2fhxFqGBUW5CHW6UGqxG0=
X-Received: by 2002:a05:6871:480a:b0:12b:fbe7:b793 with SMTP id
 qc10-20020a056871480a00b0012bfbe7b793mr826254oab.92.1668173268699; Fri, 11
 Nov 2022 05:27:48 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Fri, 11 Nov 2022 05:27:48 -0800
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <07098357-A63E-441F-B428-8AEB948882E6@HIDDEN> (Sungbin Jo's
 message of "Tue, 4 Oct 2022 16:25:11 +0900")
References: <87czb86b4g.fsf@HIDDEN>
 <276AB2FF-9AD1-48C4-BD87-FD2890E82762@HIDDEN>
 <87v8p04h11.fsf@HIDDEN> <83o7usw0cv.fsf@HIDDEN>
 <07098357-A63E-441F-B428-8AEB948882E6@HIDDEN>
X-Hashcash: 1:20:221111:eliz@HIDDEN::/Upe2xEQMKGnPHqb:45nm
MIME-Version: 1.0
Date: Fri, 11 Nov 2022 05:27:48 -0800
Message-ID: <CADwFkmnquPkYWjDGa63re_5U05xOK=mjgcZN_VZeVxcTY3Ewsw@HIDDEN>
Subject: Re: bug#58271: 29.0.50;
 [PATCH] Handle sharing Cocoa xwidgets more gracefully
To: Sungbin Jo <goranmoomin@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 58271
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@HIDDEN>,
 Lars Ingebrigtsen <larsi@HIDDEN>, Eli Zaretskii <eliz@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 (-)

Sungbin Jo <goranmoomin@HIDDEN> writes:

> 2022. 10. 4. =EC=98=A4=ED=9B=84 3:48, Eli Zaretskii <eliz@HIDDEN> =EC=9E=
=91=EC=84=B1:
>
>> I agree, but would you please inform copyright-clerk@HIDDEN of your
>> new email address?
>
> Done.
>
> 2022. 10. 4. =EC=98=A4=ED=9B=84 1:42, Stefan Kangas <stefankangas@HIDDEN=
om> =EC=9E=91=EC=84=B1:
>
>> You could also consider adding an entry to the .mailmap file.
>
> Would it be acceptable for me to add the entry on this patch? If that=E2=
=80=99s
> the case, I=E2=80=99d like to do on my next patch.

(Sorry; it seems that I missed replying to this part.)

I think it's better to separate out the .mailmap change, so feel free to
send a patch for that.  Thanks.




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

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


Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 07:25:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 04 03:25:42 2022
Received: from localhost ([127.0.0.1]:52276 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofcJC-0004hH-57
	for submit <at> debbugs.gnu.org; Tue, 04 Oct 2022 03:25:42 -0400
Received: from mail-smail-vm101.daum.net ([211.231.106.176]:53918
 helo=mail-smail-vm101.hanmail.net)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <goranmoomin@HIDDEN>) id 1ofcJ9-0004h1-1w
 for 58271 <at> debbugs.gnu.org; Tue, 04 Oct 2022 03:25:40 -0400
Received: from dmail-hmailsmtp-ayvm01 ([10.93.105.31])
 by mail-smail-vm101.hanmail.net (8.13.8/8.9.1) with SMTP id 2947PMlT032763;
 Tue, 4 Oct 2022 16:25:22 +0900
X-Kakaomail-MID: Cl1pHwAAK+QAAAGDoeKL0QAD9mM=
X-Hermes-Message-Id: q94GPMDA2542155523
X-Originating-IP: 147.46.174.125
Received: from mail-qpsmtp-vm17 ([10.61.241.164]) by hermes of
 dmail-hmailsmtp-ayvm01 (10.93.105.31) with ESMTP id q94GPMDA2542155523;
 Tue, 04 Oct 2022 16:25:22 +0900 (KST)
Received: from [147.46.174.125] (HELO smtpclient.apple) (147.46.174.125)
 by  (8.12.9/8.9.1) with ESMTPA; Tue, 04 Oct 2022 16:25:22 +0900
Authentication-Results: mail-qpsmtp-vm17;
 auth=pass (plain) smtp.auth=goranmoomin@HIDDEN
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.92\))
Subject: Re: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more
 gracefully
From: Sungbin Jo <goranmoomin@HIDDEN>
In-Reply-To: <83o7usw0cv.fsf@HIDDEN>
Date: Tue, 4 Oct 2022 16:25:11 +0900
Content-Transfer-Encoding: quoted-printable
Message-Id: <07098357-A63E-441F-B428-8AEB948882E6@HIDDEN>
References: <87czb86b4g.fsf@HIDDEN>
 <276AB2FF-9AD1-48C4-BD87-FD2890E82762@HIDDEN> <87v8p04h11.fsf@HIDDEN>
 <83o7usw0cv.fsf@HIDDEN>
To: 58271 <at> debbugs.gnu.org
X-Mailer: Apple Mail (2.3731.200.92)
X-HM-UT: FhzuMO7fDyY9Q9TRl8Wl2jOPNRA+bHyTw3HQj6tM3jc=
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  2022. 10. 4. 오후 3:48, Eli Zaretskii 작성: > I agree,
    but would you please inform copyright-clerk@HIDDEN of your > new email address?
    Done. 
 
 Content analysis details:   (1.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  1.3 RCVD_IN_VALIDITY_RPBL  RBL: Relay in Validity RPBL,
                             https://senderscore.org/blocklistlookup/
                           [211.231.106.176 listed in bl.score.senderscore.com]
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (goranmoomin[at]daum.net)
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
X-Debbugs-Envelope-To: 58271
Cc: Po Lu <luangruo@HIDDEN>, Lars Ingebrigtsen <larsi@HIDDEN>,
 Eli Zaretskii <eliz@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: 0.3 (/)

2022. 10. 4. =EC=98=A4=ED=9B=84 3:48, Eli Zaretskii <eliz@HIDDEN> =
=EC=9E=91=EC=84=B1:

> I agree, but would you please inform copyright-clerk@HIDDEN of your
> new email address?

Done.

2022. 10. 4. =EC=98=A4=ED=9B=84 1:42, Stefan Kangas =
<stefankangas@HIDDEN> =EC=9E=91=EC=84=B1:

> You could also consider adding an entry to the .mailmap file.


Would it be acceptable for me to add the entry on this patch? If =
that=E2=80=99s
the case, I=E2=80=99d like to do on my next patch.=




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

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


Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 06:48:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 04 02:48:30 2022
Received: from localhost ([127.0.0.1]:52190 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofbjC-0003kO-6Y
	for submit <at> debbugs.gnu.org; Tue, 04 Oct 2022 02:48:30 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50992)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1ofbjA-0003kB-HD
 for 58271 <at> debbugs.gnu.org; Tue, 04 Oct 2022 02:48:28 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:34940)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ofbj4-0008W4-4h; Tue, 04 Oct 2022 02:48:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=0P+ooAg6sR36QefQpbYpxjSOJpHKtgjYv0BlpLBZ1BU=; b=GYCFbo6LI3eQ1AKsieyT
 K1cUYCfkLoMndQQIi6dAybEVx2blsT8zRIk0v45xkSXh1tOL3W1WBRb4R15ziRLwnWmjnZpduB0bV
 duf8VtI4S7FlN1NKcIVvQvJ6W8sTro39tF7ed8MLa9gs25He4q+6SwYna7JLRk3C7Hzo8ZxXNwpIr
 C0yUcFdQ6U8R1/SSWq+vBRfCmVM31rL6CVmoaAE8ClqmmnLxuUewFZY4wbZQUFPspC2wC3DH4tPmd
 svrEr3CiA5+JFxz8R9n6CRcdSmy3G6iafxSZ2wOyotJcMx391kcQU+Uso8YMXfRLvZTNQr5bbE/vh
 ySa2xF3XGNU4UQ==;
Received: from [87.69.77.57] (port=2584 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ofbj2-000181-HQ; Tue, 04 Oct 2022 02:48:20 -0400
Date: Tue, 04 Oct 2022 09:48:16 +0300
Message-Id: <83o7usw0cv.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
In-Reply-To: <87v8p04h11.fsf@HIDDEN> (message from Lars Ingebrigtsen on Tue, 
 04 Oct 2022 01:35:38 +0200)
Subject: Re: bug#58271: 29.0.50;
 [PATCH] Handle sharing Cocoa xwidgets more gracefully
References: <87czb86b4g.fsf@HIDDEN>
 <276AB2FF-9AD1-48C4-BD87-FD2890E82762@HIDDEN> <87v8p04h11.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 58271
Cc: goranmoomin@HIDDEN, 58271 <at> debbugs.gnu.org, luangruo@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 (---)

> Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@HIDDEN>
> From: Lars Ingebrigtsen <larsi@HIDDEN>
> Date: Tue, 04 Oct 2022 01:35:38 +0200
> 
> goranmoomin@HIDDEN writes:
> 
> > I’ve signed the paper, though I’ve used a different email address before. (I’m
> > Sungbin Jo <pcr910303 <at> icloud.com> who contributed the original Cocoa
> > xwidget patch in bug#29565.)
> >
> > Would changing my email address require going through the process again?
> 
> No, that's not necessary, but it would be convenient if the patch
> carried the name "Sungbin Jo" somewhere.  (That's not really necessary,
> either, so long as we know who's who, but it would be convenient.)

I agree, but would you please inform copyright-clerk@HIDDEN of your
new email address?  That doesn't require anything else from you, but
they will update their records, and people who look you up in the list
will have fewer doubts.

TIA




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

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


Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 04:42:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 04 00:42:22 2022
Received: from localhost ([127.0.0.1]:52103 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofZl8-0006Xl-GC
	for submit <at> debbugs.gnu.org; Tue, 04 Oct 2022 00:42:22 -0400
Received: from mail-oo1-f42.google.com ([209.85.161.42]:46592)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1ofZl6-0006XV-7y
 for 58271 <at> debbugs.gnu.org; Tue, 04 Oct 2022 00:42:20 -0400
Received: by mail-oo1-f42.google.com with SMTP id
 r136-20020a4a378e000000b004755953bc6cso8072584oor.13
 for <58271 <at> debbugs.gnu.org>; Mon, 03 Oct 2022 21:42:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date;
 bh=praVYga2TWaivdWPVW7p9vvU7zN4VmbwbxPHHXtUoUk=;
 b=mtZ5g/TJ8q3l4nlNgFmg09v3jAEL/Lhz5MshCVaEFRnU6FuJ/ohJ+dRuriuPbfu4PB
 2NYRXArM3/+CzcDiWsvUKzgXLH4kdKcIC2d73EFpyiQ9TH+ggKNyPFrNLVLDmNSEaCxT
 vDy4qjnDbgmqIkZCx6AkLL/AKJhUPgJ2qsppUMiVb67zJmTP8vVmea/HqUbaxX5Ufp50
 4wuCOp0hkCAUkuATR3vQGY6qxFAFFMvd2aQEpeFqYvFnmjLQuCYmRxypTaptClTy94zK
 kMVarFT5h/GY7IcON3BwD96TfOILpl1XkV0bWkQQYABXEnYsZ0asB1aInW5WxjCnNzaw
 7QnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 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;
 bh=praVYga2TWaivdWPVW7p9vvU7zN4VmbwbxPHHXtUoUk=;
 b=8FrBJPQNNcutLCikZ5gnJ2sOnri69r+2jv794n2wuEwi/IN0AvflV8jopGMu9JPx7G
 LRvLGqVcfOWJ/fke97Tf+zy7wxZ/vtKmh3y72taUciDsTLVRSdWQCVXPknoxRJOExj8N
 5OwffaYAp7/L6lNe3JrkoXE8pBuBU+j9Ln+xGxE7Vjsngzap17tjHtBZdpoGRMMzOV5K
 60Loz4goHHZslEemGPF8xQMqLL7WRwHAGfBc67A4joMzDkkv9dzN9UzXIfpdl2y3bQ8j
 5x/gQCv+lZYZIVH1R/TdBUXyp6gJ1yfDg79FU4TCWS6I6LN38NSlnMcvJtMX1VtmWLo4
 MTJQ==
X-Gm-Message-State: ACrzQf2jvs8wkYhRMjLt0Ybey74kUSUMECMEP36H9HjRH/pY87uvu9+q
 cS4FsK7P0jOAKqyDAjUyLPW23E9SLGSVzW29ov4=
X-Google-Smtp-Source: AMsMyM56M+5OXGAhJm88S1GM7sGeK2zKrF+bL1f+8NpNVPfbMpX2aaYO5ZM4GZWkVlNoIPERApcbPE7Wr5R/2Poxh50=
X-Received: by 2002:a9d:7c89:0:b0:655:dfb1:331c with SMTP id
 q9-20020a9d7c89000000b00655dfb1331cmr8883991otn.224.1664858533454; Mon, 03
 Oct 2022 21:42:13 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Tue, 4 Oct 2022 06:42:12 +0200
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <87v8p04h11.fsf@HIDDEN>
References: <87czb86b4g.fsf@HIDDEN>
 <276AB2FF-9AD1-48C4-BD87-FD2890E82762@HIDDEN>
 <87v8p04h11.fsf@HIDDEN>
X-Hashcash: 1:20:221004:luangruo@HIDDEN::fbk1EulaQqY8EL/d:2Ctd
MIME-Version: 1.0
Date: Tue, 4 Oct 2022 06:42:12 +0200
Message-ID: <CADwFkmkr-wHXDPn9yYNLQvEXztyUPfksN194MpsdAHzuvTbBwg@HIDDEN>
Subject: Re: bug#58271: 29.0.50;
 [PATCH] Handle sharing Cocoa xwidgets more gracefully
To: Lars Ingebrigtsen <larsi@HIDDEN>, goranmoomin@HIDDEN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 58271
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@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 (-)

Lars Ingebrigtsen <larsi@HIDDEN> writes:

> goranmoomin@HIDDEN writes:
>
>> I=E2=80=99ve signed the paper, though I=E2=80=99ve used a different emai=
l address before. (I=E2=80=99m
>> Sungbin Jo <pcr910303 <at> icloud.com> who contributed the original Coco=
a
>> xwidget patch in bug#29565.)
>>
>> Would changing my email address require going through the process again?
>
> No, that's not necessary, but it would be convenient if the patch
> carried the name "Sungbin Jo" somewhere.  (That's not really necessary,
> either, so long as we know who's who, but it would be convenient.)

You could also consider adding an entry to the .mailmap file.




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

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


Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 02:03:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 03 22:03:50 2022
Received: from localhost ([127.0.0.1]:52022 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofXHh-0002dS-Um
	for submit <at> debbugs.gnu.org; Mon, 03 Oct 2022 22:03:50 -0400
Received: from mail-smail-vm103.daum.net ([211.231.106.178]:3346
 helo=mail-smail-vm103.hanmail.net)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <goranmoomin@HIDDEN>) id 1ofXHf-0002dD-8R
 for 58271 <at> debbugs.gnu.org; Mon, 03 Oct 2022 22:03:48 -0400
Received: from dmail-hmailsmtp-ayvm01 ([10.93.105.31])
 by mail-smail-vm103.hanmail.net (8.13.8/8.9.1) with SMTP id 29423dme005130;
 Tue, 4 Oct 2022 11:03:39 +0900
X-Kakaomail-MID: Cl1pHwAAK+QAAAGDoLv/1QADo+M=
X-Hermes-Message-Id: q94B3cpXv801673404
X-Originating-IP: 147.46.174.125
Received: from mail-qpsmtp-vm13 ([10.61.241.143]) by hermes of
 dmail-hmailsmtp-ayvm01 (10.93.105.31) with ESMTP id q94B3cpXv801673404;
 Tue, 04 Oct 2022 11:03:38 +0900 (KST)
Received: from [147.46.174.125] (HELO smtpclient.apple) (147.46.174.125)
 by  (8.12.9/8.9.1) with ESMTPA; Tue, 04 Oct 2022 11:03:38 +0900
Authentication-Results: mail-qpsmtp-vm13;
 auth=pass (plain) smtp.auth=goranmoomin@HIDDEN
From: Sungbin Jo <goranmoomin@HIDDEN>
Message-Id: <D75F5E89-B57D-4018-839A-222B6BDF000B@HIDDEN>
Content-Type: multipart/mixed;
 boundary="Apple-Mail=_E88D47C8-CBFC-4A6A-B4B7-AA2E835F3386"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.92\))
Subject: Re: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more
 gracefully
Date: Tue, 4 Oct 2022 11:03:28 +0900
In-Reply-To: <87r0zo1l5e.fsf@HIDDEN>
To: Po Lu <luangruo@HIDDEN>
References: <3B2D7E85-0137-4460-B182-F7F5F39A192E@HIDDEN>
 <87czb86b4g.fsf@HIDDEN> <87r0zo1l5e.fsf@HIDDEN>
X-Mailer: Apple Mail (2.3731.200.92)
X-HM-UT: FhzuMO7fDyYQlIw+JNz/4TOPNRA+bHyTw3HQj6tM3jc=
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  2022. 10. 4. 오전 9:34, Po Lu 작성: > Thanks; since you
    seem to be the original author of the xwidget code on > Mac OS, could you
    please fix the crash there when an xwidget is deleted > but remains on-screen?
    
 
 Content analysis details:   (1.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  1.3 RCVD_IN_VALIDITY_RPBL  RBL: Relay in Validity RPBL,
                             https://senderscore.org/blocklistlookup/
                           [211.231.106.178 listed in bl.score.senderscore.com]
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (goranmoomin[at]daum.net)
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
X-Debbugs-Envelope-To: 58271
Cc: 58271 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi@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 (/)


--Apple-Mail=_E88D47C8-CBFC-4A6A-B4B7-AA2E835F3386
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

2022. 10. 4. =EC=98=A4=EC=A0=84 9:34, Po Lu <luangruo@HIDDEN> =EC=9E=91=
=EC=84=B1:

> Thanks; since you seem to be the original author of the xwidget code =
on
> Mac OS, could you please fix the crash there when an xwidget is =
deleted
> but remains on-screen?

I=E2=80=99ve continued on this (with some questions) on emacs-devel.

> Some minor formatting comments on the patch below:

Updated patch attached.

>> From: VirtualBuddy <virtualbuddy@HIDDEN>
>=20
> Is this a real email?

No, it was a mistake. Updated.

>> * etc/NEWS: Mention fix.
>=20
> Since this is a bug fix, I see no reason to mention it in NEWS.  In
> addition, even if it warranted a mention, it ought to be placed under
> "Changes in Emacs 29.1 on Non-Free Operating Systems".

I did place it under the =E2=80=9CNon-Free Operating Systems=E2=80=9D =
part, but I removed them.

>> * src/nsxwidget.h: Remove now-unused NSView subclasses and functions.
>> * src/nsxwidget.m:
>> ([XwWebView mouseDown:], [XwWebView mouseUp:], [XwWebView keyDown:])
>> ([XwWebView userContentController:didReceiveScriptMessage:]): Rename =
field of
>> xwidget_view from emacswindow to emacsFrame to better match emacs =
terminology.
>> (nsxwidget_init, nsxwidget_resize_view, =
nsxwidget_move_widget_in_view):
>> Simplify logic by removing field xwWindow and using the xvWindow as =
the
>> container.
>> (nsxwidget_resize, XwWindow, XvWindow): Remove now-unused code.
>> (nsxwidget_init_view, nsxwidget_delete_view): Handle creating =
non-primary
>> xwidget views.
>> (nsxwidget_show_view, nsxwidget_hide_view): Remove poor hack to hide =
views.
>> * src/xwidget.c (xwidget_init_view): Update formatting.
>> (x_draw_xwidget_glyph_string): Handle displaying non-primary xwidget =
views and
>> remove previous message warning.
>> (Fxwidget_resize): Remove useless call to nsxwidget_resize, as the =
subsequent
>> redisplay handles them via nsxwidget_resize_view.
>> * src/xwidget.h (struct xwidget): Remove field xwWindow and update =
comments
>> to be more accurate.
>> (struct xwidget_view): Add field xvWidget and rename field =
emacswindow to
>> emacsFrame to better match emacs terminology.
>=20
> Please make sure that each line of the commit message is no longer =
than
> 64 characters in length.

Done.

>> {
>> -  [self.xw->xv->emacswindow mouseDown:event];
>> +  [self.xw->xv->emacsFrame mouseDown:event];
>>   [super mouseDown:event];
>> }
>>=20
>> - (void)mouseUp:(NSEvent *)event
>> {
>> -  [self.xw->xv->emacswindow mouseUp:event];
>> +  [self.xw->xv->emacsFrame mouseUp:event];
>>   [super mouseUp:event];
>> }
>=20
> The "emacswindow" field should actually be named "frame", IMHO.

I=E2=80=99m not sure I follow; that=E2=80=99s exactly the rename I=E2=80=99=
ve done. Or are you
suggesting that I should use =E2=80=98frame=E2=80=99 instead of =
=E2=80=98emacsFrame=E2=80=99? In any
case, I=E2=80=99m fine with either.

>> +    {
>> +      NSTextField *warningLabel =3D [NSTextField =
labelWithString:@"Cocoa Xwidgets do not support sharing widgets."];
>=20
> This line is too long.  Please find a way to make it fit in 80 =
columns.

Done.

>> +      if (xw->xv =3D=3D xv)
>> +        {
>> +          xw->xv =3D NULL; /* Now model has no view.  */
>> +        }
>=20
> Please remove the unnecessary braces here.

Done.


--Apple-Mail=_E88D47C8-CBFC-4A6A-B4B7-AA2E835F3386
Content-Disposition: attachment;
	filename=0001-Handle-sharing-Cocoa-xwidgets-more-gracefully.patch
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name="0001-Handle-sharing-Cocoa-xwidgets-more-gracefully.patch"
Content-Transfer-Encoding: quoted-printable

=46rom=202f90ceb0d2e556cad2802cdca5ef8324a8dc5523=20Mon=20Sep=2017=20=
00:00:00=202001=0AFrom:=20Sungbin=20Jo=20<goranmoomin@HIDDEN>=0ADate:=20=
Tue,=204=20Oct=202022=2008:51:33=20+0900=0ASubject:=20[PATCH]=20Handle=20=
sharing=20Cocoa=20xwidgets=20more=20gracefully=0A=0A*=20src/nsxwidget.h=20=
(nsxwidget_resize,=20XwWindow,=20XvWindow):=20Remove=0Aunused=20=
subclasses=20and=20functions.=0A*=20src/nsxwidget.m:=0A([XwWebView=20=
mouseDown:],=20[XwWebView=20mouseUp:])=0A([XwWebView=20keyDown:])=0A=
([XwWebView=20userContentController:didReceiveScriptMessage:]):=0ARename=20=
field=20of=20xwidget_view=20from=20emacswindow=20to=20emacsFrame=20to=0A=
better=20match=20emacs=20terminology.=0A(nsxwidget_init,=20=
nsxwidget_resize_view)=0A(nsxwidget_move_widget_in_view):=20Simplify=20=
logic=20by=20removing=0Afield=20xwWindow=20and=20using=20the=20xvWindow=20=
as=20the=20container.=0A(nsxwidget_resize,=20XwWindow,=20XvWindow):=20=
Remove=20unused=20subclasses=0Aand=20functions.=0A(nsxwidget_init_view,=20=
nsxwidget_delete_view):=20Handle=20creating=0Anon-primary=20xwidget=20=
views.=0A(nsxwidget_show_view,=20nsxwidget_hide_view):=20Remove=20hack=20=
to=20hide=0Aviews.=0A*=20src/xwidget.c=20(xwidget_init_view):=20Update=20=
formatting.=0A(x_draw_xwidget_glyph_string):=20Handle=20displaying=20=
non-primary=0Axwidget=20views=20and=20remove=20previous=20message=20=
warning.=0A(Fxwidget_resize):=20Remove=20useless=20call=20to=20=
nsxwidget_resize,=20as=0Athe=20subsequent=20redisplay=20handles=20them=20=
via=20nsxwidget_resize_view.=0A*=20src/xwidget.h=20(struct=20xwidget):=20=
Remove=20field=20xwWindow=20and=0Aupdate=20comments=20to=20be=20more=20=
accurate.=0A(struct=20xwidget_view):=20Add=20field=20xvWidget=20and=20=
rename=20field=0Aemacswindow=20to=20emacsFrame=20to=20better=20match=20=
emacs=20terminology.=0A---=0A=20src/nsxwidget.h=20|=2014=20--------=0A=20=
src/nsxwidget.m=20|=2086=20=
++++++++++++++++++++-----------------------------=0A=20src/xwidget.c=20=20=
=20|=2011=20++-----=0A=20src/xwidget.h=20=20=20|=2015=20++++-----=0A=204=20=
files=20changed,=2044=20insertions(+),=2082=20deletions(-)=0A=0Adiff=20=
--git=20a/src/nsxwidget.h=20b/src/nsxwidget.h=0Aindex=20=
666509744a..f7c744d405=20100644=0A---=20a/src/nsxwidget.h=0A+++=20=
b/src/nsxwidget.h=0A@@=20-42,26=20+42,12=20@@=20#define=20=
NSXWIDGET_H_INCLUDED=0A=20=0A=20/*=20Functions=20for=20xwidget=20model.=20=
=20*/=0A=20=0A-#ifdef=20__OBJC__=0A-@interface=20XwWindow=20:=20NSView=0A=
-@property=20struct=20xwidget=20*xw;=0A-@end=0A-#endif=0A-=0A=20void=20=
nsxwidget_init=20(struct=20xwidget=20*xw);=0A=20void=20nsxwidget_kill=20=
(struct=20xwidget=20*xw);=0A-void=20nsxwidget_resize=20(struct=20xwidget=20=
*xw);=0A=20Lisp_Object=20nsxwidget_get_size=20(struct=20xwidget=20*xw);=0A=
=20=0A=20/*=20Functions=20for=20xwidget=20view.=20=20*/=0A=20=0A-#ifdef=20=
__OBJC__=0A-@interface=20XvWindow=20:=20NSView=0A-@property=20struct=20=
xwidget=20*xw;=0A-@property=20struct=20xwidget_view=20*xv;=0A-@end=0A=
-#endif=0A-=0A=20void=20nsxwidget_init_view=20(struct=20xwidget_view=20=
*xv,=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20struct=20xwidget=20*xww,=0A=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20struct=20glyph_string=20=
*s,=0Adiff=20--git=20a/src/nsxwidget.m=20b/src/nsxwidget.m=0Aindex=20=
be0eba0bcb..2a6d5cdb54=20100644=0A---=20a/src/nsxwidget.m=0A+++=20=
b/src/nsxwidget.m=0A@@=20-199,13=20+199,13=20@@=20-=20=
(void)webView:(WKWebView=20*)webView=0A=20=0A=20-=20=
(void)mouseDown:(NSEvent=20*)event=0A=20{=0A-=20=20=
[self.xw->xv->emacswindow=20mouseDown:event];=0A+=20=20=
[self.xw->xv->emacsFrame=20mouseDown:event];=0A=20=20=20[super=20=
mouseDown:event];=0A=20}=0A=20=0A=20-=20(void)mouseUp:(NSEvent=20*)event=0A=
=20{=0A-=20=20[self.xw->xv->emacswindow=20mouseUp:event];=0A+=20=20=
[self.xw->xv->emacsFrame=20mouseUp:event];=0A=20=20=20[super=20=
mouseUp:event];=0A=20}=0A=20=0A@@=20-220,15=20+220,15=20@@=20-=20=
(void)keyDown:(NSEvent=20*)event=0A=20=20=20Lisp_Object=20val=20=3D=20=
buffer_local_value=20(var,=20Fcurrent_buffer=20());=0A=20=20=20if=20(!EQ=20=
(val,=20Qunbound)=20&&=20!EQ=20(val,=20Qnil))=0A=20=20=20=20=20{=0A-=20=20=
=20=20=20=20[self.window=20makeFirstResponder:self.xw->xv->emacswindow];=0A=
-=20=20=20=20=20=20[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=
=20=20=20[self.window=20makeFirstResponder:self.xw->xv->emacsFrame];=0A+=20=
=20=20=20=20=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=
=20=20return;=0A=20=20=20=20=20}=0A=20=0A=20=20=20/*=20Emacs=20handles=20=
keyboard=20events=20when=20javascript=20is=20blocked.=20=20*/=0A=20=20=20=
if=20([self.urlScriptBlocked[self.URL]=20boolValue])=0A=20=20=20=20=20{=0A=
-=20=20=20=20=20=20[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=
=20=20=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=20=20=
return;=0A=20=20=20=20=20}=0A=20=0A@@=20-237,13=20+237,13=20@@=20-=20=
(void)keyDown:(NSEvent=20*)event=0A=20=20=20=20=20=20=20if=20(error)=0A=20=
=20=20=20=20=20=20=20=20{=0A=20=20=20=20=20=20=20=20=20=20=20NSLog=20=
(@"xwHasFocus:=20%@",=20error);=0A-=20=20=20=20=20=20=20=20=20=20=
[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=20=20=20=20=20=20=
=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=20=20=20=20=
}=0A=20=20=20=20=20=20=20else=20if=20(result)=0A=20=20=20=20=20=20=20=20=20=
{=0A=20=20=20=20=20=20=20=20=20=20=20NSNumber=20*hasFocus=20=3D=20=
result;=20/*=20__NSCFBoolean=20*/=0A=20=20=20=20=20=20=20=20=20=20=20if=20=
(!hasFocus.boolValue)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=20=20=20=20=20=20=
=20=20=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=20=20=
=20=20=20=20else=0A=20=20=20=20=20=20=20=20=20=20=20=20=20[super=20=
keyDown:event];=0A=20=20=20=20=20=20=20=20=20}=0A@@=20-291,7=20+291,7=20=
@@=20-=20(void)userContentController:(WKUserContentController=20=
*)userContentController=0A=20=20=20=20=20{=0A=20=20=20=20=20=20=20/*=20=
Just=20give=20up=20focus,=20no=20relay=20"C-g"=20to=20emacs,=20another=20=
"C-g"=0A=20=20=20=20=20=20=20=20=20=20follows=20will=20be=20handled=20by=20=
emacs.=20=20*/=0A-=20=20=20=20=20=20[self.window=20=
makeFirstResponder:self.xw->xv->emacswindow];=0A+=20=20=20=20=20=20=
[self.window=20makeFirstResponder:self.xw->xv->emacsFrame];=0A=20=20=20=20=
=20}=0A=20}=0A=20=0A@@=20-437,16=20+437,10=20@@=20-=20=
(void)userContentController:(WKUserContentController=20=
*)userContentController=0A=20=20=20=20=20}];=0A=20}=0A=20=0A-/*=20Window=20=
containing=20an=20xwidget.=20=20*/=0A-=0A-@implementation=20XwWindow=0A=
--=20(BOOL)isFlipped=20{=20return=20YES;=20}=0A-@end=0A-=0A=20/*=20=
Xwidget=20model,=20macOS=20Cocoa=20part.=20=20*/=0A=20=0A=20void=0A=
-nsxwidget_init(struct=20xwidget=20*xw)=0A+nsxwidget_init=20(struct=20=
xwidget=20*xw)=0A=20{=0A=20=20=20block_input=20();=0A=20=20=20NSRect=20=
rect=20=3D=20NSMakeRect=20(0,=200,=20xw->width,=20xw->height);=0A@@=20=
-454,9=20+448,6=20@@=20-=20(BOOL)isFlipped=20{=20return=20YES;=20}=0A=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20initWithFrame:rect=0A=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
configuration:[[WKWebViewConfiguration=20alloc]=20init]=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
xwidget:xw];=0A-=20=20xw->xwWindow=20=3D=20[[XwWindow=20alloc]=0A-=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20initWithFrame:rect];=0A-=20=
=20[xw->xwWindow=20addSubview:xw->xwWidget];=0A=20=20=20xw->xv=20=3D=20=
NULL;=20/*=20for=201=20to=201=20relationship=20of=20webkit2.=20=20*/=0A=20=
=20=20unblock_input=20();=0A=20}=0A@@=20-481,22=20+472,10=20@@=20-=20=
(BOOL)isFlipped=20{=20return=20YES;=20}=0A=20=20=20=20=20=20=20=
[((XwWebView=20*)=20xw->xwWidget).urlScriptBlocked=20release];=0A=20=20=20=
=20=20=20=20[xw->xwWidget=20removeFromSuperviewWithoutNeedingDisplay];=0A=
=20=20=20=20=20=20=20[xw->xwWidget=20release];=0A-=20=20=20=20=20=20=
[xw->xwWindow=20removeFromSuperviewWithoutNeedingDisplay];=0A-=20=20=20=20=
=20=20[xw->xwWindow=20release];=0A=20=20=20=20=20=20=20xw->xwWidget=20=3D=20=
nil;=0A=20=20=20=20=20}=0A=20}=0A=20=0A-void=0A-nsxwidget_resize=20=
(struct=20xwidget=20*xw)=0A-{=0A-=20=20if=20(xw->xwWidget)=0A-=20=20=20=20=
{=0A-=20=20=20=20=20=20[xw->xwWindow=20=
setFrameSize:NSMakeSize(xw->width,=20xw->height)];=0A-=20=20=20=20=20=20=
[xw->xwWidget=20setFrameSize:NSMakeSize(xw->width,=20xw->height)];=0A-=20=
=20=20=20}=0A-}=0A-=0A=20Lisp_Object=0A=20nsxwidget_get_size=20(struct=20=
xwidget=20*xw)=0A=20{=0A@@=20-504,12=20+483,6=20@@=20-=20(BOOL)isFlipped=20=
{=20return=20YES;=20}=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20xw->xwWidget.frame.size.height);=0A=20}=0A=20=0A-/*=20Xwidget=20view,=20=
macOS=20Cocoa=20part.=20=20*/=0A-=0A-@implementation=20XvWindow=20:=20=
NSView=0A--=20(BOOL)isFlipped=20{=20return=20YES;=20}=0A-@end=0A-=0A=20=
void=0A=20nsxwidget_init_view=20(struct=20xwidget_view=20*xv,=0A=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20struct=20=
xwidget=20*xw,=0A@@=20-526,16=20+499,28=20@@=20-=20(BOOL)isFlipped=20{=20=
return=20YES;=20}=0A=20=20=20xv->clip_top=20=3D=200;=0A=20=20=20=
xv->clip_bottom=20=3D=20xw->height;=0A=20=0A-=20=20xv->xvWindow=20=3D=20=
[[XvWindow=20alloc]=0A+=20=20xv->xvWindow=20=3D=20[[NSView=20alloc]=0A=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
initWithFrame:NSMakeRect=20(x,=20y,=20xw->width,=20xw->height)];=0A-=20=20=
xv->xvWindow.xw=20=3D=20xw;=0A-=20=20xv->xvWindow.xv=20=3D=20xv;=0A=20=0A=
-=20=20xw->xv=20=3D=20xv;=20/*=20For=201=20to=201=20relationship=20of=20=
webkit2.=20=20*/=0A-=20=20[xv->xvWindow=20addSubview:xw->xwWindow];=0A+=20=
=20if=20(!xw->xv)=0A+=20=20=20=20{=0A+=20=20=20=20=20=20xw->xv=20=3D=20=
xv;=20/*=20For=201=20to=201=20relationship=20of=20webkit2.=20=20*/=0A+=20=
=20=20=20=20=20/*=20This=20seems=20like=20it=20should=20be=20retained,=20=
but=20tests=20show=20otherwise.=20=20*/=0A+=20=20=20=20=20=20=
xv->xvWidget=20=3D=20xw->xwWidget;=0A+=20=20=20=20}=0A+=20=20else=0A+=20=20=
=20=20{=0A+=20=20=20=20=20=20NSString=20*warningString=20=3D=20@"Cocoa=20=
Xwidgets=20do=20not=20support=20sharing=20widgets.";=0A+=20=20=20=20=20=20=
NSTextField=20*warningLabel=20=3D=20[NSTextField=20=
labelWithString:warningString];=0A+=20=20=20=20=20=20[warningLabel=20=
setFrameSize:NSMakeSize=20(xw->width,=20xw->height)];=0A+=20=20=20=20=20=20=
warningLabel.drawsBackground=20=3D=20YES;=0A+=20=20=20=20=20=20=
warningLabel.backgroundColor=20=3D=20[NSColor=20textBackgroundColor];=0A=
+=20=20=20=20=20=20xv->xvWidget=20=3D=20warningLabel;=0A+=20=20=20=20}=0A=
=20=0A-=20=20xv->emacswindow=20=3D=20FRAME_NS_VIEW=20(s->f);=0A-=20=20=
[xv->emacswindow=20addSubview:xv->xvWindow];=0A+=20=20[xv->xvWindow=20=
addSubview:xv->xvWidget];=0A+=20=20xv->emacsFrame=20=3D=20FRAME_NS_VIEW=20=
(s->f);=0A+=20=20[xv->emacsFrame=20addSubview:xv->xvWindow];=0A=20}=0A=20=
=0A=20void=0A@@=20-544,8=20+529,8=20@@=20-=20(BOOL)isFlipped=20{=20=
return=20YES;=20}=0A=20=20=20if=20(!EQ=20(xv->model,=20Qnil))=0A=20=20=20=
=20=20{=0A=20=20=20=20=20=20=20struct=20xwidget=20*xw=20=3D=20XXWIDGET=20=
(xv->model);=0A-=20=20=20=20=20=20[xw->xwWindow=20=
removeFromSuperviewWithoutNeedingDisplay];=0A-=20=20=20=20=20=20xw->xv=20=
=3D=20NULL;=20/*=20Now=20model=20has=20no=20view.=20=20*/=0A+=20=20=20=20=
=20=20if=20(xw->xv=20=3D=3D=20xv)=0A+=20=20=20=20=20=20=20=20xw->xv=20=3D=20=
NULL;=20/*=20Now=20model=20has=20no=20view.=20=20*/=0A=20=20=20=20=20}=0A=
=20=20=20[xv->xvWindow=20removeFromSuperviewWithoutNeedingDisplay];=0A=20=
=20=20[xv->xvWindow=20release];=0A@@=20-555,21=20+540,21=20@@=20-=20=
(BOOL)isFlipped=20{=20return=20YES;=20}=0A=20nsxwidget_show_view=20=
(struct=20xwidget_view=20*xv)=0A=20{=0A=20=20=20xv->hidden=20=3D=20NO;=0A=
-=20=20[xv->xvWindow=20setFrameOrigin:NSMakePoint(xv->x=20+=20=
xv->clip_left,=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
xv->y=20+=20xv->clip_top)];=0A+=20=20[xv->xvWindow=20setHidden:NO];=0A=20=
}=0A=20=0A=20void=0A=20nsxwidget_hide_view=20(struct=20xwidget_view=20=
*xv)=0A=20{=0A=20=20=20xv->hidden=20=3D=20YES;=0A-=20=20[xv->xvWindow=20=
setFrameOrigin:NSMakePoint(10000,=2010000)];=0A+=20=20[xv->xvWindow=20=
setHidden:YES];=0A=20}=0A=20=0A=20void=0A=20nsxwidget_resize_view=20=
(struct=20xwidget_view=20*xv,=20int=20width,=20int=20height)=0A=20{=0A-=20=
=20[xv->xvWindow=20setFrameSize:NSMakeSize(width,=20height)];=0A+=20=20=
[xv->xvWindow=20setFrameSize:NSMakeSize=20(width,=20height)];=0A+=20=20=
[xv->xvWidget=20setFrameSize:NSMakeSize=20(width,=20height)];=0A=20}=0A=20=
=0A=20void=0A@@=20-582,8=20+567,7=20@@=20-=20(BOOL)isFlipped=20{=20=
return=20YES;=20}=0A=20void=0A=20nsxwidget_move_widget_in_view=20(struct=20=
xwidget_view=20*xv,=20int=20x,=20int=20y)=0A=20{=0A-=20=20struct=20=
xwidget=20*xww=20=3D=20xv->xvWindow.xw;=0A-=20=20[xww->xwWindow=20=
setFrameOrigin:NSMakePoint=20(x,=20y)];=0A+=20=20[xv->xvWidget=20=
setFrameOrigin:NSMakePoint=20(x,=20y)];=0A=20}=0A=20=0A=20void=0Adiff=20=
--git=20a/src/xwidget.c=20b/src/xwidget.c=0Aindex=20=
8bdfab02fd..013b773a90=20100644=0A---=20a/src/xwidget.c=0A+++=20=
b/src/xwidget.c=0A@@=20-2762,7=20+2762,7=20@@=20xwidget_init_view=20=
(struct=20xwidget=20*xww,=0A=20=20=20xv->just_resized=20=3D=20false;=0A=20=
#elif=20defined=20NS_IMPL_COCOA=0A=20=20=20nsxwidget_init_view=20(xv,=20=
xww,=20s,=20x,=20y);=0A-=20=20nsxwidget_resize_view(xv,=20xww->width,=20=
xww->height);=0A+=20=20nsxwidget_resize_view=20(xv,=20xww->width,=20=
xww->height);=0A=20#endif=0A=20=0A=20=20=20return=20xv;=0A@@=20-2794,7=20=
+2794,7=20@@=20x_draw_xwidget_glyph_string=20(struct=20glyph_string=20=
*s)=0A=20=0A=20=20=20xv->just_resized=20=3D=20false;=0A=20#elif=20=
defined=20NS_IMPL_COCOA=0A-=20=20if=20(!xv)=0A+=20=20if=20(!xv=20||=20=
xww->xv=20!=3D=20xv)=0A=20=20=20=20=20{=0A=20=20=20=20=20=20=20/*=20=
Enforce=201=20to=201,=20model=20and=20view=20for=20macOS=20Cocoa=20=
webkit2.=20=20*/=0A=20=20=20=20=20=20=20if=20(xww->xv)=0A@@=20-2805,11=20=
+2805,6=20@@=20x_draw_xwidget_glyph_string=20(struct=20glyph_string=20=
*s)=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20XSETXWIDGET_VIEW=20=
(xvl,=20xww->xv);=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
Fdelete_xwidget_view=20(xvl);=0A=20=20=20=20=20=20=20=20=20=20=20=20=20}=0A=
-=20=20=20=20=20=20=20=20=20=20else=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
{=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20message=20("You=20can't=20=
share=20an=20xwidget=20(webkit2)=20among=20windows.");=0A-=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20return;=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
}=0A=20=20=20=20=20=20=20=20=20}=0A=20=20=20=20=20=20=20xv=20=3D=20=
xwidget_init_view=20(xww,=20s,=20x,=20y);=0A=20=20=20=20=20}=0A@@=20=
-3243,8=20+3238,6=20@@=20DEFUN=20("xwidget-resize",=20Fxwidget_resize,=20=
Sxwidget_resize,=203,=203,=200,=0A=20=0A=20=20=20=20=20=20=20=
gtk_widget_queue_allocate=20(GTK_WIDGET=20(xw->widget_osr));=0A=20=20=20=20=
=20}=0A-#elif=20defined=20NS_IMPL_COCOA=0A-=20=20nsxwidget_resize=20=
(xw);=0A=20#endif=0A=20=20=20unblock_input=20();=0A=20=0Adiff=20--git=20=
a/src/xwidget.h=20b/src/xwidget.h=0Aindex=20502beb6765..3943148e3f=20=
100644=0A---=20a/src/xwidget.h=0A+++=20b/src/xwidget.h=0A@@=20-81,16=20=
+81,13=20@@=20#define=20XWIDGET_H_INCLUDED=0A=20=20=20guint=20=
hit_result;=0A=20#elif=20defined=20(NS_IMPL_COCOA)=0A=20#=20ifdef=20=
__OBJC__=0A-=20=20/*=20For=20offscreen=20widgets,=20unused=20if=20not=20=
osr.=20=20*/=0A+=20=20/*=20The=20primary=20widget.=20=20*/=0A=20=20=20=
NSView=20*xwWidget;=0A-=20=20XwWindow=20*xwWindow;=0A=20=0A-=20=20/*=20=
Used=20only=20for=20xwidget=20types=20(such=20as=20webkit2)=20enforcing=20=
1=20to=201=0A-=20=20=20=20=20relationship=20between=20model=20and=20=
view.=20=20*/=0A+=20=20/*=20The=20current=20view=20that=20displays=20the=20=
primary=20widget,=20if=20exists.=20=20*/=0A=20=20=20struct=20=
xwidget_view=20*xv;=0A=20#=20else=0A=20=20=20void=20*xwWidget;=0A-=20=20=
void=20*xwWindow;=0A=20=20=20struct=20xwidget_view=20*xv;=0A=20#=20endif=0A=
=20#endif=0A@@=20-136,11=20+133,13=20@@=20#define=20XWIDGET_H_INCLUDED=0A=
=20=20=20int=20just_resized;=0A=20#elif=20defined=20(NS_IMPL_COCOA)=0A=20=
#=20ifdef=20__OBJC__=0A-=20=20XvWindow=20*xvWindow;=0A-=20=20NSView=20=
*emacswindow;=0A+=20=20NSView=20*xvWindow;=0A+=20=20NSView=20*xvWidget;=0A=
+=20=20NSView=20*emacsFrame;=0A=20#=20else=0A=20=20=20void=20*xvWindow;=0A=
-=20=20void=20*emacswindow;=0A+=20=20void=20*xvWidget;=0A+=20=20void=20=
*emacsFrame;=0A=20#=20endif=0A=20#endif=0A=20=0A--=20=0A2.37.0=20(Apple=20=
Git-136)=0A=0A=

--Apple-Mail=_E88D47C8-CBFC-4A6A-B4B7-AA2E835F3386--




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

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


Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 00:35:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 03 20:35:19 2022
Received: from localhost ([127.0.0.1]:51961 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofVu0-0000Qs-9l
	for submit <at> debbugs.gnu.org; Mon, 03 Oct 2022 20:35:19 -0400
Received: from sonic314-21.consmr.mail.ne1.yahoo.com ([66.163.189.147]:36007)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <luangruo@HIDDEN>) id 1ofVtu-0000QY-Op
 for 58271 <at> debbugs.gnu.org; Mon, 03 Oct 2022 20:35:14 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1664843703; bh=zFKdBcBvp5Qr/Quldd8qu3F2oJJkmwLrd+E9CEf+POs=;
 h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To;
 b=kV/MgJOvR7oIUHLtvzSsuouqW/xVBQyAKm098f66hNR6IvJwCgpyb2o7jxeqi3xybn4xeN3FIXpuW+KO5muw4JmXCnfyT/g4iQsf3TkvIZv41WGDzPZ1gR/9UIv20fDaTwYn4eeSwxPfmLP5OkIZahkyjvFjbUwPA/q0hclA29ANqfXSdQU3KMgtWiqXqBgq98YzqNQ5OejkRj+EQpvUEG/gBNi0qFPiC6KhdT0SxRM/Dc7PNz9wPheRFTJslOsj3IuF2abRTHnpHQVaxN8x7NvTzZOkT0E8xZMRJS7d0BZtvE9xjTsAGb4ZCQcYVntFiPmWb0p0afjXtt+48YUvSg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1664843703; bh=FaUSR/V8NG7NqrQDV+vwbgExpPBFuFqT64sY39vCPu2=;
 h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
 b=WY6oaPIW6Wi03ifaL50QIVI3tP+W682L11NNve0NEhXYo4Gy/Zgi5Y3ZsCWM4lzJteVyA7zjdiMXOmEaKdGf8IsrHsnqMI8XcWY40/t/pVoiodK4i77iuJ4v1mgP/g55NOVGgBElRx1H1cODYsLe1/oFCAMRUJTQllnc8XeJkw8xgkpgF+MG/GSpt5HnlRQeh5PGAezONR7N6TUska6sY+hp6iXa8k+CHbsToVtB0Qzz0OZ1JABZ/Z8cMs3GZbxUT/HmplLUgbHI5oRhqjEmS7ZP2dDhcjnLXw7O7pgVuxCP4t8vYdkneA7f9ZR73AOtwLZSC30kG1cpcJemqVAc/Q==
X-YMail-OSG: oG9t1LcVM1kiI31oux7ay3wpsv3F8R0Z8.kpb3PgXU4FXYGLC1b7UYe8ovfRoKC
 B7szWUnkuPm6iLLlL6UnpU6h4qHTsgtcsshOPPq.q8Ykg7m_SJVwXb7a6P4tYuI7ETl2EcTpYxId
 wiEFgVNkVkrcUCFpYMvw88sKxMWCQI3mcO_KYynSOfS0CFnTlPyW_rNNZghRkZo2.QocDTW14HPQ
 Tc7afb68.jwoNEgzIiPvOoiusYFtXFOJ_uTFlnZERukKzVlfQl8UgupW59Rt7z9FHVn4.12qcmLq
 CwBk2VGFHz7MVjVm770NG3kUWnEGEFN_lIGmCcsJxF288jyrFHQvjStjSjqMp.wUpjddYHrQFW1m
 vxrgqVzhuH7LDlCnMNFiGUrhJu.d6sxLyAbr.Shju4.oEgQM_kI0ovBRj.7f3WOBeUISOI_c9rjY
 v.xYzcqcx4WdOybGXQ96ekLLni70D1muFlh8t5DDysnkZf1OuVhAd8uFoTDEVAw9ATMJne493EsD
 8AfyuzLVsOz0KvTOA97TKXF0aIUOb0Pz_2X.84H0JZn1BMh0LC.SxutaLBfgQX.FtedXEZlWRush
 Iz27kyk_FBBDlHY5MvZpjw7Oh0LH5HdkaPadca2tapUJCd8vMql2coFYk7uJJwO24qpCMtt3j40N
 8W1GwgDbrViofatHSsfmmBZtXJJ1n05OGe_KNLXHFWUF_cQ2hYyhrjSqpb0nTqSzYNpA_xh8Ji_9
 vMc8VxAV5nt_oKy041pkkSmPfQpg3zIeUiYkrPCjzSUbCYfSBHu4xF3G7V7XxrVrXuNl3sEyijap
 YE5LGxfmT2ttRgMNGAHz6ES1PDnbcg.4U7wSP0Ai7qtpbVmnQ3CEeXWWZG68Sq6Cv9cUZAfPbBJR
 pj41szqo6dEJSICY5m290dRe_liFU21Ir79PiK.eHuBHrmcVa0tLE2O9HhbOA5oXzDBApU1mmwQs
 wAOI_7cXxheBotYNgxA7EZ8whyuY0LJS3q_lKCUN_hTmnWs2CwGp56qnsHudgq8KOl5wZOiJbQXz
 0Eszyv.hsVT4NFmh1pbwKHWfw7Y1uAYgvIDmx7ezwSb.nnOsbj0p.M8lmSrY0vvjxwpVONU0lRr3
 6e2J5cdtNyNeOMHTiF12RJncTA8VS7LBlUbxoHgFhwwbjX0fyXoN0bxjxW6jrTF.l7ip5aLU9mtR
 PJrztqV9MEu6zA.d4HJ67LFKR8cfAyl0Hj9uSohibX4QihhC5C6jkFtU7lQ.76wDzo8bIaEOnP19
 d7s.SZ6Uj_BxQ0OzbB1Ufs2iPM_HHXAS1C4VGsTVSlOomRfFJHp3dXL05xTg4H7ULeM.wHpaOPyi
 wwI0nMZDjDkuz98cZT3LTPfVPXi7KwtrEJIn0OPtuXtN7oczQQ0g2XWsw8v4MFgfOELP2XwcC68e
 DKcs4DhF7__cgrDdVXIVXYBCemj6eQbXytt.wvHADbXpTgaGstljtW465iaipg7HDc4hkxuCN.Za
 P6MCN9AVT279OYSMP0QJTvkEyUug2fnfZVjYFgrhOOjZtcbpdZxSzrwg8vLG_AJbFoWXCFL_lcBP
 xf2FCWsIYWhKuTTCSHYWY6wXL.cqZHotuI1McjbWxXRyKMg5HcdVz7B7Aac4rhkxlnmP28MyBuqh
 2F4t3IDysnZ8XprQWZpMCI3owRdeoSPnmFzcjT9f_pWb69lgT0SCnrlQadnj0dbwZjWr3r7zO6M3
 OMgkWk.n0tddsrj0veumeQopbl7dHqR4mjA5cwnKSY_xtNviAy3MC9I1pi8m3goAUnbebFNj08uE
 N5Tq8IWFQm4gDurdSdmyLu.kDkod7F7zO8aTyrO3JFRCEIPFEFCzTnLl90lUnX0IqcUK2UabL.Lj
 dpC_POxuWxX4dYvhZIs2vCVXuT5cU0DGavqioWMf7i2bz3HUJw4KzrTt.LlIMw90MqqkN_1aKvwk
 Y_DqUHU41LiATBiaFk1SmVv2zPVwDGoJXNElNUureg3UvBP1X4_LWb9b8UczS3GanjnLCiwfN8ly
 tauaKctUqfOzVHtj9VtpgOS8ayGRyVgMwYXNNnSOBLTODF2Dgbkry664O6F3im.0aqaFFR6MT5iI
 9SzpZj1Xwri2baQb.GTHdEpbSgkNsPlBXlqfyHbX43I48QYJsPfW.wQgBSGdRPbJYcJRlBwglBi_
 JhdRFErgbYpMzdaxBM5Hpl7LcF7vjYOTUZfb4e.QpvT7HMZ4Qx9mE0NdNeA3_bXevvFS4KiV_OpJ
 9bDhbaz55DtVUiMvDNnvl2UERnxsjIx.oE.qIIardiqQ.mIXvTshoEV8kMvb_mwW6_z3d7ehTBOE
 -
X-Sonic-MF: <luangruo@HIDDEN>
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic314.consmr.mail.ne1.yahoo.com with HTTP; Tue, 4 Oct 2022 00:35:03 +0000
Received: by hermes--production-sg3-cf9dc7f8d-5h5f2 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 9875b3fd5ea93d732bae7a41156decd4; 
 Tue, 04 Oct 2022 00:34:58 +0000 (UTC)
From: Po Lu <luangruo@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: Re: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more
 gracefully
References: <3B2D7E85-0137-4460-B182-F7F5F39A192E@HIDDEN>
 <87czb86b4g.fsf@HIDDEN>
Date: Tue, 04 Oct 2022 08:34:53 +0800
In-Reply-To: <87czb86b4g.fsf@HIDDEN> (Lars Ingebrigtsen's message of "Mon,
 03 Oct 2022 20:00:15 +0200")
Message-ID: <87r0zo1l5e.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: WebService/1.1.20702
 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 3987
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 58271
Cc: =?utf-8?B?7KGw7ISx67mI?= <goranmoomin@HIDDEN>, 58271 <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 (-)

Lars Ingebrigtsen <larsi@HIDDEN> writes:

> =EC=A1=B0=EC=84=B1=EB=B9=88 <goranmoomin@HIDDEN> writes:
>
>> The attached patch fixes this issue by showing a warning label in the pl=
ace of
>> the xwidget view.
>
> Makes sense to me -- perhaps Po Lu has some comments; added to the CCs.
>
> In any case, it looks like this patch is too large to apply without
> getting a copyright assignment for the FSF first.  Would you be willing
> to sign such paperwork?

Thanks.  I saw the post to emacs-devel first, and replied without
checking the bug tracker.  These were my comments:

=EC=A1=B0=EC=84=B1=EB=B9=88 <goranmoomin@HIDDEN> writes:

> Hello,=20
>
> Attached is a patch that improves the handling of sharing Cocoa xwidgets.=
=20
>
> The previous implementation of Cocoa xwidgets poorly handled cases where =
the
> user tried to share xwidgets between multiple views (by spamming messages=
 to
> *Messages* on every redisplay, and not drawing anything on the second xwi=
dget).
> The attached patch fixes this issue by showing a warning label in the pla=
ce of
>  the xwidget view.=20
>
> I originally tried to create a bug report with the patch by mailing to
> bug-gnu-emacs@HIDDEN, but it seems that the report wasn=E2=80=99t create=
d. As such,
> I=E2=80=99m sending the patch to the emacs-devel list. How should I proce=
ed with this?
>
> Thanks.

Thanks; since you seem to be the original author of the xwidget code on
Mac OS, could you please fix the crash there when an xwidget is deleted
but remains on-screen?

Some minor formatting comments on the patch below:

> From: VirtualBuddy <virtualbuddy@HIDDEN>

Is this a real email?

> * etc/NEWS: Mention fix.

Since this is a bug fix, I see no reason to mention it in NEWS.  In
addition, even if it warranted a mention, it ought to be placed under
"Changes in Emacs 29.1 on Non-Free Operating Systems".

> * src/nsxwidget.h: Remove now-unused NSView subclasses and functions.
> * src/nsxwidget.m:
> ([XwWebView mouseDown:], [XwWebView mouseUp:], [XwWebView keyDown:])
> ([XwWebView userContentController:didReceiveScriptMessage:]): Rename fiel=
d of
> xwidget_view from emacswindow to emacsFrame to better match emacs termino=
logy.
> (nsxwidget_init, nsxwidget_resize_view, nsxwidget_move_widget_in_view):
> Simplify logic by removing field xwWindow and using the xvWindow as the
> container.
> (nsxwidget_resize, XwWindow, XvWindow): Remove now-unused code.
> (nsxwidget_init_view, nsxwidget_delete_view): Handle creating non-primary
> xwidget views.
> (nsxwidget_show_view, nsxwidget_hide_view): Remove poor hack to hide view=
s.
> * src/xwidget.c (xwidget_init_view): Update formatting.
> (x_draw_xwidget_glyph_string): Handle displaying non-primary xwidget view=
s and
> remove previous message warning.
> (Fxwidget_resize): Remove useless call to nsxwidget_resize, as the subseq=
uent
> redisplay handles them via nsxwidget_resize_view.
> * src/xwidget.h (struct xwidget): Remove field xwWindow and update commen=
ts
> to be more accurate.
> (struct xwidget_view): Add field xvWidget and rename field emacswindow to
> emacsFrame to better match emacs terminology.

Please make sure that each line of the commit message is no longer than
64 characters in length.

>  {
> -  [self.xw->xv->emacswindow mouseDown:event];
> +  [self.xw->xv->emacsFrame mouseDown:event];
>    [super mouseDown:event];
>  }
>=20=20
>  - (void)mouseUp:(NSEvent *)event
>  {
> -  [self.xw->xv->emacswindow mouseUp:event];
> +  [self.xw->xv->emacsFrame mouseUp:event];
>    [super mouseUp:event];
>  }

The "emacswindow" field should actually be named "frame", IMHO.

> +    {
> +      NSTextField *warningLabel =3D [NSTextField labelWithString:@"Cocoa=
 Xwidgets do not support sharing widgets."];

This line is too long.  Please find a way to make it fit in 80 columns.

> +      if (xw->xv =3D=3D xv)
> +        {
> +          xw->xv =3D NULL; /* Now model has no view.  */
> +        }

Please remove the unnecessary braces here.





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

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


Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 00:01:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 03 20:01:45 2022
Received: from localhost ([127.0.0.1]:51925 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofVNZ-000849-2T
	for submit <at> debbugs.gnu.org; Mon, 03 Oct 2022 20:01:45 -0400
Received: from mail-smail-vm101.daum.net ([211.231.106.176]:49970
 helo=mail-smail-vm101.hanmail.net)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <goranmoomin@HIDDEN>) id 1ofVNW-00083u-IK
 for 58271 <at> debbugs.gnu.org; Mon, 03 Oct 2022 20:01:44 -0400
Received: from mail-hmail-smtp3 ([10.194.31.36])
 by mail-smail-vm101.hanmail.net (8.13.8/8.9.1) with SMTP id 29401Q6C021142;
 Tue, 4 Oct 2022 09:01:26 +0900
X-Kakaomail-MID: CsIfJAAAJzUAAAGDoEwacwADic4=
X-Hermes-Message-Id: q9491Pch51956841723
X-Originating-IP: 223.38.84.190
Received: from mail-qpsmtp-vm19 ([10.61.241.166]) by hermes of
 mail-hmail-smtp3 (10.194.31.36) with ESMTP id q9491Pch51956841723;
 Tue, 04 Oct 2022 09:01:25 +0900 (KST)
Received: from [223.38.84.190] (HELO smtpclient.apple) (223.38.84.190)
 by  (8.12.9/8.9.1) with ESMTPA; Tue, 04 Oct 2022 09:01:25 +0900
Authentication-Results: mail-qpsmtp-vm19;
 auth=pass (plain) smtp.auth=goranmoomin@HIDDEN
From: Sungbin Jo <goranmoomin@HIDDEN>
Message-Id: <CD9616E9-3CCE-42C6-AC23-E7AE07E02876@HIDDEN>
Content-Type: multipart/mixed;
 boundary="Apple-Mail=_FF4E4666-7B6C-40BE-8015-637AB9730914"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.92\))
Subject: Re: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more
 gracefully
Date: Tue, 4 Oct 2022 09:01:14 +0900
In-Reply-To: <87v8p04h11.fsf@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
References: <87czb86b4g.fsf@HIDDEN>
 <276AB2FF-9AD1-48C4-BD87-FD2890E82762@HIDDEN> <87v8p04h11.fsf@HIDDEN>
X-Mailer: Apple Mail (2.3731.200.92)
X-HM-UT: FhzuMO7fDyaX9OXd45+quTOPNRA+bHyTw3HQj6tM3jc=
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  2022. 10. 4. 오전 8:35, Lars Ingebrigtsen 작성: > > >>
    I’ve signed the paper, though I’ve used a different email address >>
   before. (I’m >> Sungbin Jo <pcr910303 <at> icloud.com> who contributed the
    original >> Cocoa >> xwidget patch in bug [...] 
 
 Content analysis details:   (1.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  1.3 RCVD_IN_VALIDITY_RPBL  RBL: Relay in Validity RPBL,
                             https://senderscore.org/blocklistlookup/
                           [211.231.106.176 listed in bl.score.senderscore.com]
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (goranmoomin[at]daum.net)
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
X-Debbugs-Envelope-To: 58271
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@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 (/)


--Apple-Mail=_FF4E4666-7B6C-40BE-8015-637AB9730914
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

2022. 10. 4. =EC=98=A4=EC=A0=84 8:35, Lars Ingebrigtsen <larsi@HIDDEN> =
=EC=9E=91=EC=84=B1:

> goranmoomin@HIDDEN writes:
>=20
>> I=E2=80=99ve signed the paper, though I=E2=80=99ve used a different =
email address
>>  before. (I=E2=80=99m
>> Sungbin Jo <pcr910303 <at> icloud.com> who contributed the original
>>  Cocoa
>> xwidget patch in bug#29565.)
>>=20
>> Would changing my email address require going through the process =
again?
>=20
> No, that's not necessary, but it would be convenient if the patch
> carried the name "Sungbin Jo" somewhere.  (That's not really =
necessary,
> either, so long as we know who's who, but it would be convenient.)

Ah, that=E2=80=99s definitely a mistake (was testing and committing =
inside an
 unconfigured virtual machine).

Attached is an updated patch with proper author details, rebased onto
commit 6a5169e747.

Thanks.


--Apple-Mail=_FF4E4666-7B6C-40BE-8015-637AB9730914
Content-Disposition: attachment;
	filename=0001-Handle-sharing-Cocoa-xwidgets-more-gracefully.patch
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name="0001-Handle-sharing-Cocoa-xwidgets-more-gracefully.patch"
Content-Transfer-Encoding: quoted-printable

=46rom=201ac9922a1720ac4e3899b8f245056f9a287e87c3=20Mon=20Sep=2017=20=
00:00:00=202001=0AFrom:=20Sungbin=20Jo=20<goranmoomin@HIDDEN>=0ADate:=20=
Tue,=204=20Oct=202022=2008:51:33=20+0900=0ASubject:=20[PATCH]=20Handle=20=
sharing=20Cocoa=20xwidgets=20more=20gracefully=0A=0A*=20etc/NEWS:=20=
Mention=20fix.=0A*=20src/nsxwidget.h:=20Remove=20now-unused=20NSView=20=
subclasses=20and=20functions.=0A*=20src/nsxwidget.m:=0A([XwWebView=20=
mouseDown:],=20[XwWebView=20mouseUp:],=20[XwWebView=20keyDown:])=0A=
([XwWebView=20userContentController:didReceiveScriptMessage:]):=20Rename=0A=
field=20of=20xwidget_view=20from=20emacswindow=20to=20emacsFrame=20to=20=
better=20match=0Aemacs=20terminology.=0A(nsxwidget_init,=20=
nsxwidget_resize_view)=0A(nsxwidget_move_widget_in_view):=20Simplify=20=
logic=20by=20removing=20field=0AxwWindow=20and=20using=20the=20xvWindow=20=
as=20the=20container.=0A(nsxwidget_resize,=20XwWindow,=20XvWindow):=20=
Remove=20now-unused=20code.=0A(nsxwidget_init_view,=20=
nsxwidget_delete_view):=20Handle=20creating=0Anon-primary=20xwidget=20=
views.=0A(nsxwidget_show_view,=20nsxwidget_hide_view):=20Remove=20poor=20=
hack=20to=20hide=0Aviews.=0A*=20src/xwidget.c=20(xwidget_init_view):=20=
Update=20formatting.=0A(x_draw_xwidget_glyph_string):=20Handle=20=
displaying=20non-primary=20xwidget=0Aviews=20and=20remove=20previous=20=
message=20warning.=0A(Fxwidget_resize):=20Remove=20useless=20call=20to=20=
nsxwidget_resize,=20as=20the=0Asubsequent=20redisplay=20handles=20them=20=
via=20nsxwidget_resize_view.=0A*=20src/xwidget.h=20(struct=20xwidget):=20=
Remove=20field=20xwWindow=20and=20update=0Acomments=20to=20be=20more=20=
accurate.=0A(struct=20xwidget_view):=20Add=20field=20xvWidget=20and=20=
rename=20field=20emacswindow=0Ato=20emacsFrame=20to=20better=20match=20=
emacs=20terminology.=0A---=0A=20etc/NEWS=20=20=20=20=20=20=20=20|=20=208=20=
+++++=0A=20src/nsxwidget.h=20|=2014=20--------=0A=20src/nsxwidget.m=20|=20=
87=20++++++++++++++++++++-----------------------------=0A=20=
src/xwidget.c=20=20=20|=2011=20++-----=0A=20src/xwidget.h=20=20=20|=2015=20=
++++-----=0A=205=20files=20changed,=2053=20insertions(+),=2082=20=
deletions(-)=0A=0Adiff=20--git=20a/etc/NEWS=20b/etc/NEWS=0Aindex=20=
f21acaf207..a6cd7da341=20100644=0A---=20a/etc/NEWS=0A+++=20b/etc/NEWS=0A=
@@=20-4059,6=20+4059,14=20@@=20has=20built-in=20support=20for=20=
displaying=20BMP=20images.=0A=20---=0A=20***=20'process-attributes'=20is=20=
now=20implemented.=0A=20=0A+**=20macOS=0A+---=0A+***=20Attempts=20to=20=
share=20an=20xwidget=20is=20now=20handled=20more=20gracefully.=0A=
+Attempts=20to=20share=20an=20xwidget=20between=20multiple=20views=20now=20=
results=20in=0A+views=20other=20than=20the=20primary=20view=20displaying=20=
warnings.=20=20If=20the=20primary=0A+view=20disappears,=20one=20of=20the=20=
left=20views=20becomes=20the=20primary=20view=20that=0A+displays=20the=20=
widget.=0A+=0A=20=0C=0A=20=
----------------------------------------------------------------------=0A=
=20This=20file=20is=20part=20of=20GNU=20Emacs.=0Adiff=20--git=20=
a/src/nsxwidget.h=20b/src/nsxwidget.h=0Aindex=20666509744a..f7c744d405=20=
100644=0A---=20a/src/nsxwidget.h=0A+++=20b/src/nsxwidget.h=0A@@=20-42,26=20=
+42,12=20@@=20#define=20NSXWIDGET_H_INCLUDED=0A=20=0A=20/*=20Functions=20=
for=20xwidget=20model.=20=20*/=0A=20=0A-#ifdef=20__OBJC__=0A-@interface=20=
XwWindow=20:=20NSView=0A-@property=20struct=20xwidget=20*xw;=0A-@end=0A=
-#endif=0A-=0A=20void=20nsxwidget_init=20(struct=20xwidget=20*xw);=0A=20=
void=20nsxwidget_kill=20(struct=20xwidget=20*xw);=0A-void=20=
nsxwidget_resize=20(struct=20xwidget=20*xw);=0A=20Lisp_Object=20=
nsxwidget_get_size=20(struct=20xwidget=20*xw);=0A=20=0A=20/*=20Functions=20=
for=20xwidget=20view.=20=20*/=0A=20=0A-#ifdef=20__OBJC__=0A-@interface=20=
XvWindow=20:=20NSView=0A-@property=20struct=20xwidget=20*xw;=0A=
-@property=20struct=20xwidget_view=20*xv;=0A-@end=0A-#endif=0A-=0A=20=
void=20nsxwidget_init_view=20(struct=20xwidget_view=20*xv,=0A=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
struct=20xwidget=20*xww,=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20struct=20glyph_string=20*s,=0Adiff=20=
--git=20a/src/nsxwidget.m=20b/src/nsxwidget.m=0Aindex=20=
be0eba0bcb..da4069e2f1=20100644=0A---=20a/src/nsxwidget.m=0A+++=20=
b/src/nsxwidget.m=0A@@=20-199,13=20+199,13=20@@=20-=20=
(void)webView:(WKWebView=20*)webView=0A=20=0A=20-=20=
(void)mouseDown:(NSEvent=20*)event=0A=20{=0A-=20=20=
[self.xw->xv->emacswindow=20mouseDown:event];=0A+=20=20=
[self.xw->xv->emacsFrame=20mouseDown:event];=0A=20=20=20[super=20=
mouseDown:event];=0A=20}=0A=20=0A=20-=20(void)mouseUp:(NSEvent=20*)event=0A=
=20{=0A-=20=20[self.xw->xv->emacswindow=20mouseUp:event];=0A+=20=20=
[self.xw->xv->emacsFrame=20mouseUp:event];=0A=20=20=20[super=20=
mouseUp:event];=0A=20}=0A=20=0A@@=20-220,15=20+220,15=20@@=20-=20=
(void)keyDown:(NSEvent=20*)event=0A=20=20=20Lisp_Object=20val=20=3D=20=
buffer_local_value=20(var,=20Fcurrent_buffer=20());=0A=20=20=20if=20(!EQ=20=
(val,=20Qunbound)=20&&=20!EQ=20(val,=20Qnil))=0A=20=20=20=20=20{=0A-=20=20=
=20=20=20=20[self.window=20makeFirstResponder:self.xw->xv->emacswindow];=0A=
-=20=20=20=20=20=20[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=
=20=20=20[self.window=20makeFirstResponder:self.xw->xv->emacsFrame];=0A+=20=
=20=20=20=20=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=
=20=20return;=0A=20=20=20=20=20}=0A=20=0A=20=20=20/*=20Emacs=20handles=20=
keyboard=20events=20when=20javascript=20is=20blocked.=20=20*/=0A=20=20=20=
if=20([self.urlScriptBlocked[self.URL]=20boolValue])=0A=20=20=20=20=20{=0A=
-=20=20=20=20=20=20[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=
=20=20=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=20=20=
return;=0A=20=20=20=20=20}=0A=20=0A@@=20-237,13=20+237,13=20@@=20-=20=
(void)keyDown:(NSEvent=20*)event=0A=20=20=20=20=20=20=20if=20(error)=0A=20=
=20=20=20=20=20=20=20=20{=0A=20=20=20=20=20=20=20=20=20=20=20NSLog=20=
(@"xwHasFocus:=20%@",=20error);=0A-=20=20=20=20=20=20=20=20=20=20=
[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=20=20=20=20=20=20=
=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=20=20=20=20=
}=0A=20=20=20=20=20=20=20else=20if=20(result)=0A=20=20=20=20=20=20=20=20=20=
{=0A=20=20=20=20=20=20=20=20=20=20=20NSNumber=20*hasFocus=20=3D=20=
result;=20/*=20__NSCFBoolean=20*/=0A=20=20=20=20=20=20=20=20=20=20=20if=20=
(!hasFocus.boolValue)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=20=20=20=20=20=20=
=20=20=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=20=20=
=20=20=20=20else=0A=20=20=20=20=20=20=20=20=20=20=20=20=20[super=20=
keyDown:event];=0A=20=20=20=20=20=20=20=20=20}=0A@@=20-291,7=20+291,7=20=
@@=20-=20(void)userContentController:(WKUserContentController=20=
*)userContentController=0A=20=20=20=20=20{=0A=20=20=20=20=20=20=20/*=20=
Just=20give=20up=20focus,=20no=20relay=20"C-g"=20to=20emacs,=20another=20=
"C-g"=0A=20=20=20=20=20=20=20=20=20=20follows=20will=20be=20handled=20by=20=
emacs.=20=20*/=0A-=20=20=20=20=20=20[self.window=20=
makeFirstResponder:self.xw->xv->emacswindow];=0A+=20=20=20=20=20=20=
[self.window=20makeFirstResponder:self.xw->xv->emacsFrame];=0A=20=20=20=20=
=20}=0A=20}=0A=20=0A@@=20-437,16=20+437,10=20@@=20-=20=
(void)userContentController:(WKUserContentController=20=
*)userContentController=0A=20=20=20=20=20}];=0A=20}=0A=20=0A-/*=20Window=20=
containing=20an=20xwidget.=20=20*/=0A-=0A-@implementation=20XwWindow=0A=
--=20(BOOL)isFlipped=20{=20return=20YES;=20}=0A-@end=0A-=0A=20/*=20=
Xwidget=20model,=20macOS=20Cocoa=20part.=20=20*/=0A=20=0A=20void=0A=
-nsxwidget_init(struct=20xwidget=20*xw)=0A+nsxwidget_init=20(struct=20=
xwidget=20*xw)=0A=20{=0A=20=20=20block_input=20();=0A=20=20=20NSRect=20=
rect=20=3D=20NSMakeRect=20(0,=200,=20xw->width,=20xw->height);=0A@@=20=
-454,9=20+448,6=20@@=20-=20(BOOL)isFlipped=20{=20return=20YES;=20}=0A=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20initWithFrame:rect=0A=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
configuration:[[WKWebViewConfiguration=20alloc]=20init]=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
xwidget:xw];=0A-=20=20xw->xwWindow=20=3D=20[[XwWindow=20alloc]=0A-=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20initWithFrame:rect];=0A-=20=
=20[xw->xwWindow=20addSubview:xw->xwWidget];=0A=20=20=20xw->xv=20=3D=20=
NULL;=20/*=20for=201=20to=201=20relationship=20of=20webkit2.=20=20*/=0A=20=
=20=20unblock_input=20();=0A=20}=0A@@=20-481,22=20+472,10=20@@=20-=20=
(BOOL)isFlipped=20{=20return=20YES;=20}=0A=20=20=20=20=20=20=20=
[((XwWebView=20*)=20xw->xwWidget).urlScriptBlocked=20release];=0A=20=20=20=
=20=20=20=20[xw->xwWidget=20removeFromSuperviewWithoutNeedingDisplay];=0A=
=20=20=20=20=20=20=20[xw->xwWidget=20release];=0A-=20=20=20=20=20=20=
[xw->xwWindow=20removeFromSuperviewWithoutNeedingDisplay];=0A-=20=20=20=20=
=20=20[xw->xwWindow=20release];=0A=20=20=20=20=20=20=20xw->xwWidget=20=3D=20=
nil;=0A=20=20=20=20=20}=0A=20}=0A=20=0A-void=0A-nsxwidget_resize=20=
(struct=20xwidget=20*xw)=0A-{=0A-=20=20if=20(xw->xwWidget)=0A-=20=20=20=20=
{=0A-=20=20=20=20=20=20[xw->xwWindow=20=
setFrameSize:NSMakeSize(xw->width,=20xw->height)];=0A-=20=20=20=20=20=20=
[xw->xwWidget=20setFrameSize:NSMakeSize(xw->width,=20xw->height)];=0A-=20=
=20=20=20}=0A-}=0A-=0A=20Lisp_Object=0A=20nsxwidget_get_size=20(struct=20=
xwidget=20*xw)=0A=20{=0A@@=20-504,12=20+483,6=20@@=20-=20(BOOL)isFlipped=20=
{=20return=20YES;=20}=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20xw->xwWidget.frame.size.height);=0A=20}=0A=20=0A-/*=20Xwidget=20view,=20=
macOS=20Cocoa=20part.=20=20*/=0A-=0A-@implementation=20XvWindow=20:=20=
NSView=0A--=20(BOOL)isFlipped=20{=20return=20YES;=20}=0A-@end=0A-=0A=20=
void=0A=20nsxwidget_init_view=20(struct=20xwidget_view=20*xv,=0A=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20struct=20=
xwidget=20*xw,=0A@@=20-526,16=20+499,27=20@@=20-=20(BOOL)isFlipped=20{=20=
return=20YES;=20}=0A=20=20=20xv->clip_top=20=3D=200;=0A=20=20=20=
xv->clip_bottom=20=3D=20xw->height;=0A=20=0A-=20=20xv->xvWindow=20=3D=20=
[[XvWindow=20alloc]=0A+=20=20xv->xvWindow=20=3D=20[[NSView=20alloc]=0A=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
initWithFrame:NSMakeRect=20(x,=20y,=20xw->width,=20xw->height)];=0A-=20=20=
xv->xvWindow.xw=20=3D=20xw;=0A-=20=20xv->xvWindow.xv=20=3D=20xv;=0A=20=0A=
-=20=20xw->xv=20=3D=20xv;=20/*=20For=201=20to=201=20relationship=20of=20=
webkit2.=20=20*/=0A-=20=20[xv->xvWindow=20addSubview:xw->xwWindow];=0A+=20=
=20if=20(!xw->xv)=0A+=20=20=20=20{=0A+=20=20=20=20=20=20xw->xv=20=3D=20=
xv;=20/*=20For=201=20to=201=20relationship=20of=20webkit2.=20=20*/=0A+=20=
=20=20=20=20=20/*=20This=20seems=20like=20it=20should=20be=20retained,=20=
but=20tests=20show=20otherwise.=20=20*/=0A+=20=20=20=20=20=20=
xv->xvWidget=20=3D=20xw->xwWidget;=0A+=20=20=20=20}=0A+=20=20else=0A+=20=20=
=20=20{=0A+=20=20=20=20=20=20NSTextField=20*warningLabel=20=3D=20=
[NSTextField=20labelWithString:@"Cocoa=20Xwidgets=20do=20not=20support=20=
sharing=20widgets."];=0A+=20=20=20=20=20=20[warningLabel=20=
setFrameSize:NSMakeSize=20(xw->width,=20xw->height)];=0A+=20=20=20=20=20=20=
warningLabel.drawsBackground=20=3D=20YES;=0A+=20=20=20=20=20=20=
warningLabel.backgroundColor=20=3D=20[NSColor=20textBackgroundColor];=0A=
+=20=20=20=20=20=20xv->xvWidget=20=3D=20warningLabel;=0A+=20=20=20=20}=0A=
=20=0A-=20=20xv->emacswindow=20=3D=20FRAME_NS_VIEW=20(s->f);=0A-=20=20=
[xv->emacswindow=20addSubview:xv->xvWindow];=0A+=20=20[xv->xvWindow=20=
addSubview:xv->xvWidget];=0A+=20=20xv->emacsFrame=20=3D=20FRAME_NS_VIEW=20=
(s->f);=0A+=20=20[xv->emacsFrame=20addSubview:xv->xvWindow];=0A=20}=0A=20=
=0A=20void=0A@@=20-544,8=20+528,10=20@@=20-=20(BOOL)isFlipped=20{=20=
return=20YES;=20}=0A=20=20=20if=20(!EQ=20(xv->model,=20Qnil))=0A=20=20=20=
=20=20{=0A=20=20=20=20=20=20=20struct=20xwidget=20*xw=20=3D=20XXWIDGET=20=
(xv->model);=0A-=20=20=20=20=20=20[xw->xwWindow=20=
removeFromSuperviewWithoutNeedingDisplay];=0A-=20=20=20=20=20=20xw->xv=20=
=3D=20NULL;=20/*=20Now=20model=20has=20no=20view.=20=20*/=0A+=20=20=20=20=
=20=20if=20(xw->xv=20=3D=3D=20xv)=0A+=20=20=20=20=20=20=20=20{=0A+=20=20=20=
=20=20=20=20=20=20=20xw->xv=20=3D=20NULL;=20/*=20Now=20model=20has=20no=20=
view.=20=20*/=0A+=20=20=20=20=20=20=20=20}=0A=20=20=20=20=20}=0A=20=20=20=
[xv->xvWindow=20removeFromSuperviewWithoutNeedingDisplay];=0A=20=20=20=
[xv->xvWindow=20release];=0A@@=20-555,21=20+541,21=20@@=20-=20=
(BOOL)isFlipped=20{=20return=20YES;=20}=0A=20nsxwidget_show_view=20=
(struct=20xwidget_view=20*xv)=0A=20{=0A=20=20=20xv->hidden=20=3D=20NO;=0A=
-=20=20[xv->xvWindow=20setFrameOrigin:NSMakePoint(xv->x=20+=20=
xv->clip_left,=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
xv->y=20+=20xv->clip_top)];=0A+=20=20[xv->xvWindow=20setHidden:NO];=0A=20=
}=0A=20=0A=20void=0A=20nsxwidget_hide_view=20(struct=20xwidget_view=20=
*xv)=0A=20{=0A=20=20=20xv->hidden=20=3D=20YES;=0A-=20=20[xv->xvWindow=20=
setFrameOrigin:NSMakePoint(10000,=2010000)];=0A+=20=20[xv->xvWindow=20=
setHidden:YES];=0A=20}=0A=20=0A=20void=0A=20nsxwidget_resize_view=20=
(struct=20xwidget_view=20*xv,=20int=20width,=20int=20height)=0A=20{=0A-=20=
=20[xv->xvWindow=20setFrameSize:NSMakeSize(width,=20height)];=0A+=20=20=
[xv->xvWindow=20setFrameSize:NSMakeSize=20(width,=20height)];=0A+=20=20=
[xv->xvWidget=20setFrameSize:NSMakeSize=20(width,=20height)];=0A=20}=0A=20=
=0A=20void=0A@@=20-582,8=20+568,7=20@@=20-=20(BOOL)isFlipped=20{=20=
return=20YES;=20}=0A=20void=0A=20nsxwidget_move_widget_in_view=20(struct=20=
xwidget_view=20*xv,=20int=20x,=20int=20y)=0A=20{=0A-=20=20struct=20=
xwidget=20*xww=20=3D=20xv->xvWindow.xw;=0A-=20=20[xww->xwWindow=20=
setFrameOrigin:NSMakePoint=20(x,=20y)];=0A+=20=20[xv->xvWidget=20=
setFrameOrigin:NSMakePoint=20(x,=20y)];=0A=20}=0A=20=0A=20void=0Adiff=20=
--git=20a/src/xwidget.c=20b/src/xwidget.c=0Aindex=20=
8bdfab02fd..013b773a90=20100644=0A---=20a/src/xwidget.c=0A+++=20=
b/src/xwidget.c=0A@@=20-2762,7=20+2762,7=20@@=20xwidget_init_view=20=
(struct=20xwidget=20*xww,=0A=20=20=20xv->just_resized=20=3D=20false;=0A=20=
#elif=20defined=20NS_IMPL_COCOA=0A=20=20=20nsxwidget_init_view=20(xv,=20=
xww,=20s,=20x,=20y);=0A-=20=20nsxwidget_resize_view(xv,=20xww->width,=20=
xww->height);=0A+=20=20nsxwidget_resize_view=20(xv,=20xww->width,=20=
xww->height);=0A=20#endif=0A=20=0A=20=20=20return=20xv;=0A@@=20-2794,7=20=
+2794,7=20@@=20x_draw_xwidget_glyph_string=20(struct=20glyph_string=20=
*s)=0A=20=0A=20=20=20xv->just_resized=20=3D=20false;=0A=20#elif=20=
defined=20NS_IMPL_COCOA=0A-=20=20if=20(!xv)=0A+=20=20if=20(!xv=20||=20=
xww->xv=20!=3D=20xv)=0A=20=20=20=20=20{=0A=20=20=20=20=20=20=20/*=20=
Enforce=201=20to=201,=20model=20and=20view=20for=20macOS=20Cocoa=20=
webkit2.=20=20*/=0A=20=20=20=20=20=20=20if=20(xww->xv)=0A@@=20-2805,11=20=
+2805,6=20@@=20x_draw_xwidget_glyph_string=20(struct=20glyph_string=20=
*s)=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20XSETXWIDGET_VIEW=20=
(xvl,=20xww->xv);=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
Fdelete_xwidget_view=20(xvl);=0A=20=20=20=20=20=20=20=20=20=20=20=20=20}=0A=
-=20=20=20=20=20=20=20=20=20=20else=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
{=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20message=20("You=20can't=20=
share=20an=20xwidget=20(webkit2)=20among=20windows.");=0A-=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20return;=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
}=0A=20=20=20=20=20=20=20=20=20}=0A=20=20=20=20=20=20=20xv=20=3D=20=
xwidget_init_view=20(xww,=20s,=20x,=20y);=0A=20=20=20=20=20}=0A@@=20=
-3243,8=20+3238,6=20@@=20DEFUN=20("xwidget-resize",=20Fxwidget_resize,=20=
Sxwidget_resize,=203,=203,=200,=0A=20=0A=20=20=20=20=20=20=20=
gtk_widget_queue_allocate=20(GTK_WIDGET=20(xw->widget_osr));=0A=20=20=20=20=
=20}=0A-#elif=20defined=20NS_IMPL_COCOA=0A-=20=20nsxwidget_resize=20=
(xw);=0A=20#endif=0A=20=20=20unblock_input=20();=0A=20=0Adiff=20--git=20=
a/src/xwidget.h=20b/src/xwidget.h=0Aindex=20502beb6765..3943148e3f=20=
100644=0A---=20a/src/xwidget.h=0A+++=20b/src/xwidget.h=0A@@=20-81,16=20=
+81,13=20@@=20#define=20XWIDGET_H_INCLUDED=0A=20=20=20guint=20=
hit_result;=0A=20#elif=20defined=20(NS_IMPL_COCOA)=0A=20#=20ifdef=20=
__OBJC__=0A-=20=20/*=20For=20offscreen=20widgets,=20unused=20if=20not=20=
osr.=20=20*/=0A+=20=20/*=20The=20primary=20widget.=20=20*/=0A=20=20=20=
NSView=20*xwWidget;=0A-=20=20XwWindow=20*xwWindow;=0A=20=0A-=20=20/*=20=
Used=20only=20for=20xwidget=20types=20(such=20as=20webkit2)=20enforcing=20=
1=20to=201=0A-=20=20=20=20=20relationship=20between=20model=20and=20=
view.=20=20*/=0A+=20=20/*=20The=20current=20view=20that=20displays=20the=20=
primary=20widget,=20if=20exists.=20=20*/=0A=20=20=20struct=20=
xwidget_view=20*xv;=0A=20#=20else=0A=20=20=20void=20*xwWidget;=0A-=20=20=
void=20*xwWindow;=0A=20=20=20struct=20xwidget_view=20*xv;=0A=20#=20endif=0A=
=20#endif=0A@@=20-136,11=20+133,13=20@@=20#define=20XWIDGET_H_INCLUDED=0A=
=20=20=20int=20just_resized;=0A=20#elif=20defined=20(NS_IMPL_COCOA)=0A=20=
#=20ifdef=20__OBJC__=0A-=20=20XvWindow=20*xvWindow;=0A-=20=20NSView=20=
*emacswindow;=0A+=20=20NSView=20*xvWindow;=0A+=20=20NSView=20*xvWidget;=0A=
+=20=20NSView=20*emacsFrame;=0A=20#=20else=0A=20=20=20void=20*xvWindow;=0A=
-=20=20void=20*emacswindow;=0A+=20=20void=20*xvWidget;=0A+=20=20void=20=
*emacsFrame;=0A=20#=20endif=0A=20#endif=0A=20=0A--=20=0A2.37.0=20(Apple=20=
Git-136)=0A=0A=

--Apple-Mail=_FF4E4666-7B6C-40BE-8015-637AB9730914--




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

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


Received: (at 58271) by debbugs.gnu.org; 3 Oct 2022 23:35:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 03 19:35:54 2022
Received: from localhost ([127.0.0.1]:51903 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofUyY-0007QD-DJ
	for submit <at> debbugs.gnu.org; Mon, 03 Oct 2022 19:35:54 -0400
Received: from quimby.gnus.org ([95.216.78.240]:38880)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1ofUyW-0007Q0-Eb
 for 58271 <at> debbugs.gnu.org; Mon, 03 Oct 2022 19:35:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-ID:
 Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
 :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=j3Pil5h5xnAdBdYkPJFQyuJQxKq955VAq8RpnNfIJYM=; b=D2BIMvuzP2QSPk4D1ySnnKg2xt
 fedO3aq9sbRR4y0GDh6oba2LcYwh9H/VdKB/zbUL9nHgxCMbfGIbOz2P9nD/gnxv5X4xpyXsh0IW1
 rIrL0ytyy7o98XRRW2+J8ztpN7MJmvof/c4yub/JBWqFXXtGrQvw8BED2g0LHYjHXn2I=;
Received: from [84.212.220.105] (helo=downe)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1ofUyN-0005jd-ET; Tue, 04 Oct 2022 01:35:45 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: goranmoomin@HIDDEN
Subject: Re: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more
 gracefully
In-Reply-To: <276AB2FF-9AD1-48C4-BD87-FD2890E82762@HIDDEN>
 (goranmoomin@HIDDEN's message of "Tue, 4 Oct 2022 08:01:25 +0900")
References: <87czb86b4g.fsf@HIDDEN>
 <276AB2FF-9AD1-48C4-BD87-FD2890E82762@HIDDEN>
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj
 SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAElBMVEWwjWtxQT+fUEzR
 saT49O3///+dfHtVAAAAAWJLR0QF+G/pxwAAAAd0SU1FB+YKAxceMlEzPtoAAAGRSURBVDjLfZIB
 YsMgCEUVcwDjLqCYAzjJAbra+59pH026dHWjasUX+BFizNzs5Cz+CcIUUB8TYEeyWao/xKPxhjtI
 66t1/wrC9YmowNvoiWMki10ICe4AkZA4es82Ugwp2XQCNjjpgA2nlNgPDZ+sPwAZZmtPECydIJg4
 wKnBAIGtD0j1AsyIQApP11Ts8VZhTWHlAHUOIwJ30xbQccFQjwtCT2tUMB3DPghhAK4smOIUiC7L
 Ud3FCKzgZ5w0pw6eEgVwdjhiFvzvpWHfToABkR5cMOBCQ4aw6TtXXjpYZq0dYuUdPNTktIfsD9GT
 rwEu1nZxUyCtIWoCbjidgdaPO3gK672xtNykA+JXs8wr728g6Vx5+TKNcl3yPW+u1lxdZKoun2B3
 krdM91wkW1vNAJxZsuScuWZUhy6Aar4BUN3QSbpXOUCstx4BwAD1AA/Sjg+Qn6C/LsSlg09Vq/Ve
 tg4YX+LWXI5cI0sspOIKbOKohS7jpqGvPZUxWjpFPwXYf1VXK4mOYH3vx2H/AJnb5zdoRIS3tuUh
 TAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0xMC0wM1QyMzozMDo0OSswMDowMLr3pY0AAAAldEVY
 dGRhdGU6bW9kaWZ5ADIwMjItMTAtMDNUMjM6MzA6NDkrMDA6MDDLqh0xAAAAAElFTkSuQmCC
X-Now-Playing: Scritti Politti's _Cupid & Psyche 85_: "Wood Beez"
Date: Tue, 04 Oct 2022 01:35:38 +0200
Message-ID: <87v8p04h11.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-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  goranmoomin@HIDDEN writes: > I’ve signed the paper, though
    I’ve used a different email address before. (I’m > Sungbin Jo <pcr910303
    <at> icloud.com> who contributed the original Cocoa > xwidget patch in bug#29565.)
    > > Wo [...] 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 58271
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@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 (---)

goranmoomin@HIDDEN writes:

> I=E2=80=99ve signed the paper, though I=E2=80=99ve used a different email=
 address before. (I=E2=80=99m
> Sungbin Jo <pcr910303 <at> icloud.com> who contributed the original Cocoa
> xwidget patch in bug#29565.)
>
> Would changing my email address require going through the process again?

No, that's not necessary, but it would be convenient if the patch
carried the name "Sungbin Jo" somewhere.  (That's not really necessary,
either, so long as we know who's who, but it would be convenient.)




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

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


Received: (at 58271) by debbugs.gnu.org; 3 Oct 2022 23:01:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 03 19:01:54 2022
Received: from localhost ([127.0.0.1]:51869 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofURe-0006c0-Jc
	for submit <at> debbugs.gnu.org; Mon, 03 Oct 2022 19:01:54 -0400
Received: from mail-smail-vm103.daum.net ([211.231.106.178]:35657
 helo=mail-smail-vm103.hanmail.net)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <goranmoomin@HIDDEN>) id 1ofURb-0006bj-Im
 for 58271 <at> debbugs.gnu.org; Mon, 03 Oct 2022 19:01:53 -0400
Received: from mail-hmail-smtp2 ([10.194.31.52])
 by mail-smail-vm103.hanmail.net (8.13.8/8.9.1) with SMTP id 293N1aC3007412;
 Tue, 4 Oct 2022 08:01:36 +0900
X-Kakaomail-MID: CsIfNAAAVdIAAAGDoBVT1gADhU0=
X-Hermes-Message-Id: q9481ZmS71223701670
X-Originating-IP: 1.230.108.64
Received: from mail-qpsmtp-vm3 ([10.61.241.126]) by hermes of mail-hmail-smtp2
 (10.194.31.52) with ESMTP id q9481ZmS71223701670;
 Tue, 04 Oct 2022 08:01:35 +0900 (KST)
Received: from [1.230.108.64] (HELO smtpclient.apple) (1.230.108.64)
 by  (8.12.9/8.9.1) with ESMTPA; Tue, 04 Oct 2022 08:01:35 +0900
Authentication-Results: mail-qpsmtp-vm3;
 auth=pass (plain) smtp.auth=goranmoomin
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (1.0)
Subject: Re: bug#58271: 29.0.50;
 [PATCH] Handle sharing Cocoa xwidgets more gracefully
From: goranmoomin@HIDDEN
In-Reply-To: <87czb86b4g.fsf@HIDDEN>
Date: Tue, 4 Oct 2022 08:01:25 +0900
Message-Id: <276AB2FF-9AD1-48C4-BD87-FD2890E82762@HIDDEN>
References: <87czb86b4g.fsf@HIDDEN>
To: Lars Ingebrigtsen <larsi@HIDDEN>
X-Mailer: iPhone Mail (20A362)
X-HM-UT: FhzuMO7fDya8/M/xpN5J2TOPNRA+bHyTw3HQj6tM3jc=
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  2022. 10. 4. 오전 3:00, Lars Ingebrigtsen 작성: > > 조성빈
    writes: > >> The attached patch fixes this issue by showing a warning label
    in the place of >> the xwidget view. > > Makes sens [...] 
 
 Content analysis details:   (1.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  1.3 RCVD_IN_VALIDITY_RPBL  RBL: Relay in Validity RPBL,
                             https://senderscore.org/blocklistlookup/
                           [211.231.106.178 listed in bl.score.senderscore.com]
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (goranmoomin[at]daum.net)
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
X-Debbugs-Envelope-To: 58271
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@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 (/)


2022. 10. 4. =EC=98=A4=EC=A0=84 3:00, Lars Ingebrigtsen <larsi@HIDDEN> =EC=
=9E=91=EC=84=B1:
>=20
> =EF=BB=BF=EC=A1=B0=EC=84=B1=EB=B9=88 <goranmoomin@HIDDEN> writes:
>=20
>> The attached patch fixes this issue by showing a warning label in the pla=
ce of
>> the xwidget view.
>=20
> Makes sense to me -- perhaps Po Lu has some comments; added to the CCs.
>=20
> In any case, it looks like this patch is too large to apply without
> getting a copyright assignment for the FSF first.  Would you be willing
> to sign such paper?

I=E2=80=99ve signed the paper, though I=E2=80=99ve used a different email ad=
dress before. (I=E2=80=99m
Sungbin Jo <pcr910303 <at> icloud.com> who contributed the original Cocoa
xwidget patch in bug#29565.)

Would changing my email address require going through the process again?

Thanks.







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

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


Received: (at 58271) by debbugs.gnu.org; 3 Oct 2022 18:00:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 03 14:00:27 2022
Received: from localhost ([127.0.0.1]:51695 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofPju-0007Mn-VX
	for submit <at> debbugs.gnu.org; Mon, 03 Oct 2022 14:00:27 -0400
Received: from quimby.gnus.org ([95.216.78.240]:36300)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1ofPjt-0007MR-6g
 for 58271 <at> debbugs.gnu.org; Mon, 03 Oct 2022 14:00:25 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :Date:References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-ID:
 Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
 :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=5fGgBjWDa4wv0W2AQ+CUWkcXt1uvFQORzfmoZA1G1rg=; b=gBFuaUttcLsIC9XymXxQ5jWDgc
 to4xLiE0T8JCRG0zceCtXZaVW3PbEyVilwI3drYzIH0gJfXbY0nOjpXB2OEdXy9au1OMhp5VPGryM
 yxfwQm79lnvJlfOPqWqlwmP+gkg/O5CSUt+mzvbUrnu+YhIxxSwsR/YXD6+tf/4QKp+c=;
Received: from [84.212.220.105] (helo=downe)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1ofPjj-0003PS-Kg; Mon, 03 Oct 2022 20:00:17 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: =?utf-8?B?7KGw7ISx67mI?= <goranmoomin@HIDDEN>
Subject: Re: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more
 gracefully
In-Reply-To: <3B2D7E85-0137-4460-B182-F7F5F39A192E@HIDDEN>
 (=?utf-8?B?IuyhsOyEseu5iCIncw==?=
 message of "Mon, 3 Oct 2022 18:32:20 +0900")
References: <3B2D7E85-0137-4460-B182-F7F5F39A192E@HIDDEN>
X-Now-Playing: Tears For Fears's _Songs From The Big Chair_: "Mothers Talk"
Date: Mon, 03 Oct 2022 20:00:15 +0200
Message-ID: <87czb86b4g.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-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  조성빈 <goranmoomin@HIDDEN> writes: > The attached patch
    fixes this issue by showing a warning label in the place of > the xwidget
    view. Makes sense to me -- perhaps Po Lu has some comments; added to the
   CCs. 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 58271
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@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 (---)

=EC=A1=B0=EC=84=B1=EB=B9=88 <goranmoomin@HIDDEN> writes:

> The attached patch fixes this issue by showing a warning label in the pla=
ce of
> the xwidget view.

Makes sense to me -- perhaps Po Lu has some comments; added to the CCs.

In any case, it looks like this patch is too large to apply without
getting a copyright assignment for the FSF first.  Would you be willing
to sign such paperwork?




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

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


Received: (at submit) by debbugs.gnu.org; 3 Oct 2022 14:19:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 03 10:19:14 2022
Received: from localhost ([127.0.0.1]:51465 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ofMHo-0007lB-HI
	for submit <at> debbugs.gnu.org; Mon, 03 Oct 2022 10:19:14 -0400
Received: from lists.gnu.org ([209.51.188.17]:44738)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <goranmoomin@HIDDEN>) id 1ofHon-000134-Vo
 for submit <at> debbugs.gnu.org; Mon, 03 Oct 2022 05:32:58 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:53550)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <goranmoomin@HIDDEN>)
 id 1ofHoj-0002MC-1Q
 for bug-gnu-emacs@HIDDEN; Mon, 03 Oct 2022 05:32:57 -0400
Received: from mail-smail-vm101.daum.net ([211.231.106.176]:12217
 helo=mail-smail-vm101.hanmail.net)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <goranmoomin@HIDDEN>)
 id 1ofHoc-0001dD-Gu
 for bug-gnu-emacs@HIDDEN; Mon, 03 Oct 2022 05:32:52 -0400
Received: from mail-hmail-smtp1 ([10.194.31.49])
 by mail-smail-vm101.hanmail.net (8.13.8/8.9.1) with SMTP id 2939WVHJ016092;
 Mon, 3 Oct 2022 18:32:31 +0900
X-Kakaomail-MID: CsIfMQAAJDIAAAGDnTCWfgADZpI=
X-Hermes-Message-Id: q93IWUizd1206118983
X-Originating-IP: 1.230.108.64
Received: from mail-qpsmtp-vm9 ([10.61.241.136]) by hermes of mail-hmail-smtp1
 (10.194.31.49) with ESMTP id q93IWUizd1206118983 for <bug-gnu-emacs@HIDDEN>;
 Mon, 03 Oct 2022 18:32:30 +0900 (KST)
Received: from [1.230.108.64] (HELO smtpclient.apple) (1.230.108.64)
 by  (8.12.9/8.9.1) with ESMTPA; Mon, 03 Oct 2022 18:32:30 +0900
Authentication-Results: mail-qpsmtp-vm9;
 auth=pass (plain) smtp.auth=goranmoomin@HIDDEN
From: =?utf-8?B?7KGw7ISx67mI?= <goranmoomin@HIDDEN>
Content-Type: multipart/mixed;
 boundary="Apple-Mail=_3A5F2BCA-C58A-402B-AAB4-C04ECABE5A49"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.92\))
Subject: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Message-Id: <3B2D7E85-0137-4460-B182-F7F5F39A192E@HIDDEN>
Date: Mon, 3 Oct 2022 18:32:20 +0900
To: bug-gnu-emacs@HIDDEN
X-Mailer: Apple Mail (2.3731.200.92)
X-HM-UT: uZgUAxfuZctRLmiSmPa88DOPNRA+bHyTw3HQj6tM3jc=
Received-SPF: pass client-ip=211.231.106.176;
 envelope-from=goranmoomin@HIDDEN; helo=mail-smail-vm101.hanmail.net
X-Spam_score_int: 17
X-Spam_score: 1.7
X-Spam_bar: +
X-Spam_report: (1.7 / 5.0 requ) BAYES_40=-0.001, FREEMAIL_FROM=0.001,
 KHOP_HELO_FCRDNS=0.399, RCVD_IN_VALIDITY_RPBL=1.31, SPF_HELO_NONE=0.001,
 T_SPF_TEMPERROR=0.01 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Mon, 03 Oct 2022 10:19:11 -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 (--)


--Apple-Mail=_3A5F2BCA-C58A-402B-AAB4-C04ECABE5A49
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Severity: normal
Tags: patch

The previous implementation of Cocoa xwidgets poorly handled cases where =
the
user tried to share xwidgets between multiple views (by spamming =
messages to
*Messages* on every redisplay, and not drawing anything on the second =
xwidget).
The attached patch fixes this issue by showing a warning label in the =
place of
the xwidget view.


--Apple-Mail=_3A5F2BCA-C58A-402B-AAB4-C04ECABE5A49
Content-Disposition: attachment;
	filename=0001-Handle-sharing-Cocoa-xwidgets-more-gracefully.patch
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name="0001-Handle-sharing-Cocoa-xwidgets-more-gracefully.patch"
Content-Transfer-Encoding: quoted-printable

=46rom=20ea24ca5d49bb0c1d09be98ab032bbc50668ae627=20Mon=20Sep=2017=20=
00:00:00=202001=0AFrom:=20VirtualBuddy=20=
<virtualbuddy@HIDDEN>=0ADate:=20Mon,=203=20Oct=202022=20=
17:32:45=20+0900=0ASubject:=20[PATCH]=20Handle=20sharing=20Cocoa=20=
xwidgets=20more=20gracefully=0A=0A*=20etc/NEWS:=20Mention=20fix.=0A*=20=
src/nsxwidget.h:=20Remove=20now-unused=20NSView=20subclasses=20and=20=
functions.=0A*=20src/nsxwidget.m:=0A([XwWebView=20mouseDown:],=20=
[XwWebView=20mouseUp:],=20[XwWebView=20keyDown:])=0A([XwWebView=20=
userContentController:didReceiveScriptMessage:]):=20Rename=20field=20of=0A=
xwidget_view=20from=20emacswindow=20to=20emacsFrame=20to=20better=20=
match=20emacs=20terminology.=0A(nsxwidget_init,=20nsxwidget_resize_view,=20=
nsxwidget_move_widget_in_view):=0ASimplify=20logic=20by=20removing=20=
field=20xwWindow=20and=20using=20the=20xvWindow=20as=20the=0Acontainer.=0A=
(nsxwidget_resize,=20XwWindow,=20XvWindow):=20Remove=20now-unused=20=
code.=0A(nsxwidget_init_view,=20nsxwidget_delete_view):=20Handle=20=
creating=20non-primary=0Axwidget=20views.=0A(nsxwidget_show_view,=20=
nsxwidget_hide_view):=20Remove=20poor=20hack=20to=20hide=20views.=0A*=20=
src/xwidget.c=20(xwidget_init_view):=20Update=20formatting.=0A=
(x_draw_xwidget_glyph_string):=20Handle=20displaying=20non-primary=20=
xwidget=20views=20and=0Aremove=20previous=20message=20warning.=0A=
(Fxwidget_resize):=20Remove=20useless=20call=20to=20nsxwidget_resize,=20=
as=20the=20subsequent=0Aredisplay=20handles=20them=20via=20=
nsxwidget_resize_view.=0A*=20src/xwidget.h=20(struct=20xwidget):=20=
Remove=20field=20xwWindow=20and=20update=20comments=0Ato=20be=20more=20=
accurate.=0A(struct=20xwidget_view):=20Add=20field=20xvWidget=20and=20=
rename=20field=20emacswindow=20to=0AemacsFrame=20to=20better=20match=20=
emacs=20terminology.=0A---=0A=20etc/NEWS=20=20=20=20=20=20=20=20|=20=208=20=
+++++=0A=20src/nsxwidget.h=20|=2014=20--------=0A=20src/nsxwidget.m=20|=20=
87=20++++++++++++++++++++-----------------------------=0A=20=
src/xwidget.c=20=20=20|=2011=20++-----=0A=20src/xwidget.h=20=20=20|=2015=20=
++++-----=0A=205=20files=20changed,=2053=20insertions(+),=2082=20=
deletions(-)=0A=0Adiff=20--git=20a/etc/NEWS=20b/etc/NEWS=0Aindex=20=
ec23f10b1f..ec85d0ba41=20100644=0A---=20a/etc/NEWS=0A+++=20b/etc/NEWS=0A=
@@=20-4016,6=20+4016,14=20@@=20has=20built-in=20support=20for=20=
displaying=20BMP=20images.=0A=20---=0A=20***=20'process-attributes'=20is=20=
now=20implemented.=0A=20=0A+**=20macOS=0A+---=0A+***=20Attempts=20to=20=
share=20an=20xwidget=20is=20now=20handled=20more=20gracefully.=0A=
+Attempts=20to=20share=20an=20xwidget=20between=20multiple=20views=20now=20=
results=20in=0A+views=20other=20than=20the=20primary=20view=20displaying=20=
warnings.=20=20If=20the=20primary=0A+view=20disappears,=20one=20of=20the=20=
left=20views=20becomes=20the=20primary=20view=20that=0A+displays=20the=20=
widget.=0A+=0A=20=0C=0A=20=
----------------------------------------------------------------------=0A=
=20This=20file=20is=20part=20of=20GNU=20Emacs.=0Adiff=20--git=20=
a/src/nsxwidget.h=20b/src/nsxwidget.h=0Aindex=20666509744a..f7c744d405=20=
100644=0A---=20a/src/nsxwidget.h=0A+++=20b/src/nsxwidget.h=0A@@=20-42,26=20=
+42,12=20@@=20#define=20NSXWIDGET_H_INCLUDED=0A=20=0A=20/*=20Functions=20=
for=20xwidget=20model.=20=20*/=0A=20=0A-#ifdef=20__OBJC__=0A-@interface=20=
XwWindow=20:=20NSView=0A-@property=20struct=20xwidget=20*xw;=0A-@end=0A=
-#endif=0A-=0A=20void=20nsxwidget_init=20(struct=20xwidget=20*xw);=0A=20=
void=20nsxwidget_kill=20(struct=20xwidget=20*xw);=0A-void=20=
nsxwidget_resize=20(struct=20xwidget=20*xw);=0A=20Lisp_Object=20=
nsxwidget_get_size=20(struct=20xwidget=20*xw);=0A=20=0A=20/*=20Functions=20=
for=20xwidget=20view.=20=20*/=0A=20=0A-#ifdef=20__OBJC__=0A-@interface=20=
XvWindow=20:=20NSView=0A-@property=20struct=20xwidget=20*xw;=0A=
-@property=20struct=20xwidget_view=20*xv;=0A-@end=0A-#endif=0A-=0A=20=
void=20nsxwidget_init_view=20(struct=20xwidget_view=20*xv,=0A=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
struct=20xwidget=20*xww,=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20struct=20glyph_string=20*s,=0Adiff=20=
--git=20a/src/nsxwidget.m=20b/src/nsxwidget.m=0Aindex=20=
be0eba0bcb..da4069e2f1=20100644=0A---=20a/src/nsxwidget.m=0A+++=20=
b/src/nsxwidget.m=0A@@=20-199,13=20+199,13=20@@=20-=20=
(void)webView:(WKWebView=20*)webView=0A=20=0A=20-=20=
(void)mouseDown:(NSEvent=20*)event=0A=20{=0A-=20=20=
[self.xw->xv->emacswindow=20mouseDown:event];=0A+=20=20=
[self.xw->xv->emacsFrame=20mouseDown:event];=0A=20=20=20[super=20=
mouseDown:event];=0A=20}=0A=20=0A=20-=20(void)mouseUp:(NSEvent=20*)event=0A=
=20{=0A-=20=20[self.xw->xv->emacswindow=20mouseUp:event];=0A+=20=20=
[self.xw->xv->emacsFrame=20mouseUp:event];=0A=20=20=20[super=20=
mouseUp:event];=0A=20}=0A=20=0A@@=20-220,15=20+220,15=20@@=20-=20=
(void)keyDown:(NSEvent=20*)event=0A=20=20=20Lisp_Object=20val=20=3D=20=
buffer_local_value=20(var,=20Fcurrent_buffer=20());=0A=20=20=20if=20(!EQ=20=
(val,=20Qunbound)=20&&=20!EQ=20(val,=20Qnil))=0A=20=20=20=20=20{=0A-=20=20=
=20=20=20=20[self.window=20makeFirstResponder:self.xw->xv->emacswindow];=0A=
-=20=20=20=20=20=20[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=
=20=20=20[self.window=20makeFirstResponder:self.xw->xv->emacsFrame];=0A+=20=
=20=20=20=20=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=
=20=20return;=0A=20=20=20=20=20}=0A=20=0A=20=20=20/*=20Emacs=20handles=20=
keyboard=20events=20when=20javascript=20is=20blocked.=20=20*/=0A=20=20=20=
if=20([self.urlScriptBlocked[self.URL]=20boolValue])=0A=20=20=20=20=20{=0A=
-=20=20=20=20=20=20[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=
=20=20=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=20=20=
return;=0A=20=20=20=20=20}=0A=20=0A@@=20-237,13=20+237,13=20@@=20-=20=
(void)keyDown:(NSEvent=20*)event=0A=20=20=20=20=20=20=20if=20(error)=0A=20=
=20=20=20=20=20=20=20=20{=0A=20=20=20=20=20=20=20=20=20=20=20NSLog=20=
(@"xwHasFocus:=20%@",=20error);=0A-=20=20=20=20=20=20=20=20=20=20=
[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=20=20=20=20=20=20=
=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=20=20=20=20=
}=0A=20=20=20=20=20=20=20else=20if=20(result)=0A=20=20=20=20=20=20=20=20=20=
{=0A=20=20=20=20=20=20=20=20=20=20=20NSNumber=20*hasFocus=20=3D=20=
result;=20/*=20__NSCFBoolean=20*/=0A=20=20=20=20=20=20=20=20=20=20=20if=20=
(!hasFocus.boolValue)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
[self.xw->xv->emacswindow=20keyDown:event];=0A+=20=20=20=20=20=20=20=20=20=
=20=20=20[self.xw->xv->emacsFrame=20keyDown:event];=0A=20=20=20=20=20=20=20=
=20=20=20=20else=0A=20=20=20=20=20=20=20=20=20=20=20=20=20[super=20=
keyDown:event];=0A=20=20=20=20=20=20=20=20=20}=0A@@=20-291,7=20+291,7=20=
@@=20-=20(void)userContentController:(WKUserContentController=20=
*)userContentController=0A=20=20=20=20=20{=0A=20=20=20=20=20=20=20/*=20=
Just=20give=20up=20focus,=20no=20relay=20"C-g"=20to=20emacs,=20another=20=
"C-g"=0A=20=20=20=20=20=20=20=20=20=20follows=20will=20be=20handled=20by=20=
emacs.=20=20*/=0A-=20=20=20=20=20=20[self.window=20=
makeFirstResponder:self.xw->xv->emacswindow];=0A+=20=20=20=20=20=20=
[self.window=20makeFirstResponder:self.xw->xv->emacsFrame];=0A=20=20=20=20=
=20}=0A=20}=0A=20=0A@@=20-437,16=20+437,10=20@@=20-=20=
(void)userContentController:(WKUserContentController=20=
*)userContentController=0A=20=20=20=20=20}];=0A=20}=0A=20=0A-/*=20Window=20=
containing=20an=20xwidget.=20=20*/=0A-=0A-@implementation=20XwWindow=0A=
--=20(BOOL)isFlipped=20{=20return=20YES;=20}=0A-@end=0A-=0A=20/*=20=
Xwidget=20model,=20macOS=20Cocoa=20part.=20=20*/=0A=20=0A=20void=0A=
-nsxwidget_init(struct=20xwidget=20*xw)=0A+nsxwidget_init=20(struct=20=
xwidget=20*xw)=0A=20{=0A=20=20=20block_input=20();=0A=20=20=20NSRect=20=
rect=20=3D=20NSMakeRect=20(0,=200,=20xw->width,=20xw->height);=0A@@=20=
-454,9=20+448,6=20@@=20-=20(BOOL)isFlipped=20{=20return=20YES;=20}=0A=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20initWithFrame:rect=0A=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
configuration:[[WKWebViewConfiguration=20alloc]=20init]=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
xwidget:xw];=0A-=20=20xw->xwWindow=20=3D=20[[XwWindow=20alloc]=0A-=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20initWithFrame:rect];=0A-=20=
=20[xw->xwWindow=20addSubview:xw->xwWidget];=0A=20=20=20xw->xv=20=3D=20=
NULL;=20/*=20for=201=20to=201=20relationship=20of=20webkit2.=20=20*/=0A=20=
=20=20unblock_input=20();=0A=20}=0A@@=20-481,22=20+472,10=20@@=20-=20=
(BOOL)isFlipped=20{=20return=20YES;=20}=0A=20=20=20=20=20=20=20=
[((XwWebView=20*)=20xw->xwWidget).urlScriptBlocked=20release];=0A=20=20=20=
=20=20=20=20[xw->xwWidget=20removeFromSuperviewWithoutNeedingDisplay];=0A=
=20=20=20=20=20=20=20[xw->xwWidget=20release];=0A-=20=20=20=20=20=20=
[xw->xwWindow=20removeFromSuperviewWithoutNeedingDisplay];=0A-=20=20=20=20=
=20=20[xw->xwWindow=20release];=0A=20=20=20=20=20=20=20xw->xwWidget=20=3D=20=
nil;=0A=20=20=20=20=20}=0A=20}=0A=20=0A-void=0A-nsxwidget_resize=20=
(struct=20xwidget=20*xw)=0A-{=0A-=20=20if=20(xw->xwWidget)=0A-=20=20=20=20=
{=0A-=20=20=20=20=20=20[xw->xwWindow=20=
setFrameSize:NSMakeSize(xw->width,=20xw->height)];=0A-=20=20=20=20=20=20=
[xw->xwWidget=20setFrameSize:NSMakeSize(xw->width,=20xw->height)];=0A-=20=
=20=20=20}=0A-}=0A-=0A=20Lisp_Object=0A=20nsxwidget_get_size=20(struct=20=
xwidget=20*xw)=0A=20{=0A@@=20-504,12=20+483,6=20@@=20-=20(BOOL)isFlipped=20=
{=20return=20YES;=20}=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20xw->xwWidget.frame.size.height);=0A=20}=0A=20=0A-/*=20Xwidget=20view,=20=
macOS=20Cocoa=20part.=20=20*/=0A-=0A-@implementation=20XvWindow=20:=20=
NSView=0A--=20(BOOL)isFlipped=20{=20return=20YES;=20}=0A-@end=0A-=0A=20=
void=0A=20nsxwidget_init_view=20(struct=20xwidget_view=20*xv,=0A=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20struct=20=
xwidget=20*xw,=0A@@=20-526,16=20+499,27=20@@=20-=20(BOOL)isFlipped=20{=20=
return=20YES;=20}=0A=20=20=20xv->clip_top=20=3D=200;=0A=20=20=20=
xv->clip_bottom=20=3D=20xw->height;=0A=20=0A-=20=20xv->xvWindow=20=3D=20=
[[XvWindow=20alloc]=0A+=20=20xv->xvWindow=20=3D=20[[NSView=20alloc]=0A=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
initWithFrame:NSMakeRect=20(x,=20y,=20xw->width,=20xw->height)];=0A-=20=20=
xv->xvWindow.xw=20=3D=20xw;=0A-=20=20xv->xvWindow.xv=20=3D=20xv;=0A=20=0A=
-=20=20xw->xv=20=3D=20xv;=20/*=20For=201=20to=201=20relationship=20of=20=
webkit2.=20=20*/=0A-=20=20[xv->xvWindow=20addSubview:xw->xwWindow];=0A+=20=
=20if=20(!xw->xv)=0A+=20=20=20=20{=0A+=20=20=20=20=20=20xw->xv=20=3D=20=
xv;=20/*=20For=201=20to=201=20relationship=20of=20webkit2.=20=20*/=0A+=20=
=20=20=20=20=20/*=20This=20seems=20like=20it=20should=20be=20retained,=20=
but=20tests=20show=20otherwise.=20=20*/=0A+=20=20=20=20=20=20=
xv->xvWidget=20=3D=20xw->xwWidget;=0A+=20=20=20=20}=0A+=20=20else=0A+=20=20=
=20=20{=0A+=20=20=20=20=20=20NSTextField=20*warningLabel=20=3D=20=
[NSTextField=20labelWithString:@"Cocoa=20Xwidgets=20do=20not=20support=20=
sharing=20widgets."];=0A+=20=20=20=20=20=20[warningLabel=20=
setFrameSize:NSMakeSize=20(xw->width,=20xw->height)];=0A+=20=20=20=20=20=20=
warningLabel.drawsBackground=20=3D=20YES;=0A+=20=20=20=20=20=20=
warningLabel.backgroundColor=20=3D=20[NSColor=20textBackgroundColor];=0A=
+=20=20=20=20=20=20xv->xvWidget=20=3D=20warningLabel;=0A+=20=20=20=20}=0A=
=20=0A-=20=20xv->emacswindow=20=3D=20FRAME_NS_VIEW=20(s->f);=0A-=20=20=
[xv->emacswindow=20addSubview:xv->xvWindow];=0A+=20=20[xv->xvWindow=20=
addSubview:xv->xvWidget];=0A+=20=20xv->emacsFrame=20=3D=20FRAME_NS_VIEW=20=
(s->f);=0A+=20=20[xv->emacsFrame=20addSubview:xv->xvWindow];=0A=20}=0A=20=
=0A=20void=0A@@=20-544,8=20+528,10=20@@=20-=20(BOOL)isFlipped=20{=20=
return=20YES;=20}=0A=20=20=20if=20(!EQ=20(xv->model,=20Qnil))=0A=20=20=20=
=20=20{=0A=20=20=20=20=20=20=20struct=20xwidget=20*xw=20=3D=20XXWIDGET=20=
(xv->model);=0A-=20=20=20=20=20=20[xw->xwWindow=20=
removeFromSuperviewWithoutNeedingDisplay];=0A-=20=20=20=20=20=20xw->xv=20=
=3D=20NULL;=20/*=20Now=20model=20has=20no=20view.=20=20*/=0A+=20=20=20=20=
=20=20if=20(xw->xv=20=3D=3D=20xv)=0A+=20=20=20=20=20=20=20=20{=0A+=20=20=20=
=20=20=20=20=20=20=20xw->xv=20=3D=20NULL;=20/*=20Now=20model=20has=20no=20=
view.=20=20*/=0A+=20=20=20=20=20=20=20=20}=0A=20=20=20=20=20}=0A=20=20=20=
[xv->xvWindow=20removeFromSuperviewWithoutNeedingDisplay];=0A=20=20=20=
[xv->xvWindow=20release];=0A@@=20-555,21=20+541,21=20@@=20-=20=
(BOOL)isFlipped=20{=20return=20YES;=20}=0A=20nsxwidget_show_view=20=
(struct=20xwidget_view=20*xv)=0A=20{=0A=20=20=20xv->hidden=20=3D=20NO;=0A=
-=20=20[xv->xvWindow=20setFrameOrigin:NSMakePoint(xv->x=20+=20=
xv->clip_left,=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
xv->y=20+=20xv->clip_top)];=0A+=20=20[xv->xvWindow=20setHidden:NO];=0A=20=
}=0A=20=0A=20void=0A=20nsxwidget_hide_view=20(struct=20xwidget_view=20=
*xv)=0A=20{=0A=20=20=20xv->hidden=20=3D=20YES;=0A-=20=20[xv->xvWindow=20=
setFrameOrigin:NSMakePoint(10000,=2010000)];=0A+=20=20[xv->xvWindow=20=
setHidden:YES];=0A=20}=0A=20=0A=20void=0A=20nsxwidget_resize_view=20=
(struct=20xwidget_view=20*xv,=20int=20width,=20int=20height)=0A=20{=0A-=20=
=20[xv->xvWindow=20setFrameSize:NSMakeSize(width,=20height)];=0A+=20=20=
[xv->xvWindow=20setFrameSize:NSMakeSize=20(width,=20height)];=0A+=20=20=
[xv->xvWidget=20setFrameSize:NSMakeSize=20(width,=20height)];=0A=20}=0A=20=
=0A=20void=0A@@=20-582,8=20+568,7=20@@=20-=20(BOOL)isFlipped=20{=20=
return=20YES;=20}=0A=20void=0A=20nsxwidget_move_widget_in_view=20(struct=20=
xwidget_view=20*xv,=20int=20x,=20int=20y)=0A=20{=0A-=20=20struct=20=
xwidget=20*xww=20=3D=20xv->xvWindow.xw;=0A-=20=20[xww->xwWindow=20=
setFrameOrigin:NSMakePoint=20(x,=20y)];=0A+=20=20[xv->xvWidget=20=
setFrameOrigin:NSMakePoint=20(x,=20y)];=0A=20}=0A=20=0A=20void=0Adiff=20=
--git=20a/src/xwidget.c=20b/src/xwidget.c=0Aindex=20=
8bdfab02fd..013b773a90=20100644=0A---=20a/src/xwidget.c=0A+++=20=
b/src/xwidget.c=0A@@=20-2762,7=20+2762,7=20@@=20xwidget_init_view=20=
(struct=20xwidget=20*xww,=0A=20=20=20xv->just_resized=20=3D=20false;=0A=20=
#elif=20defined=20NS_IMPL_COCOA=0A=20=20=20nsxwidget_init_view=20(xv,=20=
xww,=20s,=20x,=20y);=0A-=20=20nsxwidget_resize_view(xv,=20xww->width,=20=
xww->height);=0A+=20=20nsxwidget_resize_view=20(xv,=20xww->width,=20=
xww->height);=0A=20#endif=0A=20=0A=20=20=20return=20xv;=0A@@=20-2794,7=20=
+2794,7=20@@=20x_draw_xwidget_glyph_string=20(struct=20glyph_string=20=
*s)=0A=20=0A=20=20=20xv->just_resized=20=3D=20false;=0A=20#elif=20=
defined=20NS_IMPL_COCOA=0A-=20=20if=20(!xv)=0A+=20=20if=20(!xv=20||=20=
xww->xv=20!=3D=20xv)=0A=20=20=20=20=20{=0A=20=20=20=20=20=20=20/*=20=
Enforce=201=20to=201,=20model=20and=20view=20for=20macOS=20Cocoa=20=
webkit2.=20=20*/=0A=20=20=20=20=20=20=20if=20(xww->xv)=0A@@=20-2805,11=20=
+2805,6=20@@=20x_draw_xwidget_glyph_string=20(struct=20glyph_string=20=
*s)=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20XSETXWIDGET_VIEW=20=
(xvl,=20xww->xv);=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
Fdelete_xwidget_view=20(xvl);=0A=20=20=20=20=20=20=20=20=20=20=20=20=20}=0A=
-=20=20=20=20=20=20=20=20=20=20else=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
{=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20message=20("You=20can't=20=
share=20an=20xwidget=20(webkit2)=20among=20windows.");=0A-=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20return;=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
}=0A=20=20=20=20=20=20=20=20=20}=0A=20=20=20=20=20=20=20xv=20=3D=20=
xwidget_init_view=20(xww,=20s,=20x,=20y);=0A=20=20=20=20=20}=0A@@=20=
-3243,8=20+3238,6=20@@=20DEFUN=20("xwidget-resize",=20Fxwidget_resize,=20=
Sxwidget_resize,=203,=203,=200,=0A=20=0A=20=20=20=20=20=20=20=
gtk_widget_queue_allocate=20(GTK_WIDGET=20(xw->widget_osr));=0A=20=20=20=20=
=20}=0A-#elif=20defined=20NS_IMPL_COCOA=0A-=20=20nsxwidget_resize=20=
(xw);=0A=20#endif=0A=20=20=20unblock_input=20();=0A=20=0Adiff=20--git=20=
a/src/xwidget.h=20b/src/xwidget.h=0Aindex=20502beb6765..3943148e3f=20=
100644=0A---=20a/src/xwidget.h=0A+++=20b/src/xwidget.h=0A@@=20-81,16=20=
+81,13=20@@=20#define=20XWIDGET_H_INCLUDED=0A=20=20=20guint=20=
hit_result;=0A=20#elif=20defined=20(NS_IMPL_COCOA)=0A=20#=20ifdef=20=
__OBJC__=0A-=20=20/*=20For=20offscreen=20widgets,=20unused=20if=20not=20=
osr.=20=20*/=0A+=20=20/*=20The=20primary=20widget.=20=20*/=0A=20=20=20=
NSView=20*xwWidget;=0A-=20=20XwWindow=20*xwWindow;=0A=20=0A-=20=20/*=20=
Used=20only=20for=20xwidget=20types=20(such=20as=20webkit2)=20enforcing=20=
1=20to=201=0A-=20=20=20=20=20relationship=20between=20model=20and=20=
view.=20=20*/=0A+=20=20/*=20The=20current=20view=20that=20displays=20the=20=
primary=20widget,=20if=20exists.=20=20*/=0A=20=20=20struct=20=
xwidget_view=20*xv;=0A=20#=20else=0A=20=20=20void=20*xwWidget;=0A-=20=20=
void=20*xwWindow;=0A=20=20=20struct=20xwidget_view=20*xv;=0A=20#=20endif=0A=
=20#endif=0A@@=20-136,11=20+133,13=20@@=20#define=20XWIDGET_H_INCLUDED=0A=
=20=20=20int=20just_resized;=0A=20#elif=20defined=20(NS_IMPL_COCOA)=0A=20=
#=20ifdef=20__OBJC__=0A-=20=20XvWindow=20*xvWindow;=0A-=20=20NSView=20=
*emacswindow;=0A+=20=20NSView=20*xvWindow;=0A+=20=20NSView=20*xvWidget;=0A=
+=20=20NSView=20*emacsFrame;=0A=20#=20else=0A=20=20=20void=20*xvWindow;=0A=
-=20=20void=20*emacswindow;=0A+=20=20void=20*xvWidget;=0A+=20=20void=20=
*emacsFrame;=0A=20#=20endif=0A=20#endif=0A=20=0A--=20=0A2.37.0=20(Apple=20=
Git-136)=0A=0A=

--Apple-Mail=_3A5F2BCA-C58A-402B-AAB4-C04ECABE5A49--




Acknowledgement sent to 조성빈 <goranmoomin@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#58271; 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: Fri, 25 Nov 2022 01:30:02 UTC

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