[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[AUCTeX] Toolbar-x development
From: |
Miguel V. S. Frasson |
Subject: |
[AUCTeX] Toolbar-x development |
Date: |
Fri, 28 Jul 2006 09:50:23 -0300 |
Dear all
For a long while I have not talked too much here about what is going
on with the toolbar tools.
In my free time, I have been developing toolbar-x to improve
performance. After some ponderation, I realized that there were some
wrong decisions in the implementation. The code, although it works
(far from optimally), is not easily understandable (difficulting
maintainability). The engines (parse + display in Emacs + display in
XEmacs) were not clearly separated.
In order to incorporate the improvements that I will describe bellow,
I had to reprogram the core part. I didn't finish the implementation
(almost, but not quite), so I will not publish it imediately, but it
think I can do it soon. Apart from dropdown groups, everything is
working in Emacs. XEmacs will follow soon. Still some documentation to
be typed and a lot of testing.
About what is new:
* Performance was my main concern, specially if there were many many
buttons. The symbols toolbar eventually could have hundreds of
symbols (seldomly used most of them). Before, all the tree of buttons
was parsed, even if buttons never happened to be inserted. Now parsing
is gradual and only on demand. Only what is to be displayed is
parsed. Before, a refresh forced buttons to be recomputed, even if
this computation yield to objects that are `equal' (lisp function).
Now, everything that can be computed only once is computed just once
and stored for faster redisplay.
* The algorithm is clearer. I think that most guys here could
understand it reading the comments and code. Before some people
complained that the code was too confusing, and it really was. The
engines are completely separated due to improved clearness. Before we
have the situation `function x calls function y and function y calls
function x', mixing everything. This does not happen anymore.
* There is a single and important sintax change: the argument
`meaning-alist' becomes `meaning-alists' which is a list of alists or
variable bound to alists. This avoids the necessity of concatenation
of alists (takes "long" and can introduce inconsistence, since both
can have properties for the same symbol) like done before. I think
that this change is for the best.
* David asked me for the omega icon with a sumo fighter head, (I
understood that it should be the TeX lion's head). It is almost
looking good. Eventually I will deliver it.
Sincerely
Miguel Frasson.
--
Miguel Vinicius Santini Frasson
address@hidden
- [AUCTeX] Toolbar-x development,
Miguel V. S. Frasson <=