GNU bug report logs - #10938
procedure-arguments return differnet output when procedure-property is used

Previous Next

Package: guile;

Reported by: Stefan Israelsson Tampe <stefan.itampe <at> gmail.com>

Date: Sun, 4 Mar 2012 12:18:01 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Israelsson Tampe <stefan.itampe <at> gmail.com>
To: 10938 <at> debbugs.gnu.org
Subject: bug#10938: procedure-arguments return differnet output when procedure-property is used
Date: Sun, 4 Mar 2012 13:15:47 +0100
[Message part 1 (text/plain, inline)]
Typeically in guile

> (procedure-arguments g)
$3 = ((required x) (optional) (keyword) (allow-other-keys? . #f) (rest .
#f))

for a program g. But if we attach a procedure property 'arglist the outpu
is acording to (system ice-9 session),
(define (procedure-arguments proc)
  "Return an alist describing the arguments that `proc' accepts, or `#f'
if the information cannot be obtained.

The alist keys that are currently defined are `required', `optional',
`keyword', and `rest'."
  (cond
   ((procedure-property proc 'arglist)
    => (lambda (arglist)
         `((required . ,(car arglist))
           (optional . ,(cadr arglist))
           (keyword . ,(caddr arglist))
           (allow-other-keys? . ,(cadddr arglist))
           (rest . ,(car (cddddr arglist))))))
   ((procedure-source proc)
    => cadr)
   (((@ (system vm program) program?) proc)
    ((@ (system vm program) program-arguments-alist) proc))
   (else #f)))

Acording to the description allow-other-keys? is not included, but returned
for a program
but not of prop 'arglist is used, so either

1. drop allow-other-keys? from the program? version or add it to the proper
version and change doc string

Regards
Stefan
[Message part 2 (text/html, inline)]

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

Previous Next


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