X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: =?UTF-8?Q?=EC=A1=B0=EC=84=B1=EB=B9=88?= <goranmoomin@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 03 Oct 2022 14:20:01 +0000
Resent-Message-ID: <handler.58271.B.166480675429843 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: 58271 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.166480675429843
(code B ref -1); Mon, 03 Oct 2022 14:20:01 +0000
Received: (at submit) by debbugs.gnu.org; 3 Oct 2022 14:19:14 +0000
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?Q?=EC=A1=B0=EC=84=B1=EB=B9=88?= <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\))
Message-Id: <3B2D7E85-0137-4460-B182-F7F5F39A192E@HIDDEN>
Date: Mon, 3 Oct 2022 18:32:20 +0900
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-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--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: =?UTF-8?Q?=EC=A1=B0=EC=84=B1=EB=B9=88?= <goranmoomin@HIDDEN> Subject: bug#58271: Acknowledgement (29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully) Message-ID: <handler.58271.B.166480675429843.ack <at> debbugs.gnu.org> References: <3B2D7E85-0137-4460-B182-F7F5F39A192E@HIDDEN> X-Gnu-PR-Message: ack 58271 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 58271 <at> debbugs.gnu.org Date: Mon, 03 Oct 2022 14:20:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 58271 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 58271: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D58271 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Lars Ingebrigtsen <larsi@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 03 Oct 2022 18:01:02 +0000
Resent-Message-ID: <handler.58271.B58271.166482002728327 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: =?UTF-8?Q?=EC=A1=B0=EC=84=B1=EB=B9=88?= <goranmoomin@HIDDEN>
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@HIDDEN>
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.166482002728327
(code B ref 58271); Mon, 03 Oct 2022 18:01:02 +0000
Received: (at 58271) by debbugs.gnu.org; 3 Oct 2022 18:00:27 +0000
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>
In-Reply-To: <3B2D7E85-0137-4460-B182-F7F5F39A192E@HIDDEN>
("=?UTF-8?Q?=EC=A1=B0=EC=84=B1=EB=B9=88?="'s
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: =?UTF-8?Q?=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 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-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?
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: goranmoomin@HIDDEN
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 03 Oct 2022 23:02:02 +0000
Resent-Message-ID: <handler.58271.B58271.166483811525425 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Lars Ingebrigtsen <larsi@HIDDEN>
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@HIDDEN>
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.166483811525425
(code B ref 58271); Mon, 03 Oct 2022 23:02:02 +0000
Received: (at 58271) by debbugs.gnu.org; 3 Oct 2022 23:01:55 +0000
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)
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>
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. =?UTF-8?Q?=EC=98=A4=EC=A0=84?= 3:00, Lars Ingebrigtsen =?UTF-8?Q?=EC=9E=91=EC=84=B1:?= > > =?UTF-8?Q?=EF=BB=BF=EC=A1=B0=EC=84=B1=EB=B9=88?=
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-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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Lars Ingebrigtsen <larsi@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 03 Oct 2022 23:36:02 +0000
Resent-Message-ID: <handler.58271.B58271.166484015428538 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: goranmoomin@HIDDEN
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@HIDDEN>
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.166484015428538
(code B ref 58271); Mon, 03 Oct 2022 23:36:02 +0000
Received: (at 58271) by debbugs.gnu.org; 3 Oct 2022 23:35:54 +0000
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>
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: > =?UTF-8?Q?I=E2=80=99ve?= signed the paper, though
=?UTF-8?Q?I=E2=80=99ve?= used a different email address before. (=?UTF-8?Q?I=E2=80=99m?= > 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-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.)
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Sungbin Jo <goranmoomin@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Oct 2022 00:02:02 +0000
Resent-Message-ID: <handler.58271.B58271.166484170531013 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Lars Ingebrigtsen <larsi@HIDDEN>
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@HIDDEN>
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.166484170531013
(code B ref 58271); Tue, 04 Oct 2022 00:02:02 +0000
Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 00:01:45 +0000
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\))
Date: Tue, 4 Oct 2022 09:01:14 +0900
In-Reply-To: <87v8p04h11.fsf@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. =?UTF-8?Q?=EC=98=A4=EC=A0=84?= 8:35, Lars Ingebrigtsen =?UTF-8?Q?=EC=9E=91=EC=84=B1:?= > > >>
=?UTF-8?Q?I=E2=80=99ve?= signed the paper, though =?UTF-8?Q?I=E2=80=99ve?= used a different email address >>
before. (=?UTF-8?Q?I=E2=80=99m?= >> 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-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--
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Po Lu <luangruo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Oct 2022 00:36:01 +0000
Resent-Message-ID: <handler.58271.B58271.16648437201676 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Lars Ingebrigtsen <larsi@HIDDEN>
Cc: =?UTF-8?Q?=EC=A1=B0=EC=84=B1=EB=B9=88?= <goranmoomin@HIDDEN>, 58271 <at> debbugs.gnu.org
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.16648437201676
(code B ref 58271); Tue, 04 Oct 2022 00:36:01 +0000
Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 00:35:20 +0000
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>
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-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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Sungbin Jo <goranmoomin@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Oct 2022 02:04:01 +0000
Resent-Message-ID: <handler.58271.B58271.166484903010138 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Po Lu <luangruo@HIDDEN>
Cc: 58271 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi@HIDDEN>
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.166484903010138
(code B ref 58271); Tue, 04 Oct 2022 02:04:01 +0000
Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 02:03:50 +0000
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\))
Date: Tue, 4 Oct 2022 11:03:28 +0900
In-Reply-To: <87r0zo1l5e.fsf@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. =?UTF-8?Q?=EC=98=A4=EC=A0=84?= 9:34, Po Lu =?UTF-8?Q?=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?
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-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--
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Stefan Kangas <stefankangas@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Oct 2022 04:43:01 +0000
Resent-Message-ID: <handler.58271.B58271.166485854225161 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Lars Ingebrigtsen <larsi@HIDDEN>, goranmoomin@HIDDEN
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@HIDDEN>
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.166485854225161
(code B ref 58271); Tue, 04 Oct 2022 04:43:01 +0000
Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 04:42:22 +0000
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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Oct 2022 06:49:02 +0000
Resent-Message-ID: <handler.58271.B58271.166486611014413 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Lars Ingebrigtsen <larsi@HIDDEN>
Cc: goranmoomin@HIDDEN, 58271 <at> debbugs.gnu.org, luangruo@HIDDEN
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.166486611014413
(code B ref 58271); Tue, 04 Oct 2022 06:49:02 +0000
Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 06:48:30 +0000
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>
In-Reply-To: <87v8p04h11.fsf@HIDDEN> (message from Lars Ingebrigtsen on Tue,
04 Oct 2022 01:35:38 +0200)
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-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
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Sungbin Jo <goranmoomin@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 04 Oct 2022 07:26:01 +0000
Resent-Message-ID: <handler.58271.B58271.166486834218063 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: 58271 <at> debbugs.gnu.org
Cc: Po Lu <luangruo@HIDDEN>, Lars Ingebrigtsen <larsi@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.166486834218063
(code B ref 58271); Tue, 04 Oct 2022 07:26:01 +0000
Received: (at 58271) by debbugs.gnu.org; 4 Oct 2022 07:25:42 +0000
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\))
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>
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. =?UTF-8?Q?=EC=98=A4=ED=9B=84?= 3:48, Eli Zaretskii =?UTF-8?Q?=EC=9E=91=EC=84=B1:?= > 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-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.=
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Stefan Kangas <stefankangas@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 11 Nov 2022 13:28:01 +0000
Resent-Message-ID: <handler.58271.B58271.166817327610756 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Sungbin Jo <goranmoomin@HIDDEN>
Cc: 58271 <at> debbugs.gnu.org, Po Lu <luangruo@HIDDEN>, Lars Ingebrigtsen <larsi@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.166817327610756
(code B ref 58271); Fri, 11 Nov 2022 13:28:01 +0000
Received: (at 58271) by debbugs.gnu.org; 11 Nov 2022 13:27:56 +0000
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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#58271: 29.0.50; [PATCH] Handle sharing Cocoa xwidgets more gracefully
Resent-From: Stefan Kangas <stefankangas@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 25 Nov 2022 01:27:02 +0000
Resent-Message-ID: <handler.58271.B58271.16693395882083 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 58271
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Sungbin Jo <goranmoomin@HIDDEN>
Cc: Po Lu <luangruo@HIDDEN>, 58271 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi@HIDDEN>
Received: via spool by 58271-submit <at> debbugs.gnu.org id=B58271.16693395882083
(code B ref 58271); Fri, 25 Nov 2022 01:27:02 +0000
Received: (at 58271) by debbugs.gnu.org; 25 Nov 2022 01:26:28 +0000
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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
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.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.