Version 0.8.6 released
21 December 2009 Andreas Rumpf
The version jump from 0.8.2 to 0.8.6 acknowledges the fact that all development of the compiler is now done in Nimrod.
Bugfixes
- The pragmas 
hint[X]:offandwarning[X]:offnow work. - Method call syntax for iterators works again (
for x in lines.split()). - Fixed a typo in 
removeDirfor POSIX that lead to an infinite recursion. - The compiler now checks that module filenames are valid identifiers.
 - Empty patterns for the 
dynlibpragma are now possible. os.parseCmdLinereturned wrong results for trailing whitespace.- Inconsequent tuple usage (using the same tuple with and without named fields) does not crash the code generator anymore.
 - A better error message is provided when the loading of a proc within a dynamic lib fails.
 
Additions
- Added 
system.containsfor open arrays. - The PEG module now supports the search loop operator 
@. - Grammar/parser: 
SAD|INDis allowed before any kind of closing bracket. This allows for more flexible source code formatting. - The compiler now uses a bind table for symbol lookup within a 
bindcontext. (See manual.html#templates for details.) discard """my long comment"""is now optimized away.- New 
--floatChecks: on|offswitches and pragmas for better debugging of floating point operations. (See manual.html#types-pre-defined-floating-point-types for details.) - The manual has been improved. (Many thanks to Philippe Lhoste!)
 
Changes affecting backwards compatibility
- The compiler does not skip the linking step anymore even if no file has changed.
 os.splitFile(".xyz")now returns("", ".xyz", "")instead of("", "", ".xyz"). So filenames starting with a dot are handled differently.strutils.split(s: string, seps: set[char])never yields the empty string anymore. This behaviour is probably more appropriate for whitespace splitting.- The compiler now stops after the 
--versioncommand line switch. - Removed support for enum inheritance in the parser; enum inheritance has never been documented anyway.
 - The 
msgfield ofsystem.E_basehas now the typestring, instead ofcstring. This improves memory safety.