Dear list member,
This message is mostly for people who are not members of the climacs-cvs mailing list and who do not follow the discussion on the #lisp IRC channel.
This has been a fantastic week for Climacs in terms of progress. Many people have implemented new functionality, factored existing code, or proposed bug fixes.
On the downside, it appears that only one out of three student projects was taken (Common Lisp syntax). On the other hand, if this is confirmed, that leaves the implementation of the undo protocol and of the new buffer representation to some of you that are eager to get these functionalities working.
Here is a list of the past week's accomplishments:
* overwrite mode. (thanks to Alexandar Bakic)
* new functionality: {downcase,upcase-capitilze}-region. (thanks to Matthieu Villeneuve)
* new in the buffer protocol (setf buffer-object). (thanks to Matthieu Villeneuve)
* code factoring in the form of a do-buffer-region macro. (thanks to Matthieu Villeneuve)
* did a major overhaul of the syntax facility. The previous functionality is now divided into three parts: the first one is the real syntax, associated with the buffer instead of with the pane. The second part is the cache management, now associated with the pane instead of with the syntax. The third part is a CLIM view, associated with the pane, which determines presentation parameters such as highlighting.
* tabify and untabify region commands. (thanks to Matthieu Villeneuve)
* implemented beginning-of-paragraph and end-of-paragraph, the first commands to exploit a syntax, in this case text-syntax.
* minor fixes in buffer.lisp and addition of a framework for regression testing of the buffer implementation. (thanks to Aleksandar Bakic)
* new command: delete-indentation. (thanks to Matthieu Villeneuve)
* implemented full-redisplay (C-l).
* implemented multi-buffer support, with C-x b bound to the command switch-to-buffer. Buffer completion works as expected.
* implemented preliminary multi-window support. C-x 2 splits the window vertically, C-x splits horizontally. C-x 0 deletes the current window. This is still preliminary code. One annoying problem is that the entire frame gets resized whenever a new window is added or deleted.
* code factoring in text-syntax.lisp (thanks to Rudi Schlatte)
* new commands (bound to TAB and C-j) for indenting lines according to the syntax. (thanks to Matthieu Villeneuve)
* a key sequence such as ESC <key> now works the same way as they keystroke M-<key>. (thanks to Ignas Mikalajunas)
* delete-region now works independently of the order between the two marks. (thanks to Rudi Schlatte and Aleksandar Bakic)
* find-file does not create the file if it does not exist. (thanks to Lawrence Mitchell)