diff src/eval.c @ 24852:3c8bd1d392d1 v8.2.2964

patch 8.2.2964: Vim9: hang when using space after -> Commit: https://github.com/vim/vim/commit/a733042b124357225e4081e10ef28591236c6077 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 8 20:46:45 2021 +0200 patch 8.2.2964: Vim9: hang when using space after -> Problem: Vim9: hang when using space after ->. (Naohiro Ono) Solution: Skip over white space to find the function name. (closes https://github.com/vim/vim/issues/8341)
author Bram Moolenaar <Bram@vim.org>
date Tue, 08 Jun 2021 21:00:03 +0200
parents fcab26a7fd4d
children 594edca79708
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -5786,8 +5786,9 @@ handle_subscript(
 	p = eval_next_non_blank(*arg, evalarg, &getnext);
 	if (getnext
 	    && ((rettv->v_type == VAR_DICT && *p == '.' && eval_isdictc(p[1]))
-		|| (p[0] == '-' && p[1] == '>'
-				     && (p[2] == '{' || ASCII_ISALPHA(p[2])))))
+		|| (p[0] == '-' && p[1] == '>' && (p[2] == '{'
+			|| ASCII_ISALPHA(in_vim9script() ? *skipwhite(p + 2)
+								    : p[2])))))
 	{
 	    *arg = eval_next_line(evalarg);
 	    p = *arg;