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.

Reply via email to