From 3936f3b79ce0b0aa1dd1e09f88a81634ea8119cb Mon Sep 17 00:00:00 2001 From: Shirish Veerabattini Date: Sun, 11 Oct 2026 16:10:04 -0500 Subject: [PATCH] engine: correct which functions the entry check skips IF, IFERROR, CHOOSE, SWITCH and INDEX are in the registry and are checked; the comment listed IF as skipped. Claude-Session: https://claude.ai/code/session_01BGBBGBC2gRpQ7GDuwQ6WPt --- crates/engine/src/cmd/edit.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/engine/src/cmd/edit.rs b/crates/engine/src/cmd/edit.rs index b4879473a..e13cbbd5b 100644 --- a/crates/engine/src/cmd/edit.rs +++ b/crates/engine/src/cmd/edit.rs @@ -192,8 +192,9 @@ pub(crate) fn input_to_cell(input: &str, sheet: usize, at: CellRef, wb: &mut gri } /// Like Excel, a formula that calls a built-in function with too few or too many arguments is -/// refused when it's entered, rather than stored to show `#VALUE!`. Special forms the evaluator -/// handles itself (IF, LET, LAMBDA…) and defined LAMBDA names aren't in the registry: skipped. +/// refused when it's entered, rather than stored to show `#VALUE!`. Functions the registry doesn't +/// hold (special forms like LET, LAMBDA, OFFSET, INDIRECT, SUBTOTAL), defined LAMBDA names and +/// unknown functions are skipped. fn check_arg_counts(expr: &gridcraft_formula::Expr) -> Result<()> { let mut bad = None; expr.walk(&mut |e| {