GNU bug report logs - #10250
Problems using optargs with function docstrings

Previous Next

Package: guile;

Reported by: Peter TB Brett <peter <at> peter-b.co.uk>

Date: Thu, 8 Dec 2011 17:01: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

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Peter TB Brett <peter <at> peter-b.co.uk>
Subject: bug#10250: closed (Re: bug#10250: Problems using optargs with
 function docstrings)
Date: Fri, 09 Dec 2011 18:14:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#10250: Problems using optargs with function docstrings

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 10250 <at> debbugs.gnu.org.

-- 
10250: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10250
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Andy Wingo <wingo <at> pobox.com>
To: Peter TB Brett <peter <at> peter-b.co.uk>
Cc: Ian Price <ianprice90 <at> googlemail.com>, 10250-done <at> debbugs.gnu.org
Subject: Re: bug#10250: Problems using optargs with function docstrings
Date: Fri, 09 Dec 2011 19:12:43 +0100
On Fri 09 Dec 2011 00:37, Peter TB Brett <peter <at> peter-b.co.uk> writes:

> On Thu, 08 Dec 2011 23:39:22 +0000, Ian Price <ianprice90 <at> googlemail.com>
> wrote:
>
>> Which version are you using? I'm on current stable-2.0(e7b2efd)
>
> This was with Guile 1.8.7 (guile-5:1.8.7-6.fc14).

Sounds like it's fixed in the 2.0.x series.  We would accept a patch to
fix it for 1.8.x, but I'm not going to work on it myself.

Regards, and happy hacking,

Andy
-- 
http://wingolog.org/

[Message part 3 (message/rfc822, inline)]
From: Peter TB Brett <peter <at> peter-b.co.uk>
To: <bug-guile <at> gnu.org>
Subject: Problems using optargs with function docstrings
Date: Thu, 08 Dec 2011 11:01:30 +0000
There seems to be a nasty interference between the (ice-9 optargs)
module, Guile's support for function docstrings, and a function's
top-level definition context.

For example, the following works:

(use-modules (ice-9 optargs))
(define* (foo #:optional (bar "baz"))
(define (frob p) (display p) (newline))
(frob bar))
(foo)

with output:

baz

But when you add a docstring, it doesn't.

(use-modules (ice-9 optargs))
(define* (foo #:optional (bar "baz"))
"Docs go here"
(define (frob p) (display p) (newline))
(frob bar))
(foo)

This generates an error:

ERROR: In procedure memoization:
ERROR: Bad define placement (define (frob p) (display p) (newline)).

I'm not sure if this is a bug, but it looks like one to me. ;-)

Peter

-- 
Peter Brett <peter <at> peter-b.co.uk>
Remote Sensing Research Group
Surrey Space Centre



This bug report was last modified 13 years and 168 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.