bug#38535: 26.3; Optionally make recursive editing more noticeable

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

bug#38535: 26.3; Optionally make recursive editing more noticeable

Drew Adams
Enhancement suggestion.

Recursive editing is sometimes useful.  Its main disadvantage is that
you might not be aware that you've entered or exited a recursive edit.

Please consider adding something like what this code provides:

https://www.emacswiki.org/emacs/download/rec-edit.el

There are really two different features there.  Either could be provided
on its own by Emacs.  But `rec-edit.el' rolls them together in a minor
mode, `rec-edit-mode'.

1. You can use the same key, `C-M-c', to enter a recursive edit as to
   exit.  When already in a recursive edit, it exits or, if you use a
   prefix arg, it enters a new recursive edit.  In other words, it does
   this:
     (if (or (< (recursion-depth) 1)
             current-prefix-arg)
         (recursive-edit)
       (exit-recursive-edit))

2. It optionally highlights the mode-line indication, `[...]', to make
   clear that you're in a recursive edit, and to indicate the depth.
   Whether this highlighting is done is controlled by a Boolean user
   option.

Emacs generally discourages, or doesn't encourage, initiating a
recursive edit.  That's understandable.  But sometimes it's useful, and
a major reason it's discouraged is because it's easy for users to not
realize they're in a recursive edit, or not know how to exit.

This minor mode aims to mitigate those downsides.  And it's off by
default, so presumably a user of it wants to make use of recursive
editing but wants to be aware when doing that.

I think something like this would be helpful for Emacs to provide.

In GNU Emacs 26.3 (build 1, x86_64-w64-mingw32)
 of 2019-08-29
Repository revision: 96dd0196c28bc36779584e47fffcca433c9309cd
Windowing system distributor `Microsoft Corp.', version 10.0.17763
Configured using:
 `configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install 'CFLAGS=-O2 -static -g3''



Reply | Threaded
Open this post in threaded view
|

bug#38535: 26.3; Optionally make recursive editing more noticeable

Juri Linkov-2
> Recursive editing is sometimes useful.  Its main disadvantage is that
> you might not be aware that you've entered or exited a recursive edit.

But there is minibuffer-depth-indicate-mode that shows the recursion
depth in the minibuffer prompt when recursive minibuffers are enabled.



Reply | Threaded
Open this post in threaded view
|

bug#38535: 26.3; Optionally make recursive editing more noticeable

Drew Adams
> > Recursive editing is sometimes useful.
> > Its main disadvantage is that you might not
> > be aware that you've entered or exited a
> > recursive edit.
>
> But there is minibuffer-depth-indicate-mode that shows the recursion
> depth in the minibuffer prompt when recursive minibuffers are enabled.

Unrelated.

Minibuffer recursion is indicated as you say.
It is not indicated by [...] in the mode line.

 "Minibuffer input is a special kind of
  recursive editing." (elisp) `Recursive Editing'

This is about a non-minibuffer recursive edit,
which is indicated only by a not-very-noticeable
[...] in the mode line.

Those two are handled very differently in terms
of UI and interaction.

For the same reason that we highlight the
minibuffer indication of minibuffer depth, minor
mode `rec-edit-mode' can highlight the [...]
brackets.  ("Can", because an option controls
whether the highlighting occurs.)