Circumvent https://github.com/racket/racket/issues/1697
This commit is contained in:
parent
f3d357943a
commit
397260eb13
|
@ -85,13 +85,21 @@
|
||||||
))))
|
))))
|
||||||
|
|
||||||
(define-for-syntax (built-in-pure-function? id)
|
(define-for-syntax (built-in-pure-function? id)
|
||||||
|
(define (empty-mpi? mpi)
|
||||||
|
(equal? (call-with-values (λ () (module-path-index-split mpi))
|
||||||
|
list)
|
||||||
|
'(#f #f)))
|
||||||
(or (free-id-set-member? built-in-pure-functions-free-id-set id)
|
(or (free-id-set-member? built-in-pure-functions-free-id-set id)
|
||||||
(match (identifier-binding id)
|
(let ([ib (identifier-binding id)])
|
||||||
[(list (app collapse-module-path-index '(lib "racket/private/kw.rkt"))
|
(match ib
|
||||||
'make-optional-keyword-procedure
|
;; circumvent https://github.com/racket/racket/issues/1697
|
||||||
_ _ _ _ _)
|
[(list* (? empty-mpi?) _) #f]
|
||||||
#t]
|
[(list* (app collapse-module-path-index
|
||||||
[_ #f])))
|
'(lib "racket/private/kw.rkt"))
|
||||||
|
'make-optional-keyword-procedure
|
||||||
|
_)
|
||||||
|
#t]
|
||||||
|
[_ #f]))))
|
||||||
|
|
||||||
(define-syntax (def-built-in-set stx)
|
(define-syntax (def-built-in-set stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user