Mercurial > vim
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