emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: feature request: indicator of minibuffer-recursion depth


From: Drew Adams
Subject: RE: feature request: indicator of minibuffer-recursion depth
Date: Wed, 15 Mar 2006 11:52:59 -0800

    I remember well that C-g was one of the essential commands that I
    didn't learn early on, so the situation caused a lot of frustration.

Not that this is a defense of `C-g' or anything else, but one thing I
learned many moon ago is that perhaps the first thing to learn about
something new is how to stop it, get out of it, quit it, or (if possible)
undo it. ;-) `C-x C-c' and `C-g' should be emblazoned on the startup screen.

[This goes for teaching, as well, BTW. And the second thing to teach is how
to use or modify something (e.g. a program) that exists, not how to create a
new one; it's nearly always simpler (and more rewarding to newbies, and more
informative) to use or change something that exists than it is to create one
from scratch.]

    So if you're seriously considering modifying the minibuffer
    interaction before the release,

I was clear in my initial proposal to consider this feature - here is the
first line of that message (emphasis added):

 For consideration ***after*** the release -

    I urge you to make the default setting (no recursion) easier to use.

The message could be improved. When I see "Command attempted to use
minibuffer while in minibuffer" my reaction is "Of course the command I'm
using in the minibuffer attempts to use the minibuffer while in the
minibuffer!"

There are two problems understanding the message: 1) "Command" - what
command? I might not be aware that I invoked a command. 2) "use the
minibuffer" is not clear.

This might be better: "`...' (command `...') cannot be run during minibuffer
input", where the first `...' is whatever you typed that invoked a command,
and the second `...' is the command name. For your example, the message
would be:

 `C-x b' (command `switch-to-buffer') cannot be run during minibuffer input

Additional info *might* be added to the message, and the command name might
be dropped. Some additional info that could help:

. Mention that the command cannot be run because it would, itself, ask for
input

. Mention that you can toggle `enable-recursive-minibuffers' to allow the
command to be run.

Another possibility for the message:

 You cannot use `C-x b' while entering input, because it too prompts for
input

    One solution would be to
    automatically quit the command that's occupying the minibuffer
    whenever another command requires it (i.e. instead of signaling the
    above error).

That might be confusing also. If you don't realize that what you type is
bound to a command, then you think you are still inputting what the first
command wants, and in fact the first command has already been (silently)
offed.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]