[Top][All Lists]

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

Re: `isearch-allow-scroll' - a misnomer and a bad design

From: Alan Mackenzie
Subject: Re: `isearch-allow-scroll' - a misnomer and a bad design
Date: Thu, 22 Sep 2011 10:35:06 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

Hi, Richard.

On Wed, Sep 21, 2011 at 04:48:40PM -0400, Richard Stallman wrote:

> Whether something is a mode is a question about how people understand
> its interface.

> Isearch is not supposed to be a mode.  It is supposed to be a command
> which searches for the printing character string you type, and you can
> edit the search string in simple limited ways.  Unrelated editing
> commands end searcch and do their normal editing.

> The only control characters that originally didn't exit the Isearch
> were C-r and C-s -- which are the commands to enter Isearch.

Yes.  But such a "feature pure" Isearch wouldn't serve users' needs very
well, particularly in such a rich environment as Emacs.

> Then I added M-y, which was ok because M-y would always be an error if
> it exited an Isearch (since the previous command was not a yank).

Ah.  _NOW_ I understand why `isearch-yank-kill' is on M-y.  :-)  (At
least, was on M-y.)

> But then people started making other commands special, destroying the
> clear simplicity.  As a result of those, Isearch is now more complex
> and people start to think of it as a mode.  Thus, they propose changes
> that make it more like a mode, and make it even more complex, and even
> less of a command that searches for the printing character string you
> type.

I use Isearching almost constantly, and expect most users do too.   I'd
be unhappy and less productive if its many features (I think I use most
of them) were not there.  In fact, I'd write them if they weren't.  ;-)

>     >From this point of view, the whole point of Alan's changes (and of
>     Drew's suggestion as well) is to *reduce* the modality of isearch.
>     With Alan's option *on*, scrolling commands now work as they do
>     elsewhere in Emacs: the visible portion of the buffer at hand
>     changes, without disturbing the state of the buffer or the search. 

> I never noticed Alan's proposal, but now that I see what it is, I am
> against it.

With all due respect, what you said back in 2003 (on the 1st March) was:
"I have no objections to it if it is disabled by default.".  Then, I
thought it should have been enabled by default.  Now I see that it
shouldn't be.

> It is very common to use C-v to exit an Isearch.  This change would be
> a painful surprise.

It would.  That is why it needs an option setting for this to happen.  I
think that, likewise, `isearch-allow-prefix' should be nil by default.

> The idea that being in a search is a state that commands "shouldn't
> disturb" is the result of thinking of it as a mode.  It is normal
> for editing commands to stop searching and edit instead.

Is scrolling "editing" here?  I would have said no, since it doesn't
change the buffer and doesn't move point.

> -- 
> Dr Richard Stallman

Alan Mackenzie (Nuremberg, Germany).

reply via email to

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