Pascal Bourguignon <pjb@...> writes:
> What does this error mean?
>
> ; compiling top level form:
> unhandled condition (of type SIMPLE-ERROR):
> Non-:DEFAULT EXTERNAL-FORMAT values are not supported.
Are you doing (LOAD ... :EXTERNAL-FORMAT <:FOO>) anywhere? This is
where the error would be coming from. From the CLHS page for LOAD:
The external-format specifies the external file format to be used
when opening the file (see the function open), except that when the
file named by filespec is a compiled file, the external-format is
ignored. compile-file and load cooperate in an
implementation-dependent way to assure the preservation of the
similarity of characters referred to in the source file at the time
the source file was processed by the file compiler under a given
external file format, regardless of the value of external-format at
the time the compiled file is loaded.
I think that sbcl has a compliance bug (of not ignoring the
:EXTERNAL-FORMAT keyword argument to LOAD when loading a compiled
file); on the other hand, why are you specifying an external format?
If you really need to, you could probably quieten sbcl with
(load ... :external-format #+sbcl :default #-sbcl <whatever>)
instead of what you currently have.
> I'm compiling a file, and since require/provide/*modules* are
> deprecated, I'm using load (indirectly, thru a macro (eval-when
> (:compile-toplevel :load-toplevel) (load "..."))) to load the
> dependencies. It compiled correctly in clisp and cmucl.
Just as a note, SBCL has user-hookable REQUIRE and PROVIDE, and comes
(in its contrib/ section) with a portable defsystem facility, ASDF,
which is known also to run in clisp and cmucl.
I hope that helps,
Christophe
--
http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)
|