Samium,
you're the one who seemingly introduced this with-open-file in 2ca05589. Why do we need such a fancy and not-that-portable way of testing the file is there? Or why do we care to fail with our own error message, when LOAD will probably issue its own? If for whatever reason you *really* care about getting a system-definition-error, you can just handler-bind, encapsulate the error from LOAD (which could be many more things), and re-raise the sysdef error. But why oh why? Who cares to catch that error? Does desire?
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Men, it has been well said, think in herds; it will be seen that they go mad in herds, while they only recover their senses slowly, and one by one. — Charles Mackay
Can anyone remind me why we are not just using probe-file there??? To make sure we have read permissions? But if we don't, we DESERVE to lose, and erroring out later would be a GOOD THING.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Tradition is the matter of which civilization is made. Anyone who rejects tradition per se should be left naked in a desert island. — Faré
On 27 March 2010 11:32, Futu Ranon futuranon@gmail.com wrote:
Hello,
I wanted to test closure-html so I installed and attempted to load it in LispWorks 6 on Windows.
CL-USER 3 > (asdf:load-system 'closure-html)
Error: External format (:UTF-8 :EOL-STYLE :LF) produces characters of type SIMPLE-CHAR, which is not a subtype of the specified element-type BASE-CHAR. 1 (abort) Return to level 0. 2 Return to top loop level 0.
Type :b for backtrace or :c <option number> to proceed. Type :bug-form "<subject>" for a bug report template or :? for other options.
CL-USER 4 : 1 > :b Call to ERROR Call to STREAM::EXTERNAL-FORMAT-STREAM-DEFAULTED-ELEMENT-TYPE Call to STREAM::EXTERNAL-FORMAT-OPEN Call to OPEN Call to ASDF:FIND-SYSTEM Call to ASDF:OPERATE Call to ASDF:LOAD-SYSTEM Call to EVAL Call to CAPI::CAPI-TOP-LEVEL-FUNCTION Call to CAPI::INTERACTIVE-PANE-TOP-LOOP Call to MP::PROCESS-SG-FUNCTION
CL-USER 5 : 1 >
This diff corrects it for me. I don't have another lisp to test it immediately to see if this needs to be conditional.
--- a/system/asdf/asdf.lisp +++ b/system/asdf/asdf.lisp @@ -1022,7 +1022,7 @@ to `~a` which is not a directory.~@:>" (< (car in-memory) (safe-file-write-date on-disk)))) (let ((package (make-temporary-package))) (unwind-protect - (with-open-file (asd on-disk :if-does-not-exist nil) + (with-open-file (asd on-disk :if-does-not-exist nil :element-type :default) (if asd (let ((*package* package)) (asdf-message
Is this correct or is there something broken on my end?
asdf-devel mailing list asdf-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel