Merge branch 'build-tweaks' of https://github.com/nikodemus/jscl into nikodemus-build...
authorDavid Vázquez <davazp@gmail.com>
Wed, 1 May 2013 03:52:12 +0000 (04:52 +0100)
committerDavid Vázquez <davazp@gmail.com>
Wed, 1 May 2013 03:52:12 +0000 (04:52 +0100)
jscl.lisp
src/boot.lisp
src/compiler.lisp

index 86a780e..a25f431 100644 (file)
--- a/jscl.lisp
+++ b/jscl.lisp
 (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*)
@@ -44,7 +48,7 @@
     (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)))
index 11a29b4..2dfadd7 100644 (file)
     ((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.
index 4914c9d..9e6f75c 100644 (file)
 (defvar *variable-counter* 0)
 
 (defun gvarname (symbol)
+  (declare (ignore symbol))
   (code "v" (incf *variable-counter*)))
 
 (defun translate-variable (symbol)