aboutsummaryrefslogtreecommitdiffstats
path: root/bigloo.init
diff options
context:
space:
mode:
Diffstat (limited to 'bigloo.init')
-rw-r--r--bigloo.init27
1 files changed, 27 insertions, 0 deletions
diff --git a/bigloo.init b/bigloo.init
index dfe8e2f..13ad86d 100644
--- a/bigloo.init
+++ b/bigloo.init
@@ -215,6 +215,33 @@
;;; OBJ->STRING returns strings with control characters.
;;(define (object->string x) (obj->string x))
+;; input-port-position port bigloo procedure
+;; output-port-position port bigloo procedure
+;;
+;; Returns the current position (a character number), in the port.
+;;
+;; set-input-port-position! port pos bigloo procedure
+;; set-output-port-position! port pos bigloo procedure
+;;
+;; These functions set the file position indicator for port. The new
+;; position, measured in bytes, is specified by pos. It is an error to
+;; seek a port that cannot be changed (for instance, a string or a
+;; console port). The result of these functions is unspecified. An error
+;; is raised if the position cannot be changed.
+
+;;@ (FILE-POSITION <port> . <k>)
+(define (file-position port . k)
+ (if (null? k)
+ ((if (output-port? port)
+ output-port-position
+ input-port-position)
+ port)
+ (apply
+ (if (output-port? port)
+ set-output-port-position!
+ set-input-port-position!)
+ port k)))
+
;;@ (OUTPUT-PORT-WIDTH <port>)
(define (output-port-width . arg) 79)