[squeak-dev] Re: The Trunk: Compression-ar.22.mcz

Andreas Raab andreas.raab at gmx.de
Mon Sep 6 22:42:09 UTC 2010


On 9/6/2010 2:49 PM, Nicolas Cellier wrote:
> Shouldn't this package include #lastIndexOfPKSignature: ?

For sure. Although it's not in my current focus. What I'm rather trying 
to do is to learn to understand the "hard" dependencies between the 
packages and remove or reduce them wherever possible. If you fire up the 
depency browser, you can see that between the Collections, Compiler, 
Exceptions, Files, Graphics, Kernel, Multilingual, and System package 
there is a fairly small kernel somewhere. There are few external 
references left; the biggest issues at this point is how to deal with 
the System package (and Utilities/Preferences in particular) since those 
are by far the largest holders of dependencies to Morphic, Tools and the 
rest.

Cheers,
   - Andreas


> I think that already happened in Pharo
>
> cheers
>
> Nicolas
>
> 2010/9/5<commits at source.squeak.org>:
>> Andreas Raab uploaded a new version of Compression to project The Trunk:
>> http://source.squeak.org/trunk/Compression-ar.22.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Compression-ar.22
>> Author: ar
>> Time: 5 September 2010, 10:53:14.026 am
>> UUID: 579fde37-ea30-f14a-9799-a08eb7eac29f
>> Ancestors: Compression-ar.21
>>
>> Restructurings to reduce package depencencies.
>>
>> =============== Diff against Compression-ar.21 ===============
>>
>> Item was changed:
>>   ----- Method: GZipWriteStream class>>initialize (in category 'class initialization') -----
>>   initialize
>> +       FileServices registerFileReader: self!
>> -       FileList registerFileReader: self!
>>
>> Item was added:
>> + ----- Method: StandardFileStream>>compressFile (in category '*Compression') -----
>> + compressFile
>> +       "Write a new file that has the data in me compressed in GZip format."
>> +       | zipped buffer |
>> +
>> +       self readOnly; binary.
>> +       zipped := self directory newFileNamed: (self name, FileDirectory dot, 'gz').
>> +       zipped binary; setFileTypeToObject.
>> +               "Type and Creator not to be text, so can be enclosed in an email"
>> +       zipped := GZipWriteStream on: zipped.
>> +       buffer := ByteArray new: 50000.
>> +       'Compressing ', self fullName displayProgressAt: Sensor cursorPoint
>> +               from: 0 to: self size
>> +               during: [:bar |
>> +                       [self atEnd] whileFalse: [
>> +                               bar value: self position.
>> +                               zipped nextPutAll: (self nextInto: buffer)].
>> +                       zipped close.
>> +                       self close].
>> +       ^zipped!
>>
>> Item was changed:
>>   ----- Method: GZipWriteStream class>>unload (in category 'class initialization') -----
>>   unload
>> +       FileServices unregisterFileReader: self!
>> -       FileList unregisterFileReader: self!
>>
>> Item was added:
>> + ----- Method: FileStream>>viewGZipContents (in category '*Compression') -----
>> + viewGZipContents
>> +       "View the contents of a gzipped file"
>> +
>> +       | stringContents |
>> +       self binary.
>> +       stringContents := self contentsOfEntireFile.
>> +       stringContents := Cursor wait showWhile: [(GZipReadStream on: stringContents) upToEnd].
>> +       stringContents := stringContents asString withSqueakLineEndings.
>> +
>> +       UIManager default
>> +               edit: stringContents;
>> +               label: 'Decompressed contents of: ', self localName!
>>
>> Item was changed:
>>   ----- Method: GZipReadStream class>>unload (in category 'class initialization') -----
>>   unload
>>
>> +       FileServices unregisterFileReader: self !
>> -       FileList unregisterFileReader: self !
>>
>>
>>
>
>




More information about the Squeak-dev mailing list