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 bug report
#20655: According to docs non-greedy regexp should work in guile but they don't
which was filed against the guile package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 20655 <at> debbugs.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)]
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
[Message part 3 (message/rfc822, inline)]
[Message part 4 (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)]
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.