unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#10938: procedure-arguments return differnet output when procedure-property is used
@ 2012-03-04 12:15 Stefan Israelsson Tampe
  2012-03-04 12:23 ` bug#10938: patch Stefan Israelsson Tampe
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Israelsson Tampe @ 2012-03-04 12:15 UTC (permalink / raw)
  To: 10938

[-- Attachment #1: Type: text/plain, Size: 1188 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 1354 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-07-02 13:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-04 12:15 bug#10938: procedure-arguments return differnet output when procedure-property is used Stefan Israelsson Tampe
2012-03-04 12:23 ` bug#10938: patch Stefan Israelsson Tampe
2012-03-05 16:59   ` Ludovic Courtès
2012-03-10 15:40     ` Stefan Israelsson Tampe
2012-07-02 13:11       ` Ludovic Courtès

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).