Hello,
This message is mostly for those who do not read climacs-cvs and who do not participate in the #lisp IRC channel.
More people are getting involved in Climacs development, which is good. I continue to take care of the basic stuff like redisplay and such, whereas others provide Emacs-like functionality. This is a good division of labor, because in order to provide new functionality, all you need to know is the buffer protocols which are well documented.
Climacs now has the basic infrastructure for numeric arguments. One simple thing to work on would thus be to add &optional (n 1) to a number of functions such as the ones in base.lisp or buffer.lisp. If you do, first make sure the modification you introduce is backward compatible and also do not forget to update the documentation at the same time. Notice though, that this functionality requires a working unread-gesture, which was put into CVS McCLIM only a few days ago. Do not update your Climacs source before updating your McCLIM source.
In order to have numeric arguments behave like in Emacs, we need to extend how CLIM handles numeric arguments. It is not enough to have a *numeric-argument-marker*, because Emacs can behave differently if no numeric argument was given and when a numeric argument of 1 was given. Adding that possibility to Climacs will require something like a *numeric-argument-flag* to indicate whether a numeric argument was given at all.
Now that unread-gesture works, I am thinking of attacking incremental search next, though, if someone else feels like working on that, that would be fine as well.
Recent improvements:
* next-line and previous-line commands now follow columns just like Emacs does.
* fixed a nasty problem in buffer.lisp (thanks to Matthieu Villeneuve) that was correct (but not great coding practice) but exposed a bug in CMUCL.
* implemented an improved version of buffer-sequence according to a suggestion by Rudi Schlatte, as well as another minor style improvement, also from him.
* implemented dynamic abbrev expansion (M-/) as suggested by Luigi Panzeri, and integrated his utility function into base.lisp.
* fixed a bug in redisplay.
* added numeric arguments. This feature requires a CVS version of McCLIM as of 2005-01-11. Only a few commands take numeric arguments at the moment such as forward-object, backward-object, delete-object, and backward-delete-object. There are more to come.
* the cursor display problem has been "fixed" by drawing a rectangle rather than a line. This makes obsolete the hacky code for explicit rounding of cursor coordinates. Also made the cursor somewhat wider so that it is easier to find.
* abbrevs work again (I am not sure when the got broken)
* implemented a new command: load-file
* probably some things I forgot.
What is being worked on:
* multi-buffer, multi-window (expect some partial commits soon)
* upcase-region, downcase-region, capitalize-region (imminent)
* probably some things I don't know about.
Enjoy,
climacs-announce@common-lisp.net