Hello everybody,

I need your advice on a possibly critical issue:

Presently, LyX does not have an end-of-par character. However, for change tracking purposes, it is essential to track the deletion and insertion of paragraph breaks. Therefore, in the LyX 1.4 code (and also in the current 1.5 implementation), this issue is handled by tracking a end-of-par change at position "par.size()" in the Changes data structure.

There are two major implications of this approach:

(1) There is no end-of-par character in the paragraph data structure, only in the associated Change data structure. Accordingly, the user doesn't see the status of the end-of-par at the moment. (However, I think it is possible to add a simple workaround for this in Rowpainter.)

(2) If there are two unchanged paragraphs and the user removes the par break between them in CT mode, there is no way to merge the two pars while preserving the paragraph break (then marked as deleted). As a workaround, we do NOT merge the paragraphs but mark the end-of-par as deleted. Later, when the user accepts his change, the two paragraphs are finally merged. A consequence of this approach is that the LaTeX output is not fully correct as long as the change is not accepted (two pars instead of one). (I don't know whether this problem can be handled by another workaround)

To solve the above-mentioned problems in an elegant way, we need a real end-of-par character or inset. However, this requires substantial changes to the LyX core and will certainly result in temporary instability. I think it will me take me about two weeks to get everything right (given the fact that I will be very busy next week) whereas it will take me about 1-2 days to finalize the current solution.

Thus my question: Do you think that it is worth changing the current approach? Or do you think that the restriction imposed by (2) is acceptable from a user's perspective (After all, it may be a matter of how this happens).

Personally, I could live with the restriction but I would like to get your opinion before I spent more time on cleaning up change tracking.

Please reply quickly - Sunday is the best day for hacking :-)

Regards,
Michael

Reply via email to