Just wanted to forward this problem report on to the list, in case anyone knows more about this. (Maybe this is already a known problem, I'm not sure.)
By the way, Dandelion looks like a great tool for outputting Smalltalk classes/methods source code, if nothing else. (I haven't tried the analysis stuff yet.)
- Doug Way EAI/Transom Technogies, Ann Arbor, MI dway@eai.com, dway@mat.net http://www.transom.com
---------- Forwarded message ---------- Date: Sun, 23 May 1999 22:50:05 +0900 From: Masashi Umezawa umejava@mars.dti.ne.jp To: Doug Way dway@mat.net Subject: Re: [FWD: [Squeak:ANN] Dandelion - a generic analysis/output framework is released!] (fwd)
Doug Way wrote:
Hello Masashi.
Thanks for posting your Dandelion tool. I tried it out with Squeak 2.4 on Windows NT, and it works very well!
However, I also tried running it with Squeak on my Macintosh, and it mostly works, but an error appears with Example 1 when it gets to the "Now Outputting..." stage.
The error stack is as follows:
UndefinedObject(Object)>>doesNotUnderstand: DlHtmlWriteStream(DlWrapStream)>>nextPutAll: DlHtmlWriteStream>>htmlPutAll: DlHtmlWriteStream>>comment DlHtmlWriteStream>>commentWith: DlSimpleHtmlOutputter>>writeTitle: DlSimpleHtmlOutputter>>writeClassOn: [] in DlSimpleHtmlOutputter>>outputClasses SortedCollection(OrderedCollection)>>do: DlSortedSet>>do:
I also heard this problem from Ohshima - Squeak/Zaurus author. It seems to be a problem of Squeak2.4 on Mac. According to Ohshima, Squeak 2.4 on Mac sometimes fails to create an instance of FileStream. It silently returns nil, instead of a FileStream. Maybe the failure occurs in VM. (I cannot check by myself, because I'm not a Mac user).
I'll put this information on my web site. Thanks!
--- [:masashi | ^umezawa]
Doug Way wrote:
[ ... ] According to Ohshima, Squeak 2.4 on Mac sometimes fails to create an instance of FileStream. It silently returns nil, instead of a FileStream. Maybe the failure occurs in VM. (I cannot check by myself, because I'm not a Mac user).
Since the file I/O system does not use exceptions, returning nil is the only way things like file opening can fail gracefully. Every method that opens a file should check the result against nil before proceeding.
This is not specific to the Mac VM; there's alot of code out there that's not portable among platforms, e.g., assuming the path name separator is "" as in several packages I've seen. If you create a platform-inappropriate file name, you'll get a nil back when you try to open it.
squeak-dev@lists.squeakfoundation.org