[Asdf-devel] Character encoding question in test-program

Robert P. Goldman rpgoldman at sift.info
Tue Oct 7 04:34:10 UTC 2014

Faré wrote:
> On Sun, Oct 5, 2014 at 5:51 PM, Robert P. Goldman <rpgoldman at sift.info> wrote:
>> When I run this test, I get a style warning about the character
>> encoding, because of "Faré" in the comment:
>> Testing: test-program.script
>> sbcl --noinform --no-userinit --no-sysinit --disable-debugger --eval
>> "'(#.(load(string'|script-support.lisp|))#.(asdf-test::load-asdf)#.(asdf-test::frob-packages)#.(asdf-test:run-test-script'|test-program.script|))"
>>    Character decoding error in a ;-comment at position 1 reading source
>> stream #<FD-STREAM
>>          for "file /Users/rpg/lisp/asdf/uiop/contrib/debug.lisp"
>>          {10043F6093}>, resyncing.
>> should lisp-invocation somehow be requesting UTF-8?
> ASDF should always be requesting UTF-8, and my file has the é as UTF-8
> indeed. Did you somehow get the file mistranslated at some point after
> extracting from git (e.g. to latin1 or mac-roman)? Is the git status
> of the file unmodified?

ASDF does this, but uiop/contrib/debug.lisp is not loaded by ASDF. It's
loaded by invoking LOAD:

(defun debug-lisp ()
  (make-sub-pathname :directory '(:relative "contrib") :name "debug"
:type "lisp" :defaults *uiop-directory*))


(load (debug-lisp))

So it's not a problem of ASDF or of me doing something wrong, it's
because LOAD is just doing whatever it normally does (presumably getting
the information from my US_en locale...).

I don't expect to live long enough to figure out how to fix this for all
implementations' versions of LOAD (since external-formats are, alas,
implementation dependent in the spec), nor does it seem like a
profitable use of our time, so let's drop it.

I suppose the alternative would be to use ASDF to load debug, instead of
using a bespoke pathname...

More information about the asdf-devel mailing list