On Wed, Oct 07, 2020 at 11:12:25PM +0000, Nícolas F. R. A. Prado wrote: > While Sphinx 2 used a single c:type role for struct, union, enum and > typedef, Sphinx 3 uses a specific role for each one. > To keep backward compatibility, detect the Sphinx version and use the > correct roles for that version. > > Also, Sphinx 3 is more strict with its C domain and generated warnings, > exposing issues in the parsing. > To fix the warnings, make the C regexes use ASCII, ensure the > expressions only match the beginning of words and skip trying to > cross-reference C reserved words. Thank you for doing this! I have a feature request ... could you automarkup NULL as being :c:macro? Or maybe just anything matching \<[[:upper:]_[:digit:]]*\> (i may have my regex syntax confused ... a word composed of any arrangement of upper-case, digits and underscores.)