[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#10250: Problems using optargs with function docstrings
From: |
Peter TB Brett |
Subject: |
bug#10250: Problems using optargs with function docstrings |
Date: |
Thu, 08 Dec 2011 11:01:30 +0000 |
User-agent: |
RoundCube Webmail/0.2.2 |
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 <address@hidden>
Remote Sensing Research Group
Surrey Space Centre
- bug#10250: Problems using optargs with function docstrings,
Peter TB Brett <=