[climacs-announce] progress report

Robert Strandh strandh at labri.fr
Wed Jan 19 05:41:13 UTC 2005

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

  * 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)

Robert Strandh

Greenspun's Tenth Rule of Programming: any sufficiently complicated C
or Fortran program contains an ad hoc informally-specified bug-ridden
slow implementation of half of Common Lisp.

More information about the Climacs-announce mailing list