#BUGFIX by exept
authorClaus Gittinger <cg@exept.de>
Sun, 29 Sep 2019 20:26:18 +0200
changeset 24810 7ae3dacf3ff0
parent 24809 e347fb41b7d7
child 24811 d99e4a2e6a4b
#BUGFIX by exept class: Stream changed: #upTo:into: bugfix: sv's tuning broke upTo:
Stream.st
--- 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"