* module/language/scheme/translate.scm (trans):
* module/system/il/compile.scm (codegen): When making records where a
value can be a keyword, make sure to use the keyword initialization
form, so that the record initializer doesn't interpret the keyword as a
slot name.
* module/system/base/Makefile.am (vm_DATA): For now, don't compile
pmatch.
;; fixme: non-self-quoting objects like #<foo>
(else
- (make-ghil-quote e l x))))
+ (make-ghil-quote e l #:obj x))))
(define (valid-bindings? bindings . it-is-for-do)
(define (valid-binding? b)
-SOURCES = syntax.scm compile.scm language.scm pmatch.scm
+SOURCES = syntax.scm compile.scm language.scm
+# we don't deal well with syncase yet
+NOCOMP_SOURCES = pmatch.scm
GOBJECTS = $(SOURCES:%.scm=%.go)
vmdir = $(guiledir)/system/vm
-vm_DATA = $(SOURCES) $(GOBJECTS)
+vm_DATA = $(SOURCES) $(NOCOMP_SOURCES) $(GOBJECTS)
CLEANFILES = $(GOBJECTS)
(return-code! *ia-void*))
;; return object if necessary
(define (return-object! obj)
- (return-code! (make-glil-const obj)))
+ (return-code! (make-glil-const #:obj obj)))
;;
;; dispatch
(record-case tree
(comp-push exp)
(push-call! #f 'list-break '()))))
(else
- (push-code! (make-glil-const x)))))
+ (push-code! (make-glil-const #:obj x)))))
(maybe-drop)
(maybe-return))