justin-roche / serenade-mode

Emacs minor mode providing integration with Serenade
18 stars 3 forks source link

Void variables/function definitions #4

Open skalyan91 opened 3 years ago

skalyan91 commented 3 years ago

I’m trying to use serenade-mode on Doom Emacs. However, when I add (require 'serenade-mode) to my config file and reload Emacs, I get the following error:

Error in private config: config.el, (void-variable serenade-global-set-speech)

And when I run serenade-connect, I get the following error:

Error (websocket): in callback `on-open': Symbol's function definition is void: serenade--info

I thought this might be because the package loads the cl library instead of cl-lib; but I tried making this change in a fork and it doesn’t help.

Thanks for making this package, though! I’m excited at the possibility of using Serenade with my favourite text editor.

justin-roche commented 3 years ago

The first error would occur if the files weren't loaded at the time of the call to global-set-speech. Maybe doom is doing some kind of optimization for the loading that is making it lazy? You might try loading serenade-mode as a distributed package. To do that install Cask globally then run "cask package" inside the serenade-mode directory. Then use doom's package manager to load serenade-mode as a package from the newly created serenade-mode/dist directory. In vanilla emacs this will show some compilation warnings but it functions normally afterwords. Let me know if that helps any.

skalyan91 commented 3 years ago

Sorry for the slow reply! I’ve now installed Cask, run cask package in the serenade-mode directory, and loaded serenade-mode into Doom from the serenade-mode/dist directory—but I still get the same error about serenade-global-set-speech on startup.

However, when I run serenade-connect, I now get a different error:

Symbol’s function definition is void: serenade--log-and-message