diff options
| author | David Kastrup <dak@gnu.org> | 2004-06-11 00:08:37 +0000 |
|---|---|---|
| committer | David Kastrup <dak@gnu.org> | 2004-06-11 00:08:37 +0000 |
| commit | 9b9ceb6178003e97157f14dfcf2eee832b6fb6a2 (patch) | |
| tree | b7c4301845c4002d87f6b4fd36219110f13ac746 | |
| parent | 9fc2be4c21a85570705c765a6318dec00535dd44 (diff) | |
| download | emacs-9b9ceb6178003e97157f14dfcf2eee832b6fb6a2.tar.gz | |
(match_limit): Don't flag an error if match-data
exceeding the allocated search_regs.num_regs gets requested, just
return Qnil.
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/search.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d6750648fd5..98e0b46bc37 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2004-06-11 David Kastrup <dak@gnu.org> + + * search.c (match_limit): Don't flag an error if match-data + exceeding the allocated search_regs.num_regs gets requested, just + return Qnil. + 2004-06-08 Miles Bader <miles@gnu.org> * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected. diff --git a/src/search.c b/src/search.c index e5e4c3f867a..24f21f053a5 100644 --- a/src/search.c +++ b/src/search.c @@ -2622,9 +2622,9 @@ match_limit (num, beginningp) CHECK_NUMBER (num); n = XINT (num); - if (n < 0 || n >= search_regs.num_regs) + if (n < 0 || search_regs.num_regs <= 0) args_out_of_range (num, make_number (search_regs.num_regs)); - if (search_regs.num_regs <= 0 + if (n >= search_regs.num_regs || search_regs.start[n] < 0) return Qnil; return (make_number ((beginningp) ? search_regs.start[n] |
