akirakyle / emacs-webkit

An Emacs Dynamic Module for WebKit, aka a fully fledged browser inside emacs
GNU General Public License v3.0
419 stars 24 forks source link

Unable to activate insert state #24

Open dalanicolai opened 3 years ago

dalanicolai commented 3 years ago

When I press "i" the echo area messages Entering webkit insert mode, press C-g to exit, however when I try to enter any characters, it seems Emacs still has focus because typing characters just trigger the Emacs commands. Some more steps are required to really get into insert mode?

akirakyle commented 3 years ago

That should be all that's necessary, but the handling of focus isn't straightforward. Can you test with emacs -Q to make sure there isn't some other loaded elisp interfering?

dalanicolai commented 3 years ago

Yes, did that already. Started emacs -Q then used command webkit and entered 'google.com'. To be sure, I first click with the mouse in the google search field, and press i. I see a cursor blinking, but when I press e.g. h then it opens the Webkit mode help buffer, instead of inserting the character.

akirakyle commented 3 years ago

Strange, are you using emacs --with-x or --with-pgtk? The next thing to test would be to build with make debug and post the debug log.

dalanicolai commented 3 years ago

I have configured the build using "./configure --with-imagemagick --with-cairo --with-modules". I am willing to build Emacs with make debug, but I am not a developer and I do not know how to add the rule for the DEBUG target.

On Thu, 24 Dec 2020 at 21:33, Akira Kyle notifications@github.com wrote:

Strange, are you using emacs --with-x or --with-pgtk? The next thing to test would be to build with make debug and post the debug log.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/akirakyle/emacs-webkit/issues/24#issuecomment-750998778, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEMTOX4Q2VHVITU74DN64D3SWOQTJANCNFSM4VERBBCA .

dalanicolai commented 3 years ago

Also do you know if I can build the webkit module using a Quelpa recipe? I can't find it, and my question did not get answered (twice). I am using Spacemacs which uses Quelpa for package management.

akirakyle commented 3 years ago

So you should be on emacs --with-x as that's the default. Sorry I should have clarified, I meant make emacs-webkit with make debug, not emacs itself.

As far as a Quelpa recipe goes, see the start of the Installation section in the README. To expand on that, I'm not very familiar with Quelpa, but I'm not sure if it supports custom build steps beyond byte compiling elisp. Currently that's a prerequisite to using a package manager to install emacs-webkit as emacs' builtin package.el has no concept of external build steps.

dalanicolai commented 3 years ago

As it kept quiet, I figured that probably I posted the wrong output. Anyway, building webkit using make -d results in the following output:

GNU Make 4.3
Built for x86_64-redhat-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Reading makefile 'Makefile'...
Updating makefiles....
 Considering target file 'Makefile'.
  Looking for an implicit rule for 'Makefile'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.o'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.c'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.cc'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.C'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.cpp'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.p'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.f'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.F'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.m'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.r'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.s'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.S'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.mod'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.sh'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile,v'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'RCS/Makefile,v'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'RCS/Makefile'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 's.Makefile'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'SCCS/s.Makefile'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.o'.
  Looking for a rule with intermediate file 'Makefile.o'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.c'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.cc'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.C'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.cpp'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.p'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.f'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.F'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.m'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.r'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.s'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.S'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.mod'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 'Makefile.o,v'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 'RCS/Makefile.o,v'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 'RCS/Makefile.o'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 's.Makefile.o'.
   Trying pattern rule with stem 'Makefile.o'.
   Trying implicit prerequisite 'SCCS/s.Makefile.o'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.c'.
   Looking for a rule with intermediate file 'Makefile.c'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.y'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.l'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.w'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.w'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 'Makefile.c,v'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 'RCS/Makefile.c,v'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 'RCS/Makefile.c'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 's.Makefile.c'.
    Trying pattern rule with stem 'Makefile.c'.
    Trying implicit prerequisite 'SCCS/s.Makefile.c'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.y'.
    Looking for a rule with intermediate file 'Makefile.y'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 'Makefile.y,v'.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 'RCS/Makefile.y,v'.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 'RCS/Makefile.y'.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 's.Makefile.y'.
     Trying pattern rule with stem 'Makefile.y'.
     Trying implicit prerequisite 'SCCS/s.Makefile.y'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.l'.
    Looking for a rule with intermediate file 'Makefile.l'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 'Makefile.l,v'.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 'RCS/Makefile.l,v'.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 'RCS/Makefile.l'.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 's.Makefile.l'.
     Trying pattern rule with stem 'Makefile.l'.
     Trying implicit prerequisite 'SCCS/s.Makefile.l'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.w'.
    Looking for a rule with intermediate file 'Makefile.w'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 'Makefile.w,v'.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 'RCS/Makefile.w,v'.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 'RCS/Makefile.w'.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 's.Makefile.w'.
     Trying pattern rule with stem 'Makefile.w'.
     Trying implicit prerequisite 'SCCS/s.Makefile.w'.
    Trying pattern rule with stem 'Makefile'.
    Rejecting impossible implicit prerequisite 'Makefile.w'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.cc'.
   Looking for a rule with intermediate file 'Makefile.cc'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 'Makefile.cc,v'.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 'RCS/Makefile.cc,v'.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 'RCS/Makefile.cc'.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 's.Makefile.cc'.
    Trying pattern rule with stem 'Makefile.cc'.
    Trying implicit prerequisite 'SCCS/s.Makefile.cc'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.C'.
   Looking for a rule with intermediate file 'Makefile.C'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 'Makefile.C,v'.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 'RCS/Makefile.C,v'.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 'RCS/Makefile.C'.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 's.Makefile.C'.
    Trying pattern rule with stem 'Makefile.C'.
    Trying implicit prerequisite 'SCCS/s.Makefile.C'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.cpp'.
   Looking for a rule with intermediate file 'Makefile.cpp'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 'Makefile.cpp,v'.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 'RCS/Makefile.cpp,v'.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 'RCS/Makefile.cpp'.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 's.Makefile.cpp'.
    Trying pattern rule with stem 'Makefile.cpp'.
    Trying implicit prerequisite 'SCCS/s.Makefile.cpp'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.p'.
   Looking for a rule with intermediate file 'Makefile.p'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.web'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 'Makefile.p,v'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 'RCS/Makefile.p,v'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 'RCS/Makefile.p'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 's.Makefile.p'.
    Trying pattern rule with stem 'Makefile.p'.
    Trying implicit prerequisite 'SCCS/s.Makefile.p'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.web'.
    Looking for a rule with intermediate file 'Makefile.web'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 'Makefile.web,v'.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 'RCS/Makefile.web,v'.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 'RCS/Makefile.web'.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 's.Makefile.web'.
     Trying pattern rule with stem 'Makefile.web'.
     Trying implicit prerequisite 'SCCS/s.Makefile.web'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.f'.
   Looking for a rule with intermediate file 'Makefile.f'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.F'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.r'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 'Makefile.f,v'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 'RCS/Makefile.f,v'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 'RCS/Makefile.f'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 's.Makefile.f'.
    Trying pattern rule with stem 'Makefile.f'.
    Trying implicit prerequisite 'SCCS/s.Makefile.f'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.F'.
    Looking for a rule with intermediate file 'Makefile.F'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 'Makefile.F,v'.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 'RCS/Makefile.F,v'.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 'RCS/Makefile.F'.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 's.Makefile.F'.
     Trying pattern rule with stem 'Makefile.F'.
     Trying implicit prerequisite 'SCCS/s.Makefile.F'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.r'.
    Looking for a rule with intermediate file 'Makefile.r'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile'.
     Rejecting impossible implicit prerequisite 'Makefile.l'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 'Makefile.r,v'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 'RCS/Makefile.r,v'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 'RCS/Makefile.r'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 's.Makefile.r'.
     Trying pattern rule with stem 'Makefile.r'.
     Trying implicit prerequisite 'SCCS/s.Makefile.r'.
   Trying pattern rule with stem 'Makefile'.
   Rejecting impossible implicit prerequisite 'Makefile.F'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.m'.
   Looking for a rule with intermediate file 'Makefile.m'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.ym'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 'Makefile.m,v'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 'RCS/Makefile.m,v'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 'RCS/Makefile.m'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 's.Makefile.m'.
    Trying pattern rule with stem 'Makefile.m'.
    Trying implicit prerequisite 'SCCS/s.Makefile.m'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.ym'.
    Looking for a rule with intermediate file 'Makefile.ym'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 'Makefile.ym,v'.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 'RCS/Makefile.ym,v'.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 'RCS/Makefile.ym'.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 's.Makefile.ym'.
     Trying pattern rule with stem 'Makefile.ym'.
     Trying implicit prerequisite 'SCCS/s.Makefile.ym'.
   Trying pattern rule with stem 'Makefile'.
   Rejecting impossible implicit prerequisite 'Makefile.r'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.s'.
   Looking for a rule with intermediate file 'Makefile.s'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.S'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 'Makefile.s,v'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 'RCS/Makefile.s,v'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 'RCS/Makefile.s'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 's.Makefile.s'.
    Trying pattern rule with stem 'Makefile.s'.
    Trying implicit prerequisite 'SCCS/s.Makefile.s'.
    Trying pattern rule with stem 'Makefile'.
    Trying implicit prerequisite 'Makefile.S'.
    Looking for a rule with intermediate file 'Makefile.S'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 'Makefile.S,v'.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 'RCS/Makefile.S,v'.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 'RCS/Makefile.S'.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 's.Makefile.S'.
     Trying pattern rule with stem 'Makefile.S'.
     Trying implicit prerequisite 'SCCS/s.Makefile.S'.
   Trying pattern rule with stem 'Makefile'.
   Rejecting impossible implicit prerequisite 'Makefile.S'.
   Trying pattern rule with stem 'Makefile'.
   Trying implicit prerequisite 'Makefile.mod'.
   Looking for a rule with intermediate file 'Makefile.mod'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 'Makefile.mod,v'.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 'RCS/Makefile.mod,v'.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 'RCS/Makefile.mod'.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 's.Makefile.mod'.
    Trying pattern rule with stem 'Makefile.mod'.
    Trying implicit prerequisite 'SCCS/s.Makefile.mod'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.c'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.cc'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.C'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.cpp'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.p'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.f'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.F'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.m'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.r'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.s'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.S'.
  Trying pattern rule with stem 'Makefile'.
  Rejecting impossible implicit prerequisite 'Makefile.mod'.
  Trying pattern rule with stem 'Makefile'.
  Trying implicit prerequisite 'Makefile.sh'.
  Looking for a rule with intermediate file 'Makefile.sh'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 'Makefile.sh,v'.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 'RCS/Makefile.sh,v'.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 'RCS/Makefile.sh'.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 's.Makefile.sh'.
   Trying pattern rule with stem 'Makefile.sh'.
   Trying implicit prerequisite 'SCCS/s.Makefile.sh'.
  No implicit rule found for 'Makefile'.
  Finished prerequisites of target file 'Makefile'.
 No need to remake target 'Makefile'.
Updating goal targets....
Considering target file 'all'.
 File 'all' does not exist.
  Considering target file 'webkit-module.so'.
    Considering target file 'webkit-module.c'.
     Looking for an implicit rule for 'webkit-module.c'.
     Trying pattern rule with stem 'webkit-module'.
     Trying implicit prerequisite 'webkit-module.y'.
     Trying pattern rule with stem 'webkit-module'.
     Trying implicit prerequisite 'webkit-module.l'.
     Trying pattern rule with stem 'webkit-module'.
     Trying implicit prerequisite 'webkit-module.w'.
     Trying pattern rule with stem 'webkit-module'.
     Trying implicit prerequisite 'webkit-module.w'.
     Trying pattern rule with stem 'webkit-module.c'.
     Trying implicit prerequisite 'webkit-module.c,v'.
     Trying pattern rule with stem 'webkit-module.c'.
     Trying implicit prerequisite 'RCS/webkit-module.c,v'.
     Trying pattern rule with stem 'webkit-module.c'.
     Trying implicit prerequisite 'RCS/webkit-module.c'.
     Trying pattern rule with stem 'webkit-module.c'.
     Trying implicit prerequisite 's.webkit-module.c'.
     Trying pattern rule with stem 'webkit-module.c'.
     Trying implicit prerequisite 'SCCS/s.webkit-module.c'.
     Trying pattern rule with stem 'webkit-module'.
     Trying implicit prerequisite 'webkit-module.y'.
     Looking for a rule with intermediate file 'webkit-module.y'.
      Avoiding implicit rule recursion.
      Trying pattern rule with stem 'webkit-module.y'.
      Trying implicit prerequisite 'webkit-module.y,v'.
      Trying pattern rule with stem 'webkit-module.y'.
      Trying implicit prerequisite 'RCS/webkit-module.y,v'.
      Trying pattern rule with stem 'webkit-module.y'.
      Trying implicit prerequisite 'RCS/webkit-module.y'.
      Trying pattern rule with stem 'webkit-module.y'.
      Trying implicit prerequisite 's.webkit-module.y'.
      Trying pattern rule with stem 'webkit-module.y'.
      Trying implicit prerequisite 'SCCS/s.webkit-module.y'.
     Trying pattern rule with stem 'webkit-module'.
     Trying implicit prerequisite 'webkit-module.l'.
     Looking for a rule with intermediate file 'webkit-module.l'.
      Avoiding implicit rule recursion.
      Trying pattern rule with stem 'webkit-module.l'.
      Trying implicit prerequisite 'webkit-module.l,v'.
      Trying pattern rule with stem 'webkit-module.l'.
      Trying implicit prerequisite 'RCS/webkit-module.l,v'.
      Trying pattern rule with stem 'webkit-module.l'.
      Trying implicit prerequisite 'RCS/webkit-module.l'.
      Trying pattern rule with stem 'webkit-module.l'.
      Trying implicit prerequisite 's.webkit-module.l'.
      Trying pattern rule with stem 'webkit-module.l'.
      Trying implicit prerequisite 'SCCS/s.webkit-module.l'.
     Trying pattern rule with stem 'webkit-module'.
     Trying implicit prerequisite 'webkit-module.w'.
     Looking for a rule with intermediate file 'webkit-module.w'.
      Avoiding implicit rule recursion.
      Trying pattern rule with stem 'webkit-module.w'.
      Trying implicit prerequisite 'webkit-module.w,v'.
      Trying pattern rule with stem 'webkit-module.w'.
      Trying implicit prerequisite 'RCS/webkit-module.w,v'.
      Trying pattern rule with stem 'webkit-module.w'.
      Trying implicit prerequisite 'RCS/webkit-module.w'.
      Trying pattern rule with stem 'webkit-module.w'.
      Trying implicit prerequisite 's.webkit-module.w'.
      Trying pattern rule with stem 'webkit-module.w'.
      Trying implicit prerequisite 'SCCS/s.webkit-module.w'.
     Trying pattern rule with stem 'webkit-module'.
     Rejecting impossible implicit prerequisite 'webkit-module.w'.
     No implicit rule found for 'webkit-module.c'.
     Finished prerequisites of target file 'webkit-module.c'.
    No need to remake target 'webkit-module.c'.
   Finished prerequisites of target file 'webkit-module.so'.
   Prerequisite 'webkit-module.c' is older than target 'webkit-module.so'.
  No need to remake target 'webkit-module.so'.
 Finished prerequisites of target file 'all'.
Must remake target 'all'.
Successfully remade target file 'all'.
make: Nothing to be done for 'all'.
akirakyle commented 3 years ago

There is a debug target in the dead simple Makefile which turns out debugging print messages in the module. So run make clean && make debug to enable them then post what Emacs spits to stdout when you try to activate insert state.

dalanicolai commented 3 years ago

Ah okay, thanks that's clear. So I did as you said, but there is no output on entering the input state. I visit google.com, then I click on the search entry element with the mouse (to make sure the window is selected), but this does not yet cause a cursor to show. Finally I press i and then the cursor in the search entry element appears. However nothing happens in the terminal. Finally I press h while in input state but the the mode-help buffer pops up, which effects in some output in the terminal:

c 0x18e42a0 executing script: window.scrollBy(0, -17); id: (null)
c 0x18e42a0 executing script: window.scrollBy(0, -17); id: (null)
xid_to_pointer xid 153092418
window 0x1d3e260 focused 1
widget 0x1d40130; fixed 0; type GtkBox
widget 0x1bed1b0; fixed 0; type GtkMenuBar
widget 0x1d421a0; fixed 0; type GtkToolbar
widget 0x1d40290; fixed 0; type GtkBox
widget 0x1d41130; fixed 1; type EmacsFixed
fixed 0x1d41130 xid 153092418
c 0x18e42a0 move_to_frame 0x1d3e260
window 0x1d3e260 focused 1
widget 0x1d40130; fixed 0; type GtkBox
widget 0x1bed1b0; fixed 0; type GtkMenuBar
widget 0x1d421a0; fixed 0; type GtkToolbar
widget 0x1d40290; fixed 0; type GtkBox
widget 0x1d41130; fixed 1; type EmacsFixed
c 0x18e42a0 change_container from 0x1d41130 to 0x1d41130
c 0x18e42a0 removing child with x: 656, y: 0
c 0x18e42a0 removing child with x: 656, y: 595
c 0x18e42a0 resize (x:8 y:0 w:640 h:289)

the first two lines are from scrolling C-n. Then nothing happens when entering insert state. Finally the rest of the output appears after I press h and the mode-help buffer appears. I did this starting from emacs -Q btw...

scottviteri commented 3 years ago

I am having the same issue. Upon manually running the webkit-insert-mode command I receive the following error:

Debugger entered--Lisp error: (wrong-type-argument user-ptrp nil)
  webkit--focus(nil)
  webkit-insert-mode()
  eval((webkit-insert-mode) t)
  eval-expression((webkit-insert-mode) nil nil 127)
  funcall-interactively(eval-expression (webkit-insert-mode) nil nil 127)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)

Looking at the code I see

(defun webkit-insert-mode (&optional webkit-id)
  (interactive)
  (message "Entering webkit insert mode, press C-g to exit")
  (webkit--focus (or webkit-id webkit--id)))

so webkit-id and webkit--id must be nil. When I look at the value of webkit--id I see nil. The code that I believe sets webkit--id:

(setq webkit--id (webkit--new
                           (make-pipe-process :name "webkit"
                                              :buffer buffer
                                              :filter 'webkit--filter
                                              :noquery noquery)
                           webkit-own-window))

though I do not see a definition of webkit--new.

austinweisgrau commented 2 years ago

Building emacs with pgtk window system rather than X fixes this issue

Here are instructions to build emacs with pgtk: https://deathwish.info/2020/08/01/pgtk-nativecomp/

See parallel bug #18

scottviteri commented 2 years ago

My understanding is that this would force me to choose between using emacs-webkit and EXWM.