mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-09 21:40:33 +02:00
Merge remote-tracking branch 'origin/stable-2.0'
Conflicts: libguile/procprop.c libguile/smob.c libguile/smob.h libguile/vm.c module/language/tree-il/primitives.scm
This commit is contained in:
commit
c8ab29ac8e
2 changed files with 18 additions and 6 deletions
|
@ -267,11 +267,15 @@
|
|||
((<module-ref> src mod name public?)
|
||||
;; for the moment, we're disabling primitive resolution for
|
||||
;; public refs because resolve-interface can raise errors.
|
||||
(let ((m (and (not public?) (resolve-module mod))))
|
||||
(and m
|
||||
(and=> (hashq-ref *interesting-primitive-vars*
|
||||
(module-variable m name))
|
||||
(lambda (name) (make-primitive-ref src name))))))
|
||||
(and=> (and=> (resolve-module mod)
|
||||
(if public?
|
||||
module-public-interface
|
||||
identity))
|
||||
(lambda (m)
|
||||
(and=> (hashq-ref *interesting-primitive-vars*
|
||||
(module-variable m name))
|
||||
(lambda (name)
|
||||
(make-primitive-ref src name))))))
|
||||
((<call> src proc args)
|
||||
(and (primitive-ref? proc)
|
||||
(make-primcall src (primitive-ref-name proc) args)))
|
||||
|
|
|
@ -1598,7 +1598,15 @@
|
|||
(lambda _
|
||||
(lambda-case
|
||||
(((x y) #f #f #f () (_ _))
|
||||
_)))))
|
||||
_))))
|
||||
|
||||
(pass-if-peval resolve-primitives
|
||||
((@ (guile) car) '(1 2))
|
||||
(const 1))
|
||||
|
||||
(pass-if-peval resolve-primitives
|
||||
((@@ (guile) car) '(1 2))
|
||||
(const 1)))
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue