On 23/10/06, Brad Beveridge brad.beveridge@gmail.com wrote:
If it's not nailed down, steal it. That's my motto. Vial originally started life as a fun way to learn Common Lisp, which meant doing some stuff myself that maybe I shouldn't have. Particularly the buffer stuff. It might be worthwhile moving to Flexichain (http://common-lisp.net/project/flexichain/), which is the underlying implementation that Climacs uses for buffer management.
I'm going to look at it harder tonight, and if I do decide to change then it will probably mean big changes for Vial's internal code - but probably changes that clean the code up quite a bit. If we do move to flexichain, the first step will be to abstract out all the code that currently plays with the internals of buffer or cursor objects, then re-implement those functions using Flexichain.
Thoughts?
Cheers Brad
I've looked at Flexichain tonight. It is a good idea, and worth moving to. However I want to get something done, and changing out the buffer, cursor and undo system is a good chunk of work. So Flexichains are not going to happen anytime soon. However, we will start tightening up abstraction. Right now lots of modules directly use the internal bits of various classes, that is going to stop. The next few changes I make will probably be with cleaning up intermodule interfaces.
Cheers Brad