all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Richard Stallman <rms@gnu.org>
To: "Stephen J. Turnbull" <stephen@xemacs.org>
Cc: md5i@md5i.com, dan.colascione@gmail.com, emacs-devel@gnu.org,
	juri@jurta.org, monnier@iro.umontreal.ca, dmoncayo@gmail.com,
	acm@muc.de, yandros@mit.edu, drew.adams@oracle.com
Subject: Re: `isearch-allow-scroll' - a misnomer and a bad design
Date: Wed, 21 Sep 2011 16:48:40 -0400	[thread overview]
Message-ID: <E1R6Tii-0000zy-Jw@fencepost.gnu.org> (raw)
In-Reply-To: <87r539c0qx.fsf@uwakimon.sk.tsukuba.ac.jp> (stephen@xemacs.org)

     > This reasoning is based on thinking of Isearch as a kind of a mode,
     > but that's exactly what we should avoid.

    Why?  That's like saying, "thinking of Shovel as a kind of a digging
    implement" is exactly what we should avoid!

"Digging implement" describes a purpose.  The purpose of Isearch is
searching; if you called it a "searching feature", that would be
undeniable, and the analogy to "digging implement" would be valid.

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.

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).

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.

    >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.  It is very common to use C-v to exit an Isearch.  This
change would be a painful surprise.

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.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use free telephony http://directory.fsf.org/category/tel/



  reply	other threads:[~2011-09-21 20:48 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-09 20:38 `isearch-allow-scroll' - a misnomer and a bad design Drew Adams
2011-09-09 21:52 ` Alan Mackenzie
2011-09-09 23:07   ` Drew Adams
2011-09-10  0:58     ` Stefan Monnier
2011-09-10  7:48       ` Drew Adams
2011-09-10 11:28       ` Alan Mackenzie
2011-09-10 16:44         ` Drew Adams
2011-09-10 11:47       ` Juri Linkov
2011-09-10 12:13         ` Alan Mackenzie
2011-09-10  2:03     ` Stephen J. Turnbull
2011-09-10 11:10     ` Alan Mackenzie
2011-09-10 16:43       ` Drew Adams
2011-09-10 19:04         ` Alan Mackenzie
2011-09-10 20:22           ` PJ Weisberg
2011-09-10 23:06             ` Stephen J. Turnbull
2011-09-11  0:47           ` Drew Adams
2011-09-11 10:39     ` Alan Mackenzie
2011-09-11 16:54       ` Drew Adams
2011-09-11 17:30         ` Alan Mackenzie
2011-09-11 18:53           ` Drew Adams
2011-09-12  2:46             ` Richard Stallman
2011-09-12  9:36               ` Alan Mackenzie
2011-09-13  1:39                 ` Richard Stallman
2011-09-13 14:27                   ` Alan Mackenzie
2011-09-13 20:05                     ` Richard Stallman
2011-09-13 21:04                       ` Drew Adams
2011-09-13 22:52                         ` Juri Linkov
2011-09-14  0:32                           ` Daniel Colascione
2011-09-14  0:41                             ` Drew Adams
2011-09-14 14:10                               ` Richard Stallman
2011-09-14 14:35                                 ` PJ Weisberg
2011-09-15  4:11                                   ` Richard Stallman
2011-09-14 14:44                                 ` Drew Adams
2011-09-18  2:52                                   ` Richard Stallman
2011-09-19 19:08                                     ` chad
2011-09-20 15:16                                       ` Richard Stallman
2011-09-20 19:17                                         ` Michael Welsh Duggan
2011-09-20 19:59                                           ` Dani Moncayo
2011-09-21  1:22                                             ` Stefan Monnier
2011-09-21 14:51                                               ` Richard Stallman
2011-09-21 15:01                                                 ` Dani Moncayo
2011-09-21 15:10                                                 ` Drew Adams
2011-09-21 16:35                                                 ` Stephen J. Turnbull
     [not found]                                                   ` <E1R6Tii-0000zy-Jw@f!! encepost.gnu.org>
2011-09-21 20:48                                                   ` Richard Stallman [this message]
2011-09-21 21:13                                                     ` Drew Adams
2011-09-22 13:58                                                       ` Richard Stallman
2011-10-08 21:13                                                       ` Drew Adams
2011-09-22  5:33                                                     ` Stephen J. Turnbull
2011-09-22 13:59                                                       ` Richard Stallman
2011-09-22 10:35                                                     ` Alan Mackenzie
2011-09-22 21:44                                                       ` Richard Stallman
2011-09-22 22:23                                                         ` PJ Weisberg
2011-09-23 12:30                                                           ` Richard Stallman
2011-09-21  9:04                                             ` Alan Mackenzie
2011-09-21  9:27                                               ` Dani Moncayo
2011-09-21  9:29                                               ` chad
2011-09-21 13:22                                               ` Drew Adams
2011-09-21 14:50                                             ` Richard Stallman
2011-09-12 14:59               ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1R6Tii-0000zy-Jw@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=acm@muc.de \
    --cc=dan.colascione@gmail.com \
    --cc=dmoncayo@gmail.com \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=juri@jurta.org \
    --cc=md5i@md5i.com \
    --cc=monnier@iro.umontreal.ca \
    --cc=stephen@xemacs.org \
    --cc=yandros@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.