--- a/Class.st Tue Mar 09 23:01:20 2004 +0100
+++ b/Class.st Wed Mar 10 01:12:27 2004 +0100
@@ -4524,19 +4524,24 @@
sourceStream
"return an open stream on my sourcefile, nil if that is not available"
- |owner source|
+ |owner source stream encoding|
(owner := self owningClass) notNil ifTrue:[^ owner sourceStream].
classFilename notNil ifTrue:[
- source := classFilename
+ source := classFilename
] ifFalse:[
- source := (Smalltalk fileNameForClass:self) , '.st'
+ source := (Smalltalk fileNameForClass:self) , '.st'
].
- ^ self sourceStreamFor:source
-
- "Modified: 15.10.1996 / 18:59:40 / cg"
- "Modified: 1.4.1997 / 14:33:12 / stefan"
+ stream := self sourceStreamFor:source.
+ stream notNil ifTrue:[
+ "/ see if its utf8 encoded...
+ encoding := SourceCodeManagerUtilities guessEncodingOfStream:stream.
+ (encoding notNil and:[encoding ~~ #'iso8859-1' and:[encoding ~~ #'ascii']]) ifTrue:[
+ stream := EncodedStream stream:stream encoder:(CharacterEncoder encoderFor:encoding).
+ ].
+ ].
+ ^ stream.
!
sourceStreamFor:source
@@ -4863,5 +4868,5 @@
!Class class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.459 2004-03-05 21:51:48 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.460 2004-03-10 00:12:27 cg Exp $'
! !
--- a/Method.st Tue Mar 09 23:01:20 2004 +0100
+++ b/Method.st Wed Mar 10 01:12:27 2004 +0100
@@ -1884,14 +1884,19 @@
sourceStream
"return an open sourceStream (needs positioning)"
- |stream|
+ |stream encoding|
stream := self rawSourceStream.
stream notNil ifTrue:[
+ "/ see if its utf8 encoded...
+ encoding := SourceCodeManagerUtilities guessEncodingOfStream:stream.
+ (encoding notNil and:[encoding ~~ #'iso8859-1' and:[encoding ~~ #'ascii']]) ifTrue:[
+ stream := EncodedStream stream:stream encoder:(CharacterEncoder encoderFor:encoding).
+ ].
stream isExternalStream ifTrue:[
LastSourceFileName := source.
LastFileReference at:1 put:stream.
- ]
+ ].
].
^ stream
! !
@@ -2895,7 +2900,7 @@
!Method class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.266 2004-03-09 21:35:17 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.267 2004-03-10 00:12:19 cg Exp $'
! !
Method initialize!