mirror of
https://github.com/vim/vim.git
synced 2025-07-24 10:45:12 -04:00
patch 8.2.4512: the find_tags_in_file() function is much too long
Problem: The find_tags_in_file() function is much too long. Solution: Refactor into multiple smaller functions. (Yegappan Lakshmanan, closes #9892)
This commit is contained in:
parent
c12dc47b8f
commit
df1bbea436
2
Filelist
2
Filelist
@ -198,7 +198,6 @@ SRC_ALL = \
|
|||||||
src/testdir/view_util.vim \
|
src/testdir/view_util.vim \
|
||||||
src/testdir/test[0-9]*.ok \
|
src/testdir/test[0-9]*.ok \
|
||||||
src/testdir/test77a.ok \
|
src/testdir/test77a.ok \
|
||||||
src/testdir/test83-tags? \
|
|
||||||
src/testdir/test77a.com \
|
src/testdir/test77a.com \
|
||||||
src/testdir/test_*.vim \
|
src/testdir/test_*.vim \
|
||||||
src/testdir/python2/*.py \
|
src/testdir/python2/*.py \
|
||||||
@ -1000,6 +999,7 @@ LANG_GEN = \
|
|||||||
runtime/doc/*-tr.1 \
|
runtime/doc/*-tr.1 \
|
||||||
runtime/doc/*-tr.UTF-8.1 \
|
runtime/doc/*-tr.UTF-8.1 \
|
||||||
runtime/lang/README.txt \
|
runtime/lang/README.txt \
|
||||||
|
runtime/lang/Makefile \
|
||||||
runtime/lang/menu_*.vim \
|
runtime/lang/menu_*.vim \
|
||||||
runtime/keymap/README.txt \
|
runtime/keymap/README.txt \
|
||||||
runtime/keymap/*.vim \
|
runtime/keymap/*.vim \
|
||||||
|
@ -3010,7 +3010,6 @@ shadow: runtime pixmaps
|
|||||||
../../testdir/sautest \
|
../../testdir/sautest \
|
||||||
../../testdir/samples \
|
../../testdir/samples \
|
||||||
../../testdir/dumps \
|
../../testdir/dumps \
|
||||||
../../testdir/test83-tags? \
|
|
||||||
../../testdir/*.ok \
|
../../testdir/*.ok \
|
||||||
../../testdir/testluaplugin \
|
../../testdir/testluaplugin \
|
||||||
.
|
.
|
||||||
|
@ -8106,8 +8106,7 @@ hgr_search_file(
|
|||||||
|
|
||||||
// Convert a line if 'encoding' is not utf-8 and
|
// Convert a line if 'encoding' is not utf-8 and
|
||||||
// the line contains a non-ASCII character.
|
// the line contains a non-ASCII character.
|
||||||
if (p_vc->vc_type != CONV_NONE
|
if (p_vc->vc_type != CONV_NONE && has_non_ascii(IObuff))
|
||||||
&& has_non_ascii(IObuff))
|
|
||||||
{
|
{
|
||||||
line = string_convert(p_vc, IObuff, NULL);
|
line = string_convert(p_vc, IObuff, NULL);
|
||||||
if (line == NULL)
|
if (line == NULL)
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
!_TAG_FILE_ENCODING cp932 //
|
|
||||||
‚`‚a‚b Xtags2.txt /‚`‚a‚b
|
|
@ -1,102 +0,0 @@
|
|||||||
!_TAG_FILE_SORTED 1 //
|
|
||||||
!_TAG_FILE_ENCODING cp932 //
|
|
||||||
abc1 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc2 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc3 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc4 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc5 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc6 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc7 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc8 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc9 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc10 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc11 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc12 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc13 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc14 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc15 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc16 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc17 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc18 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc19 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc20 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc21 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc22 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc23 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc24 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc25 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc26 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc27 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc28 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc29 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc30 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc31 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc32 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc33 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc34 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc35 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc36 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc37 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc38 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc39 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc40 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc41 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc42 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc43 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc44 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc45 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc46 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc47 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc48 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc49 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc50 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc51 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc52 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc53 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc54 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc55 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc56 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc57 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc58 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc59 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc60 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc61 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc62 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc63 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc64 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc65 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc66 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc67 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc68 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc69 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc70 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc71 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc72 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc73 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc74 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc75 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc76 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc77 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc78 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc79 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc80 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc81 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc82 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc83 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc84 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc85 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc86 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc87 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc88 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc89 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc90 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc91 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc92 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc93 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc94 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc95 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc96 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc97 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc98 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc99 Xtags3.txt /‚`‚a‚b
|
|
||||||
abc100 Xtags3.txt /‚`‚a‚b
|
|
@ -230,7 +230,6 @@ func Test_tag_symbolic()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Tests for tag search with !_TAG_FILE_ENCODING.
|
" Tests for tag search with !_TAG_FILE_ENCODING.
|
||||||
" Depends on the test83-tags2 and test83-tags3 files.
|
|
||||||
func Test_tag_file_encoding()
|
func Test_tag_file_encoding()
|
||||||
if has('vms')
|
if has('vms')
|
||||||
throw 'Skipped: does not work on VMS'
|
throw 'Skipped: does not work on VMS'
|
||||||
@ -262,18 +261,31 @@ func Test_tag_file_encoding()
|
|||||||
|
|
||||||
" case2:
|
" case2:
|
||||||
new
|
new
|
||||||
set tags=test83-tags2
|
let content = ['!_TAG_FILE_ENCODING cp932 //',
|
||||||
|
\ "\x82`\x82a\x82b Xtags2.txt /\x82`\x82a\x82b"]
|
||||||
|
call writefile(content, 'Xtags')
|
||||||
|
set tags=Xtags
|
||||||
tag /.BC
|
tag /.BC
|
||||||
call assert_equal('Xtags2.txt', expand('%:t'))
|
call assert_equal('Xtags2.txt', expand('%:t'))
|
||||||
call assert_equal('ABC', getline('.'))
|
call assert_equal('ABC', getline('.'))
|
||||||
|
call delete('Xtags')
|
||||||
close
|
close
|
||||||
|
|
||||||
" case3:
|
" case3:
|
||||||
new
|
new
|
||||||
set tags=test83-tags3
|
let contents = [
|
||||||
|
\ "!_TAG_FILE_SORTED 1 //",
|
||||||
|
\ "!_TAG_FILE_ENCODING cp932 //"]
|
||||||
|
for i in range(1, 100)
|
||||||
|
call add(contents, 'abc' .. i
|
||||||
|
\ .. " Xtags3.txt /\x82`\x82a\x82b")
|
||||||
|
endfor
|
||||||
|
call writefile(contents, 'Xtags')
|
||||||
|
set tags=Xtags
|
||||||
tag abc50
|
tag abc50
|
||||||
call assert_equal('Xtags3.txt', expand('%:t'))
|
call assert_equal('Xtags3.txt', expand('%:t'))
|
||||||
call assert_equal('ABC', getline('.'))
|
call assert_equal('ABC', getline('.'))
|
||||||
|
call delete('Xtags')
|
||||||
close
|
close
|
||||||
|
|
||||||
set tags&
|
set tags&
|
||||||
@ -324,6 +336,7 @@ func Test_tagjump_etags()
|
|||||||
\ ], 'Xtags2')
|
\ ], 'Xtags2')
|
||||||
tag main
|
tag main
|
||||||
call assert_equal(2, line('.'))
|
call assert_equal(2, line('.'))
|
||||||
|
call assert_fails('tag bar', 'E426:')
|
||||||
|
|
||||||
" corrupted tag line
|
" corrupted tag line
|
||||||
call writefile([
|
call writefile([
|
||||||
@ -349,6 +362,27 @@ func Test_tagjump_etags()
|
|||||||
\ ], 'Xtags')
|
\ ], 'Xtags')
|
||||||
call assert_fails('tag foo', 'E431:')
|
call assert_fails('tag foo', 'E431:')
|
||||||
|
|
||||||
|
" end of file after a CTRL-L line
|
||||||
|
call writefile([
|
||||||
|
\ "\x0c",
|
||||||
|
\ "Xmain.c,64",
|
||||||
|
\ "void foo() {}\x7ffoo\x011,0",
|
||||||
|
\ "\x0c",
|
||||||
|
\ ], 'Xtags')
|
||||||
|
call assert_fails('tag main', 'E426:')
|
||||||
|
|
||||||
|
" error in an included tags file
|
||||||
|
call writefile([
|
||||||
|
\ "\x0c",
|
||||||
|
\ "Xtags2,include"
|
||||||
|
\ ], 'Xtags')
|
||||||
|
call writefile([
|
||||||
|
\ "\x0c",
|
||||||
|
\ "Xmain.c,64",
|
||||||
|
\ "void foo() {}",
|
||||||
|
\ ], 'Xtags2')
|
||||||
|
call assert_fails('tag foo', 'E431:')
|
||||||
|
|
||||||
call delete('Xtags')
|
call delete('Xtags')
|
||||||
call delete('Xtags2')
|
call delete('Xtags2')
|
||||||
call delete('Xmain.c')
|
call delete('Xmain.c')
|
||||||
@ -1432,6 +1466,11 @@ func Test_tagfile_errors()
|
|||||||
\ "foo Xfile 1"], 'Xtags')
|
\ "foo Xfile 1"], 'Xtags')
|
||||||
call assert_fails('tag foo', 'E431:')
|
call assert_fails('tag foo', 'E431:')
|
||||||
|
|
||||||
|
" file name and search pattern are not separated by a tab
|
||||||
|
call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//",
|
||||||
|
\ "foo\tXfile 1;"], 'Xtags')
|
||||||
|
call assert_fails('tag foo', 'E431:')
|
||||||
|
|
||||||
call delete('Xtags')
|
call delete('Xtags')
|
||||||
call delete('Xfile')
|
call delete('Xfile')
|
||||||
set tags&
|
set tags&
|
||||||
|
@ -754,6 +754,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4512,
|
||||||
/**/
|
/**/
|
||||||
4511,
|
4511,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user