Mercurial > vim
view src/testdir/test17.in @ 9185:70d3337ff173 v7.4.1876
commit https://github.com/vim/vim/commit/a0055ad3a789b8eeb0c983d8a18d4bcaeaf456b8
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jun 2 18:37:05 2016 +0200
patch 7.4.1876
Problem: Typing "k" at the hit-enter prompt has no effect.
Solution: Don't assume recursive use of the prompt if a character was typed.
(Hirohito Higashi)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 02 Jun 2016 18:45:04 +0200 |
parents | bc269cf15ccd |
children | 05e7d084c6c2 |
line wrap: on
line source
Tests for: - "gf" on ${VAR}, - ":checkpath!" with various 'include' settings. STARTTEST :so small.vim :if has("ebcdic") : set isfname=@,240-249,/,.,-,_,+,,,$,:,~,{,} :else : set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,} :endif :function! DeleteDirectory(dir) : if has("win16") || has("win32") || has("win64") || has("dos16") || has("dos32") : exec "silent !rmdir /Q /S " . a:dir : else : exec "silent !rm -rf " . a:dir : endif :endfun :if has("unix") :let $CDIR = "." /CDIR :else :if has("amiga") :let $TDIR = "/testdir" :else :let $TDIR = "." :endif /TDIR :endif :" Dummy writing for making that sure gf doesn't fail even if the current :" file is modified. It can be occurred when executing the following command :" directly on Windows without fixing the 'fileformat': :" > nmake -f Make_dos.mak test17.out :w! test.out gf :set ff=unix :w! test.out :brewind ENDTEST ${CDIR}/test17a.in $TDIR/test17a.in STARTTEST :" check for 'include' without \zs or \ze :lang C :call delete("./Xbase.a") :call DeleteDirectory("Xdir1") :!mkdir Xdir1 :!mkdir "Xdir1/dir2" :e! Xdir1/dir2/foo.a i#include "bar.a": :w :e Xdir1/dir2/bar.a i#include "baz.a": :w :e Xdir1/dir2/baz.a i#include "foo.a": :w :e Xbase.a :set path=Xdir1/dir2 i#include <foo.a>: :w :redir! >>test.out :checkpath! :redir END :brewind ENDTEST STARTTEST :" check for 'include' with \zs and \ze :call delete("./Xbase.b") :call DeleteDirectory("Xdir1") :!mkdir Xdir1 :!mkdir "Xdir1/dir2" :let &include='^\s*%inc\s*/\zs[^/]\+\ze' :function! DotsToSlashes() : return substitute(v:fname, '\.', '/', 'g') . '.b' :endfunction :let &includeexpr='DotsToSlashes()' :e! Xdir1/dir2/foo.b i%inc /bar/: :w :e Xdir1/dir2/bar.b i%inc /baz/: :w :e Xdir1/dir2/baz.b i%inc /foo/: :w :e Xbase.b :set path=Xdir1/dir2 i%inc /foo/: :w :redir! >>test.out :checkpath! :redir END :brewind ENDTEST STARTTEST :" check for 'include' with \zs and no \ze :call delete("./Xbase.c") :call DeleteDirectory("Xdir1") :!mkdir Xdir1 :!mkdir "Xdir1/dir2" :let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze' :function! StripNewlineChar() : if v:fname =~ '\n$' : return v:fname[:-2] : endif : return v:fname :endfunction :let &includeexpr='StripNewlineChar()' :e! Xdir1/dir2/foo.c i%inc bar.c: :w :e Xdir1/dir2/bar.c i%inc baz.c: :w :e Xdir1/dir2/baz.c i%inc foo.c: :w :e Xdir1/dir2/FALSE.c i%inc foo.c: :w :e Xbase.c :set path=Xdir1/dir2 i%inc FALSE.c foo.c: :w :redir! >>test.out :checkpath! :redir END :brewind :" change "\" to "/" for Windows and fix 'fileformat' :e test.out :%s#\\#/#g :set ff& :w :q ENDTEST