GNU Pies - News: Version 1.6
Version 1.6
Item posted by Sergey Poznyakoff <gray> on Sun Jan 2 10:09:37 2022.
Version 1.6 if GNU Pies is available for download.
New in this release:
Changes in configuration preprocessing
=== Each included file is preprocessed separately ==
The built-in preprocessor is removed. The #include and #include_once statements are now regular configuration statements. Any files included as a result of #include or #include_once are preprocessed separately. This differs from prior versions, were all includes were expanded first, the obtained material passed to the m4 and the resulting output was then parsed.
This means that:
1. The mess with two preprocessors (built-in and external) is now gone.
2. Macros defined in a source file don't pollute the namespace of another sources.
3. Error locations can be accurately determined.
4. Preprocessor can emit forceful diagnostics (see below) to properly identify erroneous or otherwise suspicious constructs.
The `pp-setup' file is gone
By default, the preprocessor is started as `m4 -s -P' with additional set of -I options and eventual -D or -U options if these are used in the command line of pies. Apart from this, no additional set up is performed.
The precedence of -I options is fixed
The -I options are placed in the m4 command line before the options that configure the default search path.
New forceful diagnostics statements
#warning "TEXT"
Emits warning.
#error "TEXT"
Emits error message. Further parsing continues, but will end with
failure.
#abend "TEXT"
Emits error message and stops further processing immediately.
If `#error' or `#abend' is encountered, the effect is the same as if syntax error has been detected. If it occurs at pies startup, the program will terminate abnormally. If it occurs as
part of the reload sequence in a running instance of pies, the configuration file will be rejected and old configuration will remain in effect.
Comments:
No messages in Version 1.6