Subject: Re: bug#60187: [PATCH] whitespace: Clear bob and eob markers in `whitespace-color-off'

From: Stefan Kangas <[email-masked]>
Date: Wed, 10 Jan 2024 14:36:16 -0800

Richard Hansen <[email-masked]> writes:

> See attached.

Thanks for the patch and apologies for taking so long to reply.

Does this fix any particular issue or is this just a cleanup?

> From 225dc1f32c865a3b36eb9c6d3881b298c871e3a3 Mon Sep 17 00:00:00 2001
> From: Richard Hansen <[email-masked]>
> Date: Wed, 14 Dec 2022 01:57:17 -0500
> Subject: [PATCH] whitespace: Clear bob and eob markers in
>  `whitespace-color-off'
>
> * lisp/whitespace.el (whitespace-color-off): Clear markers when
> turning off `whitespace-mode'.
> * test/lisp/whitespace-tests.el (whitespace-tests--clear-markers): Add
> a test.
> ---
>  lisp/whitespace.el            | 4 +++-
>  test/lisp/whitespace-tests.el | 6 ++++++
>  2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/lisp/whitespace.el b/lisp/whitespace.el
> index 558be1841a..b747293eb4 100644
> --- a/lisp/whitespace.el
> +++ b/lisp/whitespace.el
> @@ -2220,7 +2220,9 @@ whitespace-color-off
>      (remove-hook 'clone-buffer-hook #'whitespace--clone t)
>      (remove-hook 'clone-indirect-buffer-hook #'whitespace--clone t)
>      (font-lock-remove-keywords nil whitespace-font-lock-keywords)
> -    (font-lock-flush)))
> +    (font-lock-flush)
> +    (set-marker whitespace-bob-marker nil)
> +    (set-marker whitespace-eob-marker nil)))
>
>  (defun whitespace-point--used (start end)
>    (let ((ostart (overlay-start whitespace-point--used)))
> diff --git a/test/lisp/whitespace-tests.el b/test/lisp/whitespace-tests.el
> index 7079c1ea5e..1780d6246d 100644
> --- a/test/lisp/whitespace-tests.el
> +++ b/test/lisp/whitespace-tests.el
> @@ -64,6 +64,12 @@ whitespace-tests--cleanup-string
>      (whitespace-cleanup)
>      (buffer-string)))
>
> +(ert-deftest whitespace-tests--clear-markers ()
> +  (whitespace-tests--with-test-buffer '(face empty)
> +    (whitespace-mode -1)
> +    (should (null (marker-buffer whitespace-bob-marker)))
> +    (should (null (marker-buffer whitespace-eob-marker)))))
> +
>  (ert-deftest whitespace-cleanup-eob ()
>    (let ((whitespace-style '(empty)))
>      (should (equal (whitespace-tests--cleanup-string "a\n")