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),