summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kastrup <dak@gnu.org>2004-06-11 00:08:37 +0000
committerDavid Kastrup <dak@gnu.org>2004-06-11 00:08:37 +0000
commit9b9ceb6178003e97157f14dfcf2eee832b6fb6a2 (patch)
treeb7c4301845c4002d87f6b4fd36219110f13ac746
parent9fc2be4c21a85570705c765a6318dec00535dd44 (diff)
downloademacs-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/ChangeLog6
-rw-r--r--src/search.c4
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]