David T. Lewis uploaded a new version of Multilingual to project The Trunk: http://source.squeak.org/trunk/Multilingual-dtl.233.mcz
==================== Summary ====================
Name: Multilingual-dtl.233 Author: dtl Time: 21 January 2018, 11:03:22.374228 am UUID: 271b4b88-c037-4669-b2d2-15375755dcb4 Ancestors: Multilingual-pre.232
MutliByteFileStream>>upToPosition: fix provided by Bob Arning.
See squeak-dev discussion thread "MultiByteFileStream upToAll: strange bug" for background and diagnosis. The problem was introduced in Multilingual-tonyg.218 and merged to trunk in Multilingual-pre.230
Condensed email from Bob:
To: squeak-dev@lists.squeakfoundation.org From: Bob Arning Date: Sun, 21 Jan 2018 07:01:37 -0500 Subject: Re: [squeak-dev] MultiByteFileStream upToAll: strange bug
The culprit is MultiByteFileStream>>upToPosition: which was referencing the instVar <position> directly. Changing that to "self position" allows it to stop at the right place.
=============== Diff against Multilingual-pre.232 ===============
Item was changed: ----- Method: MultiByteFileStream>>upToPosition: (in category 'accessing') ----- upToPosition: anInteger "Answer a subcollection containing items starting from the current position and ending including the given position. Usefully different to #next: in that positions measure *bytes* from the file, where #next: wants to measure *characters*." ^self collectionSpecies new: 1000 streamContents: [ :stream | | ch | + [ (ch := self next) == nil or: [ self position > anInteger ] ] - [ (ch := self next) == nil or: [ position > anInteger ] ] whileFalse: [ stream nextPut: ch ] ]!
packages@lists.squeakfoundation.org