summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0821
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0821')
-rw-r--r--data/vim/patches/8.1.0821252
1 files changed, 252 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0821 b/data/vim/patches/8.1.0821
new file mode 100644
index 000000000..83133c837
--- /dev/null
+++ b/data/vim/patches/8.1.0821
@@ -0,0 +1,252 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0821
+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.0821
+Problem: Xxd "usage" output and other arguments not tested.
+Solution: Add a test to trigger the usage output in various ways. Fix
+ uncovered problem.
+Files: src/testdir/test_xxd.vim, src/xxd/xxd.c
+
+
+*** ../vim-8.1.0820/src/testdir/test_xxd.vim 2019-01-09 23:00:58.001176090 +0100
+--- src/testdir/test_xxd.vim 2019-01-25 21:49:26.831963075 +0100
+***************
+*** 20,26 ****
+ func Test_xxd()
+ call PrepareBuffer(range(1,30))
+ set ff=unix
+! w XXDfile
+
+ " Test 1: simple, filter the result through xxd
+ let s:test = 1
+--- 20,26 ----
+ func Test_xxd()
+ call PrepareBuffer(range(1,30))
+ set ff=unix
+! w! XXDfile
+
+ " Test 1: simple, filter the result through xxd
+ let s:test = 1
+***************
+*** 39,53 ****
+ exe '%!' . s:xxd_cmd . ' -r'
+ call assert_equal(map(range(1,30), {v,c -> string(c)}), getline(1,'$'), s:Mess(s:test))
+
+! " Test 3: Skip the first 30 bytes
+ let s:test += 1
+! exe '%!' . s:xxd_cmd . ' -s 0x30 %'
+! call assert_equal(expected[3:], getline(1,'$'), s:Mess(s:test))
+
+ " Test 4: Skip the first 30 bytes
+ let s:test += 1
+! exe '%!' . s:xxd_cmd . ' -s -0x31 %'
+! call assert_equal(expected[2:], getline(1,'$'), s:Mess(s:test))
+
+ " Test 5: Print 120 bytes as continuous hexdump with 20 octets per line
+ let s:test += 1
+--- 39,57 ----
+ exe '%!' . s:xxd_cmd . ' -r'
+ call assert_equal(map(range(1,30), {v,c -> string(c)}), getline(1,'$'), s:Mess(s:test))
+
+! " Test 3: Skip the first 0x30 bytes
+ let s:test += 1
+! for arg in ['-s 0x30', '-s0x30', '-s+0x30', '-skip 0x030', '-seek 0x30', '-seek +0x30 --']
+! exe '%!' . s:xxd_cmd . ' ' . arg . ' %'
+! call assert_equal(expected[3:], getline(1,'$'), s:Mess(s:test))
+! endfor
+
+ " Test 4: Skip the first 30 bytes
+ let s:test += 1
+! for arg in ['-s -0x31', '-s-0x31']
+! exe '%!' . s:xxd_cmd . ' ' . arg . ' %'
+! call assert_equal(expected[2:], getline(1,'$'), s:Mess(s:test))
+! endfor
+
+ " Test 5: Print 120 bytes as continuous hexdump with 20 octets per line
+ let s:test += 1
+***************
+*** 56,62 ****
+ if has('win32') && !filereadable(fname)
+ let fname = '../../doc/xxd.1'
+ endif
+! exe '0r! ' . s:xxd_cmd . ' -l 120 -ps -c 20 ' . fname
+ $d
+ let expected = [
+ \ '2e54482058584420312022417567757374203139',
+--- 60,66 ----
+ if has('win32') && !filereadable(fname)
+ let fname = '../../doc/xxd.1'
+ endif
+! exe '0r! ' . s:xxd_cmd . ' -l 120 -ps -c20 ' . fname
+ $d
+ let expected = [
+ \ '2e54482058584420312022417567757374203139',
+***************
+*** 69,78 ****
+
+ " Test 6: Print the date from xxd.1
+ let s:test += 1
+! %d
+! exe '0r! ' . s:xxd_cmd . ' -s 0x36 -l 13 -c 13 ' . fname
+! $d
+! call assert_equal('00000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996', getline(1), s:Mess(s:test))
+
+ " Test 7: Print C include
+ let s:test += 1
+--- 73,84 ----
+
+ " Test 6: Print the date from xxd.1
+ let s:test += 1
+! for arg in ['-l 13', '-l13', '-len 13']
+! %d
+! exe '0r! ' . s:xxd_cmd . ' -s 0x36 -l 13 -cols 13 ' . fname
+! $d
+! call assert_equal('00000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996', getline(1), s:Mess(s:test))
+! endfor
+
+ " Test 7: Print C include
+ let s:test += 1
+***************
+*** 87,100 ****
+
+ " Test 8: Print C include capitalized
+ let s:test += 1
+! call writefile(['TESTabcd09'], 'XXDfile')
+! %d
+! exe '0r! ' . s:xxd_cmd . ' -i -C XXDfile'
+! $d
+! let expected = ['unsigned char XXDFILE[] = {',
+! \ ' 0x54, 0x45, 0x53, 0x54, 0x61, 0x62, 0x63, 0x64, 0x30, 0x39, 0x0a', '};',
+! \ 'unsigned int XXDFILE_LEN = 11;']
+! call assert_equal(expected, getline(1,'$'), s:Mess(s:test))
+
+ " Test 9: Create a file with containing a single 'A'
+ let s:test += 1
+--- 93,108 ----
+
+ " Test 8: Print C include capitalized
+ let s:test += 1
+! for arg in ['-C', '-capitalize']
+! call writefile(['TESTabcd09'], 'XXDfile')
+! %d
+! exe '0r! ' . s:xxd_cmd . ' -i ' . arg . ' XXDfile'
+! $d
+! let expected = ['unsigned char XXDFILE[] = {',
+! \ ' 0x54, 0x45, 0x53, 0x54, 0x61, 0x62, 0x63, 0x64, 0x30, 0x39, 0x0a', '};',
+! \ 'unsigned int XXDFILE_LEN = 11;']
+! call assert_equal(expected, getline(1,'$'), s:Mess(s:test))
+! endfor
+
+ " Test 9: Create a file with containing a single 'A'
+ let s:test += 1
+***************
+*** 110,115 ****
+--- 118,156 ----
+ call PrepareBuffer(readfile('XXDfile')[0])
+ call assert_equal('A', getline(1), s:Mess(s:test))
+ call delete('XXDfile')
++
++ " Test 10: group with 4 octets
++ let s:test += 1
++ for arg in ['-g 4', '-group 4', '-g4']
++ call writefile(['TESTabcd09'], 'XXDfile')
++ %d
++ exe '0r! ' . s:xxd_cmd . ' ' . arg . ' XXDfile'
++ $d
++ let expected = ['00000000: 54455354 61626364 30390a TESTabcd09.']
++ call assert_equal(expected, getline(1,'$'), s:Mess(s:test))
++ call delete('XXDfile')
++ endfor
++
++ " TODO:
++ " -o -offset
++
+ %d
+ bw!
+ endfunc
++
++ " Various ways with wrong arguments that trigger the usage output.
++ func Test_xxd_usage()
++ for arg in ['-c', '-g', '-o', '-s', '-l', '-X', 'one two three']
++ new
++ exe 'r! ' . s:xxd_cmd . ' ' . arg
++ call assert_match("Usage:", join(getline(1, 3)))
++ bwipe!
++ endfor
++ endfunc
++
++ func Test_xxd_version()
++ new
++ exe 'r! ' . s:xxd_cmd . ' -v'
++ call assert_match("xxd V1.10 .* by Juergen Weigert", join(getline(1, 3)))
++ bwipe!
++ endfunc
+*** ../vim-8.1.0820/src/xxd/xxd.c 2018-04-03 14:11:10.000000000 +0200
+--- src/xxd/xxd.c 2019-01-25 21:46:21.129278533 +0100
+***************
+*** 508,517 ****
+ }
+ else if (!STRNCMP(pp, "-c", 2))
+ {
+! if (pp[2] && STRNCMP("ols", pp + 2, 3))
+! cols = (int)strtol(pp + 2, NULL, 0);
+! else if (pp[2] && STRNCMP("apitalize", pp + 2, 9))
+ capitalize = 1;
+ else
+ {
+ if (!argv[2])
+--- 508,517 ----
+ }
+ else if (!STRNCMP(pp, "-c", 2))
+ {
+! if (pp[2] && !STRNCMP("apitalize", pp + 2, 9))
+ capitalize = 1;
++ else if (pp[2] && STRNCMP("ols", pp + 2, 3))
++ cols = (int)strtol(pp + 2, NULL, 0);
+ else
+ {
+ if (!argv[2])
+***************
+*** 523,529 ****
+ }
+ else if (!STRNCMP(pp, "-g", 2))
+ {
+! if (pp[2] && STRNCMP("group", pp + 2, 5))
+ octspergrp = (int)strtol(pp + 2, NULL, 0);
+ else
+ {
+--- 523,529 ----
+ }
+ else if (!STRNCMP(pp, "-g", 2))
+ {
+! if (pp[2] && STRNCMP("roup", pp + 2, 4))
+ octspergrp = (int)strtol(pp + 2, NULL, 0);
+ else
+ {
+*** ../vim-8.1.0820/src/version.c 2019-01-25 21:01:13.240877414 +0100
+--- src/version.c 2019-01-25 21:51:57.926996288 +0100
+***************
+*** 789,790 ****
+--- 789,792 ----
+ { /* Add new patch number below this line */
++ /**/
++ 821,
+ /**/
+
+--
+FATHER: Who are you?
+PRINCE: I'm ... your son ...
+FATHER: Not you.
+LAUNCELOT: I'm ... er ... Sir Launcelot, sir.
+ "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 ///