[cl-markdown-devel] The function STREAM is undefined?

Brandon Edens brandon at cs.uri.edu
Thu Nov 1 18:48:18 UTC 2007


On Wed, Oct 31, 2007 at 10:55:08AM -0400, Gary King wrote:

> Hi Brandon,
>
> The good news is that I have NOT been able to recreate the problem you're 
> seeing. Of course, that's also the bad news! Given the error, my guess is 
> that something has gone wrong in the file dependencies (i.e., I've missed 
> one) and when you build files get compiled in a different order. To be more 
> clear, my guess is that a form like this (from utilities.lisp)
>
>> (defmethod render-to-stream (document style stream-specifier)
>>   (with-stream-from-specifier (stream stream-specifier :output
>> 				      :if-exists :supersede)
>>     (let ((*current-document* document)
>>           (*current-format* style)
>>           (*output-stream* stream))
>>       (setf (level document) 0
>>             (markup document) nil)
>>       (render document style stream))))
>
> is being compiled before the with-stream-from-specifier macro is defined. 
> Lisp says, "OK, with-stream-from-specifier and stream must be functions. 
> I'll wait and get their definitions later." But when later comes and 
> Markdown calls render-to-stream, Lisp finds that there is no function 
> associated with stream and complains.

I was hoping I'd be able to track down that file dependency problem so that
others would not be snagged by it.


> Here are some things to try in no particular order.
>
> 1. Do you have success if specify a different stream. For example, t or 
> *standard-output* or a pathname (if my guess is right, this won't help).
>
> 2. Does trying (asdf:oos 'asdf:load-op 'cl-markdown :force t) help?

It did... I also got some condition errors when I ran it related to cl-markdown
and closer-mop. It was your typical, retry/accept compile. I chose accept.

Ran (cl-markdown:markdown "asdf") which worked.

Shutdown my running lisp image.

cd ~lisp/site/
find . -name "*.fasl" -print0 | xargs -0 rm
(asdf:oos 'asdf:load-op :cl-markdown)

(cl-markdown:markdown "asdf") worked again...

> 3. Does deleting all the fasls and recompiling help?

Yep...

So what's the:
(asdf:oos 'asdf:load-op 'cl-markdown :force t) 
do? I tried to find information about it in the manual. Had to drop into reading
the asdf.lisp file but still don't understand the behavior difference.


So was it in fact a file dependency problem or possibly something else? At this
point I'm having a hard time recreating the original conditions... :(

Thanks for all your help.

Brandon

-- 
Brandon Edens                                   brandon at cs.uri.edu
http://www.brandonedens.org
key 0x42248B92
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cl-markdown-devel/attachments/20071101/609e9076/attachment.sig>


More information about the Cl-markdown-devel mailing list