Compare commits

...

328 Commits

Author SHA1 Message Date
Dianne Skoll
38a597a374 We're releasing today!
All checks were successful
Remind unit tests / tests (push) Successful in 53s
2025-02-04 10:28:25 -05:00
Dianne Skoll
66ba9257a5 Add INFO strings for Jewish holidays. 2025-02-04 10:23:13 -05:00
Dianne Skoll
c5374c09fb Yet more INFO strings. 2025-02-04 10:11:36 -05:00
Dianne Skoll
9c93e7e6a1 Better error message.
All checks were successful
Remind unit tests / tests (push) Successful in 1m17s
2025-02-03 23:09:17 -05:00
Dianne Skoll
3487f6f46a Document that it takes at least -pp to pass info strings to a back-end. 2025-02-03 23:05:18 -05:00
Dianne Skoll
da8a72d7cd Add info strings. 2025-02-03 22:59:43 -05:00
Dianne Skoll
f391b6221f Add INFO strings. 2025-02-03 22:54:10 -05:00
Dianne Skoll
a8c0b20f9e Line things up better. 2025-02-03 22:47:40 -05:00
Dianne Skoll
5684a86df9 Add INFO strings. 2025-02-03 22:45:26 -05:00
Dianne Skoll
3abaaacd98 Add some more INFO strings. 2025-02-03 22:38:50 -05:00
Dianne Skoll
7eae7a9157 Add some INFO strings. 2025-02-03 22:36:09 -05:00
Dianne Skoll
a0d8c93a34 Make tkremind handle "Url:" info strings.
All checks were successful
Remind unit tests / tests (push) Successful in 39s
2025-02-03 15:18:44 -05:00
Dianne Skoll
8bf22dbb36 Document support for "Url:" info string. 2025-02-03 14:52:42 -05:00
Dianne Skoll
6b2622f3d3 Document "Url" INFO string support. 2025-02-03 14:38:23 -05:00
Dianne Skoll
8abdf6d988 Make rem2html respect "Url:" INFO string for moon phases and week numbers. 2025-02-03 14:32:52 -05:00
Dianne Skoll
991e409739 Make rem2pdf obey the "Url:" INFO string. 2025-02-03 14:20:45 -05:00
Dianne Skoll
3c2bb76523 Turn reminders with a "Url:" info string into hyper-links. 2025-02-03 13:56:21 -05:00
Dianne Skoll
8555352c18 Add popup for location and description in HTML calendar. 2025-02-03 11:36:19 -05:00
Dianne Skoll
34f8486c10 Update docs.
All checks were successful
Remind unit tests / tests (push) Successful in 42s
2025-02-02 11:21:38 -05:00
Dianne Skoll
5adb5d893e Final (??) tweaks of popup appearance. :)
All checks were successful
Remind unit tests / tests (push) Successful in 34s
2025-02-01 15:58:51 -05:00
Dianne Skoll
2f11b6fdc8 Tweak appearance of popups and background reminders. 2025-02-01 15:52:13 -05:00
Dianne Skoll
49d46c1397 Improve reminder popups. 2025-02-01 15:38:13 -05:00
Dianne Skoll
1641f99f97 Include the "info" element in pop-up reminders. 2025-02-01 15:02:54 -05:00
Dianne Skoll
f9f9552850 Avoid segfault if we call dosubst("%<foo>") 2025-02-01 14:50:49 -05:00
Dianne Skoll
3b43222585 Add the triginfo("header") function and corresponding %<...> substitution sequence. 2025-02-01 14:39:06 -05:00
Dianne Skoll
231d9d77e7 Save the info chain when saving the last trigger. 2025-02-01 14:16:17 -05:00
Dianne Skoll
6140221bf3 Make a function static. 2025-02-01 11:15:52 -05:00
Dianne Skoll
51b831fb6a Check for proper escaping in JSON and TRANSLATE DUMP. 2025-02-01 11:15:25 -05:00
Dianne Skoll
35a4994b3e Document changes. 2025-02-01 10:59:04 -05:00
Dianne Skoll
0ebaaa4097 Add optional add_quote argument to escape() 2025-02-01 10:58:55 -05:00
Dianne Skoll
2f43aca21c Update version to 05.03.00 2025-02-01 10:58:34 -05:00
Dianne Skoll
930bab0fde Add more tests. 2025-02-01 10:45:34 -05:00
Dianne Skoll
694c4099d1 Add \xAA sequence for parsing quoted strings; add the escape() built-in function; update docs. 2025-02-01 10:36:38 -05:00
Dianne Skoll
ca56b4c90e Disallow "\x00" 2025-02-01 10:12:51 -05:00
Dianne Skoll
5c965e2083 Add "\xAB" escapes to string parser.
\x followed by one or two hex digits gets converted to that character.
2025-02-01 10:08:12 -05:00
Dianne Skoll
d58ccbef69 Improve how add/edit reminder dialog resizes.
All checks were successful
Remind unit tests / tests (push) Successful in 37s
2025-01-31 21:31:47 -05:00
Dianne Skoll
17ad03be69 Add a bit of space after labels. 2025-01-31 21:22:48 -05:00
Dianne Skoll
75a4e98de2 Call the reminder body the "Summary" rather than "Subject" to be consistent with ical. 2025-01-31 21:21:30 -05:00
Dianne Skoll
1408f77303 Use concat instead of list to flatten lists.
Bug report: https://dianne.skoll.ca/pipermail/remind-fans/2025/004986.html
2025-01-31 19:36:41 -05:00
Dianne Skoll
af76dd67fb Remove dead code; count lines better. 2025-01-31 17:02:03 -05:00
Dianne Skoll
f7a19d1570 Change "Body:" to "Subject:" and update man page. 2025-01-31 16:48:48 -05:00
Dianne Skoll
e7ec975ff0 Support location and description fields in tkremind. 2025-01-31 16:30:07 -05:00
Dianne Skoll
8c4ca12ca7 When creating the "info" JSON hash, make the keys lower-case instead of upper-case.
All checks were successful
Remind unit tests / tests (push) Successful in 46s
2025-01-31 08:07:53 -05:00
Dianne Skoll
e832eb868c Make INFO require "Header: Value" strings; make the "info" element in the JSON output a hash instead of an array.
All checks were successful
Remind unit tests / tests (push) Successful in 36s
2025-01-30 16:58:56 -05:00
Dianne Skoll
cb0acb3077 Document INFO
All checks were successful
Remind unit tests / tests (push) Successful in 54s
2025-01-29 19:07:26 -05:00
Dianne Skoll
9376c7a36d Add INFO keyword. 2025-01-29 18:55:22 -05:00
Dianne Skoll
e6ceeee2ec Add the "INFO" clause to the REM command.
All checks were successful
Remind unit tests / tests (push) Successful in 33s
Intended to pass additional information to a back-end to use as it wishes.
One example is to add extra info such as locaiton, description, etc. to ical
files.
2025-01-28 15:51:28 -05:00
Dianne Skoll
bbeece644e Use "custom.h" rather than <custom.h> for our header file. 2025-01-24 08:10:06 -05:00
Dianne Skoll
8d09abc363 Use snprintf in favor of sprintf almost everywhere.
All checks were successful
Remind unit tests / tests (push) Successful in 35s
2025-01-22 11:11:08 -05:00
Dianne Skoll
3dcd353fb5 Update release notes. 2025-01-22 10:56:05 -05:00
Dianne Skoll
124c5c4e7e Make test mode warning more verbose.
All checks were successful
Remind unit tests / tests (push) Successful in 35s
2025-01-21 11:54:24 -05:00
Dianne Skoll
77024562b3 Fix SystemDate to always return 2025-01-06 in --test mode.
All checks were successful
Remind unit tests / tests (push) Successful in 38s
2025-01-21 11:52:20 -05:00
Dianne Skoll
35c33ae915 Prevent infinite test loop. 2025-01-21 11:48:56 -05:00
Dianne Skoll
901831ff75 Add --test long option to make the test suite repeatable.
Some checks failed
Remind unit tests / tests (push) Failing after 3h14m50s
2025-01-20 13:33:00 -05:00
Dianne Skoll
e0c5e878a8 Explicitly unset REMIND_RUNNING_TEST at the start. 2025-01-20 11:35:32 -05:00
Dianne Skoll
ffba7fcb03 Make queue tests work at any time of the day.
All checks were successful
Remind unit tests / tests (push) Successful in 33s
If the REMIND_RUNNING_TEST environment variable is set to 1, then
SystemTime adjusts times near midnight so the queue tests pass.

Remind prints a warning if it is set so you don't accidentally
set it in normal use.
2025-01-20 10:15:19 -05:00
Dianne Skoll
b3f3cb9ce0 Add test for previous change
All checks were successful
Remind unit tests / tests (push) Successful in 31s
2025-01-19 22:05:25 -05:00
Dianne Skoll
6f11e727f8 Truncate any absurdly-long translations of "am" or "pm" rather than letting a buffer overflow. 2025-01-19 22:01:45 -05:00
Dianne Skoll
9f7ea96e87 Make it a bit easier to read
All checks were successful
Remind unit tests / tests (push) Successful in 41s
2025-01-18 10:45:35 -05:00
Dianne Skoll
d650b8564c Update release notes
All checks were successful
Remind unit tests / tests (push) Successful in 33s
2025-01-17 13:26:06 -05:00
Dianne Skoll
4f2e4030eb Bump version go 05.02.03. 2025-01-17 13:21:11 -05:00
Dianne Skoll
447bda5c91 Warn if given a bad debug flag. 2025-01-17 10:22:22 -05:00
Dianne Skoll
4f351c089e Add the "-dq" debugging flag, for outputing TRANSLATE commands needed by a reminder script.
All checks were successful
Remind unit tests / tests (push) Successful in 44s
2025-01-17 08:46:29 -05:00
Dianne Skoll
6b31778973 Better error message.
All checks were successful
Remind unit tests / tests (push) Successful in 32s
2025-01-16 19:24:57 -05:00
Dianne Skoll
dcf8b46beb Skip queueing tests between 23:55 and 00:00 UTC. 2025-01-16 19:23:49 -05:00
Dianne Skoll
0f582ccb60 Sleep until midnight if test starts after 23:55 UTC
All checks were successful
Remind unit tests / tests (push) Successful in 35s
2025-01-16 13:52:34 -05:00
Dianne Skoll
8d0743dd3e Don't allow a translation entry if printf-style formatters differ. 2025-01-16 12:53:23 -05:00
Dianne Skoll
436526c27d Fix -Wformat-security warnings. 2025-01-16 12:37:13 -05:00
Dianne Skoll
5f3f3b410f Fix tests for previous commit.
All checks were successful
Remind unit tests / tests (push) Successful in 52s
2025-01-15 11:02:30 -05:00
Dianne Skoll
4f79b0d42a Remove leading space from translatable. 2025-01-15 11:02:06 -05:00
Dianne Skoll
c96f9f21ed Properly print already-translated TRANS-type system variables in TRANSLATE GENERATE output.
All checks were successful
Remind unit tests / tests (push) Successful in 36s
2025-01-14 15:02:08 -05:00
Dianne Skoll
dc192f2a69 Final good version of TRANSLATE GENERATE. 2025-01-14 14:59:01 -05:00
Dianne Skoll
ac3dd1ec7c Better translation template 2025-01-14 14:54:26 -05:00
Dianne Skoll
b5717828f0 Make "TRANSLATE GENERATE" emit a BANNER command. 2025-01-14 14:08:46 -05:00
Dianne Skoll
c0d73fb9d1 Use @ to suppress echoing, not -. 2025-01-14 13:55:47 -05:00
Dianne Skoll
3a2ac067b0 Fix tests. 2025-01-14 13:49:13 -05:00
Dianne Skoll
1d467ab9ed Remove trailing \n from translation strings. 2025-01-14 13:48:45 -05:00
Dianne Skoll
c2ec4e9d29 Don't require any translation strings to include a trailing "\n" 2025-01-14 13:46:23 -05:00
Dianne Skoll
96c11e89eb Add the TRANSLATE GENERATE command to generate a skeleton .rem file for localization. 2025-01-14 13:27:04 -05:00
Dianne Skoll
a35920f28e Put quotes around function name when issuing "redefined" warning. 2025-01-14 11:30:06 -05:00
Dianne Skoll
17ccf5d2b4 Make more messages translatable. 2025-01-14 11:27:47 -05:00
Dianne Skoll
788a09b2cd Properly fix printing of ^-- here in error diagnosis.
All checks were successful
Remind unit tests / tests (push) Successful in 1m36s
2025-01-13 12:55:14 -05:00
Dianne Skoll
9f0e23a307 More localization. 2025-01-13 11:58:42 -05:00
Dianne Skoll
542620c188 Allow "did you mean" to be localized. 2025-01-13 11:56:43 -05:00
Dianne Skoll
50419bd83a Translate "here" to French. 2025-01-13 11:55:32 -05:00
Dianne Skoll
2b7c582392 Let "here" be localized. 2025-01-13 11:54:14 -05:00
Dianne Skoll
812a2af64b Better location of the ^-- here marker. 2025-01-13 11:52:55 -05:00
Dianne Skoll
17d7abd4a4 Add country-specific LGBTQ holidays.
All checks were successful
Remind unit tests / tests (push) Successful in 34s
2025-01-11 14:12:56 -05:00
Dianne Skoll
098e98c59e Add holidays/lgbtq.rem
All checks were successful
Remind unit tests / tests (push) Successful in 37s
2025-01-10 20:34:37 -05:00
Dianne Skoll
c5e0dbf2e5 Add license identifier. 2025-01-10 20:34:29 -05:00
Dianne Skoll
18c8bc719f Update tests to match commit 195ed15167
All checks were successful
Remind unit tests / tests (push) Successful in 35s
2025-01-07 17:59:06 -05:00
Dianne Skoll
195ed15167 Print ^-- here for a few more error types. 2025-01-07 17:58:03 -05:00
Dianne Skoll
51677cd7b5 Use "info patchlevel" to display detailed Tcl/Tk version. 2025-01-07 15:57:07 -05:00
Dianne Skoll
aef5b353cd Add a missing update.
All checks were successful
Remind unit tests / tests (push) Successful in 28s
2025-01-06 10:40:25 -05:00
Dianne Skoll
8a99c29533 Update WHATSNEW in preparation for release.
All checks were successful
Remind unit tests / tests (push) Successful in 33s
2025-01-05 12:14:04 -05:00
Dianne Skoll
0bf2b0772a Bump version to 05.02.02.
All checks were successful
Remind unit tests / tests (push) Successful in 1m41s
2025-01-05 10:34:28 -05:00
Dianne Skoll
a033a48acd Make rem2html support weekly calendars.
All checks were successful
Remind unit tests / tests (push) Successful in 1m29s
rem2html is a mess and needs refactoring, but oh well... it works.
2025-01-04 18:10:34 -05:00
Dianne Skoll
0feb81c8cc Make "rem2html" accept "remind -ppp" as input (as well as -p and -pp) 2025-01-04 17:07:06 -05:00
Dianne Skoll
1850607542 Use hex constants for flags that are bitmasks.
All checks were successful
Remind unit tests / tests (push) Successful in 37s
2024-12-31 15:26:18 -05:00
Dianne Skoll
213138a7b7 Split the "-ds" debug flag into "-ds" and "-dh"
-ds prints parsed expressions
   -dh dumps hash-table statistics on exit.
2024-12-31 12:50:15 -05:00
Dianne Skoll
562cec3dc8 Mass-update copyright date to 2025. 2024-12-29 13:47:07 -05:00
Dianne Skoll
18b57d26b4 Properly detect and handle requests for multi-page --svg or --eps output.
All checks were successful
Remind unit tests / tests (push) Successful in 42s
2024-12-26 09:38:05 -05:00
Dianne Skoll
c80d72f623 Add --weeks-per-page option.
All checks were successful
Remind unit tests / tests (push) Successful in 44s
2024-12-25 13:29:51 -05:00
Dianne Skoll
2739a41651 If we ask for multiple weekly calendars, render then two weeks to a page. 2024-12-25 10:37:18 -05:00
Dianne Skoll
5a56f4c61b Pass in index and total number of calendars to "render". 2024-12-25 10:00:21 -05:00
Dianne Skoll
77080ff600 Make copyright notices consistent.
All checks were successful
Remind unit tests / tests (push) Successful in 37s
2024-12-24 20:02:08 -05:00
Dianne Skoll
c4aa21ff51 Remove unused functions. 2024-12-24 15:05:15 -05:00
Dianne Skoll
34c513ba3b Add $CalType system variable. 2024-12-24 14:45:57 -05:00
Dianne Skoll
35c16a060a Fix typo again.
All checks were successful
Remind unit tests / tests (push) Successful in 1m26s
2024-12-24 13:20:19 -05:00
Dianne Skoll
69dedc577f Fix typo 2024-12-24 13:19:28 -05:00
Dianne Skoll
a7d8f3c887 Support --verbose in weekly calendars 2024-12-24 13:18:19 -05:00
Dianne Skoll
800a4b15b2 Add support for weekly PDF calendars with "-p+n" Remind option. 2024-12-24 13:07:45 -05:00
Dianne Skoll
3e981fd8be Convert README file to Markdown. That is what all the cool kids use.
All checks were successful
Remind unit tests / tests (push) Successful in 33s
2024-12-19 10:20:35 -05:00
Dianne Skoll
7c530d3068 Remove unnecesary .gitignore entry
All checks were successful
Remind unit tests / tests (push) Successful in 1m27s
2024-12-18 11:19:45 -05:00
Dianne Skoll
58f9cf641b Remove some truly ancient docs. 2024-12-18 11:19:04 -05:00
Dianne Skoll
53906035fe Warn if a POP-OMIT-CONTEXT matches a PUSH-OMIT-CONTEXT in a different file.
All checks were successful
Remind unit tests / tests (push) Successful in 37s
2024-12-17 17:26:51 -05:00
Dianne Skoll
4804325863 Merge branch 'fix_typo' into 'master'
Fix typo

See merge request dskoll/remind!9
2024-12-17 15:29:09 +00:00
Jochen Sprickerhof
5f5e7054f4 Fix typo 2024-12-17 09:22:42 +01:00
Dianne Skoll
078dba1e98 Prepare for 05.02.01 release.
All checks were successful
Remind unit tests / tests (push) Successful in 28s
2024-12-16 19:37:31 -05:00
Dianne Skoll
8ebec9584c Fix incorrect comparison code. 2024-12-16 19:33:41 -05:00
Dianne Skoll
2504b39be2 Remove const qualifier.
All checks were successful
Remind unit tests / tests (push) Successful in 32s
2024-12-16 17:10:45 -05:00
Dianne Skoll
e394f402f8 Set release date.
All checks were successful
Remind unit tests / tests (push) Successful in 32s
2024-12-16 09:31:02 -05:00
Dianne Skoll
5a2914f6c7 Start hash tables with 7 buckets instead of 17; print more detailed hash stats with -ds; consistently use ErrFp instead of stderr
All checks were successful
Remind unit tests / tests (push) Successful in 32s
2024-12-14 11:52:16 -05:00
Dianne Skoll
a19b009f7c Fix man page typo and cppcheck warnings.
All checks were successful
Remind unit tests / tests (push) Successful in 32s
2024-12-13 15:22:46 -05:00
Dianne Skoll
6373ae8ca5 Update release notes. 2024-12-13 15:08:54 -05:00
Dianne Skoll
b8c4786b33 Allow INCLUDE/DO/SYSINCLUDE to take a QuotedString argument. This allows for filenames with spaces in them. 2024-12-13 10:38:34 -05:00
Dianne Skoll
4e7cfc20ce Make use of SYSINCLUDE.
All checks were successful
Remind unit tests / tests (push) Successful in 32s
2024-12-13 08:28:14 -05:00
Dianne Skoll
0c9a35a584 Add SYSINCLUDE to release notes. 2024-12-13 08:22:43 -05:00
Dianne Skoll
5e333f6162 Add the SYSINCLUDE directive. 2024-12-13 08:18:22 -05:00
Dianne Skoll
af8b4e6df1 Add const qualifier on Sysvar.value.
All checks were successful
Remind unit tests / tests (push) Successful in 44s
2024-12-12 20:27:54 -05:00
Dianne Skoll
3fa798523a Document the difference between %(foo) and [_("foo")] 2024-12-12 16:56:38 -05:00
Dianne Skoll
53001f9fbc Update WHATSNEW 2024-12-12 16:48:53 -05:00
Dianne Skoll
9cd76eae84 Fix typo 2024-12-12 16:47:34 -05:00
Dianne Skoll
c8295b6251 Convert files we ship to use %(foo) in place of [_("foo")] 2024-12-12 16:43:30 -05:00
Dianne Skoll
3c95245407 In the substitution filter, make %(foo) equivalent to [_("foo")] 2024-12-12 16:35:31 -05:00
Dianne Skoll
3362c7226c Add regression test for commit 356b562d75
All checks were successful
Remind unit tests / tests (push) Successful in 31s
2024-12-12 12:17:15 -05:00
Dianne Skoll
356b562d75 Fix logic error in resetting IF flags and Popfile interaction. 2024-12-12 12:14:29 -05:00
Dianne Skoll
6eebcdc39d Handle error return from GetSysVar. 2024-12-12 11:58:27 -05:00
Dianne Skoll
5a80d63060 Add localization tests. 2024-12-12 11:55:07 -05:00
Dianne Skoll
c7ca1b4baa Get rid of the DyamicFoo hacks and make most translatable variables live in the translation table. 2024-12-12 11:43:03 -05:00
Dianne Skoll
dc89a6fba9 Eliminate unnecessary test. 2024-12-12 10:12:50 -05:00
Dianne Skoll
f83fec5563 Add missing three Chinese New Year animals. 2024-12-12 09:55:30 -05:00
Dianne Skoll
9c38161430 Merge branch 'translation_de' into 'master'
Add German translations

See merge request dskoll/remind!8
2024-12-12 14:53:21 +00:00
Jochen Sprickerhof
68f5fe1d10 Add German translations
Based on nl.rem
2024-12-12 12:51:38 +01:00
Dianne Skoll
bc7c57e53b Add another translation-propagation test.
All checks were successful
Remind unit tests / tests (push) Successful in 27s
2024-12-11 20:10:11 -05:00
Dianne Skoll
88aacb3905 Get two-way propagation working properly. 2024-12-11 20:08:09 -05:00
Dianne Skoll
a894076bfc Verify two-way correspondence between translation table and system variables. 2024-12-11 19:48:19 -05:00
Dianne Skoll
82e068fcca Refactor SetSysVar. 2024-12-11 19:22:30 -05:00
Dianne Skoll
a119d97539 Make mapping between translatable system variables and TRANSLATE table table-driven. 2024-12-11 19:15:44 -05:00
Dianne Skoll
01afb63a3d Sent translations with only the first month, in a multi-month (-pN) output. 2024-12-11 18:07:48 -05:00
Dianne Skoll
54fccabdfe Escape the result of translation, in case a bad translation file includes HTML special characters. 2024-12-11 17:15:01 -05:00
Dianne Skoll
ba4d44664f Clarify docs.
All checks were successful
Remind unit tests / tests (push) Successful in 34s
2024-12-11 15:36:17 -05:00
Dianne Skoll
d76c5499b5 Document how translation table is passed to back-ends. 2024-12-11 15:35:31 -05:00
Dianne Skoll
84e8244e48 Use localized names for "Full Moon", etc. 2024-12-11 15:35:23 -05:00
Dianne Skoll
92a6115a5c Send the translation table to back-ends. 2024-12-11 15:24:37 -05:00
Dianne Skoll
b98e336e9e Tweak release notes. 2024-12-11 14:02:30 -05:00
Dianne Skoll
ffcd21446e Update WHATSNEW 2024-12-11 13:55:23 -05:00
Dianne Skoll
af9ca68d99 Document the need for %-style escape sequences in translations to match those in the original message. 2024-12-11 13:42:49 -05:00
Dianne Skoll
71db7168a1 Increase update-for-changes delay to 250ms 2024-12-11 10:25:45 -05:00
Dianne Skoll
54f284c43f Note that strlen returns number of bytes, not characters. 2024-12-11 09:45:40 -05:00
Dianne Skoll
0ab93f2dea Guard against printf-style formatting attacks by malicious translation files. 2024-12-11 09:43:04 -05:00
Dianne Skoll
3d97f87bcd Remove obsolet error messages 2024-12-11 09:33:31 -05:00
Dianne Skoll
dcfa6d8ef8 Add translation for No reminders.
All checks were successful
Remind unit tests / tests (push) Successful in 33s
2024-12-10 19:59:00 -05:00
Dianne Skoll
52dd5332f4 Fix banner for Dutch translation. 2024-12-10 19:57:08 -05:00
Dianne Skoll
7b5fafe1ab Document how _() looks for translations. 2024-12-10 19:48:26 -05:00
Dianne Skoll
929af71a10 Fix test. 2024-12-10 18:21:24 -05:00
Dianne Skoll
abf7c74ff2 When dumping translation table NOT to JSON, always start with LANGID 2024-12-10 18:20:48 -05:00
Dianne Skoll
5b9d9a67b2 Make daemon not respond at all to a TRANSLATE for which there is no entry. 2024-12-10 17:16:25 -05:00
Dianne Skoll
16ca2ade23 Clear out translations when we prepare to ask for new ones. 2024-12-10 17:09:25 -05:00
Dianne Skoll
d3e6c81a3a Synthesize mixed-case translations. 2024-12-10 17:02:41 -05:00
Dianne Skoll
13ae49d3cd Put LANGID near the top. 2024-12-10 15:35:53 -05:00
Dianne Skoll
78adc9f61d Document how translators should use LANGID. 2024-12-10 15:33:22 -05:00
Dianne Skoll
a622d4fad4 Add LANGID translations to all language packs. 2024-12-10 15:27:41 -05:00
Dianne Skoll
6c0e7b4ff5 Add a second torture test to test hash-table resizing.
All checks were successful
Remind unit tests / tests (push) Successful in 31s
2024-12-10 15:12:24 -05:00
Dianne Skoll
28e0599380 Get new translations if inotify says something has changed. 2024-12-10 15:05:48 -05:00
Dianne Skoll
87445f639c Don't print the "" error message for translators. 2024-12-10 14:09:02 -05:00
Dianne Skoll
af6e159eaa Refresh translations if they seem to have changed. :) 2024-12-10 13:32:50 -05:00
Dianne Skoll
bffa28e258 Implement the "TRANSLATE" command to translate just one string;
rename "JSONTRANSLATE" to "TRANSLATE_DUMP"
2024-12-10 13:06:12 -05:00
Dianne Skoll
1781f84d84 Merely schedule an update when we get the translation table. 2024-12-10 12:24:53 -05:00
Dianne Skoll
ed6e65182e Document JSONTRANSLATE daemon command. 2024-12-10 12:21:06 -05:00
Dianne Skoll
f5cc0ec686 Get translation table; translate moon phases in TkRemind. 2024-12-10 12:16:27 -05:00
Dianne Skoll
a2c818f96c Fully implement JSONTRANSLATE daemon command. 2024-12-10 11:57:52 -05:00
Dianne Skoll
0bbbaaf3d9 Implement JSONTRANSLATE -zj command. 2024-12-10 11:48:01 -05:00
Dianne Skoll
1c81d4cae3 Add sunrise/sunset standard include file. 2024-12-10 11:38:57 -05:00
Dianne Skoll
56c684087b Add Sunrise and Sunset translations. 2024-12-10 11:34:44 -05:00
Dianne Skoll
9500a929ea Fix indentation. 2024-12-10 11:00:13 -05:00
Dianne Skoll
585d45e4a1 Completely remove support for compile-time localization.
All localization is now done at run-time.
2024-12-10 10:58:09 -05:00
Dianne Skoll
67d1d1366d Add error message translations. 2024-12-10 10:39:13 -05:00
Dianne Skoll
f4018892e8 Be pickier about syntax. 2024-12-10 10:25:38 -05:00
Dianne Skoll
ffd309f89d Add missing translations. 2024-12-09 23:28:10 -05:00
Dianne Skoll
286babc1bf Avoid memory leak. 2024-12-09 23:23:39 -05:00
Dianne Skoll
cc3c0040e9 Fix comment.
All checks were successful
Remind unit tests / tests (push) Successful in 28s
2024-12-09 23:21:53 -05:00
Dianne Skoll
b33a1ee98b Better error message if we hit EOLN after TRANSLATE. 2024-12-09 23:19:48 -05:00
Dianne Skoll
99706741bb Translate error messages in pl.rem 2024-12-09 23:04:52 -05:00
Dianne Skoll
df73a74503 Better colors (for me, at any rate...)
All checks were successful
Remind unit tests / tests (push) Successful in 34s
2024-12-09 21:11:01 -05:00
Dianne Skoll
c747ebebb4 Don't escape high chars. :) 2024-12-09 20:55:26 -05:00
Dianne Skoll
6b412062c2 Dump translation table in a way that it can be re-ingested. 2024-12-09 20:53:44 -05:00
Dianne Skoll
27b688f82c Highlight strings first. 2024-12-09 20:46:44 -05:00
Dianne Skoll
4c314ff81c Add --print-errs and localize error messages in lang/fr.rem. 2024-12-09 20:40:41 -05:00
Dianne Skoll
d2955ec733 Fix solstice translation. 2024-12-09 20:15:37 -05:00
Dianne Skoll
480216db9e Update test file 2024-12-09 20:08:46 -05:00
Dianne Skoll
9dbb0de7e6 Fix bug in ParseQuotedString 2024-12-09 20:07:29 -05:00
Dianne Skoll
9f9ae77895 Bound-check GetErr 2024-12-09 20:03:15 -05:00
Dianne Skoll
d9796e72e5 Allow error messages to be localized. 2024-12-09 19:55:23 -05:00
Dianne Skoll
e0b0d043c6 Add release notes 2024-12-09 19:09:37 -05:00
Dianne Skoll
fe4499ab72 Make comparison function also useful for ordering. 2024-12-09 18:39:49 -05:00
Dianne Skoll
e50d583659 Use case-sensitive hashing for dedup and translation hash tables. 2024-12-09 18:36:53 -05:00
Dianne Skoll
6b05d772f0 Exit if we run out of memory initializing hash tables. There's no sane way to recover. 2024-12-09 18:10:03 -05:00
Dianne Skoll
84dd73f023 Note connection between translation-related special variables and translation table. 2024-12-09 18:06:21 -05:00
Dianne Skoll
00dca8b70f Bump version to 05.02.00. 2024-12-09 17:59:40 -05:00
Dianne Skoll
c4bc145cd9 Document the translation table. 2024-12-09 17:56:52 -05:00
Dianne Skoll
bd614c1cde Make only one call to malloc() per XlateItem. 2024-12-09 17:07:58 -05:00
Dianne Skoll
1446ac0552 Make the output of "make test" considerably less verbose.
All checks were successful
Remind unit tests / tests (push) Successful in 33s
2024-12-09 14:33:02 -05:00
Dianne Skoll
26ded447ab Fix some translations. 2024-12-09 14:24:14 -05:00
Dianne Skoll
a4ccb0738e Make Chinese New Year file translatable. 2024-12-09 14:20:27 -05:00
Dianne Skoll
27a1b449bd Add new keywords and built-in function. 2024-12-09 14:14:29 -05:00
Dianne Skoll
1443282859 Add a whack more torture tests. 2024-12-09 14:09:40 -05:00
Dianne Skoll
4a2d707654 Properly handle deleting everything out of a hash table. 2024-12-09 13:59:41 -05:00
Dianne Skoll
fd2a61928c Fix NL translation. 2024-12-09 13:32:21 -05:00
Dianne Skoll
a05d9eefc9 Make "SET $foo" also add a translation table entry if $foo is a dynamic translation variable. 2024-12-09 13:29:05 -05:00
Dianne Skoll
6f230e81bd Add translations for moon phases and seasons. 2024-12-09 13:05:34 -05:00
Dianne Skoll
973019c4c7 Implement TRANSLATE keyword. 2024-12-09 12:56:40 -05:00
Dianne Skoll
cb712ad7e7 Replace the individual hash table implementations with a unified one. 2024-12-09 11:54:52 -05:00
Dianne Skoll
be7c67b6fd Add ParseQuotedString function for eventually implementing TRANSLATE directive. 2024-12-08 11:54:49 -05:00
Dianne Skoll
a933c8bc69 Document that we don't read subdirectories when expanding *.rem.
All checks were successful
Remind unit tests / tests (push) Successful in 31s
2024-12-06 20:21:09 -05:00
Dianne Skoll
087fbfd8e6 If a path returned by glob is a directory, ignore it. 2024-12-06 20:18:45 -05:00
Dianne Skoll
ff641d7990 Refuse to open directories. 2024-12-06 20:09:30 -05:00
Dianne Skoll
54e788b765 Make the sun functions return E_SWERR if BASE != 1990.
All checks were successful
Remind unit tests / tests (push) Successful in 44s
2024-12-04 13:12:40 -05:00
Dianne Skoll
4283feff31 Change #error to #warning so cppcheck can analyze funcs.c 2024-12-04 13:10:03 -05:00
Dianne Skoll
062a84b758 Simplify HAS_DATE and HAS_TIME macros by making type values into bitmasks.
All checks were successful
Remind unit tests / tests (push) Successful in 34s
2024-12-02 09:50:33 -05:00
Dianne Skoll
d161a8ff1a Actually allow up to 9 levels of INCLUDE nesting.
All checks were successful
Remind unit tests / tests (push) Successful in 42s
2024-11-30 23:03:09 -05:00
Dianne Skoll
0df4a79531 Use memcpy to copy omit contexts. 2024-11-30 22:42:40 -05:00
Dianne Skoll
1b26e39e2f Update holidays as per recent commits to the Python library.
All checks were successful
Remind unit tests / tests (push) Successful in 25s
2024-11-24 21:44:30 -05:00
Dianne Skoll
c63c4cf07e Make token name const. 2024-11-19 22:59:47 -05:00
Dianne Skoll
586b3565f0 Sort token types. 2024-11-19 22:58:19 -05:00
Dianne Skoll
877aaed1a1 Fix spelling error in comment. 2024-11-18 11:20:13 -05:00
Dianne Skoll
57fa1a6099 Make it clearer what went wrong if we use "remind" rather than "../src/remind"
All checks were successful
Remind unit tests / tests (push) Successful in 1m44s
2024-11-18 11:05:21 -05:00
Dianne Skoll
6cdb12b5a8 Instead of searching test-rem for "remind" without "../src/remind", simply alias remind to false.
Trick suggested by Jochen Sprickerhof.
2024-11-18 11:00:10 -05:00
Dianne Skoll
c73e1b6f97 Make test-rem test itself to ensure it always invokes remind as ../src/remind. 2024-11-18 10:50:43 -05:00
Dianne Skoll
e8c779c785 Update to 05.01.01. 2024-11-18 10:44:08 -05:00
Dianne Skoll
96e076a13f Prep for release. 2024-11-18 10:31:56 -05:00
Dianne Skoll
80d258621a Merge branch 'fix_test' into 'master'
Fix `remind` call in test

See merge request dskoll/remind!7
2024-11-18 15:31:27 +00:00
Jochen Sprickerhof
ed6d35e418 Fix remind call in test 2024-11-18 16:28:18 +01:00
Dianne Skoll
9dca1840a1 Fix typo
Some checks failed
Remind unit tests / tests (push) Failing after 30s
2024-11-16 20:54:40 -05:00
Dianne Skoll
f4ec23df90 Make uk a symlink to gb
Some checks failed
Remind unit tests / tests (push) Failing after 28s
2024-11-16 09:17:02 -05:00
Dianne Skoll
a0536a8141 Fix paths to files in comments. Noted by Martin Ziemer.
Some checks failed
Remind unit tests / tests (push) Failing after 29s
2024-11-15 09:19:17 -05:00
Dianne Skoll
553899127a Diagnose redefinition of built-in functions by checking newname before oldname
Some checks failed
Remind unit tests / tests (push) Failing after 30s
2024-11-14 22:27:54 -05:00
Dianne Skoll
73519889c7 Add UK Remembrance Day
Some checks failed
Remind unit tests / tests (push) Failing after 29s
2024-11-14 11:21:57 -05:00
Dianne Skoll
54ac99abcc Update WHATSNEW. 2024-11-14 10:42:44 -05:00
Dianne Skoll
0c1954bdf4 Bump version to 05.01.00
Some checks failed
Remind unit tests / tests (push) Failing after 44s
2024-11-14 10:36:45 -05:00
Dianne Skoll
46e1b7386e Don't allow FRENAME to attempt to rename a built-in function. 2024-11-14 10:17:33 -05:00
Dianne Skoll
cdf480112a Clarify that the CHAR(8) hack strips out the backspace. 2024-11-14 10:07:33 -05:00
Dianne Skoll
ed38feee83 Add $DefaultDelta system variable.
Some checks failed
Remind unit tests / tests (push) Failing after 27s
2024-11-13 22:00:42 -05:00
Dianne Skoll
d7f5582a45 Add a test for the msgsuffix char(8) hack. 2024-11-13 21:59:23 -05:00
Dianne Skoll
d042263d3d Add note about advance warning for holiday files. 2024-11-13 21:56:34 -05:00
Dianne Skoll
f1591140d4 - Add $DefaultDelta system variable.
- Make FRENAME delete definition of newname if oldname is not defined.
- Document FRENAME, $DefaultDelta and the char(8) hack.
2024-11-13 21:45:54 -05:00
Dianne Skoll
1b41367163 Start work on supporting a $DefaultDelta special variable. 2024-11-13 18:54:42 -05:00
Dianne Skoll
6bdee7ef89 Fix typo.
Some checks failed
Remind unit tests / tests (push) Failing after 31s
2024-11-13 18:02:21 -05:00
Dianne Skoll
d50b464314 Add hack: If msgsuffix() function value starts with '\b', put it BEFORE the newline in the substitution buffer. 2024-11-13 18:00:20 -05:00
Dianne Skoll
ad5dff1de7 Add tests for FRENAME 2024-11-13 17:49:31 -05:00
Dianne Skoll
ac9f32f044 Remove %"%" and deltas. 2024-11-13 17:32:10 -05:00
Dianne Skoll
e48d025f5d Add FRENAME to token list. 2024-11-13 17:30:15 -05:00
Dianne Skoll
0f5de395ff Add FRENAME command. 2024-11-13 17:29:32 -05:00
Dianne Skoll
406629144f Make dedup hash table a prime number. 2024-11-13 14:09:58 -05:00
Dianne Skoll
36e4f52828 Update README. 2024-11-13 14:08:15 -05:00
Dianne Skoll
ae39eb1d6e Suppress LRM in tests for ease of 'diff'ing output.
Some checks failed
Remind unit tests / tests (push) Failing after 30s
2024-11-12 23:31:25 -05:00
Dianne Skoll
342c229a57 Get dedup hash table stats; reduce slots to 32. 2024-11-12 21:56:27 -05:00
Dianne Skoll
52fc89ddc7 Fix typo
Some checks failed
Remind unit tests / tests (push) Failing after 30s
2024-11-12 16:02:50 -05:00
Dianne Skoll
821e7a64c8 More dedupe documentation. 2024-11-12 16:00:01 -05:00
Dianne Skoll
8c3f7e092c Clear dedupe table when queueing. 2024-11-12 10:35:25 -05:00
Dianne Skoll
6161214226 Add $DedupeReminders to emacs syntax highlighting. 2024-11-12 10:32:03 -05:00
Dianne Skoll
5b892eba8e Clearify how $DedupeReminders works.
Some checks failed
Remind unit tests / tests (push) Failing after 28s
2024-11-12 09:32:11 -05:00
Dianne Skoll
e0fde98410 Add $DedupeReminders global variable. 2024-11-12 09:26:31 -05:00
Dianne Skoll
aec17b3243 Add caveat note to ALL .rem files.
Some checks failed
Remind unit tests / tests (push) Failing after 28s
2024-11-11 17:17:07 -05:00
Dianne Skoll
83009e765d Direct people to read the README. 2024-11-11 17:12:40 -05:00
Dianne Skoll
42dc81132f Add a README; move discordian.rem and pagan.rem to top-level 2024-11-11 17:10:33 -05:00
Dianne Skoll
51d8b7be39 Use datepart to strip time from soleq 2024-11-11 12:23:51 -05:00
Dianne Skoll
04cc3fd8dd Add missing VN holiday. 2024-11-11 12:18:13 -05:00
Dianne Skoll
bd429d1450 Add Washington's Birthday for GA, IN 2024-11-11 12:11:49 -05:00
Dianne Skoll
57fa0bfb2e Add missing Midsommardagen to se.rem 2024-11-11 11:59:08 -05:00
Dianne Skoll
bc7f92e3c0 Add missing SA holidays. 2024-11-11 11:53:26 -05:00
Dianne Skoll
67ab911d43 Add missing Phillipines holidays. 2024-11-11 11:51:34 -05:00
Dianne Skoll
43191fc6a3 Add missing Paraguay holidays. 2024-11-11 10:39:39 -05:00
Dianne Skoll
da1cc9137c Add New Zealand subdivision files. 2024-11-11 10:27:46 -05:00
Dianne Skoll
1306195045 Add missing Mother's Day holiday for Madagascar. 2024-11-11 10:15:30 -05:00
Dianne Skoll
edb73548d6 Fix Laos bank holiday 2024-11-11 10:10:07 -05:00
Dianne Skoll
c143d554b7 Use Orthodox calendar for Christmas where appropriate.
Some checks failed
Remind unit tests / tests (push) Failing after 30s
2024-11-10 22:29:30 -05:00
Dianne Skoll
c2dbf32dd6 Use orthodoxeaster() rather than easterdate() for countries
that observe Easter on that date.
2024-11-10 21:31:10 -05:00
Dianne Skoll
a0e32c715b Add holidays courtesy of Michael DeBusk 2024-11-10 20:54:37 -05:00
Dianne Skoll
356e0044c4 Add missing Netherlands holidays. 2024-11-10 14:34:50 -05:00
Dianne Skoll
eea90b1aaa Always put ADDOMIT before SCANFROM for consistency.
Some checks failed
Remind unit tests / tests (push) Failing after 31s
2024-11-10 14:29:07 -05:00
Dianne Skoll
b2c5575849 Add missing Finnish holiday. 2024-11-10 14:26:04 -05:00
Dianne Skoll
7064d64b22 Add missing Ethiopian holidays. 2024-11-10 14:23:41 -05:00
Dianne Skoll
5783430fdd Update Curacao holidays. 2024-11-10 14:16:49 -05:00
Dianne Skoll
3e8c40990d Make sure all *.rem files under include/ have no errors. 2024-11-10 13:05:01 -05:00
Dianne Skoll
cbdc124355 Add spaces in CamelCase country names. 2024-11-10 11:41:40 -05:00
Dianne Skoll
40e60dd627 Add "# Optional holidays" comment before optional holiday blocks. 2024-11-10 11:23:10 -05:00
Dianne Skoll
e508bee0ed Correct implementation of _move_holiday. 2024-11-10 11:04:16 -05:00
Dianne Skoll
0200be82ba Sort cl.rem better. 2024-11-10 10:52:17 -05:00
Dianne Skoll
4c8b6e74d2 Fix the back-scanning logic for soleq 2024-11-10 10:47:29 -05:00
Dianne Skoll
bbdcf44102 Add Día Nacional de los Pueblos Indígenas 2024-11-10 10:45:04 -05:00
Dianne Skoll
02007a32fe Don't add "substitute day" label. 2024-11-10 10:40:02 -05:00
Dianne Skoll
fd7c79b6b4 Fix typos. 2024-11-10 10:21:12 -05:00
Dianne Skoll
c8c2d5d32e A few corrections from an updated conversion script from the Python library. 2024-11-10 10:18:43 -05:00
Dianne Skoll
4eafaaefeb Add missing Cambodian holidays.
All checks were successful
Remind unit tests / tests (push) Successful in 44s
2024-11-09 11:24:43 -05:00
Dianne Skoll
de6e387969 Add missing holidays. 2024-11-09 11:08:52 -05:00
Dianne Skoll
f8d1439fc8 Add some missing holidays. 2024-11-09 11:06:18 -05:00
Dianne Skoll
fd7079d7f8 Add missing Aruba holidays. 2024-11-09 10:55:29 -05:00
Dianne Skoll
1ccf1d236d Add missing NL holidays. 2024-11-09 10:49:41 -05:00
Dianne Skoll
7041e2cad8 Avoid warnings.
All checks were successful
Remind unit tests / tests (push) Successful in 25s
2024-11-08 20:46:19 -05:00
Dianne Skoll
b1b21e21b3 Untabify language files. 2024-11-08 20:42:00 -05:00
Dianne Skoll
533718b0a0 Massive whitespace cleanups: Untabify everything. 2024-11-08 20:30:13 -05:00
Dianne Skoll
4e75d1574c Don't need MAYBE-UNCOMPUTABLE after all.
All checks were successful
Remind unit tests / tests (push) Successful in 34s
2024-11-08 13:48:37 -05:00
Dianne Skoll
c94137e0b3 Change movable holiday logic. 2024-11-08 13:46:07 -05:00
Dianne Skoll
e49251cfb0 Yet more boxing day logic to fix. 2024-11-08 13:11:41 -05:00
Dianne Skoll
e3627e8ea3 Fix boxing day rules. 2024-11-08 13:08:34 -05:00
Dianne Skoll
2c1f44c9b9 Fix some offset-from-easter reminders. 2024-11-08 12:59:19 -05:00
Dianne Skoll
cce24634ae Fix up the OMIT SAT SUN BEFORE... logic. 2024-11-08 12:51:22 -05:00
Dianne Skoll
e2435c34a9 Bump version to 05.00.08 2024-11-08 12:43:30 -05:00
Dianne Skoll
a70ba8d42c Handle movable holidays to next/prior workday correctly. 2024-11-08 12:40:23 -05:00
Dianne Skoll
dea14be2d5 Add a whole whack of holiday files derived from the Python holidays project.
That project's repo is at https://github.com/vacanza/holidays
2024-11-08 12:06:49 -05:00
Dianne Skoll
6750a393f1 Add comment.
All checks were successful
Remind unit tests / tests (push) Successful in 3m33s
2024-11-06 11:54:30 -05:00
Dianne Skoll
e18cd72791 Add Japanese holidays courtesy of Brandon Wilson. 2024-11-06 11:49:57 -05:00
Dianne Skoll
6e1dc7dcd7 Don't SET any variables in holiday files.
All checks were successful
Remind unit tests / tests (push) Successful in 31s
2024-11-03 13:19:11 -05:00
Dianne Skoll
bf193250cc Don't SET any variables in a holiday file. 2024-11-03 13:18:16 -05:00
Dianne Skoll
2c5eeb02f6 Merge branch 'holidays_de' into 'master'
Add German holidays

See merge request dskoll/remind!6
2024-11-03 17:54:47 +00:00
Jochen Sprickerhof
5cd343c27c Add German holidays 2024-11-03 18:42:08 +01:00
Dianne Skoll
81b48b70c4 Change include policy so regional files do not include the country file. 2024-11-03 11:28:31 -05:00
674 changed files with 959451 additions and 12921 deletions

2
.gitignore vendored
View File

@@ -23,7 +23,6 @@ rem2pdf/Makefile.old
rem2pdf/Makefile.top
rem2pdf/bin/rem2pdf
scripts/tkremind
set-irc-topic
src/*.tar.gz*
src/Makefile
src/config.h
@@ -35,3 +34,4 @@ tests/test.out
www/Makefile
gmon.out
tests/once.timestamp
src/xlat.c

View File

@@ -3,7 +3,7 @@ THE REMIND COPYRIGHT
1. REMIND refers to the entire set of files and documentation in the
REMIND package.
2. REMIND is Copyright 1992-2024 Dianne Skoll, except where noted in
2. REMIND is Copyright (C) 1992-2025 Dianne Skoll, except where noted in
individual files.
3. DISTRIBUTION AND USE

View File

@@ -23,8 +23,7 @@ install:
@$(MAKE) -C rem2html install
@$(MAKE) -C rem2pdf -f Makefile.top install INSTALL_BASE=$(INSTALL_BASE)
clean:
find . -name '*~' -exec rm {} \;
-rm man/rem.1 man/rem2ps.1 man/remind.1 man/tkremind.1 scripts/tkremind
-find . -name '*~' -exec rm {} \;
-$(MAKE) -C src clean
-$(MAKE) -C rem2pdf clean
@@ -44,7 +43,8 @@ test:
@$(MAKE) -C src -s test
distclean: clean
rm -f config.cache config.log config.status src/Makefile src/config.h tests/test.out www/Makefile rem2pdf/Makefile.top rem2pdf/Makefile.old rem2pdf/Makefile rem2pdf/Makefile.PL rem2pdf/bin/rem2pdf rem2html/rem2html
-rm -f config.cache config.log config.status src/Makefile src/config.h tests/test.out www/Makefile rem2pdf/Makefile.top rem2pdf/Makefile.old rem2pdf/Makefile rem2pdf/Makefile.PL rem2pdf/bin/rem2pdf rem2html/rem2html
-rm -f man/rem.1 man/rem2ps.1 man/remind.1 man/tkremind.1 scripts/tkremind
src/Makefile: src/Makefile.in
./configure

78
README
View File

@@ -1,78 +0,0 @@
REMIND
Remind is a full-featured calendar/alarm program. Copying policy is
in the file "COPYRIGHT" in this directory.
Installation notes for various operating systems are in "docs". See
the appropriate README file for installation on your system.
Manual pages are in "man".
-----------------------------------------------------------------------------
Quick UNIX installation instructions for the very impatient:
If you have Tcl/Tk (wish 4.1 or higher) installed and are running X Windows:
--------------------------------------------------------------
1) Type: wish ./build.tk from this directory. Fill in the various
options and hit "Build Remind"
2) Type: "make install" -- you may need to be root to do this.
If you do NOT have Tcl/Tk or are NOT running X Windows:
-------------------------------------------------------
1) Edit the file "src/custom.h" according to your preferences.
2) Edit the file "src/lang.h" to choose a language.
3) Type: "./configure" (You can supply options; type "./configure --help"
for details.)
4) Type: "make"
5) Type: "make install" -- you may need to be root to do this.
PREREQUISITES:
--------------
Remind and rem2ps have no prerequisites beyond the standard C library and
the standard math library.
Rem2HTML requires the JSON::MaybeXS Perl module.
Rem2PDF requires the JSON::MaybeXS, Pango and Cairo Perl modules.
- On Debian-like systems, these prerequisites may be installed with:
apt install libjson-maybexs-perl libpango-perl libcairo-perl
- On RPM-based systems, you need perl-Pango, perl-Cairo and perl-JSON-MaybeXS
- On Gentoo, you need dev-perl/Pango, dev-perl/Cairo and dev-perl/JSON-MaybeXS.
- On Arch linux, you need pango-perl, cairo-perl and perl-json-maybexs
TkRemind requires Tcl/Tk and the tcllib library.
- On Debian-like systems, install with:
apt install tcl tk tcllib
- On RPM-based systems, you need tcl, tk and tcllib
- On Arch Linux, you need tk and tcllib. The latter is available at
https://aur.archlinux.org/packages/tcllib
If the little arrows for "Previous Month" and "Next Month" do not display
correctly in TkRemind, you may need to install the Noto Fonts. Install
all of your distribution's Nonto Font-related packages.
- On Debian-like systems, install with:
apt install fonts-noto-core fonts-noto-color-emoji \
fonts-noto-extra fonts-noto-ui-core fonts-noto-ui-extra
==========================================================================
Contact info: mailto:dianne@skoll.ca
Home page: https://dianne.skoll.ca/projects/remind/

63
README.md Normal file
View File

@@ -0,0 +1,63 @@
# REMIND
Remind is a full-featured calendar/alarm program. Copying policy is
in the file "COPYRIGHT" included with the source; Remind is licensed under
the GNU General Public License, Vesion 2.
## Prerequisites:
remind and rem2ps have no prerequisites beyond the standard C library and
the standard math library.
rem2html requires the JSON::MaybeXS Perl module and rem2pdf
requires the JSON::MaybeXS, Pango and Cairo Perl modules.
- On Debian-like systems, these prerequisites may be installed with:
`apt install libjson-maybexs-perl libpango-perl libcairo-perl`
- On RPM-based systems, you need `perl-Pango`, `perl-Cairo` and
`perl-JSON-MaybeXS`
- On Gentoo, you need `dev-perl/Pango`, `dev-perl/Cairo` and
`dev-perl/JSON-MaybeXS`.
- On Arch linux, you need `pango-perl`, `cairo-perl` and `perl-json-maybexs`
TkRemind requires Tcl/Tk and the tcllib library.
- On Debian-like systems, install with:
`apt install tcl tk tcllib`
- On RPM-based systems, you need `tcl`, `tk` and `tcllib`
- On Arch Linux, you need `tk` and `tcllib`. The latter is available at
https://aur.archlinux.org/packages/tcllib
If the little arrows for "Previous Month" and "Next Month" do not display
correctly in TkRemind, you may need to install the Noto Fonts. Install
all of your distribution's Nonto Font-related packages.
- On Debian-like systems, install with:
`apt install fonts-noto-core fonts-noto-color-emoji fonts-noto-extra fonts-noto-ui-core fonts-noto-ui-extra`
## Installation
Remind can be installed with the usual:
`./configure && make && make test && sudo make install`
You can edit custom.h to configure some aspects of Remind. Or, if
you have Tcl/Tk installed, you can use the graphical build tool to
edit custom.h on your behalf:
`wish ./build.tk`
---
Contact info: dianne@skoll.ca
Home page: [https://dianne.skoll.ca/projects/remind/](https://dianne.skoll.ca/projects/remind/)

View File

@@ -8,7 +8,7 @@
# A cheesy graphical front-end for building and installing REMIND.
#
# This file is part of REMIND.
# Copyright (C) 1992-2018 Dianne Skoll
# Copyright (C) 1992-2025 Dianne Skoll
#
#--------------------------------------------------------------
@@ -40,7 +40,6 @@ proc SetConfigDefaults {} {
set Config(TIMESEP) ":"
set Config(NORTHERN_HEMISPHERE) 1
set Config(WESTERN_HEMISPHERE) 1
set Config(LANGUAGE) "English"
set Config(INST_DIR) "/usr/local/bin"
set Config(MAN_DIR) "/usr/local/share/man"
}
@@ -242,32 +241,6 @@ proc CreateOptionsDialog { w } {
grid configure $w.timelabel -row 2 -column 0 -sticky e
grid configure $w.time -row 2 -column 1 -sticky nsew
label $w.langlabel -text "Language: "
menubutton $w.lang -text $Config(LANGUAGE) -indicatoron 1 -relief raised \
-menu $w.lang.menu
menu $w.lang.menu -tearoff 0
foreach lang {
"Brazilian Portuguese"
"Danish"
"Dutch"
"English"
"Finnish"
"French"
"German"
"Italian"
"Norwegian"
"Polish"
"Romanian"
"Spanish"
"Icelandic"
} {
$w.lang.menu add command -label $lang -command [list $w.lang configure -text $lang]
}
grid configure $w.langlabel -row 3 -column 0 -sticky e
grid configure $w.lang -row 3 -column 1 -sticky nsew
}
#***********************************************************************
@@ -491,32 +464,16 @@ proc CreateCustomH {} {
# %RETURNS:
# Nothing
# %DESCRIPTION:
# Runs "make" with appropriate language definitions
# Runs "make"
#***********************************************************************
proc CallMake {} {
global Options
set lang [$Options.lang cget -text]
switch -- $lang {
"German" { set lang GERMAN }
"Dutch" { set lang DUTCH }
"Finnish" { set lang FINNISH }
"French" { set lang FRENCH }
"Norwegian" { set lang NORWEGIAN }
"Danish" { set lang DANISH }
"Polish" { set lang POLISH }
"Brazilian Portuguese" { set lang BRAZPORT }
"Italian" { set lang ITALIAN }
"Romanian" { set lang ROMANIAN }
"Spanish" { set lang SPANISH }
"Icelandic" { set lang ICELANDIC }
default { set lang ENGLISH }
}
set nproc 0
catch { set nproc [exec nproc] }
if { $nproc != 0 } {
RunCommand "make -j $nproc \"LANGDEF=-DLANG=$lang\""
RunCommand "make -j $nproc"
} else {
RunCommand "make \"LANGDEF=-DLANG=$lang\""
RunCommand "make"
}
}
@@ -530,7 +487,7 @@ proc CallMake {} {
# Michael McLennan, Bell Labs Innovations for Lucent Technologies
# Addison-Wesley Professional Computing Series
# ======================================================================
# Copyright (c) 1996-1997 Lucent Technologies Inc. and Mark Harrison
# Copyright (C) 1996-1997 Lucent Technologies Inc. and Mark Harrison
# ======================================================================
option add *Tabnotebook.tabs.background #666666 widgetDefault
@@ -644,7 +601,7 @@ proc tabnotebook_display {win name} {
# Michael McLennan, Bell Labs Innovations for Lucent Technologies
# Addison-Wesley Professional Computing Series
# ======================================================================
# Copyright (c) 1996-1997 Lucent Technologies Inc. and Mark Harrison
# Copyright (C) 1996-1997 Lucent Technologies Inc. and Mark Harrison
# ======================================================================
option add *Notebook.borderWidth 2 widgetDefault
@@ -786,7 +743,6 @@ proc SetConfigFromRemind {} {
QueryRemind $rem LOCATION {$Location}
QueryRemind $rem DATESEP {$DateSep}
QueryRemind $rem TIMESEP {$TimeSep}
QueryRemind $rem LANGUAGE {language()}
set $Config(LAT_MIN) [expr abs($Config(LAT_MIN))]
set $Config(LAT_SEC) [expr abs($Config(LAT_SEC))]

18
configure vendored
View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for remind 05.00.07.
# Generated by GNU Autoconf 2.71 for remind 05.03.00.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -608,8 +608,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='remind'
PACKAGE_TARNAME='remind'
PACKAGE_VERSION='05.00.07'
PACKAGE_STRING='remind 05.00.07'
PACKAGE_VERSION='05.03.00'
PACKAGE_STRING='remind 05.03.00'
PACKAGE_BUGREPORT=''
PACKAGE_URL='https://dianne.skoll.ca/projects/remind/'
@@ -1265,7 +1265,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures remind 05.00.07 to adapt to many kinds of systems.
\`configure' configures remind 05.03.00 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1327,7 +1327,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of remind 05.00.07:";;
short | recursive ) echo "Configuration of remind 05.03.00:";;
esac
cat <<\_ACEOF
@@ -1415,7 +1415,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
remind configure 05.00.07
remind configure 05.03.00
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1865,7 +1865,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by remind $as_me 05.00.07, which was
It was created by remind $as_me 05.03.00, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -4710,7 +4710,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by remind $as_me 05.00.07, which was
This file was extended by remind $as_me 05.03.00, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -4775,7 +4775,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
remind config.status 05.00.07
remind config.status 05.03.00
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"

View File

@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(remind, 05.00.07, , , https://dianne.skoll.ca/projects/remind/)
AC_INIT(remind, 05.03.00, , , https://dianne.skoll.ca/projects/remind/)
AC_CONFIG_SRCDIR([src/queue.c])
cat <<'EOF'

View File

@@ -111,13 +111,14 @@
(sort
(list "ADDOMIT" "AFTER" "AT" "BAN" "BANNER" "BEFORE" "CAL" "CLEAR"
"CLEAR-OMIT-CONTEXT" "DEBUG" "DO" "DUMP" "DUMPVARS" "DURATION" "ELSE"
"ENDIF" "ERRMSG" "EXIT" "EXPR" "FIRST" "FLUSH" "FOURTH" "FROM" "FSET"
"FUNSET" "IF" "IFTRIG" "IN" "INC" "INCLUDE" "INCLUDECMD" "LAST"
"ENDIF" "ERRMSG" "EXIT" "EXPR" "FIRST" "FLUSH" "FOURTH" "FRENAME" "FROM" "FSET"
"FUNSET" "IF" "IFTRIG" "IN" "INC" "INCLUDE" "INCLUDECMD" "INFO" "LAST"
"LASTDAY" "LASTWORKDAY" "MAYBE" "MAYBE-UNCOMPUTABLE" "MSF" "MSG"
"NOQUEUE" "OMIT" "OMITFUNC" "ONCE" "POP" "POP-OMIT-CONTEXT" "PRESERVE"
"PRIORITY" "PS" "PSFILE" "PUSH" "PUSH-OMIT-CONTEXT" "REM" "RUN"
"SATISFY" "SCAN" "SCANFROM" "SCHED" "SECOND" "SET" "SKIP" "SPECIAL"
"TAG" "THIRD" "THROUGH" "UNSET" "UNTIL" "WARN")
"SYSINCLUDE" "TAG" "THIRD" "THROUGH" "TRANSLATE" "TRANS" "UNSET"
"UNTIL" "WARN")
#'(lambda (a b) (> (length a) (length b)))))
@@ -128,9 +129,10 @@
(defconst remind-builtin-variables
(sort
(list "$AddBlankLines" "$Ago" "$Am" "$And" "$April" "$At" "$August"
"$CalcUTC" "$CalMode" "$Daemon" "$DateSep" "$DateTimeSep" "$December"
"$DefaultColor" "$DefaultPrio" "$DefaultTDelta" "$DeltaOverride"
(list " $AddBlankLines" "$Ago" "$Am" "$And" "$April" "$At" "$August"
"$CalcUTC" "$CalMode" "$CalType" "$Daemon" "$DateSep" "$DateTimeSep"
"$December" "$DedupeReminders" "$DefaultColor" "$DefaultDelta"
"$DefaultPrio" "$DefaultTDelta" "$DeltaOverride"
"$DontFork" "$DontQueue" "$DontTrigAts" "$EndSent" "$EndSentIg"
"$ExpressionTimeLimit" "$February" "$FirstIndent" "$FoldYear"
"$FormWidth" "$Friday" "$Fromnow" "$Hour" "$Hplu" "$HushMode"
@@ -161,10 +163,10 @@
(defconst remind-builtin-functions
(sort
(list "abs" "access" "adawn" "adusk" "ampm" "ansicolor" "args" "asc"
(list "_" "abs" "access" "adawn" "adusk" "ampm" "ansicolor" "args" "asc"
"baseyr" "char" "choose" "coerce" "columns" "current" "date"
"datepart" "datetime" "dawn" "day" "daysinmon" "defined" "dosubst"
"dusk" "easterdate" "evaltrig" "filedate" "filedatetime" "filedir"
"dusk" "easterdate" "escape" "evaltrig" "filedate" "filedatetime" "filedir"
"filename" "getenv" "hebdate" "hebday" "hebmon" "hebyear" "hour"
"htmlescape" "htmlstriptags" "iif" "index" "isany" "isdst" "isleap"
"isomitted" "language" "localtoutc" "lower" "max" "min" "minsfromutc"
@@ -175,7 +177,7 @@
"slide" "soleq" "stdout" "strlen" "substr" "sunrise" "sunset" "time"
"timepart" "timezone" "today" "trig" "trigback" "trigdate"
"trigdatetime" "trigdelta" "trigduration" "trigeventduration"
"trigeventstart" "trigfrom" "trigger" "trigpriority" "trigrep"
"trigeventstart" "trigfrom" "trigger" "triginfo" "trigpriority" "trigrep"
"trigscanfrom" "trigtags" "trigtime" "trigtimedelta" "trigtimerep"
"triguntil" "trigvalid" "typeof" "tzconvert" "upper" "utctolocal"
"value" "version" "weekno" "wkday" "wkdaynum" "year")
@@ -187,21 +189,21 @@
(defvar remind-conf-command-face 'remind-conf-command-face
"Remind commands.")
(defface remind-conf-command-face
'((t :foreground "SeaGreen4" :bold t))
'((t :foreground "#FF8080"))
"Font Lock mode face used to highlight commands."
:group 'remind-conf)
(defvar remind-conf-keyword-face 'remind-conf-keyword-face
"Remind keywords.")
(defface remind-conf-keyword-face
'((t :foreground "blue violet"))
'((t :foreground "#FFFF80"))
"Font Lock mode face used to highlight keywords."
:group 'remind-conf)
(defvar remind-conf-substitutes-face 'remind-conf-substitutes-face
"Remind substitutes.")
(defface remind-conf-substitutes-face
'((t :foreground "blue2"))
'((t :foreground "#8080FF"))
"Font Lock mode face used to highlight substitutes."
:group 'remind-conf)
@@ -215,7 +217,7 @@
(defvar remind-conf-variable-face 'remind-conf-variable-face
"Remind variable.")
(defface remind-conf-variable-face
'((t :foreground "DeepPink2" :bold t))
'((t :foreground "#FF8080" :bold t))
"Font Lock mode face used to highlight commands."
:group 'remind-conf)
@@ -236,14 +238,14 @@
(defvar remind-comment-face 'remind-comment-face
"Remind comments.")
(defface remind-comment-face
'((t :foreground "brown"))
'((t :foreground "#FF7F24"))
"Font-lock face for highlighting comments."
:group 'remind-conf)
(defvar remind-string-face 'remind-string-face
"Remind strings.")
(defface remind-string-face
'((t :foreground "tomato"))
'((t :foreground "#FF7FE0"))
"Font lock mode face used to highlight strings."
:group 'remind-conf)
@@ -295,11 +297,11 @@
(defconst remind-conf-font-lock-keywords-1
(list
'("^\s*[\;\#].*$" . remind-comment-face)
'("\"[^\"]*\"" . remind-string-face)
'(remind-keywords-matcher . remind-conf-keyword-face)
'("%[\"_]" . font-lock-warning-face)
'("\\(%[a-mops-w]\\)" . remind-conf-substitutes-face)
'("\"[^\"]*\"" . remind-string-face))
"Minimal font-locking for `remind-conf-mode'.")
'("\\(%[a-z]\\)" . remind-conf-substitutes-face)
"Minimal font-locking for `remind-conf-mode'."))
(defconst remind-conf-font-lock-keywords-2
(append remind-conf-font-lock-keywords-1

View File

@@ -1,6 +1,6 @@
REMIND version 3.2 for UNIX
Remind for UNIX and Linux
REMIND is a sophisticated alarm/calendar program. Details are given
Remind is a sophisticated alarm/calendar program. Details are given
in the man page, "remind.1".
INSTALLING REMIND:
@@ -19,88 +19,13 @@ If you do NOT have Tcl/Tk or are NOT running X11:
1) Edit the file "src/custom.h" according to your preferences.
2) Edit the file "src/lang.h" to choose a language.
2) Type: "make"
3) Type: "make"
4) Type: "make install" -- you may need to be root to do this.
3) Type: "make install" -- you may need to be root to do this.
The subdirectory "www" contains scripts for making a nice calendar
web server. See the files README and Makefile in that directory.
The file "examples/defs.rem" has some sample Remind definitions and
commands, as well as U.S. and Jewish holidays.
OTHER LANGUAGE SUPPORT
Remind has support for languages other than English. See the file
"src/lang.h" for details. The language support may vary - you can change
only the substitution filter, or you can translate all of the usage
instructions and error messages as well. See "src/langs/french.h" for an
example of the latter.
To compile Remind for a non-english language, look at the constants
defined in "src/lang.h". Then, to compile Remind for Italian (as an
example), type:
make "LANGDEF=-DLANG=ITALIAN"
If you add support for a non-English language, Remind will accept both the
English and non-English names of months and weekdays in an input script.
However, you should not rely on this feature if you want to write portable
Remind scripts.
At a minimum, you should support month and day names in the foreign
language, and should modify the substitution filter appropriately.
If you are truly diligent, you can translate usage and error messages
too.
Take a look at the files "src/langs/english.h" and
"src/langs/german.h" if you want to add support for your favourite
language. If you do add another language to Remind, please let me
know! Here are the basic guidelines:
- Your language file should be called "src/langs/lxxx.h", where lxxx
is the first 8 characters of the ENGLISH name of your language.
- Your language file should define L_LANGNAME to be the full English
name of your language, with the first letter capitalized and the rest
lower-case.
- You can test your language file with the script "tests/tstlang.rem"
- Your localized strings must be encoded using UTF-8.
RELEASE NOTES -- miscellaneous info that couldn't go anywhere else!
1. POPUP REMINDERS
If you're running under X11 and you have the Tcl tools, you can create
simple pop-up reminders by creating the following Tcl script called
'popup'. It pops a message on to the screen and waits for you to
press the 'OK' button. If you don't press the OK button within 15
seconds, it exits anyway. To use it, you can use the '-k' option for
Remind as follows:
remind "-kpopup '%s'&" .reminders
Or use the following in your Remind script:
REM AT 17:00 RUN popup 'Time to go home.' &
This Tcl script is a slightly modified version of one submitted by
Norman Walsh.
-------------- Cut Here ---------- Cut Here ---------- Cut Here -------------
#!/usr/local/bin/wish
wm withdraw .
after 15000 { destroy . ; exit }
tk_messageBox -message Message -detail $argv -icon info -type ok
destroy .
exit
-------------- Cut Here ---------- Cut Here ---------- Cut Here -------------
--
Dianne Skoll <dianne@skoll.ca>
https://dianne.skoll.ca/projects/remind/

View File

@@ -1,5 +1,181 @@
CHANGES TO REMIND
* VERSION 5.3 Patch 0 - 2025-02-04
- NEW FEATURE: remind: Add the "INFO" clause to the REM command. This
is intended for storing additional metadata about an event, such as
the location and a longer description. The intention is to make
Remind <-> iCal conversions preserve as much information as possible.
- NEW FEATURE: rem2html, rem2pdf, tkremind: Add support for the "Url:"
info string that turns reminders into hyper-links. For example,
consider this reminder:
REM 15 INFO "Url: https://foo.example" MSG Foo
The text "Foo" will be made into a link to "https://foo.example"
by rem2html and rem2pdf. If you middle-click it in tkremind, it
will open the URL.
- NEW FEATURE: remind: Add the triginfo() built-in function so a reminder
body can refer to INFO data. Add the %<...> substitution filter as a
shorthand for [triginfo("...")]
- NEW FEATURE: TkRemind: Add "Location" and "Description" fields when
creating a reminder; these are converted to INFO clauses. Also support
a popup window with the extra information when hovering over a reminder
in the calendar display.
- IMPROVEMENT: Update the reminder files included with Remind to add
INFO strings with Wikipedia URLs for various holidays and
astronomical events.
- IMPROVEMENT: remind: Add the "\xAB" escape sequence for parsing quoted
strings, where "AB" is a pair of hex digits.
- NEW FUNCTION: remind: Add the escape() built-in function that converts
problematic characters within a string to the \-escaped versions.
It's essentially the inverse of how Remind parses a quoted string.
* VERSION 5.2 Patch 3 - 2025-01-22
- NEW FEATURE: remind: Add "TRANSLATE GENERATE" command for generating
a skeleton set of TRANSLATE commands to make it easier to localize
Remind.
- NEW FEATURE: remind: Add "q" debug flag for tracing calls to _()
or %(...) in the substitution filter; this will help with localizing
reminder files.
- NEW FILES: remind: Add holidays/lgbtq.rem for LGBTQ holidays. Add
country-specific files in holidays/lgbtq/*.rem
- IMPROVEMENT: TkRemind: use "info patchlevel" to display full Tcl/Tk
version.
- IMPROVEMENT: remind: The DEBUG command issues a warning if given an
unknown debug flag.
- BUG FIX: remind: "make test" will now succeed even if run between
23:55 and 00:00 UTC. This is done with a new --test flag for remind.
- BUG FIX: remind: Avoid potential buffer overflow if someone supplies
ridiculously-long translations for "am" or "pm".
* VERSION 5.2 Patch 2 - 2025-01-06
- NEW FEATURE: remind: The "-p+" option lets you produce weekly calendars;
so far, the rem2pdf and rem2html back-ends support rendering of weekly
calendars.
- NEW FEATURE: remind: The $CalType system variable indicates the type of
calendar being produced; its value is one of "monthly", "weekly",
or "none". "none" signifies agenda mode rather than calendar mode.
- IMPROVEMENT: remind: Warn if a POP-OMIT-CONTEXT matches a
PUSH-OMIT-CONTEXT that is in a different file.
- CHANGE: remind: Split the "-ds" debug option into two separate options:
"-ds" for debugging expression-parsing and "-dh" for printing hash
table statistics on exit.
* VERSION 5.2 Patch 1 - 2024-12-16
- BUG FIX: remind: Fix a logic error that only showed itself on big-endian
architectures. Found thanks to Debian testing and a notification from
Jochen Sprickerhof.
* VERSION 5.2 Patch 0 - 2024-12-16
- MAJOR NEW FEATURE: remind: Add the TRANSLATE command, the _()
built-in function and the %(...) substitution sequence. These allow
you to localize your reminder files more easily. The translation table
is also made available to back-ends like rem2pdf and tkremind,
which they can use as they see fit.
- MINOR FEATURE: tkremind, rem2html: Localize the names of the moon
phases.
- MAJOR CHANGE: remind: Remind used to support compile-time localization
into different languages (French, English, etc.) That compile-time
support has been removed and all localization is now done at run-time.
- NEW FEATURE: remind: In JSON daemon mode (-zj), the front-end can
request translation table entries from the Remind daemon, allowing the
front-end to localize messages.
- UPDATE: Update national holidays following update to upstream Python
library.
- MINOR FEATURE: Add standard include/sun.rem file for sunrise/sunset.
- MINOR FEATURE: The SYSINCLUDE command has been added. The command:
SYSINCLUDE foo/bar.rem
is equivalent to:
INCLUDE [$SysInclude]/foo/bar.rem
- MINOR IMPROVEMENT: Allow INCLUDE, DO and SYSINCLUDE to include files with
spaces in their names; in this case, you have to put the filename inside
double-quotes.
- IMPROVEMENT: remind: Refuse to open subdirectories named "*.rem"
under a top-level directory rather than trying and failing with a
confusing error.
- IMPROVEMENT: contrib/remind-conf-mode: Fix a few bugs and choose colors
that are easier on the eyes.
- IMPROVEMENT: remind: Remind used to have three completely separate
hash table implementations. They have all been replaced with a single
implementation; this new implementation adapts the hash table size based
on the number of entries and is dramatically faster than the old code
when there are a large number of entries.
- MINOR FIXES: remind: Fix typos in comments; use memcpy to copy OMIT
contexts internally.
- BUG FIX: remind: Actually allow the documented 9 levels of INCLUDE
rather than 8.
- BUG FIX: remind: If an INCLUDE statement failed inside an IF statement,
Remind would print spurious errors about unmatched IF/ENDIF. This has
been fixed.
* VERSION 5.1 Patch 1 - 2024-11-18
- BUG FIX: Fix a bug in test-rem that could have caused test failures.
Fix courtesy of Jochen Sprickerhof.
* VERSION 5.1 Patch 0 - 2024-11-18
- MAJOR IMPROVEMENT: Include holiday files for many countries and
regions, courtesy of the Python "holidays" project:
https://pypi.org/project/holidays/ See include/holidays/README
for usage instructions and important caveats
- NEW FEATURE: remind: Added the $DedupeReminders system variable; see
its documentation in the remind man page for details.
- NEW FEATURE: remind: Added the FRENAME command to rename a user-defined
function. See its documentation in the remind man page for use-cases.
- NEW FEATURE: remind: Added the $DefaultDelta system variable that
specifies a default (date) delta for reminders that lack one. It is
analogous to the default time delta system variable $DefaultTDelta.
- IMPROVEMENT: remind: Added a way for the output of msgsuffix() to appear
on the same line as a reminder rather than on the next line. See the
remind man page for details.
- UPDATE: contrib/ical2rem: Update to upstream version 0.8
- DOCUMENTATION FIXES: Many updates and clarifications to the man pages.
- BUG FIX: Fixed configure.ac so that autoreconf works.
* VERSION 5.0 Patch 7 - 2024-10-16
- NEW FEATURE: tkremind: Add option to create a desktop notification when

View File

@@ -21,7 +21,7 @@
# "#PSSTUFF" for nifty PostScript examples #
# #
# This file is part of REMIND. #
# Copyright (C) 1992-2024 Dianne Skoll #
# Copyright (C) 1992-2025 Dianne Skoll #
# SPDX-License-Identifier: GPL-2.0-only
# #
#############################################################################

View File

@@ -2,7 +2,7 @@
# Not all sequences are supported by all terminals.
# This file is part of REMIND
# REMIND is Copyright (C) 1992-2024 by Dianne Skoll
# REMIND is Copyright (C) 1992-2025 by Dianne Skoll
# SPDX-License-Identifier: GPL-2.0-only
if !defined("ansi_bold")

62
include/holidays/README Normal file
View File

@@ -0,0 +1,62 @@
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
FRENAME msgsuffix saved_msgsuffix
# Save old value of $DefaultDelta
SET old_delta $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 version of msgsuffix and $DefaultDelta
FRENAME saved_msgsuffix msgsuffix
SET $DefaultDelta old_delta

28
include/holidays/ad.rem Normal file
View File

@@ -0,0 +1,28 @@
# SPDX-License-Identifier: MIT
# Holiday file for Andorra
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
#
# Note: This file consists only of the country-wide
# holidays for Andorra.
#
# For region-specific holidays, you need to include
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/ad/
OMIT 1 January MSG New Year's Day
OMIT 6 January MSG Epiphany
OMIT [easterdate($Uy)-47] MSG Carnival
OMIT 14 March MSG Constitution Day
OMIT [easterdate($Uy)-2] MSG Good Friday
OMIT [easterdate($Uy)+1] MSG Easter Monday
OMIT 1 May MSG Labor Day
OMIT [easterdate($Uy)+50] MSG Whit Monday
OMIT 15 August MSG Assumption Day
OMIT 8 September MSG National Day
OMIT 1 November MSG All Saints' Day
OMIT 8 December MSG Immaculate Conception Day
OMIT 25 December MSG Christmas Day
OMIT 26 December MSG Saint Stephen's Day

View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 02 in Andorra
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 02.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
REM Third Saturday in July ADDOMIT SCANFROM -28 MSG Canillo Annual Festival
REM Sunday 16 July ADDOMIT SCANFROM -28 MSG Canillo Annual Festival
REM Monday 17 July ADDOMIT SCANFROM -28 MSG Canillo Annual Festival

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 03 in Andorra
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 03.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
OMIT 15 August MSG Encamp Annual Festival
OMIT 16 August MSG Encamp Annual Festival

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 04 in Andorra
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 04.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
OMIT 15 August MSG La Massana Annual Festival
OMIT 16 August MSG La Massana Annual Festival

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 05 in Andorra
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 05.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
OMIT 15 August MSG Ordino Annual Festival
OMIT 16 August MSG Ordino Annual Festival

View File

@@ -0,0 +1,16 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 06 in Andorra
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 06.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
REM Friday 23 July ADDOMIT SCANFROM -28 MSG Sant Julià de Lòria Annual Festival
REM Saturday 24 July ADDOMIT SCANFROM -28 MSG Sant Julià de Lòria Annual Festival
REM Sunday 25 July ADDOMIT SCANFROM -28 MSG Sant Julià de Lòria Annual Festival
REM Monday 26 July ADDOMIT SCANFROM -28 MSG Sant Julià de Lòria Annual Festival

View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 07 in Andorra
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 07.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
REM First Saturday in August ADDOMIT SCANFROM -28 MSG Andorra la Vella Annual Festival
REM Sunday 2 August ADDOMIT SCANFROM -28 MSG Andorra la Vella Annual Festival
REM Monday 3 August ADDOMIT SCANFROM -28 MSG Andorra la Vella Annual Festival

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 08 in Andorra
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 08.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
OMIT 25 July MSG Escaldes-Engordany Annual Festival
OMIT 26 July MSG Escaldes-Engordany Annual Festival

10
include/holidays/ae.rem Normal file
View File

@@ -0,0 +1,10 @@
# SPDX-License-Identifier: MIT
# Holiday file for United Arab Emirates
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG رأس السنة الميلادية
OMIT 2 December MSG اليوم الوطني
OMIT 3 December MSG اليوم الوطني

33
include/holidays/al.rem Normal file
View File

@@ -0,0 +1,33 @@
# SPDX-License-Identifier: MIT
# Holiday file for Albania
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Festat e Vitit të Ri
REM 1 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1))==0 || wkdaynum(date($Ty, 1, 1))==6] MSG Festat e Vitit të Ri (ditë pushimi e shtyrë)
OMIT 2 January MSG Festat e Vitit të Ri
REM 2 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 2))==0 || wkdaynum(date($Ty, 1, 2))==6] MSG Festat e Vitit të Ri (ditë pushimi e shtyrë)
OMIT 14 March MSG Dita e Verës
REM 14 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 14))==0 || wkdaynum(date($Ty, 3, 14))==6] MSG Dita e Verës (ditë pushimi e shtyrë)
OMIT 22 March MSG Dita e Nevruzit
REM 22 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 22))==0 || wkdaynum(date($Ty, 3, 22))==6] MSG Dita e Nevruzit (ditë pushimi e shtyrë)
REM 31 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 31))==0 || wkdaynum(date($Ty, 3, 31))==6] MSG E diela e Pashkëve Katolike (ditë pushimi e shtyrë)
OMIT [easterdate($Uy)] MSG E diela e Pashkëve Katolike
OMIT [easterdate($Uy)] MSG E diela e Pashkëve Ortodokse
OMIT 1 May MSG Dita Ndërkombëtare e Punëtorëve
REM 1 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1))==0 || wkdaynum(date($Ty, 5, 1))==6] MSG Dita Ndërkombëtare e Punëtorëve (ditë pushimi e shtyrë)
REM 5 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 5))==0 || wkdaynum(date($Ty, 5, 5))==6] MSG E diela e Pashkëve Ortodokse (ditë pushimi e shtyrë)
OMIT 5 September MSG Dita e Shenjtërimit të Shenjt Terezës
REM 5 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 9, 5))==0 || wkdaynum(date($Ty, 9, 5))==6] MSG Dita e Shenjtërimit të Shenjt Terezës (ditë pushimi e shtyrë)
OMIT 22 November MSG Dita e Alfabetit
REM 22 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 22))==0 || wkdaynum(date($Ty, 11, 22))==6] MSG Dita e Alfabetit (ditë pushimi e shtyrë)
OMIT 28 November MSG Dita Flamurit dhe e Pavarësisë
REM 28 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 28))==0 || wkdaynum(date($Ty, 11, 28))==6] MSG Dita Flamurit dhe e Pavarësisë (ditë pushimi e shtyrë)
OMIT 29 November MSG Dita e Çlirimit
REM 29 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 29))==0 || wkdaynum(date($Ty, 11, 29))==6] MSG Dita e Çlirimit (ditë pushimi e shtyrë)
OMIT 8 December MSG Dita Kombëtare e Rinisë
REM 8 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 8))==0 || wkdaynum(date($Ty, 12, 8))==6] MSG Dita Kombëtare e Rinisë (ditë pushimi e shtyrë)
OMIT 25 December MSG Krishtlindjet
REM 25 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25))==0 || wkdaynum(date($Ty, 12, 25))==6] MSG Krishtlindjet (ditë pushimi e shtyrë)

19
include/holidays/am.rem Normal file
View File

@@ -0,0 +1,19 @@
# SPDX-License-Identifier: MIT
# Holiday file for Armenia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Նոր տարվա օր
OMIT 2 January MSG Նոր տարվա օր
OMIT 6 January MSG Սուրբ Ծնունդ եւ Հայտնություն
OMIT 28 January MSG Բանակի օր
OMIT 8 March MSG Կանանց տոն
OMIT 24 April MSG Եղեռնի զոհերի հիշատակի օր
OMIT 1 May MSG Աշխատանքի օր
OMIT 9 May MSG Հաղթանակի և Խաղաղության տոն
OMIT 28 May MSG Հանրապետության օր
OMIT 5 July MSG Սահմանադրության օր
OMIT 21 September MSG Անկախության օր
OMIT 31 December MSG Նոր տարվա գիշեր

41
include/holidays/ao.rem Normal file
View File

@@ -0,0 +1,41 @@
# SPDX-License-Identifier: MIT
# Holiday file for Angola
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Dia do Ano Novo
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 4] MSG Dia do Ano Novo (ponte)
REM 3 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 4)) == 2] MSG Dia do Início da Luta Armada de Libertação Nacional (ponte)
OMIT 4 February MSG Dia do Início da Luta Armada de Libertação Nacional
REM 5 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 4)) == 4] MSG Dia do Início da Luta Armada de Libertação Nacional (ponte)
REM 12 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 13)) == 2] MSG Dia do Carnaval (ponte)
REM 14 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 13)) == 4] MSG Dia do Carnaval (ponte)
OMIT [easterdate($Uy)-47] MSG Dia do Carnaval
REM 7 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 8)) == 2] MSG Dia Internacional da Mulher (ponte)
OMIT 8 March MSG Dia Internacional da Mulher
REM 9 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 8)) == 4] MSG Dia Internacional da Mulher (ponte)
REM 22 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 23)) == 2] MSG Dia da Libertação da África Austral (ponte)
OMIT 23 March MSG Dia da Libertação da África Austral
REM 24 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 23)) == 4] MSG Dia da Libertação da África Austral (ponte)
REM 3 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 4)) == 2] MSG Dia da Paz e Reconciliação Nacional (ponte)
OMIT 4 April MSG Dia da Paz e Reconciliação Nacional
REM 5 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 4)) == 4] MSG Dia da Paz e Reconciliação Nacional (ponte)
OMIT [easterdate($Uy)-2] MSG Sexta-Feira Santa
REM 30 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 2] MSG Dia Internacional do Trabalhador (ponte)
OMIT 1 May MSG Dia Internacional do Trabalhador
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 4] MSG Dia Internacional do Trabalhador (ponte)
REM 16 September ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 9, 17)) == 2] MSG Dia do Fundador da Nação e do Herói Nacional (ponte)
OMIT 17 September MSG Dia do Fundador da Nação e do Herói Nacional
REM 18 September ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 9, 17)) == 4] MSG Dia do Fundador da Nação e do Herói Nacional (ponte)
REM 1 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 2)) == 2] MSG Dia dos Finados (ponte)
OMIT 2 November MSG Dia dos Finados
REM 3 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 2)) == 4] MSG Dia dos Finados (ponte)
REM 10 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 11)) == 2] MSG Dia da Independência Nacional (ponte)
OMIT 11 November MSG Dia da Independência Nacional
REM 12 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 11)) == 4] MSG Dia da Independência Nacional (ponte)
REM 24 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 2] MSG Dia de Natal e da Família (ponte)
OMIT 25 December MSG Dia de Natal e da Família
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 4] MSG Dia de Natal e da Família (ponte)
REM 31 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 2] MSG Dia do Ano Novo (ponte)

38
include/holidays/ar.rem Normal file
View File

@@ -0,0 +1,38 @@
# SPDX-License-Identifier: MIT
# Holiday file for Argentina
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Año Nuevo
OMIT [easterdate($Uy)-48] MSG Día de Carnaval
OMIT [easterdate($Uy)-47] MSG Día de Carnaval
OMIT 24 March MSG Día Nacional de la Memoria por la Verdad y la Justicia
OMIT 2 April MSG Día del Veterano y de los Caidos en la Guerra de Malvinas
OMIT [easterdate($Uy)-2] MSG Viernes Santo
OMIT 1 May MSG Día del Trabajo
OMIT 25 May MSG Día de la Revolución de Mayo
REM 15 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 17)) == 3] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
REM 16 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 17)) == 2] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
REM 17 June ADDOMIT SCANFROM -28 SATISFY [$Tw != 2 && $Tw != 3 && $Tw != 4] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
OMIT 20 June MSG Paso a la Inmortalidad del General Don Manuel Belgrano
REM 21 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 17)) == 4] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
OMIT 9 July MSG Día de la Independencia
REM 15 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 17)) == 3] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 16 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 17)) == 2] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 17 August ADDOMIT SCANFROM -28 SATISFY [$Tw != 2 && $Tw != 3 && $Tw != 4 && $Tw != 5] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 20 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 17)) == 5] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 21 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 17)) == 4] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 10 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 12)) == 3] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 11 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 12)) == 2] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 12 October ADDOMIT SCANFROM -28 SATISFY [$Tw != 2 && $Tw != 3 && $Tw != 4 && $Tw != 5] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 15 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 12)) == 5] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 16 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 12)) == 4] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 18 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 20)) == 3] MSG Día de la Soberanía Nacional (observado)
REM 19 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 20)) == 2] MSG Día de la Soberanía Nacional (observado)
REM 20 November ADDOMIT SCANFROM -28 SATISFY [$Tw != 2 && $Tw != 3 && $Tw != 4 && $Tw != 5] MSG Día de la Soberanía Nacional (observado)
REM 23 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 20)) == 5] MSG Día de la Soberanía Nacional (observado)
REM 24 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 20)) == 4] MSG Día de la Soberanía Nacional (observado)
OMIT 8 December MSG Inmaculada Concepción de María
OMIT 25 December MSG Navidad

40
include/holidays/as.rem Normal file
View File

@@ -0,0 +1,40 @@
# SPDX-License-Identifier: MIT
# Holiday file for American Samoa
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG New Year's Day
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM Third Monday in January ADDOMIT SCANFROM -28 MSG Martin Luther King Jr. Day
REM Third Monday in February ADDOMIT SCANFROM -28 MSG Washington's Birthday
REM 16 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 17)) == 6] MSG American Samoa Flag Day (observed)
OMIT 17 April MSG American Samoa Flag Day
REM 18 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 17)) == 0] MSG American Samoa Flag Day (observed)
REM Last Monday in May ADDOMIT SCANFROM -28 MSG Memorial Day
REM 18 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 19)) == 6] MSG Juneteenth National Independence Day (observed)
OMIT 19 June MSG Juneteenth National Independence Day
REM 20 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 19)) == 0] MSG Juneteenth National Independence Day (observed)
REM 3 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 4)) == 6] MSG Independence Day (observed)
OMIT 4 July MSG Independence Day
REM 5 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 4)) == 0] MSG Independence Day (observed)
REM 15 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 16)) == 6] MSG Manu'a Islands Cession Day (observed)
OMIT 16 July MSG Manu'a Islands Cession Day
REM 17 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 16)) == 0] MSG Manu'a Islands Cession Day (observed)
REM First Monday in September ADDOMIT SCANFROM -28 MSG Labor Day
REM Second Monday in October ADDOMIT SCANFROM -28 MSG Columbus Day
REM Second Sunday in October ADDOMIT SCANFROM -28 MSG White Sunday
REM 10 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 11)) == 6] MSG Veterans Day (observed)
OMIT 11 November MSG Veterans Day
REM 12 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 11)) == 0] MSG Veterans Day (observed)
REM Fourth Thursday in November ADDOMIT SCANFROM -28 MSG Thanksgiving
REM 24 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
OMIT 25 December MSG Christmas Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 31 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
# Optional holidays
REM 14 February MSG Valentine's Day
REM 17 March MSG Saint Patrick's Day
REM 31 October MSG Halloween

32
include/holidays/at.rem Normal file
View File

@@ -0,0 +1,32 @@
# SPDX-License-Identifier: MIT
# Holiday file for Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
#
# Note: This file consists only of the country-wide
# holidays for Austria.
#
# For region-specific holidays, you need to include
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/at/
OMIT 1 January MSG Neujahr
OMIT 6 January MSG Heilige Drei Könige
OMIT [easterdate($Uy)+1] MSG Ostermontag
OMIT 1 May MSG Staatsfeiertag
OMIT [easterdate($Uy)+39] MSG Christi Himmelfahrt
OMIT [easterdate($Uy)+50] MSG Pfingstmontag
OMIT [easterdate($Uy)+60] MSG Fronleichnam
OMIT 15 August MSG Mariä Himmelfahrt
OMIT 26 October MSG Nationalfeiertag
OMIT 1 November MSG Allerheiligen
OMIT 8 December MSG Mariä Empfängnis
OMIT 25 December MSG Christtag
OMIT 26 December MSG Stefanitag
# Optional holidays
REM [easterdate($Uy)-2] MSG Karfreitag
REM 24 December MSG Heiliger Abend
REM 31 December MSG Silvester

15
include/holidays/at/1.rem Normal file
View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 1 in Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 1.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# Optional holidays
REM 11 November MSG Hl. Martin

16
include/holidays/at/2.rem Normal file
View File

@@ -0,0 +1,16 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 2 in Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 2.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef
REM 10 October MSG Tag der Volksabstimmung

15
include/holidays/at/3.rem Normal file
View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 3 in Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 3.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# Optional holidays
REM 15 November MSG Hl. Leopold

15
include/holidays/at/4.rem Normal file
View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 4 in Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 4.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# Optional holidays
REM 4 May MSG Hl. Florian

15
include/holidays/at/5.rem Normal file
View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 5 in Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 5.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# Optional holidays
REM 24 September MSG Hl. Rupert

15
include/holidays/at/6.rem Normal file
View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 6 in Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 6.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef

15
include/holidays/at/7.rem Normal file
View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 7 in Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 7.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef

15
include/holidays/at/8.rem Normal file
View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 8 in Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 8.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef

15
include/holidays/at/9.rem Normal file
View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision 9 in Austria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision 9.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# Optional holidays
REM 15 November MSG Hl. Leopold

21
include/holidays/au.rem Normal file
View File

@@ -0,0 +1,21 @@
# SPDX-License-Identifier: MIT
# Holiday file for Australia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
#
# Note: This file consists only of the country-wide
# holidays for Australia.
#
# For region-specific holidays, you need to include
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/au/
OMIT 1 January MSG New Year's Day
OMIT 26 January MSG Australia Day
OMIT [easterdate($Uy)-2] MSG Good Friday
OMIT [easterdate($Uy)+1] MSG Easter Monday
OMIT 25 April MSG ANZAC Day
OMIT 25 December MSG Christmas Day
OMIT 26 December MSG Boxing Day

View File

@@ -0,0 +1,27 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision ACT in Australia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision ACT.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM Second Monday in March ADDOMIT SCANFROM -28 MSG Canberra Day
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM Monday 27 May ADDOMIT SCANFROM -28 MSG Reconciliation Day
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM First Monday in October ADDOMIT SCANFROM -28 MSG Labour Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
# Optional holidays
REM First Monday in August SCANFROM -28 MSG Bank Holiday

View File

@@ -0,0 +1,25 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision NSW in Australia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision NSW.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM First Monday in October ADDOMIT SCANFROM -28 MSG Labour Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
# Optional holidays
REM First Monday in August SCANFROM -28 MSG Bank Holiday

View File

@@ -0,0 +1,28 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision NT in Australia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision NT.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM First Monday in May ADDOMIT SCANFROM -28 MSG May Day
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM First Monday in August ADDOMIT SCANFROM -28 MSG Picnic Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 1] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
# Optional holidays
REM 24 December MSG Christmas Eve (from 7pm)
REM 31 December MSG New Year's Eve (from 7pm)

View File

@@ -0,0 +1,23 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision QLD in Australia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision QLD.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM First Monday in May ADDOMIT SCANFROM -28 MSG Labour Day
REM Wednesday 10 August ADDOMIT SCANFROM -28 MSG The Royal Queensland Show
REM First Monday in October ADDOMIT SCANFROM -28 MSG King's Birthday
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)

View File

@@ -0,0 +1,29 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision SA in Australia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision SA.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM Second Monday in March ADDOMIT SCANFROM -28 MSG Adelaide Cup Day
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM First Monday in October ADDOMIT SCANFROM -28 MSG Labour Day
OMIT 26 December MSG Proclamation Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 1] MSG Proclamation Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Proclamation Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Proclamation Day (observed)
# Optional holidays
REM 24 December MSG Christmas Eve (from 7pm)
REM 31 December MSG New Year's Eve (from 7pm)

View File

@@ -0,0 +1,16 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision TAS in Australia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision TAS.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
REM Second Monday in March ADDOMIT SCANFROM -28 MSG Eight Hours Day
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)

View File

@@ -0,0 +1,24 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision VIC in Australia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision VIC.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM Second Monday in March ADDOMIT SCANFROM -28 MSG Labour Day
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM Saturday 1 October --8 ADDOMIT SCANFROM -28 MSG Grand Final Day
REM First Tuesday in November ADDOMIT SCANFROM -28 MSG Melbourne Cup Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)

View File

@@ -0,0 +1,24 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision WA in Australia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision WA.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM First Monday in March ADDOMIT SCANFROM -28 MSG Labour Day
OMIT [easterdate($Uy)] MSG Easter Sunday
REM 26 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 25)) == 0] MSG ANZAC Day (observed)
REM 27 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 25)) == 6] MSG ANZAC Day (observed)
REM First Monday in June ADDOMIT SCANFROM -28 MSG Western Australia Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 1] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)

19
include/holidays/aw.rem Normal file
View File

@@ -0,0 +1,19 @@
# SPDX-License-Identifier: MIT
# Holiday file for Aruba
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Aña Nobo
OMIT 25 January MSG Dia di Betico
OMIT [easterdate($Uy)-48] MSG Dialuna prome cu diaranson di shinish
OMIT 18 March MSG Dia di Himno y Bandera
OMIT [easterdate($Uy)-2] MSG Bierna Santo
OMIT [easterdate($Uy)+1] MSG Di dos dia di Pasco di Resureccion
OMIT 1 May MSG Dia di Obrero
OMIT [easterdate($Uy)+39] MSG Dia di Asuncion
REM 31 August ADDOMIT SCANFROM -28 SATISFY [$Tw != 0] MSG Dia di Rey
REM 1 September ADDOMIT SCANFROM -28 SATISFY [$Tw == 1] MSG Dia di Rey
OMIT 25 December MSG Pasco di Nacemento
OMIT 26 December MSG Di dos dia di Pasco di Nacemento

44
include/holidays/az.rem Normal file
View File

@@ -0,0 +1,44 @@
# SPDX-License-Identifier: MIT
# Holiday file for Azerbaijan
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Yeni il bayramı
REM 1 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1))==0 || wkdaynum(date($Ty, 1, 1))==6] MSG Yeni il bayramı (müşahidə olunur)
OMIT 2 January MSG Yeni il bayramı
REM 2 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 2))==0 || wkdaynum(date($Ty, 1, 2))==6] MSG Yeni il bayramı (müşahidə olunur)
OMIT 20 January MSG Ümumxalq hüzn günü
OMIT 8 March MSG Qadınlar günü
REM 8 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 8))==0 || wkdaynum(date($Ty, 3, 8))==6] MSG Qadınlar günü (müşahidə olunur)
OMIT 20 March MSG Novruz bayramı
REM 20 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 20))==0 || wkdaynum(date($Ty, 3, 20))==6] MSG Novruz bayramı (müşahidə olunur)
OMIT 21 March MSG Novruz bayramı
REM 21 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 21))==0 || wkdaynum(date($Ty, 3, 21))==6] MSG Novruz bayramı (müşahidə olunur)
OMIT 22 March MSG Novruz bayramı
REM 22 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 22))==0 || wkdaynum(date($Ty, 3, 22))==6] MSG Novruz bayramı (müşahidə olunur)
OMIT 23 March MSG Novruz bayramı
REM 23 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 23))==0 || wkdaynum(date($Ty, 3, 23))==6] MSG Novruz bayramı (müşahidə olunur)
OMIT 24 March MSG Novruz bayramı
REM 24 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 24))==0 || wkdaynum(date($Ty, 3, 24))==6] MSG Novruz bayramı (müşahidə olunur)
OMIT 9 May MSG Faşizm üzərində qələbə günü
REM 9 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 9))==0 || wkdaynum(date($Ty, 5, 9))==6] MSG Faşizm üzərində qələbə günü (müşahidə olunur)
OMIT 28 May MSG Müstəqillik Günü
REM 28 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 28))==0 || wkdaynum(date($Ty, 5, 28))==6] MSG Müstəqillik Günü (müşahidə olunur)
OMIT 15 June MSG Azərbaycan xalqının milli qurtuluş günü
REM 15 June OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 15))==0 || wkdaynum(date($Ty, 6, 15))==6] MSG Azərbaycan xalqının milli qurtuluş günü (müşahidə olunur)
OMIT 26 June MSG Azərbaycan Respublikasının Silahlı Qüvvələri günü
REM 26 June OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 26))==0 || wkdaynum(date($Ty, 6, 26))==6] MSG Azərbaycan Respublikasının Silahlı Qüvvələri günü (müşahidə olunur)
OMIT 8 November MSG Zəfər Günü
REM 8 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 8))==0 || wkdaynum(date($Ty, 11, 8))==6] MSG Zəfər Günü (müşahidə olunur)
OMIT 9 November MSG Azərbaycan Respublikasının Dövlət bayrağı günü
REM 9 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 9))==0 || wkdaynum(date($Ty, 11, 9))==6] MSG Azərbaycan Respublikasının Dövlət bayrağı günü (müşahidə olunur)
OMIT 31 December MSG Dünya azərbaycanlılarının həmrəyliyi günü
REM 31 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 31))==0 || wkdaynum(date($Ty, 12, 31))==6] MSG Dünya azərbaycanlılarının həmrəyliyi günü (müşahidə olunur)
# Optional holidays
REM 27 September MSG Anım Günü
REM 18 October MSG Müstəqilliyin Bərpası Günü
REM 12 November MSG Konstitusiya Günü
REM 17 November MSG Milli Dirçəliş Günü

22
include/holidays/ba.rem Normal file
View File

@@ -0,0 +1,22 @@
# SPDX-License-Identifier: MIT
# Holiday file for Bosnia And Herzegovina
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
#
# Note: This file consists only of the country-wide
# holidays for Bosnia And Herzegovina.
#
# For region-specific holidays, you need to include
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/ba/
OMIT 1 January MSG Nova godina
OMIT 2 January MSG Nova godina
OMIT 7 January MSG Božić (Pravoslavni)
OMIT [orthodoxeaster($Uy)-2] MSG Veliki petak (Pravoslavni)
OMIT [orthodoxeaster($Uy)+1] MSG Uskrsni ponedjeljak (Katolički)
OMIT 1 May MSG Međunarodni praznik rada
OMIT 2 May MSG Međunarodni praznik rada
OMIT 25 December MSG Božić (Katolički)

View File

@@ -0,0 +1,23 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision BIH in Bosnia And Herzegovina
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision BIH.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ba.rem
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Nova godina (preneseno)
OMIT 6 January MSG Badnji dan (Pravoslavni)
OMIT 1 March MSG Dan nezavisnosti
OMIT [orthodoxeaster($Uy)-2] MSG Veliki petak (Katolički)
OMIT [orthodoxeaster($Uy)] MSG Uskrs (Katolički)
OMIT [orthodoxeaster($Uy)] MSG Vaskrs (Pravoslavni)
OMIT [orthodoxeaster($Uy)+1] MSG Uskrsni ponedjeljak (Pravoslavni)
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Međunarodni praznik rada (preneseno)
OMIT 9 May MSG Dan pobjede nad fašizmom
OMIT 25 November MSG Dan državnosti
OMIT 24 December MSG Badnji dan (Katolički)

View File

@@ -0,0 +1,20 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision BRC in Bosnia And Herzegovina
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision BRC.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ba.rem
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Nova godina (preneseno)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG Nova godina (preneseno)
REM 8 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 7)) == 0] MSG Božić (Pravoslavni) (preneseno)
OMIT 8 March MSG Dan uspostavljanja Brčko distrikta
REM 9 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 8)) == 0] MSG Dan uspostavljanja Brčko distrikta (preneseno)
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Međunarodni praznik rada (preneseno)
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 6] MSG Međunarodni praznik rada (preneseno)
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Božić (Katolički) (preneseno)

View File

@@ -0,0 +1,23 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision SRP in Bosnia And Herzegovina
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision SRP.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ba.rem
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG Nova godina (preneseno)
OMIT 6 January MSG Badnji dan (Pravoslavni)
OMIT 14 January MSG Pravoslavna Nova godina
OMIT [orthodoxeaster($Uy)-2] MSG Veliki petak (Katolički)
OMIT [orthodoxeaster($Uy)] MSG Uskrs (Katolički)
OMIT [orthodoxeaster($Uy)] MSG Vaskrs (Pravoslavni)
OMIT [orthodoxeaster($Uy)+1] MSG Uskrsni ponedjeljak (Pravoslavni)
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 6] MSG Međunarodni praznik rada (preneseno)
OMIT 9 May MSG Dan pobjede nad fašizmom
OMIT 21 November MSG Dan uspostave Opšteg okvirnog sporazuma za mir u Bosni i Hercegovini
OMIT 24 December MSG Badnji dan (Katolički)

28
include/holidays/bb.rem Normal file
View File

@@ -0,0 +1,28 @@
# SPDX-License-Identifier: MIT
# Holiday file for Barbados
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG New Year's Day
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
OMIT 21 January MSG Errol Barrow Day
REM 22 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 21)) == 0] MSG Errol Barrow Day (observed)
OMIT [easterdate($Uy)-2] MSG Good Friday
OMIT [easterdate($Uy)+1] MSG Easter Monday
OMIT 28 April MSG National Heroes Day
REM 29 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 28)) == 0] MSG National Heroes Day (observed)
OMIT 1 May MSG May Day
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG May Day (observed)
OMIT [easterdate($Uy)+50] MSG Whit Monday
OMIT 1 August MSG Emancipation Day
REM First Monday in August ADDOMIT SCANFROM -28 MSG Kadooment Day
REM 2 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 1)) == 1] MSG Emancipation Day (observed)
REM 3 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 1)) == 0] MSG Emancipation Day (observed)
OMIT 30 November MSG Independence Day
REM 1 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 30)) == 0] MSG Independence Day (observed)
OMIT 25 December MSG Christmas Day
OMIT 26 December MSG Boxing Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)

14
include/holidays/bd.rem Normal file
View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for Bangladesh
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 21 February MSG International Mother's language Day
OMIT 17 March MSG Sheikh Mujibur Rahman's Birthday and Children's Day
OMIT 26 March MSG Independence Day
OMIT 14 April MSG Bengali New Year's Day
OMIT 1 May MSG May Day
OMIT 15 August MSG National Mourning Day
OMIT 16 December MSG Victory Day

24
include/holidays/be.rem Normal file
View File

@@ -0,0 +1,24 @@
# SPDX-License-Identifier: MIT
# Holiday file for Belgium
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Nieuwjaar
OMIT [easterdate($Uy)] MSG Pasen
OMIT [easterdate($Uy)+1] MSG Paasmaandag
OMIT 1 May MSG Dag van de Arbeid
OMIT [easterdate($Uy)+39] MSG O. L. H. Hemelvaart
OMIT [easterdate($Uy)+49] MSG Pinksteren
OMIT [easterdate($Uy)+50] MSG Pinkstermaandag
OMIT 21 July MSG Nationale feestdag
OMIT 15 August MSG O. L. V. Hemelvaart
OMIT 1 November MSG Allerheiligen
OMIT 11 November MSG Wapenstilstand
OMIT 25 December MSG Kerstmis
# Optional holidays
REM [easterdate($Uy)-2] MSG Goede Vrijdag
REM [easterdate($Uy)+40] MSG Vrijdag na O. L. H. Hemelvaart
REM 26 December MSG Banksluitingsdag

29
include/holidays/bf.rem Normal file
View File

@@ -0,0 +1,29 @@
# SPDX-License-Identifier: MIT
# Holiday file for Burkina Faso
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG New Year's Day
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
OMIT 3 January MSG Revolution Day
REM 4 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 3)) == 0] MSG Revolution Day (observed)
OMIT 8 March MSG International Women's Day
REM 9 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 8)) == 0] MSG International Women's Day (observed)
OMIT [easterdate($Uy)+1] MSG Easter Monday
OMIT 1 May MSG Labour Day
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Labour Day (observed)
OMIT [easterdate($Uy)+39] MSG Ascension Day
OMIT 5 August MSG Independence Day
REM 6 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 5)) == 0] MSG Independence Day (observed)
OMIT 15 August MSG Assumption Day
REM 16 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 15)) == 0] MSG Assumption Day (observed)
OMIT 31 October MSG Martyrs' Day
OMIT 1 November MSG All Saints' Day
REM 1 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 31)) == 0] MSG Martyrs' Day (observed)
REM 2 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 1)) == 0] MSG All Saints' Day (observed)
OMIT 11 December MSG Proclamation of Independence Day
REM 12 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 11)) == 0] MSG Proclamation of Independence Day (observed)
OMIT 25 December MSG Christmas Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)

34
include/holidays/bg.rem Normal file
View File

@@ -0,0 +1,34 @@
# SPDX-License-Identifier: MIT
# Holiday file for Bulgaria
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Нова година
REM 1 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1))==0 || wkdaynum(date($Ty, 1, 1))==6] MSG Нова година (почивен ден)
OMIT 3 March MSG Ден на Освобождението на България от османско иго
REM 3 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 3))==0 || wkdaynum(date($Ty, 3, 3))==6] MSG Ден на Освобождението на България от османско иго (почивен ден)
OMIT [orthodoxeaster($Uy)-2] MSG Велики петък
OMIT [orthodoxeaster($Uy)-1] MSG Велика събота
OMIT [orthodoxeaster($Uy)] MSG Великден
OMIT [orthodoxeaster($Uy)+1] MSG Великден
OMIT 1 May MSG Ден на труда и на международната работническа солидарност
REM 1 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1))==0 || wkdaynum(date($Ty, 5, 1))==6] MSG Ден на труда и на международната работническа солидарност (почивен ден)
OMIT 6 May MSG Гергьовден, Ден на храбростта и Българската армия
REM 6 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 6))==0 || wkdaynum(date($Ty, 5, 6))==6] MSG Гергьовден, Ден на храбростта и Българската армия (почивен ден)
OMIT 24 May MSG Ден на светите братя Кирил и Методий, на българската азбука, просвета и култура и на славянската книжовност
REM 24 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 24))==0 || wkdaynum(date($Ty, 5, 24))==6] MSG Ден на светите братя Кирил и Методий, на българската азбука, просвета и култура и на славянската книжовност (почивен ден)
OMIT 6 September MSG Ден на Съединението
REM 6 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 9, 6))==0 || wkdaynum(date($Ty, 9, 6))==6] MSG Ден на Съединението (почивен ден)
OMIT 22 September MSG Ден на Независимостта на България
REM 22 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 9, 22))==0 || wkdaynum(date($Ty, 9, 22))==6] MSG Ден на Независимостта на България (почивен ден)
OMIT 24 December MSG Бъдни вечер
REM 24 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 24))==0 || wkdaynum(date($Ty, 12, 24))==6] MSG Бъдни вечер (почивен ден)
OMIT 25 December MSG Рождество Христово
REM 25 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25))==0 || wkdaynum(date($Ty, 12, 25))==6] MSG Рождество Христово (почивен ден)
OMIT 26 December MSG Рождество Христово
REM 26 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26))==0 || wkdaynum(date($Ty, 12, 26))==6] MSG Рождество Христово (почивен ден)
# Optional holidays
REM 1 November MSG Ден на народните будители

11
include/holidays/bh.rem Normal file
View File

@@ -0,0 +1,11 @@
# SPDX-License-Identifier: MIT
# Holiday file for Bahrain
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG رأس السنة الميلادية
OMIT 1 May MSG عيد العمال
OMIT 16 December MSG اليوم الوطني
OMIT 17 December MSG اليوم الوطني

30
include/holidays/bi.rem Normal file
View File

@@ -0,0 +1,30 @@
# SPDX-License-Identifier: MIT
# Holiday file for Burundi
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG New Year's Day
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
OMIT 5 February MSG Unity Day
REM 6 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 5)) == 0] MSG Unity Day (observed)
OMIT 6 April MSG President Ntaryamira Day
REM 7 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 6)) == 0] MSG President Ntaryamira Day (observed)
OMIT 1 May MSG Labour Day
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Labour Day (observed)
OMIT [easterdate($Uy)+39] MSG Ascension Day
OMIT 8 June MSG President Nkurunziza Day
REM 9 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 8)) == 0] MSG President Nkurunziza Day (observed)
OMIT 1 July MSG Independence Day
REM 2 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 1)) == 0] MSG Independence Day (observed)
OMIT 15 August MSG Assumption Day
REM 16 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 15)) == 0] MSG Assumption Day (observed)
OMIT 13 October MSG Prince Louis Rwagasore Day
REM 14 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 13)) == 0] MSG Prince Louis Rwagasore Day (observed)
OMIT 21 October MSG President Ndadaye's Day
REM 22 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 21)) == 0] MSG President Ndadaye's Day (observed)
OMIT 1 November MSG All Saints' Day
REM 2 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 1)) == 0] MSG All Saints' Day (observed)
OMIT 25 December MSG Christmas Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)

22
include/holidays/bn.rem Normal file
View File

@@ -0,0 +1,22 @@
# SPDX-License-Identifier: MIT
# Holiday file for Brunei
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Awal Tahun Masihi
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Awal Tahun Masihi (diperhatikan)
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 5] MSG Awal Tahun Masihi (diperhatikan)
OMIT 23 February MSG Hari Kebangsaan
REM 24 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 23)) == 0] MSG Hari Kebangsaan (diperhatikan)
REM 24 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 23)) == 5] MSG Hari Kebangsaan (diperhatikan)
OMIT 31 May MSG Hari Angkatan Bersenjata Diraja Brunei
REM 1 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 31)) == 0] MSG Hari Angkatan Bersenjata Diraja Brunei (diperhatikan)
REM 1 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 31)) == 5] MSG Hari Angkatan Bersenjata Diraja Brunei (diperhatikan)
OMIT 15 July MSG Hari Keputeraan KDYMM Sultan Brunei
REM 16 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 15)) == 0] MSG Hari Keputeraan KDYMM Sultan Brunei (diperhatikan)
REM 16 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 15)) == 5] MSG Hari Keputeraan KDYMM Sultan Brunei (diperhatikan)
OMIT 25 December MSG Hari Natal
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Hari Natal (diperhatikan)
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 5] MSG Hari Natal (diperhatikan)

32
include/holidays/bo.rem Normal file
View File

@@ -0,0 +1,32 @@
# SPDX-License-Identifier: MIT
# Holiday file for Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
#
# Note: This file consists only of the country-wide
# holidays for Bolivia.
#
# For region-specific holidays, you need to include
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/bo/
OMIT 1 January MSG Año Nuevo
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Año Nuevo (observado)
OMIT 22 January MSG Día de la Creación del Estado Plurinacional de Bolivia
REM 23 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 22)) == 0] MSG Día de la Creación del Estado Plurinacional de Bolivia (observado)
OMIT [easterdate($Uy)-48] MSG Carnaval
OMIT [easterdate($Uy)-47] MSG Carnaval
OMIT [easterdate($Uy)-2] MSG Viernes Santo
OMIT 1 May MSG Día del Trabajo
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Día del Trabajo (observado)
OMIT [easterdate($Uy)+60] MSG Corpus Christi
OMIT 21 June MSG Año Nuevo Aymara Amazónico
REM 22 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 21)) == 0] MSG Año Nuevo Aymara Amazónico (observado)
OMIT 6 August MSG Día de la Independencia de Bolivia
REM 7 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 6)) == 0] MSG Día de la Independencia de Bolivia (observado)
OMIT 17 October MSG Día de la Dignidad Nacional
OMIT 2 November MSG Día de Todos los Difuntos
OMIT 25 December MSG Navidad
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Navidad (observado)

13
include/holidays/bo/b.rem Normal file
View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision B in Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision B.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
OMIT 18 November MSG Día del departamento de Beni

13
include/holidays/bo/c.rem Normal file
View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision C in Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision C.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
OMIT 14 September MSG Día del departamento de Cochabamba

13
include/holidays/bo/h.rem Normal file
View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision H in Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision H.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
OMIT 25 May MSG Día del departamento de Chuquisaca

13
include/holidays/bo/l.rem Normal file
View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision L in Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision L.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
OMIT 16 July MSG Día del departamento de La Paz

13
include/holidays/bo/n.rem Normal file
View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision N in Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision N.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
OMIT 11 October MSG Día del departamento de Pando

13
include/holidays/bo/o.rem Normal file
View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision O in Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision O.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
OMIT [easterdate($Uy)-51] MSG Carnaval de Oruro

13
include/holidays/bo/p.rem Normal file
View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision P in Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision P.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
OMIT 10 November MSG Día del departamento de Potosí

13
include/holidays/bo/s.rem Normal file
View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision S in Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision S.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
OMIT 24 September MSG Día del departamento de Santa Cruz

13
include/holidays/bo/t.rem Normal file
View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision T in Bolivia
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision T.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
OMIT 15 April MSG La Tablada

33
include/holidays/br.rem Normal file
View File

@@ -0,0 +1,33 @@
# SPDX-License-Identifier: MIT
# Holiday file for Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
#
# Note: This file consists only of the country-wide
# holidays for Brazil.
#
# For region-specific holidays, you need to include
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/br/
OMIT 1 January MSG Confraternização Universal
OMIT [easterdate($Uy)-2] MSG Sexta-feira Santa
OMIT 21 April MSG Tiradentes
OMIT 1 May MSG Dia do Trabalhador
OMIT 7 September MSG Independência do Brasil
OMIT 12 October MSG Nossa Senhora Aparecida
OMIT 2 November MSG Finados
OMIT 15 November MSG Proclamação da República
OMIT 20 November MSG Dia Nacional de Zumbi e da Consciência Negra
OMIT 25 December MSG Natal
# Optional holidays
REM [easterdate($Uy)-48] MSG Carnaval
REM [easterdate($Uy)-47] MSG Carnaval
REM [easterdate($Uy)-46] MSG Início da Quaresma
REM [easterdate($Uy)+60] MSG Corpus Christi
REM 28 October MSG Dia do Servidor Público
REM 24 December MSG Véspera de Natal
REM 31 December MSG Véspera de Ano-Novo

View File

@@ -0,0 +1,21 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision AC in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision AC.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
REM 23 January ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG Dia do Evangélico
REM Friday 23 January ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 1, 23)) >= 2 && wkdaynum(date($Ty, 1, 23)) <= 4] MSG Dia do Evangélico
REM 8 March ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG Dia Internacional da Mulher
REM Friday 8 March ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 3, 8)) >= 2 && wkdaynum(date($Ty, 3, 8)) <= 4] MSG Dia Internacional da Mulher
OMIT 15 June MSG Aniversário do Acre
REM 23 September ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG Dia da Amazônia
REM Friday 23 September ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 9, 23)) >= 2 && wkdaynum(date($Ty, 9, 23)) <= 4] MSG Dia da Amazônia
REM 17 November ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG Assinatura do Tratado de Petrópolis
REM Friday 17 November ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 11, 17)) >= 2 && wkdaynum(date($Ty, 11, 17)) <= 4] MSG Assinatura do Tratado de Petrópolis

View File

@@ -0,0 +1,16 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision AL in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision AL.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 24 June MSG São João
OMIT 29 June MSG São Pedro
OMIT 16 September MSG Emancipação Política de Alagoas
OMIT 30 November MSG Dia do Evangélico

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision AM in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision AM.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 5 September MSG Elevação do Amazonas à categoria de província

View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision AP in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision AP.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 19 March MSG São José
OMIT 25 July MSG São Tiago
OMIT 13 September MSG Criação do Território Federal

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision BA in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision BA.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 2 July MSG Independência da Bahia

View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision CE in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision CE.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 19 March MSG São José
OMIT 25 March MSG Abolição da escravidão no Ceará
OMIT 15 August MSG Nossa Senhora da Assunção

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision DF in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision DF.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 21 April MSG Fundação de Brasília
OMIT 30 November MSG Dia do Evangélico

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision ES in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision ES.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT [easterdate($Uy)+8] MSG Nossa Senhora da Penha

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision GO in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision GO.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 26 July MSG Fundação da cidade de Goiás
OMIT 24 October MSG Pedra fundamental de Goiânia

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision MA in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision MA.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 28 July MSG Adesão do Maranhão à independência do Brasil

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision MG in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision MG.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 21 April MSG Execução de Tiradentes

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision MS in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision MS.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 11 October MSG Criação do Estado

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision PA in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision PA.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 15 August MSG Adesão do Grão-Pará à independência do Brasil

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision PB in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision PB.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 5 August MSG Fundação do Estado

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision PE in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision PE.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
REM First Sunday in March ADDOMIT SCANFROM -28 MSG Revolução Pernambucana

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision PI in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision PI.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 19 October MSG Dia do Piauí

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision PR in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision PR.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 19 December MSG Emancipação do Paraná

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision RJ in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision RJ.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 23 April MSG São Jorge

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision RN in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision RN.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 7 August MSG Dia do Rio Grande do Norte
OMIT 3 October MSG Mártires de Cunhaú e Uruaçuu

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision RO in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision RO.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 4 January MSG Criação do Estado
OMIT 18 June MSG Dia do Evangélico

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision RR in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision RR.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 5 October MSG Criação do Estado

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision RS in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision RS.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 20 September MSG Dia do Gaúcho

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision SC in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision SC.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
REM Sunday 11 August ADDOMIT SCANFROM -28 MSG Dia do Estado de Santa Catarina
REM Sunday 25 November ADDOMIT SCANFROM -28 MSG Dia de Santa Catarina de Alexandria

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision SE in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision SE.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 8 July MSG Emancipação política de Sergipe

View File

@@ -0,0 +1,13 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision SP in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision SP.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 9 July MSG Revolução Constitucionalista

View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision TO in Brazil
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# Note that this file includes only the holidays for
# the specific subdivision TO.
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
OMIT 18 March MSG Dia da Autonomia
OMIT 8 September MSG Nossa Senhora da Natividade
OMIT 5 October MSG Criação do Estado

26
include/holidays/bs.rem Normal file
View File

@@ -0,0 +1,26 @@
# SPDX-License-Identifier: MIT
# Holiday file for Bahamas
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG New Year's Day
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
OMIT 10 January MSG Majority Rule Day
REM 11 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 10)) == 0] MSG Majority Rule Day (observed)
REM 12 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 10)) == 6] MSG Majority Rule Day (observed)
OMIT [easterdate($Uy)-2] MSG Good Friday
OMIT [easterdate($Uy)+1] MSG Easter Monday
REM First Friday in June ADDOMIT SCANFROM -28 MSG Randol Fawkes Labour Day
OMIT [easterdate($Uy)+50] MSG Whit Monday
OMIT 10 July MSG Independence Day
REM 11 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 10)) == 0] MSG Independence Day (observed)
REM 12 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 10)) == 6] MSG Independence Day (observed)
REM First Monday in August ADDOMIT SCANFROM -28 MSG Emancipation Day
REM Second Monday in October ADDOMIT SCANFROM -28 MSG National Heroes Day
OMIT 25 December MSG Christmas Day
OMIT 26 December MSG Boxing Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)

31
include/holidays/bw.rem Normal file
View File

@@ -0,0 +1,31 @@
# SPDX-License-Identifier: MIT
# Holiday file for Botswana
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG New Year's Day
OMIT 2 January MSG New Year's Day Holiday
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 2)) == 0] MSG New Year's Day Holiday (observed)
OMIT [easterdate($Uy)-2] MSG Good Friday
OMIT [easterdate($Uy)-1] MSG Holy Saturday
OMIT [easterdate($Uy)+1] MSG Easter Monday
OMIT 1 May MSG Labour Day
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Labour Day (observed)
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 6] MSG Labour Day Holiday
OMIT [easterdate($Uy)+39] MSG Ascension Day
OMIT 1 July MSG Sir Seretse Khama Day
REM 2 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 1)) == 0] MSG Sir Seretse Khama Day (observed)
REM Third Monday in July ADDOMIT SCANFROM -28 MSG President's Day
REM Tuesday 16 July ADDOMIT SCANFROM -28 MSG President's Day Holiday
OMIT 30 September MSG Botswana Day
OMIT 1 October MSG Botswana Day Holiday
REM 2 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 1)) == 0] MSG Botswana Day Holiday (observed)
REM 2 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 9, 30)) == 0] MSG Botswana Day (observed)
OMIT 25 December MSG Christmas Day
OMIT 26 December MSG Boxing Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day Holiday

Some files were not shown because too many files have changed in this diff Show More