Mercurial > vim
view runtime/syntax/fetchmail.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 | 03e3b0034e31 |
children |
line wrap: on
line source
" Vim syntax file " Language: fetchmail(1) RC File " Maintainer: Doug Kearns <dougkearns@gmail.com> " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2022 Jul 02 " Version 6.4.3 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn keyword fetchmailTodo contained FIXME TODO XXX NOTE syn region fetchmailComment start='#' end='$' contains=fetchmailTodo,@Spell syn match fetchmailNumber display '\<\d\+\>' syn region fetchmailString start=+"+ skip=+\\\\\|\\"+ end=+"+ \ contains=fetchmailStringEsc syn region fetchmailString start=+'+ skip=+\\\\\|\\'+ end=+'+ \ contains=fetchmailStringEsc syn match fetchmailStringEsc contained '\\\([ntb]\|0\d*\|x\x\+\)' syn region fetchmailKeyword transparent matchgroup=fetchmailKeyword \ start='\<poll\|skip\|defaults\>' \ end='\<poll\|skip\|defaults\>' \ contains=ALLBUT,fetchmailOptions,fetchmailSet syn keyword fetchmailServerOpts contained via proto[col] local[domains] port \ service auth[enticate] timeout envelope \ qvirtual aka interface monitor plugin plugout \ dns checkalias uidl interval tracepolls \ principal esmtpname esmtppassword " removed in 6.3.0 syn keyword fetchmailServerOpts contained netsec syn match fetchmailServerOpts contained '\<bad-header\>' syn match fetchmailServerOpts contained '\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)' syn keyword fetchmailUserOpts contained user[name] is to pass[word] ssl \ sslcert sslcertck sslcertfile sslcertpath \ sslfingerprint sslkey sslproto folder \ smtphost fetchdomains smtpaddress smtpname \ antispam mda bsmtp preconnect postconnect \ keep flush limitflush fetchall rewrite \ stripcr forcecr pass8bits dropstatus \ dropdelivered mimedecode idle limit warnings \ batchlimit fetchlimit fetchsizelimit \ fastuidl expunge properties \ sslcommonname syn match fetchmailUserOpts contained '\<no\_s\+\(sslcertck\|keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|idle\)' syn keyword fetchmailSpecial contained here there syn keyword fetchmailNoise and with has wants options syn match fetchmailNoise display '[:;,]' syn keyword fetchmailSet nextgroup=fetchmailOptions skipwhite skipnl set syn keyword fetchmailOptions daemon postmaster bouncemail spambounce \ softbounce logfile pidfile idfile syslog properties syn match fetchmailOptions '\<no\_s\+\(bouncemail\|spambounce\|softbounce\|syslog\)' hi def link fetchmailComment Comment hi def link fetchmailTodo Todo hi def link fetchmailNumber Number hi def link fetchmailString String hi def link fetchmailStringEsc SpecialChar hi def link fetchmailKeyword Keyword hi def link fetchmailServerOpts Identifier hi def link fetchmailUserOpts Identifier hi def link fetchmailSpecial Special hi def link fetchmailSet Keyword hi def link fetchmailOptions Identifier let b:current_syntax = "fetchmail" let &cpo = s:cpo_save unlet s:cpo_save