Mercurial > vim
view runtime/syntax/abc.vim @ 34511:5397ce113043 v9.1.0161
patch 9.1.0161: expand() removes slash after env variable that ends with colon
Commit: https://github.com/vim/vim/commit/13a014452a7a020a119ac555a690c65b41f3126d
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat Mar 9 17:44:46 2024 +0100
patch 9.1.0161: expand() removes slash after env variable that ends with colon
Problem: expand() removes a slash after an environment variable that
ends with a colon on Windows.
Solution: Check the correct char for a colon (zeertzjq)
closes: #14161
Note: Vim still removes the path-separator at the end, if another path separator
follows directly after it, e.g. on:
```
echo $FOO='/usr/'
echo expand('$FOO/bar') == '/usr/bar'
```
see:
,----[ misc1.c:1630 ]
| // if var[] ends in a path separator and tail[] starts
| // with it, skip a character
| if (after_pathsep(dst, dst + c)
| #if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA)
| && (dst == save_dst || dst[-1] != ':')
| #endif
| && vim_ispathsep(*tail))
| ++tail;
`----
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 09 Mar 2024 18:15:02 +0100 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: abc music notation language " Maintainer: James Allwright <J.R.Allwright@westminster.ac.uk> " URL: http://perun.hscs.wmin.ac.uk/~jra/vim/syntax/abc.vim " Last Change: 27th April 2001 " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " tags syn region abcGuitarChord start=+"[A-G]+ end=+"+ contained syn match abcNote "z[1-9]*[0-9]*" contained syn match abcNote "z[1-9]*[0-9]*/[248]\=" contained syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*" contained syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*/[248]\=" contained syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*" contained syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*/[248]\=" contained syn match abcBar "|" contained syn match abcBar "[:|][:|]" contained syn match abcBar ":|2" contained syn match abcBar "|1" contained syn match abcBar "\[[12]" contained syn match abcTuple "([1-9]\+:\=[0-9]*:\=[0-9]*" contained syn match abcBroken "<\|<<\|<<<\|>\|>>\|>>>" contained syn match abcTie "-" syn match abcHeadField "^[A-EGHIK-TVWXZ]:.*$" contained syn match abcBodyField "^[KLMPQWVw]:.*$" contained syn region abcHeader start="^X:" end="^K:.*$" contained contains=abcHeadField,abcComment keepend syn region abcTune start="^X:" end="^ *$" contains=abcHeader,abcComment,abcBar,abcNote,abcBodyField,abcGuitarChord,abcTuple,abcBroken,abcTie syn match abcComment "%.*$" " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link abcComment Comment hi def link abcHeadField Type hi def link abcBodyField Special hi def link abcBar Statement hi def link abcTuple Statement hi def link abcBroken Statement hi def link abcTie Statement hi def link abcGuitarChord Identifier hi def link abcNote Constant let b:current_syntax = "abc" " vim: ts=4