Dear ABCL developers,
it looks like ABCL is not doing the Right Thing with respect to LOAD's :EXTERNAL-FORMAT argument, instead reading everything with some dubious default from the environment. Can you fix it?
For instance, in Robert Golman's test below, the file is read as MacRoman.
Please check COMPILE-FILE too in case it has the same bug.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Men have a much better time of it than women; for one thing they marry later; for another thing they die earlier. — H.L. Mencken
---------- Forwarded message ---------- From: Robert Goldman rpgoldman@sift.info Date: Mon, Feb 25, 2013 at 4:15 PM Subject: Re: [asdf-devel] Test results on Mac OSX To: Faré fahree@gmail.com Cc: ASDF-devel asdf-devel@common-lisp.net
On 2/25/13 Feb 25 -10:34 AM, Faré wrote:
But when I look for "should be" in my test output file, it is many lines away from the failure message.
That's autoloading for you.
Can you trace LOAD* COMPILE-FILE* and/or COMPILE-FILE LOAD and check that indeed :EXTERNAL-FORMAT :UTF-8 is used?
If it isn't, then it's a bug in our code or test (Note: considering the portable nature of the code, and the fact that it works for me, that is unlikely.)
If it is, then it's time to file a bug against ABCL. (Note: considering that I already had to disable most of the test for ABCL, that is very likely.)
rlwrap abcl (load "test/script-support.lisp") (da) (la) (trace load compile-file load* compile-file*) (load "test/test-encodings.script")
Done. I'm afraid the results are Greek to me. Or would be if I could get ABCL to print non-ASCII! ;-)
ASDF-TEST(7): (load "test-encodings.script") 0: (LOAD "test-encodings.script") ; Loading /Users/rpg/lisp/asdf/test/test-encodings.script ... Test TEST-ENCODING-EXPLICIT-U8: should be UTF-8 ; Registering #<ASDF/SYSTEM:SYSTEM "test-encoding-explicit-u8"> 1: (ASDF/LISP-BUILD:LOAD* #P"/Users/rpg/lisp/asdf/test/lambda.lisp" :EXTERNAL-FORMAT :UTF-8) 2: (LOAD #P"/Users/rpg/lisp/asdf/test/lambda.lisp" :EXTERNAL-FORMAT :UTF-8) ; Loading /Users/rpg/lisp/asdf/test/lambda.lisp ... ; Loaded /Users/rpg/lisp/asdf/test/lambda.lisp (0.0020 seconds) 2: LOAD returned T 1: LOAD* returned T Error loading /Users/rpg/lisp/asdf/test/test-encodings.script at line 43 (offset 1675) #<THREAD "interpreter" {9C2DF08}>: Debugger invoked on condition of type SIMPLE-ERROR On sub-test Encoding test EXPLICIT-U8. These two expressions fail comparison with EQUAL: (ASDF-TEST::STRING-CHAR-CODES "λ") evaluates to (338 170) (ASDF-TEST::EXPECTED-CHAR-CODES (QUOTE :UTF-8)) evaluates to (955)
Best, r
On 2/25/13 10:28 PM, Faré wrote:
Dear ABCL developers,
it looks like ABCL is not doing the Right Thing with respect to LOAD's :EXTERNAL-FORMAT argument, instead reading everything with some dubious default from the environment. Can you fix it?
For instance, in Robert Golman's test below, the file is read as MacRoman.
[…]
CL:LOAD currently ignores its :EXTERNAL-FORMAT specifier, so I have recorded your problem as issue [#303][].
While not trivial, the necessary changes like a straight-forward propagation of the format specifier to the underlying code in Load.java.
[#303]: http://trac.common-lisp.net/armedbear/ticket/303
On 2/26/13 0825 , Mark Evenson wrote:
On 2/25/13 10:28 PM, Faré wrote:
Dear ABCL developers,
it looks like ABCL is not doing the Right Thing with respect to LOAD's :EXTERNAL-FORMAT argument, instead reading everything with some dubious default from the environment. Can you fix it?
[…]
With [r14402][], the version of asdf-encodings.script from asdf-2.30 with the #+abcl conditional commented out now passes.
[r14402]: http://trac.common-lisp.net/armedbear/changeset/14402
Excellent. Is there a simple way to test the version from within ABCL? Is the primary value of (lisp-implementation-version) always going to follow the ASDF convention of having only digits and dots?
Also, I didn't see anything in your patch regarding COMPILE-FILE; was it already good to go with respect to external formats?
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If it's not worth doing right, it's not worth doing. — Scott McKay
On Tue, Feb 26, 2013 at 9:56 AM, Mark Evenson evenson@panix.com wrote:
On 2/26/13 0825 , Mark Evenson wrote:
On 2/25/13 10:28 PM, Faré wrote:
Dear ABCL developers,
it looks like ABCL is not doing the Right Thing with respect to LOAD's :EXTERNAL-FORMAT argument, instead reading everything with some dubious default from the environment. Can you fix it?
[…]
With [r14402][], the version of asdf-encodings.script from asdf-2.30 with the #+abcl conditional commented out now passes.
-- "A screaming comes across the sky. It has happened before, but there is nothing to compare to it now."
On 2/26/13 4:03 PM, Faré wrote:
Excellent. Is there a simple way to test the version from within ABCL? Is the primary value of (lisp-implementation-version) always going to follow the ASDF convention of having only digits and dots?
Only for official releases will the primary value of LISP-IMPLEMENTATION-VERSION be a version string which only contain digits and dots such as "M.N.P". For builds from source, we set this string to "M.N.P-dev". For builds where we can successfully run 'svnversion', we first transform its output to convert ':' to '-', and then append this result as "M.N.P-dev-SVNVERSION". "java.version".
So, just such for the first occurrence of "-", and chop the string at this point to get a version that follows ASDF conventions.
Also, I didn't see anything in your patch regarding COMPILE-FILE; was it already good to go with respect to external formats?
Yes, COMPILE-FILE already correctly uses its :EXTERNAL-FORMAT parameter. If not specified, it defaults to :UTF-8.
On Tue, Feb 26, 2013 at 1:08 PM, Mark Evenson evenson@panix.com wrote:
Only for official releases will the primary value of LISP-IMPLEMENTATION-VERSION be a version string which only contain digits and dots such as "M.N.P". For builds from source, we set this string to "M.N.P-dev". For builds where we can successfully run 'svnversion', we first transform its output to convert ':' to '-', and then append this result as "M.N.P-dev-SVNVERSION". "java.version".
So, just such for the first occurrence of "-", and chop the string at this point to get a version that follows ASDF conventions.
Thanks. Pushed.
Also, I didn't see anything in your patch regarding COMPILE-FILE; was it already good to go with respect to external formats?
Yes, COMPILE-FILE already correctly uses its :EXTERNAL-FORMAT parameter. If not specified, it defaults to :UTF-8.
Excellent. All good to go with ASDF 2.31, then.
PS: Is anyone working on making the standard readtable and pprint-dispatch table read-only? Do I need to file a bug for that?
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If you make people think they're thinking, they'll love you; but if you really make them think, they'll hate you. — Don Marquis
armedbear-devel@common-lisp.net