patch 9.0.1920: Vim9: cannot write public var in nested object
Problem: Vim9: cannot write public var in nested object
Solution: Write variable in nested read-only object reference.
Also test write fails.
closes: #13130
closes: #13131
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
diff --git a/src/eval.c b/src/eval.c
index 931d510..93b840e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1564,6 +1564,9 @@
om->ocm_name);
return NULL;
case VIM_ACCESS_READ:
+ // If [idx] or .key following, read only OK.
+ if (*p == '[' || *p == '.')
+ break;
if ((flags & GLV_READ_ONLY) == 0)
{
semsg(_(e_member_is_not_writable_str),