mirror of
https://github.com/storytold/gridcraft.git
synced 2026-11-09 20:12:20 +00:00
adjust had no way to report that an edit does not affect a formula, so callers copied, rebuilt and printed every formula in the workbook. adjust_if_changed borrows the formula and returns None when nothing moves. Its check reuses adjust_ref on each reference into the edited sheet, on a copy without the sheet name, so it cannot disagree with adjust. adjust_ref and shift_ref take the reference by value and no longer clone sheet names. An integration test keeps the previous implementation as an oracle over every edit kind and a randomized property test. Fixes #3576 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>