Following this email is the requested patch format
Test case.
With the patch:
(define (f x) x)
(define arg1 (procedure-arguments f))
(set-procedure-property! f 'arglist (map cdr arg1))
(define arg2 (procedure-arguments f))
(equal? arg1 arg2)
$4 = #t
Without the patch a field is missing and the result would be #f
/Stefan
Hi Stefan,
Stefan Israelsson Tampe <stefan.itampe@gmail.com> skribis:
> diff --git a/module/ice-9/session.scm b/module/ice-9/session.scm
> index fbb03d2..dc2c927 100644
> --- a/module/ice-9/session.scm
> +++ b/module/ice-9/session.scm
> @@ -504,13 +504,14 @@ It is an image under the mapping EXTRACT."
> if the information cannot be obtained.
>
> The alist keys that are currently defined are `required', `optional',
> -`keyword', and `rest'."
> +`keyword', allow-other-keys? 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)
Can you provide one or more test cases that illustrate that this patch
fixes?
Also, please send your patch in ‘git format-patch’ format.
Thanks,
Ludo’.