Added define-stubless-foreign.

This commit is contained in:
marting 2000-07-07 11:51:51 +00:00
parent c96cde2294
commit 56d5597025
1 changed files with 15 additions and 4 deletions

View File

@ -863,6 +863,10 @@ step 4
(let ((name (cdr form)))
(set! init-name (car name))))
((define-stubless-foreign)
(let ((c-name (cadddr form)))
(set! c-names (cons c-name c-names))))
((foreign-source)
(let ((forms (cdr form)))
(if (pair? forms)
@ -1089,9 +1093,11 @@ step 4
(define-structure define-foreign-syntax (export (define-foreign :syntax)
(foreign-source :syntax)
(foreign-init-name :syntax))
(define-structure define-foreign-syntax
(export (define-foreign :syntax)
(foreign-source :syntax)
(foreign-init-name :syntax)
(define-stubless-foreign :syntax))
(open scheme external-calls structure-refs cig-aux)
(access signals) ; for ERROR
(for-syntax (open scheme define-foreign-syntax-support))
@ -1108,7 +1114,12 @@ step 4
(define-syntax foreign-init-name
(syntax-rules ()
((foreign-init-name name) (lambda () name))))
(define-syntax define-stubless-foreign
(syntax-rules ()
((define-stubless-foreign bla ...)
(import-lambda-definition bla ...))))
(define (check-arg pred obj proc)
(if (not (pred obj))
(error "check-arg" pred obj proc)