From: Drew Adams <drew.adams@oracle.com>
To: Noam Postavsky <npostavs@users.sourceforge.net>
Cc: 24914@debbugs.gnu.org
Subject: bug#24914: 24.5; isearch-regexp: wrong error message
Date: Sun, 3 Dec 2017 10:56:32 -0800 (PST) [thread overview]
Message-ID: <a2a2508f-109b-47fe-9bab-8b894f1b1440@default> (raw)
In-Reply-To: <87d13visrh.fsf@users.sourceforge.net>
> >> > 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).
> >
> > Yet another case for adding bignums to Emacs Lisp?
> > I imagine someone will answer that there needs to be
> > a limit.
> >
> > In that case, can we not use something larger?
> > Could we use the value of `most-positive-fixnum'?
>
> It's not a limit in Lisp, but in regex.c.
We can't use something larger there?
> >> As to the error message itself, there isn't really a way
> >> to distinguish between incomplete and invalid input,
> >
> > We do that in some places in the code.
>
> What places are those?
In the Lisp code, at least, there are a few places where
we provide an error that is specific to an invalid regexp.
Search for handling of standard error `invalid-regexp',
for instance.
But if this is handled only in C code then you might want
to look there instead.
> > Some code parses the regexp, and that code must know (or be able to
> > know) both that the regexp is not incomplete
>
> What does it mean for a regexp to be incomplete or not? As far as I can
> tell, the only distinction is that the user means to type more; but the
> code doesn't know what will happen in the future...
Presumably that term is used only for cases where we can
be sure that in order for the regexp to be valid there
would need to be further input. `foo' is not incomplete,
whether or not the user "means to type more". `[^' is
incomplete, because it can be made valid only by typing
more.
> > and that the numeral
> > given for the number of repetitions is too large.
>
> I suppose we could change regex.c to give a different error message for
> a repetition number that is too high, and then isearch.el could check
> for that specially.
That would be great.
next prev parent reply other threads:[~2017-12-03 18:56 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-09 22:29 bug#24914: 24.5; isearch-regexp: wrong error message Drew Adams
2017-12-03 16:37 ` Noam Postavsky
2017-12-03 18:00 ` Drew Adams
2017-12-03 18:13 ` Noam Postavsky
2017-12-03 18:56 ` Drew Adams [this message]
2017-12-04 6:27 ` Noam Postavsky
2017-12-04 14:52 ` Drew Adams
2017-12-05 1:18 ` Noam Postavsky
2017-12-05 3:15 ` Drew Adams
2017-12-05 3:51 ` Noam Postavsky
2017-12-05 4:52 ` Drew Adams
2017-12-05 13:27 ` Noam Postavsky
2017-12-05 15:31 ` Drew Adams
2017-12-06 2:52 ` Noam Postavsky
2017-12-08 9:48 ` Eli Zaretskii
2017-12-08 13:32 ` Noam Postavsky
2017-12-08 14:35 ` Eli Zaretskii
2017-12-10 2:18 ` Noam Postavsky
2017-12-10 6:49 ` Eli Zaretskii
2018-01-27 2:05 ` Noam Postavsky
2017-12-04 15:18 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a2a2508f-109b-47fe-9bab-8b894f1b1440@default \
--to=drew.adams@oracle.com \
--cc=24914@debbugs.gnu.org \
--cc=npostavs@users.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).