1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
Version 0.7
-----------
* Enable the __FILE__, __LINE__, __DATE__, and __TIME__ specials, which
can be useful for creating DIY error messages.
Version 0.6
-----------
* Recognise and ignore the #pragma cpp directive.
* Fix beginning-of-file bug, where in --noline mode, a # cpp directive
at the top of the file appeared in the output.
* Fix chained parenthesised boolean exprs in #if, e.g.
#if ( foo ) && ( bar )
* Fix precedence in chained unparenthesised boolean exprs in #if, e.g.
#if foo && bar || baz && frob
* For better compatibility with cpp, and because otherwise
there are certain constructs that cannot be expressed, we no
longer permit whitespace in a <tt>#define</tt> 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.
Version 0.5
-----------
* Added a --version flag to report the version number.
* Renamed --stringise to --hashes, and use it to turn on ## catenation
as well.
* Bugfix for #if 1, previously taken as false.
* Bugfix for --nolines: it no longer adds extra spurious newlines.
* File inclusion now looks in the directory of the calling file.
* Failure to find an include file is now merely a warning to stderr
rather than an error.
* Added a --layout flag. Previously, line continuations in a macro
definition were always preserved in the output, permitting use
of the Haskell layout rule even inside a macro. The default is now
to remove line continuations for conformance with cpp, but the option
of using --layout is still possible.
Version 0.4
-----------
* New flag -Ofile to redirect output
* Bugfix for precedence in #if !False && False
* Bugfix for whitespace between # and if
* Bugfix for #define F "blah"; #include F
Version 0.3
-----------
* Bugfix for recursive macro expansion.
* New flag --strip to remove C comments even outside cpp directives.
* New flag --stringise to recognise the # stringise operator in macros.
Version 0.2
-----------
* New flag --noline to eliminate #line directives from output.
* Add symbol-replacement and macro-expansion.
* New flag --nomacro to turn off symbol/macro-expansion.
2004-Apr-21
-----------
* Now accept multi-line # commands via the \ line continuation operator.
The original file line numbering is preserved in the output by
some tricky acrobatics.
Version 0.1
-----------
* Initial release.
|