In runParserInNarrowedInputStream(): shouldn't more be guarded? Here the meat of the function is disabled with CTAGS_LIB, but not all.
What else do you think should be guarded? The rest seems to just manipulate the input file's MIO which shouldn't be a problem I think.