loading of ancient packages (DS 98)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

loading of ancient packages (DS 98)

rush
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


Reply | Threaded
Open this post in threaded view
|

Re: loading of ancient packages (DS 98)

Bill Schwab
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]


Reply | Threaded
Open this post in threaded view
|

Re: loading of ancient packages (DS 98)

Blair McGlashan
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


Reply | Threaded
Open this post in threaded view
|

Re: loading of ancient packages (DS 98)

Ian Bartholomew-3
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


Reply | Threaded
Open this post in threaded view
|

Re: loading of ancient packages (DS 98)

Blair McGlashan
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