]> code.delx.au - gnu-emacs/blobdiff - doc/lispref/searching.texi
Make `initials' completion work for /hh -> /home/horn again (bug#5524).
[gnu-emacs] / doc / lispref / searching.texi
index 9c9b60fb201cf3ff809dcaeb63fdd9da2d9a1c96..48780d0a348b7dc97937b36e83486bed15b80120 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/searching
 @node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
@@ -187,9 +187,8 @@ regular expressions, too; thus, @samp{[aB]} would match @samp{a} or
 @code{case-fold-search} to @code{nil}.  Then all letters must match
 exactly, including case.  This is a buffer-local variable; altering the
 variable affects only the current buffer.  (@xref{Intro to
-Buffer-Local}.)  Alternatively, you may change the value of
-@code{default-case-fold-search}, which is the default value of
-@code{case-fold-search} for buffers that do not override it.
+Buffer-Local}.)  Alternatively, you may change the default value of
+@code{case-fold-search}.
 
   Note that the user-level incremental search feature handles case
 distinctions differently.  When the search string contains only lower
@@ -204,12 +203,6 @@ case.  If the variable is @code{nil} they do not ignore case; otherwise
 they do ignore case.
 @end defopt
 
-@defvar default-case-fold-search
-The value of this variable is the default value for
-@code{case-fold-search} in buffers that do not override it.  This is the
-same as @code{(default-value 'case-fold-search)}.
-@end defvar
-
 @defopt case-replace
 This variable determines whether the higher level replacement
 functions should preserve case.  If the variable is @code{nil}, that
@@ -546,8 +539,9 @@ matches any digit, as well as @samp{+} and @samp{-}.
 This matches graphic characters---everything except @acronym{ASCII} control
 characters, space, and the delete character.
 @item [:lower:]
-This matches any lower-case letter, as determined by
-the current case table (@pxref{Case Tables}).
+This matches any lower-case letter, as determined by the current case
+table (@pxref{Case Tables}).  If @code{case-fold-search} is
+non-@code{nil}, this also matches any upper-case letter.
 @item [:multibyte:]
 This matches any multibyte character (@pxref{Text Representations}).
 @item [:nonascii:]
@@ -564,8 +558,9 @@ This matches any character that has whitespace syntax
 @item [:unibyte:]
 This matches any unibyte character (@pxref{Text Representations}).
 @item [:upper:]
-This matches any upper-case letter, as determined by
-the current case table (@pxref{Case Tables}).
+This matches any upper-case letter, as determined by the current case
+table (@pxref{Case Tables}).  If @code{case-fold-search} is
+non-@code{nil}, this also matches any lower-case letter.
 @item [:word:]
 This matches any character that has word syntax (@pxref{Syntax Class
 Table}).
@@ -657,6 +652,7 @@ shy groups.
 @cindex shy groups
 @cindex non-capturing group
 @cindex unnumbered group
+@cindex @samp{(?:} in regexp
 is the @dfn{shy group} construct.  A shy group serves the first two
 purposes of an ordinary group (controlling the nesting of other
 operators), but it does not get a number, so you cannot refer back to
@@ -707,7 +703,7 @@ If a particular grouping construct in the regular expression was never
 matched---for instance, if it appears inside of an alternative that
 wasn't used, or inside of a repetition that repeated zero times---then
 the corresponding @samp{\@var{digit}} construct never matches
-anything.  To use an artificial example,, @samp{\(foo\(b*\)\|lose\)\2}
+anything.  To use an artificial example, @samp{\(foo\(b*\)\|lose\)\2}
 cannot match @samp{lose}: the second alternative inside the larger
 group matches it, but then @samp{\2} is undefined and can't match
 anything.  But it can match @samp{foobb}, because the first
@@ -1181,17 +1177,17 @@ non-greedy repetition operators (@pxref{Regexp Special, non-greedy}).
 This is because POSIX backtracking conflicts with the semantics of
 non-greedy repetition.
 
-@defun posix-search-forward regexp &optional limit noerror repeat
+@deffn Command posix-search-forward regexp &optional limit noerror repeat
 This is like @code{re-search-forward} except that it performs the full
 backtracking specified by the POSIX standard for regular expression
 matching.
-@end defun
+@end deffn
 
-@defun posix-search-backward regexp &optional limit noerror repeat
+@deffn Command posix-search-backward regexp &optional limit noerror repeat
 This is like @code{re-search-backward} except that it performs the full
 backtracking specified by the POSIX standard for regular expression
 matching.
-@end defun
+@end deffn
 
 @defun posix-looking-at regexp
 This is like @code{looking-at} except that it performs the full
@@ -1785,12 +1781,12 @@ arguments: the first 3 arguments of @code{re-search-forward}
   This section describes some variables that hold regular expressions
 used for certain purposes in editing:
 
-@defvar page-delimiter
+@defopt page-delimiter
 This is the regular expression describing line-beginnings that separate
 pages.  The default value is @code{"^\014"} (i.e., @code{"^^L"} or
 @code{"^\C-l"}); this matches a line that starts with a formfeed
 character.
-@end defvar
+@end defopt
 
   The following two regular expressions should @emph{not} assume the
 match always starts at the beginning of a line; they should not use
@@ -1801,22 +1797,22 @@ they accept matches that start after the left margin.  In that case, a
 @samp{^} would be incorrect.  However, a @samp{^} is harmless in modes
 where a left margin is never used.
 
-@defvar paragraph-separate
+@defopt paragraph-separate
 This is the regular expression for recognizing the beginning of a line
 that separates paragraphs.  (If you change this, you may have to
 change @code{paragraph-start} also.)  The default value is
 @w{@code{"[@ \t\f]*$"}}, which matches a line that consists entirely of
 spaces, tabs, and form feeds (after its left margin).
-@end defvar
+@end defopt
 
-@defvar paragraph-start
+@defopt paragraph-start
 This is the regular expression for recognizing the beginning of a line
 that starts @emph{or} separates paragraphs.  The default value is
 @w{@code{"\f\\|[ \t]*$"}}, which matches a line containing only
 whitespace or starting with a form feed (after its left margin).
-@end defvar
+@end defopt
 
-@defvar sentence-end
+@defopt sentence-end
 If non-@code{nil}, the value should be a regular expression describing
 the end of a sentence, including the whitespace following the
 sentence.  (All paragraph boundaries also end sentences, regardless.)
@@ -1825,7 +1821,7 @@ If the value is @code{nil}, the default, then the function
 @code{sentence-end} has to construct the regexp.  That is why you
 should always call the function @code{sentence-end} to obtain the
 regexp to be used to recognize the end of a sentence.
-@end defvar
+@end defopt
 
 @defun sentence-end
 This function returns the value of the variable @code{sentence-end},