[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-scsh ChangeLog INCOMPAT README USAG...
From: |
Gary Houston |
Subject: |
guile/guile-scsh ChangeLog INCOMPAT README USAG... |
Date: |
Wed, 08 Aug 2001 13:01:37 -0700 |
CVSROOT: /cvs
Module name: guile
Changes by: Gary Houston <address@hidden> 01/08/08 13:01:37
Modified files:
guile-scsh : ChangeLog INCOMPAT README USAGE network.scm
rdelim.scm
Log message:
* rdelim.scm (%read-delimited!): export a modified version that's
more scsh-compatible.
* network.scm: (host-to-net-16, net-to-host-16, host-to-net-32,
net-to-host-32): defined and exported.
* USAGE, INCOMPAT, README: updated.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-scsh/ChangeLog.diff?cvsroot=OldCVS&tr1=1.75&tr2=1.76&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-scsh/INCOMPAT.diff?cvsroot=OldCVS&tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-scsh/README.diff?cvsroot=OldCVS&tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-scsh/USAGE.diff?cvsroot=OldCVS&tr1=1.24&tr2=1.25&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-scsh/network.scm.diff?cvsroot=OldCVS&tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-scsh/rdelim.scm.diff?cvsroot=OldCVS&tr1=1.11&tr2=1.12&r1=text&r2=text
Patches:
Index: guile/guile-scsh/ChangeLog
diff -u guile/guile-scsh/ChangeLog:1.75 guile/guile-scsh/ChangeLog:1.76
--- guile/guile-scsh/ChangeLog:1.75 Mon Aug 6 15:18:23 2001
+++ guile/guile-scsh/ChangeLog Wed Aug 8 13:01:37 2001
@@ -1,3 +1,12 @@
+2001-08-08 Gary Houston <address@hidden>
+
+ * rdelim.scm (%read-delimited!): export a modified version that's
+ more scsh-compatible.
+
+ * network.scm: (host-to-net-16, net-to-host-16, host-to-net-32,
+ net-to-host-32): defined and exported.
+ * USAGE, INCOMPAT, README: updated.
+
2001-08-06 Gary Houston <address@hidden>
* syscalls.scm (itimer): define and export. it's an interface
Index: guile/guile-scsh/INCOMPAT
diff -u guile/guile-scsh/INCOMPAT:1.26 guile/guile-scsh/INCOMPAT:1.27
--- guile/guile-scsh/INCOMPAT:1.26 Mon Aug 6 15:18:23 2001
+++ guile/guile-scsh/INCOMPAT Wed Aug 8 13:01:37 2001
@@ -8,15 +8,21 @@
scsh features not implemented
=============================
-The ODBC interface.
-The char->char partial maps library (CCP).
+char->char partial maps library (lib/ccp*)
+flock interface (flock*)
+Job control (jcontrol*)
+NDBM interface (ndbm*)
+ODBC interface (odbc/*)
+pty interface (pty.scm)
+tty interface (tty*)
+
+set-command-line-args!
+select!
+open/async open/fsync open/shared-lock open/exclusive-lock
+enabled-interrupts interrupt-set %set-unix-signal-handler
+set-enabled-interrupts %unix-signal-handler
+with-enabled-interrupts*
-enabled-interrupts, interrupt-set, %set-unix-signal-handler,
-set-enabled-interrupts, %unix-signal-handler,
-with-enabled-interrupts*.
-
-(incomplete, more below.)
-
Bugs in scsh fixed in guile-scsh
================================
@@ -33,44 +39,19 @@
line: list instead of lis. This was causing problems for guile-scsh but
doesn't seem to matter in scsh. Hmm.
-Other Incompatibilities with scsh
+network-info doesn't work if its argument is a socket address.
+
+Other incompatibilities with scsh
=================================
-The Guile module system is not compatible with the one in scsh (from
-Scheme48).
+The Guile module system is not compatible with the Scheme48 system
+used in scsh.
Sockets are created unbuffered in Guile, but buffered in scsh.
-
-with-enabled-interrupts disables all interrupts.
-
-open/async, open/fsync, open/shared-lock, open/exclusive-lock are
-not defined.
-
-[FIXME: check that the following are still true]
-
-network-info works when its argument is a socket address (bug in scsh?)
-
-%read-delimited! takes a string for its "set of delimiters" parameter.
-If the buffer fills, it doesn't peek ahead to check whether the next
-character is a delimiter or EOF, since this a) seems to require extra
-code or comparisons, b) makes read-delimted! and read-line! more complex
-c) doesn't gain much anyway.
-
-set-command-line-args! is not implemented.
-command-line returns the same list every time, not a copy.
-
-The close-on-exec flag is not currently set on unrevealed ports.
-
-the NDBM interface hasn't been implemented.
-
-the flock interface hasn't been implemented.
-
-net-to-host-32 etc., haven't been defined.
-
-the files jcontrol.scm and jcontrol2.scm haven't been ported.
-pty and tty support hasn't been implemented (pty.scm, tty.scm).
+with-enabled-interrupts disables all interrupts in guile-scsh.
-select! hasn't been implemented.
+Guile I/O procedures haven't been changed throughout to accept file
+descriptors in place of ports, e.g., display, write, read-char.
-display and write don't accept file descriptors in place of ports.
+The close-on-exec flag is not set on unrevealed ports.
Index: guile/guile-scsh/README
diff -u guile/guile-scsh/README:1.16 guile/guile-scsh/README:1.17
--- guile/guile-scsh/README:1.16 Sat Aug 4 08:22:08 2001
+++ guile/guile-scsh/README Wed Aug 8 13:01:37 2001
@@ -37,5 +37,10 @@
%load-path in an interactive Guile session to see the current
setting).
-See the USAGE file for notes on using the library and INSTALL for
-generic configure documentation.
+For more information see:
+
+INSTALL for generic configure documentation.
+
+USAGE for notes on using the library.
+
+INCOMPAT for differences with the original scsh.
Index: guile/guile-scsh/USAGE
diff -u guile/guile-scsh/USAGE:1.24 guile/guile-scsh/USAGE:1.25
--- guile/guile-scsh/USAGE:1.24 Mon Aug 6 15:18:23 2001
+++ guile/guile-scsh/USAGE Wed Aug 8 13:01:37 2001
@@ -182,7 +182,7 @@
(scsh rdelim)
;; similar to (ice-9 rdelim):
-;; incompatible: read-line, read-delimited, read-delimited!
+;; incompatible: read-line, read-delimited, read-delimited!, %read-delimited!
;; additions: read-paragraph, skip-char-set
;; omissions: write-line, read-line!
(read-line read-paragraph read-delimited read-delimited! skip-char-set
%read-delimited!)
@@ -262,7 +262,7 @@
(options/boolean options/value options/linger shutdown/receives shutdown/sends
shutdown/sends+receives)
(scsh network)
-(socket-connect bind-listen-accept-loop socket? socket:family socket:inport
socket:outport socket-address? socket-address:address socket-address:family
internet-address->socket-address socket-address->internet-address create-socket
close-socket bind-socket connect-socket listen-socket accept-connection
socket-remote-address socket-local-address shutdown-socket create-socket-pair
receive-message receive-message! receive-message/partial
receive-message!/partial send-message send-message/partial socket-option
set-socket-option host-info host-info? host-info:name host-info:aliases
host-info:addresses network-info network-info? network-info:name
network-info:aliases network-info:net service-info service-info?
service-info:name service-info:aliases service-info:port service-info:protocol
protocol-info protocol-info? protocol-info:name protocol-info:aliases
protocol-info:number)
+(socket-connect bind-listen-accept-loop socket? socket:family socket:inport
socket:outport socket-address? socket-address:address socket-address:family
internet-address->socket-address socket-address->internet-address create-socket
close-socket bind-socket connect-socket listen-socket accept-connection
socket-remote-address socket-local-address shutdown-socket create-socket-pair
receive-message receive-message! receive-message/partial
receive-message!/partial send-message send-message/partial socket-option
set-socket-option host-info host-info? host-info:name host-info:aliases
host-info:addresses network-info network-info? network-info:name
network-info:aliases network-info:net service-info service-info?
service-info:name service-info:aliases service-info:port service-info:protocol
protocol-info protocol-info? protocol-info:name protocol-info:aliases
protocol-info:number host-to-net-16 net-to-host-16 host-to-net-32
net-to-host-32)
(scsh scsh)
(call-terminally fork/pipe %fork/pipe tail-pipe tail-pipe+ alist-update
alist-compress add-before add-after with-env* with-total-env* with-cwd*
with-umask* create-temp-file temp-file-channel run/collecting* run/port+proc*
run/port* run/file* run/string* run/strings* run/sexp* run/sexps* port->string
port->string-list port->sexp-list port->list port-fold char-filter
string-filter y-or-n? stdio->stdports with-stdio-ports* stdports->stdio
command-line-arguments arg* arg argv home-directory exec-path-list suspend
exec/env exec-path/env exec-path exec fork %fork stringify with-cwd with-umask
with-env with-total-env with-stdio-ports)
Index: guile/guile-scsh/network.scm
diff -u guile/guile-scsh/network.scm:1.12 guile/guile-scsh/network.scm:1.13
--- guile/guile-scsh/network.scm:1.12 Sat Aug 4 08:22:08 2001
+++ guile/guile-scsh/network.scm Wed Aug 8 13:01:37 2001
@@ -32,6 +32,7 @@
service-info:protocol
protocol-info protocol-info?
protocol-info:name protocol-info:aliases protocol-info:number
+ host-to-net-16 net-to-host-16 host-to-net-32 net-to-host-32
)
;; noop for Guile.
@@ -987,3 +988,10 @@
(do ((i 0 (+ i 1)))
((= i len) v)
(vector-set! v i (f (vector-ref v i))))))
+
+;; from scsh/endian.scm.in.
+
+(define host-to-net-16 htons)
+(define net-to-host-16 ntohs)
+(define host-to-net-32 htonl)
+(define net-to-host-32 ntohl)
Index: guile/guile-scsh/rdelim.scm
diff -u guile/guile-scsh/rdelim.scm:1.11 guile/guile-scsh/rdelim.scm:1.12
--- guile/guile-scsh/rdelim.scm:1.11 Sat Aug 4 08:22:08 2001
+++ guile/guile-scsh/rdelim.scm Wed Aug 8 13:01:37 2001
@@ -20,13 +20,12 @@
;; releases.
(define read-line #f)
(define read-delimited #f)
- (define read-delimited! #f))
+ (define read-delimited! #f)
+ (define %read-delimited! #f))
-(export read-line read-paragraph read-delimited read-delimited! skip-char-set)
+(export read-line read-paragraph read-delimited read-delimited!
+ %read-delimited! skip-char-set)
-;; unchanged from (ice-9 rdelim)
-(re-export %read-delimited!)
-
(define guile-read-delimited
(module-ref (resolve-module '(ice-9 rdelim)) 'read-delimited))
(define guile-read-delimited!
@@ -179,6 +178,14 @@
; last))
; (+ num-read 1)))))))))
+
+(define guile-%read-delimited!
+ (module-ref (resolve-module '(ice-9 rdelim)) '%read-delimited!))
+
+(define (%read-delimited! delims buf gobble? . rest)
+ (let ((rv (apply guile-%read-delimited! (char-set->string delims)
+ buf gobble? rest)))
+ (values (car rv) (cdr rv))))
;;; (%read-delimited! delims buf gobble? [port start end])
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;