Stefan Schimanski wrote:
Hi!
Can anybody please explain me Text::bidi? It keeps a cache of RTL<->LTR
levels for a row. But this variable is in the Text class, in the public
section. It does not store for which paragraph or row it has values. It
is accessed from all over the LyX code. At some few places it is updated
to another row (e.g. in the RowPainter). There is zero documentation for
it in the Text class declaration. Its computation function is 3 screens
long with a lot of position magic going on, but without any (zero,
niente, none) line of documentation. If you want to learn what bad code
is, you will have a lot learning material here.
What I want to say with this example: the bidi code is in a very bad
state. We are lucky that it is more or less working.
So is a lot of other part of the code. The situation has improved a lot
though in the 1.5 development frame. I was told that it has improved a
lot in the 1.4 frame too. I cannot imagine how it was in the 1.3 frame.
Feel free to unleash yourself and clean up this mess in the 1.6 frame ;-)
Abdel.