[asdf-devel] Error loading closure-html

Faré fahree at gmail.com
Sat Mar 27 16:44:08 UTC 2010


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 at 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 at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel




More information about the asdf-devel mailing list