Mercurial > vim
changeset 2726:0d201adaf9c5 v7.3.141
updated for version 7.3.141
Problem: When a key code is not set get a confusing error message.
Solution: Change the error message to say the key code is not set.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 22 Mar 2011 14:35:05 +0100 |
parents | 6f63330ec225 |
children | 62e8d93241cd |
files | runtime/doc/options.txt src/option.c src/version.c |
diffstat | 3 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -150,6 +150,18 @@ example, if Alt-b produces <Esc>b, use t (the ^[ is a real <Esc> here, use CTRL-V <Esc> to enter it) The advantage over a mapping is that it works in all situations. +You can define any key codes, e.g.: > + :set t_xy=^[foo; +There is no warning for using a name that isn't recognized. You can map these +codes as you like: > + :map <t_xy> something +< *E846* +When a key code is not set, it's like it does not exist. Trying to get its +value will result in an error: > + :set t_kb= + :set t_kb + E846: Key code not set: t_kb + The t_xx options cannot be set from a |modeline| or in the |sandbox|, for security reasons.
--- a/src/option.c +++ b/src/option.c @@ -4352,7 +4352,7 @@ do_set(arg, opt_flags) p = find_termcode(key_name); if (p == NULL) { - errmsg = (char_u *)N_("E518: Unknown option"); + errmsg = (char_u *)N_("E846: Key code not set"); goto skip; } else @@ -4700,8 +4700,8 @@ do_set(arg, opt_flags) || s[i] == ',' || s[i] == NUL)) break; - /* Count backspaces. Only a comma with an - * even number of backspaces before it is + /* Count backslashes. Only a comma with an + * even number of backslashes before it is * recognized as a separator */ if (s > origval && s[-1] == '\\') ++bs;