...
 
Commits (1)
...@@ -698,9 +698,10 @@ it will filter them appropriately." ...@@ -698,9 +698,10 @@ it will filter them appropriately."
(with-saved-deferred-warnings (warnings-file :source-namestring (namestring input-file)) (with-saved-deferred-warnings (warnings-file :source-namestring (namestring input-file))
(with-muffled-compiler-conditions () (with-muffled-compiler-conditions ()
(or #-(or clasp ecl mkcl) (or #-(or clasp ecl mkcl)
(apply 'compile-file input-file :output-file tmp-file (let (#+genera (si:*common-lisp-syntax-is-ansi-common-lisp* t))
#+sbcl (if emit-cfasl (list* :emit-cfasl tmp-cfasl keywords) keywords) (apply 'compile-file input-file :output-file tmp-file
#-sbcl keywords) #+sbcl (if emit-cfasl (list* :emit-cfasl tmp-cfasl keywords) keywords)
#-sbcl keywords))
#+ecl (apply 'compile-file input-file :output-file #+ecl (apply 'compile-file input-file :output-file
(if object-file (if object-file
(list* object-file :system-p t keywords) (list* object-file :system-p t keywords)
...@@ -752,19 +753,20 @@ it will filter them appropriately." ...@@ -752,19 +753,20 @@ it will filter them appropriately."
(defun load* (x &rest keys &key &allow-other-keys) (defun load* (x &rest keys &key &allow-other-keys)
"Portable wrapper around LOAD that properly handles loading from a stream." "Portable wrapper around LOAD that properly handles loading from a stream."
(with-muffled-loader-conditions () (with-muffled-loader-conditions ()
(etypecase x (let (#+genera (si:*common-lisp-syntax-is-ansi-common-lisp* t))
((or pathname string #-(or allegro clozure genera) stream #+clozure file-stream) (etypecase x
(apply 'load x keys)) ((or pathname string #-(or allegro clozure genera) stream #+clozure file-stream)
;; Genera can't load from a string-input-stream (apply 'load x keys))
;; ClozureCL 1.6 can only load from file input stream ;; Genera can't load from a string-input-stream
;; Allegro 5, I don't remember but it must have been broken when I tested. ;; ClozureCL 1.6 can only load from file input stream
#+(or allegro clozure genera) ;; Allegro 5, I don't remember but it must have been broken when I tested.
(stream ;; make do this way #+(or allegro clozure genera)
(let ((*package* *package*) (stream ;; make do this way
(*readtable* *readtable*) (let ((*package* *package*)
(*load-pathname* nil) (*readtable* *readtable*)
(*load-truename* nil)) (*load-pathname* nil)
(eval-input x)))))) (*load-truename* nil))
(eval-input x)))))))
(defun load-from-string (string) (defun load-from-string (string)
"Portably read and evaluate forms from a STRING." "Portably read and evaluate forms from a STRING."
......