emacs-devel
[Top][All Lists]
Advanced

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

Re: search-whitespace-regexp


From: Chong Yidong
Subject: Re: search-whitespace-regexp
Date: Sat, 5 Feb 2005 20:59:46 -0500 (EST)
User-agent: SquirrelMail/1.4.3a

>     However, I believe that
>     using search-whitespace-regexp in isearch-forward-regexp is a
>     misfeature. It should instead be used for isearch-forward.
>
> For years, string search has treated characters literally while regexp
> search has treated space as "any whitespace".  To reverse this would
> be an incompatible change that would affect every user.
>
> I think you're the first person ever to ask for this change.  I think
> it would cause more trouble than benefit.
>
> However, if a poll of users is done, and we find that most users would
> prefer this change, I would consider it.

In that case, I propose just changing string search, using a variable
search-whitespace, analogous to search-whitespace-regexp. This should
default to nil, so that the default behavior of string search is identical
to Emacs 21.3 and below. If the user customizes the value, he gets the
"magical space" behavior.

I have come across several complaints about newlines interfering with
string search. For example, a website called "Emacs for Writers", which is
written by a professional writer and non-programmer who uses Emacs, says
this:

http://www.therandymon.com/linux/woodnotes/emacswriter/node15.html
   One limitation of regular searches in documents that have been formatted
   (filled) is that if the two words are separated by a newline, the
   incremental search function won't find them.

He goes on to recommend using word search, but the problem with word
search is that it is not incremental. As I have mentioned, regular
expression search is also problematic for casual use, especially if the
user is unfamiliar with regexp syntax, because characters like "." have
special meaning.

A cursory search through Google turned up indicates that there have been
plenty of user requests for something like this over the years. For
example:

http://groups.google.com.sg/groups?selm=199803011846.NAA30567%40feedback.princeton.edu&output=gplain
  I edit tex documents (such as my thesis), and I usually find locations
  in a document using isearch (^S).  Searching for a couple words in a
  row (say "the dog") is usually enough to narrow down the location.
  However, if "the" and "dog" are separated by a newline, then isearch
  won't find them...

  Is there a totally different approach that would make plain iserach
  smart enough to understand that SPACE could be a newline (or a tab)?
  The advantage of using plain isearch instead of regexp isearch is that
  I wouldn't have to escape special characters like "[".





reply via email to

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