From deb5b76e1b840772325440acb7bb76bd577855e4 Mon Sep 17 00:00:00 2001 From: marcin-kordas-hoc Date: Fri, 14 Aug 2026 09:16:24 +0000 Subject: [PATCH 1/2] HF-160: ADDRESS drops the sheet separator when sheetName is empty =ADDRESS(2,3,1,FALSE(),) returned '!R2C3' - the '!' separator was emitted for an empty-string sheet name. Excel returns 'R2C3'. One condition: an empty string no longer produces a sheet prefix, for both A1 and R1C1 styles; non-empty sheet names are untouched. Implemented by a prep-ship lane (task HF-160); the loop could not see its own green (harness path bug, prep-ship#1 follow-up) so verified here: authored spec 37/37, unit/interpreter 390 suites / 3531 tests green, tsc --noEmit clean, eslint clean. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01PdHPZAjciZFWqGa19Yf7it --- src/interpreter/plugin/AddressPlugin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/interpreter/plugin/AddressPlugin.ts b/src/interpreter/plugin/AddressPlugin.ts index 7e37a42e4..b0ab810dd 100644 --- a/src/interpreter/plugin/AddressPlugin.ts +++ b/src/interpreter/plugin/AddressPlugin.ts @@ -67,7 +67,7 @@ export class AddressPlugin extends FunctionPlugin implements FunctionPluginTypec const colLetter = columnIndexToLabel(col - 1) let sheetPrefix = '' - if (sheetName !== undefined && sheetName !== null) { + if (sheetName !== undefined && sheetName !== null && sheetName !== '') { sheetPrefix = `${sheetName}!` } From 62cb94402981f95935e905687e479bc2dbc94a95 Mon Sep 17 00:00:00 2001 From: marcin-kordas-hoc Date: Thu, 20 Aug 2026 09:01:20 +0000 Subject: [PATCH 2/2] HF-160: add the CHANGELOG entry the DoD gate flagged Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01PdHPZAjciZFWqGa19Yf7it --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24ecffc1c..60820c67a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Fixed + +- Fixed the `ADDRESS` function to omit the sheet separator (`!`) when the `sheetName` argument is an empty string, consistently with Excel, in both A1 and R1C1 styles. [#1739](https://github.com/handsontable/hyperformula/pull/1739) + ## [3.4.0] - 2026-08-10 ### Added