view src/testdir/test83.in @ 11424:328a9ee98fb2 v8.0.0596

patch 8.0.0596: crash when complete() called after complete_add() commit https://github.com/vim/vim/commit/4475b623960671898dac6a72b13a8d140402afa6 Author: Bram Moolenaar <Bram@vim.org> Date: Mon May 1 20:46:52 2017 +0200 patch 8.0.0596: crash when complete() called after complete_add() Problem: Crash when complete() is called after complete_add() in 'completefunc'. (Lifepillar) Solution: Bail out if compl_pattern is NULL. (closes #1668) Also avoid using freed memory.
author Christian Brabandt <cb@256bit.org>
date Mon, 01 May 2017 21:00:04 +0200
parents bc269cf15ccd
children
line wrap: on
line source

Tests for tag search with !_TAG_FILE_ENCODING.

STARTTEST
:so mbyte.vim
:set enc=utf8
:if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"
: e! test.ok
: w! test.out
: qa!
:endif
:
:/^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