[squeak-dev] The Trunk: Multilingual-dtl.233.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Jan 21 16:03:40 UTC 2018


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 at 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 ] ]!



More information about the Squeak-dev mailing list