diff options
| author | Richard M. Stallman | 2005-06-08 15:34:13 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2005-06-08 15:34:13 +0000 |
| commit | 8135a25a77598b1673852f12bd0cdeeab0790752 (patch) | |
| tree | 559062c6dc77373ef84735392ad68021820a0437 | |
| parent | b74f585b6b787349a5a0dda29fe788baa0f3d6c9 (diff) | |
| download | emacs-8135a25a77598b1673852f12bd0cdeeab0790752.tar.gz emacs-8135a25a77598b1673852f12bd0cdeeab0790752.zip | |
(Entire Match Data): Clarify when match-data
returns markers and when integers.
| -rw-r--r-- | lispref/searching.texi | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/lispref/searching.texi b/lispref/searching.texi index 1f4a82d3f1f..01d055c4a45 100644 --- a/lispref/searching.texi +++ b/lispref/searching.texi | |||
| @@ -1486,12 +1486,13 @@ character of the buffer counts as 1.) | |||
| 1486 | write the entire match data, all at once. | 1486 | write the entire match data, all at once. |
| 1487 | 1487 | ||
| 1488 | @defun match-data &optional integers reuse | 1488 | @defun match-data &optional integers reuse |
| 1489 | This function returns a newly constructed list containing all the | 1489 | This function returns a list of positions (markers or integers) that |
| 1490 | information on what text the last search matched. Element zero is the | 1490 | record all the information on what text the last search matched. |
| 1491 | position of the beginning of the match for the whole expression; element | 1491 | Element zero is the position of the beginning of the match for the |
| 1492 | one is the position of the end of the match for the expression. The | 1492 | whole expression; element one is the position of the end of the match |
| 1493 | next two elements are the positions of the beginning and end of the | 1493 | for the expression. The next two elements are the positions of the |
| 1494 | match for the first subexpression, and so on. In general, element | 1494 | beginning and end of the match for the first subexpression, and so on. |
| 1495 | In general, element | ||
| 1495 | @ifnottex | 1496 | @ifnottex |
| 1496 | number 2@var{n} | 1497 | number 2@var{n} |
| 1497 | @end ifnottex | 1498 | @end ifnottex |
| @@ -1508,15 +1509,13 @@ number {\mathsurround=0pt $2n+1$} | |||
| 1508 | @end tex | 1509 | @end tex |
| 1509 | corresponds to @code{(match-end @var{n})}. | 1510 | corresponds to @code{(match-end @var{n})}. |
| 1510 | 1511 | ||
| 1511 | All the elements are markers or @code{nil} if matching was done on a | 1512 | Normally all the elements are markers or @code{nil}, but if |
| 1512 | buffer and all are integers or @code{nil} if matching was done on a | 1513 | @var{integers} is non-@code{nil}, that means to use integers instead |
| 1513 | string with @code{string-match}. If @var{integers} is | 1514 | of markers. (In that case, the buffer itself is appended as an |
| 1514 | non-@code{nil}, then the elements are integers or @code{nil}, even if | 1515 | additional element at the end of the list, to facilitate complete |
| 1515 | matching was done on a buffer. In that case, the buffer itself is | 1516 | restoration of the match data.) If the last match was done on a |
| 1516 | appended as an additional element at the end of the list | 1517 | string with @code{string-match}, then integers are always used, |
| 1517 | to facilitate complete restoration of the match data. Also, | 1518 | since markers can't point into a string. |
| 1518 | @code{match-beginning} and | ||
| 1519 | @code{match-end} always return integers or @code{nil}. | ||
| 1520 | 1519 | ||
| 1521 | If @var{reuse} is non-@code{nil}, it should be a list. In that case, | 1520 | If @var{reuse} is non-@code{nil}, it should be a list. In that case, |
| 1522 | @code{match-data} stores the match data in @var{reuse}. That is, | 1521 | @code{match-data} stores the match data in @var{reuse}. That is, |
| @@ -1524,8 +1523,8 @@ If @var{reuse} is non-@code{nil}, it should be a list. In that case, | |||
| 1524 | have the right length. If it is not long enough to contain the match | 1523 | have the right length. If it is not long enough to contain the match |
| 1525 | data, it is extended. If it is too long, the length of @var{reuse} | 1524 | data, it is extended. If it is too long, the length of @var{reuse} |
| 1526 | stays the same, but the elements that were not used are set to | 1525 | stays the same, but the elements that were not used are set to |
| 1527 | @code{nil}. The purpose of this feature is to avoid producing too | 1526 | @code{nil}. The purpose of this feature is to reduce the need for |
| 1528 | much garbage, that would later have to be collected. | 1527 | garbage collection. |
| 1529 | 1528 | ||
| 1530 | As always, there must be no possibility of intervening searches between | 1529 | As always, there must be no possibility of intervening searches between |
| 1531 | the call to a search function and the call to @code{match-data} that is | 1530 | the call to a search function and the call to @code{match-data} that is |