Mercurial > vim
diff src/eval.c @ 33498:bff8ac203a22 v9.0.1999
patch 9.0.1999: Vim9: some error messages can be improved
Commit: https://github.com/vim/vim/commit/e6c9aa5e6a88d539a412a9b5526f41ea101aa185
Author: Ernie Rael <errael@raelity.com>
Date: Fri Oct 6 19:55:52 2023 +0200
patch 9.0.1999: Vim9: some error messages can be improved
Problem: Vim9: some error messages can be improved
Solution: Mention the defining class for variable access error message
closes: #13272
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: Ernie Rael <errael@raelity.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 06 Oct 2023 20:00:06 +0200 |
parents | 0081ca43bee9 |
children | f72004b37b2b |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -1105,26 +1105,28 @@ get_lval_check_access( #endif if (cl_exec == NULL || cl_exec != cl) { + char *msg = NULL; switch (om->ocm_access) { case VIM_ACCESS_PRIVATE: - semsg(_(e_cannot_access_private_variable_str), - om->ocm_name, cl->class_name); - return FAIL; + msg = e_cannot_access_private_variable_str; + break; case VIM_ACCESS_READ: // If [idx] or .key following, read only OK. if (*p == '[' || *p == '.') break; if ((flags & GLV_READ_ONLY) == 0) - { - semsg(_(e_variable_is_not_writable_str), - om->ocm_name, cl->class_name); - return FAIL; - } + msg = e_variable_is_not_writable_str; break; case VIM_ACCESS_ALL: break; } + if (msg != NULL) + { + emsg_var_cl_define(msg, om->ocm_name, 0, cl); + return FAIL; + } + } return OK; }