[[cpphs @ 2004-07-30 15:01:20 by malcolm] malcolm**20040730150120 For better compatibility with cpp, and because otherwise there are certain constructs that cannot be expressed, we no longer permit whitespace in a #define between the symbolname and an opening parenthesis, e.g. #define f (f' id) Previously, this was interpreted as a parametrised macro, with arguments in the parens, and no expansion. Now, the space indicates that this is a textual replacement, and the parenthesised expression is in fact the replacement. ] { hunk ./CHANGELOG 10 + * For better compatibility with cpp, and because otherwise + there are certain constructs that cannot be expressed, we no + longer permit whitespace in a #define between the + symbolname and an opening parenthesis, e.g. + #define f (f' id) + Previously, this was interpreted as a parametrised macro, + with arguments in the parens, and no expansion. Now, the space + indicates that this is a textual replacement, and the parenthesised + expression is in fact the replacement. + hunk ./HashDefine.hs 75 - define (sym:xs) = case skip xs of + define (sym:xs) = case {-skip-} xs of hunk ./HashDefine.hs 78 - { name=sym, replacement=chop ys } + { name=sym + , replacement=chop (skip ys) } hunk ./docs/index.html 150 +cpphs-0.6, release date 2004.0x.xx
+By HTTP: +.tar.gz, +.zip, +FreeBSD port. + + +

+Older versions: +

hunk ./docs/index.html 200 -Older versions: -

hunk ./docs/index.html 295 -

  • In a macro definition, whitespace is permitted between any of the - initial name/argument/bracket/comma tokens. (In cpp, there can be - no space between the name and the opening bracket.) }