[squeak-dev] The Trunk: Multilingual-ul.121.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jun 22 16:55:20 UTC 2010


Levente Uzonyi uploaded a new version of Multilingual to project The Trunk:
http://source.squeak.org/trunk/Multilingual-ul.121.mcz

==================== Summary ====================

Name: Multilingual-ul.121
Author: ul
Time: 22 June 2010, 6:48:58.111 pm
UUID: 1293f287-5ed7-354c-9df8-d36e42ef16c0
Ancestors: Multilingual-nice.120

- use #ifNil: when possible
- simplified UTF8TextConverter >> #nextFromStream:empty log message

=============== Diff against Multilingual-nice.120 ===============

Item was changed:
  ----- Method: UTF8TextConverter>>nextFromStream: (in category 'conversion') -----
  nextFromStream: aStream
  
+ 	| character value1 value2 unicode value3 value4 |
+ 	aStream isBinary ifTrue: [ ^aStream basicNext ].
+ 	character := aStream basicNext ifNil: [ ^nil ].
+ 	value1 := character asciiValue.
+ 	value1 <= 127 ifTrue: [ ^character ]. "1-byte character" 
- 	| character1 value1 character2 value2 unicode character3 value3 character4 value4 |
- 	aStream isBinary ifTrue: [^ aStream basicNext].
- 	character1 := aStream basicNext.
- 	character1 isNil ifTrue: [^ nil].
- 	value1 := character1 asciiValue.
- 	value1 <= 127 ifTrue: [
- 		"1-byte character"
- 		^ character1
- 	].
- 
  	"at least 2-byte character"
+ 	character := aStream basicNext ifNil: [ ^self errorMalformedInput ].
+ 	value2 := character asciiValue.
- 	character2 := aStream basicNext.
- 	character2 = nil ifTrue: [^self errorMalformedInput].
- 	value2 := character2 asciiValue.
- 
  	(value1 bitAnd: 16rE0) = 192 ifTrue: [
+ 		^ Unicode value: ((value1 bitAnd: 31) bitShift: 6) + (value2 bitAnd: 63) ].
- 		^ Unicode value: ((value1 bitAnd: 31) bitShift: 6) + (value2 bitAnd: 63).
- 	].
- 
  	"at least 3-byte character"
+ 	character := aStream basicNext ifNil: [ ^self errorMalformedInput ].
+ 	value3 := character asciiValue.
- 	character3 := aStream basicNext.
- 	character3 = nil ifTrue: [^self errorMalformedInput].
- 	value3 := character3 asciiValue.
  	(value1 bitAnd: 16rF0) = 224 ifTrue: [
  		unicode := ((value1 bitAnd: 15) bitShift: 12) + ((value2 bitAnd: 63) bitShift: 6)
+ 				+ (value3 bitAnd: 63) ].
- 				+ (value3 bitAnd: 63).
- 	].
- 
  	(value1 bitAnd: 16rF8) = 240 ifTrue: [
  		"4-byte character"
+ 		character := aStream basicNext ifNil: [ ^self errorMalformedInput ].
+ 		value4 := character asciiValue.
- 		character4 := aStream basicNext.
- 		character4 = nil ifTrue: [^self errorMalformedInput].
- 		value4 := character4 asciiValue.
  		unicode := ((value1 bitAnd: 16r7) bitShift: 18) +
  					((value2 bitAnd: 63) bitShift: 12) + 
  					((value3 bitAnd: 63) bitShift: 6) +
+ 					(value4 bitAnd: 63) ].
+ 	unicode ifNil: [ ^self errorMalformedInput ].
+ 	unicode > 16r10FFFD ifTrue: [ ^self errorMalformedInput ].
+ 	unicode = 16rFEFF ifTrue: [ ^self nextFromStream: aStream ].
- 					(value4 bitAnd: 63).
- 	].
- 
- 	unicode isNil ifTrue: [^self errorMalformedInput].
- 	unicode > 16r10FFFD ifTrue: [^self errorMalformedInput].
- 	
- 	unicode = 16rFEFF ifTrue: [^ self nextFromStream: aStream].
  	^ Unicode value: unicode.
  !

Item was changed:
  ----- Method: EUCTextConverter>>nextFromStream: (in category 'conversion') -----
  nextFromStream: aStream
  
  	| character1 character2 offset value1 value2 nonUnicodeChar |
  	aStream isBinary ifTrue: [^ aStream basicNext].
+ 	character1 := aStream basicNext ifNil: [^ nil].
- 	character1 := aStream basicNext.
- 	character1 isNil ifTrue: [^ nil].
  	character1 asciiValue <= 127 ifTrue: [^ character1].
+ 	character2 := aStream basicNext ifNil: [^ nil].
- 	character2 := aStream basicNext.
- 	character2 = nil ifTrue: [^ nil].
  	offset := 16rA1.
  	value1 := character1 asciiValue - offset.
  	value2 := character2 asciiValue - offset.
  	(value1 < 0 or: [value1 > 93]) ifTrue: [^ nil].
  	(value2 < 0 or: [value2 > 93]) ifTrue: [^ nil].
  
  	nonUnicodeChar := Character leadingChar: self leadingChar code: value1 * 94 + value2.
  	^ Character leadingChar: self languageEnvironment leadingChar code: nonUnicodeChar asUnicode.
  !

Item was changed:
  ----- Method: MultiByteFileStream>>peekFor: (in category 'public') -----
  peekFor: item 
  
  	| next state |
  	"self atEnd ifTrue: [^ false]. -- SFStream will give nil"
  	state := converter saveStateOf: self.
+ 	(next := self next) ifNil: [^ false].
- 	(next := self next) == nil ifTrue: [^ false].
  	item = next ifTrue: [^ true].
  	converter restoreStateOf: self with: state.
  	^ false.
  !

Item was changed:
  ----- Method: MultiByteBinaryOrTextStream>>peekFor: (in category 'public') -----
  peekFor: item 
  
  	| next state |
  	"self atEnd ifTrue: [^ false]. -- SFStream will give nil"
  	state := converter saveStateOf: self.
+ 	(next := self next) ifNil: [^ false].
- 	(next := self next) == nil ifTrue: [^ false].
  	item = next ifTrue: [^ true].
  	converter restoreStateOf: self with: state.
  	^ false.
  !




More information about the Squeak-dev mailing list