diff src/ex_eval.c @ 26250:3711e56f7e7b v8.2.3656

patch 8.2.3656: Vim9: no error for an evironment variable by itself Commit: https://github.com/vim/vim/commit/65259b5c6a8ad4edaf6eeb8dbb7b50342c64d403 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Nov 23 14:52:06 2021 +0000 patch 8.2.3656: Vim9: no error for an evironment variable by itself Problem: Vim9: no error for an evironment variable by itself. Solution: Give a "without effect" error. (closes https://github.com/vim/vim/issues/9166)
author Bram Moolenaar <Bram@vim.org>
date Tue, 23 Nov 2021 16:00:06 +0100
parents 9e6ddd7b91cd
children 2aeea8611342
line wrap: on
line diff
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -888,7 +888,8 @@ report_discard_pending(int pending, void
 }
 
 /*
- * Return TRUE if "arg" is only a variable, register or option name.
+ * Return TRUE if "arg" is only a variable, register, environment variable or
+ * option name.
  */
     int
 cmd_is_name_only(char_u *arg)
@@ -911,6 +912,8 @@ cmd_is_name_only(char_u *arg)
 	    if (STRNCMP("l:", p, 2) == 0 || STRNCMP("g:", p, 2) == 0)
 		p += 2;
 	}
+	else if (*p == '$')
+	    ++p;
 	get_name_len(&p, &alias, FALSE, FALSE);
     }
     name_only = ends_excmd2(arg, skipwhite(p));