summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Schmidt <jschmidt4gnu@vodafonemail.de>2023-09-26 22:26:15 +0200
committerStefan Monnier <monnier@iro.umontreal.ca>2023-10-05 14:00:20 -0400
commit6cf7e676e9d4846a72d48f21168e92e4efcbf95a (patch)
treef095535ed00b11f882f56e0e1775340ac17e52e5
parente9b88f61ccce16e6aad2ad8575a25c3665f8bde4 (diff)
downloademacs-6cf7e676e9d4846a72d48f21168e92e4efcbf95a.tar.gz
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.
-rw-r--r--lisp/progmodes/elisp-mode.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index bd3916ce108..354d98c50dc 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -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