Skip to main content
added 349 characters in body
Source Link
Hi-Angel
  • 878
  • 10
  • 19

Reposting the comments as an answer as it was answered in comments:

It's a warning, […] but you should probably fix it […]. Search in your init.el for a single quote quoting a lambda expression: '(lambda - you can just follow the recommendation of the warning and change it to #'(lambda - but lambda expressions are self evaluating in any case, so there is probably no reason to quote it at all.

Effectively, the Emacs compiler can compile #'(lambda ...) to byte code, whereas '(lambda ...) can be a plain lisp list which just happen to start with the atom lambda, so the compiler is not allowed to compile it.

Please note that (lambda ...) is a self-quoting form (using function-quoting) such that it is the same thing as #'(lambda ...) -- but different to '(lambda ...) (the latter being a regular quote rather than a function quote). So the best fix is to not use any explicit quoting, and then function-quoting is used automatically.

Emacs documentation also mentions that at the bottom of this page.

Reposting the comments as an answer as it was answered in comments:

It's a warning, […] but you should probably fix it […]. Search in your init.el for a single quote quoting a lambda expression: '(lambda - you can just follow the recommendation of the warning and change it to #'(lambda - but lambda expressions are self evaluating in any case, so there is probably no reason to quote it at all.

Effectively, the Emacs compiler can compile #'(lambda ...) to byte code, whereas '(lambda ...) can be a plain lisp list which just happen to start with the atom lambda, so the compiler is not allowed to compile it.

Emacs documentation also mentions that at the bottom of this page.

Reposting the comments as an answer as it was answered in comments:

It's a warning, […] but you should probably fix it […]. Search in your init.el for a single quote quoting a lambda expression: '(lambda - you can just follow the recommendation of the warning and change it to #'(lambda - but lambda expressions are self evaluating in any case, so there is probably no reason to quote it at all.

Effectively, the Emacs compiler can compile #'(lambda ...) to byte code, whereas '(lambda ...) can be a plain lisp list which just happen to start with the atom lambda, so the compiler is not allowed to compile it.

Please note that (lambda ...) is a self-quoting form (using function-quoting) such that it is the same thing as #'(lambda ...) -- but different to '(lambda ...) (the latter being a regular quote rather than a function quote). So the best fix is to not use any explicit quoting, and then function-quoting is used automatically.

Emacs documentation also mentions that at the bottom of this page.

added 154 characters in body
Source Link
Hi-Angel
  • 878
  • 10
  • 19

Reposting the comments as an answer as it was answered in comments:

It's a warning, […] but you should probably fix it […]. Search in your init.el for a single quote quoting a lambda expression: '(lambda - you can just follow the recommendation of the warning and change it to #'(lambda - but lambda expressions are self evaluating in any case, so there is probably no reason to quote it at all.

Effectively, the Emacs compiler can compile #'(lambda ...) to byte code, whereas '(lambda ...) can be a plain lisp list which just happen to start with the atom lambda, so the compiler is not allowed to compile it.

Emacs documentation also mentions that at the bottom of this page.

Reposting the comments as an answer as it was answered in comments:

It's a warning, […] but you should probably fix it […]. Search in your init.el for a single quote quoting a lambda expression: '(lambda - you can just follow the recommendation of the warning and change it to #'(lambda - but lambda expressions are self evaluating in any case, so there is probably no reason to quote it at all.

Effectively, the Emacs compiler can compile #'(lambda ...) to byte code, whereas '(lambda ...) can be a plain lisp list which just happen to start with the atom lambda, so the compiler is not allowed to compile it.

Reposting the comments as an answer as it was answered in comments:

It's a warning, […] but you should probably fix it […]. Search in your init.el for a single quote quoting a lambda expression: '(lambda - you can just follow the recommendation of the warning and change it to #'(lambda - but lambda expressions are self evaluating in any case, so there is probably no reason to quote it at all.

Effectively, the Emacs compiler can compile #'(lambda ...) to byte code, whereas '(lambda ...) can be a plain lisp list which just happen to start with the atom lambda, so the compiler is not allowed to compile it.

Emacs documentation also mentions that at the bottom of this page.

Source Link
Hi-Angel
  • 878
  • 10
  • 19

Reposting the comments as an answer as it was answered in comments:

It's a warning, […] but you should probably fix it […]. Search in your init.el for a single quote quoting a lambda expression: '(lambda - you can just follow the recommendation of the warning and change it to #'(lambda - but lambda expressions are self evaluating in any case, so there is probably no reason to quote it at all.

Effectively, the Emacs compiler can compile #'(lambda ...) to byte code, whereas '(lambda ...) can be a plain lisp list which just happen to start with the atom lambda, so the compiler is not allowed to compile it.

Post Made Community Wiki by Hi-Angel