From 11eb4ac32e56f37e4a61f1562938d9e09ac09338 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Fri, 17 Jan 2025 10:57:46 +0000 Subject: [PATCH] Flymake: fix bug introduced recently Must protect against flymake--state never having been a hash table at all, so that flymake-mode can be safely turned off even if it never turned on in the first place. Github-reference: https://github.com/joaotavora/eglot/discussions/1480 * lisp/progmodes/flymake.el (flymake-mode): Fix bug. (cherry picked from commit f7ff5f1ba4e87596cb4e055492b0e99321fd9950) --- lisp/progmodes/flymake.el | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index 0d1b4d6f430..d84b55e513d 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el @@ -1641,9 +1641,10 @@ special *Flymake log* buffer." :group 'flymake :lighter (cancel-timer flymake-timer) (setq flymake-timer nil)) (mapc #'flymake--delete-overlay (flymake--really-all-overlays)) - (maphash (lambda (_backend state) - (flymake--clear-foreign-diags state)) - flymake--state))) + (when flymake--state + (maphash (lambda (_backend state) + (flymake--clear-foreign-diags state)) + flymake--state)))) ;; turning Flymake on or off has consequences for listings (flymake--update-diagnostics-listings (current-buffer))) -- 2.39.5