]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix whitespace-mode display table restoration logic
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 15 Jul 2022 10:07:19 +0000 (12:07 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 15 Jul 2022 10:07:19 +0000 (12:07 +0200)
* lisp/whitespace.el (whitespace-display-char-on): Fix the saving
logic -- `whitespace-mode' is on by this point (bug#48583).

lisp/whitespace.el

index 240f99effc2adffd8ddc6ee19268ad4e698cda91..41b0a34f9ea9c6973f52cb03fdf3ff1dfc8f1dea 100644 (file)
@@ -2403,9 +2403,11 @@ to `indent-tabs-mode' and `tab-width'."
       ;; Remember whether a buffer has a local display table.
       (unless whitespace-display-table-was-local
        (setq whitespace-display-table-was-local t)
-        (unless (or whitespace-mode global-whitespace-mode)
-             (setq whitespace-display-table
-             (copy-sequence buffer-display-table)))
+        ;; Save the old table so we can restore it when
+        ;; `whitespace-mode' is switched off again.
+        (when (or whitespace-mode global-whitespace-mode)
+         (setq whitespace-display-table
+               (copy-sequence buffer-display-table)))
        ;; Assure `buffer-display-table' is unique
        ;; when two or more windows are visible.
        (setq buffer-display-table