[Fix] Smalltalk compressSources (was: Re: Which PDA best for
running squeak ?)
Dan Ingalls
Dan at SqueakLand.org
Thu Nov 20 22:47:38 UTC 2003
I finally had a chance to fix this problem. The error only occurred at the edge of a 20,000 character buffer. Anyway, I'm attaching a fix herewith (since it's small), and I will update SM when I have some better success with FTP.
Thanks for the report. I'm interested if things are solid now (they have been for me).
- Dan
-----------------------------------
>On 14/11/03 21:39, "Dan Ingalls" <Dan at SqueakLand.org> wrote:
>
>> Hi, Hannes -
>>
>> I'm glad to hear your enthusiasm for compressed soruces. I, too, got an error
>> stemming from the PackageLoader's need to access the fileID of the Sources
>> file. If you have a chance, would you please define
>>
>> CompressedSourcesFile>>fileID
>> ^ segmentFile fileID
>>
>> and see if this cures your problem. You should be able to do this in the
>> saved image file and then run the PackageLoader. If this solves your problem
>> (and probably in any event), I'll put out a new version ASAP (which might not
>> be immediately ;-).
>>
>> Thanks for testing this!
>>
>> - Dan
>> --------------------------------------------
>> Hannes Hirzel <hannes.hirzel.squeaklist at bluewin.ch> wrote...
>>
>>> I took a a fresh full 3.6 release on a Mac and updated
>>> with the package loader the installed packages.
>>>
>>> Then I loaded the compressed sources package and evaluated
>>> Smalltalk condenseSources
>>> Smalltalk compressSources
>>>
>>> Then I saved the image and quit.
>>> I deleted the files marked as 'old' and restarted the image.
>>>
>>> I could browse the source code in the SystemBrowser.
>>>
>>> However loading additional packages from SM caused an error
>>> message (walkback).
>>>
>>>
>>>
>>> I keep many backup copies of my images and I like to have all things
>>> conveniently in one directory. Compressing the sources file comes in handy. I
>>> move my Squeak work forth and back using a memory stick between a Mac at work
>>> and Windows machines at home.
>>>
>>> So I would love to have that, but at the moment not beeing able
>>> to load additional packages prevents me to do that?
>Dan:
>
>I'm having this error, don't know if related to Hannes bug.
>
>Error: Strings only store Characters
>15 November 2003 4:39:03 pm
>
>VM: Mac OS - Squeak3.6gamma of '11 September 2003' [latest update: #5420]
>Squeak VM 3.6.0b3
>Image: Squeak3.6 [latest update: #5424]
>
>String(Object)>>error:
> Receiver: 'setMyText: someT...etc...
> Arguments and temporary variables:
> aString: 'Strings only store Characters'
> Receiver's instance variables:
>'setMyText: someT...etc...
>String>>at:put:
> Receiver: 'setMyText: someT...etc...
> Arguments and temporary variables:
> index: 17
> aCharacter: 'e'
> Receiver's instance variables:
>'setMyText: someT...etc...
>WriteStream>>nextPut:
> Receiver: a WriteStream
> Arguments and temporary variables:
> anObject: 'e'
> Receiver's instance variables:
> collection: 'setMyText: someT...etc...
> position: 17
> readLimit: 0
> writeLimit: 1000
>
>CompressedSourceStream(PositionableStream)>>nextChunk
> Receiver: a CompressedSourceStream
> Arguments and temporary variables:
> terminator: $!
> out: a WriteStream
> ch: 'e'
> Receiver's instance variables:
> collection: 'answer the entire rest of the receiver."
> | newStream element |
> n...etc...
> position: 10269
> readLimit: 20000
> writeLimit: nil
> segmentFile: StandardFileStream: 'Macintosh
>HD:Users:edgar:Public:SqueakDevelop...etc...
> segmentSize: 20000
> nSegments: 946
> segmentTable: #(3800 8931 15723 22757 28230 33508 39472 45080
>49887 54517 59589...etc...
> segmentIndex: 635
> dirty: false
> endOfFile: 18882682
>
>
>--- The full stack ---
>String(Object)>>error:
>String>>at:put:
>WriteStream>>nextPut:
>CompressedSourceStream(PositionableStream)>>nextChunk
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>CompressedSourceStream(PositionableStream)>>nextChunkText
>RemoteString>>text
>CompiledMethod>>getSourceFromFile
>CompiledMethod>>getSourceFor:in:
>ScrollableField class(Behavior)>>sourceCodeAt:ifAbsent:
>ScrollableField class(ClassDescription)>>ultimateSourceCodeAt:ifAbsent:
>Browser(CodeHolder)>>sourceStringPrettifiedAndDiffed
>Browser>>selectedMessage
>Browser>>contents
>PluggableTextMorph>>getText
>PluggableTextMorph>>update:
>[] in Browser(Object)>>changed:
>DependentsArray>>do:
>Browser(Object)>>changed:
>Browser(Object)>>contentsChanged
>Browser(CodeHolder)>>contentsChanged
>Browser>>messageListIndex:
>PluggableListMorph>>changeModelSelection:
>PluggableListMorph>>setSelectedMorph:
>PluggableListMorph>>mouseUp:
>PluggableListMorph(Morph)>>handleMouseUp:
>MouseButtonEvent>>sentTo:
>PluggableListMorph(Morph)>>handleEvent:
>PluggableListMorph(Morph)>>handleFocusEvent:
>[] in HandMorph>>sendFocusEvent:to:clear:
>PasteUpMorph>>becomeActiveDuring:
>HandMorph>>sendFocusEvent:to:clear:
>HandMorph>>sendEvent:focus:clear:
>HandMorph>>sendMouseEvent:
>HandMorph>>handleEvent:
>HandMorph>>processEvents
>[] in WorldState>>doOneCycleNowFor:
>Array(SequenceableCollection)>>do:
>WorldState>>handsDo:
>WorldState>>doOneCycleNowFor:
>WorldState>>doOneCycleFor:
>PasteUpMorph>>doOneCycle
>[] in Project class>>spawnNewProcess
>[] in BlockContext>>newProcess
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CompressedSources-di.1.cs.gz
Type: application/mac-binhex40
Size: 6189 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20031120/29d2b48c/CompressedSources-di.1.cs.hqx
More information about the Squeak-dev
mailing list
|