From 9efa96eb9431e43e183a73f91db4c84126880a15 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Sun, 4 Jul 2021 08:27:55 -0400 Subject: fix: cflags parser: no absolute path for '-include' (#3775) Both '-include' and '-imacros' take a file as an argument that will then be searched in the include path like a regular '#include "..."' statement in a source file. As such, they should not have their path converted to an absolute path. Signed-off-by: Michael Jeanson --- autoload/ale/c.vim | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'autoload') diff --git a/autoload/ale/c.vim b/autoload/ale/c.vim index ec9d4482..e729aec8 100644 --- a/autoload/ale/c.vim +++ b/autoload/ale/c.vim @@ -151,8 +151,6 @@ function! ale#c#ParseCFlags(path_prefix, should_quote, raw_arguments) abort \ || stridx(l:option, '-isystem') == 0 \ || stridx(l:option, '-idirafter') == 0 \ || stridx(l:option, '-iframework') == 0 - \ || stridx(l:option, '-include') == 0 - \ || stridx(l:option, '-imacros') == 0 if stridx(l:option, '-I') == 0 && l:option isnot# '-I' let l:arg = join(split(l:option, '\zs')[2:], '') let l:option = '-I' @@ -182,6 +180,7 @@ function! ale#c#ParseCFlags(path_prefix, should_quote, raw_arguments) abort " Options that have an argument (always separate) elseif l:option is# '-iprefix' || stridx(l:option, '-iwithprefix') == 0 \ || l:option is# '-isysroot' || l:option is# '-imultilib' + \ || l:option is# '-include' || l:option is# '-imacros' call add(l:items, [0, l:option]) call add(l:items, [0, l:arguments[l:option_index]]) let l:option_index = l:option_index + 1 -- cgit v1.2.3