view src/testdir/test105.in @ 8708:31f9fa8e1532 v7.4.1643

commit https://github.com/vim/vim/commit/d4caf5c16a9f1c9477d426e58d8d3dc47ab5f066 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Mar 24 19:14:35 2016 +0100 patch 7.4.1643 Problem: Terminating file name has side effects. Solution: Restore the character. (mostly by James McCoy, closes https://github.com/vim/vim/issues/713)
author Christian Brabandt <cb@256bit.org>
date Thu, 24 Mar 2016 19:15:09 +0100
parents 8af6e33e4d4c
children
line wrap: on
line source

Test filename modifiers     vim: set ft=vim :

STARTTEST
:source small.vim
:%delete _
:set shell=sh
:set shellslash
:let tab="\t"
:command -nargs=1 Put :let expr=<q-args> | $put =expr.tab.strtrans(string(eval(expr)))
:let $HOME=fnamemodify('.', ':p:h:h')
:Put fnamemodify('.',              ':p'      )[-1:]
:Put fnamemodify('.',              ':p:h'    )[-1:]
:Put fnamemodify('test.out',       ':p'      )[-1:]
:Put fnamemodify('test.out',       ':.'      )
:Put fnamemodify('../testdir/a',   ':.'      )
:Put fnamemodify('test.out',       ':~'      )
:Put fnamemodify('../testdir/a',   ':~'      )
:Put fnamemodify('../testdir/a',   ':t'      )
:Put fnamemodify('.',              ':p:t'    )
:Put fnamemodify('test.out',       ':p:t'    )
:Put fnamemodify('test.out',       ':p:e'    )
:Put fnamemodify('test.out',       ':p:t:e'  )
:Put fnamemodify('abc.fb2.tar.gz', ':r'      )
:Put fnamemodify('abc.fb2.tar.gz', ':r:r'    )
:Put fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )
:Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(testdir/.*\)', '\1', '')
:Put fnamemodify('abc.fb2.tar.gz', ':e'      )
:Put fnamemodify('abc.fb2.tar.gz', ':e:e'    )
:Put fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )
:Put fnamemodify('abc.fb2.tar.gz', ':e:e:e:e')
:Put fnamemodify('abc.fb2.tar.gz', ':e:e:r'  )
:Put fnamemodify('abc def',        ':S'      )
:Put fnamemodify('abc" "def',      ':S'      )
:Put fnamemodify('abc"%"def',      ':S'      )
:Put fnamemodify('abc'' ''def',    ':S'      )
:Put fnamemodify('abc''%''def',    ':S'      )
:Put fnamemodify("abc\ndef",       ':S'      )
:Put expand('%:r:S') == shellescape(expand('%:r'))
:Put join([expand('%:r'), expand('%:r:S'), expand('%')], ',')
:set shell=tcsh
:Put fnamemodify("abc\ndef",       ':S'      )
:$put ='vim: ts=8'
:1 delete _
:w! test.out
:qa!
ENDTEST