--- a/NonPositionableExternalStream.st Fri Jun 23 10:18:11 2000 +0200
+++ b/NonPositionableExternalStream.st Fri Jun 23 10:21:17 2000 +0200
@@ -10,6 +10,8 @@
hereby transferred.
"
+"{ Package: 'stx:libbasic' }"
+
ExternalStream subclass:#NonPositionableExternalStream
instanceVariableNames:''
classVariableNames:'StdInStream StdOutStream StdErrorStream'
@@ -242,6 +244,36 @@
!NonPositionableExternalStream methodsFor:'private'!
+handleForStderr
+ "{ Pragma: +optSpace }"
+
+ "return a stderr handle"
+
+%{
+ RETURN ( __MKOBJ(stderr) );
+%}
+!
+
+handleForStdin
+ "{ Pragma: +optSpace }"
+
+ "return a stdin handle"
+
+%{
+ RETURN ( __MKOBJ(stdin) );
+%}
+!
+
+handleForStdout
+ "{ Pragma: +optSpace }"
+
+ "return a stdout handle"
+
+%{
+ RETURN ( __MKOBJ(stdout) );
+%}
+!
+
initializeForStderr
"{ Pragma: +optSpace }"
@@ -249,19 +281,10 @@
mode := #readwrite.
buffered := false.
-%{
- OBJ fp;
-
- __INST(filePointer) = fp = __MKOBJ(stderr); __STORE(self, fp);
-#ifdef WIN32
- __INST(eolMode) = @symbol(crlf);
-#else
-# ifdef xxx__VMS__ /* XXX: to be tested */
- __INST(eolMode) = @symbol(cr);
-# endif
-#endif
-
-%}
+ filePointer := self handleForStderr.
+ OperatingSystem isMSWINDOWSlike ifTrue:[
+ eolMode := #crlf
+ ]
!
initializeForStdin
@@ -271,11 +294,7 @@
mode := #readonly.
buffered := true.
-%{
- OBJ fp;
-
- __INST(filePointer) = fp = __MKOBJ(stdin); __STORE(self, fp);
-%}
+ filePointer := self handleForStdin.
!
initializeForStdout
@@ -285,18 +304,10 @@
mode := #readwrite.
buffered := false.
-%{
- OBJ fp;
-
- __INST(filePointer) = fp = __MKOBJ(stdout); __STORE(self, fp);
-#ifdef WIN32
- __INST(eolMode) = @symbol(crlf);
-#else
-# ifdef xxx__VMS__ /* XXX: to be tested */
- __INST(eolMode) = @symbol(cr);
-# endif
-#endif
-%}
+ filePointer := self handleForStdout.
+ OperatingSystem isMSWINDOWSlike ifTrue:[
+ eolMode := #crlf
+ ]
!
reOpen
@@ -319,12 +330,6 @@
!NonPositionableExternalStream methodsFor:'queries'!
-isPositionable
- "return true, if the stream supports positioning (this one is not)"
-
- ^ false
-!
-
current
"for compatibility with Transcript - allow Transcript current,
even if redirected to the standardError"
@@ -333,10 +338,16 @@
^ self
].
^ super current
+!
+
+isPositionable
+ "return true, if the stream supports positioning (this one is not)"
+
+ ^ false
! !
!NonPositionableExternalStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/NonPositionableExternalStream.st,v 1.38 1999-10-27 23:58:45 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/NonPositionableExternalStream.st,v 1.39 2000-06-23 08:21:17 cg Exp $'
! !