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

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Juri Linkov-2
A recent discussion about enable-recursive-minibuffers reminded
that minibuffer-depth-indicate-mode should be enabled when
enable-recursive-minibuffers is non-nil.  It's unusable
without the depth indication that is more error-prone.

It simultaneously enabling minibuffer-depth-indicate-mode
after enable-recursive-minibuffers becomes non-nil is not easy
to implement, then at least these two should mention each other
in the manual.



Reply | Threaded
Open this post in threaded view
|

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

Drew Adams
> A recent discussion about enable-recursive-minibuffers reminded
> that minibuffer-depth-indicate-mode should be enabled when
> enable-recursive-minibuffers is non-nil.  It's unusable
> without the depth indication that is more error-prone.
>
> It simultaneously enabling minibuffer-depth-indicate-mode
> after enable-recursive-minibuffers becomes non-nil is not easy
> to implement, then at least these two should mention each other
> in the manual.

It's a good question.

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.

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.

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.



Reply | Threaded
Open this post in threaded view
|

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

Juri Linkov-2
> 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.