This directory contains holiday files.  The two-character files contain
holidays for various countries.  Some countries (such as US and CA) have
regions with their own different holidays; the regional holidays are
stored in *.rem files underneath the country-code directory (eg, us and ca,
respectively.)

Many of these files were generated from the excellent "holidays" Python
library at https://pypi.org/project/holidays/

I did great damage to the library and host a terrible, awful hacked version
at https://github.com/dfskoll/holidays; it is this repo (in the remind-output
branch) that I used to generate the Remind files.

********************** IMPORTANT CAVEATS **********************

Any holidays that depend on a non-Gregorian calendar such as Jewish,
Islamic, Chinese and other East Asian calendars will NOT appear in the
country files!  The only exceptions are holidays depending on the
Orthodox Easter date, for which Remind has support.

Also, I have made no effort to track changes to holiday legislation
over time.  Therefore, the holiday files may be inaccurate for years
prior to 2024.  I also did not include any one-off holidays such as
the funeral of Queen Elizabeth on 19 September 2022.

Non-country holiday files are:

chinese-new-year.rem - Chinese New Year from 2022 through 2050
discordian.rem       - Discordian holidays
jewish.rem           - Jewish holidays
pagan.rem            - Pagan holidays

ADVANCE WARNING:
================

None of the included holiday files have deltas or substitution sequences.
You can use the following trick if you would like (for example) 7 days'
advance warning of holidays:

    # Save old definition (if any) of msgsuffix
    PUSH-FUNCS msgsuffix

    # Save old value of $DefaultDelta
    PUSH-VARS $DefaultDelta

    # We want 7 days' advance warning
    SET $DefaultDelta 7

    # Add a suffix to print " is in xxx days", etc.
    # Note the char(8) at the start to put the suffix
    # on the same line as the reminder, and the final %
    # in the argument of dosubst() to avoid an *extra*
    # newline from being added
    FSET msgsuffix(x) char(8) + dosubst(" is %b.%", $T)

    # Include your holiday files here...
    SYSINCLUDE holidays/us.rem
    SYSINCLUDE holidays/us/ny.rem

    # Restore old value $DefaultDelta
    POP-VARS

    # Restore old version of msgsuffix
    POP-FUNCS

