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 -- b...@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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202101071837.107Ib8lb619116%40masaka.moolenaar.net.

Reply via email to