Patch 8.2.2309

3 views
Skip to first unread message

Bram Moolenaar

unread,
Jan 7, 2021, 1:37:17 PM1/7/21
to vim...@googlegroups.com

Patch 8.2.2309
Problem: 0o777 not recognized as octal.
Solution: Use vim_isodigit(). (Ken Takata, closes #7633, closes #7631)
Files: src/charset.c, src/testdir/test_eval_stuff.vim


*** ../vim-8.2.2308/src/charset.c 2020-06-10 14:16:30.098988403 +0200
--- src/charset.c 2021-01-07 19:35:06.364923862 +0100
***************
*** 1594,1599 ****
--- 1594,1605 ----
return (c == '0' || c == '1');
}

+ static int
+ vim_isodigit(int c)
+ {
+ return (c >= '0' && c <= '7');
+ }
+
/*
* Vim's own character class functions. These exist because many library
* islower()/toupper() etc. do not work properly: they crash when used with
***************
*** 1831,1837 ****
// binary
ptr += 2;
else if ((what & STR2NR_OOCT)
! && (pre == 'O' || pre == 'o') && vim_isbdigit(ptr[2])
&& (maxlen == 0 || maxlen > 2))
// octal with prefix "0o"
ptr += 2;
--- 1837,1843 ----
// binary
ptr += 2;
else if ((what & STR2NR_OOCT)
! && (pre == 'O' || pre == 'o') && vim_isodigit(ptr[2])
&& (maxlen == 0 || maxlen > 2))
// octal with prefix "0o"
ptr += 2;
*** ../vim-8.2.2308/src/testdir/test_eval_stuff.vim 2020-09-04 21:18:40.480161935 +0200
--- src/testdir/test_eval_stuff.vim 2021-01-07 19:32:14.605319230 +0100
***************
*** 218,223 ****
--- 218,224 ----
call assert_equal(15, 0o17)
call assert_equal(15, 0O17)
call assert_equal(18, 018)
+ call assert_equal(511, 0o777)
call assert_equal(64, 0b1'00'00'00)
call assert_equal(1048576, 0x10'00'00)
call assert_equal(32768, 0o10'00'00)
***************
*** 233,238 ****
--- 234,240 ----
call assert_equal(15, 0o17)
call assert_equal(15, 0O17)
call assert_equal(18, 018)
+ call assert_equal(511, 0o777)
endfunc

func Test_scriptversion_fail()
*** ../vim-8.2.2308/src/version.c 2021-01-07 19:23:04.970566910 +0100
--- src/version.c 2021-01-07 19:36:16.508761971 +0100
***************
*** 752,753 ****
--- 752,755 ----
{ /* Add new patch number below this line */
+ /**/
+ 2309,
/**/

--
To be rich is not the end, but only a change of worries.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages