Patch 8.2.1295
Problem:    Tests 44 and 99 are old style.
Solution:   Convert to new style tests. (Yegappan Lakshmanan, closes #6536)
Files:      src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
            src/testdir/test44.in, src/testdir/test44.ok,
            src/testdir/test99.in, src/testdir/test99.ok,
            src/testdir/test_regexp_utf8.vim


*** ../vim-8.2.1294/src/Makefile        2020-07-22 19:10:59.877072059 +0200
--- src/Makefile        2020-07-26 12:49:10.577709777 +0200
***************
*** 2311,2320 ****
  # Run individual OLD style test.
  # These do not depend on the executable, compile it when needed.
  test1 \
!       test42 test44 test49 \
        test52 test59 \
!       test70 \
!       test99:
        cd testdir; rm -f [email protected]; $(MAKE) -f Makefile [email protected] 
VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
  
  # Run individual NEW style test.
--- 2311,2319 ----
  # Run individual OLD style test.
  # These do not depend on the executable, compile it when needed.
  test1 \
!       test42 test49 \
        test52 test59 \
!       test70:
        cd testdir; rm -f [email protected]; $(MAKE) -f Makefile [email protected] 
VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
  
  # Run individual NEW style test.
*** ../vim-8.2.1294/src/testdir/Make_all.mak    2020-07-11 13:09:17.377971831 
+0200
--- src/testdir/Make_all.mak    2020-07-26 12:49:10.577709777 +0200
***************
*** 14,22 ****
  # Tests that run on all systems.
  SCRIPTS_ALL = \
        test42.out \
!       test44.out \
!       test70.out \
!       test99.out
  
  # Tests that run on most systems, but not on Amiga.
  SCRIPTS_MORE1 = \
--- 14,20 ----
  # Tests that run on all systems.
  SCRIPTS_ALL = \
        test42.out \
!       test70.out
  
  # Tests that run on most systems, but not on Amiga.
  SCRIPTS_MORE1 = \
*** ../vim-8.2.1294/src/testdir/Make_vms.mms    2020-07-03 21:17:31.339914463 
+0200
--- src/testdir/Make_vms.mms    2020-07-26 12:49:10.577709777 +0200
***************
*** 74,80 ****
  .SUFFIXES : .out .in
  
  SCRIPT = test1.out \
!        test42.out test44.out test49.out test77a.out test99.out
  
  # Known problems:
  #
--- 74,80 ----
  .SUFFIXES : .out .in
  
  SCRIPT = test1.out \
!        test42.out test49.out test77a.out
  
  # Known problems:
  #
*** ../vim-8.2.1294/src/testdir/test44.in       2016-04-03 14:07:56.000000000 
+0200
--- src/testdir/test44.in       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,81 ****
- Tests for regexp with multi-byte encoding and various magic settings.
- Test matchstr() with a count and multi-byte chars.
- See test99 for exactly the same test with re=2.
- 
- STARTTEST
- :so mbyte.vim
- :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
- :set re=1
- /^1
- /a*b\{2}c\+/e
- x/\Md\*e\{2}f\+/e
- x:set nomagic
- /g\*h\{2}i\+/e
- x/\mj*k\{2}l\+/e
- x/\vm*n{2}o+/e
- x/\V^aa$
- x:set magic
- /\v(a)(b)\2\1\1/e
- x/\V[ab]\(\[xy]\)\1
- x:" Now search for multi-byte without composing char
- /ม
- x:" Now search for multi-byte with composing char
- /ม่
- x:" find word by change of word class
- /ち\<カヨ\>は
- x:" Test \%u, [\u] and friends
- :" c
- /\%u20ac
- x:" d
- /[\u4f7f\u5929]\+
- x:" e
- /\%U12345678
- x:" f
- /[\U1234abcd\u1234\uabcd]
- x:" g
- /\%d21879b
- x:" j Test backwards search from a multi-byte char
- /x
- x?.
- x:" k
- :let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
- :@w
- :"
- :" l Test what 7.3.192 fixed
- /^l
- :s/ \?/ /g
- :?^1?,$w! test.out
- :e! test.out
- G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב
- :put =matchstr(\"אבגד\", \"..\", 0, 2) " בג
- :put =matchstr(\"אבגד\", \".\", 0, 0) " א
- :put =matchstr(\"אבגד\", \".\", 4, -1) " ג
- :new
- :$put =['dog(a', 'cat(']
- /(/e+
- "ayn:bd!
- :$put =''
- G"ap
- :w!
- :qa!
- ENDTEST
- 
- 1 a aa abb abbccc
- 2 d dd dee deefff
- 3 g gg ghh ghhiii
- 4 j jj jkk jkklll
- 5 m mm mnn mnnooo
- 6 x ^aa$ x
- 7 (a)(b) abbaa
- 8 axx [ab]xx
- 9 หม่x อมx
- a อมx หม่x
- b ちカヨは
- c x ¬€x
- d 天使x
- e �����¸y
- f ����� z
- g a啷bb
- j 0123❤x
- k combinations
- l äö üᾱ̆́
--- 0 ----
*** ../vim-8.2.1294/src/testdir/test44.ok       2016-04-03 14:08:06.000000000 
+0200
--- src/testdir/test44.ok       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,25 ****
- 1 a aa abb abbcc
- 2 d dd dee deeff
- 3 g gg ghh ghhii
- 4 j jj jkk jkkll
- 5 m mm mnn mnnoo
- 6 x aa$ x
- 7 (a)(b) abba
- 8 axx ab]xx
- 9 หม่x อx
- a อมx หx
- b カヨは
- c x ¬x
- d 使x
- e y
- f z
- g abb
- j 012❤
- k œ̄ṣ́m̥̄ᾱ̆́
-  l ä ö ü ᾱ̆́
- ב
- בג
- א
- ג
- a
- cat(
--- 0 ----
*** ../vim-8.2.1294/src/testdir/test99.in       2016-04-03 14:06:03.000000000 
+0200
--- src/testdir/test99.in       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,69 ****
- Tests for regexp with multi-byte encoding and various magic settings.
- Test matchstr() with a count and multi-byte chars.
- See test44 for exactly the same test with re=1.
- 
- STARTTEST
- :so mbyte.vim
- :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
- :set re=2
- /^1
- /a*b\{2}c\+/e
- x/\Md\*e\{2}f\+/e
- x:set nomagic
- /g\*h\{2}i\+/e
- x/\mj*k\{2}l\+/e
- x/\vm*n{2}o+/e
- x/\V^aa$
- x:set magic
- /\v(a)(b)\2\1\1/e
- x/\V[ab]\(\[xy]\)\1
- x:" Now search for multi-byte without composing char
- /ม
- x:" Now search for multi-byte with composing char
- /ม่
- x:" find word by change of word class
- /ち\<カヨ\>は
- x:" Test \%u, [\u] and friends
- /\%u20ac
- x/[\u4f7f\u5929]\+
- x/\%U12345678
- x/[\U1234abcd\u1234\uabcd]
- x/\%d21879b
- x:" Test backwards search from a multi-byte char
- /x
- x?.
- x:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
- :@w
- :"
- :" l Test what 7.3.192 fixed
- /^l
- :s/ \?/ /g
- :?^1?,$w! test.out
- :e! test.out
- G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב
- :put =matchstr(\"אבגד\", \"..\", 0, 2) " בג
- :put =matchstr(\"אבגד\", \".\", 0, 0) " א
- :put =matchstr(\"אבגד\", \".\", 4, -1) " ג
- :w!
- :qa!
- ENDTEST
- 
- 1 a aa abb abbccc
- 2 d dd dee deefff
- 3 g gg ghh ghhiii
- 4 j jj jkk jkklll
- 5 m mm mnn mnnooo
- 6 x ^aa$ x
- 7 (a)(b) abbaa
- 8 axx [ab]xx
- 9 หม่x อมx
- a อมx หม่x
- b ちカヨは
- c x ¬€x
- d 天使x
- e �����¸y
- f ����� z
- g a啷bb
- j 0123❤x
- k combinations
- l äö üᾱ̆́
--- 0 ----
*** ../vim-8.2.1294/src/testdir/test99.ok       2016-04-03 14:07:07.000000000 
+0200
--- src/testdir/test99.ok       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,23 ****
- 1 a aa abb abbcc
- 2 d dd dee deeff
- 3 g gg ghh ghhii
- 4 j jj jkk jkkll
- 5 m mm mnn mnnoo
- 6 x aa$ x
- 7 (a)(b) abba
- 8 axx ab]xx
- 9 หม่x อx
- a อมx หx
- b カヨは
- c x ¬x
- d 使x
- e y
- f z
- g abb
- j 012❤
- k œ̄ṣ́m̥̄ᾱ̆́
-  l ä ö ü ᾱ̆́
- ב
- בג
- א
- ג
--- 0 ----
*** ../vim-8.2.1294/src/testdir/test_regexp_utf8.vim    2020-07-20 
21:21:26.950936122 +0200
--- src/testdir/test_regexp_utf8.vim    2020-07-26 12:49:10.581709760 +0200
***************
*** 377,380 ****
--- 377,504 ----
    set regexpengine&
  endfunc
  
+ " Tests for regexp with multi-byte encoding and various magic settings
+ func Run_regexp_multibyte_magic()
+   let text =<< trim END
+     1 a aa abb abbccc
+     2 d dd dee deefff
+     3 g gg ghh ghhiii
+     4 j jj jkk jkklll
+     5 m mm mnn mnnooo
+     6 x ^aa$ x
+     7 (a)(b) abbaa
+     8 axx [ab]xx
+     9 หม่x อมx
+     a อมx หม่x
+     b ちカヨは
+     c x ¬€x
+     d 天使x
+     e �����¸y
+     f ����� z
+     g a啷bb
+     j 0123❤x
+     k combinations
+     l äö üᾱ̆́
+   END
+ 
+   new
+   call setline(1, text)
+   exe 'normal /a*b\{2}c\+/e' .. "\<CR>x"
+   call assert_equal('1 a aa abb abbcc', getline('.'))
+   exe 'normal /\Md\*e\{2}f\+/e' .. "\<CR>x"
+   call assert_equal('2 d dd dee deeff', getline('.'))
+   set nomagic
+   exe 'normal /g\*h\{2}i\+/e' .. "\<CR>x"
+   call assert_equal('3 g gg ghh ghhii', getline('.'))
+   exe 'normal /\mj*k\{2}l\+/e' .. "\<CR>x"
+   call assert_equal('4 j jj jkk jkkll', getline('.'))
+   exe 'normal /\vm*n{2}o+/e' .. "\<CR>x"
+   call assert_equal('5 m mm mnn mnnoo', getline('.'))
+   exe 'normal /\V^aa$/' .. "\<CR>x"
+   call assert_equal('6 x aa$ x', getline('.'))
+   set magic
+   exe 'normal /\v(a)(b)\2\1\1/e' .. "\<CR>x"
+   call assert_equal('7 (a)(b) abba', getline('.'))
+   exe 'normal /\V[ab]\(\[xy]\)\1' .. "\<CR>x"
+   call assert_equal('8 axx ab]xx', getline('.'))
+ 
+   " search for multi-byte without composing char
+   exe 'normal /ม' .. "\<CR>x"
+   call assert_equal('9 หม่x อx', getline('.'))
+ 
+   " search for multi-byte with composing char
+   exe 'normal /ม่' .. "\<CR>x"
+   call assert_equal('a อมx หx', getline('.'))
+ 
+   " find word by change of word class
+   exe 'normal /ち\<カヨ\>は' .. "\<CR>x"
+   call assert_equal('b カヨは', getline('.'))
+ 
+   " Test \%u, [\u] and friends
+   " c
+   exe 'normal /\%u20ac' .. "\<CR>x"
+   call assert_equal('c x ¬x', getline('.'))
+   " d
+   exe 'normal /[\u4f7f\u5929]\+' .. "\<CR>x"
+   call assert_equal('d 使x', getline('.'))
+   " e
+   exe 'normal /\%U12345678' .. "\<CR>x"
+   call assert_equal('e y', getline('.'))
+   " f
+   exe 'normal /[\U1234abcd\u1234\uabcd]' .. "\<CR>x"
+   call assert_equal('f z', getline('.'))
+   " g
+   exe 'normal /\%d21879b' .. "\<CR>x"
+   call assert_equal('g abb', getline('.'))
+ 
+   " j Test backwards search from a multi-byte char
+   exe "normal /x\<CR>x?.\<CR>x"
+   call assert_equal('j 012❤', getline('.'))
+   " k
+   let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
+   @w
+   call assert_equal('k œ̄ṣ́m̥̄ᾱ̆́', getline(18))
+ 
+   close!
+ endfunc
+ 
+ func Test_regexp_multibyte_magic()
+   set regexpengine=1
+   call Run_regexp_multibyte_magic()
+   set regexpengine=2
+   call Run_regexp_multibyte_magic()
+   set regexpengine&
+ endfunc
+ 
+ " Test for 7.3.192
+ " command ":s/ \?/ /g" splits multi-byte characters into bytes
+ func Test_split_multibyte_to_bytes()
+   new
+   call setline(1, 'l äö üᾱ̆́')
+   s/ \?/ /g
+   call assert_equal(' l ä ö ü ᾱ̆́', getline(1))
+   close!
+ endfunc
+ 
+ " Test for matchstr() with multibyte characters
+ func Test_matchstr_multibyte()
+   new
+   call assert_equal('ב', matchstr("אבגד", ".", 0, 2))
+   call assert_equal('בג', matchstr("אבגד", "..", 0, 2))
+   call assert_equal('א', matchstr("אבגד", ".", 0, 0))
+   call assert_equal('ג', matchstr("אבגד", ".", 4, -1))
+   close!
+ endfunc
+ 
+ " Test for 7.4.636
+ " A search with end offset gets stuck at end of file.
+ func Test_search_with_end_offset()
+   new
+   call setline(1, ['', 'dog(a', 'cat('])
+   exe "normal /(/e+" .. "\<CR>"
+   normal "ayn
+   call assert_equal("a\ncat(", @a)
+   close!
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.1294/src/version.c       2020-07-25 19:38:13.329572365 +0200
--- src/version.c       2020-07-26 12:51:40.913047405 +0200
***************
*** 756,757 ****
--- 756,759 ----
  {   /* Add new patch number below this line */
+ /**/
+     1295,
  /**/

-- 
>From "know your smileys":
 y:-)   Bad toupee

 /// Bram Moolenaar -- [email protected] -- 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202007261054.06QAsM47549840%40masaka.moolenaar.net.

Raspunde prin e-mail lui