[[project @ 2001-08-08 20:01:37 by ghouston] ghouston**20010808200137 Ignore-this: 32c4c483a88d25a73e3216a22e138ce7 * 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. ] hunk ./ChangeLog 1 +2001-08-08 Gary Houston + + * 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. + hunk ./INCOMPAT 11 -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*) hunk ./INCOMPAT 19 -enabled-interrupts, interrupt-set, %set-unix-signal-handler, -set-enabled-interrupts, %unix-signal-handler, -with-enabled-interrupts*. - -(incomplete, more below.) +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* hunk ./INCOMPAT 42 -Other Incompatibilities with scsh +network-info doesn't work if its argument is a socket address. + +Other incompatibilities with scsh hunk ./INCOMPAT 47 -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. hunk ./INCOMPAT 52 -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. hunk ./INCOMPAT 54 -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. hunk ./INCOMPAT 57 -display and write don't accept file descriptors in place of ports. +The close-on-exec flag is not set on unrevealed ports. hunk ./README 40 -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. hunk ./USAGE 185 -;; incompatible: read-line, read-delimited, read-delimited! +;; incompatible: read-line, read-delimited, read-delimited!, %read-delimited! hunk ./USAGE 265 -(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) hunk ./network.scm 35 + host-to-net-16 net-to-host-16 host-to-net-32 net-to-host-32 hunk ./network.scm 991 + +;; 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) hunk ./rdelim.scm 23 - (define read-delimited! #f)) + (define read-delimited! #f) + (define %read-delimited! #f)) hunk ./rdelim.scm 26 -(export read-line read-paragraph read-delimited read-delimited! skip-char-set) - -;; unchanged from (ice-9 rdelim) -(re-export %read-delimited!) +(export read-line read-paragraph read-delimited read-delimited! + %read-delimited! skip-char-set) hunk ./rdelim.scm 182 +(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)))) +