GNU bug report logs -
#24914
24.5; isearch-regexp: wrong error message
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Wed, 9 Nov 2016 22:31:01 UTC
Severity: minor
Tags: confirmed, fixed, patch
Found in versions 24.5, 25.2
Fixed in version 27.1
Done: Noam Postavsky <npostavs <at> users.sourceforge.net>
Bug is archived. No further changes may be made.
Full log
Message #12 received at 24914 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Drew Adams <drew.adams <at> oracle.com> writes:
> 3. C-M-s \(.\|^J\)\{,40000\}
>
> That shows the error message: [incomplete input], which is wrong, IMO.
The reason it doesn't work is because the number of repitions is limited
to 32767 (#x7fff). Obviously that should be documented in the manual.
As to the error message itself, there isn't really a way to distinguish
between incomplete and invalid input, so the only thing I can see to do
is to change the message to [incomplete or invalid input].
[0001-Document-limitation-of-regexp-repetition-Bug-24914.patch (text/x-diff, inline)]
From f7bb728281408170cfe79005b03d2b382a84cdbd Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs <at> gmail.com>
Date: Sat, 2 Dec 2017 19:01:54 -0500
Subject: [PATCH] Document limitation of regexp repetition (Bug#24914)
* doc/lispref/searching.texi (Regexp Backslash): Explain that \{m,n\}
may only use numbers up to 32767.
* lisp/isearch.el (isearch-search): Update error message to include
invalid input possibility.
---
doc/lispref/searching.texi | 3 ++-
lisp/isearch.el | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 755fa554bb..92b7e6d17e 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -639,7 +639,8 @@ Regexp Backslash
is a more general postfix operator that specifies repetition with a
minimum of @var{m} repeats and a maximum of @var{n} repeats. If @var{m}
is omitted, the minimum is 0; if @var{n} is omitted, there is no
-maximum.
+maximum. For both forms, @var{m} and @var{n}, if specified, may be no
+larger than 32767.
For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car},
@samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 13fa97ea71..dfc5f9f3f7 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -2853,7 +2853,7 @@ isearch-search
((string-match
"\\`Premature \\|\\`Unmatched \\|\\`Invalid "
isearch-error)
- (setq isearch-error "incomplete input"))
+ (setq isearch-error "incomplete or invalid input"))
((and (not isearch-regexp)
(string-match "\\`Regular expression too big" isearch-error))
(cond
--
2.11.0
This bug report was last modified 7 years and 119 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.