[climacs-devel] Issues with syntax-dependent command tables.
Robert Strandh
strandh at labri.fr
Sat Feb 4 18:48:26 UTC 2006
Troels Henriksen writes:
> Troels Henriksen <athas at sigkill.dk> writes:
>
> > As an experiment, I have removed `global-climacs-table's dependency
> > on `lisp-table' and instead made `lisp-table' depend on
> > `global-climacs-table' (in order to get the basic navigation and
> > editing commands). It seems to work properly, so I believe it should
> > be trivial to perform a general cleanup of Climacs' command tables
> > and their interdependencies.
>
> Apparently the command table issue was just a symptom of a bigger
> problem. It seems that the Climacs internals are fraught with
> confusing interdependencies, among other things, that the GUI-layer
> depends on the Lisp syntax module.
That is definitely a bad thing.
> Generally, gui.lisp seems to have
> become a bucket for all kinds of bits and pieces, containing a lot of
> very important functions, but not really exporting any of them. This
> makes it harder to properly divide responsibility among packages,
Sounds plausible.
> so
> I've started to reorganize interdependencies and modules with the goal
> of making Climacs' internal structure a bit more logical. My immediate
> goal is to isolate the Lisp syntax in the `climacs-lisp-syntax'
> package and the files lisp-syntax.lisp and
> lisp-syntax-commands.lisp. Fortunately, the existing syntax module
> protocol lends itself well to modularity, so this should not be very
> hard. Unfortunately, this incompatible change will require
> modification of Swine for it to continue to function properly.
>
> Thoughts?
I think your analysis sounds right, and I your idea of improving the
situation is probably the right one as well.
You might want to check the archives for ideas about how to organize
command lookup. I forget what we settled on, but there were issues
about whether to search several command tables, and if so, in which
order.
Good luck,
--
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-devel
mailing list