diff --git a/src/CHANGELOG b/src/CHANGELOG index e3689016a..92d583ac3 100755 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -104,6 +104,8 @@ and important fixes to let ECL work better with Slime. - SOCKET-MAKE-STREAM defaults :BUFFERING to :FULL and allows three new keyword arguments, :INPUT, :OUTPUT and :EXTERNAL-FORMAT, as in SBCL. + - COMPILE-FILE admits the keyword argument :EXTERNAL-FORMAT. + ;;; Local Variables: *** ;;; mode:text *** ;;; fill-column:79 *** diff --git a/src/cmp/cmpmain.lsp b/src/cmp/cmpmain.lsp index 728304aa4..2f5288660 100755 --- a/src/cmp/cmpmain.lsp +++ b/src/cmp/cmpmain.lsp @@ -565,6 +565,7 @@ static cl_object VV[VM]; (shared-data-file nil) (system-p nil) (load nil) + (external-format :default) output-file &aux (*standard-output* *standard-output*) (*error-output* *error-output*) @@ -649,7 +650,8 @@ compiled successfully, returns the pathname of the compiled file" with the flag :SYSTEM-P set to T.")) (data-init)) - (with-open-file (*compiler-input* *compile-file-pathname*) + (with-open-file (*compiler-input* *compile-file-pathname* + :external-format external-format) (do* ((ext:*source-location* (cons *compile-file-pathname* 0)) (*compile-file-position* 0 (file-position *compiler-input*)) (form (si::read-object-or-ignore *compiler-input* eof) diff --git a/src/new-cmp/cmpmain.lsp b/src/new-cmp/cmpmain.lsp index 486dcb9df..331afc05a 100644 --- a/src/new-cmp/cmpmain.lsp +++ b/src/new-cmp/cmpmain.lsp @@ -447,6 +447,7 @@ static cl_object VV[VM]; (shared-data-file nil) (system-p nil) (load nil) + (external-format :default) output-file &aux (*standard-output* *standard-output*) (*error-output* *error-output*) @@ -535,7 +536,8 @@ compiled successfully, returns the pathname of the compiled file" (if system-p :object :fasl))) (with-t1expr (init-name) - (with-open-file (*compiler-input* *compile-file-pathname*) + (with-open-file (*compiler-input* *compile-file-pathname* + :external-format external-format) (do* ((ext:*source-location* (cons *compile-file-pathname* 0)) (*compile-file-position* 0 (file-position *compiler-input*)) (form (si::read-object-or-ignore *compiler-input* eof)