Subject: bug#10938: closed (Re: bug#10938: patch)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 02 Jul 2012 13:17:02 +0000

Your bug report

#10938: procedure-arguments return differnet output when procedure-property is used

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].

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

Subject: Re: bug#10938: patch
From: [email-masked] (Ludovic Courtès)
To: Stefan Israelsson Tampe <[email-masked]>
Cc: [email-masked]
Date: Mon, 02 Jul 2012 15:11:30 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Stefan,

Thanks, fixed differently in a8215aedad433a15abf87c2310a41c684dfcef97.

In the future, could you please provide a patch with a log and test case
similar to what’s in the above commit?

Ludo’.

Subject: procedure-arguments return differnet output when procedure-property is used
From: Stefan Israelsson Tampe <[email-masked]>
To: [email-masked]
Date: Sun, 4 Mar 2012 13:15:47 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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