(with-compilation-unit ()
(dolist (input *source*)
(when (member (cadr input) '(:host :both))
- (compile-file (source-pathname (car input))))))
+ (let ((fname (source-pathname (car input))))
+ (multiple-value-bind (fasl warn fail) (compile-file fname)
+ (declare (ignore fasl warn))
+ (when fail
+ (error "Compilation of ~A failed." fname)))))))
;;; Load jscl into the host
(dolist (input *source*)
(load (source-pathname (car input)))))
(defun read-whole-file (filename)
- (with-open-file (in filename)
+ (with-open-file (in filename :external-format :latin-1)
(let ((seq (make-array (file-length in) :element-type 'character)))
(read-sequence seq in)
seq)))
((null (cddr pairs))
(let ((place (ls-macroexpand-1 (first pairs)))
(value (second pairs)))
- (multiple-value-bind (vars vals store-vars writer-form reader-form)
+ (multiple-value-bind (vars vals store-vars writer-form)
(get-setf-expansion place)
;; TODO: Optimize the expansion a little bit to avoid let*
;; or multiple-value-bind when unnecesary.
(defvar *variable-counter* 0)
(defun gvarname (symbol)
+ (declare (ignore symbol))
(code "v" (incf *variable-counter*)))
(defun translate-variable (symbol)