From 4a1ad676ce0bdaead122b092d2ff33b51679ffe9 Mon Sep 17 00:00:00 2001 From: luukvbaal Date: Fri, 2 Feb 2024 06:14:10 +0100 Subject: feat(ex_cmds): no error on :lua with {range} and {code} (#27290) Problem: Erroring when both {range} and {code} are supplied to :lua is inconvenient and may break mappings. Solution: Don't error, ignore {range} and execute {code} when both are supplied. --- src/nvim/lua/executor.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/nvim/lua/executor.c') diff --git a/src/nvim/lua/executor.c b/src/nvim/lua/executor.c index 5d51d58b1d..85d614fe0d 100644 --- a/src/nvim/lua/executor.c +++ b/src/nvim/lua/executor.c @@ -1649,12 +1649,12 @@ bool nlua_is_deferred_safe(void) void ex_lua(exarg_T *const eap) FUNC_ATTR_NONNULL_ALL { - // ":{range}lua" - if (eap->addr_count > 0 || *eap->arg == NUL) { - if (eap->addr_count > 0 && *eap->arg == NUL) { + // ":{range}lua", only if no {code} + if (*eap->arg == NUL) { + if (eap->addr_count > 0) { cmd_source_buffer(eap, true); } else { - semsg(_(e_invarg2), "exactly one of {chunk} or {range} required"); + emsg(_(e_argreq)); } return; } -- cgit