commit 9b535fa096b0ca5834e514143264deb4eb758ead
Author: Pavel Sanda <[email protected]>
Date:   Tue Aug 18 02:22:06 2026 +0200

    Attempt on #9395 - Compare (diff) misses changes in nested insets
    
    Backport 88f4caa2.
    Assisted-by: Claude Opus 4.7
---
 src/Compare.cpp | 6 +++---
 status.25x      | 3 +++
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/Compare.cpp b/src/Compare.cpp
index 09ae6b5ef4..c7bc679046 100644
--- a/src/Compare.cpp
+++ b/src/Compare.cpp
@@ -761,9 +761,9 @@ void Compare::Impl::diff_i(DocRangePair const & rp)
        // the strings were completely different, or we found a middle
        // snake and we can split the string into two parts to process.
        if (L_ses == 0)
-               // Two the same strings (this must be a very rare case, because
-               // usually this will be part of a snake adjacent to these 
strings).
-               writeToDestBuffer(rp.o);
+               // Two the same strings at this level, but nested insets may 
still
+               // differ - processSnake recurses into them via diffInset().
+               processSnake(rp);
 
        else if (middle_snake.o.empty()) {
                // Two totally different strings
diff --git a/status.25x b/status.25x
index 006e04c43a..16d432e76d 100644
--- a/status.25x
+++ b/status.25x
@@ -18,6 +18,9 @@ What's new
 
 * MISCELLANEOUS
 
+- Fix longstanding bug in comparison feature, which missed changes in
+  nested insets (bug #9395).
+
 
 * TEX2LYX IMPROVEMENTS
 
-- 
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to