summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0496
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0496')
-rw-r--r--data/vim/patches/8.1.0496413
1 files changed, 413 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0496 b/data/vim/patches/8.1.0496
new file mode 100644
index 000000000..3ae265688
--- /dev/null
+++ b/data/vim/patches/8.1.0496
@@ -0,0 +1,413 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0496
+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.0496
+Problem: No tests for indent files.
+Solution: Add a mechanism for running indent file tests. Add a first test
+ for Vim indenting.
+Files: runtime/indent/Makefile, runtime/indent/testdir/runtest.vim,
+ runtime/indent/testdir/cleantest.vim, runtime/indent/README.txt,
+ runtime/indent/testdir/README.txt, runtime/indent/testdir/vim.in,
+ runtime/indent/testdir/vim.ok, Filelist
+
+
+*** ../vim-8.1.0495/runtime/indent/Makefile 2018-10-25 16:50:51.432794651 +0200
+--- runtime/indent/Makefile 2018-10-25 15:09:00.266824902 +0200
+***************
+*** 0 ****
+--- 1,13 ----
++ # Portable Makefile for running indent tests.
++
++ VIM = vim
++
++ # Run the tests that didn't run yet or failed previously.
++ # If a test succeeds a testdir/*.out file will be written.
++ # If a test fails a testdir/*.fail file will be written.
++ test:
++ $(VIM) --not-a-term -u testdir/runtest.vim
++
++
++ clean:
++ $(VIM) --not-a-term -u testdir/cleantest.vim
+*** ../vim-8.1.0495/runtime/indent/testdir/runtest.vim 1970-01-01 01:00:00.000000000 +0100
+--- runtime/indent/testdir/runtest.vim 2018-10-25 16:46:35.694821475 +0200
+***************
+*** 0 ****
+--- 1,117 ----
++ " Runs all the indent tests for which there is no .out file
++
++ set nocp
++ filetype indent on
++ set nowrapscan
++
++ au! SwapExists * call HandleSwapExists()
++ func HandleSwapExists()
++ " Ignore finding a swap file for the test input and output, the user might be
++ " editing them and that's OK.
++ if expand('<afile>') =~ '.*\.\(in\|out\|fail\|ok\)'
++ let v:swapchoice = 'e'
++ endif
++ endfunc
++
++ for fname in glob('testdir/*.in', 1, 1)
++ let root = substitute(fname, '\.in', '', '')
++
++ " Execute the test if the .out file does not exist of when the .in file is
++ " newer.
++ let in_time = getftime(fname)
++ let out_time = getftime(root . '.out')
++ if out_time < 0 || in_time > out_time
++ call delete(root . '.fail')
++ call delete(root . '.out')
++
++ set sw& ts& filetype=
++ exe 'split ' . fname
++
++ let did_some = 0
++ let failed = 0
++ let end = 1
++ while 1
++ " Indent all the lines between "START_INDENT" and "END_INDENT"
++ exe end
++ let start = search('\<START_INDENT\>')
++ let end = search('\<END_INDENT\>')
++ if start <= 0 || end <= 0 || end <= start
++ if did_some == 0
++ call append(0, 'ERROR: START_INDENT and/or END_INDENT not found')
++ let failed = 1
++ endif
++ break
++ else
++ let did_some = 1
++
++ " Execute all commands marked with INDENT_EXE and find any pattern.
++ let lnum = start
++ let pattern = ''
++ let at = ''
++ while 1
++ exe lnum + 1
++ let lnum_exe = search('\<INDENT_EXE\>')
++ exe lnum + 1
++ let indent_at = search('\<INDENT_\(AT\|NEXT\|PREV\)\>')
++ if lnum_exe > 0 && lnum_exe < end && (indent_at <= 0 || lnum_exe < indent_at)
++ exe substitute(getline(lnum_exe), '.*INDENT_EXE', '', '')
++ let lnum = lnum_exe
++ let start = lnum
++ elseif indent_at > 0 && indent_at < end
++ if pattern != ''
++ call append(indent_at, 'ERROR: duplicate pattern')
++ let failed = 1
++ break
++ endif
++ let text = getline(indent_at)
++ let pattern = substitute(text, '.*INDENT_\S*\s*', '', '')
++ let at = substitute(text, '.*INDENT_\(\S*\).*', '\1', '')
++ let lnum = indent_at
++ let start = lnum
++ else
++ break
++ endif
++ endwhile
++
++ exe start + 1
++ if pattern == ''
++ exe 'normal =' . (end - 1) . 'G'
++ else
++ let lnum = search(pattern)
++ if lnum <= 0
++ call append(indent_at, 'ERROR: pattern not found: ' . pattern)
++ let failed = 1
++ break
++ endif
++ if at == 'AT'
++ exe lnum
++ elseif at == 'NEXT'
++ exe lnum + 1
++ else
++ exe lnum - 1
++ endif
++ normal ==
++ endif
++ endif
++ endwhile
++
++ if !failed
++ " Check the resulting text equals the .ok file.
++ if getline(1, '$') != readfile(root . '.ok')
++ let failed = 1
++ endif
++ endif
++
++ if failed
++ exe 'write ' . root . '.fail'
++ echoerr 'Test ' . fname . ' FAILED!'
++ sleep 2
++ else
++ exe 'write ' . root . '.out'
++ endif
++
++ quit! " close the indented file
++ endif
++ endfor
++
++ qall!
+*** ../vim-8.1.0495/runtime/indent/testdir/cleantest.vim 1970-01-01 01:00:00.000000000 +0100
+--- runtime/indent/testdir/cleantest.vim 2018-10-25 14:30:08.074821926 +0200
+***************
+*** 0 ****
+--- 1,6 ----
++ " Deletes all the test output files: *.fail and *.out
++ for fname in glob('testdir/*.out', 1, 1) + glob('testdir/*.fail', 1, 1)
++ call delete(fname)
++ endfor
++
++ quit
+*** ../vim-8.1.0495/runtime/indent/README.txt 2010-05-15 13:03:29.000000000 +0200
+--- runtime/indent/README.txt 2018-10-25 16:42:14.648927510 +0200
+***************
+*** 43,45 ****
+--- 43,47 ----
+ The user may have several options set unlike you, try to write the file such
+ that it works with any option settings. Also be aware of certain features not
+ being compiled in.
++
++ To test the indent file, see testdir/README.txt.
+*** ../vim-8.1.0495/runtime/indent/testdir/README.txt 1970-01-01 01:00:00.000000000 +0100
+--- runtime/indent/testdir/README.txt 2018-10-25 16:43:55.332109491 +0200
+***************
+*** 0 ****
+--- 1,92 ----
++ TESTING INDENT SCRIPTS
++
++ We'll use FILETYPE for the filetype name here.
++
++
++ FORMAT OF THE FILETYPE.IN FILE
++
++ First of all, create a FILETYPE.in file. It should contain:
++
++ - A modeline setting the 'filetype' and any other option values.
++ This must work like a comment for FILETYPE. E.g. for vim:
++ " vim: set ft=vim sw=4 :
++
++ - At least one block of lines to indent, prefixed with START_INDENT and
++ followed by END_INDENT. These lines must also look like a comment for your
++ FILETYPE. You would normally leave out all indent, so that the effect of
++ the indent command results in adding indent. Example:
++
++ " START_INDENT
++ func Some()
++ let x = 1
++ endfunc
++ " END_INDENT
++
++ - Optionally, a line with INDENT_EXE, followed by a Vim command. This will be
++ executed before indenting the lines. Example:
++
++ " START_INDENT
++ " INDENT_EXE let g:vim_indent_cont = 6
++ let cmd =
++ \ 'some '
++ \ 'string'
++ " END_INDENT
++
++ Note that the command is not undone, you may need to reverse the effect for
++ the next block of lines.
++
++ - Alternatively to indenting all the lines between START_INDENT and
++ END_INDENT, use a INDENT_AT line, which specifies a pattern to find the line
++ to indent. Example:
++
++ " START_INDENT
++ " INDENT_AT this-line
++ func Some()
++ let f = x " this-line
++ endfunc
++ " END_INDENT
++
++ Alternatively you can use INDENT_NEXT to indent the line below the matching
++ pattern:
++
++ " START_INDENT
++ " INDENT_NEXT next-line
++ func Some()
++ " next-line
++ let f = x
++ endfunc
++ " END_INDENT
++
++ Or use INDENT_PREV to indent the line above the matching pattern:
++
++ " START_INDENT
++ " INDENT_PREV prev-line
++ func Some()
++ let f = x
++ " prev-line
++ endfunc
++ " END_INDENT
++
++ It's best to keep the whole file valid for FILETYPE, so that syntax
++ highlighting works normally, and any indenting that depends on the syntax
++ highlighting also works.
++
++
++ RUNNING THE TEST
++
++ Before running the test, create a FILETYPE.ok file. You can leave it empty at
++ first.
++
++ Now run "make test". After Vim has done the indenting you will see a
++ FILETYPE.fail file. This contains the actual result of indenting, and it's
++ different from the FILETYPE.ok file.
++
++ Check the contents of the FILETYPE.fail file. If it is perfectly OK, then
++ rename it to overwrite the FILETYPE.ok file. If you now run "make test" again,
++ the test will pass and create a FILETYPE.out file, which is identical to the
++ FILETYPE.ok file.
++
++ If you try to run "make test" again you will notice that nothing happens,
++ because the FILETYPE.out file already exists. Delete it, or do "make clean",
++ so that the text runs again. If you edit the FILETYPE.in file, so that it's
++ newer than the FILETYPE.out file, the test will also run.
+*** ../vim-8.1.0495/runtime/indent/testdir/vim.in 1970-01-01 01:00:00.000000000 +0100
+--- runtime/indent/testdir/vim.in 2018-10-25 16:47:11.262537836 +0200
+***************
+*** 0 ****
+--- 1,46 ----
++ " vim: set ft=vim sw=4 :
++
++ " START_INDENT
++
++ func Some()
++ let x = 1
++ endfunc
++
++ let cmd =
++ \ 'some '
++ \ 'string'
++
++ " END_INDENT
++
++ " START_INDENT
++ " INDENT_EXE let g:vim_indent_cont = 6
++
++ let cmd =
++ \ 'some '
++ \ 'string'
++
++ " END_INDENT
++
++ " START_INDENT
++ " INDENT_EXE unlet g:vim_indent_cont
++ " INDENT_AT this-line
++ func Some()
++ let f = x " this-line
++ endfunc
++ " END_INDENT
++
++ " START_INDENT
++ " INDENT_NEXT next-line
++ func Some()
++ " next-line
++ let f = x
++ endfunc
++ " END_INDENT
++
++ " START_INDENT
++ " INDENT_PREV prev-line
++ func Some()
++ let f = x
++ " prev-line
++ endfunc
++ " END_INDENT
+*** ../vim-8.1.0495/runtime/indent/testdir/vim.ok 1970-01-01 01:00:00.000000000 +0100
+--- runtime/indent/testdir/vim.ok 2018-10-25 16:45:29.103354381 +0200
+***************
+*** 0 ****
+--- 1,46 ----
++ " vim: set ft=vim sw=4 :
++
++ " START_INDENT
++
++ func Some()
++ let x = 1
++ endfunc
++
++ let cmd =
++ \ 'some '
++ \ 'string'
++
++ " END_INDENT
++
++ " START_INDENT
++ " INDENT_EXE let g:vim_indent_cont = 6
++
++ let cmd =
++ \ 'some '
++ \ 'string'
++
++ " END_INDENT
++
++ " START_INDENT
++ " INDENT_EXE unlet g:vim_indent_cont
++ " INDENT_AT this-line
++ func Some()
++ let f = x " this-line
++ endfunc
++ " END_INDENT
++
++ " START_INDENT
++ " INDENT_NEXT next-line
++ func Some()
++ " next-line
++ let f = x
++ endfunc
++ " END_INDENT
++
++ " START_INDENT
++ " INDENT_PREV prev-line
++ func Some()
++ let f = x
++ " prev-line
++ endfunc
++ " END_INDENT
+*** ../vim-8.1.0495/Filelist 2018-09-19 22:00:26.150988737 +0200
+--- Filelist 2018-10-25 15:16:32.851409638 +0200
+***************
+*** 691,696 ****
+--- 691,701 ----
+ runtime/compiler/README.txt \
+ runtime/indent/*.vim \
+ runtime/indent/README.txt \
++ runtime/indent/Makefile \
++ runtime/indent/testdir/README.txt \
++ runtime/indent/testdir/*.vim \
++ runtime/indent/testdir/*.in \
++ runtime/indent/testdir/*.ok \
+ runtime/ftplugin/*.vim \
+ runtime/ftplugin/logtalk.dict \
+ runtime/ftplugin/README.txt \
+*** ../vim-8.1.0495/src/version.c 2018-10-25 13:31:33.833906872 +0200
+--- src/version.c 2018-10-25 16:50:35.800917806 +0200
+***************
+*** 794,795 ****
+--- 794,797 ----
+ { /* Add new patch number below this line */
++ /**/
++ 496,
+ /**/
+
+--
+God made the integers; all else is the work of Man.
+ -- Kronecker
+
+ /// 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 ///