#BUGFIX by exept
class: Stream
changed: #upTo:into:
bugfix: sv's tuning broke upTo:
--- a/Stream.st Sat Sep 28 15:54:47 2019 +0200
+++ b/Stream.st Sun Sep 29 20:26:18 2019 +0200
@@ -3517,18 +3517,22 @@
|element|
- anObject isImmediate ifTrue:[
- "speed uo for anObject being an Integer or a Character <= 255
- - identity compare is inlined and a lot faster"
- [((element := aStream nextOrNil) notNil or:[self atEnd])
- and:[element ~~ anObject]] whileTrue:[
+ (anObject isImmediate) ifTrue:[
+ [
+ element := self nextOrNil.
+ ((element isNil and:[self atEnd]) or:[element == anObject]) ifTrue:[
+ ^ self
+ ].
aStream nextPut:element.
- ].
+ ] loop.
] ifFalse:[
- [((element := aStream nextOrNil) notNil or:[self atEnd])
- and:[element ~= anObject]] whileTrue:[
+ [
+ element := self nextOrNil.
+ ((element isNil and:[self atEnd]) or:[element = anObject]) ifTrue:[
+ ^ self
+ ].
aStream nextPut:element.
- ].
+ ] loop.
].
"Modified (format): / 24-09-2019 / 14:35:01 / Stefan Vogel"