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