> for (i = 0; i < st->tokenIndex; i++) > { > + const tokenInfo *const t = st->token[i]; > + > + /* stop if we find the token used to generate the tag name, or > + * a name token in the middle yet not preceded by a scope > separator */ > + if ((t == nameToken || > + (t->type == nameToken->type && > + t->keyword == nameToken->keyword && > + t->lineNumber == nameToken->lineNumber && > + strcmp(vStringValue(t->name), > vStringValue(nameToken->name)) == 0)) || > + (t->type == TOKEN_NAME && seenType && > + (i > 0 && st->token[i - 1]->type != TOKEN_DOUBLE_COLON)))
ah, no, I was too quick :) I picked it on the webpage so it ain't github's fault this time, but no I used the version with the space. Your corrected example gives type `typename foo::a_type` (which looks more or less correct to my innocent eyes, except for the stripped `<>`, which I believe is an issue of what gets put in the statement's token list). --- Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/889/files#r50981463