Subject: bug#20655: closed (Re: bug#20655: According to docs non-greedy regexp should work in guile but they don't)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 23 Jun 2016 20:42:02 +0000

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 [email-masked].

-- 
20655: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20655
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#20655: According to docs non-greedy regexp should work in guile but they don't
From: Andy Wingo <[email-masked]>
To: Michael Gerdau <[email-masked]>
Cc: [email-masked]
Date: Thu, 23 Jun 2016 22:41:47 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On Mon 25 May 2015 23:58, Michael Gerdau <[email-masked]> 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

Subject: According to docs non-greedy regexp should work in guile but they don't
From: Michael Gerdau <[email-masked]>
To: [email-masked]
Date: Mon, 25 May 2015 23:58:53 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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: [email-masked]
 GPG-keys available on request or at public keyserver