fix bugs related to changes in keyword-argument error messages
svn: r15098
This commit is contained in:
parent
74cb273fb7
commit
62325eb7cf
|
@ -99,6 +99,9 @@
|
||||||
struct:okp
|
struct:okp
|
||||||
0 0 #f))
|
0 0 #f))
|
||||||
|
|
||||||
|
(define-values (prop:named-keyword-procedure named-keyword-procedure? keyword-procedure-name)
|
||||||
|
(make-struct-type-property 'named-keyword-procedure))
|
||||||
|
|
||||||
;; Constructor generator for a procedure with a required keyword.
|
;; Constructor generator for a procedure with a required keyword.
|
||||||
;; (This is used with lift-expression, so that the same constructor
|
;; (This is used with lift-expression, so that the same constructor
|
||||||
;; is used for each evaluation of a keyword lambda.)
|
;; is used for each evaluation of a keyword lambda.)
|
||||||
|
@ -111,7 +114,8 @@
|
||||||
struct:keyword-method
|
struct:keyword-method
|
||||||
struct:keyword-procedure)
|
struct:keyword-procedure)
|
||||||
0 0 #f
|
0 0 #f
|
||||||
(list (cons prop:arity-string generate-arity-string))
|
(list (cons prop:arity-string generate-arity-string)
|
||||||
|
(cons prop:named-keyword-procedure name))
|
||||||
(current-inspector) fail-proc)])
|
(current-inspector) fail-proc)])
|
||||||
mk))
|
mk))
|
||||||
|
|
||||||
|
@ -788,8 +792,8 @@
|
||||||
(apply
|
(apply
|
||||||
raise-type-error 'x "x" 0 'x
|
raise-type-error 'x "x" 0 'x
|
||||||
(append args (apply append (map list kws kw-args))))))]
|
(append args (apply append (map list kws kw-args))))))]
|
||||||
[proc-name (lambda (p) (or (and (keyword-procedure? p)
|
[proc-name (lambda (p) (or (and (named-keyword-procedure? p)
|
||||||
(substring (symbol->string (object-name p)) 10)) ; strip "procedure:"
|
(keyword-procedure-name p))
|
||||||
(object-name p)
|
(object-name p)
|
||||||
p))])
|
p))])
|
||||||
(raise
|
(raise
|
||||||
|
@ -812,7 +816,7 @@
|
||||||
(format
|
(format
|
||||||
(string-append
|
(string-append
|
||||||
"~a: no case matching ~a non-keyword"
|
"~a: no case matching ~a non-keyword"
|
||||||
" argument~a for: ~e; ~a")
|
" argument~a; ~a")
|
||||||
(proc-name p)
|
(proc-name p)
|
||||||
(- n 2) (if (= 1 (- n 2)) "" "s") args-str)))
|
(- n 2) (if (= 1 (- n 2)) "" "s") args-str)))
|
||||||
(current-continuation-marks)))))))))
|
(current-continuation-marks)))))))))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user