Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
26249:785bcb1fe213 | 26250:3711e56f7e7b |
---|---|
886 verbose_leave(); | 886 verbose_leave(); |
887 } | 887 } |
888 } | 888 } |
889 | 889 |
890 /* | 890 /* |
891 * Return TRUE if "arg" is only a variable, register or option name. | 891 * Return TRUE if "arg" is only a variable, register, environment variable or |
892 * option name. | |
892 */ | 893 */ |
893 int | 894 int |
894 cmd_is_name_only(char_u *arg) | 895 cmd_is_name_only(char_u *arg) |
895 { | 896 { |
896 char_u *p = arg; | 897 char_u *p = arg; |
909 { | 910 { |
910 ++p; | 911 ++p; |
911 if (STRNCMP("l:", p, 2) == 0 || STRNCMP("g:", p, 2) == 0) | 912 if (STRNCMP("l:", p, 2) == 0 || STRNCMP("g:", p, 2) == 0) |
912 p += 2; | 913 p += 2; |
913 } | 914 } |
915 else if (*p == '$') | |
916 ++p; | |
914 get_name_len(&p, &alias, FALSE, FALSE); | 917 get_name_len(&p, &alias, FALSE, FALSE); |
915 } | 918 } |
916 name_only = ends_excmd2(arg, skipwhite(p)); | 919 name_only = ends_excmd2(arg, skipwhite(p)); |
917 vim_free(alias); | 920 vim_free(alias); |
918 return name_only; | 921 return name_only; |