This is an automated email from the ASF dual-hosted git repository.

jimjag pushed a commit to branch openformula
in repository https://gitbox.apache.org/repos/asf/openoffice.git

commit 1166e081342a169232edc7c7a50355039e3fcb6d
Author: Jim Jagielski <[email protected]>
AuthorDate: Fri Nov 13 09:21:45 2026 -0500

    odf_docs: correct the OpenFormula notes after the INDEX and SKEW reverts
    
    Also fixes two expected values in the Small Group test inventory.
---
 odf_docs/openformula-conformance.md            | 4 ++--
 odf_docs/openformula-milestone-a-report.md     | 3 +++
 odf_docs/openformula-milestone-b-report.md     | 3 +++
 odf_docs/openformula-modernization-plan.md     | 8 ++++----
 odf_docs/openformula-small-group-1.4-tests.tsv | 4 ++--
 odf_docs/openformula-small-group-test-plan.md  | 2 +-
 6 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/odf_docs/openformula-conformance.md 
b/odf_docs/openformula-conformance.md
index 9bb04e8b72..f67733449d 100644
--- a/odf_docs/openformula-conformance.md
+++ b/odf_docs/openformula-conformance.md
@@ -55,7 +55,7 @@ AOO does not claim the Small Group. However, the Small Group 
audit (`openformula
 |------|-------------|----------------|--------|
 | DATE pre-1583 | #VALUE! before 15 Oct 1582 | impl-defined (§7.4) | 
IMPLEMENTATION-DEFINED:155; KNOWN-LIMITATIONS:74 |
 | CONVERT atm | Fixed: 101325.1 Pa | Matches ODF 1.4 table | Fixed in 
Milestone C; KNOWN-LIMITATIONS:72 |
-| INDEX row-vector single-arg | Fixed: error per ODF 1.4 | Error (ODF 1.4 
removed rule) | Fixed in Milestone A; KNOWN-LIMITATIONS:71 |
+| INDEX row-vector single-arg | Returns the column (legacy rule kept) | Error 
(ODF 1.4 removed rule) | Known deviation; the Milestone A change was reverted; 
KNOWN-LIMITATIONS:71 |
 | Trailing empty param (`NPER(;;)`) | error except IF | ODF 1.4 rule | 
KNOWN-LIMITATIONS:73 |
 | Error cells on save | written as `office:value-type="string"` | ODF 1.4 adds 
`error` type (no `office:error` attr) | KNOWN-LIMITATIONS producer:2 |
 
@@ -63,7 +63,7 @@ AOO does not claim the Small Group. However, the Small Group 
audit (`openformula
 
 - **Claimed conformance group: none.** AOO does not claim Small/Medium/Large.
 - **Confirmed missing functions: none.** All 110 Small Group functions 
(§2.3.2.E) are implemented. IFNA (Large Group) and SKEWP (Medium Group) were 
implemented in Milestone B.
-- **Confirmed semantic discrepancies vs ODF 1.4:** INDEX row-vector rule 
(corrected in Milestone A), CONVERT `atm` (corrected in Milestone C), 
EASTERSUNDAY naming alias (behavior correct).
+- **Confirmed semantic discrepancies vs ODF 1.4:** INDEX row-vector rule (kept 
as a known deviation; the Milestone A change was reverted), CONVERT `atm` 
(corrected in Milestone C), EASTERSUNDAY naming alias (behavior correct).
 - **Cannot certify any group** without runtime testing every mandatory 
requirement against the ODF 1.4 Part 4 normative text.
 
 ## 8. Recommended next step for conformance
diff --git a/odf_docs/openformula-milestone-a-report.md 
b/odf_docs/openformula-milestone-a-report.md
index e65ecfc65b..12bc731e5b 100644
--- a/odf_docs/openformula-milestone-a-report.md
+++ b/odf_docs/openformula-milestone-a-report.md
@@ -127,6 +127,9 @@ Result table (ODF 1.4, §6.14.6), using the sheet data 
documented in the test fi
 
 ## 5. INDEX compatibility findings and decision
 
+**Update:** this decision was reversed later. `ScIndex` keeps the legacy 
row-vector rule,
+`INDEX(H1:L1;3)` returns 30 again, and the case is listed as a known deviation.
+
 **Finding:** AOO retains no document/formula-version information that `INDEX` 
evaluation
 can branch on. `ScDocOptions` (docoptio.hxx) tracks only formula-related 
toggles such as
 `bFormulaRegexEnabled`; there is no ODF 1.2 / 1.3 / 1.4 formula conformance 
setting per
diff --git a/odf_docs/openformula-milestone-b-report.md 
b/odf_docs/openformula-milestone-b-report.md
index 34fcfc8be9..992929cce9 100644
--- a/odf_docs/openformula-milestone-b-report.md
+++ b/odf_docs/openformula-milestone-b-report.md
@@ -89,6 +89,9 @@ When a direct error argument (e.g. `1/0`) was passed, 
`svError` fell into
 `CalculateSkew()`'s `default` → `SetError(errIllegalParameter)`, replacing
 the original error (e.g. `#DIV/0!`) with a generic "illegal parameter" error.
 
+**Update:** both `CalculateSkew()` changes were taken out again later. Direct 
text is an
+error, which ODF 1.4 allows, and `SKEW(1/0)` returns `#DIV/0!` without the 
`svError` case.
+
 ## 4. Files Changed and Purpose
 
 | File | Change | Purpose |
diff --git a/odf_docs/openformula-modernization-plan.md 
b/odf_docs/openformula-modernization-plan.md
index 42f320593e..dede4f6182 100644
--- a/odf_docs/openformula-modernization-plan.md
+++ b/odf_docs/openformula-modernization-plan.md
@@ -1,6 +1,6 @@
 # OpenFormula Modernization Plan — Apache OpenOffice Calc
 
-AUDIT ONLY — no production code changes authorized in this phase. This plan is 
a prioritized roadmap derived from source evidence. Priority is by 
interoperability impact, not implementation convenience.
+Written as an audit-only plan; later milestones did change production code, 
see the milestone reports. This plan is a prioritized roadmap derived from 
source evidence. Priority is by interoperability impact, not implementation 
convenience.
 
 Source-of-truth: `openformula-functions.tsv`, `openformula-operators.tsv`, 
`openformula-semantics.md`, `openformula-odf13-14-diff.md`, 
`openformula-conformance.md`, `openformula-test-gap-analysis.md`.
 
@@ -23,11 +23,11 @@ Source-of-truth: `openformula-functions.tsv`, 
`openformula-operators.tsv`, `open
 - Files: `main/scaddins/source/analysis/analysishelper.cxx`.
 - Status: Complete.
 
-**P2.2 INDEX row-vector single-argument** — Fixed in Milestone A.
-- AOO previously returned column (legacy); ODF 1.4 requires error for 
single-arg row vector.
+**P2.2 INDEX row-vector single-argument** — Milestone A change reverted.
+- AOO returns the column (legacy); ODF 1.4 requires error for single-arg row 
vector.
 - Work: Regression-test against existing document corpus; consider 
compatibility option if needed.
 - Files: `main/sc/source/core/tool/interpr1.cxx` (ScIndex).
-- Status: Implemented; regression risk documented.
+- Status: Not changed. AOO keeps the legacy rule (returns the column), listed 
as a known deviation.
 
 **P2.3 BITAND/BITOR/BITXOR variadic & BITLSHIFT/BITRSHIFT negative shift**
 - Gap: `ScBitArithmeticOps` enforces exactly 2 params (`interpr1.cxx:1180`); 
`ScBitShiftOps` handles negative shift counts.
diff --git a/odf_docs/openformula-small-group-1.4-tests.tsv 
b/odf_docs/openformula-small-group-1.4-tests.tsv
index 2cdaae78de..5f4702d151 100644
--- a/odf_docs/openformula-small-group-1.4-tests.tsv
+++ b/odf_docs/openformula-small-group-1.4-tests.tsv
@@ -24,7 +24,7 @@ SG-SYN-003    5.3     SYN-003-sci     =1.5e2  150     -       
UNVERIFIED      Scientific notation literal
 SG-SYN-004     5.4     SYN-004-string  ="hello"        s:hello -       
UNVERIFIED      String literal
 SG-SYN-004     5.4     SYN-004-quote   ="he said ""hi"""       s:he said "hi"  
-       UNVERIFIED      Quote escaping in string
 SG-SYN-005     5.5     SYN-005-precedence      =2+3*4  14      -       
UNVERIFIED      Operator precedence: * before +
-SG-SYN-005     5.5     SYN-005-power   =2^3^2  512     -       UNVERIFIED      
Power operator right-associativity
+SG-SYN-005     5.5     SYN-005-power   =2^3^2  64      -       UNVERIFIED      
Power operator left-associativity (5.5 Note 1)
 SG-SYN-006     5.6     SYN-006-func    =ABS(-5)        5       -       
UNVERIFIED      Function call with argument
 SG-SYN-007     5.7     SYN-007-nonstandard     =NONEXISTENT()  #ERR    -       
UNVERIFIED      Nonstandard function name error
 SG-SYN-008     5.8     SYN-008-ref     =D1     10      -       UNVERIFIED      
Cell reference resolves value (D1=10 per calcval fixture)
@@ -56,7 +56,7 @@ SG-OP-014     6.4.11  OP-014-range    =SUM(D1:D3)     60      
-       UNVERIFIED      Reference range (D1:D3
 # ===== Implicit Conversions (§6.3) =====
 SG-CONV-001    6.3.14  CONV-001-text   =TEXT(123;"0")  s:123   -       
UNVERIFIED      Number to text conversion
 SG-CONV-002    6.3.5   CONV-002-number =VALUE("123")   123     -       
UNVERIFIED      Text to number conversion
-SG-CONV-003    4.8     CONV-003-ref    =N(A1)  10      -       UNVERIFIED      
Reference to scalar conversion (A1=10)
+SG-CONV-003    4.8     CONV-003-ref    =N(D1)  10      -       UNVERIFIED      
Reference to scalar conversion (D1=10)
 SG-CONV-004    6.3.12  CONV-004-logical        =N(TRUE)        1       -       
UNVERIFIED      Logical to number conversion
 SG-CONV-004    6.3.12  CONV-004-logical2       =IF(0;TRUE;FALSE)       FALSE   
-       UNVERIFIED      Number to logical conversion (0 = FALSE)
 SG-CONV-005    5.12    CONV-005-error  =ISERR(1/0)     TRUE    -       
UNVERIFIED      Error propagation: division by zero
diff --git a/odf_docs/openformula-small-group-test-plan.md 
b/odf_docs/openformula-small-group-test-plan.md
index 5d1909a31f..b173f0963d 100644
--- a/odf_docs/openformula-small-group-test-plan.md
+++ b/odf_docs/openformula-small-group-test-plan.md
@@ -54,7 +54,7 @@ Each calcval case has 5 tab-separated columns:
 |----------|------|------------|-----------|
 | 1 | COUNTA/COUNTBLANK empty cells / empty string | `COUNTA.empty`, 
`COUNTA.emptystr`, `COUNTBLANK.empty`, `COUNTBLANK.range` (calcval14) and 
corresponding SG tests | ODF 1.4 §6.13.7 counts `""` as non-blank; §6.13.8 
`""`-in-cell is impl-defined and not directly reproducible with current calcval 
fixtures |
 | 2 | DATE out-of-constraint/pre-1583 | `DATE.pre1583` / `FN-016-DATE-pre1583` 
| §6.10.2 constrains Year>=1904; `DATE(1500;1;1)` is impl-defined/diagnostic 
(not mandatory `#ERR`) |
-| 3 | INDEX row-vector | `INDEX.rowvec.single`, `INDEX.rowvec.colarg`, 
`INDEX.row.outrange` | Milestone A fix; regression risk for legacy documents |
+| 3 | INDEX row-vector | `INDEX.row.rowonly`, `INDEX.row.empty`, 
`INDEX.row.outrange` | Legacy rule kept as a known deviation (Milestone A 
change reverted) |
 | 4 | Bitwise functions | `BITLSHIFT.neg`, `BITRSHIFT.neg`, `BITAND.3params` | 
Parameter count and negative shift behavior |
 | 5 | Parser/operators | `SYN-005-precedence`, `SYN-005-power`, `OP-006-div0` 
| Operator precedence and associativity |
 

Reply via email to