1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 14:01:43 -08:00

Silence macro expansion during completion at point

To keep risk in the current release branch low, do not avoid compiler
macros as suggested by Stefan in the bug, but rather suppress all errors.

* lisp/progmodes/elisp-mode.el (elisp--local-variables): Silence
messages.  Suppress all errors during macro expansion.  (Bug#58148)

Do not merge to master.
This commit is contained in:
Jens Schmidt 2023-09-26 22:26:15 +02:00 committed by Stefan Monnier
parent e9b88f61cc
commit 6cf7e676e9

View file

@ -447,9 +447,14 @@ be used instead.
(error form))))
(sexp
(unwind-protect
(let ((warning-minimum-log-level :emergency))
;; Silence any macro expansion errors when
;; attempting completion at point (bug#58148).
(let ((inhibit-message t)
(warning-minimum-log-level :emergency))
(advice-add 'macroexpand :around macroexpand-advice)
(macroexpand-all sexp))
(condition-case nil
(macroexpand-all sexp)
(error sexp)))
(advice-remove 'macroexpand macroexpand-advice)))
(vars (elisp--local-variables-1 nil sexp)))
(delq nil