ClassDescription.st
branchjv
changeset 18768 99079a967eb0
parent 18645 86c46e336392
parent 18764 9c2d1deb0b90
child 18976 2cef520578de
equal deleted inserted replaced
18767:642ad83732c9 18768:99079a967eb0
       
     1 "{ Encoding: utf8 }"
       
     2 
     1 "
     3 "
     2  COPYRIGHT (c) 1993 by Claus Gittinger
     4  COPYRIGHT (c) 1993 by Claus Gittinger
     3 	      All Rights Reserved
     5 	      All Rights Reserved
     4 
     6 
     5  This software is furnished under a license and may be used
     7  This software is furnished under a license and may be used
  1523      This returns a regular stream or a locked stream - according to
  1525      This returns a regular stream or a locked stream - according to
  1524      the LockChangesFile settings
  1526      the LockChangesFile settings
  1525      (recommended if multiple images operate on a common changes file)"
  1527      (recommended if multiple images operate on a common changes file)"
  1526 
  1528 
  1527     |streamType changesStream fileName
  1529     |streamType changesStream fileName
  1528      encoding encoder changeFileIsNew|
  1530      encoding changeFileIsNew|
  1529 
  1531 
  1530     fileName := ObjectMemory nameForChanges.
  1532     fileName := ObjectMemory nameForChanges.
  1531 
  1533 
  1532     LockChangesFile ifTrue:[
  1534     LockChangesFile ifTrue:[
  1533         streamType := LockedFileStream.
  1535         streamType := LockedFileStream.
  1543         ^ nil
  1545         ^ nil
  1544     ].
  1546     ].
  1545 
  1547 
  1546     changeFileIsNew := changesStream fileSize = 0.
  1548     changeFileIsNew := changesStream fileSize = 0.
  1547     changeFileIsNew ifTrue:[
  1549     changeFileIsNew ifTrue:[
  1548         encoder := CharacterEncoder encoderForUTF8.
  1550         encoding := #utf8.
  1549     ] ifFalse:[
  1551     ] ifFalse:[
  1550         encoding := CharacterEncoder guessEncodingOfStream:changesStream.
  1552         encoding := CharacterEncoder guessEncodingOfStream:changesStream.
  1551         encoding isNil ifTrue:[
  1553         encoding isNil ifTrue:[
  1552             encoding := #'iso8859-1'.
  1554             encoding := #'iso8859-1'.
  1553         ].
  1555         ].
  1554         encoder := CharacterEncoder encoderFor:encoding.
       
  1555     ].
  1556     ].
  1556     changesStream setToEnd.
  1557     changesStream setToEnd.
  1557 
  1558 
  1558     changesStream := EncodedStream stream:changesStream encoder:encoder.
  1559     changesStream := EncodedStream stream:changesStream encoding:encoding.
  1559     changeFileIsNew ifTrue:[
  1560     changeFileIsNew ifTrue:[
  1560         changesStream nextPutLine:'"{ Encoding: ' , encoder nameOfEncoding , ' }" !!'.
  1561         changesStream nextPutLine:'"{ Encoding: ' , encoding , ' }" !!'.
  1561     ].
  1562     ].
  1562 
  1563 
  1563     ^ changesStream
  1564     ^ changesStream
  1564 
  1565 
  1565     "Modified: 24.1.1997 / 19:14:27 / cg"
  1566     "Modified: 24.1.1997 / 19:14:27 / cg"