Documented prevention of recursive .includes.
Documented TotalLines and Visited attributes of SymbolTable.
1 parent 63dd991 commit 02cefd10e72182c8170e73fa168c0ca6e877bcc8
@tundra tundra authored on 19 Jan 2005
Showing 1 changed file
View
13
WHATSNEW.txt
Template names are checked to make sure they do not contain
namespace separators. Templates must be named canonically. This
was always a requirement, but it was never checked or documented.
 
- Explicit checks are now made to ensure that the configuration does
not do recursive .includes. Any attempt to do so will produce an
error and the offending line will be ignored, but the program will
attempt to continue processing the rest of the configuration.
 
- The program changes described below have made the 'ParseConfig'
API incompatible with previous versions of 'tconfpy'. The version
number has been branched to 2.x to reflect this fact. Existing
programs that use 'tconfpy' will have to be modified to use
- There is significant internal code restructuring to encasulate
parse-related data structures into the 'SymbolTable' object. This
eliminated most of the global variables.
 
- The program now returns both the number of total lines processed,
(SymbolTable.TotalLines) and a list of all the configuration files
processed (SymbolTable.Visited).
 
 
NEW FEATURES
 
- Added the 'CallingProgram' API keyword parameter. This allows the
the first (mandatory) parameter passed to it. If it is a string,
the program assumes it to be a file name. If it is a list, the
program assumes the list contains configuration statements. If it
is of any other type, the program declares an error.
 
The program also validates each element of an in-memory list and
ignores anything that is not a string. An error is produced in this
case.
 
- Added the ability to test the *state* of boolean variables in the
existential conditionials (.ifall/any/none). Previous versions of
'tconfpy' could only do this with an explict test like: