The intent of this changelog is to keep everyone in the loop about
what's new in the prep
project. It is a curated, chronologically ordered
list of notable changes including records of change such as bug fixes,
new features, changes, and relevant notifications.
- git repository on WWW (github)
- annotated source files
- an open license
- fpm(1) build
- user manual (on-line)
- man-page
- app program
- unit test
- make(1) build
- single-file build
- developer documents (ford(1),doxygen(1), ...)
- CI/CD(Continious Integration/Development) verification (github actions)
- registered in fpm(1) repository
2023-01-20 John S. Urban https://github.com/urbanjost
- allow for "markdownMML" file suffix, as used by Fortran Wiki.
2022-10-17 John S. Urban https://github.com/urbanjost
- If less than three macro definitions are specified and the first one is an existing filename and the -i option is not specified a cpp(1)-like syntax
cpp -D A -D B -D C .... infile [outfile]
is used, instead of
cpp A B C .... -i infile [ -o outfile]
because so many products except that because cpp(1) is so common.
2022-08-14 John S. Urban https://github.com/urbanjost
- The command parser was switched from M_kracken95 to M_CLI2. This means multiple values need quoted, so instead of "-I dir1 dir2 dir3" "-I 'dir1 dir2 dir3'" or "-I dir1 -I dir2 -I dir3" is required for the -I and -D options, but also means multiple -I and -D switches will accumulate instead of only the right-most value being used.
2022-08-07 John S. Urban https://github.com/urbanjost
- The .NEQV. operator failed since original Lahey version
2022-07-15 John S. Urban https://github.com/urbanjost
- The DEFINE command can did not allow the LHS to be assigned a RHS that had no operators or values other than a NAME.
2022-05-10 John S. Urban https://github.com/urbanjost
- The POST command can take multiple parcel names
2022-05-07 John S. Urban https://github.com/urbanjost
- added $UNSET directive
2022-04-11 John S. Urban https://github.com/urbanjost
- No longer produce warning message if variable is redefined, to be more compatible with fpp(1) and cpp(1)
- deprecating $REDEFINE. Removed from documentation.
2022-04-02 John S. Urban https://github.com/urbanjost
- Ending "$BLOCK" with "$BLOCK END" or "$BLOCK" and "$PARCEL NAME " with "$PARCEL" is now deprecated,
- on $IF and $ELSEIF DEFINED() function can take list of names
- add $ENDBLOCK
- add $ENDPARCEL
- add predefined SYSTEMON variable for conditional execution of lines when --system is on the command line
2022-04-01 John S. Urban https://github.com/urbanjost
- $MESSAGE no longer automatically prefixs message with "message"
- add $BLOCK SYSTEM
- add $BLOCK SET
- add $BLOCK MESSAGE
2022-04-01 John S. Urban https://github.com/urbanjost
- Negative values were not correctly tested by logical operators
- --debug mode requires --verbose as well to show all debug messages
- version 7.0.0 is released
- added $ERROR for compatibility with some versions of cpp(1)
- $IF,$ELSEIF,and $ELIF can use the syntax (expression)THEN
2022-03-28 John S. Urban https://github.com/urbanjost
- $STOP can have a user-defined message
2022-03-28 John S. Urban https://github.com/urbanjost
- $SHOW and $UNDEF allow basic globbing with "*" and "?"
2022-03-27 John S. Urban https://github.com/urbanjost
- $REDEFINE was documented
- $UNDEFINE,$DEFINE,$REDEFINE can take a list of semi-colon delimited list of variable names and expressions
- $STOP was modernized now that a modern STOP is available on the majority of compilers.
- allow filenames on $INCLUDE to be double-quoted or have < prefix and > suffix.
2022-03-26 John S. Urban https://github.com/urbanjost
- Negative values were unneccesarily not allowed in expressions except as a simple value.
- A comment is explicitly an exclamation followed by a space to allow C-style operators in expressions such as !,!=, ... which must not be followed by a space.
- A $DEFINE of a defined value is a warning instead of an error
- $SHOW can take a list of variable names and only print those
2022-03-13 John S. Urban https://github.com/urbanjost
- Added --type, --start, and --stop options primarily for allowing for extracting Fortran from extended markdown files.
2021-10-19 John S. Urban https://github.com/urbanjost
- Added algebraic operators (==,>=,<=,/=,>,<) to logical expressions in lieue of just dot operators (.eq.,.ge.,.le.,.ne.,.gt.,.lt.).
2021-06-21 John S. Urban https://github.com/urbanjost
- Added $BLOCK SHELL option using a simpler system-dependent approach with scratch files rather than with calls to popen(3c) in order to be more portable. The documentation is commented out at this time. This is an experimental feature undergoing evaluation and should not be depended on at this time as a standard feature. It is clearly highly system dependent and should be used with restraint.
2021-06-16 John S. Urban https://github.com/urbanjost
- Added $IMPORT so environment variables can be used as if they had been used to declare $SET names and values.
- deprecated the $PRINTENV directive, as it is superceded by $IMPORT in a much more consistent way.
2021-06-13 John S. Urban https://github.com/urbanjost
- Try to guess value for predefined variable OS, and if a
$SET directive has been entered create string values for "here document" expansion so that $ {FILE}, ${LINE}, ${DATE}, ${TIME} strings will be predefined.
2021-06-12 John S. Urban https://github.com/urbanjost
- Added $PARCEL, $POST, and $SET which allows for basic templating as a prototype for allowing expansion using POSIX shell syntax like a "here document".
2021-06-08 John S. Urban https://github.com/urbanjost
Intialized github repository