diff -r 0e562d291f07 mixin.lisp
--- a/mixin.lisp	Tue Mar 22 12:30:52 2011 +0100
+++ b/mixin.lisp	Mon Mar 28 14:00:32 2011 +0200
@@ -41,7 +41,14 @@
   
   (defmethod gray-streams:stream-write-string 
       ((stream xp::xp-structure) string &optional (start 0) (end (length string)))
-    (xp::write-string+ string stream start end)))
+    (xp::write-string+ string stream start end))
+  
+  #+#.(cl:if (cl:find-symbol "STREAM-FILE-POSITION" :gray-streams) '(cl:and) '(cl:or)) 
+  (defmethod gray-streams:stream-file-position 
+      ((s trivial-gray-stream-mixin) &optional position)
+    (if position
+        (setf (stream-file-position s) position)
+        (stream-file-position s))))
 
 #+allegro
 (progn
