A few bugs with C and C++ syntax highlighting:

1. In C mode, if c_no_c11 is set, then the highlighting of u8"foo" depends on 
c_no_cformat. If c_no_cformat is on, it gets highlighted even though u8"foo" is 
not a valid string literal pre-C11.

2. In C++ mode, if c_no_c11 is set, then (u8"foo") doesn't get highlighted.

3. In C++ mode, if c_no_c11 is not set, then the highlighting of u8"foo" 
depends on c_no_cformat. If c_no_cformat is off, it doesn't get highlighted 
regardless of whether cpp_no_cpp11 is set.

It's not hard to see where these bugs come from: the conditions for various 
"syn region cString" and "syn region cCppString" commands in c.vim seem very 
confused. I think, for instance, that someone who changed this file in the past 
mistakenly thought "cCppString" means "C++ string". But even still I'm at a 
loss to explain why the C++11 string literal definitions are conditioned upon 
c_no_cformat.

I'd like to submit a patch to tidy up this code so I can cleanly add support 
for highlighting C++11 user-defined literals (to come in a future patch).

https://gist.github.com/t3nsor/14aa2ceb43896476eefd

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui