diff options
Diffstat (limited to 'data/vim/patches/8.1.1180')
-rw-r--r-- | data/vim/patches/8.1.1180 | 524 |
1 files changed, 524 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1180 b/data/vim/patches/8.1.1180 new file mode 100644 index 000000000..21174606d --- /dev/null +++ b/data/vim/patches/8.1.1180 @@ -0,0 +1,524 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.1180 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.1180 +Problem: Vim script debugger tests are old style. +Solution: Turn into new style tests. (Yegappan Lakshmanan, closes #4259) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test108.in, src/testdir/test108.ok, + src/testdir/test_debugger.vim + + +*** ../vim-8.1.1179/src/Makefile 2019-04-11 18:13:53.337894322 +0200 +--- src/Makefile 2019-04-17 16:49:23.358684152 +0200 +*************** +*** 2176,2182 **** + test64 test69 \ + test70 test72 \ + test86 test87 test88 \ +! test94 test95 test99 test108: + cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE) + + # Run individual NEW style test. +--- 2176,2182 ---- + test64 test69 \ + test70 test72 \ + test86 test87 test88 \ +! test94 test95 test99: + cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE) + + # Run individual NEW style test. +*** ../vim-8.1.1179/src/testdir/Make_all.mak 2019-04-07 14:21:26.226339351 +0200 +--- src/testdir/Make_all.mak 2019-04-17 16:49:23.358684152 +0200 +*************** +*** 28,34 **** + test94.out \ + test95.out \ + test99.out \ +- test108.out \ + test_eval.out + + +--- 28,33 ---- +*************** +*** 97,102 **** +--- 96,102 ---- + test_cscope \ + test_cursor_func \ + test_curswant \ ++ test_debugger \ + test_delete \ + test_diffmode \ + test_digraph \ +*************** +*** 312,317 **** +--- 312,318 ---- + test_crypt.res \ + test_cscope.res \ + test_curswant.res \ ++ test_debugger.res \ + test_diffmode.res \ + test_digraph.res \ + test_display.res \ +*** ../vim-8.1.1179/src/testdir/Make_vms.mms 2018-07-14 21:48:42.444978086 +0200 +--- src/testdir/Make_vms.mms 2019-04-17 16:49:23.358684152 +0200 +*************** +*** 80,86 **** + test42.out test44.out test48.out test49.out \ + test64.out test69.out \ + test72.out test77a.out test88.out \ +! test94.out test95.out test99.out test108.out \ + test_eval.out + + # Known problems: +--- 80,86 ---- + test42.out test44.out test48.out test49.out \ + test64.out test69.out \ + test72.out test77a.out test88.out \ +! test94.out test95.out test99.out \ + test_eval.out + + # Known problems: +*** ../vim-8.1.1179/src/testdir/test108.in 2016-01-16 22:06:08.000000000 +0100 +--- src/testdir/test108.in 1970-01-01 01:00:00.000000000 +0100 +*************** +*** 1,88 **** +- Tests for backtrace debug commands. vim: set ft=vim : +- +- STARTTEST +- :so small.vim +- :lang mess C +- :function! Foo() +- : let var1 = 1 +- : let var2 = Bar(var1) + 9 +- : return var2 +- :endfunction +- : +- :function! Bar(var) +- : let var1 = 2 + a:var +- : let var2 = Bazz(var1) + 4 +- : return var2 +- :endfunction +- : +- :function! Bazz(var) +- : let var1 = 3 + a:var +- : let var3 = "another var" +- : return var1 +- :endfunction +- :new +- :debuggreedy +- :redir => out +- :debug echo Foo() +- step +- step +- step +- step +- step +- step +- echo "- show backtrace:\n" +- backtrace +- echo "\nshow variables on different levels:\n" +- echo var1 +- up +- back +- echo var1 +- u +- bt +- echo var1 +- echo "\n- undefined vars:\n" +- step +- frame 2 +- echo "undefined var3 on former level:" +- echo var3 +- fr 0 +- echo "here var3 is defined with \"another var\":" +- echo var3 +- step +- step +- step +- up +- echo "\nundefined var2 on former level" +- echo var2 +- down +- echo "here var2 is defined with 10:" +- echo var2 +- echo "\n- backtrace movements:\n" +- b +- echo "\nnext command cannot go down, we are on bottom\n" +- down +- up +- echo "\nnext command cannot go up, we are on top\n" +- up +- b +- echo "fil is not frame or finish, it is file" +- fil +- echo "\n- relative backtrace movement\n" +- fr -1 +- frame +- fra +1 +- fram +- echo "\n- go beyond limits does not crash\n" +- fr 100 +- fra +- frame -40 +- fram +- echo "\n- final result 19:" +- cont +- :0debuggreedy +- :redir END +- :$put =out +- :w! test.out +- :qa! +- ENDTEST +- +--- 0 ---- +*** ../vim-8.1.1179/src/testdir/test108.ok 2018-11-28 20:38:34.564273386 +0100 +--- src/testdir/test108.ok 1970-01-01 01:00:00.000000000 +0100 +*************** +*** 1,82 **** +- +- +- +- - show backtrace: +- +- 2 function Foo[2] +- 1 Bar[2] +- ->0 Bazz +- line 2: let var3 = "another var" +- +- show variables on different levels: +- +- 6 +- 2 function Foo[2] +- ->1 Bar[2] +- 0 Bazz +- line 2: let var3 = "another var" +- 3 +- ->2 function Foo[2] +- 1 Bar[2] +- 0 Bazz +- line 2: let var3 = "another var" +- 1 +- +- - undefined vars: +- +- undefined var3 on former level: +- Error detected while processing function Foo[2]..Bar[2]..Bazz: +- line 3: +- E121: Undefined variable: var3 +- here var3 is defined with "another var": +- another var +- +- undefined var2 on former level +- Error detected while processing function Foo[2]..Bar: +- line 3: +- E121: Undefined variable: var2 +- here var2 is defined with 10: +- 10 +- +- - backtrace movements: +- +- 1 function Foo[2] +- ->0 Bar +- line 3: End of function +- +- next command cannot go down, we are on bottom +- +- frame is zero +- +- next command cannot go up, we are on top +- +- frame at highest level: 1 +- ->1 function Foo[2] +- 0 Bar +- line 3: End of function +- fil is not frame or finish, it is file +- "[No Name]" --No lines in buffer-- +- +- - relative backtrace movement +- +- 1 function Foo[2] +- ->0 Bar +- line 3: End of function +- ->1 function Foo[2] +- 0 Bar +- line 3: End of function +- +- - go beyond limits does not crash +- +- frame at highest level: 1 +- ->1 function Foo[2] +- 0 Bar +- line 3: End of function +- frame is zero +- 1 function Foo[2] +- ->0 Bar +- line 3: End of function +- +- - final result 19: +- 19 +- +--- 0 ---- +*** ../vim-8.1.1179/src/testdir/test_debugger.vim 2019-04-17 16:52:46.237656050 +0200 +--- src/testdir/test_debugger.vim 2019-04-17 16:51:44.169971069 +0200 +*************** +*** 0 **** +--- 1,232 ---- ++ " Tests for the Vim script debug commands ++ ++ source shared.vim ++ source screendump.vim ++ ++ " Run a Vim debugger command ++ " If the expected output argument is supplied, then check for it. ++ func RunDbgCmd(buf, cmd, ...) ++ call term_sendkeys(a:buf, a:cmd . "\r") ++ call term_wait(a:buf) ++ ++ if a:0 != 0 ++ " Verify the expected output ++ let lnum = 20 - len(a:1) ++ for l in a:1 ++ call WaitForAssert({-> assert_equal(l, term_getline(a:buf, lnum))}) ++ let lnum += 1 ++ endfor ++ endif ++ endfunc ++ ++ " Debugger tests ++ func Test_Debugger() ++ if !CanRunVimInTerminal() ++ return ++ endif ++ ++ " Create a Vim script with some functions ++ call writefile([ ++ \ 'func Foo()', ++ \ ' let var1 = 1', ++ \ ' let var2 = Bar(var1) + 9', ++ \ ' return var2', ++ \ 'endfunc', ++ \ 'func Bar(var)', ++ \ ' let var1 = 2 + a:var', ++ \ ' let var2 = Bazz(var1) + 4', ++ \ ' return var2', ++ \ 'endfunc', ++ \ 'func Bazz(var)', ++ \ ' let var1 = 3 + a:var', ++ \ ' let var3 = "another var"', ++ \ ' let var3 = "value2"', ++ \ ' let var3 = "value3"', ++ \ ' return var1', ++ \ 'endfunc'], 'Xtest.vim') ++ ++ " Start Vim in a terminal ++ let buf = RunVimInTerminal('-S Xtest.vim', {}) ++ ++ " Start the Vim debugger ++ call RunDbgCmd(buf, ':debug echo Foo()') ++ ++ " Create a few stack frames by stepping through functions ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'step') ++ ++ " check backtrace ++ call RunDbgCmd(buf, 'backtrace', [ ++ \ ' 2 function Foo[2]', ++ \ ' 1 Bar[2]', ++ \ '->0 Bazz', ++ \ 'line 2: let var3 = "another var"']) ++ ++ " Check variables in different stack frames ++ call RunDbgCmd(buf, 'echo var1', ['6']) ++ ++ call RunDbgCmd(buf, 'up') ++ call RunDbgCmd(buf, 'back', [ ++ \ ' 2 function Foo[2]', ++ \ '->1 Bar[2]', ++ \ ' 0 Bazz', ++ \ 'line 2: let var3 = "another var"']) ++ call RunDbgCmd(buf, 'echo var1', ['3']) ++ ++ call RunDbgCmd(buf, 'u') ++ call RunDbgCmd(buf, 'bt', [ ++ \ '->2 function Foo[2]', ++ \ ' 1 Bar[2]', ++ \ ' 0 Bazz', ++ \ 'line 2: let var3 = "another var"']) ++ call RunDbgCmd(buf, 'echo var1', ['1']) ++ ++ " Undefined variables ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'frame 2') ++ call RunDbgCmd(buf, 'echo var3', [ ++ \ 'Error detected while processing function Foo[2]..Bar[2]..Bazz:', ++ \ 'line 3:', ++ \ 'E121: Undefined variable: var3']) ++ ++ " var3 is defined in this level with some other value ++ call RunDbgCmd(buf, 'fr 0') ++ call RunDbgCmd(buf, 'echo var3', ['another var']) ++ ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'step', [ ++ \ 'function Foo[2]..Bar', ++ \ 'line 3: End of function']) ++ call RunDbgCmd(buf, 'up') ++ ++ " Undefined var2 ++ call RunDbgCmd(buf, 'echo var2', [ ++ \ 'Error detected while processing function Foo[2]..Bar:', ++ \ 'line 3:', ++ \ 'E121: Undefined variable: var2']) ++ ++ " Var2 is defined with 10 ++ call RunDbgCmd(buf, 'down') ++ call RunDbgCmd(buf, 'echo var2', ['10']) ++ ++ " Backtrace movements ++ call RunDbgCmd(buf, 'b', [ ++ \ ' 1 function Foo[2]', ++ \ '->0 Bar', ++ \ 'line 3: End of function']) ++ ++ " next command cannot go down, we are on bottom ++ call RunDbgCmd(buf, 'down', ['frame is zero']) ++ call RunDbgCmd(buf, 'up') ++ ++ " next command cannot go up, we are on top ++ call RunDbgCmd(buf, 'up', ['frame at highest level: 1']) ++ call RunDbgCmd(buf, 'where', [ ++ \ '->1 function Foo[2]', ++ \ ' 0 Bar', ++ \ 'line 3: End of function']) ++ ++ " fil is not frame or finish, it is file ++ call RunDbgCmd(buf, 'fil', ['"[No Name]" --No lines in buffer--']) ++ ++ " relative backtrace movement ++ call RunDbgCmd(buf, 'fr -1') ++ call RunDbgCmd(buf, 'frame', [ ++ \ ' 1 function Foo[2]', ++ \ '->0 Bar', ++ \ 'line 3: End of function']) ++ ++ call RunDbgCmd(buf, 'fr +1') ++ call RunDbgCmd(buf, 'fram', [ ++ \ '->1 function Foo[2]', ++ \ ' 0 Bar', ++ \ 'line 3: End of function']) ++ ++ " go beyond limits does not crash ++ call RunDbgCmd(buf, 'fr 100', ['frame at highest level: 1']) ++ call RunDbgCmd(buf, 'fra', [ ++ \ '->1 function Foo[2]', ++ \ ' 0 Bar', ++ \ 'line 3: End of function']) ++ ++ call RunDbgCmd(buf, 'frame -40', ['frame is zero']) ++ call RunDbgCmd(buf, 'fram', [ ++ \ ' 1 function Foo[2]', ++ \ '->0 Bar', ++ \ 'line 3: End of function']) ++ ++ " final result 19 ++ call RunDbgCmd(buf, 'cont', ['19']) ++ ++ " breakpoints tests ++ ++ " Start a debug session, so that reading the last line from the terminal ++ " works properly. ++ call RunDbgCmd(buf, ':debug echo Foo()') ++ ++ " No breakpoints ++ call RunDbgCmd(buf, 'breakl', ['No breakpoints defined']) ++ ++ " Place some breakpoints ++ call RunDbgCmd(buf, 'breaka func Bar') ++ call RunDbgCmd(buf, 'breaklis', [' 1 func Bar line 1']) ++ call RunDbgCmd(buf, 'breakadd func 3 Bazz') ++ call RunDbgCmd(buf, 'breaklist', [' 1 func Bar line 1', ++ \ ' 2 func Bazz line 3']) ++ ++ " Check whether the breakpoints are hit ++ call RunDbgCmd(buf, 'cont', [ ++ \ 'Breakpoint in "Bar" line 1', ++ \ 'function Foo[2]..Bar', ++ \ 'line 1: let var1 = 2 + a:var']) ++ call RunDbgCmd(buf, 'cont', [ ++ \ 'Breakpoint in "Bazz" line 3', ++ \ 'function Foo[2]..Bar[2]..Bazz', ++ \ 'line 3: let var3 = "value2"']) ++ ++ " Delete the breakpoints ++ call RunDbgCmd(buf, 'breakd 1') ++ call RunDbgCmd(buf, 'breakli', [' 2 func Bazz line 3']) ++ call RunDbgCmd(buf, 'breakdel func 3 Bazz') ++ call RunDbgCmd(buf, 'breakl', ['No breakpoints defined']) ++ ++ call RunDbgCmd(buf, 'cont') ++ ++ " Make sure the breakpoints are removed ++ call RunDbgCmd(buf, ':echo Foo()', ['19']) ++ ++ " Delete a non-existing breakpoint ++ call RunDbgCmd(buf, ':breakdel 2', ['E161: Breakpoint not found: 2']) ++ ++ " Expression breakpoint ++ call RunDbgCmd(buf, ':breakadd func 2 Bazz') ++ call RunDbgCmd(buf, ':echo Bazz(1)') ++ call RunDbgCmd(buf, 'step') ++ call RunDbgCmd(buf, 'breaka expr var3') ++ call RunDbgCmd(buf, 'breakl', [' 4 expr var3']) ++ call RunDbgCmd(buf, 'cont', ['Breakpoint in "Bazz" line 4', ++ \ 'Oldval = "''another var''"', ++ \ 'Newval = "''value2''"', ++ \ 'function Bazz', ++ \ 'line 4: let var3 = "value3"']) ++ ++ call RunDbgCmd(buf, 'breakdel *') ++ call RunDbgCmd(buf, 'breakl', ['No breakpoints defined']) ++ ++ " finish the current function ++ call RunDbgCmd(buf, 'finish', [ ++ \ 'function Bazz', ++ \ 'line 5: End of function']) ++ call RunDbgCmd(buf, 'cont') ++ ++ call StopVimInTerminal(buf) ++ ++ call delete('Xtest.vim') ++ endfunc +*** ../vim-8.1.1179/src/version.c 2019-04-17 16:33:42.795349446 +0200 +--- src/version.c 2019-04-17 16:50:55.034220168 +0200 +*************** +*** 773,774 **** +--- 773,776 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 1180, + /**/ + +-- +FIRST HEAD: Oh! quick! get the sword out I want to cut his head off. +THIRD HEAD: Oh, cut your own head off. +SECOND HEAD: Yes - do us all a favour. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@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 /// |