Subject: Re: bug#66071: 30.0.50; term-scroll-to-bottom-on-output missing choices

From: Mauro Aranda <[email-masked]>
Date: Sun, 24 Sep 2023 08:38:51 -0300

On 18/9/23 12:22, Robert Pluim wrote:
 >>>>>> On Mon, 18 Sep 2023 12:12:41 -0300, Mauro Aranda 
<[email-masked]> said:
 >
 >      Mauro> On 18/9/23 11:20, Robert Pluim wrote:
 >      >> On Mon, 18 Sep 2023 09:20:07 -0300, Mauro Aranda
 >      Mauro>   <[email-masked]> said:
 >      >>      Mauro> Patch attached.
 >      >>
 >      >>      Mauro> From d891a9f705b3b4af2aedeed645f4636535ea6c2e Mon 
Sep 17
 >      Mauro>  00:00:00 2001
 >      >>      Mauro> From: Mauro Aranda <[email-masked]>
 >      >>      Mauro> Date: Mon, 18 Sep 2023 09:19:04 -0300
 >      >>      Mauro> Subject: [PATCH] Fix term-scroll-to-bottom-on-output
 >      Mauro>  :type (Bug#66071)
 >      >>
 >      >>      Mauro> * lisp/term.el (term-scroll-to-bottom-on-output): Add
 >      Mauro>  missing choices.
 >      >>      Mauro> ---
 >      >>      Mauro>  lisp/term.el | 5 ++++-
 >      >>      Mauro>  1 file changed, 4 insertions(+), 1 deletion(-)
 >      >>
 >      >>      Mauro> diff --git a/lisp/term.el b/lisp/term.el
 >      >>      Mauro> index b8466b21332..5dd73447cfb 100644
 >      >>      Mauro> --- a/lisp/term.el
 >      >>      Mauro> +++ b/lisp/term.el
 >      >>      Mauro> @@ -494,7 +494,10 @@ term-scroll-to-bottom-on-output
 >      >>
 >      >>      Mauro>  See variable `term-scroll-show-maximum-output'.
 >      >>      Mauro>  This variable is buffer-local."
 >      >>      Mauro> -  :type 'boolean
 >      >>      Mauro> +  :type '(choice (const :tag "Don't scroll" nil)
 >      >>      Mauro> +                 (const :tag "Scroll selected window
 >      Mauro>  only" this)
 >      >>      Mauro> +                 (const :tag "Scroll unselected 
windows"
 >      Mauro>  others)
 >      >>      Mauro> +                 (other :tag "Scroll all 
windows" t))
 >      >>      Mauro>    :group 'term)
 >      >>
 >      >> The code (and the docstring) also mention 'all.
 >
 >      Mauro> I know, that's why I put other, to catch either t or 
'all, since it
 >      Mauro> doesn't make sense to have 2 different items for the same 
option. And
 >      Mauro> adding something to match only t or 'all didn't seem 
worth the trouble.
 >
 >      Mauro> Am I missing something?
 >
 > Both before and after your patch, the defcustom and the docstring
 > disagree. The docstring says 'all', but thatʼs not a value you can get
 > via customize.
 >
 > Personally Iʼd be inclined to delete 'all' from the docstring. People
 > already using 'all' wonʼt notice, since the code will still recognize
 > it.
 >
 > Robert

I've incorporated your suggestion in the attached patch.

From d9f7da3ce524a9603c808f51e34af994602234d9 Mon Sep 17 00:00:00 2001
From: Mauro Aranda <[email-masked]>
Date: Mon, 18 Sep 2023 09:19:04 -0300
Subject: [PATCH] Fix term-scroll-to-bottom-on-output :type (Bug#66071)

* lisp/term.el (term-scroll-to-bottom-on-output): Add missing choices.
Don't advertise the value all anymore.
---
 lisp/term.el | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lisp/term.el b/lisp/term.el
index b8466b21332..b2875e4a17f 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -486,7 +486,7 @@ term-char-mode-point-at-process-mark
 
 (defcustom term-scroll-to-bottom-on-output nil
   "Controls whether interpreter output causes window to scroll.
-If nil, then do not scroll.  If t or `all', scroll all windows showing buffer.
+If nil, then do not scroll.  If t, scroll all windows showing buffer.
 If `this', scroll only the selected window.
 If `others', scroll only those that are not the selected window.
 
@@ -494,7 +494,12 @@ term-scroll-to-bottom-on-output
 
 See variable `term-scroll-show-maximum-output'.
 This variable is buffer-local."
-  :type 'boolean
+  :type '(choice (const :tag "Don't scroll" nil)
+                 (const :tag "Scroll selected window only" this)
+                 (const :tag "Scroll unselected windows" others)
+                 ;; We also recognize `all', but we don't advertise it
+                 ;; anymore.  (Bug#66071)
+                 (other :tag "Scroll all windows" t))
   :group 'term)
 
 (defcustom term-scroll-snap-to-bottom t
-- 
2.34.1