GNU bug report logs -
#20655
According to docs non-greedy regexp should work in guile but they don't
Previous Next
Reported by: Michael Gerdau <mgd <at> qata.de>
Date: Mon, 25 May 2015 22:43:02 UTC
Severity: normal
Done: Andy Wingo <wingo <at> pobox.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 23 Jun 2016 22:41:47 +0200
with message-id <8760szljsk.fsf <at> pobox.com>
and subject line Re: bug#20655: According to docs non-greedy regexp should work in guile but they don't
has caused the debbugs.gnu.org bug report #20655,
regarding According to docs non-greedy regexp should work in guile but they don't
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
20655: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20655
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
Hi list,
the guile documentation under
https://www.gnu.org/software/guile/manual/html_node/Regular-Expressions.html#index-regular-expressions
directly references Regular expressions used in Emacs which do
support non-greedy regexp.
However in the archive of the guile-devel ML I found a thread that seems
to indicate that guile simply does not support non-greedy regexp, which
is perfectly in line with my findings (see below).
The thread I'm referring to is found under
https://www.mail-archive.com/guile-devel%40gnu.org/msg12022.html
Testcase:
If non-greedy regexp do work the following two statements should provide
the exakt same strings:
(match:substring (string-match "_(.*?)_" "a_ä_ö_de_fü_") 1)
(match:substring (string-match "_([^_]*)_" "a_ä_ö_de_fü_") 1)
However for me they don't. Here is a log how I tested it:
$ guile
GNU Guile 2.0.11
Copyright (C) 1995-2014 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (match:substring (string-match "_(.*?)_"
"a_ä_ö_de_fü_") 1)
$1 = "ä_ö_de_fü"
scheme@(guile-user)> (match:substring (string-match "_([^_]*)_"
"a_ä_ö_de_fü_") 1)
$2 = "ä"
scheme@(guile-user)> ,q
For the record:
I check the same regexp in Perl where they provide the same result.
AFAICT this is either misleading if not an outright documentation bug,
or a missing feature in guile.
Kind regards,
Michael
--
Michael Gerdau email: mgd <at> qata.de
GPG-keys available on request or at public keyserver
[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
On Mon 25 May 2015 23:58, Michael Gerdau <mgd <at> qata.de> writes:
> the guile documentation under
> https://www.gnu.org/software/guile/manual/html_node/Regular-Expressions.html#index-regular-expressions
> directly references Regular expressions used in Emacs which do
> support non-greedy regexp.
>
> However in the archive of the guile-devel ML I found a thread that seems
> to indicate that guile simply does not support non-greedy regexp, which
> is perfectly in line with my findings (see below).
>
> AFAICT this is either misleading if not an outright documentation bug,
> or a missing feature in guile.
A documentation bug indeed. Fixed in git by Diogo Ramos.
Thanks for the report,
Andy
This bug report was last modified 8 years and 340 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.