Hey, I have several patches that are needed to fix bugs in conditional formats. One of them is a MAB/regression with several duplicates. They apply cleanly on 3-6 and you may squash them into one large commit but it makes reviewing them even more complicated. I did not do that yet because it makes reviewing even more difficult. They allow to update ScRangeLists correctly when the cells are moved or deleted. There is one small problem with updating moving only parts of one of the ScRange entries but this will require more concept work to find all corner cases and to implement this. These cases are not that important and these patches here are already an improvement in this direction. Please apply them in the following order: http://cgit.freedesktop.org/libreoffice/core/commit/?id=7222a571d0d458810c1b23871f8b91491db4462d http://cgit.freedesktop.org/libreoffice/core/commit/?id=a3c4ee1653166ee2ac1f1b9d65ff1065b6288ebc http://cgit.freedesktop.org/libreoffice/core/commit/?id=4cf0759e7c6bd698c929a11c771d2ab03f1b9536 http://cgit.freedesktop.org/libreoffice/core/commit/?id=e6bca122176cdb2b6e822fc933f159dc3e3c8d46 http://cgit.freedesktop.org/libreoffice/core/commit/?id=7a182026fce922a9f69e8da76d46e87e7188a4e9 http://cgit.freedesktop.org/libreoffice/core/commit/?id=764e7e71038d5ae66061f44bc0cd51ce33ae96ed http://cgit.freedesktop.org/libreoffice/core/commit/?id=1e3919f040ade5d0f7f9fa854b3ed23366080c0c Nearly all of these patches are only changing ScRangeList and not directly the conditional format code. I have some unit tests for ScRangeList::UpdateReference and ScRangeList::DeleteArea in sc/qa/unit/rangelst_test.cxx Regards, Markus