aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2015-08-17 23:46:38 -0700
committerPaul Eggert2015-08-17 23:47:46 -0700
commit7a68ebe0485d049a3fbbfd77d0ba5773e8e6ae87 (patch)
tree74c44f9cd2bedff09c0b6746078608b1c1be8fd2 /src
parent9a1175cb0a33aeb13601ae8997931a853cb45249 (diff)
downloademacs-7a68ebe0485d049a3fbbfd77d0ba5773e8e6ae87.tar.gz
emacs-7a68ebe0485d049a3fbbfd77d0ba5773e8e6ae87.zip
Clarify what happens to match data on failure
Problem reported by Ernesto Alfonso (Bug#21279). * doc/lispref/searching.texi (Regexp Search, Simple Match Data): Document more carefully what happens to match data after a failed search. * src/search.c (Fmatch_beginning, Fmatch_end): Document that the return value is undefined if the last search failed. (Fmatch_data): Simplify doc string line 1.
Diffstat (limited to 'src')
-rw-r--r--src/search.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/search.c b/src/search.c
index 5da99c408a5..106a462f804 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2754,7 +2754,9 @@ SUBEXP, a number, specifies which parenthesized expression in the last
2754 regexp. 2754 regexp.
2755Value is nil if SUBEXPth pair didn't match, or there were less than 2755Value is nil if SUBEXPth pair didn't match, or there were less than
2756 SUBEXP pairs. 2756 SUBEXP pairs.
2757Zero means the entire text matched by the whole regexp or whole string. */) 2757Zero means the entire text matched by the whole regexp or whole string.
2758
2759Return value is undefined if the last search failed. */)
2758 (Lisp_Object subexp) 2760 (Lisp_Object subexp)
2759{ 2761{
2760 return match_limit (subexp, 1); 2762 return match_limit (subexp, 1);
@@ -2766,14 +2768,16 @@ SUBEXP, a number, specifies which parenthesized expression in the last
2766 regexp. 2768 regexp.
2767Value is nil if SUBEXPth pair didn't match, or there were less than 2769Value is nil if SUBEXPth pair didn't match, or there were less than
2768 SUBEXP pairs. 2770 SUBEXP pairs.
2769Zero means the entire text matched by the whole regexp or whole string. */) 2771Zero means the entire text matched by the whole regexp or whole string.
2772
2773Return value is undefined if the last search failed. */)
2770 (Lisp_Object subexp) 2774 (Lisp_Object subexp)
2771{ 2775{
2772 return match_limit (subexp, 0); 2776 return match_limit (subexp, 0);
2773} 2777}
2774 2778
2775DEFUN ("match-data", Fmatch_data, Smatch_data, 0, 3, 0, 2779DEFUN ("match-data", Fmatch_data, Smatch_data, 0, 3, 0,
2776 doc: /* Return a list containing all info on what the last search matched. 2780 doc: /* Return a list describing what the last search matched.
2777Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'. 2781Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'.
2778All the elements are markers or nil (nil if the Nth pair didn't match) 2782All the elements are markers or nil (nil if the Nth pair didn't match)
2779if the last match was on a buffer; integers or nil if a string was matched. 2783if the last match was on a buffer; integers or nil if a string was matched.