guile-cvs
[Top][All Lists]
Advanced

[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])
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]