aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/options.txt4
-rw-r--r--src/nvim/option.c15
-rw-r--r--src/nvim/version.c2
3 files changed, 6 insertions, 15 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index f28e5b9515..1393b11824 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -58,9 +58,7 @@ achieve special effects. These options come in three forms:
:se[t] {option}:{value}
Set string or number option to {value}.
For numeric options the value can be given in decimal,
- hex (preceded with 0x) or octal (preceded with '0')
- (hex and octal are only available for machines which
- have the strtol() function).
+ hex (preceded with 0x) or octal (preceded with '0').
The old value can be inserted by typing 'wildchar' (by
default this is a <Tab>). See |cmdline-completion|.
White space between {option} and '=' is allowed and
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 308e2a28ee..6e82c45edf 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -1214,17 +1214,10 @@ do_set (
errmsg = e_invarg;
goto skip;
}
- }
- /* allow negative numbers (for 'undolevels') */
- else if (*arg == '-' || ascii_isdigit(*arg)) {
- i = 0;
- if (*arg == '-')
- i = 1;
- value = strtol((char *)arg, NULL, 0);
- if (arg[i] == '0' && TOLOWER_ASC(arg[i + 1]) == 'x')
- i += 2;
- while (ascii_isdigit(arg[i]))
- ++i;
+ } else if (*arg == '-' || ascii_isdigit(*arg)) {
+ // Allow negative (for 'undolevels'), octal and
+ // hex numbers.
+ vim_str2nr(arg, NULL, &i, true, true, &value, NULL);
if (arg[i] != NUL && !ascii_iswhite(arg[i])) {
errmsg = e_invarg;
goto skip;
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 9a8a50ea58..8f0e6ccfff 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -319,7 +319,7 @@ static int included_patches[] = {
// 605,
// 604,
// 603,
- // 602,
+ 602,
601,
600,
599,