diff options
-rw-r--r-- | doc/emacs/text.texi | 2 | ||||
-rw-r--r-- | lisp/whitespace.el | 2 | ||||
-rw-r--r-- | src/search.c | 35 |
3 files changed, 23 insertions, 16 deletions
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index 0f1c4da0c65..27abe5caaab 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -460,7 +460,7 @@ variables. @vindex electric-quote-replace-double You can also set the option @code{electric-quote-replace-double} to -a non-@code{nil} value. Then, typing @kbd{"} insert an appropriate +a non-@code{nil} value. Then, typing @kbd{"} inserts an appropriate curved double quote depending on context: @t{“} at the beginning of the buffer or after a line break, whitespace, opening parenthesis, or quote character, and @t{”} otherwise. diff --git a/lisp/whitespace.el b/lisp/whitespace.el index 4238461b7e1..791a0a0b4ee 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el @@ -546,7 +546,7 @@ Used when `whitespace-style' includes the value `trailing'.") (t :background "red1" :foreground "yellow")) "Face used to visualize trailing blanks. -See '`whitespace-trailing-regexp'." +See `whitespace-trailing-regexp'." :group 'whitespace) diff --git a/src/search.c b/src/search.c index b5d6a442c0f..a7f958c362b 100644 --- a/src/search.c +++ b/src/search.c @@ -2824,11 +2824,21 @@ Return value is undefined if the last search failed. */) } DEFUN ("match-data", Fmatch_data, Smatch_data, 0, 3, 0, - doc: /* Return a list describing what the last search matched. -Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'. -All the elements are markers or nil (nil if the Nth pair didn't match) -if the last match was on a buffer; integers or nil if a string was matched. -Use `set-match-data' to reinstate the data in this list. + doc: /* Return a list of positions that record text matched by the last search. +Element 2N of the returned list is the position of the beginning of the +match of the Nth subexpression; it corresponds to `(match-beginning N)'; +element 2N + 1 is the position of the end of the match of the Nth +subexpression; it corresponds to `(match-end N)'. See `match-beginning' +and `match-end'. +If the last search was on a buffer, all the elements are by default +markers or nil (nil when the Nth pair didn't match); they are integers +or nil if the search was on a string. But if the optional argument +INTEGERS is non-nil, the elements that represent buffer positions are +always integers, not markers, and (if the search was on a buffer) the +buffer itself is appended to the list as one additional element. + +Use `set-match-data' to reinstate the match data from the elements of +this list. Note that non-matching optional groups at the end of the regexp are elided instead of being represented with two `nil's each. For instance: @@ -2838,16 +2848,13 @@ elided instead of being represented with two `nil's each. For instance: (match-data)) => (0 1 nil nil 0 1) -If INTEGERS (the optional first argument) is non-nil, always use -integers (rather than markers) to represent buffer positions. In -this case, and if the last match was in a buffer, the buffer will get -stored as one additional element at the end of the list. +If REUSE is a list, store the value in REUSE by destructively modifying it. +If REUSE is long enough to hold all the values, its length remains the +same, and any unused elements are set to nil. If REUSE is not long +enough, it is extended. Note that if REUSE is long enough and INTEGERS +is non-nil, no consing is done to make the return value; this minimizes GC. -If REUSE is a list, reuse it as part of the value. If REUSE is long -enough to hold all the values, and if INTEGERS is non-nil, no consing -is done. - -If optional third arg RESEAT is non-nil, any previous markers on the +If optional third argument RESEAT is non-nil, any previous markers on the REUSE list will be modified to point to nowhere. Return value is undefined if the last search failed. */) |