Subject: Re: bug#38519: minibuffer-depth-indicate-mode with enable-recursive-minibuffers

From: Juri Linkov <[email-masked]>
Date: Mon, 09 Dec 2019 00:48:33 +0200

> 1. I agree that the docs should mention each other.
> And the doc strings already do that:
>
> `C-h v enable-recursive-minibuffers' says:
>   Also see `minibuffer-depth-indicate-mode',
>   which may be handy if this variable is non-nil.
>
> `C-h f minibuffer-depth-indicate-mode' says:
>   This is only useful if
>   `enable-recursive-minibuffers' is non-nil.
>
> But this hasn't yet been done in the manuals:
> (elisp) `Recursive Mini' and (emacs) `Minibuffer
> Edit' cover `enable-recursive-minibuffers', but
> `minibuffer-depth-indicate-mode' is mentioned
> nowhere, so far.

So I added mention of `minibuffer-depth-indicate-mode' to
(emacs) `Minibuffer Edit'.  Not sure about
(elisp) `Recursive Mini', probably not needed in (elisp).

> 2. I agree that `minibuffer-depth-indicate-mode'
> is useful when `enable-recursive-minibuffers'
> is non-nil (generally and only).
>
> 3. I think I disagree that there should be
> some kind of hard coupling between the two,
> which would prevent users from getting
> `enable-recursive-minibuffers' without
> `minibuffer-depth-indicate-mode'.
>
> It would be OK to automatically turn OFF
> `minibuffer-depth-indicate-mode' when
> `enable-recursive-minibuffers' is nil.  But
> that's not necessary (it has no effect), so
> it's not useful.

Actually turning `m-d-i-m' OFF when `e-r-m' is nil
is not needed because `m-d-i-m' has no visual effect
when `e-r-m' is nil - there is nothing to show
as an indication of the recursive minibuffer
when recursive minibuffers are not enabled.

> I don't think we should turn `m-d-i-m' ON
> systematically when `e-r-m' is non-nil.
> That might be OK as a default behavior, but
> we shouldn't impose it in a hard-coded way,
> so that users have no recourse.

If turning `m-d-i-m' ON when `e-r-m' is non-nil
will be the default behavior, then users could
easily to turn `m-d-i-m' OFF.