[CM] new cm-2.4.0.tar.gz available

Rick Taube taube@uiuc.edu
Mon, 10 Mar 2003 09:18:04 -0600


Ive updated the candidate 2.4.0 release with some new goodies and some 
bug fixes.
i dont anticipate adding much more now execpt bug fixes, its pretty 
solid.

Here is what is new:

o new 'copier' pattern returns multiple copies of each period of a
   specified pattern. functions similar to the old 'repeat' macro.

o 'Palindrome' is now a true pattern and the :elide value can change
   on each cycle of its data.

o The 'join' pattern class made easier to use -- by default the
   first pattern listed in the join determines the period length of the
   join.

o 'funcall' pattern now respects period length (bug fix).

o 'heap' pattern now copies data before side effecting (bug fix)

o new ':pickto' initialization for range pattern produces
   random selection a la between:

     (new range :from 10 :pickto 30)

o patterns now have 'make-load-form' methods and can be saved to
   files. but patterns like funcall and pval that contain lexical
   closures will not save correctly.

O CM's scheme-to-cltl translator (src/stocl.lisp) now works in all
   common lisps so anyone can generate the .lisp files from the .scm
   files. see the comments at the top of the file for more info.

o CM now saves an 'xcm' script that automatically starts the saved
   image under Xemacs in a dedicated frame. xcm sets everything up
   for you, including a scratch buffer in Lisp Mode.  The verion of
   Lisp-mode it provides includes a Lisp menu with easy evaluation
   rules (C-x/C-e at point, after point, on region) and some other
   stuff. CM now also makes the 'cm' and 'xcm' scripts executable for
   you when it generates them.

o etc/xemacs/listener.el improved:
   1. lisp-listener function takes optional second arg that specifies
   the implmentation of the inferior lisp. This optional arg allows
   commands to be made smarter. If the arg is not specified then the
   Listener attempts to determine the implementation from the program
   string you give it to run.  Current implementations are "guile"
   "openmcl" "clisp" "cmucl" and "acl".

   2. The command C-x C-.  aborts to toplevel in the inferior Lisp
   buffer no matter what the Error level is or what Lisp you are
   running.  C-x C-. can be issued from inside the edit buffer, ie you
   do not need to switch to the listener.

   3. Background color of Listerner can be changed via:

   M-x set-listener-bgcolor

   Type Tab at the prompt for a list of possible colors.

   4. Quitting Listener will quit Xemacs if its the only
   active frame.

o the file etc/mtxt/mtxt.lisp contains the source code for the meta
   markup "language" that I use to generate CM's docs and book.
   mtxt.lisp works in any common Lisp, at some point ill move it to
   scheme.

o *midi-gm-mode* is now back. if true (the default) then
   midi-print-message "pretty prints" GM midi messages.

o Dictionary formatting improved.

o CM now compiles and runs in MCL 5.0 beta on OSX.