[squeak-dev] The Trunk: Multilingual-topa.205.mcz

Tobias Pape Das.Linux at gmx.de
Wed Apr 15 00:34:31 UTC 2015


On 15.04.2015, at 01:20, Levente Uzonyi <leves at elte.hu> wrote:

> On Tue, 14 Apr 2015, Tobias Pape wrote:
> 
>> 
>> On 14.04.2015, at 13:17, Levente Uzonyi <leves at elte.hu> wrote:
>> 
>>> This doesn't look right, because it'll decode the input twice. Once in #upTo:, and once in #decodeByteString:. The latter will fail if
>>> its argument is not a valid UTF-8 string after the first decoding.
>>> 
>> 
>> Darn.
>> Do you have an Idea?
>> Probably the magic of upTo must me moved
>> to decodeByteString for the UTF converter?
> 
> I've uploaded Multilingual-ul.206 to the Inbox with a more general fix.
> The asymmetry in line end conversions was a bit surprising to me, but the tests are green.

Thank you, Levente!

Best
	-Tobias

> 
>> Best
>> 	-Tobias
>> 
>>> Levente
>>> 
>>> On Tue, 14 Apr 2015, commits at source.squeak.org wrote:
>>> 
>>>> Tobias Pape uploaded a new version of Multilingual to project The Trunk:
>>>> http://source.squeak.org/trunk/Multilingual-topa.205.mcz
>>>> 
>>>> ==================== Summary ====================
>>>> 
>>>> Name: Multilingual-topa.205
>>>> Author: topa
>>>> Time: 14 April 2015, 11:04:27.175 am
>>>> UUID: da7bc0f1-5f76-40d0-9bcb-7cf96596ac92
>>>> Ancestors: Multilingual-topa.204, Multilingual-cbc.201
>>>> 
>>>> Pick up a fix for MultiByteFileStream>>#nextChunk
>>>> 
>>>> =============== Diff against Multilingual-topa.204 ===============
>>>> 
>>>> Item was changed:
>>>> ----- Method: MultiByteFileStream>>nextChunk (in category 'fileIn/Out') -----
>>>> nextChunk
>>>> 	"Answer the contents of the receiver, up to the next terminator character. Doubled terminators indicate an embedded terminator character."
>>>> 
>>>> + 	^(wantsLineEndConversion and: [ lineEndConvention notNil ])
>>>> + 		ifTrue: [converter nextChunkLineEndConvertingFromStream: self]
>>>> + 		ifFalse: [converter nextChunkFromStream: self]!
>>>> - 	^converter nextChunkFromStream: self!
>>>> 
>>>> Item was added:
>>>> + ----- Method: UTF8TextConverter>>nextChunkLineEndConvertingFromStream: (in category 'fileIn/Out') -----
>>>> + nextChunkLineEndConvertingFromStream: input
>>>> + 	"Answer the contents of input, up to the next terminator character. Doubled terminators indicate an embedded terminator character."
>>>> + 	"Obey line end conversion."
>>>> +
>>>> + 	self skipSeparatorsFrom: input.
>>>> + 	^self
>>>> + 		parseLangTagFor: (
>>>> + 			self class decodeByteString: (
>>>> + 				String new: 1000 streamContents: [ :stream |
>>>> + 					[
>>>> + 						stream nextPutAll: (input upTo: $!!).
>>>> + 						input basicNext == $!! ]
>>>> + 							whileTrue: [
>>>> + 								stream nextPut: $!! ].
>>>> + 					input atEnd ifFalse: [ input skip: -1 ] ]))
>>>> + 		fromStream: input!




More information about the Squeak-dev mailing list