cs: repair application of parameter guard as an applicable struct
Closes #3865
This commit is contained in:
parent
f31c7172c5
commit
cb959879de
|
@ -73,6 +73,12 @@
|
|||
(add1 'x)))))
|
||||
(define test-param3 (make-parameter 'three list))
|
||||
(define test-param4 (make-derived-parameter test-param3 box list))
|
||||
(define test-param5 (make-parameter
|
||||
'five
|
||||
(let ()
|
||||
(struct s (x)
|
||||
#:property prop:procedure 0)
|
||||
(s (lambda (x) x)))))
|
||||
|
||||
(test 'one test-param1)
|
||||
(test 'two test-param2)
|
||||
|
@ -127,6 +133,10 @@
|
|||
(test '(#&yet-another-three) test-param3)
|
||||
(test '((#&yet-another-three)) test-param4))
|
||||
|
||||
(test 'five test-param5)
|
||||
(test (void) test-param5 5)
|
||||
(test 5 test-param5)
|
||||
|
||||
(let ([cd (make-derived-parameter current-directory values values)])
|
||||
(test (current-directory) cd)
|
||||
(let* ([v (current-directory)]
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
(let ([c (or (parameter-cell data)
|
||||
default-c)])
|
||||
(thread-cell-set! c (if guard
|
||||
(guard v)
|
||||
(|#%app| guard v)
|
||||
v)))])
|
||||
3
|
||||
data))]))
|
||||
|
|
Loading…
Reference in New Issue
Block a user