updated for version 7.3.336
Problem: When a tags file specifies an encoding different from 'enc' it
may hang and using a pattern doesn't work.
Solution: Convert the whole line. Continue reading the header after the
SORT tag. Add test83. (Yukihiro Nakadaira)
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index 55d13e4..ba261ab 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -29,7 +29,7 @@
test66.out test67.out test68.out test69.out test70.out \
test71.out test72.out test73.out test74.out test75.out \
test76.out test77.out test78.out test79.out test80.out \
- test81.out test82.out
+ test81.out test82.out test83.out
.SUFFIXES: .in .out
@@ -131,3 +131,4 @@
test80.out: test80.in
test81.out: test81.in
test82.out: test82.in
+test83.out: test83.in
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index ba77d22..9d08173 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -29,7 +29,7 @@
test42.out test52.out test65.out test66.out test67.out \
test68.out test69.out test71.out test72.out test73.out \
test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out
+ test79.out test80.out test81.out test82.out test83.out
SCRIPTS32 = test50.out test70.out
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index d844c39..5f9dbdd 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -49,7 +49,7 @@
test42.out test52.out test65.out test66.out test67.out \
test68.out test69.out test71.out test72.out test73.out \
test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out
+ test79.out test80.out test81.out test82.out test83.out
SCRIPTS32 = test50.out test70.out
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index bd11d7f..363bede 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -29,7 +29,7 @@
test66.out test67.out test68.out test69.out test70.out \
test71.out test72.out test73.out test74.out test75.out \
test76.out test77.out test78.out test79.out test80.out \
- test81.out test82.out
+ test81.out test82.out test83.out
.SUFFIXES: .in .out
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index fe062c3..4e6ae63 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -76,7 +76,7 @@
test66.out test67.out test68.out test69.out \
test71.out test72.out test74.out test75.out test76.out \
test77.out test78.out test79.out test80.out test81.out \
- test82.out
+ test82.out test83.out
# Known problems:
# Test 30: a problem around mac format - unknown reason
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index c776c15..a1cc22d 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -26,7 +26,7 @@
test64.out test65.out test66.out test67.out test68.out \
test69.out test70.out test71.out test72.out test73.out \
test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out
+ test79.out test80.out test81.out test82.out test83.out
SCRIPTS_GUI = test16.out
@@ -72,7 +72,7 @@
fi \
else echo $* NO OUTPUT >>test.log; \
fi"
- -rm -rf X* test.ok viminfo
+# -rm -rf X* test.ok viminfo
test49.out: test49.vim
diff --git a/src/testdir/test83-tags2 b/src/testdir/test83-tags2
new file mode 100644
index 0000000..7f9f21b
--- /dev/null
+++ b/src/testdir/test83-tags2
@@ -0,0 +1,2 @@
+!_TAG_FILE_ENCODING cp932 //
+`ab Xtags2.txt /`ab
diff --git a/src/testdir/test83-tags3 b/src/testdir/test83-tags3
new file mode 100644
index 0000000..0cb6591
--- /dev/null
+++ b/src/testdir/test83-tags3
@@ -0,0 +1,102 @@
+!_TAG_FILE_SORTED 1 //
+!_TAG_FILE_ENCODING cp932 //
+abc1 Xtags3.txt /`ab
+abc2 Xtags3.txt /`ab
+abc3 Xtags3.txt /`ab
+abc4 Xtags3.txt /`ab
+abc5 Xtags3.txt /`ab
+abc6 Xtags3.txt /`ab
+abc7 Xtags3.txt /`ab
+abc8 Xtags3.txt /`ab
+abc9 Xtags3.txt /`ab
+abc10 Xtags3.txt /`ab
+abc11 Xtags3.txt /`ab
+abc12 Xtags3.txt /`ab
+abc13 Xtags3.txt /`ab
+abc14 Xtags3.txt /`ab
+abc15 Xtags3.txt /`ab
+abc16 Xtags3.txt /`ab
+abc17 Xtags3.txt /`ab
+abc18 Xtags3.txt /`ab
+abc19 Xtags3.txt /`ab
+abc20 Xtags3.txt /`ab
+abc21 Xtags3.txt /`ab
+abc22 Xtags3.txt /`ab
+abc23 Xtags3.txt /`ab
+abc24 Xtags3.txt /`ab
+abc25 Xtags3.txt /`ab
+abc26 Xtags3.txt /`ab
+abc27 Xtags3.txt /`ab
+abc28 Xtags3.txt /`ab
+abc29 Xtags3.txt /`ab
+abc30 Xtags3.txt /`ab
+abc31 Xtags3.txt /`ab
+abc32 Xtags3.txt /`ab
+abc33 Xtags3.txt /`ab
+abc34 Xtags3.txt /`ab
+abc35 Xtags3.txt /`ab
+abc36 Xtags3.txt /`ab
+abc37 Xtags3.txt /`ab
+abc38 Xtags3.txt /`ab
+abc39 Xtags3.txt /`ab
+abc40 Xtags3.txt /`ab
+abc41 Xtags3.txt /`ab
+abc42 Xtags3.txt /`ab
+abc43 Xtags3.txt /`ab
+abc44 Xtags3.txt /`ab
+abc45 Xtags3.txt /`ab
+abc46 Xtags3.txt /`ab
+abc47 Xtags3.txt /`ab
+abc48 Xtags3.txt /`ab
+abc49 Xtags3.txt /`ab
+abc50 Xtags3.txt /`ab
+abc51 Xtags3.txt /`ab
+abc52 Xtags3.txt /`ab
+abc53 Xtags3.txt /`ab
+abc54 Xtags3.txt /`ab
+abc55 Xtags3.txt /`ab
+abc56 Xtags3.txt /`ab
+abc57 Xtags3.txt /`ab
+abc58 Xtags3.txt /`ab
+abc59 Xtags3.txt /`ab
+abc60 Xtags3.txt /`ab
+abc61 Xtags3.txt /`ab
+abc62 Xtags3.txt /`ab
+abc63 Xtags3.txt /`ab
+abc64 Xtags3.txt /`ab
+abc65 Xtags3.txt /`ab
+abc66 Xtags3.txt /`ab
+abc67 Xtags3.txt /`ab
+abc68 Xtags3.txt /`ab
+abc69 Xtags3.txt /`ab
+abc70 Xtags3.txt /`ab
+abc71 Xtags3.txt /`ab
+abc72 Xtags3.txt /`ab
+abc73 Xtags3.txt /`ab
+abc74 Xtags3.txt /`ab
+abc75 Xtags3.txt /`ab
+abc76 Xtags3.txt /`ab
+abc77 Xtags3.txt /`ab
+abc78 Xtags3.txt /`ab
+abc79 Xtags3.txt /`ab
+abc80 Xtags3.txt /`ab
+abc81 Xtags3.txt /`ab
+abc82 Xtags3.txt /`ab
+abc83 Xtags3.txt /`ab
+abc84 Xtags3.txt /`ab
+abc85 Xtags3.txt /`ab
+abc86 Xtags3.txt /`ab
+abc87 Xtags3.txt /`ab
+abc88 Xtags3.txt /`ab
+abc89 Xtags3.txt /`ab
+abc90 Xtags3.txt /`ab
+abc91 Xtags3.txt /`ab
+abc92 Xtags3.txt /`ab
+abc93 Xtags3.txt /`ab
+abc94 Xtags3.txt /`ab
+abc95 Xtags3.txt /`ab
+abc96 Xtags3.txt /`ab
+abc97 Xtags3.txt /`ab
+abc98 Xtags3.txt /`ab
+abc99 Xtags3.txt /`ab
+abc100 Xtags3.txt /`ab
diff --git a/src/testdir/test83.in b/src/testdir/test83.in
new file mode 100644
index 0000000..300ddf1
--- /dev/null
+++ b/src/testdir/test83.in
@@ -0,0 +1,76 @@
+Tests for tag search with !_TAG_FILE_ENCODING.
+
+STARTTEST
+:so mbyte.vim
+:if !has('iconv')
+: e! test.ok
+: w! test.out
+: qa!
+:endif
+:set enc=utf8
+
+:/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
+:/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
+:/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
+:/^tags1$/+1,/^tags1-end$/-1w! Xtags1
+
+ggdG
+
+:call setline('.', 'Results of test83')
+
+:" case1:
+:new
+:set tags=Xtags1
+:let v:errmsg = ''
+:tag abcdefghijklmnopqrs
+:if v:errmsg =~ 'E426:' || getline('.') != 'abcdefghijklmnopqrs'
+: close
+: put ='case1: failed'
+:else
+: close
+: put ='case1: ok'
+:endif
+
+:" case2:
+:new
+:set tags=test83-tags2
+:let v:errmsg = ''
+:tag /.BC
+:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
+: close
+: put ='case2: failed'
+:else
+: close
+: put ='case2: ok'
+:endif
+
+:" case3:
+:new
+:set tags=test83-tags3
+:let v:errmsg = ''
+:tag abc50
+:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
+: close
+: put ='case3: failed'
+:else
+: close
+: put ='case3: ok'
+:endif
+:close
+
+:wq! test.out
+ENDTEST
+
+text for tags1
+abcdefghijklmnopqrs
+
+text for tags2
+ABC
+
+text for tags3
+ABC
+
+tags1
+!_TAG_FILE_ENCODING utf-8 //
+abcdefghijklmnopqrs Xtags1.txt /abcdefghijklmnopqrs
+tags1-end
diff --git a/src/testdir/test83.ok b/src/testdir/test83.ok
new file mode 100644
index 0000000..61a1a04
--- /dev/null
+++ b/src/testdir/test83.ok
@@ -0,0 +1,4 @@
+Results of test83
+case1: ok
+case2: ok
+case3: ok