home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / clisp / doc / changes.log < prev    next >
Text File  |  1977-12-31  |  58KB  |  1,867 lines

  1. 30 May 1996
  2. ================
  3.  
  4. User visible changes
  5. --------------------
  6.  
  7. * NO-APPLICABLE-METHOD did not allow for corrective action or
  8.   for escape.  Thanks to Mark Thomas <thommark@access.digex.net>.
  9.  
  10. * REMOVE-METHOD didn't work. 
  11.   Thanks to Roger Kehr <kehr@iti.informatik.th-darmstadt.de>
  12.   and Bruno Haible for the fix.
  13.  
  14. * Fixed a bug in the compiler: A (MULTIPLE-VALUE-SETQ vars valform)
  15.   or (MULTIPLE-VALUE-BIND vars valform ...) form was miscompiled if
  16.   valform is known to produce a single value.
  17.   Thanks to Bruno Haible and Paul Graham <pg@das.harvard.edu>.  
  18.  
  19. * Added SOCKET-WAIT for testing for incoming connections.
  20.   Thanks to Marco Ramoni <M.Ramoni@open.ac.uk>.
  21.  
  22. Portability
  23. -----------
  24.  
  25. * Partial support for Irix 6 (64 bit).
  26.   Thanks to Bruno Haible.
  27.  
  28. * Support for HPUX 10.
  29.   Thanks to Ricardo Aler Mur <aler@grial.uc3m.es>.
  30.  
  31. * Support for DJGPP version 2.
  32.  
  33. * Solaris binary distribution now distributed as a link kit.
  34.  
  35. 17 April 1996
  36. ================
  37.  
  38. User visible changes
  39. --------------------
  40.  
  41. * EXECUTE now returns the exit status of the subprocess.  Thanks to
  42.   Bruno Haible and Brian F. Dennis <xjam@CS.Berkeley.EDU>.
  43.  
  44. * Fixed a bug in the compiler:  MULTIPLE-VALUE-BIND failed to work when 
  45.   given non-function forms.  Thanks to Paul Graham <pg@das.harvard.edu>.
  46.  
  47. * TRANSLATE-LOGICAL-PATHNAME now accepts logical-pathname namestrings.
  48.   Thanks to Don Cohen <don@nichimen.com>
  49.  
  50. * Logical-pathname translation was broken under DOS.
  51.   Thanks to Don Cohen <don@nichimen.com>.
  52.   
  53. * Cross compiler was non-functional.
  54.   Thanks to Don Cohen <don@nichimen.com>.
  55.  
  56. * Fix for bug introduced in last loop macro change.  
  57.   Thanks to Ken Olum <kdo@mit.edu> for reporting this right away.
  58.  
  59. Other modifications
  60. -------------------
  61.  
  62. * Upgraded to autoconf 2.9.
  63.  
  64. * Upgraded to gettext-0.10.12.
  65.  
  66. Portability
  67. -----------
  68.  
  69. * cygwin32 support updated for gnu-win32-b14.
  70.  
  71. * SINIX support updated.  Thanks to Michael Becker <mb12@coconet.de>. 
  72.  
  73. 15 March 1996
  74. ================
  75.  
  76. User visible changes
  77. --------------------
  78.  
  79. * New variable *IMAGE-PATHNAME* provides the pathname 
  80.   resulting from the `-M' option.
  81.  
  82. * Fix for GC bug that could occur during buffered string output.
  83.  
  84. * Pipes can use binary I/O.
  85.  
  86. * RENAME-FILE now does *not* result in an error if the destination
  87.   file already exists (unless the system call results in an error message).
  88.  
  89. * PROBE-FILE and TRUENAME will not issue error messages if given
  90.   directories.
  91.  
  92. * On Unix, PARSE-NAMESTRING will not interpret a leading `.'
  93.   as a file with a type but no name.  Instead, the file will include the `.'
  94.   in the name.  Pathname syntax is unchanged.
  95.   Thanks to Robert Morris <rtm@uun.org>.
  96.  
  97. * Changes to loop macro to allow for derived FOR assignments from
  98.   hash-tables and counting variables.  Improved previous fix
  99.   for derived values from list and vector iteration variables.
  100.   Thanks to Francisco Martin <martin@sinera.iia.csic.es> and
  101.   Russell Senior <seniorr@teleport.com>.
  102.  
  103. Portability
  104. -----------
  105.  
  106. * DECstation 5000/Ultrix support updated.  Thanks to Bruno Haible.
  107.  
  108. * NEXTSTEP support updated (version 3.3).
  109.   Thanks to Robert Murphy <robert.murphy@yale.edu>.
  110.  
  111. * The deema program is no longer used.  
  112.   Empty macro arguments are explictly tagged as such.
  113.  
  114. * Win32 support split into a DOS- and a Unix-style sections.
  115.   The Unix version takes advantage of the Cygnus gnu-win32 DLL
  116.   to emulate a Unix-like environment, e.g. as there is a 
  117.   `mount' program, there is no explicit support for drive names.
  118.   As of gnu-win32-b13.5, NT hosted builds are possible, e.g.:
  119.     `configure --build --disable-nls nt < /dev/null' 
  120.   will autoconf and build CLISP from source.
  121.  
  122. Other modifications
  123. -------------------
  124.  
  125. * Support for tracking dynamic bindings; useful for further multithread work.
  126.   Feature can be compiled-in by using -DDYNBIND_LIST.
  127.  
  128. * Top-level configure adds a GNU-like `--target' syntax for cross compilation.
  129.  
  130. * Non-GNU-gettext multilingual debugging binaries will no longer have
  131.   inaccurate line numbers.
  132.  
  133. * GNU gettext support now distributed in a separate package.
  134.  
  135.  
  136. 8 December 1995
  137. ================
  138.  
  139. User visible changes
  140. --------------------
  141.  
  142. * Bug fix to prevent unbound slots from causing pathological 
  143.   conflicts with the condition system.  Thanks to Bruno Haible
  144.   and Heinrich Taube.
  145.  
  146. * When MAKE-PATHNAME :DIRECTORY is given a string, it is treated as 
  147.   equivalent to (:ABSOLUTE string), as ANS dictates.  Thanks
  148.   to Heinrich Taube for noticing this.
  149.  
  150. * Fixed a bug in the FFI where call-ins which returned structures or
  151.   unions would not compile correctly.  Thanks to Michael Stoll.
  152.  
  153. * Added a <c-type>, C-PTR-NULL to the FFI.  C-PTR-NULL will convert
  154.   NIL objects into NULL (so that type conflicts can be avoided).
  155.  
  156. * X3J13 vote <72> is implemented: all standard Common Lisp data objects 
  157.   other than symbols and lists are self-evaluating. 
  158.   Thanks to Pierpaolo Bernardi. 
  159.  
  160. * SOCKET-STREAMS are implemented.  See impnotes for details.
  161.  
  162. * Loop macro modified to allow sequential, list/vector-computed "FOR" values.
  163.  
  164. * Fixed a bug in the FFI which caused foreign double variables to be
  165.   incorrectly converted.  Thanks to Bruno Haible and Ken Olum.
  166.  
  167. * Callbacks to code which don't respect CLISP global registers are possible. 
  168.   Thanks to Bruno Haible and Ken Olum (Dec Alpha, OSF 2, FORTRAN).
  169.  
  170. * Fixed a double-float conversion routine used by the FFI. 
  171.   0.0d0 wasn't dealt with properly.  Thanks to Bruno Haible and Ken Olum.
  172.  
  173. * Fixed a bug in the FFI which prevented multidimensional arrays from
  174.   being used as :OUT arguments.  Thanks to Ken Olum.
  175.  
  176. * Fixed a bug in the floating point number printing routine:
  177.   In rare cases, a number was printed with more digits than necessary
  178.   (without, however, violating the print-read consistency). For example,
  179.   2.1416s29 printed as 2.14159s29, and 3.002618f-31 printed as 3.0026179f-31.
  180.   Thanks to Bruno Haible.
  181.  
  182. * Fixed a bug in ATAN: (ATAN y 0) with y < 0 returned pi/2 instead of -pi/2.
  183.   Thanks to Bruno Haible.
  184.  
  185. * Fixed a bug in FORMAT which could (in very rare cases) have caused a
  186.   wrong number to be printed by the FORMAT ~F, ~G, ~$, ~E directives.
  187.  
  188. Portability
  189. -----------
  190.  
  191. * Runs on Windows NT.
  192.  
  193. * FreeBSD/NetBSD patches and compilation notes thanks to 
  194.   Douglas Crosher (dtc@stan.xx.swin.oz.au).
  195.  
  196. * Updated OS/2 support thanks to Raymond Keoni Garcia
  197.   (rkgarcia@students.wisc.edu).
  198.  
  199. * Remove Atari support.
  200.  
  201. * On systems where both the select system call and FIONREAD ioctl were
  202.   indicated, take select in preference.  On Irix, where FIONREAD was
  203.   only apparently available, CLISP went into a `function call not 
  204.   implemented' OS error loop.  Symptom also could occur in Emacs (e.g. Ilisp).
  205.  
  206. Other modifications
  207. -------------------
  208.  
  209. * Upgraded gettext support to version 0.10.  This provides locale name
  210.   aliasing like with X Windows.
  211.  
  212. * Upgraded to autoconf-2.7.
  213.  
  214. * Specify bash for makefile.developer's makemake.
  215.   Some shells may convert backslash sequences to control codes --
  216.   the prebuilt dos, os2, etc. makefiles were previously corrupted.
  217.  
  218. * The top-level CLISP `configure' can be used in a more GNU-like
  219.   fashion.  Specifically, there is a `--srcdir' option, with which
  220.   `makemake' runs by default.
  221.  
  222.  
  223. 12 August 1995
  224. ============
  225.  
  226. User visible changes
  227. --------------------
  228.  
  229. * CLISP now supports the GNU gettext package.  Non-gettext internationalization
  230.   support still available with "--disable-nls".  
  231.  
  232. * Self referencing symbolic links were not always avoided during 
  233.   directory searches.  Thanks to Dan Stanger for pointing this out.
  234.  
  235. * Fixed a bug in XGCD which caused the results to be wrong with a small
  236.   probability, for example in the case (XGCD 77874422 32223899).
  237.   Thanks to Bruno Haible and Michael Stoll.
  238.  
  239. * Top level configure accepts absolute build directory.
  240.  
  241. * Top level configure now passes on --exec-prefix, --prefix, and --srcdir 
  242.   to makemake.
  243.  
  244. Portability
  245. -----------
  246.  
  247. * Runs on Solaris 2.4 with SUNWspro (3.0.1).  Thanks to Bruno Haible.
  248.  
  249. * Runs on Solaris 2.4/sun4m with GCC (2.6.3).
  250.  
  251. * Repair of memmove-related build problem on SunOS/Solaris.
  252.   Thanks to Bruno Haible.
  253.  
  254. * Fixed a bug in mips/avcall.
  255.  
  256. * arimips.s now assembled with -KPIC to avoid problems during incremental
  257.   linking of lisp.o.
  258.  
  259. 23 June 1995
  260. ============
  261.  
  262. Important note
  263. --------------
  264.  
  265. * Changed bytecode format. All .fas files generated by previous CLISP versions
  266.   are invalid and must be recompiled.
  267.  
  268. User visible changes
  269. --------------------
  270.  
  271. * X3J13 vote <106> is implemented: LAST has an optional argument. Thanks to
  272.   Pierpaolo Bernardi.
  273.  
  274. * X3J13 vote <87> is implemented: New function COMPLEMENT. Thanks to Pierpaolo
  275.   Bernardi.
  276.  
  277. * X3J13 vote <40> is partially implemented: New macro WITH-STANDARD-IO-SYNTAX.
  278.   Thanks to Pierpaolo Bernardi.
  279.  
  280. * X3J13 vote <98> is partially implemented: New macro WITH-HASH-TABLE-ITERATOR.
  281.   Thanks to Pierpaolo Bernardi.
  282.  
  283. * X3J13 vote <97> is implemented: New functions HASH-TABLE-REHASH-SIZE,
  284.   HASH-TABLE-REHASH-THRESHOLD, HASH-TABLE-SIZE, HASH-TABLE-TEST.
  285.   Thanks to Pierpaolo Bernardi.
  286.  
  287. * X3J13 votes <69> and <70> are implemented: New declaration DYNAMIC-EXTENT.
  288.  
  289. * The dpANS macro LAMBDA is implemented.
  290.  
  291. * The dpANS declaration IGNORABLE is implemented.
  292.  
  293. * The dpANS function CONSTANTLY is implemented. Thanks to Pierpaolo Bernardi.
  294.  
  295. * Better syntax checking for the CASE macro. Thanks to Pierpaolo Bernardi.
  296.  
  297. * The user interface language may be chosen through the environment variable
  298.   LANG as well.
  299.  
  300. * The pretty printer now indents lists spanning more than one line by two
  301.   spaces, instead of one. New variable *PRINT-INDENT-LISTS*.
  302.  
  303. * *PRINT-PRETTY* is now initially T.
  304.  
  305. * Foreign function interface: New foreign type constructor FFI:C-ARRAY-MAX,
  306.   implements zero-terminated arrays of bounded size.
  307.  
  308. * On Unix, 8-bit characters are legal in pathnames if the operating system
  309.   accepts them.
  310.  
  311. * On DOS, #\Newline is converted to CR/LF when doing character output to
  312.   unbuffered file streams (referring to special files).
  313.  
  314. * Fixed a bug in the interpreter and compiler: A MULTIPLE-VALUE-SETQ form
  315.   which assigns to a symbol macro expanded to a wrong form; compiling it
  316.   produced a warning. Thanks to Pierpaolo Bernardi.
  317.  
  318. * Fixed a bug in the compiler: Some CASE form with duplicate keys, when
  319.   compiled, chose the wrong clause to be executed. Thanks to Pierpaolo
  320.   Bernardi.
  321.  
  322. * Fixed a bug in the #+/#- reader macros. (LIST #+FOO #-BAR 1 2 3) now returns
  323.   (2 3), not (3).
  324.  
  325. * Fixed a bug in LOG: (LOG x^n x^m), where n, m are integers, |m| > 1, and
  326.   x is a rational number /= 1, now correctly returns n/m. Previously,
  327.   (LOG 2 4) returned 1/0.
  328.  
  329. * Fixed a CLOS bug: Using the :DOCUMENTATION option in DEFGENERIC declarations
  330.   for function names of the form (SETF symbol) signalled an error. Thanks to
  331.   Pierpaolo Bernardi.
  332.  
  333. * Fixed a bug in DEFSETF: An IGNORE declaration for the store variable had
  334.   no effect. Thanks to Pierpaolo Bernardi.
  335.  
  336. Portability
  337. -----------
  338.  
  339. * Added support for Linux/ELF. Thanks to Marcus Daniels.
  340.  
  341. * Added support for Solaris/x86. Thanks to Marty Shannon.
  342.  
  343. * On Solaris, LISTEN and READ-CHAR-NO-HANG did not work on the terminal stream
  344.   if standard input was redirected to come from a file.
  345.  
  346. * On OS/2, consider the virtual directory \PIPE\ as existent.
  347.  
  348. Other modifications
  349. -------------------
  350.  
  351. * A couple of bug fixes and new functions in the STDWIN package. Thanks to
  352.   Pierpaolo Bernardi.
  353.  
  354. * The structure of external modules has changed a bit.
  355.  
  356. * Miscellaneous documentation updates.
  357.  
  358.  
  359. 25 April 1995
  360. =============
  361.  
  362. User visible changes
  363. --------------------
  364.  
  365. * Michael Stoll has written a graphical user interface for CLISP under
  366.   NeXTstep.
  367.  
  368. * Added a foreign language module WILDCARD for wildcard matching.
  369.  
  370. * Added a foreign language module REGEXP for Unix-style regular expression
  371.   matching and searching.
  372.  
  373. * X3J13 vote <94> is implemented: Calling GENSYM has no side effects except
  374.   incrementing the counter. New variable *GENSYM-COUNTER*.
  375.  
  376. * New macro FORMATTER converts a FORMAT control string to a function.
  377.  
  378. * Some FORMAT fixes:
  379.   + X3J13 vote <81> is implemented: The FORMAT ~:^ directive is more useful.
  380.     Warning: Old style "~:^" directives need to be converted to "~#:^".
  381.   + X3J13 vote <82> is implemented: The FORMAT ~D, ~B, ~O, ~X, ~R directives
  382.     accept an optional comma-interval parameter.
  383.   + X3J13 vote <84> is implemented: FORMAT ~C outputs characters with no bits
  384.     as if by WRITE-CHAR.
  385.   + Handling of ~^ within the FORMAT ~? directive.
  386.  
  387. * X3J13 vote <167> is implemented: New types FILE-STREAM, SYNONYM-STREAM,
  388.   BROADCAST-STREAM, CONCATENATED-STREAM, TWO-WAY-STREAM, ECHO-STREAM,
  389.   STRING-STREAM. New functions OPEN-STREAM-P, SYNONYM-STREAM-SYMBOL,
  390.   BROADCAST-STREAM-STREAMS, CONCATENATED-STREAM-STREAMS,
  391.   TWO-WAY-STREAM-INPUT-STREAM, TWO-WAY-STREAM-OUTPUT-STREAM,
  392.   ECHO-STREAM-INPUT-STREAM, ECHO-STREAM-OUTPUT-STREAM.
  393.  
  394. * New condition type PRINT-NOT-READABLE.
  395.   New function PRINT-NOT-READABLE-OBJECT.
  396.  
  397. * New function FINALIZE. (FINALIZE object function) has the effect that
  398.   function will be called when object is being garbage collected.
  399.  
  400. * DRIBBLE now also redirects *ERROR-OUTPUT*, *TRACE-OUTPUT*, *QUERY-IO*,
  401.   *DEBUG-IO* if they refer to *TERMINAL-IO*.
  402.  
  403. * Calling SYMBOL-VALUE on a symbol defined as global symbol macro now returns
  404.   the value of the expansion. New function SYMBOL-MACRO-EXPAND.
  405.  
  406. * Add FFI to the *FEATURES* if the foreign language interface is present.
  407.  
  408. * Fixed a bug: An IGNORE declaration for a macro's &ENVIRONMENT argument now
  409.   has an effect.
  410.  
  411. * Fixed a couple of bugs in the foreign language interface: Passing zero size
  412.   arrays did not work, parameters with mode :OUT did not work on SPARC and
  413.   HP-PA, and some error messages were deficient.
  414.  
  415. * Fixed a bogus error message in SET-DISPATCH-MACRO-CHARACTER.
  416.  
  417. Portability
  418. -----------
  419.  
  420. * Fixed a couple of building problems relating to the foreign language
  421.   interface (missing `mark_fp_invalid' and `pr_hex8', missing makefile
  422.   dependencies, support for --with-dynamic-modules, warnings when compiling
  423.   user2.lsp and foreign1.lsp).
  424.  
  425. * Fixed a building problem: Not all C compilers accept casts in constant
  426.   expressions used as initializers, e.g. gcc-2.5.8.
  427.  
  428. * Foreign function interface: Fixed a couple of possible bugs in the low-level
  429.   foreign function call routine for i386/486/586, m680x0, SPARC CPUs. Thanks
  430.   to Jörg Höhle.
  431.  
  432. * Small fixes for SCO.
  433.  
  434. * Added a utility "hln" for making hard links. Needed for "make distrib";
  435.   Solaris "ln" does not make a hard link if a symbolic link is involved.
  436.  
  437. * On some Unix systems, use "uname -m", not "arch", to determine
  438.   (MACHINE-TYPE) and (MACHINE-VERSION).
  439.  
  440. * More support for BSDI 1.0, AIX, HP-UX, Solaris.
  441.  
  442. * Changed STDWIN so that it compiles under X11R6.
  443.  
  444. Other modifications
  445. -------------------
  446.  
  447. * Speed up compiled calls to FORMAT with literal control string by use of
  448.   FORMATTER.
  449.  
  450. * Miscellaneous documentation updates.
  451.  
  452.  
  453. 4 April 1995
  454. ============
  455.  
  456. User visible changes
  457. --------------------
  458.  
  459. * The initial value of *PACKAGE* can be specified by a command line option.
  460.  
  461. * X3J13 vote <6> is implemented: New place ROW-MAJOR-AREF.
  462.  
  463. * X3J13 vote <126> is implemented: New function DELETE-PACKAGE.
  464.  
  465. * X3J13 vote <14> is implemented: Closing a synonym stream does not close
  466.   its constituent stream.
  467.  
  468. * Foreign language interface for C and ANSI C. New package FFI. New macros
  469.   FFI:DEF-C-TYPE, FFI:DEF-C-VAR, FFI:DEF-C-CALL-OUT, FFI:DEF-C-CALL-IN,
  470.   FFI:DEF-C-ENUM, FFI:DEF-C-STRUCT, FFI:DEF-CALL-OUT, FFI:DEF-CALL-IN,
  471.   FFI:ELEMENT, FFI:DEREF, FFI:SLOT, FFI:CAST, FFI:TYPEOF, FFI:SIZEOF,
  472.   FFI:BITSIZEOF.
  473.   This currently works only on Unix and only with the CPUs
  474.   i386/486/586, m680x0, Mips, SPARC, DEC Alpha, HP-PA, RS/6000.
  475.   Warning: (COMPILE-FILE "filename.lsp") now overwrites the file "filename.c".
  476.  
  477. * New macros MUFFLE-CERRORS and APPEASE-CERRORS. During their execution,
  478.   continuable errors are handled by the function CONTINUE. MUFFLE-CERRORS
  479.   does this silently, APPEASE-CERRORS prints the error as a warning.
  480.  
  481. * New macro EXIT-ON-ERROR. During its execution, non-continuable errors
  482.   cause CLISP to exit with error status.
  483.  
  484. * The function ED, when asked to edit a non-existent file, now creates that
  485.   file instead of signalling an error.
  486.  
  487. * When a non-absolute pathname is specified for the -o command line option
  488.   (destination file of a compilation), it is interpreted as relative to the
  489.   current directory, not relative to the source file of the compilation.
  490.  
  491. * The readline library now uses the last column of the screen if the terminal
  492.   is an xterm, for example. Work done by Chet Ramey.
  493.  
  494. * Fixed two bugs in the LOOP macro: FOR-AS-ACROSS clauses could result in AREF
  495.   signalling an out-of-bounds error at the end of the vector. Initialisations
  496.   for FOR-AS-= clauses could be executed in the wrong order.
  497.  
  498. * Fixed a bug in the compiler which caused LOAD-TIME-VALUE forms to be
  499.   evaluated at compile time.
  500.  
  501. * Fixed a bug in the debugger: Choosing a restart Rnnn always invoked the
  502.   last restart listed, not the chosen one.
  503.  
  504. * Fixed a bug: (CLOSE *TERMINAL-IO*) signals an error again.
  505.  
  506. * On DOS and OS/2, the Lisp reader now treats Ctrl-Z as whitespace.
  507.  
  508. * The -I command line option now tells the readline library to handle the Tab
  509.   character as normal self-inserting character.
  510.  
  511. * Unix version only: DISASSEMBLE can display machine instructions, provided
  512.   that GNU gdb is present.
  513.  
  514. Portability
  515. -----------
  516.  
  517. * Updated support for EMX.
  518.  
  519. * Fixed a bug which caused a preprocessor error on SunOS and OSF/1.
  520.  
  521. * Small fixes for Sinix and SCO.
  522.  
  523. * Removed support for Coherent.
  524.  
  525. Other modifications
  526. -------------------
  527.  
  528. * Generational garbage collection now also works on IRIX 5.2.
  529.  
  530. * Generational garbage collection and support for immutable objects don't
  531.   exclude each other any more.
  532.  
  533. * Speed up the bytecode interpreter by about 2%.
  534.  
  535. * Miscellaneous documentation updates.
  536.  
  537.  
  538. 1 January 1995
  539. ==============
  540.  
  541. CLISP now compiles and runs on
  542. * microcomputers:
  543.   * DOS
  544.   * OS/2 2.0
  545.   * MS Windows 3.1
  546.   * Amiga 500-4000, Amiga OS
  547.   * Atari ST/TT, TOS
  548.   * Acorn ARM Risc PC, RISC OS
  549. * Unix workstations:
  550.   * PC, Linux
  551.   * PC, USL SVR4
  552.   * DEC Alpha AXP, OSF/1
  553.   * Sun4, SunOS 4 or 5
  554.   * HP9000/800, HP-UX
  555.   * NeXT, NeXTstep 3.1
  556.   * PC, NeXTstep 3.2
  557.   * SGI Mips, Irix 4 or 5
  558.   * SNI Mips, USL SVR4
  559.   * DECstation 5000, Ultrix 4.2
  560.   * IBM RS/6000, AIX 3.2
  561.   * M88000
  562.   * Sun386, SunOS 4
  563.   * Sun3, SunOS 4 (?)
  564.   * HP9000/300, HP-UX or NetBSD
  565.   * Apple MacII, A/UX (?)
  566.   * Amiga 3000, Amiga Unix 2.1
  567.   * Sequent PTX
  568.   * PC, 386BSD or NetBSD or BSDI/386
  569.   * PC, UnixWare
  570.   * PC, SCO (?)
  571.   * PC, Coherent 4.0
  572.   * Convex, ConvexOS
  573.   * Atari ST/TT, MiNT
  574.  
  575. Generational GC works on
  576.   * PC, Linux
  577.   * Sun4, SunOS 4 or 5
  578.   * NeXT, NeXTstep 3.1
  579.   * PC, NeXTstep 3.2
  580.   * DEC Alpha AXP, OSF/1 3.0
  581.  
  582.  
  583. 1 January 1995
  584. ==============
  585.  
  586. Important note
  587. --------------
  588.  
  589. * Changed bytecode format. All .fas files generated by previous CLISP versions
  590.   are invalid and must be recompiled.
  591.  
  592. User visible changes
  593. --------------------
  594.  
  595. * The destination file of a compilation can be specified by a command line
  596.   option.
  597.  
  598. * X3J13 vote <152> is implemented: REDUCE has a keyword argument :KEY.
  599.  
  600. * The printed representation of file streams of element type STRING-CHAR now
  601.   contains a line number.
  602.  
  603. * Fixed a bug which caused the interpreter to signal an error when evaluating
  604.   nested DEFUNs.
  605.  
  606. * Fixed a bug which could cause a crash when a GC occurred during single or
  607.   double float subtraction.
  608.  
  609. Portability
  610. -----------
  611.  
  612. * More support for Acorn ARM running RISCOS. Thanks to Peter Burwood.
  613.  
  614. * Fixed a problem in the readline library on non-POSIX BSD systems: Only LF
  615.   was output instead of CR/LF.
  616.  
  617. * Updated support for EMX.
  618.  
  619. * The `configure' script now caches its results.
  620.  
  621. Other modifications
  622. -------------------
  623.  
  624. * New memory model TRIVIALMAP_MEMORY which supports generational garbage
  625.   collection in combination with the WIDE tagging scheme.
  626.  
  627. * Generational garbage collection now also works on NeXTstep and OSF/1 3.0.
  628.  
  629. * When a memory image is loaded, the terminal stream from the previous
  630.   session is closed.
  631.  
  632. * Renamed `target' to `configure'.
  633.  
  634. * Added a manual page in HTML format.
  635.  
  636. * Miscellaneous documentation updates.
  637.  
  638.  
  639. 26 October 1994
  640. ===============
  641.  
  642. Important note
  643. --------------
  644.  
  645. * Changed bytecode format. All .fas files generated by previous CLISP versions
  646.   are invalid and must be recompiled.
  647.  
  648. User visible changes
  649. --------------------
  650.  
  651. * X3J13 vote <77> is implemented: CL:FLET, CL:LABELS, CL:MACROLET allow
  652.   declarations.
  653.  
  654. * X3J13 vote <78> is implemented: CL:FLET, CL:LABELS, CL:MACROLET, DEFTYPE,
  655.   DEFSETF, DEFINE-SETF-METHOD establish an implicit BLOCK.
  656.  
  657. * X3J13 vote <128> is implemented: MAKE-PATHNAME, PATHNAME-HOST,
  658.   PATHNAME-DEVICE, PATHNAME-DIRECTORY, PATHNAME-NAME, PATHNAME-TYPE have
  659.   a keyword argument :CASE. Thanks to Marcus Daniels.
  660.  
  661. * X3J13 vote <137> is implemented: New functions WILD-PATHNAME-P,
  662.   PATHNAME-MATCH-P and TRANSLATE-PATHNAME. Thanks to Marcus Daniels.
  663.  
  664. * X3J13 vote <130> is implemented: New built-in type LOGICAL-PATHNAME.
  665.   New place LOGICAL-PATHNAME-TRANSLATIONS. New functions LOGICAL-PATHNAME,
  666.   TRANSLATE-LOGICAL-PATHNAME, LOAD-LOGICAL-PATHNAME-TRANSLATIONS,
  667.   COMPILE-FILE-PATHNAME. Thanks to Marcus Daniels.
  668.  
  669. * X3J13 vote <132> is implemented: Synonym streams to file streams are
  670.   allowed as pathnames.
  671.  
  672. * Amiga version: SCREEN package is implemented. Thanks to Jörg Höhle.
  673.  
  674. * The debugger emits some more messages to *DEBUG-IO*, not *ERROR-OUTPUT*.
  675.  
  676. * (COERCE symbol 'FUNCTION) now works.
  677.  
  678. * Fixed a bug in ENOUGH-NAMESTRING: In many cases, a relative directory
  679.   specification was returned instead of an absolute directory specification.
  680.  
  681. * Fixed a CLOS bug which caused (DEFCLASS FOO (STANDARD-OBJECT) ()) and
  682.   (DEFINE-CONDITION FOO (CONDITION) ()) to signal errors.
  683.  
  684. * Fixed a bug: In some situations, USE-PACKAGE reported a name conflict when
  685.   there was none.
  686.  
  687. * Fixed a bug: (READ-CHAR-NO-HANG stream nil eof-object) now signals an error
  688.   if stream is not an input stream. Previously it returned eof-object.
  689.  
  690. * Fixed a bug: On some Unix systems, (FINISH-OUTPUT *TERMINAL-IO*) signalled
  691.   an error if standard output was redirected to a file.
  692.  
  693. * (SQRT 0) now returns an integer 0 instead of a floating-point 0.0.
  694.  
  695. * Readline library: Fixed a small problem with input prompts longer than the
  696.   screen width.
  697.  
  698. * Fixed three bugs in the built-in editor. One of them made the editor
  699.   entirely unusable.
  700.  
  701. Portability
  702. -----------
  703.  
  704. * Added some support for MS Windows.
  705.  
  706. * On DOS, the readline library now handles the /!INPUTRC and history files
  707.   correctly.
  708.  
  709. * Some modification for the sake of gcc-2.6.1.
  710.  
  711. Other modifications
  712. -------------------
  713.  
  714. * Generational garbage collection now also works on Linux (1.1.52 or newer).
  715.  
  716. * On Unix, external modules written in C can be linked to CLISP without
  717.   recompiling CLISP from source. For example, the STDWIN library.
  718.  
  719. * Small fix: On some machines, some internal objects were being printed as
  720.   #<SYSTEM-POINTER ...> instead of #<FRAME-POINTER ...>.
  721.  
  722. * Miscellaneous documentation updates.
  723.  
  724.  
  725. 1 September 1994
  726. ================
  727.  
  728. User visible changes
  729. --------------------
  730.  
  731. * The DEFCONSTANT warning about redefinition of a constant is also inhibited
  732.   if the constant's new and old values are the same string (in the sense of
  733.   EQUAL). Thanks to Marcus Daniels.
  734.  
  735. * Unix version only: The daylight saving time flag of a time zone (eighth
  736.   value of GET-DECODED-TIME and DECODE-UNIVERSAL-TIME) is now correct.
  737.  
  738. Portability
  739. -----------
  740.  
  741. * Added support for Acorn ARM running RISCOS. Thanks to Peter Burwood.
  742.  
  743. * Added support for NetBSD 1.0. Thanks to Douglas Crosher.
  744.  
  745. * Updated support for EMX and DJGPP.
  746.  
  747. * GNU malloc for HP-UX now works.
  748.  
  749.  
  750. 23 August 1994
  751. ==============
  752.  
  753. User visible changes
  754. --------------------
  755.  
  756. * X3J13 vote <64> is implemented: New macro DESTRUCTURING-BIND.
  757.  
  758. * The function ED can now edit functions that have been entered in
  759.   interpreted form even if they have later been compiled.
  760.  
  761. * New function UNCOMPILE. (UNCOMPILE function-name) undoes the effect of
  762.   (COMPILE function-name) if the function's definition had been entered
  763.   in interpreted form.
  764.  
  765. * The OPEN option :IF-EXISTS :RENAME-AND-DELETE now deletes the renamed
  766.   file. Previously :RENAME-AND-DELETE was equivalent to :RENAME.
  767.  
  768. * (LISP-IMPLEMENTATION-VERSION) returns a more precise version string.
  769.  
  770. * Readline library: Completion of a function call with no arguments
  771.   automatically adds the closing parenthesis.
  772.  
  773. * Readline library: When a closing parenthesis is typed, the corresponding
  774.   opening parenthesis is displayed.
  775.  
  776. Portability
  777. -----------
  778.  
  779. * Added support for Convex. Thanks to Marcus Daniels.
  780.  
  781. * Added support for SCO. Thanks to Cathy Bareiss and Marcus Daniels.
  782.  
  783. * More NeXTstep support.
  784.  
  785. * More Sinix support. Thanks to Manfred Weichel.
  786.  
  787. * Updated support for AmigaOS. Thanks to Jörg Höhle.
  788.  
  789. * Some modification for the sake of gcc-2.6.
  790.  
  791. * Added GNU malloc. For HP-UX.
  792.  
  793. * Added a bunch of character set conversion utilities. Covers the ASCII,
  794.   ISO Latin-1, IBM PC, HP Roman8, NeXTstep and Atari ST character sets.
  795.  
  796. * The `configure' script now prints its results.
  797.  
  798. * Floating point computations on some CPUs (Sparc, HP-PA, M88000, RS/6000):
  799.   Fixed some confusion between overflow and NaN and between underflow and zero.
  800.  
  801. * Removed support for Atari Turbo-C (now known as PURE-C).
  802.  
  803. Other modifications
  804. -------------------
  805.  
  806. * Copyright clarification.
  807.  
  808. * Generational garbage collection. This works only for Unix implementations
  809.   with powerful virtual memory management, currently only SunOS.
  810.  
  811. * Improved virtual memory efficiency:
  812.   - Memory model SPVW_PAGES: don't put a piece of management data into
  813.     every page.
  814.   - Memory model SPVW_BLOCKS: compact conses, don't shuffle them, so that
  815.     they are kept sorted according to their age.
  816.   - Memory model SPVW_PURE_BLOCKS: pages containing garbage are
  817.     immediately freed.
  818.  
  819. * Unix version only: To reduce the startup time, try to use mmap() instead
  820.   of read() for the startup file.
  821.  
  822. * Added a readline manual page.
  823.  
  824. * Miscellaneous documentation updates.
  825.  
  826.  
  827. 4 July 1994
  828. ===========
  829.  
  830. User visible changes
  831. --------------------
  832.  
  833. * X3J13 votes <115> and <114> are implemented: an elaborate LOOP macro.
  834.   New macro LOOP-FINISH.
  835.   Warning: The scoping rules for the iteration variables are hairy. If a
  836.   FOR/AS initialisation form refers to an iteration variable of a subsequent
  837.   FOR/AS clause, the effects are implementation dependent!
  838.  
  839. * X3J13 vote <120> is implemented: New function MAP-INTO.
  840.  
  841. * X3J13 vote <79> is implemented: New constants
  842.   LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT,
  843.   LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT,
  844.   LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT,
  845.   LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT,
  846.   LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT,
  847.   LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT,
  848.   LEAST-POSITIVE-NORMALIZED-LONG-FLOAT,
  849.   LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT.
  850.  
  851. * The macro WITH-OUTPUT-TO-PRINTER now also works on DOS.
  852.  
  853. * Fixed a bug in DO-SYMBOLS: A symbol which is exported from a used package
  854.   was considered accessible in the using package even if it was shadowed by
  855.   another present symbol of the same name.
  856.  
  857. * Fixed a bug in the debugger which caused the BACKTRACE commands to print
  858.   garbage if the current user interface language was not english.
  859.  
  860. Other modifications
  861. -------------------
  862.  
  863. * Miscellaneous documentation updates.
  864.  
  865.  
  866. 22 June 1994
  867. ============
  868.  
  869. User visible changes
  870. --------------------
  871.  
  872. * French support is now complete. Thanks to Jörg Höhle.
  873.  
  874. * The user interface language (english, german or french) can now be chosen
  875.   at startup time through a command line option. The constant *LANGUAGE* has
  876.   been removed, and its value has been removed from *FEATURES*. New macros
  877.   ENGLISH, DEUTSCH, FRANCAIS and LANGUAGE-CASE.
  878.  
  879. * There is a command line option that makes CLISP behave more like what
  880.   ILISP (a popular Emacs LISP interface) expects.
  881.  
  882. * The function CLOS:CALL-NEXT-METHOD can now be called with arguments, but
  883.   the check that the set of applicable methods must be the same as for the
  884.   original arguments will be bypassed.
  885.  
  886. * New functions READ-CHAR-SEQUENCE, WRITE-CHAR-SEQUENCE, READ-BYTE-SEQUENCE,
  887.   WRITE-BYTE-SEQUENCE which perform fast block I/O.
  888.  
  889. * Errors of type FLOATING-POINT-UNDERFLOW are inhibited in floating point
  890.   computations (and zero is returned instead) during execution of the new
  891.   macro WITHOUT-FLOATING-POINT-UNDERFLOW.
  892.  
  893. * X3J13 vote <95> is implemented: If the readtable argument passed to
  894.   GET-MACRO-CHARACTER and GET-DISPATCH-MACRO-CHARACTER is NIL, the standard
  895.   readtable is used.
  896.  
  897. * PROBE-FILE doesn't report an error any more if an intermediate directory
  898.   in the path doesn't exist. NIL is returned instead.
  899.  
  900. * The DEFCONSTANT warning about redefinition of a constant is inhibited if
  901.   the constant's new and old values are the same (in the sense of EQL).
  902.   Thanks to Marcus Daniels.
  903.  
  904. * The function INTERACTIVE-STREAM-P knows that if the terminal stream is
  905.   referring to a regular file (via input redirection) it is not interactive.
  906.  
  907. * There is a user programmable kind of streams, called generic streams.
  908.   New functions MAKE-GENERIC-STREAM, GENERIC-STREAM-CONTROLLER,
  909.   GENERIC-STREAM-P, GENERIC-STREAM-READ-CHAR, GENERIC-STREAM-READ-BYTE,
  910.   GENERIC-STREAM-LISTEN, GENERIC-STREAM-WRITE-CHAR, GENERIC-STREAM-WRITE-BYTE,
  911.   GENERIC-STREAM-WRITE-STRING, GENERIC-STREAM-CLEAR-INPUT,
  912.   GENERIC-STREAM-CLEAR-OUTPUT, GENERIC-STREAM-FINISH-OUTPUT,
  913.   GENERIC-STREAM-FORCE-OUTPUT, GENERIC-STREAM-CLOSE.
  914.   See impnotes.txt for details. Thanks to Marcus Daniels and Don Cohen.
  915.  
  916. * The macro WITH-OUTPUT-TO-PRINTER may now also work on OS/2.
  917.  
  918. * Fixed a CLOS bug: Generic functions with both optional and keyword
  919.   arguments didn't work.
  920.  
  921. * Fixed a serious bug in the compiler which caused incorrect code to be
  922.   generated for functions like (LAMBDA (X) (SETQ X 1)).
  923.  
  924. * Fixed a serious bug in the compiler which caused the compiler to crash
  925.   when compiling functions which contain two or more calls to ASSERT.
  926.  
  927. * Fixed a bug: The macroexpander of MULTIPLE-VALUE-SETQ built up a
  928.   syntactically illegal form.
  929.  
  930. * Fixed a bug in the reader: When reading pathnames from the syntax
  931.   #S(PATHNAME ...), #n# references in pathname components were not
  932.   resolved prior to calling MAKE-PATHNAME.
  933.  
  934. * Fixed a bug in the reader: (read-from-string "1/") signalled an error
  935.   of type DIVISION-BY-ZERO.
  936.  
  937. * Fixed a bug in the terminal stream: If several consecutive READ-LINE
  938.   operations on the terminal stream were performed without any text
  939.   containing newlines being output between them, the prompt finally got
  940.   duplicated and then became longer and longer.
  941.  
  942. * Fixed a bug in the readline library (bad handling of prompts longer than
  943.   one line). Thanks to Marcus Daniels.
  944.  
  945. Installation
  946. ------------
  947.  
  948. * All non-Unix versions: Setting the local time zone should now be much
  949.   easier. 122 time zone names are supported.
  950.  
  951. Portability
  952. -----------
  953.  
  954. * Unix version only: Getting the time zone should be more robust.
  955.  
  956. * Added support for NeXT (68k or i386 CPU) running NeXTstep 3.2. Thanks to
  957.   Marcus Daniels.
  958.  
  959. * Added support for Sequent PTX. Thanks to Marcus Daniels.
  960.  
  961. * Added support for m88000 running DG/UX. Thanks to Pat McClanahan.
  962.  
  963. * Added support for UnixWare. Thanks to Alexander Adam.
  964.  
  965. * Added support for BSDI/386. Thanks to Atsuo Ohki.
  966.  
  967. * More support for WATCOM C on DOS. Thanks to Blake McBride.
  968.  
  969. * More support for IRIX 5. Thanks to Bjorn Remseth.
  970.  
  971. * More support for Sun4m. Thanks to Neil Faulks.
  972.  
  973. * Better support (speedup) for HP 9000/800 running HP-UX.
  974.  
  975. * On HP 9000/700 running HP-UX: Don't depend directly on the assembler.
  976.  
  977. * Maybe some support for SCO. Thanks to Cathy Bareiss.
  978.  
  979. Other modifications
  980. -------------------
  981.  
  982. * Speedup SUBLIS and NSUBLIS.
  983.  
  984. * Let all known versions of gcc2 emit dbra instructions for loops. Thanks
  985.   to Jörg Höhle.
  986.  
  987. * Renamed condition.lsp to conditio.lsp.
  988.  
  989. * Miscellaneous documentation updates.
  990.  
  991.  
  992. 8 January 1994
  993. ==============
  994.  
  995. Portability
  996. -----------
  997.  
  998. * Remove (incomplete) support for VMS.
  999.  
  1000.  
  1001. 7 January 1994
  1002. ==============
  1003.  
  1004. CLISP now compiles and runs on
  1005. * microcomputers:
  1006.   * Atari ST/TT
  1007.   * Amiga 500-4000
  1008.   * DOS
  1009.   * MS Windows 3.1
  1010.   * OS/2 2.0
  1011. * Unix workstations:
  1012.   * PC, Linux
  1013.   * PC, USL SVR4
  1014.   * Sun4, SunOS 4 or 5
  1015.   * HP9000/800, HP-UX
  1016.   * SGI Mips, Irix 4 or 5
  1017.   * DEC Alpha AXP, OSF 1.3
  1018.   * DECstation 5000, Ultrix 4.2
  1019.   * IBM RS/6000, AIX 3.2
  1020.   * M88000
  1021.   * Sun386, SunOS 4
  1022.   * Sun3, SunOS 4 (?)
  1023.   * HP9000/300, HP-UX or NetBSD
  1024.   * Apple MacII, A/UX (?)
  1025.   * Amiga 3000, Amiga Unix 2.1
  1026.   * NeXT, NeXTstep 3.1
  1027.   * PC, 386BSD or NetBSD
  1028.   * PC, Coherent 4.0
  1029.   * Atari ST/TT, MiNT
  1030.  
  1031.  
  1032. 7 January 1994
  1033. ==============
  1034.  
  1035. Important note
  1036. --------------
  1037.  
  1038. * Changed bytecode format. All .fas files generated by previous CLISP versions
  1039.   are invalid and must be recompiled.
  1040.  
  1041. User visible changes
  1042. --------------------
  1043.  
  1044. * X3J13 votes <186> and <31> are implemented: the Common Lisp Condition System.
  1045.   New macros
  1046.     DEFINE-CONDITION, IGNORE-ERRORS, HANDLER-CASE, HANDLER-BIND,
  1047.     RESTART-CASE, WITH-RESTARTS, WITH-SIMPLE-RESTART, RESTART-BIND,
  1048.     WITH-CONDITION-RESTARTS,
  1049.   new types
  1050.     RESTART, CONDITION, SERIOUS-CONDITION, ERROR, PROGRAM-ERROR, CONTROL-ERROR,
  1051.     ARITHMETIC-ERROR, DIVISION-BY-ZERO, FLOATING-POINT-OVERFLOW,
  1052.     FLOATING-POINT-UNDERFLOW, CELL-ERROR, UNBOUND-VARIABLE, UNDEFINED-FUNCTION,
  1053.     TYPE-ERROR, PACKAGE-ERROR, STREAM-ERROR, END-OF-FILE, FILE-ERROR,
  1054.     STORAGE-CONDITION, WARNING,
  1055.     SIMPLE-CONDITION, SIMPLE-ERROR, SIMPLE-TYPE-ERROR, SIMPLE-WARNING,
  1056.   new functions
  1057.     MAKE-CONDITION, SIGNAL, COMPUTE-RESTARTS, FIND-RESTART, INVOKE-RESTART,
  1058.     INVOKE-RESTART-INTERACTIVELY, ABORT, CONTINUE, MUFFLE-WARNING, STORE-VALUE,
  1059.     USE-VALUE, INVOKE-DEBUGGER, RESTART-NAME,
  1060.     ARITHMETIC-ERROR-OPERATION, ARITHMETIC-ERROR-OPERANDS, CELL-ERROR-NAME,
  1061.     TYPE-ERROR-DATUM, TYPE-ERROR-EXPECTED-TYPE, PACKAGE-ERROR-PACKAGE,
  1062.     STREAM-ERROR-STREAM, FILE-ERROR-PATHNAME, SIMPLE-CONDITION-FORMAT-STRING,
  1063.     SIMPLE-CONDITION-FORMAT-ARGUMENTS,
  1064.   new variables
  1065.     *BREAK-ON-SIGNALS*, *DEBUGGER-HOOK*.
  1066.   See impnotes.txt for details. Thanks to David Gadbois who wrote most of this.
  1067.  
  1068. * X3J13 vote <40> is partially implemented: New variable *PRINT-READABLY*.
  1069.  
  1070. * X3J13 vote <34> is implemented: Arrays and packages may now appear as
  1071.   constants in compiled code.
  1072.  
  1073. * X3J13 vote <90> is implemented: FUNCTIONP on symbols and conses now always
  1074.   returns NIL. The type FUNCTION is disjoint from SYMBOL and CONS.
  1075.   (COERCE object 'FUNCTION) is implemented.
  1076.   Warning: Old style calls like
  1077.     (FUNCTIONP object)
  1078.   may need to be converted to
  1079.     (OR (FUNCTIONP object)
  1080.         (SYMBOLP object)
  1081.         (AND (CONSP object) (EQ (CAR object) 'LAMBDA))
  1082.     )
  1083.   This fixes a CLOS bug: (TYPEP object 'FUNCTION) wasn't equivalent to
  1084.   (TYPEP object (FIND-CLASS 'FUNCTION)).
  1085.  
  1086. * Two new debugger commands Break+ and Break- permit to set resp. remove
  1087.   breakpoints at specified EVAL or APPLY frames.
  1088.  
  1089. * Warnings and errors produced by COMPILE-FILE are now accompanied by
  1090.   source line number information.
  1091.  
  1092. * The sub-char passed as second argument to read dispatch macros is now
  1093.   exactly the first non-digit read from the stream. Previously it was its
  1094.   upper-case equivalent.
  1095.  
  1096. * DEFPACKAGE now accepts an option (:DOCUMENTATION doctring).
  1097.  
  1098. * DIRECTORY now accepts a keyword argument :CIRCLE. If it is non-NIL,
  1099.   the directory search for ".../" and "**/" wildcards on Unix avoids endless
  1100.   loops that may result from symbolic links.
  1101.  
  1102. * The variable *LOAD-PATHS* in the Unix versions of config.lsp now uses
  1103.   "~/" (the home directory at run time) instead of #"~/" (the home directory
  1104.   at installation time). Thanks to Gabor Herr.
  1105.  
  1106. * Unix and OS/2 versions: New dangerous functions MAKE-PIPE-IO-STREAM,
  1107.   RUN-SHELL-COMMAND and RUN-PROGRAM.
  1108.  
  1109. * Unix version only:
  1110.   The command shell used by MAKE-PIPE-...-STREAM is now always /bin/sh; the
  1111.   environment variable SHELL is only used as interactive shell.
  1112.   Fixed a race condition in the functions EXECUTE, MAKE-PIPE-INPUT-STREAM,
  1113.   MAKE-PIPE-OUTPUT-STREAM that caused the child process to fail mysteriously.
  1114.  
  1115. * Attacks such as  (DO-ALL-SYMBOLS (S) (UNLESS (CONSTANTP S) (SET S NIL)))
  1116.   no longer crash CLISP.
  1117.  
  1118. * Fixed a CLOS bug: DEFCLASS failed to signal an error if several direct slots
  1119.   had identical names.
  1120.  
  1121. * Fixed a bug in the reader: When reading hash tables which contain #n#
  1122.   references, the hash codes must be recomputed after resolving the
  1123.   references. Thanks to Marcus Daniels.
  1124.  
  1125. * Fixed a bug in the printer: Printed representations with two different
  1126.   #1= definitions could result when PRINT-OBJECT methods were called while
  1127.   *PRINT-CIRCLE* was true. Thanks to Marcus Daniels.
  1128.  
  1129. Portability
  1130. -----------
  1131.  
  1132. * Fixed five bugs in the number crunching routines that appeared on
  1133.   64-bit processors or in combination with the WIDE tagging scheme.
  1134.  
  1135. * More support for 64-bit processors like DEC Alpha.
  1136.  
  1137. * Added support for NeXT running NeXTstep 3.1. Thanks to Marcus Daniels.
  1138.  
  1139. * Added support for Amiga 3000 running AMIX Unix. Thanks to Michel Loi.
  1140.  
  1141. * Fixed a problem with Ctrl-C on HP-UX. Thanks to Gabor Herr.
  1142.  
  1143. * Added support for HP9000/300 running HP-UX. Thanks to Gabor Herr.
  1144.  
  1145. * Added support for WATCOM C 9.5 on DOS.
  1146.  
  1147. * Amiga version: Tolerate memory outside the 27-bit addressable range.
  1148.  
  1149. * Remove support for the Atari ST assembly language version CLISP1.
  1150.  
  1151. Other modifications
  1152. -------------------
  1153.  
  1154. * Added some documentation of the GNU readline library.
  1155.  
  1156. * Changed the default memory size back from 2.5 megabytes to 2 megabytes.
  1157.  
  1158. * Miscellaneous documentation updates.
  1159.  
  1160.  
  1161. 8 November 1993
  1162. ===============
  1163.  
  1164. User visible changes
  1165. --------------------
  1166.  
  1167. * The STDWIN library can now be made part of CLISP by calling makemake with
  1168.   argument --with-stdwin.
  1169.  
  1170. * X3J13 vote <108> is implemented: New packages COMMON-LISP and
  1171.   COMMON-LISP-USER.
  1172.  
  1173. * X3J13 vote <112> is implemented:
  1174.   LOAD binds the variables *LOAD-PATHNAME* and *LOAD-TRUENAME*, COMPILE-FILE
  1175.   binds the variables *COMPILE-FILE-PATHNAME* and *COMPILE-FILE-TRUENAME*.
  1176.   New variables *LOAD-PATHNAME*, *LOAD-TRUENAME*, *COMPILE-FILE-PATHNAME*,
  1177.   *COMPILE-FILE-TRUENAME*.
  1178.  
  1179. * X3J13 vote <26> is implemented: COMPILE-FILE has a keyword argument :PRINT.
  1180.   New variables *COMPILE-WARNINGS*, *COMPILE-VERBOSE*, *COMPILE-PRINT*.
  1181.  
  1182. * Fixed two bugs in DEFPACKAGE: *PACKAGE* is not modified by DEFPACKAGE
  1183.   any more, and the :INTERN option now works.
  1184.  
  1185. * Fixed FUNCTION-LAMBDA-EXPRESSION such that it works on built-in functions.
  1186.   Thanks to France Dacar.
  1187.  
  1188. * Fixed a serious bug in GCD on 16-bit processors: (GCD x y) with
  1189.   2^k - 2^(k-16) <= |x|,|y| < 2^k could cause a division by zero.
  1190.  
  1191. Portability
  1192. -----------
  1193.  
  1194. * Added support for DEC Alpha AXP running OSF/1 Unix.
  1195.  
  1196. * Added support for Apple Mac II running A/UX.
  1197.  
  1198. * Added support for Atari ST/TT running MiNT. Thanks to Scott Kolodzieski.
  1199.  
  1200. * Support for SunOS4 cc now works.
  1201.  
  1202. * The makefile now also works with "parallel" make utilities (e.g. GNU make
  1203.   with option -j). Thanks to Rick Sladkey.
  1204.  
  1205. * Easier porting: The most dangerous optimizations (inline asm() statements,
  1206.   global register allocations, ...) are inhibited if CLISP is compiled with
  1207.   option SAFETY=3.
  1208.  
  1209. * Some modifications for the sake of gcc-2.5.
  1210.  
  1211. Other modifications
  1212. -------------------
  1213.  
  1214. * Speed up generic function dispatch.
  1215.  
  1216. * Some kinds of objects take less space (all CPUs except 680x0).
  1217.  
  1218. * The list of X3J13 votes and their current status in CLISP has been moved
  1219.   from file `src/defs2.lsp' to file `src/cltl2.txt'.
  1220.  
  1221. * The code for setting up a connection to an X server (file `src/socket.d')
  1222.   has been completely rewritten.
  1223.  
  1224. * Miscellaneous documentation updates.
  1225.  
  1226.  
  1227. 27 September 1993
  1228. =================
  1229.  
  1230. User visible changes
  1231. --------------------
  1232.  
  1233. * COMPILE-FILE now handles top-level forms as described in CLtL2 p. 90:
  1234.   The macroexpansion of a top-level form is considered a top-level form.
  1235.   When a top-level form is a PROGN, LOCALLY, COMPILER-LET, SYMBOL-MACROLET
  1236.   or MACROLET form, the subforms of its body are considered top-level forms
  1237.   too and are compiled separately.
  1238.   This allows things like
  1239.     (PROGN (DEFCONSTANT X 3141) (DEFUN GET-X () X))
  1240.   or
  1241.     (PROGN (DEFCLASS SHIP () ()) (DEFUN SHIP-P (X) (TYPEP X 'SHIP)))
  1242.   to work.
  1243.   Warning: If you want to inhibit this splitting into separate forms (for
  1244.   example, because several of the forms refer to the same uninterned symbol),
  1245.   you have to use (LET () (PROGN ...)) instead of (PROGN ...).
  1246.  
  1247. * X3J13 vote <144> is implemented: New macro DECLAIM.
  1248.  
  1249. * X3J13 vote <113> is implemented: The macro LOCALLY is now a special form.
  1250.  
  1251. * Fixed a serious bug in the compiler: When compiling functions inline
  1252.   whose parameters are special variables, incorrect code could be generated.
  1253.  
  1254. * Fixed a bug in the compiler which caused the compiler to crash in some
  1255.   rare cases, notably when compiling Garnet-2.2.
  1256.  
  1257. * Fixed a bug that prevented the debugger commands DOWN and BOTTOM from
  1258.   working on Linux and SunOS.
  1259.  
  1260. * Fixed a CLOS bug: Specifying &KEY without &REST in generic function
  1261.   lambda lists didn't have the desired effect.
  1262.  
  1263. * DEFCLASS supports both :DEFAULT-INITARGS syntaxes.
  1264.  
  1265. * DEFGENERIC is more tolerant about invalid declarations.
  1266.  
  1267. Portability
  1268. -----------
  1269.  
  1270. * Added Dynix/ptx Sequent support. Thanks to Esther Davis.
  1271.  
  1272. * Added support for RS/6000 CPU and AIX. Thanks to Gabor Herr.
  1273.  
  1274. Other modifications
  1275. -------------------
  1276.  
  1277. * Made the memory allocation and (ROOM), (TIME ...) more virtual memory
  1278.   efficient (less paging on Unix and DOS). Thanks to Don Cohen.
  1279.  
  1280. * Added Geoffrey Gordon's "LISP tutorial".
  1281.  
  1282. * Renamed stdwin.lsp to stdwin2.lsp.
  1283.  
  1284. * Miscellaneous documentation updates.
  1285.  
  1286.  
  1287. 1 September 1993
  1288. ================
  1289.  
  1290. Important note
  1291. --------------
  1292.  
  1293. * Changed bytecode format. All .fas files generated by previous CLISP versions
  1294.   are invalid and must be recompiled.
  1295.  
  1296. User visible changes
  1297. --------------------
  1298.  
  1299. * Unix version only: The command line option -M now also accepts memory images
  1300.   that were compressed using GNU gzip.
  1301.  
  1302. * Fixed a CLOS bug: MAKE-INSTANCE now behaves as if it were calling
  1303.   INITIALIZE-INSTANCE, and INITIALIZE-INSTANCE and REINITIALIZE-INSTANCE
  1304.   behave as if they were calling SHARED-INITIALIZE.
  1305.  
  1306. * Fixed a CLOS bug: NO-APPLICABLE-METHOD failed to be called in some cases
  1307.   when no method was applicable.
  1308.  
  1309. * Relating to X3J13 vote <89>: The first argument to the functions FUNCALL and
  1310.   APPLY, denoting a function, may now also be a list (SETF symbol).
  1311.  
  1312. * Fixed a bogus error message that occurred when storing an out-of-range
  1313.   integer into an array of element-type (UNSIGNED-BYTE 32).
  1314.  
  1315. Portability
  1316. -----------
  1317.  
  1318. * Added NetBSD support. Thanks to Charles Hannum.
  1319.  
  1320. Other modifications
  1321. -------------------
  1322.  
  1323. * Added Jeff Dalton's "brief CLOS guide".
  1324.  
  1325. * Miscellaneous documentation updates.
  1326.  
  1327.  
  1328. 22 August 1993
  1329. ==============
  1330.  
  1331. Important note
  1332. --------------
  1333.  
  1334. * Changed bytecode format. All .fas files generated by previous CLISP versions
  1335.   are invalid and must be recompiled.
  1336.  
  1337. User visible changes
  1338. --------------------
  1339.  
  1340. * X3J13 vote <12> is partially implemented: Native CLOS. New package CLOS
  1341.   containing the macros
  1342.     DEFCLASS, DEFMETHOD, DEFGENERIC, GENERIC-FUNCTION, GENERIC-FLET,
  1343.     GENERIC-LABELS, WITH-SLOTS, WITH-ACCESSORS,
  1344.   the functions
  1345.     FIND-CLASS, (SETF FIND-CLASS), CLASS-OF, CLASS-NAME, (SETF CLASS-NAME),
  1346.     SLOT-VALUE, SLOT-BOUNDP, SLOT-MAKUNBOUND, SLOT-EXISTS-P,
  1347.     CALL-NEXT-METHOD, NEXT-METHOD-P,
  1348.     NO-APPLICABLE-METHOD, NO-PRIMARY-METHOD, NO-NEXT-METHOD,
  1349.     FIND-METHOD, ADD-METHOD, REMOVE-METHOD, COMPUTE-APPLICABLE-METHODS,
  1350.     METHOD-QUALIFIERS, FUNCTION-KEYWORDS, SLOT-MISSING, SLOT-UNBOUND,
  1351.     PRINT-OBJECT, DESCRIBE-OBJECT, MAKE-INSTANCE, INITIALIZE-INSTANCE,
  1352.     REINITIALIZE-INSTANCE, SHARED-INITIALIZE,
  1353.   the classes
  1354.     STANDARD-CLASS, STRUCTURE-CLASS, BUILT-IN-CLASS, STANDARD-OBJECT,
  1355.     STANDARD-GENERIC-FUNCTION, STANDARD-METHOD and all predefined classes,
  1356.   and the method combination
  1357.     STANDARD.
  1358.   See impnotes.txt for details. X3J13 vote <13> is implemented, too.
  1359.  
  1360. * X3J13 vote <63> is implemented: DESCRIBE receives the output stream as
  1361.   optional argument. New function CLOS:DESCRIBE-OBJECT.
  1362.  
  1363. * X3J13 vote <149> is implemented: The second argument to SUBSEQ may now
  1364.   be NIL. Thanks to Thomas Kirk.
  1365.  
  1366. * X3J13 vote <175> is implemented: TAILP now also works on dotted lists.
  1367.  
  1368. * X3J13 vote <124> is implemented: (DECLARE (OPTIMIZE (DEBUG ...))) is legal.
  1369.  
  1370. * The type specifier (EQL object), a synonym for (MEMBER object), is now
  1371.   implemented.
  1372.  
  1373. * New DEFSTRUCT option :INHERIT which is exactly like :INCLUDE except that it
  1374.   doesn't create new accessors for the inherited slots. Use this option to
  1375.   avoid the problems that occur when using the same :CONC-NAME for the new
  1376.   and the inherited structure.
  1377.  
  1378. * Fixed EXPORT and USE-PACKAGE: Don't signal a name conflict between the
  1379.   symbol being exported and a symbol accessible in the using package if
  1380.   the latter symbol is on the list of shadowing symbols of the using package.
  1381.  
  1382. * Fixed VECTOR-PUSH-EXTEND. It now works on vectors of dimension 0 and
  1383.   on bit-vectors.
  1384.  
  1385. * Fixed PRINT-UNREADABLE-OBJECT: Don't output adjacent spaces.
  1386.  
  1387. * Fixed a bug in the reader that caused an endless loop or endless recursion
  1388.   when resolving #n=/#n# references in objects that already contained cyclic
  1389.   data structures, e.g. when reading (#1=a #.'#2=(b . #2#) #1#).
  1390.  
  1391. * Fixed a bogus error message in the complex number reader.
  1392.  
  1393. Portability
  1394. -----------
  1395.  
  1396. * The DOS README explains how to run CLISP in the DOS box of Microsoft
  1397.   Windows. Thanks to Ralf Muschall.
  1398.  
  1399. * Added Sinix support. Thanks to Manfred Weichel.
  1400.  
  1401. * Improved installation on OS/2.
  1402.  
  1403. Other modifications
  1404. -------------------
  1405.  
  1406. * A function proclaimed INLINE will be taken inline in a wider set of
  1407.   circumstances. (Previously INLINE worked only when that function was being
  1408.   used in the same file or in a file that REQUIREd the file defining the
  1409.   function.)
  1410.  
  1411. * The compiler now produces better code for (APPLY (FUNCTION fun) args).
  1412.  
  1413. * Changed the default memory size from 2 megabytes to 2.5 megabytes.
  1414.  
  1415. * Miscellaneous documentation updates.
  1416.  
  1417.  
  1418. 17 July 1993
  1419. ============
  1420.  
  1421. User visible changes
  1422. --------------------
  1423.  
  1424. * X3J13 vote <150> is mostly implemented: Reading and printing of symbols
  1425.   (and characters with bits or fonts attributes) is now affected by
  1426.   (READTABLE-CASE *READTABLE*), whose value may be one of :UPCASE, :DOWNCASE
  1427.   and :PRESERVE. New place READTABLE-CASE.
  1428.  
  1429. * Support for immutable objects is implemented. Attempts to modify read-only
  1430.   data will signal an error. Program text and quoted constants loaded from
  1431.   files are considered read-only data. Never again will you be allowed to
  1432.   write programs that destructively modify themselves!
  1433.   This works only for Unix implementations with powerful virtual memory
  1434.   management, currently only Linux and SunOS. To enable it, you have to
  1435.   add -DIMMUTABLE to the CFLAGS in the makefile when building CLISP.
  1436.  
  1437. * Fixed DEFUN such that
  1438.   (progn
  1439.     (flet ((bar (x) (+ x 10))) (defun bar (y) (if (zerop y) 1 (bar (1- y))))
  1440.     (bar 1)
  1441.   )
  1442.   returns 10 instead of 1.
  1443.  
  1444. * Fixed a bug in the compiler that caused the compiler to crash by endless
  1445.   recursion and stack overflow when compiling assignments to symbol macros.
  1446.  
  1447. Portability
  1448. -----------
  1449.  
  1450. * Added support for m88000 CPU.
  1451.  
  1452. * Amiga version: detect 68000 CPU, for better use of present memory.
  1453.  
  1454. Other modifications
  1455. -------------------
  1456.  
  1457. * Miscellaneous documentation updates.
  1458.  
  1459.  
  1460. 29 June 1993
  1461. ============
  1462.  
  1463. User visible changes
  1464. --------------------
  1465.  
  1466. * X3J13 vote <89> is implemented: (SETF symbol) is now a valid syntax for a
  1467.   function name in (funname ...), (FUNCTION funname), (DEFUN funname ...),
  1468.   (COMPILE funname ...), (DISASSEMBLE funname), (ED funname), FLET, LABELS etc.
  1469.   New function FDEFINITION.
  1470.  
  1471. * X3J13 vote <173> is implemented: New special form SYMBOL-MACROLET. The
  1472.   macroexpansion environment passed to macro expanders and to MACROEXPAND-1,
  1473.   MACROEXPAND, GET-SETF-METHOD, GET-SETF-METHOD-MULTIPLE-VALUE now comprises
  1474.   both the variable environment and the function environment.
  1475.   New macro DEFINE-SYMBOL-MACRO.
  1476.  
  1477. * New macro PRINT-UNREADABLE-OBJECT.
  1478.  
  1479. * Fixed a bug: The string comparison functions STRING<, STRING>, STRING<=,
  1480.   STRING>=, STRING/=, STRING-LESSP, STRING-GREATERP, STRING-NOT-GREATERP,
  1481.   STRING-NOT-LESSP, STRING-NOT-EQUAL now return the index of the first mismatch
  1482.   instead of T.
  1483.  
  1484. * Fixed a bug: The functions REMOVE-DUPLICATES and DELETE-DUPLICATES produced
  1485.   an out-of-bounds error when called on a small sequence, with :FROM-END T
  1486.   argument and without :END argument.
  1487.  
  1488. Portability
  1489. -----------
  1490.  
  1491. * Updated support for DJGPP.
  1492.  
  1493. Other modifications
  1494. -------------------
  1495.  
  1496. * The macros SETF, PUSH, POP, PUSHNEW have been completely rewritten.
  1497.  
  1498. * Changed internal representation of special form handlers: They now consume
  1499.   regular memory. This frees one type tag, which will be used by CLOS
  1500.   instances.
  1501.  
  1502. * Miscellaneous documentation updates.
  1503.  
  1504.  
  1505. 24 May 1993
  1506. ===========
  1507.  
  1508. User visible changes
  1509. --------------------
  1510.  
  1511. * New macro DEFPACKAGE.
  1512.  
  1513. * New function FUNCTION-LAMBDA-EXPRESSION.
  1514.  
  1515. * New package SCREEN containing some functions for random screen access
  1516.   (Unix, DOS, OS/2, Atari, VMS versions only).
  1517.  
  1518. * X3J13 vote <5> is implemented: The value of *APPLYHOOK* must now be
  1519.   a function of two arguments.
  1520.  
  1521. * X3J13 vote <104> is implemented: COMPILE-FILE now binds *READTABLE*.
  1522.  
  1523. * X3J13 vote <161> is implemented: SHADOW now accepts strings as well
  1524.   as symbols.
  1525.  
  1526. * Fixed a bug in the compiler which caused the compiler to crash when
  1527.   compiling (CASE key ...) forms with constant key.
  1528.  
  1529. * Fixed a bug in the compiler which produced unloadable .fas files
  1530.   when compiling forms like (SETF ... (FUNCTION LIST)).
  1531.  
  1532. * Fixed a bogus error message in the AREF function.
  1533.  
  1534. * The built-in editor on Unix now handles the Delete key the same way
  1535.   as the Backspace key or Ctrl-H.
  1536.  
  1537. * Fixed a bug in + that occasionally caused (- x x) to return a
  1538.   long-float zero which was not EQL to the other zeroes of type LONG-FLOAT.
  1539.  
  1540. * Fixed a bug: Correctly do round-to-even when adding two long-floats.
  1541.  
  1542. * Fixed a bug: The destructive sequence functions DELETE etc. failed to
  1543.   produce an error when called on a sequence of type LIST and with an :END
  1544.   argument larger than the list's length.
  1545.  
  1546. * Corrected the branch cuts of the complex ATAN and ATANH functions.
  1547.  
  1548. Portability
  1549. -----------
  1550.  
  1551. * 68000 and other versions: Fixed a bug in the low-level division algorithm.
  1552.  
  1553. * Mips and Vax versions: Finished the low-level number crunching routines.
  1554.  
  1555. * Added Ultrix support.
  1556.  
  1557. * Added Coherent support.
  1558.  
  1559. * Finished Sun3 support.
  1560.  
  1561. Other modifications
  1562. -------------------
  1563.  
  1564. * The file `src/defs2.lsp' contains a list of X3J13 votes and their current
  1565.   status in CLISP.
  1566.  
  1567. * The file `src/foreign.txt' documents how to do function calls to foreign
  1568.   language routines from within CLISP.
  1569.  
  1570. * Miscellaneous documentation updates.
  1571.  
  1572.  
  1573. 5 April 1993
  1574. ============
  1575.  
  1576. Portability
  1577. -----------
  1578.  
  1579. * 68000/68020 versions: Fixed some bugs in the low-level number crunching
  1580.   routines.
  1581.  
  1582. * Improved efficiency of the WIDE tagging scheme.
  1583.  
  1584.  
  1585. 30 March 1993
  1586. =============
  1587.  
  1588. User visible changes
  1589. --------------------
  1590.  
  1591. * Fixed a bug in + that caused the sign of (+ x y) to be wrong when x and y
  1592.   were double-floats satisfying  0 < x < -y  or  0 > x > -y .
  1593.  
  1594. * New special form LOAD-TIME-VALUE.
  1595.  
  1596. * The function DIR now sorts its output.
  1597.  
  1598. * A new place (DEFAULT-DIRECTORY) manages the "current directory".
  1599.  
  1600. * When LOAD is called with a pathname as argument that contains a parent
  1601.   directory component (".."): Ignore the variable *LOAD-PATHS*, avoid an error.
  1602.  
  1603. * Fixed TRACE so that functions calling TRACE are correctly handled by
  1604.   COMPILE-FILE.
  1605.  
  1606. Portability
  1607. -----------
  1608.  
  1609. * Unix version: Correct handling of system calls that are interrupted
  1610.   by signals.
  1611.  
  1612. * Finished IRIX support.
  1613.  
  1614. Other modifications
  1615. -------------------
  1616.  
  1617. * Miscellaneous documentation updates.
  1618.  
  1619.  
  1620. 19 March 1993
  1621. =============
  1622.  
  1623. User visible changes
  1624. --------------------
  1625.  
  1626. * Replaced variable *TEMPFILE* by a function EDITOR-TEMPFILE.
  1627.  
  1628. Portability
  1629. -----------
  1630.  
  1631. * Unix version: Corrected detection of ANSI C header files.
  1632.  
  1633. * Unix version: Check whether signal handlers are automatically reinstalled
  1634.   when activated.
  1635.  
  1636. * Made readline library ANSI C compliant and (on Unix) auto-configuring.
  1637.  
  1638. * In case there is no room for three extra bits in a symbol pointer,
  1639.   allocate three stack words per binding in a VAR frame (instead of two stack
  1640.   words). This completes the Amiga 3000/4000 version.
  1641.  
  1642. * Completed memory model SPVW_PURE_BLOCKS: There is a large contiguous memory
  1643.   area for each kind of Lisp object. This model is used only if memory can
  1644.   be allocated at prescribed addresses, for example on Unix with mmap().
  1645.  
  1646. * More 386BSD support.
  1647.  
  1648. Other modifications
  1649. -------------------
  1650.  
  1651. * Remove limit on the number of files that may be specified on the command
  1652.   line. Limit was 1000.
  1653.  
  1654. * Miscellaneous documentation updates.
  1655.  
  1656.  
  1657. 4 March 1993
  1658. ============
  1659.  
  1660. User visible changes
  1661. --------------------
  1662.  
  1663. * Fixed a bug in ADJOIN that caused ADJOJN and PUSHNEW to push (key item)
  1664.   instead of item onto the list when a :KEY argument was present.
  1665.  
  1666. * Amiga version: allow opening of "files" on special devices.
  1667.  
  1668. * OS/2 version: Long filenames on DOS (FAT) filesystems no longer produce
  1669.   errors. They are now silently truncated to 8+3 characters.
  1670.  
  1671. * Unix, Amiga, OS/2 versions: When a pathname is to be fully specified, no
  1672.   subdirectory wildcard "**/" or ".../" is allowed. Check this.
  1673.  
  1674. Portability
  1675. -----------
  1676.  
  1677. * Corrected underflow detection in SCALE-FLOAT on 16-bit processors.
  1678.  
  1679. * Atari ST version: fixed getenv(), wrote INSTALL instructions.
  1680.  
  1681. Other modifications
  1682. -------------------
  1683.  
  1684. * Miscellaneous documentation updates.
  1685.  
  1686.  
  1687. 21 February 1993
  1688. ================
  1689.  
  1690. User visible changes
  1691. --------------------
  1692.  
  1693. * Include test suite into distribution.
  1694.  
  1695. * Add COMMON-LISP and CLTL1 to the *FEATURES*.
  1696.  
  1697. * Fixed a bug in the compiler which caused the compiler to crash in some
  1698.   rare cases.
  1699.  
  1700. * Fixed a bug in WITH-OPEN-FILE: handle the case when OPEN returns NIL.
  1701.  
  1702. * Amiga version: Fixed bug in FILE-POSITION.
  1703.  
  1704. * Amiga version: Renamed REXX-WAIT-COMMAND to REXX-WAIT-SENT-COMMAND.
  1705.  
  1706. Portability
  1707. -----------
  1708.  
  1709. * On HP-UX: Use /bin/ksh for shell scripts instead of the buggy /bin/sh.
  1710.  
  1711. * Now compiles on IRIX using CC="cc -ansi".
  1712.  
  1713. * Added 386BSD support.
  1714.  
  1715. Other modifications
  1716. -------------------
  1717.  
  1718. * Miscellaneous documentation updates.
  1719.  
  1720.  
  1721. 3 February 1993
  1722. ===============
  1723.  
  1724. Portability
  1725. -----------
  1726.  
  1727. * Support for 386 UHC UNIX System V release 4 now works.
  1728.  
  1729. Other modifications
  1730. -------------------
  1731.  
  1732. * lispbibl.d: Rename macro `untype' to `upointer', `type_untype_object' to
  1733.   `type_pointer_object'.
  1734.  
  1735. * lispbibl.d: Clean up selection of type code and frame code tables.
  1736.  
  1737. * Remove init streams. Use string input streams instead.
  1738.  
  1739.  
  1740. 1 February 1993
  1741. ===============
  1742.  
  1743. User visible changes
  1744. --------------------
  1745.  
  1746. * Fixed handling of declarations in macros DO-SYMBOLS, DO-EXTERNAL-SYMBOLS,
  1747.   DO-ALL-SYMBOLS, DOSEQ, DOHASH.
  1748.  
  1749. * LISTEN on file streams opened with :DIRECTION :OUTPUT now returns NIL.
  1750.  
  1751. * Pathnames resulting from OPEN on special files are now called
  1752.   "file handle streams", they are unbuffered file streams.
  1753.   They can now be used as argument in situations where a pathname is expected.
  1754.  
  1755. Portability
  1756. -----------
  1757.  
  1758. * The `target' and `configure' scripts no longer depend on awk.
  1759.  
  1760. * Support Sun4 with 32 bit address range (kernel architecture "Sun4m") as
  1761.   well as Sun4 with 29 bit address range (kernel architecture "Sun4", "Sun4c).
  1762.  
  1763. * Can now exploit the shared memory facilities of SunOS 4.1 and of Linux.
  1764.  
  1765. * Added support for 386 UHC UNIX System V release 4.
  1766.  
  1767. Other modifications
  1768. -------------------
  1769.  
  1770. * Implemented memory model SPVW_PURE_PAGES where memory is divided
  1771.   into many small pages each containing objects of the same type.
  1772.  
  1773. * Fixed up source for systems without window streams.
  1774.  
  1775. * lispbibl.d, constobj.d: reorder the stream types such that the test for
  1776.   file stream becomes faster.
  1777.  
  1778. * /usr/local/lib/aclocal.m4, configure.in, unixconf.h.in: prefix my own local
  1779.   macros by CL_ instead of AC_.
  1780.  
  1781. * Miscellaneous documentation updates.
  1782.  
  1783.  
  1784. 11 January 1993
  1785. ===============
  1786.  
  1787. User visible changes
  1788. --------------------
  1789.  
  1790. * Fixed meaning of :KEY argument for SUBLIS and NSUBLIS.
  1791.  
  1792. * DOS, OS/2 versions: adapted to emx 0.8f. This results in better
  1793.   *KEYBOARD-INPUT* on DOS and faster screen access on OS/2.
  1794.  
  1795. * Amiga version: implemented SHELL.
  1796.  
  1797. * OS/2 version: implemented MAKE-PIPE-INPUT-STREAM and MAKE-PIPE-OUTPUT-STREAM.
  1798.  
  1799. * compiler.lsp: Emit a warning when #'foo is used but foo is undefined.
  1800.  
  1801. * rexx.d, rexx.lsp: remove the trailing "p" from the keywords.
  1802.  
  1803. * init.lsp: don't call a macro a "Common Lisp function".
  1804.  
  1805. * stream.d, readline/readline.[ch]: exported rl_deprep_terminal such that a
  1806.   failing call to xmalloc() can now signal an ordinary error instead of exiting.
  1807.  
  1808. Portability
  1809. -----------
  1810.  
  1811. * Rewrote makemake.in using indentation.
  1812.  
  1813. * /usr/local/lib/aclocal.lsp: fixed AC_SYS_ERRLIST (m4 bug?) and AC_RENAME,
  1814.   improved AC_SELECT and added AC_SETITIMER.
  1815.  
  1816. * spvw.d: implement ualarm for Unix with interval timers, e.g. HP/UX or Linux.
  1817.  
  1818. * Remove support for Linux 0.12.
  1819.  
  1820. Other modifications
  1821. -------------------
  1822.  
  1823. * Language (DEUTSCH resp. ENGLISH) can now be set from CFLAGS, without
  1824.   modifying lispbibl.d.
  1825.  
  1826. * _README translated into german.
  1827.  
  1828. * Renamed clispsrc.1 to FILES.1.
  1829.  
  1830. * Renamed pseudofu.d to pseudofun.d.
  1831.  
  1832. * Sun4 version: merged il_sparc.il into cc_sparc.il.
  1833.  
  1834. * lispbibl.d: use an enum type to get the stream types converted
  1835.   to consecutive numbers without risking clashes.
  1836.  
  1837. * intgcd.d: found algorithm for binary extended gcd.
  1838.  
  1839. * intlog.d: make use of 80386 instruction "bsfl" where possible.
  1840.  
  1841. * lispbibl.d: let gcc2 on 680x0 emit "dbra" instructions.
  1842.  
  1843. * spvw.d: use IPC_PRIVATE as key for all shared memory segments.
  1844.  
  1845. * avl.d: don't generate code for unused functions insert and delete.
  1846.  
  1847. * Miscellaneous documentation updates.
  1848.  
  1849.  
  1850. 1 January 1993
  1851. ==============
  1852.  
  1853. Release of first portable version of CLISP.
  1854. It now compiles and runs under
  1855. * Atari ST
  1856. * Amiga 500-2000
  1857. * DOS
  1858. * OS/2 2.0
  1859. * Linux
  1860. * Sun4
  1861. * Sun386
  1862. * HP9000/800
  1863.  
  1864. Now that the tests passed, I hope I'll never again have to remove a serious
  1865. bug.
  1866.  
  1867.