Hi,
not terribly important, but it seems that loading of ancient packages ie dolphin 98 ones does not allways work . If necessary I can provide some. Davorin Rusevljan |
Hello all,
> not terribly important, but it seems that loading of ancient packages ie > dolphin 98 ones does not allways work . If necessary I can provide some. I'm finding problems with 3.x era packages too. These are packages that loaded into 4.x, never required changes and were therefore not resaved in the newer format. Have a good one, Bill -- Wilhelm K. Schwab, Ph.D. [hidden email] |
Davorin, Bill
"Bill Schwab" <[hidden email]> wrote in message news:[hidden email]... > Hello all, > > > not terribly important, but it seems that loading of ancient packages ie > > dolphin 98 ones does not allways work . If necessary I can provide some. > > I'm finding problems with 3.x era packages too. These are packages that > loaded into 4.x, never required changes and were therefore not resaved in > the newer format. Please try the attached patch (also posted in the "TreeView and stbConversion" thread) to see if it helps. If not it would be helpful if you could send me a small example of an offending package. Regards Blair |
Blair,
> Please try the attached patch (also posted in the "TreeView and > stbConversion" thread) to see if it helps. If not it would be helpful if > you could send me a small example of an offending package. Not sure how far you've gone with this but I just came across the (same?) problem with loading 2.1 packages. The trouble is caused by the change to source chunk reader. The class definition in a 2.1 binary package ends with the sequence 'end-class-definition'! X The old chunk reader used to get a chunk and then skip whitespace so the next character in the stream was the expected marker, X. The new chunk reader skips whitespace before reading a chunk and not after. The next character in the package stream is now a space which is interpreted as an indication of a corrupt package as it is not the expected X marker. Anyone who needs to load 2.1 packages can temporarily edit Package>>fileInClassDefinitions to read as below. At least you can get the package into the image then. fileInClassDefinitions: aFileStream# "Private - Load all package classes from the filestream up to the end marker." | filer | aFileStream beText. filer := ChunkSourceFiler on: aFileStream. [ filer atEnd ifTrue: [^self errorFileCorrupt]. (Compiler evaluate: filer nextChunk logged: true) = self class endClassDefinitionsMarker] whileFalse. aFileStream skipSeparators. "ADDED LINE" aFileStream next ~= self class endClassDefinitionsCharacter ifTrue: [^self errorFileCorrupt]. aFileStream beBinary Regards Ian |
Ian
You wrote in message news:[hidden email]... > Blair, > > > Please try the attached patch (also posted in the "TreeView and > > stbConversion" thread) to see if it helps. If not it would be helpful if > > you could send me a small example of an offending package. > > Not sure how far you've gone with this but I just came across the (same?) > problem with loading 2.1 packages. The trouble is caused by the change to > source chunk reader. The class definition in a 2.1 binary package ends with > the sequence > > 'end-class-definition'! X > > The old chunk reader used to get a chunk and then skip whitespace so the > next character in the stream was the expected marker, X. The new chunk > reader skips whitespace before reading a chunk and not after. The next > character in the package stream is now a space which is interpreted as an > indication of a corrupt package as it is not the expected X marker. > [patch snipped] Thanks very much Ian for your analysis and fix. We'll fix this as defect #515. Regards Blair |
Free forum by Nabble | Edit this page |