Playing with the master branch

For daily use, I use Nyxt 2.2.4, but from time to time I check out the master branch to see what’s hot. Today, I noticed I can’t really use master with my Nyxt configuration. I get error messages during processing init.lisp, and even if I completely remove it, there are lots of errors, probably due to my history, bookmark, and other auto-generated files.

Is there some way to be able to use both in parallel? Managing history/configuration by version, for example?

1 Like

Oh yes, we removed define-configuration carelessly :sweat_smile:

We’ll get it back soon, though, so it all should work just fine, just wait a bit.

The history and bookmarks part sounds strange — we changed nothing here. Are you sure it’s not auto-config or something else configuration-related?

OK, missing define-configuration explains a lot…

No, I am not sure about anything at all. Maybe my problem us auto-config, I was just guessing!

I’ll wait a bit before trying again, hoping that define-configuration will be back :slight_smile:

I believe this should be fixed now, right @aartaka?

Yes! Hopefully :-D, only one way to find out!

Right. Let’s do it :slight_smile:

Here’s what happens when I start Nyxt, compiled from the current state of master using a very recent Guix, with an empty init.lisp:

  1. Nothing at all for 35 seconds.
  2. Console output:
Gtk-Message: 17:00:11.213: Failed to load module "canberra-gtk-module"
Gtk-Message: 17:00:11.214: Failed to load module "canberra-gtk-module"
<INFO> [17:00:11] Listening to socket #P"/run/user/502/nyxt/nyxt.socket".
Nyxt version 3
<INFO> [17:00:11] Loading Lisp file #P"/home/hinsen/Repos/system-configuration/tux/dot-files/config/nyxt/auto-config.lisp".
<INFO> [17:00:11] Loading Lisp file #P"/home/hinsen/Repos/system-configuration/tux/dot-files/config/nyxt/init.lisp".

(nyxt:307928): Gtk-CRITICAL **: 17:00:11.491: gtk_box_pack: assertion 'GTK_IS_WIDGET (child)' failed
<INFO> [17:00:11] GTK extensions directory: #P"/home/hinsen/common-lisp/nyxt/libraries/web-extensions/"
<INFO> [17:00:11] Loading #P"/home/hinsen/.local/share/nyxt/history/default.lisp".
<WARN> [17:00:11] History version "2.2.4" differs from current version "3"
Gtk-Message: 17:00:11.955: Failed to load module "canberra-gtk-module"
Gtk-Message: 17:00:11.956: Failed to load module "canberra-gtk-module"
Gtk-Message: 17:00:11.973: Failed to load module "canberra-gtk-module"
Gtk-Message: 17:00:11.974: Failed to load module "canberra-gtk-module"
The WebExtensions support library is loaded
The WebExtensions support library is loaded
  1. The browser window opens.

Fine so far, except for those 35 seconds. What’s happening?

Now let’s put stuff back into init.lisp.

(define-configuration browser
  ((session-restore-prompt :always-restore)))

works fine (after 35 seconds).

(define-configuration buffer
  ((default-modes (append '(nyxt::emacs-mode) %slot-default%))))

35 seconds again, then:

Gtk-Message: 17:04:17.559: Failed to load module "canberra-gtk-module"
Gtk-Message: 17:04:17.562: Failed to load module "canberra-gtk-module"
<INFO> [17:04:17] Listening to socket #P"/run/user/502/nyxt/nyxt.socket".
Nyxt version 3
<INFO> [17:04:17] Loading Lisp file #P"/home/hinsen/Repos/system-configuration/tux/dot-files/config/nyxt/auto-config.lisp".
<INFO> [17:04:17] Loading Lisp file #P"/home/hinsen/Repos/system-configuration/tux/dot-files/config/nyxt/init.lisp".

(nyxt:311187): Gtk-CRITICAL **: 17:04:17.839: gtk_box_pack: assertion 'GTK_IS_WIDGET (child)' failed
<INFO> [17:04:17] GTK extensions directory: #P"/home/hinsen/common-lisp/nyxt/libraries/web-extensions/"
WARNING:
   redefining DEFAULT-MODES :AROUND (#<USER-CLASS NYXT:BUFFER>) in DEFMETHOD
<WARN> [17:04:17] Warning: Error on GTK thread: There is no class named NYXT::EMACS-MODE.

and no browser window.

I’ll stop here, adding just that every define-command-global cases an error message that I don’t understand - it just says that the symbol I am defining is not defined.

every define-command-global causes an error message

I can confirm that. A leaky macro, perhaps?

Regarding 35 seconds: Whaaaaaat? 0_o I mean, Nyxt startup has never been instantaneous, but that’s beyond any expectation… Care to report on GitHub once we resolve other problems?

Regarding emacs-mode: it’s no longer inside nyxt:, it’s nyxt/emacs-mode:emacs-mode now.

Regarding define-command-global: try nyxt:define-command-global, it may not be resolved properly sometimes somewhy…