From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Volunteering to help on etc/TODO item: Improved xwidgets support Date: Wed, 19 Oct 2022 09:33:24 +0800 Message-ID: <87k04wa97f.fsf@yahoo.com> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32630"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org, Qiantan Hong To: Andrew De Angelis Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Oct 19 03:35:15 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1okxzG-0008KC-Vf for ged-emacs-devel@m.gmane-mx.org; Wed, 19 Oct 2022 03:35:15 +0200 Original-Received: from localhost ([::1]:40574 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1okxzF-0004ok-Ta for ged-emacs-devel@m.gmane-mx.org; Tue, 18 Oct 2022 21:35:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54106) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1okxxl-00039H-Db for emacs-devel@gnu.org; Tue, 18 Oct 2022 21:33:41 -0400 Original-Received: from sonic307-10.consmr.mail.ne1.yahoo.com ([66.163.190.33]:46574) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1okxxj-0008Di-Fn for emacs-devel@gnu.org; Tue, 18 Oct 2022 21:33:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1666143213; bh=1LQ/T9qTiMSz9P9rQU3XoMrX3juOiaM26xDRf+EWMuo=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=TtwuVeM2epvbaXGLRmN+CFanpwtq3jl/K0QpqL8Tou6ybxA8kgUz8anA2mIMviy51SBPfZ5K9AaDklWngb9B/huJaylOUm65tyyYEwe0z/HGWXhtPt8kwZrB0mziPN7tPKkBnrdETeQWrM0HIJRqECo1SIF9aCice5W76GjPEA1IVIxoSEuPcBTTTbh8ecQRHFd7J/gzxjH995qHjqm+B9plvD1EbqxjmQTgr/A3huL91+hM01nWVWwp1H9M/RPDnzBkeu2bPM7Xr11i31LTS9/pch/vcBpKFIsYZqvhlKXiwjGKHv3UAB8Vh+ZlfbVrZPGbP1005ep6cKOkIBEPXQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1666143213; bh=dOyHnA80eYIrXhyZrVNhbvNI3LsLFiXV1hrd+865Fvy=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=lFaiTpRcVF69xlwRzo+sG+qj5x6gl+d7Vg2j4BeunejZalqKFl1obF7mjjOP5XzN5RoQZPS1Lx0aBXLhkgvbyAnon80S+MitmjPLm6ssVS9WtXaKBskjKwitndrRAA/3V2ySXLS+2fKYQk0NWgIFjqA4oib3hiAVakUdDRYd9ycN5IR7iaTExO5qQpFb0qY0kGYccnOT2YXrgatDDnsuJ/mJKvZ8mKdAe1km0eLgxQzHYBf4HXS45hXa/tqifBHPw/7e0gBMWKHUEwC6h0AuwCXCMhse63Lb+GPx8F0CxRHgt5mZ043nlUp2LGSof4Ybe1Cku5fz7zyeSOh9muwJuw== X-YMail-OSG: SB5dhlYVM1mYU.cLoFhebTigZVCB8pn3tgOlsb3U9tz.le1bkFHdvAcBwmV9k33 oVuiDMWmSQc4Pal2smxAjOMmLC8pzGr_v7u05QSNBD6rZ6GAi_7eV.yI4pwqqOOyZy.QHY88nNqF bq8W3ttI1E9cLjm5h.oVFgWf34wPtBvB08ASoeaQxQbesiLwkak5SUgjO3nma6m7lG.zTEwtiwBF _xucchuj5Y3vmlFy_NUOmdTuR0mjlxIay74nqu9OjekLkJMLiZPivB_V0PP3QqkQnfKk3vhjhuYi FWRFL6h663Z4FHTFf_JzqKpcYi5lqcSkuDnwHTYjp1OObyKobBGSpdil604xU8rIgIcFsR0EQZwC saDqgxeAxZH148XVWCgMLH56OoOxoku3u3VJi.IUWaN2ZmXl7BmYHKnOS56_ceYbPMDtv5y5U1NI JW0R492dY.WxZhOuNYSAMCQU1HaKmJSSfd9R7Zs1EB.KcY5uvKrmDQ7eIbneFPfUQZR74RO.Gmrz Nu_Up05LFOiEix2JZFnYy_c0JRULEhasZxYVMYKxHtSfnWAlMe78sDaeyqCFwo9xndGWY_WOxFHK _VWw31G7owNmDdU0VmYvkJJbbgAe98zHQK03AJM6UL9.oRA_zxFDr51qIpPgbfsRfNQzbU521VKL c8IxVU8KvrKlkVfVh2lB3R5M5F7pKjUB2MUUoy66YZxwaWji_38qIfCYeN9J2.aIY1S54iZ0UoV7 bOxgUq4kohwfMUKkhmZh4FysIwrXgQRp7476WuGTXLM8O_qgv9JY27gov0WYsY6TvCa_N9enp0WO eLczk6t8uHU9h8sZutVGnWTBrliRU1Y3Jszb3inpU0 X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ne1.yahoo.com with HTTP; Wed, 19 Oct 2022 01:33:33 +0000 Original-Received: by hermes--production-sg3-74fb94585-5k8np (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 08a63f4b5fb1fbc9e252bc3aa55ba103; Wed, 19 Oct 2022 01:33:30 +0000 (UTC) In-Reply-To: (Andrew De Angelis's message of "Tue, 18 Oct 2022 11:55:28 -0400") X-Mailer: WebService/1.1.20754 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.190.33; envelope-from=luangruo@yahoo.com; helo=sonic307-10.consmr.mail.ne1.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:298093 Archived-At: Andrew De Angelis writes: > Hello everyone and thanks for all your work! Hello, thanks for working on Emacs. > This is regarding TODO item: "Things to be done for specific packages > or features/NeXTstep port/Missing features/Improved xwidgets support" > > I've started working on the NS code for xwidget-webkit, with the aim > of bringing it up-to-date with the changes to the X11 and GTK code > (you can check my as-yet-still-very-minor changes at this fork). I'm > sending the email to: 1) check if someone is already working on this > 2) make sure I'm going about it the right way 3) inquire about the > current X11/GTK implementation. > > Regarding 1: I haven't found many recent matches for 'xwidget' in the > mailing list, but if you're aware of someone already working on this > effort, please let me know Sure. It would be good if you coordinated your efforts with Qiantian Hong (copied), who is also making changes in that area. > Regarding 2: As noted in the Contributing node of the manual, I'm > making you aware of my planned improvements and I'd like to know if > you have any suggestions/advice. My current plan is to go through the > xwidget.c code, take note of any functions/subroutines that are > defined for GTK but not NS, and add an NS implementation in xwidget.m. Thanks. It would be nice if someone resolved the more crucial issues first, though: - many procedures in nsxwidget.m crash when encountering killed xwidgets (see the doc string of `kill-xwidget' for more details.) - nsxwidget.m has apparently been written with Objective-C Automatic Reference Counting in mind, and thus leak memory, as Emacs cannot use ARC. > I will do my best to complete this so that the NS code will be fully > up-to-date. If there are any planned changes to xwidget.c or > xwidget.el for the upcoming 29.1 release, please let me know. I think it will probably be too late for Emacs 29.1, which will start the pre-release process soon, at which point changes that don't only fix regressions (and possibly the MS-DOS build) will not be allowed. Unless you can complete this work before November, that is. > Regarding 3: I do not have a Linux machine available at the moment, > which would be valuable to get a better sense of the current GTK > implementation (I'm working on finding additional volunteers to help > on this). Is there a standard-procedure I can follow to ask questions > here about the GTK implementation? Just send an email to this list, with me copied in. BTW, the canonical implementation is not a "GTK implementation", but rather two implementations combined in a single file through ifdefs: one for the regular X11 build, and the other for a GTK build that does not use any X Windows specific interfaces. > Is there a point person I should contact specifically? Me. > I would like to keep the two different implementations as consistent > as possible, while also making sure that common bugs are addressed. > One question I have regarding this is on the > `xwidget-webkit--loading-p' variable: in my build, I see that this is > set to true when creating a new session, but it is then never updated > to nil (even long after the web page has fully loaded). Since this > variable is not present in the C code, I'm not sure if this is a > limitation of the Lisp code (and therefore common regardless of the > underlying framework, GTK or NS), or if it's handled correctly in > other builds. I think the timer stops by itself, the variable is not all that important.