Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with native compilation when using straight.el and use-package #1166

Closed
Panadestein opened this issue Jun 26, 2023 · 12 comments
Closed

Comments

@Panadestein
Copy link

Hello,

I'm having an issue with yasnippet when using straight.el and use-package.

Here's my setup:

Emacs version: 3a50773ab0071addba98249d26c309f5fb78bd74
yasnippet version: master
Package setup: Installed via straight.el and use-package

Here's the configuration I use to set up yasnippet:

(use-package yasnippet
  :straight t
  :config
  (yas-global-mode 1))

When I run emacs --debug-init I get the following error:

⛔ Warning (initialization): An error occurred while loading ‘/home/loren/.emacs.d/init.el’:

Symbol's function definition is void: (setf internal--with-suppressed-warnings)

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the ‘--debug-init’ option to view a complete error backtrace.

If I run some command afterward, I get this error:

yas--template-menu-binding-pair-get-create: Symbol's function definition is void: \(setf\ internal--with-suppressed-warnings\)

How can this be solved? Thanks in advance.

@SjB
Copy link

SjB commented Jun 26, 2023

I'm also seeing this error. on GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) of 2023-06-25 using the Melpa 20200604.246 version of yasnippets.

@SjB
Copy link

SjB commented Jun 26, 2023

The error is from the yasnippet-snippets package.

@Panadestein
Copy link
Author

@SjB how did you debug this? Did you find a workaround?

@SjB
Copy link

SjB commented Jun 27, 2023

No workaround yet didn't have time.

@dalugm
Copy link

dalugm commented Jun 27, 2023

The error is from the yasnippet-snippets package.

I guess not, I'm not using yasnippet-snippets and I still met this error.

And this error also happens in my config, one in borg managed, one in use-package managed.

I think it's the new version Emacs leads to this.

Using Emacs 29.0.92 works fine, but using the master branch broke.

The only problem is to figure out which commit leads this...

@Panadestein
Copy link
Author

Panadestein commented Jun 27, 2023

There is relevant information on the Emacs mailing list. It has been suggested that it is related to refactoring macroexpand in this commit e85ebb3d82466c5838e9c6836e6d8b5c8d0a7c33

@Panadestein
Copy link
Author

I haven't debugged in detail yet, but rolling back to 8806bbbf2cdae00faacab9cec634072ce4e80b6f lets me use yasnippet again.

@dalugm
Copy link

dalugm commented Jun 28, 2023

This issue seems like related to this:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64292

After add lexical-binding: t in yasnippets.el, I can use yasnippet just like before.

@edkolev
Copy link

edkolev commented Jun 28, 2023

Adding lexical-binding: t in yasnippets.el mitigates the issue for me as well. However, I can't help but wonder what it breaks in yasnippet :)

@Panadestein
Copy link
Author

Shall we make a pull request adding it?

@edkolev
Copy link

edkolev commented Jun 28, 2023

I don't think it's as simple as just enabling it - there might be places in the code which rely on a dynamic (as opposed to lexical) scoping. The challenge would be to check there are no regressions after the switch.

I see this comment mentions making the switch #926 (comment)

@Panadestein
Copy link
Author

As discussed in the emacs-devel mailing list, the issue got solved in dcd92090950929eeea3040fcac0294b7a4d839f0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants