def preprocess_next_line
return nil if @eof || (next_line = @lines.first).nil?
if next_line.include?('::') && (next_line.include?('if') || next_line.include?('endif')) && (match = next_line.match(REGEXP[:ifdef_macro]))
if next_line.start_with? '\\'
@next_line_preprocessed = true
@unescape_next_line = true
false
else
preprocess_conditional_inclusion(*match.captures)
end
elsif @skipping
advance
skip_comment_lines :include_blank_lines => true, :preprocess => false
preprocess_next_line.nil? ? nil : true
elsif next_line.include?('include::') && match = next_line.match(REGEXP[:include_macro])
if next_line.start_with? '\\'
@next_line_preprocessed = true
@unescape_next_line = true
false
else
preprocess_include(match[1], match[2].strip)
end
else
@next_line_preprocessed = true
false
end
end