all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andrew De Angelis <bobodeangelis@gmail.com>
To: Po Lu <luangruo@yahoo.com>
Cc: emacs-devel@gnu.org, Qiantan Hong <qthong@stanford.edu>
Subject: Re: Volunteering to help on etc/TODO item: Improved xwidgets support
Date: Tue, 18 Oct 2022 23:43:02 -0400	[thread overview]
Message-ID: <CAP5CrM1uUWc9Ceua9M7JkMBD+XyF2OJF23ecGqfEuukci99DNQ@mail.gmail.com> (raw)
In-Reply-To: <87k04wa97f.fsf@yahoo.com>

[-- Attachment #1: Type: text/plain, Size: 5511 bytes --]

Great, thanks for the informative reply!

It would be good if you coordinated your efforts with Qiantian
> Hong (copied), who is also making changes in that area.
>

Nice to meet you both. @Qiantian Hong let me know about your progress on
this, and if there's a specific area I should focus on, so we can combine
forces and avoid duplicate work.

Thanks.  It would be nice if someone resolved the more crucial issues
> first, though
>

I wasn't aware of these, but I will prioritize them.

Unless you can complete this work before November


Yeah, that's a tight deadline. I am going to try to fix the biggest issues
by then, but we'll probably have to wait until the next release to have
this included

I think the timer stops by itself, the variable is not all that
> important.
>

This is probably another NS-specific issue, but the timer doesn't always
stop in my build. The issue starts in `xwidget-webkit-callback'; it looks
like the  "load-finished" event sometimes (most of the times) doesn't
happen or is not received. I will add this to the list of things to fix.

One other possible Lisp bug: currently, `xwidget-webkit-current-url' always
returns "URL: nil" for me. This shouldn't depend on other xwidget code: the
issue is caused by the fact that `kill-new' doesn't return the string it
just added to the kill-ring. (If it does work in your builds let me know,
as I'd have to investigate what's causing such different behavior.)
This is my fix for this:

(defun xwidget-webkit-current-url ()
  "Display the current xwidget webkit URL and place it on the `kill-ring'."
  (interactive nil xwidget-webkit-mode)
  (let ((url (or (xwidget-webkit-uri (xwidget-webkit-current-session)) "")))
    (kill-new url)
    (message "URL: %s" url)))




On Tue, Oct 18, 2022 at 9:33 PM Po Lu <luangruo@yahoo.com> wrote:

> Andrew De Angelis <bobodeangelis@gmail.com> 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.
>

[-- Attachment #2: Type: text/html, Size: 7287 bytes --]

  reply	other threads:[~2022-10-19  3:43 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-18 15:55 Volunteering to help on etc/TODO item: Improved xwidgets support Andrew De Angelis
2022-10-19  1:33 ` Po Lu
2022-10-19  3:43   ` Andrew De Angelis [this message]
2022-10-19  4:45     ` Po Lu
2022-10-19  4:55       ` Andrew De Angelis
2022-10-19  5:11         ` Po Lu
2022-10-19 18:54     ` Qiantan Hong
2022-10-20  2:23       ` Andrew De Angelis
2022-10-20  2:46         ` Po Lu
2022-10-20 11:13         ` Daniel Martín
2022-10-21 23:29           ` Andrew De Angelis
2022-10-22  0:07             ` Po Lu
2022-10-22  2:13               ` Andrew De Angelis
2022-10-22  4:49               ` Matt Armstrong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAP5CrM1uUWc9Ceua9M7JkMBD+XyF2OJF23ecGqfEuukci99DNQ@mail.gmail.com \
    --to=bobodeangelis@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=luangruo@yahoo.com \
    --cc=qthong@stanford.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.