[climacs-devel] climacs-based application

Christophe Rhodes csr21 at cam.ac.uk
Wed Jan 26 18:32:20 UTC 2005


As some of you will no doubt know, I've been working on an application
using climacs as the editor framework; the application is to provide
visual feedback and other nifty things for a text-based language for
lute tablature.

Today, I got it to a basically working state; I got incremental
parsing working early yesterday, incremental redisplay working late
yesterday, and ironed out some bugs during the course of the day
related to non-locality of various constructs -- in particular, the
comment delimiters #\{ and #\} are fully-nestable in tabcode, which
makes the incremental parsing aspect rather tricky.

The code is available at
<http://www-jcsu.jesus.cam.ac.uk/~csr21/tabcode-20050126.tar.gz>; if
anyone wants to give it a try, please do -- "simply" load the tabcode
and tabcode-gui systems, then
and either
  Set Syntax SPC Tabcode
or first load one of the .tc files in that source distribution, then
  Set Syntax SPC Tabcode
and start typing.

However, the questions I have relate more to infrastructural issues,
and relate to the tabcode-syntax.lisp and gui.lisp files in that
source distribution.  Those files are decorated with FIXMEs, but to
attempt to summarize the main issues that might be clarified here:

* I am aware that there is a separation between syntax and view in
  current Climacs, such that GUI elements are meant to be distinct
  from syntactical markup.  I don't really see how to implement this
  with my current model.  Please advise :-)

* Where are LOW-MARK and HIGH-MARK of a buffer positioned when all
  that has happened is that the point has moved?  Is this well-defined

* I would like to draw the element near the cursor in a different
  colour.  This doesn't interact trivially with incremental-redisplay,
  at least as far as I can see; is there a way of selectively
  invalidating one updating output record so that it is forced to be

* Presentations are not active / highlighted in the normal command
  loop.  I'm given to understand that this is because until recently
  mcclim defined a global presentation/command thing which would have
  made this too painful.  It would be good, however, to have the
  presentations in my graphical window active without having to type
  M-x (to establish a command input context (?))

* I have some specialized keybindings, which I'm currently putting in
  the global space; is there a mode-specific keybinding concept in
  Climacs yet, or is this the only place for them?

Notwithstanding all these comments and questions, thank you for
providing a lovely editor in such a short time!  All comments with
respect to the tabcode editor are very welcome, and I hope it provides
incentive to get an even better infrastructure.



More information about the climacs-devel mailing list