[climacs-devel] climacs-based application
Christophe Rhodes
csr21 at cam.ac.uk
Wed Jan 26 18:32:20 UTC 2005
Hi,
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
(climacs-gui::climacs)
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
somewhere?
* 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
redrawn?
* 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.
Cheers,
Christophe
More information about the climacs-devel
mailing list