freebsd-nq/usr.bin/calendar
Stefan Eßer 8e8c5da47f Improve calendar file parsing and consistency tests
Add line number information to more warning and error messages.
Detect #else and #endif without corresponing #ifdef/#ifndef as error.
Detect missing #endif at end of file and print warning but continue.

Support for #undef has been added to reverse the effect of a prior #define.
It is no error if the argument value has not been defined before.

These changes may cause error aborts on malformed input files (e.g. with
spurious #else or #endif), but no such errors exist in the calendar files
in the FreeBSD base system and the calendar-data port and all tests pass.

More tests will be added in a follow-up commit to detect regressions that
might affect the newly added features.

This commit ends a series of updates that enhance the pre-processor and
make it behave much more like prior versions of the calendar progarm that
called cpp to pre-process the data files.

MFC after:	3 days
Relnotes:	yes
2020-10-31 15:11:24 +00:00
..
calendars Update the due date of the quarterly status report 2020-10-29 14:21:25 +00:00
tests Print calendar entries in the order they occur 2020-10-30 15:43:52 +00:00
calendar.1 Add support for nested conditionals 2020-10-28 14:48:58 +00:00
calendar.c Fix calendar -a processing of files included in the user's home directory 2020-10-29 08:26:38 +00:00
calendar.h Add extremely useful calendar(1) application to FreeBSD 2020-03-03 00:20:08 +00:00
dates.c Print calendar entries in the order they occur 2020-10-30 15:43:52 +00:00
day.c Add extremely useful calendar(1) application to FreeBSD 2020-03-03 00:20:08 +00:00
events.c Revert debug output committed in r367166 by accident 2020-10-30 14:34:51 +00:00
io.c Improve calendar file parsing and consistency tests 2020-10-31 15:11:24 +00:00
locale.c Add extremely useful calendar(1) application to FreeBSD 2020-03-03 00:20:08 +00:00
Makefile calendar: remove all datafiles except freebsd one 2020-10-26 03:26:18 +00:00
Makefile.depend Add extremely useful calendar(1) application to FreeBSD 2020-03-03 00:20:08 +00:00
ostern.c Add extremely useful calendar(1) application to FreeBSD 2020-03-03 00:20:08 +00:00
parsedata.c Add file names and line numbers to calendar format error messages 2020-10-31 13:32:08 +00:00
paskha.c Add extremely useful calendar(1) application to FreeBSD 2020-03-03 00:20:08 +00:00
pathnames.h Add search of LOCALBASE/share/calendar for calendars supplied by a port. 2020-10-23 09:22:23 +00:00
pom.c Add extremely useful calendar(1) application to FreeBSD 2020-03-03 00:20:08 +00:00
sunpos.c Add extremely useful calendar(1) application to FreeBSD 2020-03-03 00:20:08 +00:00