|
<code> SourceFile>>#tryOpenReadOnly: readOnly | basename | basename := path asFileReference basename.
"Open a read write stream only if read only access was not requested" readOnly ifFalse: [ potentialLocations do: [ :each | [ stream := ZnCharacterReadWriteStream bufferedOn: (File named: (each asFileReference / basename) fullName) writeStream encoding: 'utf8'. ^ self ] on: Error do: [ ] ] ].
potentialLocations do: [ :each | [ stream := ZnCharacterReadStream on: (ZnBufferedReadStream on: (File named: (each asFileReference / basename) fullName) readStream) encoding: 'utf8'. ^ self ] on: Error do: [ ] ] </code>
<code> ZnCharacterReadWriteStream class>>#bufferedOn: wrappedStream encoding: encoding
^ self new bufferedOn: wrappedStream encoding: encoding; yourself </code>
<code> ZnCharacterReadWriteStream>>#bufferedOn: aStream encoding: encoding | encoder | encoder := encoding asZnCharacterEncoder. readStream := ZnCharacterReadStream on: (ZnBufferedReadStream on: aStream) encoding: encoder. writeStream := ZnCharacterWriteStream on: (ZnBufferedWriteStream on: aStream) encoding: encoder </code>
The Zn changes have to be take upstream as well.
|
|
|
Priority: 2 – Really Important
|
|
Status: Work Needed
|
|
Assigned to: Everyone
|
|
Milestone: Pharo7.0
|
Go to Case
|
|