From: Dale Weiler Date: Fri, 7 Nov 2014 07:01:17 +0000 (-0500) Subject: Don't emit whitespace when stringifying TOKEN_WHITE. X-Git-Tag: xonotic-v0.8.1~9^2~2 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=103e549615ffe6bcc31e8fc0ca888a55e21681d8;p=xonotic%2Fgmqcc.git Don't emit whitespace when stringifying TOKEN_WHITE. Other aspects of the preprocessor already skip whitespace leading up to a token. The only situation in which a TOKEN_WHITE can exist as part of the token stream during stringification, is when the whitespace is trailing after a token. This is situation is really only possible in the context of a macro argument. This behaviour is inconsistent. Consider the following FOO( space_before) FOO(space_after ) The former will reduce to "space_before" since the preprocessor will skip whitespace leading up to the token `space_before', while the latter will reduce to "space_after ". The C preprocessor doesn't preserve whitespace, so we won't either. This doesn't break any existing code. --- diff --git a/ftepp.c b/ftepp.c index 7b24c64..7947b91 100644 --- a/ftepp.c +++ b/ftepp.c @@ -703,9 +703,9 @@ static void ftepp_stringify_token(ftepp_t *ftepp, pptoken *token) ++ch; } break; - case TOKEN_WHITE: + /*case TOKEN_WHITE: ftepp_out(ftepp, " ", false); - break; + break;*/ case TOKEN_EOL: ftepp_out(ftepp, "\\n", false); break;