2010-07-16 Sam Steingold * sys.lisp (setf getenv): when val is NIL, pass it as is to allow removing variables 2009-03-11 Sam Steingold * path.lisp (logical-host-p): support allegro (from Andrew Philpot ) 2008-10-20 Sam Steingold * net.lisp (ipaddr-closure): add 2008-09-22 Sam Steingold * ext.lisp (*lock-package-bindings*): replaces *LOCK-PACKAGE-SAVED-VALUE* (package-lock-bind, package-lock-unbind): manipulate it (get-package-lock, set-package-lock): new exported functions (unlock-package, restore-package-lock): use them 2008-08-04 Sam Steingold * sys.lisp (structure-keyword-constructor, structure-copier, structure-predicate): use find-symbol instead of intern * sys.lisp: fix a typo: symbol-string --> symbol-name 2008-07-30 Sam Steingold * net.lisp (resolve-host-ipaddr): support (and sbcl sb-bsd-sockets) From Robin Lee Powell 2008-05-18 Sam Steingold * sys.lisp: clisp now exports defstruct mop from EXT 2007-11-06 Sam Steingold * sys.lisp: (structure-slots, structure-keyword-constructor, structure-boa-constructors) (structure-copier, structure-predicate): export * ext.lisp (string-tokens): accept :package 2007-09-21 Sam Steingold * gray.lisp, mop.lisp, net.lisp, path.lisp, proc.lisp, shell.lisp, sys.lisp (eval-when): use ANSI CL (keyword) situations * sys.lisp (structure-boa-constructors): avoid an "unused variable" warning 2007-06-25 Sam Steingold * mop.lisp: fix allegro read-time conditions 2006-11-28 Sam Steingold * mop.lisp: oops * mop.lisp: added mop.lisp: Meta-Object Protocol * sys.lisp: (structure-keyword-constructor) [clisp]: use sys::structure-kconstructor 2006-11-22 Sam Steingold * sys.lisp: structure MOP 2006-06-22 Sam Steingold * net.lisp (servent): proto is a keyword * net.lisp: [sbcl]: support :sb-bsd-sockets Thanks to Philippe Brochard 2006-04-07 Sam Steingold * sys.lisp: (arglist) [sbcl]: require :sb-introspect at top-level, not inside the function * ext.lisp: (quit) [sbcl]: :unix-code --> :unix-status 2006-03-06 Sam Steingold * ext.lisp (string-tokens): accept :end 2005-12-25 Sam Steingold * net.lisp: (open-socket-server) [lispworks]: use start-up-server instead of start-up-server-and-mp because it is also available on win32 2005-11-14 Sam Steingold * ext.lisp (with-gensyms): more expressive lambda list 2005-11-08 Sam Steingold * sys.lisp (variable-not-special): handle funbound symbol * sys.lisp (variable-not-special): new function 2005-10-09 Sam Steingold * shell.lisp (close-pipe): close constituent streams 2005-08-05 Sam Steingold * sys.lisp (compiled-file-p): pass NIL #\a to PEEK-CHAR * sys.lisp: (compiled-file-p) [clisp]: fixed empty file handling; optimized 2005-06-24 Sam Steingold * net.lisp: (socket) [CMU|SCL]: define to STREAM Reported by David Tolpin 2005-06-14 Sam Steingold * ext.lisp: removed the defpackage hack; use #: instead 2005-05-23 Sam Steingold * proc.lisp: openmcl patch from David Tolpin * net.lisp (open-socket): fixed a typo assume that mcl is the same as openmcl 2005-05-09 Sam Steingold * path.lisp: (logical-host-p) [sbcl]: *LOGICAL-HOSTS* is in SB-IMPL 2005-05-04 airfoyle * ext.lisp: Keep ext.lisp from necessarily defining :port package with upper-case name 2005-01-27 Sam Steingold * net.lisp: [cmu scl]: (require :simple-streams) (socket) [cmu scl]: STREAM:SOCKET-SIMPLE-STREAM (open-socket) [cmu scl]: create a STREAM:SOCKET-SIMPLE-STREAM (set-socket-stream-format) [cmu scl]: assume bivalent stream * ext.lisp, net.lisp, sys.lisp: updated (c)year 2005-01-26 Sam Steingold * net.lisp (set-socket-stream-format): new function 2004-12-23 Sam Steingold * sys.lisp: CMUCL DEFSTRUCT hack: INTERN before EXPORT * sys.lisp: CMUCL DEFSTRUCT hack: redefine DEFSTRUCT instead of defining a global MAKE-LOAD-FORM method on STRUCTURE-OBJECTs 2004-12-06 Sam Steingold * sys.lisp: (arglist) [SBCL]: require :SB-INTROSPECT from Alexey Dejneka via Szymon 2004-12-05 Sam Steingold * sys.lisp: (arglist) [SBCL]: SB-KERNEL:%SIMPLE-FUN-ARGLIST returns a list Reported by Szymon * sys.lisp: (arglist) [SBCL]: same as CMU/SCL Reported by Szymon 2004-12-01 Sam Steingold * sys.lisp: (arglist) [CMU, SCL]: handle generic functions with PCL:GENERIC-FUNCTION-LAMBDA-LIST 2004-11-30 Sam Steingold * sys.lisp: (compiled-file-p) [CLISP]: use PEEK-CHAR+READ instead of READ-FROM-STRING+READ-LINE * sys.lisp: (compiled-file-p) [CLISP]: fixed for CLISP 2.34 * sys.lisp (compiled-file-p): new function 2004-11-09 Sam Steingold * net.lisp (socket-service-port): do not modify immutable strings (SYMBOL-NAME) 2004-10-18 Sam Steingold * path.lisp (safe-truename): TRUENAME cannot return NIL * ext.lisp (compose-safe): new macro 2004-08-02 Sam Steingold * net.lisp: (socket, open-socket, socket-server, open-socket-server, socket-accept) (socket-server-close): support ABCL * ext.lisp (gc, quit): support ABCL 2004-07-29 Sam Steingold * path.lisp: comment typo 2004-07-16 Sam Steingold * path.lisp (logical-host-p): new function 2004-05-18 Sam Steingold * sys.lisp: support more MOPish CLISP (a temporary hack for the CLISP development version) 2004-04-09 Sam Steingold * net.lisp (open-socket): suport GCL 2003-09-25 rtoy * gray.lisp: Use (require 'gray-streams) if the version of CMUCL supports package locks. (This does the necessary package-lock stuff to load Gray streams without errors.) 2003-07-25 Sam Steingold * sys.lisp: (getenv) [CLISP]: use EXT:GETENV (not SYS) 2003-06-07 Sam Steingold * ext.lisp, gray.lisp, net.lisp, path.lisp, proc.lisp, shell.lisp, sys.lisp: update (C) year * ext.lisp: export CODE slot accessors 2003-06-06 Sam Steingold * path.lisp (un-unspecific): new function: in lispworks, TRUENAME replaces NIL components with :UNSPECIFIC (pathname-ensure-name, probe-directory): use it (safe-truename): new function 2003-05-16 Sam Steingold * sys.lisp: support SCL (from Ram Krishnan ) * proc.lisp, net.lisp, gray.lisp: support SCL and OpenMCL (from Ram Krishnan ) 2003-03-12 Sam Steingold * proc.lisp: (make-lock, with-lock) [Genera]: implemented From Rusty Johnson 2003-02-17 Sam Steingold * net.lisp (network, timeout): avoid using `slot-boundp' on conditions * ext.lisp (code): avoid using `slot-boundp' on conditions 2003-02-14 Sam Steingold * proc.lisp: (process-yield) [Genera, Lucid]: implemented From Rusty Johnson 2003-01-21 Sam Steingold * net.lisp (socket-service-port): service name may contain #\/ (FreeBSD) Reported by "Walter C. Pelissero" 2002-12-15 Sam Steingold * ext.lisp (unlock-package, restore-package-lock): support ECL From Juan Jose Garcia Ripoll 2002-11-30 Sam Steingold * shell.lisp (run-prog): use REMOVE-PLIST instead of REMF * ext.lisp (remove-plist): added 2002-11-28 Sam Steingold * ext.lisp (with-gensyms): append the variable name to GENSYM prefix 2002-10-27 kevinrosenberg * sys.lisp: Push keyword rather than string on ext:*environment-list* for cmucl. See http://bugs.debian.org/166616 2002-07-21 Sam Steingold * sys.lisp: (getenv) [mcl]: support From John Wiseman * net.lisp: (open-socket) [mcl]: support From John Wiseman 2002-06-20 Sam Steingold * net.lisp: (socket-host/port) [lispworks]: fixed a typo From Dave Fox 2002-06-18 Sam Steingold * ext.lisp (required-argument): reverted the last patch: return type NIL means non-returning function 2002-06-17 Sam Steingold * path.lisp: (probe-directory) [generic]: re-use `path' * ext.lisp: (required-argument) [-cmu]: fixed declaration From Dave Fox 2002-06-05 Sam Steingold * path.lisp (load-logical-host-def): code now corresponds to the docs Reported by Hallvard B. Furuseth * net.lisp: (socket, socket-server, wait-for-stream, open-unix-socket): made read conditionals more consistent Reported by Hallvard B. Furuseth 2002-05-02 Sam Steingold * ext.lisp: (unlock-package, restore-package-lock) [lispworks]: :load-toplevel too 2002-04-25 Sam Steingold * net.lisp: (socket-accept) [net.sbcl.sockets]: wait now works (wait-for-stream) [sbcl]: separate support for net.sbcl.sockets and db-sockets (open-unix-socket) [sbcl]: support net.sbcl.sockets From Martin Atzmueller 2002-04-21 Sam Steingold * ext.lisp (unlock-package, restore-package-lock): new macros 2002-03-30 Sam Steingold * net.lisp: Support SBCL/DB-SOCKETS (vector-to-ipaddr, ipaddr-to-vector) [sbcl db-sockets]: new functions (resolve-host-ipaddr, socket, open-socket, socket-host/port) (socket-server, open-socket-server, socket-accept, socket-server-close) (socket-server-host/port): support SBCL/DB-SOCKETS (wait-for-stream): support SBCL (open-unix-socket): support Allegro & SBCL/DB-SOCKETS From Peter Van Eynde * sys.lisp: (variable-special-p) [sbcl]: SB-WALKER:VAR-GLOBALLY-SPECIAL-P instead of SB-WALKER:VARIABLE-GLOBALLY-SPECIAL-P (arglist): SB-KERNEL:%SIMPLE-FUN-ARGLIST instead of SB-KERNEL:%FUNCTION-ARGLIST From Peter Van Eynde 2002-03-26 Sam Steingold * net.lisp: (socket-accept) [cmu]: :BUFFERING depends on BIN, like in OPEN-SOCKET 2002-02-06 Sam Steingold * gray.lisp: avoid interning a symbol in an implementation-internal package 2002-01-26 Sam Steingold * sys.lisp (tz->string): accept an optional second arg LONG to allow output in the format 2002-01-23 Sam Steingold * sys.lisp (current-time): TZ is a RATIONAL, not a FIXNUM Reported by "Greg Harvey" 2002-01-22 stig * path.lisp: s/#+cmucl/#+cmu/ on DEFULAT-DIRECTORY function 2002-01-07 Sam Steingold * net.lisp: (open-socket) [CMUCL]: use :FULL buffering for BIN sockets Reported by Peter Van Eynde 2001-12-04 Sam Steingold * net.lisp (net-path): renamed from `path' 2001-11-09 Sam Steingold * proc.lisp: eol fix * path.lisp (load-logical-host-def): new internal function (*logical-hosts-definitions*): new user variable (load-logical-host): new exported function, a replacement for `load-logical-pathname-translations' * sys.lisp: comment * sys.lisp: sys depends on path * path.lisp, sys.lisp: extracted pathname-related functions from sys.lisp 2001-11-02 Sam Steingold * ext.lisp, gray.lisp, net.lisp, proc.lisp, shell.lisp, sys.lisp: prefix module names with `port-' 2001-10-11 Sam Steingold * sys.lisp (probe-directory): fold the name.type into directory 2001-09-26 Sam Steingold * sys.lisp (string->tz): new function (tz->string): additional dst arg (current-time): reflect that * sys.lisp (+time-zones+): DST in GMT is called BST (British Summer Time) 2001-09-09 Sam Steingold * net.lisp (path): new network condition (404&c) * gray.lisp, net.lisp, shell.lisp, sys.lisp: [Alexey Dejneka ] support SBCL 2001-07-16 Sam Steingold * net.lisp (open-socket, socket-accept): CMUCL: specify :buffering :line Reported by Janne Rinta-Manty 2001-07-09 Sam Steingold * net.lisp (open-unix-socket): use OPEN on non-CMUCL lisps * net.lisp (open-unix-socket, wait-for-stream): new functions * shell.lisp (pipe-input): CMUCL: redirect stdio to the terminal 2001-06-29 Sam Steingold * sys.lisp (setf getenv): new function 2001-06-25 Sam Steingold * sys.lisp: require :ole on #+(and allegro mswindows) 2001-06-11 Sam Steingold * net.lisp (socket-service-port): use NIL as EOF-value in READ-LINE * ext.lisp (+eof+): made the value more readable 2001-06-09 Sam Steingold * ext.lisp (string-tokens): pass to FIND-PACKAGE a keyword instead of a string 2001-06-08 Sam Steingold * ext.lisp (gc, quit): support SBCL From Stig E Sandoe * ext.lisp (eof-p): use `peek-char' instead of `read-char'/`unread-char' * ext.lisp (defconst): use DEFCONSTANT when TYPE is EQL-comparable, and DEFVAR otherwise (ANSI 3.1.2.1.1.3 Constant Variables) * proc.lisp (get-lock): CMU: mp::lock-wait requires 2 args Reported by Juan Hierro 2001-05-21 Sam Steingold * sys.lisp (probe-directory): CLISP: drop the second value 2001-05-18 Sam Steingold * sys.lisp (probe-directory): CLISP: enclose in `ignore-errors' CMUCL: call `namestring' (thanks to Liam Healy) generic: fixed a typo 2001-05-07 Sam Steingold * gray.lisp: FUNDAMENTAL-STREAM is defined in PCL, while FUNDAMENTAL-INPUT-STREAM is defined in GRAY (thanks to Raymond Toy) * gray.lisp: load CMUCL "gray-streams-library" when EXT:FUNDAMENTAL-STREAM does not name a class 2001-04-25 Sam Steingold * shell.lisp (run-prog): in CLISP/lisp=cl, `ext:run-program' accepts :wait * shell.lisp (run-prog): quote arguments passed to shell via format 2001-04-11 Sam Steingold * shell.lisp, sys.lisp, ext.lisp, gray.lisp, net.lisp: updated for CLISP #+LISP=CL 2001-04-03 Sam Steingold * ext.lisp (code, case-error, not-implemented): added :documentation 2001-03-21 Sam Steingold * sys.lisp (rmdir): LispWorks: check whether `lw:delete-directory' is `fboundp' 2001-03-19 Sam Steingold * sys.lisp: removed the last patch 2001-03-17 liam * sys.lisp: Removed LispWorks from rmdir; function lw:delete-directory is not defined. Export mkdir, rmdir. 2001-03-17 Sam Steingold * net.lisp (socket-accept): ACL5 cannot change socket format 2001-03-13 Sam Steingold * sys.lisp (mkdir): fixed arg name * ext.lisp (required-argument): export on non-CMUCL platforms 2001-03-07 Sam Steingold * sys.lisp (probe-directory): fixed for LispWorks (thanks to David E. Young) (mkdir, rmdir): new functions 2001-02-23 Sam Steingold * ext.lisp (required-argument): fix import/export for CMUCL 2001-02-07 Sam Steingold * ext.lisp (string-tokens): when `max' is nil, use `read-from-string' on the whole string 2001-02-06 Sam Steingold * ext.lisp (defpackage "PORT"): use string! * ext.lisp (defpackage port): use strings instead of symbols 2001-01-23 Sam Steingold * net.lisp (socket-host/port): lispworks: use `comm:socket-stream-address' instead of the non-existant `comm:socket-stream-local-address' 2001-01-08 Sam Steingold * ext.lisp: updated the (C) statement * ext.lisp (required-argument): new function (from CMUCL) 2000-12-03 Sam Steingold * net.lisp: require :sys because of `getenv' 2000-11-16 Sam Steingold * net.lisp: Allegro uses feature :mswindows, not :win32 * sys.lisp (sysinfo): ported to the Allegro/win32 registry interface 2000-11-15 Sam Steingold * sys.lisp (class-slot-*, variable-special-p): works with ACL6 now * net.lisp (socket-accept): ignore `bin' in ACL6 2000-11-13 Sam Steingold * net.lisp (socket-accept): in ALC6 all sockets are bivalent 2000-11-10 Sam Steingold * shell.lisp (run-prog): wait defaults to T; it now works on LispWorks and CLISP/UNIX too 2000-09-04 Sam Steingold * shell.lisp (run-prog): CMUCL: forgot #' 2000-08-19 Sam Steingold * sys.lisp (slot-one-initarg): do not use slot-name 2000-08-14 Sam Steingold * sys.lisp (class-slot-initargs): do not take `car' of `slot-one-initarg' * sys.lisp (class-slot-initargs): new function; export it 2000-08-07 Sam Steingold * sys.lisp (class-slot-list): accept anything as the first arg, not just a struct or a CLOS class instance 2000-07-31 Sam Steingold * sys.lisp (variable-special-p, arglist, class-slot-list): support Lucid * ext.lisp (gc, quit): support Lucid * shell.lisp (run-prog, pipe-output, pipe-input): support Lucid * proc.lisp (with-lock): support Lucid 2000-07-20 Sam Steingold * net.lisp (open-socket-server): CMUCL: use 0 when port is nil (socket-server-host/port): CMUCL: use `ext:get-socket-host-and-port' 2000-05-31 Sam Steingold * sys.lisp (pathname-ensure-name): new function 2000-05-23 Sam Steingold * net.lisp (socket-string): use `print-unreadable-object' 2000-05-22 Sam Steingold * net.lisp (socket-string): typo * net.lisp (host/port-string, socket-server-string): removed (socket-string): print both local and peer * sys.lisp (finalize): new function (arglist): support CormanLisp 2000-05-18 Sam Steingold * net.lisp (host/port-string): new function, "0.0.0.0"->"127.0.0.1" (socket-string, socket-server-string): use it 2000-05-15 Sam Steingold * net.lisp (socket-accept): CLISP: fixed for null wait * proc.lisp (with-lock): ignore `lock' when no threads 2000-05-12 Sam Steingold * proc.lisp (with-timeout): added missing commas * ext.lisp (defconst): drop `eval-when' 2000-05-09 Sam Steingold * net.lisp (socket-host/port): return both remote and local host&port * sys.lisp (class-slot-list): added the argument to `not-implemented' * ext.lisp (code): `proc' is not necessarily a symbol 2000-05-08 Sam Steingold * net.lisp (socket-host/port): CLISP: use lisp:socket-stream-peer (thanks Don) 2000-05-02 Sam Steingold * net.lisp: export `hostent' and `servent' accessors 2000-05-01 Sam Steingold * net.lisp: fixed values declaration 2000-04-27 Sam Steingold * net.lisp (socket-accept): `bin' is now a keyword; new keyword arg `wait' 2000-04-19 Sam Steingold * proc.lisp: support CormanLisp * net.lisp (resolve-host-ipaddr): fixed for LispWorks (defstruct socket-server): added slot `port' (socket-server-host/port): replaces `socket-server-host' and `socket-server-port' * sys.lisp (variable-special-p): fixed for LispWorks (class-slot-list, chdir, default-directory): support CormanLisp * ext.lisp (gc): support CormanLisp (quit): support CormanLisp and LispWorks 2000-04-10 Sam Steingold * sys.lisp (arglist): support LispWorks * net.lisp (socket-host/port): replaces `socket-host' and `socket-port' (resolve-host-ipaddr): fixed for GCL and LispWorks (socket-string): print socket as host:port (socket-server &c): support LispWorks * shell.lisp (run-prog): support Liquid (pipe-output, pipe-input): fixed for LispWorks 2000-04-07 Sam Steingold * sys.lisp: use abbreviated package names consistently 2000-04-06 Sam Steingold * proc.lisp (giveup-lock): support CMUCL 2000-04-05 Sam Steingold * gray.lisp: support LispWorks * proc.lisp: Thanks John Wiseman. More work is needed for Genera&Lucid. (process-yield): new fuctions (make-lock, get-lock, giveup-lock): new functions (with-lock): new macro * sys.lisp (variable-special-p): support lispworks 2000-04-04 Sam Steingold * net.lisp (socket-server-host): fixed for CMUCL 2000-04-03 Sam Steingold * net.lisp (socket-accept): allegro: use `bin' * sys.lisp (arglist, chdir): allegro has EXCL, not EXT * proc.lisp (with-timeout): fixed call to `with-gensyms' 2000-03-30 Sam Steingold * ext.lisp (eof-p): new function 2000-03-29 Sam Steingold * net.lisp: cannot use `call-next-method' in `define-condition' :report. (report-network-condition): new function (network, timeout): use it 2000-03-28 Sam Steingold * net.lisp (servent): new defstruct (socket-service-port): return it * net.lisp (resolve-host-ipaddr): in clisp, it's `addrtype' 2000-03-24 Sam Steingold * shell.lisp: comment 2000-03-23 Sam Steingold * sys.lisp (+whitespace+): moved to cllib/withtype 2000-03-22 Sam Steingold * shell.lisp, sys.lisp: use package prefixes for CMU CL and GCL * ext.lisp (quit): optional error code argument 2000-03-09 Sam Steingold * gray.lisp: Gray streams unification 2000-03-08 Sam Steingold * net.lisp (socket-server-host, socket-server-port): exported 2000-03-07 Sam Steingold * net.lisp (socket-server-host, socket-server-port): new functions (socket-host, socket-accept): fixed for CMUCL 2000-03-03 Sam Steingold * ext.lisp, net.lisp, proc.lisp, shell.lisp, sys.lisp: fixed provide statements 2000-03-01 Sam Steingold * sys.lisp (arglist, class-slot-list): new functions * sys.lisp (variable-special-p): new function 2000-02-18 Sam Steingold * ext.lisp, net.lisp, proc.lisp, shell.lisp, sys.lisp: in-package :port now; make system works 2000-02-10 Sam Steingold * net.lisp (hostent): new defstruct (resolve-host-ipaddr): return a `hostent' instance instead of multiple values. * ext.lisp (+eof+): new constant (for `string-tokens') (string-tokens): new function (for net) 1999-11-24 Sam Steingold * ext.lisp, net.lisp, shell.lisp, sys.lisp: Cross-implementation Portability System