Compare commits

...

538 Commits

Author SHA1 Message Date
Dianne Skoll 24ed30fee0 Add RETURN command
Suggestion from Hymie! on Remind mailing list.
2025-08-06 11:08:41 -04:00
Dianne Skoll 86dcd9ce89 Set release date. 2025-07-28 10:21:26 -04:00
Dianne Skoll 4915dc1e8d Make torture tests even worse!!! :) 2025-07-25 16:50:49 -04:00
Dianne Skoll 8c4cff22a5 Update WHATSNEW. 2025-07-25 12:07:50 -04:00
Dianne Skoll 50850134f6 Fix typom... sigh. 2025-07-25 11:29:52 -04:00
Dianne Skoll a5de77cc91 Call DBufInit. 2025-07-25 11:29:33 -04:00
Dianne Skoll 87e4ed23bf Bump version to 05.05.00. 2025-07-25 11:02:30 -04:00
Dianne Skoll 0fe1d1591e Add comment 2025-07-24 15:27:13 -04:00
Dianne Skoll dfb137085a Defensive programming. 2025-07-24 15:26:17 -04:00
Dianne Skoll 143cdecb9e Avoid memory leak; make popping more efficient. 2025-07-24 15:25:01 -04:00
Dianne Skoll 183ccf9d1c Add torture test for PUSH-VARS / POP-VARS 2025-07-24 14:59:00 -04:00
Dianne Skoll 56ad4efb1a Use PUSH-VARS/POP-VARS to preserve state. 2025-07-24 14:54:53 -04:00
Dianne Skoll f4805a443b Prevent segfault if we just say "push-funcs" 2025-07-24 14:45:52 -04:00
Dianne Skoll 977aa3d6cf More torture-testing. 2025-07-24 14:38:47 -04:00
Dianne Skoll fe7ac980e5 Add a torture test for PUSH-FUNCS / POP-FUNCS 2025-07-24 14:37:39 -04:00
Dianne Skoll aebab73dfa Update docs to user PUSH-FUNCS/POP-FUNCS rather than FRENAME. 2025-07-24 14:33:32 -04:00
Dianne Skoll 9bd0055d4d Add PUSH-FUNCS and POP-FUNCS. 2025-07-24 14:31:12 -04:00
Dianne Skoll d944ceb32d Implement clone_expr_tree in preparation for supporting PUSH-FUNCS / POP-FUNCS. 2025-07-24 12:06:23 -04:00
Dianne Skoll 3eadb3f767 Tweak man page wording. 2025-07-23 19:39:29 -04:00
Dianne Skoll be8a0621d1 Properly trace set-but-not-used variables interacting with PUSH-VARS / POP-VARS 2025-07-23 19:37:03 -04:00
Dianne Skoll 235f947dd1 Replace PUSH-SYSVARS / POP-SYSVARS with better PUSH-VARS / POP-VARS commands. 2025-07-23 19:27:09 -04:00
Dianne Skoll 93dddec24a Initialize pushed value to ERR_TYPE to avoid inappropriate possible free() later on. 2025-07-23 10:07:58 -04:00
Dianne Skoll c13b721550 Propagate errors. 2025-07-22 19:12:26 -04:00
Dianne Skoll 1c961dca83 One more test. 2025-07-22 17:37:05 -04:00
Dianne Skoll 700ac85e54 Make warnings for unmatched PUSH-SYSVARS correspond to those for unmatched PUSH-OMIT-CONTEXT 2025-07-22 17:35:21 -04:00
Dianne Skoll e20a14109a Use PUSH-SYSVARS / POP-SYSVARS in example. 2025-07-22 17:30:15 -04:00
Dianne Skoll a3703173e2 Clarify documentation of PUSH-/POP-SYSVARS. 2025-07-22 17:24:27 -04:00
Dianne Skoll 7325375ccd Add PUSH-SYSVARS and POP-SYSVARS commands. 2025-07-22 17:20:58 -04:00
Dianne Skoll 4b898b2ba1 Add cppcheck top-level makefile target. 2025-07-22 16:18:10 -04:00
Dianne Skoll aa3760bc04 Make a bunch of functions static, on the recommendation of cppcheck. 2025-07-22 15:44:57 -04:00
Dianne Skoll ea5e8c90ff More const stuff. 2025-07-21 18:46:31 -04:00
Dianne Skoll 609b68ab21 Add const-correctness to various hash table functions. 2025-07-21 18:28:24 -04:00
Dianne Skoll c3ab2a15cf Add some consts as recommended by make cppcheck. 2025-07-21 17:44:13 -04:00
Dianne Skoll 418b050b1c Fix typo 2025-07-16 11:20:33 -04:00
Dianne Skoll 4ab8897577 Update WHATSNEW. 2025-07-16 11:07:43 -04:00
Dianne Skoll 9613417a2e Bump version to 05.04.02 2025-07-16 11:03:25 -04:00
Dianne Skoll f808a2963d When using -dt, print the trigger date for a fully-specified but expired trigger. 2025-07-09 12:11:38 -04:00
Dianne Skoll 96a4dc3189 Make macro safer. 2025-07-07 22:21:53 -04:00
Dianne Skoll 3c60285466 Add Chinese new year dates 2051 through 2100. 2025-07-05 17:50:53 -04:00
Dianne Skoll 6fed350e1f Give better error messages thant "Type mismatch" for bad month or weekday names. 2025-07-05 09:52:30 -04:00
Dianne Skoll 9f220555af Exit early from FromDSE if all we need is the year. 2025-07-02 14:39:15 -04:00
Dianne Skoll 005ccef953 Pass NULLs in a bunch of places where FromDSE result is not needed. 2025-07-02 14:21:32 -04:00
Dianne Skoll 578c98c865 Pass NULLs to FromDSE for info we don't need. 2025-07-02 14:10:42 -04:00
Dianne Skoll 64bf3381c6 Document mon(STRING) 2025-07-02 14:02:42 -04:00
Dianne Skoll 02ade6fc58 Add tests. 2025-07-02 11:42:03 -04:00
Dianne Skoll 2954fca8d8 Allow month to be specified by name in all places where it can be specified by number. 2025-07-02 11:40:02 -04:00
Dianne Skoll 8356dacf2a Allow first argument of daysinmon to be a string. 2025-07-02 11:20:15 -04:00
Dianne Skoll 4fd145cf4e Allow daysinmon() to take a single DATE or DATETIME argument. 2025-07-02 10:14:48 -04:00
Dianne Skoll 1af2bdf8f1 Add test to ensure "unsatisfied" SATISFY clears trigvalid() 2025-07-01 16:51:16 -04:00
Dianne Skoll 9b98e65e01 Don't set trigvalid() for a reminder whose SATISFY clause is never satisfied. 2025-07-01 16:49:06 -04:00
Dianne Skoll 0f83b98698 Fix bug that didn't save trigger date for a fully-specified REM in the past. 2025-06-30 19:23:45 -04:00
Dianne Skoll 4fd62f9894 Move contents of NOTE-ABOUT-AI.txt into README.md 2025-06-26 10:51:34 -04:00
Dianne Skoll cc06592fe0 Update documentation to reflect reality. 2025-06-18 11:02:37 -04:00
Dianne Skoll 21d28ebfc3 Bump version to 05.04.01. 2025-06-15 09:29:36 -04:00
Dianne Skoll b300422cdb Update release notes. 2025-06-15 09:27:57 -04:00
Dianne Skoll 37e09f4671 Fix bug in processing UNTIL clause.
Bug found by Ian! D. Allen.
2025-06-15 09:15:48 -04:00
Dianne Skoll b6e53341c8 Add utils/add-html-anchors.rem standard file. 2025-06-10 14:26:51 -04:00
Dianne Skoll 896fcf1d7f Yet more wording. 2025-06-07 23:05:34 -04:00
Dianne Skoll 72155329f2 Tweak wording, again. 2025-06-07 23:04:47 -04:00
Dianne Skoll 36c7db510a Tweak wording. 2025-06-07 23:03:46 -04:00
Dianne Skoll d4aa73747d Add some comments. 2025-06-07 22:45:02 -04:00
Dianne Skoll 3ed657b708 Add a couple more SPECIALs to test. 2025-06-07 22:40:55 -04:00
Dianne Skoll 0441c0263b Make rem2pdf *ACTUALLY* support "special colour" 2025-06-07 22:38:19 -04:00
Dianne Skoll c40d4ee672 Fix misleading comment. 2025-06-07 22:13:08 -04:00
Dianne Skoll 96f2d6537a Update the main README.md file. 2025-06-06 21:54:49 -04:00
Dianne Skoll dc777c95df Fix cppcheck warning. 2025-06-03 16:54:47 -04:00
Dianne Skoll 3090d77346 Update WHATSNEW. 2025-06-03 12:34:08 -04:00
Dianne Skoll 157d2821f3 Don't Eprint errors if we're supposed to be ignoring lines. 2025-05-28 14:52:12 -04:00
Dianne Skoll 71d2da19a8 Introduce "FSET - f(args) expr" syntax to define a function and suppress any "redefined function" warnings. 2025-05-28 14:40:46 -04:00
Dianne Skoll 516b9c81b3 Get rid of ancient cruft. 2025-05-28 14:23:56 -04:00
Dianne Skoll 58d0e38f1a Remove superfluous assignments. 2025-05-28 14:17:21 -04:00
Dianne Skoll 68d487ade9 Make a macro DBGX to avoid typo-ing '&' as '&&' in future. :) 2025-05-26 22:44:28 -04:00
Dianne Skoll 9d42879170 Make "value" constant iff variable exists and is constant.
Otherwise, it's non-constant.
2025-05-26 22:22:49 -04:00
Dianne Skoll db70aabc97 Use ParseIdentifier instead of ParseToken with "PRESERVE"
to avoid creating illegal variable names.
2025-05-26 22:09:21 -04:00
Dianne Skoll c8f55ef60b Note that value evaluates its second argument lazily. 2025-05-26 21:59:24 -04:00
Dianne Skoll 44b50fc6be Make "value()" evaluate its second argument lazily.
If the variable whose name is the first argument exists, don't
bother evaluating the second argument.
2025-05-26 21:56:04 -04:00
Dianne Skoll a69a96529b Update WHATSNEW. 2025-05-26 10:49:41 -04:00
Dianne Skoll f4e5cc63a6 Dedup 2025-05-25 14:56:37 -04:00
Dianne Skoll 136122b1db Fix a couple of minor problems found by "remind -du" 2025-05-25 14:54:49 -04:00
Dianne Skoll 4cc63b1548 Add some details about nuances of "u" debugging flag. 2025-05-25 13:38:21 -04:00
Dianne Skoll 9390b4335b Make another string translatable. 2025-05-24 23:35:16 -04:00
Dianne Skoll 1fcf11a816 Change the help text for the -d flag. 2025-05-24 23:20:45 -04:00
Dianne Skoll c4107e6a6f Fix up Bevrijdingsdag 2025-05-24 23:19:13 -04:00
Dianne Skoll ab03232341 Minor tweak 2025-05-24 23:15:51 -04:00
Dianne Skoll 51a65841cd Warn if a variable is UNSET without having been used (if -du is in effect) 2025-05-24 23:13:39 -04:00
Dianne Skoll 5035deaff1 Tweak warning wording; add tests. 2025-05-24 23:09:57 -04:00
Dianne Skoll 09caa8988a Add warning if we SET a variable that has already been set, but not used (if -du debug flag is set) 2025-05-24 23:06:50 -04:00
Dianne Skoll 9624b1045c Track filename and line number where variables are defined. 2025-05-24 22:58:28 -04:00
Dianne Skoll 102748397f Remove a couple of inappropriate "free" calls. 2025-05-24 22:58:16 -04:00
Dianne Skoll f852f7e7e5 Refactor conversion of "-" to "-stdin-" 2025-05-24 22:55:02 -04:00
Dianne Skoll 8d88192483 Keep a hash table of filenames we've seen so we don't need to strdup the current filename all over the place. 2025-05-24 22:51:16 -04:00
Dianne Skoll a6ca571fe5 Fix indentation. 2025-05-24 22:13:47 -04:00
Dianne Skoll 2af783a58d Use isany() in preference to || operator. 2025-05-24 10:36:03 -04:00
Dianne Skoll af2daa7a87 Use "is_constant" attribute for Var to be consistent with UserFunc. 2025-05-24 10:10:44 -04:00
Dianne Skoll c5bc459dd9 Add "-du" debugging flag to print a list of variables that were set but never used. 2025-05-23 16:55:10 -04:00
Dianne Skoll edf26eaa14 Add more "const" debugging messages. 2025-05-23 13:38:38 -04:00
Dianne Skoll 7e5dc26ee5 *PROPERLY* disable RUN in eval. :) 2025-05-23 12:03:09 -04:00
Dianne Skoll 4c2b6031cd Disable shell() inside an eval("...") for safety.
Based on email from Tim Chase.
2025-05-23 11:48:06 -04:00
Dianne Skoll af8c1630c3 Add more clarification. 2025-05-23 08:56:01 -04:00
Dianne Skoll 0ec43d570c Add "const" function, which is the inverse of "nonconst" 2025-05-23 08:47:12 -04:00
Dianne Skoll 1df8b12e71 Clarification. 2025-05-23 08:42:00 -04:00
Dianne Skoll 3fb10fe946 Don't put anchors in HTML output.
Can be achieved with a REM statement:

    REM SPECIAL HTML <a id="[$T]"></a>
2025-05-23 07:36:45 -04:00
Dianne Skoll e11dbcf52a Revert "Put anchor <a name="dN"></a> for day N's day box."
This reverts commit 398100c6e3.
2025-05-23 07:34:57 -04:00
Dianne Skoll 88cc25e53f Update release notes. 2025-05-22 21:57:14 -04:00
Dianne Skoll 0c93e045bd Bump version to 05.04.00. 2025-05-22 21:40:38 -04:00
Dianne Skoll 99e5b3f43d Document "trigbase" entry in JSON output. 2025-05-22 18:05:31 -04:00
Dianne Skoll f0f0cec2d3 Add $Tu == triguntil() system variable. 2025-05-22 18:00:24 -04:00
Dianne Skoll 70a97a8fe5 Add trigbase() built-in function. 2025-05-22 17:44:42 -04:00
Dianne Skoll 8a6857b787 Add test to ensure recursive eval() yields error rather than segfault. 2025-05-22 15:00:46 -04:00
Dianne Skoll 95b82a4457 "eval" can itself now be recursive, so we need to guard built-in functions against recursion. 2025-05-22 14:59:08 -04:00
Dianne Skoll 8fd39e477f A bit more non-const documentation. 2025-05-22 14:44:17 -04:00
Dianne Skoll 3118f8d2a4 Add "eval()" built-in function. 2025-05-22 13:52:07 -04:00
Dianne Skoll acf570512d Correct documentation for maximum IF nest level. 2025-05-22 10:08:34 -04:00
Dianne Skoll cf2114e2ef Update tests. 2025-05-22 10:04:32 -04:00
Dianne Skoll 357f7105bd Better coerce error messages. 2025-05-22 10:03:32 -04:00
Dianne Skoll e7094b71c2 Clarify FSET syntax. 2025-05-22 09:51:05 -04:00
Dianne Skoll 8a3db4cba1 Document "DUMP -c ..." 2025-05-22 09:45:04 -04:00
Dianne Skoll b33a3191f5 Better nonconst diagnostic messages. 2025-05-22 09:38:06 -04:00
Dianne Skoll caa900d38d Fix tests. 2025-05-22 09:35:52 -04:00
Dianne Skoll 1d3c1f006f Take care of some corner-cases of non-const tracking. 2025-05-22 09:35:18 -04:00
Dianne Skoll 633812d961 Add "-c" option to "dump" to show constness when dumping variables. 2025-05-21 23:43:40 -04:00
Dianne Skoll ec8cae6d4b Mark a few functions as non-const that were incorrectly marked const before. 2025-05-21 23:43:26 -04:00
Dianne Skoll 5019d54379 Document a practical use of nonconst. 2025-05-21 15:50:05 -04:00
Dianne Skoll 56e4f14a2f Don't use bitfields. They don't save space and are slower. 2025-05-21 13:42:06 -04:00
Dianne Skoll af5854d0c6 Improve diagnostic message. 2025-05-21 12:27:08 -04:00
Dianne Skoll 43d0066780 Add test for additional non-constant debugging message. 2025-05-21 12:24:44 -04:00
Dianne Skoll de2d15009f Document all the non-constant tracking machinery. 2025-05-21 12:23:08 -04:00
Dianne Skoll 8ca5c7e56e Add test for "hush mode" in conjunction with "purge mode" 2025-05-21 11:21:24 -04:00
Dianne Skoll bd6218d7e2 Update man page. 2025-05-21 11:21:04 -04:00
Dianne Skoll 5d822e294d Make "Hush Mode" suppress all purge-mode diagnostics.
We only get the "#!P: Expired" lines in that case.
2025-05-21 11:15:56 -04:00
Dianne Skoll 1e3657b728 Overhaul how IF/ELSE work so we can track "constant-ness" of variables.
We now keep track of whether a variable holds a "constant" value
(ie, a value that will stay the same on successive Remind runs)
so Purge Mode can be more accurate.
2025-05-20 22:11:39 -04:00
Dianne Skoll a309af731f Minor code-formatting improvement. 2025-05-20 16:42:50 -04:00
Dianne Skoll 31c8893a2a Add tests for non-const-expression debugging output. 2025-05-20 12:03:53 -04:00
Dianne Skoll e3a6c65983 Fix silly typo 2025-05-20 11:57:20 -04:00
Dianne Skoll 1355b99560 Document non-constant expressions. 2025-05-20 11:55:19 -04:00
Dianne Skoll 21904e708f Add "n" debugging flag to diagnose non-constant expressions. 2025-05-20 11:17:04 -04:00
Dianne Skoll e4a6a5cf01 Properly parse unary '+' operator. It's ignored, essentially. 2025-05-17 11:33:27 -04:00
Dianne Skoll 098cf4707a Do not use obsolete "tail +2" syntax. Instead use "tail -n+2"
Fix courtesy of Dick Marinus.
2025-05-17 10:59:28 -04:00
Dianne Skoll 1be6ff23fb Optimmize away ! INT_CONSTANT. 2025-05-16 10:48:02 -04:00
Dianne Skoll 4db201945c Optimize "- INT_CONSTANT" to be simply -INT_CONSTANT rather than (- INT_CONSTANT) 2025-05-16 08:30:44 -04:00
Dianne Skoll 6aa217044b Implement wkdaynum("dayname") 2025-05-14 18:30:47 -04:00
Dianne Skoll c64d939237 Allow argument to monnum to be a string, in which case it's parsed as a month name. 2025-05-14 09:57:16 -04:00
Dianne Skoll 398100c6e3 Put anchor <a name="dN"></a> for day N's day box. 2025-05-12 09:22:49 -04:00
Dianne Skoll 3fb1db0880 Add catcherr() built-in function. 2025-05-10 09:33:24 -04:00
Dianne Skoll 76bf57af60 Tweak "catch()" documentation. 2025-05-09 23:32:03 -04:00
Dianne Skoll a8fc88be17 Clarify that catch() doesn't catch errors when evaluating its second argument. 2025-05-09 17:21:34 -04:00
Dianne Skoll a50f40d652 Don't use repeated DBG() macros. Instead, wrap everything in a conditional 2025-05-09 17:17:37 -04:00
Dianne Skoll 71b3564c03 Add catch to list of built-in functions. 2025-05-09 17:10:46 -04:00
Dianne Skoll a35de17b00 Add the "catch()" built-in function. 2025-05-09 17:09:00 -04:00
Dianne Skoll ab44f93f37 Update man page with info about how Remind folds years. 2025-05-08 14:47:48 -04:00
Dianne Skoll ab69fee895 No need for timetis64bit guards (I hope...) 2025-05-08 14:33:33 -04:00
Dianne Skoll db31214060 Fix up year-folding logic. 2025-05-08 14:30:07 -04:00
Dianne Skoll 758e2c1a9d Add some more year-folding tests. 2025-05-08 14:22:01 -04:00
Dianne Skoll ed7c5103ff Fold years so even 32-bit systems can handle astronomical stuff past 2038 2025-05-08 14:14:49 -04:00
Dianne Skoll 4590e746c5 Force year-folding on 32-bit time_t machines. 2025-05-08 12:10:15 -04:00
Dianne Skoll bc8ce3e2cc Change FoldArray to use years as close as possible to (but less than) 2038. 2025-05-08 11:56:53 -04:00
Dianne Skoll 3e82fe8712 Update WHATSNEW 2025-05-06 12:52:37 -04:00
Dianne Skoll ea3126645c Prevent eclipse files from barfing on systems with 32-bit time_t 2025-05-06 12:43:38 -04:00
Dianne Skoll e107ed5482 Bump version to 05.03.07. 2025-05-06 12:37:43 -04:00
Dianne Skoll 66523b1b3b Use llabs instead of labs for systems that normally have 32-bit time_t
but are configured to use 64-bit time_t.
2025-05-06 12:36:43 -04:00
Dianne Skoll 8590cf6207 Add more verbiage 2025-05-06 12:33:21 -04:00
Dianne Skoll c85a8a7614 Make tests pass on systems with 32-bit time_t. 2025-05-06 12:32:03 -04:00
Dianne Skoll 416ee87dd0 Try to make tests pass on systems with 32-bit time_t. 2025-05-06 12:20:59 -04:00
Dianne Skoll 7705278575 Update remind-conf-mode with $TimetIs64bit 2025-05-06 12:14:55 -04:00
Dianne Skoll 59f978a9db Add $TimetIs64bit system variable. 2025-05-06 12:14:18 -04:00
Dianne Skoll 4515291720 Move moonrise/moonset after sunrise/sunset. 2025-05-06 12:02:16 -04:00
Dianne Skoll 65eaf67a06 Add license text for lunar and solar eclipse files. 2025-05-06 11:41:51 -04:00
Dianne Skoll 3f4f00890a Add solar and lunar eclipses in the 21st century. 2025-05-06 11:34:37 -04:00
Dianne Skoll e96875c698 Fix typo. 2025-05-01 10:29:04 -04:00
Dianne Skoll d65348bf83 Fix Bevrijdingsdag 2025-04-28 17:15:54 -04:00
Dianne Skoll c1704b9d52 Fix up rules for Bevrijdingsdag courtesy of Adrian P. van Bloois 2025-04-28 10:00:53 -04:00
Dianne Skoll e87d285170 Remove unbalanced .RE from man page source. 2025-04-27 12:15:03 -04:00
Dianne Skoll c6b00b616e Change the comment from:
also include [$SysInclude]/holidays/...
to:
       also SYSINCLUDE holidays/...
2025-04-27 10:04:48 -04:00
Dianne Skoll 084dbd71b1 Move Koningsdag to Saturday instead of Monday if 27 April is a Sunday.
Bug pointed out by Adri P. van Bloois.
2025-04-26 10:23:51 -04:00
Dianne Skoll ce123d1b41 Bump to version 05.03.06. 2025-04-25 11:02:22 -04:00
Dianne Skoll 4ed8331369 Add a note about $SuppressLRM right under the "-c" option documentation. 2025-04-24 16:11:32 -04:00
Dianne Skoll 44b920e080 Make "remind -s" respect $DefaultColor
https://dianne.skoll.ca/pipermail/remind-fans/2025/005051.html
2025-04-23 10:15:20 -04:00
Dianne Skoll dc75c8f49b Tweak astro output. 2025-03-25 15:22:49 -04:00
Dianne Skoll cef6e6717c Convert C++-style comments to C-style comments. 2025-03-24 11:42:54 -04:00
Dianne Skoll 5ec78739cd Add moonrise, moonset, etc. to remind-conf-mode. 2025-03-23 17:03:56 -04:00
Dianne Skoll 79f45169c8 Set release date. 2025-03-23 13:37:51 -04:00
Dianne Skoll b9f09b9a2d Fix some cppcheck warnings. 2025-03-23 13:24:38 -04:00
Dianne Skoll f53a174d65 Update WHATSNEW 2025-03-23 13:15:14 -04:00
Dianne Skoll ed15b7deb5 Update JSON parser to latest version from https://github.com/udp/json-parser 2025-03-22 12:09:30 -04:00
Dianne Skoll caf5f81eb0 Add a few more removals to "make distclean" 2025-03-22 11:18:56 -04:00
Dianne Skoll d48910eca9 Update "make distclean" target; remove obsolete unconfigure script. 2025-03-22 11:16:54 -04:00
Dianne Skoll c004944a59 Replace '1440' with 'MINUTES_PER_DAY' in a bunch of spots. 2025-03-20 17:20:25 -04:00
Dianne Skoll f2d1a21a4e Update docs. 2025-03-20 15:40:33 -04:00
Dianne Skoll 81a5241097 Add tests for soleq. 2025-03-20 11:53:11 -04:00
Dianne Skoll eced4de4a2 Explicitly supply date. 2025-03-20 11:45:11 -04:00
Dianne Skoll 2c8fa39af0 Add tests for astronomical functions. 2025-03-20 11:38:18 -04:00
Dianne Skoll 6ac5e96260 Fix logic bug in astro. 2025-03-20 10:20:08 -04:00
Dianne Skoll deda94a69e Comment and code cleanups. 2025-03-19 18:08:28 -04:00
Dianne Skoll abb8cbb1bf Update docs 2025-03-19 17:43:38 -04:00
Dianne Skoll ee4e3e9073 Bump version to 05.03.05. 2025-03-19 17:38:33 -04:00
Dianne Skoll 220014e60f Document moonrise and moonset functions. 2025-03-19 17:31:29 -04:00
Dianne Skoll 3d0d07ce29 Remove note about OS/2. 2025-03-19 15:41:15 -04:00
Dianne Skoll 38615adb41 Update tests for fixes to 12:XXam 2025-03-19 12:38:36 -04:00
Dianne Skoll 3d8f0e3907 Code cleanup; fix astro example. 2025-03-19 12:35:51 -04:00
Dianne Skoll 160f85a1f8 Fix %2 and %@ formatters to print "12:XXam" instead of "0:XXam" 2025-03-19 12:35:25 -04:00
Dianne Skoll 5cb062166c Add moonrise/moonset to astro example. 2025-03-19 12:18:19 -04:00
Dianne Skoll 81fa6c667f Update unit test. 2025-03-19 11:57:23 -04:00
Dianne Skoll 190dfa3a8f Add moonrisedir and moonsetdir functions. 2025-03-19 11:57:01 -04:00
Dianne Skoll a22c674846 Add moonrise and moonset functions. 2025-03-19 11:45:34 -04:00
Dianne Skoll ba224445b1 Allocate 256 expr_nodes in a chunk instead of 64. 2025-03-16 10:55:42 -04:00
Dianne Skoll 6aeee47bfa Remove unused code. 2025-03-16 10:47:54 -04:00
Dianne Skoll c506fa4613 Refactor code. 2025-03-13 23:51:22 -04:00
Dianne Skoll 04404a252e Remove check for '%' in parse_atom. 2025-03-13 23:45:21 -04:00
Dianne Skoll be746f9fa7 Print placeholder args when printing error message for user function invoked with incorrect number of arguments. 2025-03-13 23:33:19 -04:00
Dianne Skoll 2393a86970 Fix typo that broke opening reminder file from queue listing. 2025-03-10 17:52:59 -04:00
Dianne Skoll 143ad08b3f Update release notes. 2025-03-09 10:51:13 -04:00
Dianne Skoll 44afdfcb44 Update version to 05.03.04 2025-03-09 10:48:43 -04:00
Dianne Skoll 4b905dbc02 Set LC_ALL and LANG right before sort. 2025-03-08 23:09:30 -05:00
Dianne Skoll 0f76750e05 Set locale for sorting. 2025-03-08 23:04:38 -05:00
Dianne Skoll b32f56134e Don't redirect stderr to /dev/null on failure to use a required Perl module. 2025-03-04 11:11:34 -05:00
Dianne Skoll 60b0b468df Fix typo 2025-03-03 19:55:52 -05:00
Dianne Skoll 52ce99af80 Document changes since 05.03.02. 2025-03-03 11:27:29 -05:00
Dianne Skoll 5915eb4973 Bump version to 05.03.03. 2025-03-03 11:23:10 -05:00
Dianne Skoll aa8d23fd87 Add a couple of Dutch translations. 2025-03-01 13:34:37 -05:00
Dianne Skoll 917d943953 Avoid memory leak. 2025-03-01 12:01:15 -05:00
Dianne Skoll 9ade3876b2 Make TkRemind open editor at first line of reminder. 2025-02-16 20:36:50 -05:00
Dianne Skoll 471ecff267 Report both starting and ending lines for commands spanning multiple lines because of \-line continuation.
This affects error and warning messages primarily.  The JSON
interchange format has an additional lineno_start entry for
reminders that span multiple lines.  (Historically, lineno
was the *last* line of the reminder statement and I kept
that for compatibility.)
2025-02-16 20:30:16 -05:00
Dianne Skoll 762bf97473 Add some URLs and a couple of miscellaneous days. 2025-02-13 17:43:02 -05:00
Dianne Skoll 563f3ea088 Remove obsolete files. 2025-02-12 14:39:55 -05:00
Dianne Skoll 939078428f Add some miscellaneous holidays not found in other files. 2025-02-12 13:13:08 -05:00
Dianne Skoll 5acbb907b4 Issue warning if a substitution sequence related to time is used without an AT clause.
Remind unit tests / tests (push) Successful in 31s
2025-02-10 09:23:43 -05:00
Dianne Skoll 21ecc28ea4 Prep for 05.03.02 release.
Remind unit tests / tests (push) Successful in 34s
2025-02-09 09:56:45 -05:00
Dianne Skoll b37a7cd993 Revert change to how -y generates tags.
Remind unit tests / tests (push) Successful in 48s
Commit e7ec975ff0 changed how the
MD5 sum was calculated to include the filename and line number.

This commit reverts that change; the tag is generated purely
on the REM command line.
2025-02-08 22:25:09 -05:00
Dianne Skoll 64679817ae Update WHATSNEW in preparation for release.
Remind unit tests / tests (push) Successful in 52s
2025-02-07 13:08:20 -05:00
Dianne Skoll 1ef1033379 Add dependencies to Makefile.PL.in
Remind unit tests / tests (push) Successful in 45s
2025-02-05 10:58:47 -05:00
Dianne Skoll 7d42750043 Better checks for Perl modules. 2025-02-05 10:57:28 -05:00
Dianne Skoll 1dc0afc0ca Improve small calendar display.
Remind unit tests / tests (push) Successful in 26s
2025-02-04 22:27:32 -05:00
Dianne Skoll a0aede4069 Add clickable URL in popup reminder if we have an INFO "Url: ..." string. 2025-02-04 13:58:23 -05:00
Dianne Skoll a5a7637696 Bump version in preparation for next release. 2025-02-04 13:49:00 -05:00
Dianne Skoll 38a597a374 We're releasing today!
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.
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.
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.
Remind unit tests / tests (push) Successful in 42s
2025-02-02 11:21:38 -05:00
Dianne Skoll 5adb5d893e Final (??) tweaks of popup appearance. :)
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.
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.
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.
Remind unit tests / tests (push) Successful in 36s
2025-01-30 16:58:56 -05:00
Dianne Skoll cb0acb3077 Document INFO
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.
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.
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.
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.
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.
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.
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
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
Remind unit tests / tests (push) Successful in 41s
2025-01-18 10:45:35 -05:00
Dianne Skoll d650b8564c Update release notes
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.
Remind unit tests / tests (push) Successful in 44s
2025-01-17 08:46:29 -05:00
Dianne Skoll 6b31778973 Better error message.
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
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.
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.
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.
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.
Remind unit tests / tests (push) Successful in 34s
2025-01-11 14:12:56 -05:00
Dianne Skoll 098e98c59e Add holidays/lgbtq.rem
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
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.
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.
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.
Remind unit tests / tests (push) Successful in 1m41s
2025-01-05 10:34:28 -05:00
Dianne Skoll a033a48acd Make rem2html support weekly calendars.
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.
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.
Remind unit tests / tests (push) Successful in 42s
2024-12-26 09:38:05 -05:00
Dianne Skoll c80d72f623 Add --weeks-per-page option.
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.
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.
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.
Remind unit tests / tests (push) Successful in 33s
2024-12-19 10:20:35 -05:00
Dianne Skoll 7c530d3068 Remove unnecesary .gitignore entry
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.
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.
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.
Remind unit tests / tests (push) Successful in 32s
2024-12-16 17:10:45 -05:00
Dianne Skoll e394f402f8 Set release date.
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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...)
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.
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.
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.
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.
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.
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.
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"
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
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
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.
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
Remind unit tests / tests (push) Failing after 30s
2024-11-14 22:27:54 -05:00
Dianne Skoll 73519889c7 Add UK Remembrance Day
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
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.
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.
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.
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
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.
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.
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.
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.
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
699 changed files with 951490 additions and 9036 deletions
-2
View File
@@ -1,2 +0,0 @@
liberapay: dskoll
-7
View File
@@ -1,7 +0,0 @@
# Remind has moved
For various reasons, I have decided to move Remind off GitHub. This repo
will be archived. To create merge requests or issues, please visit
Remind's new home at https://salsa.debian.org/dskoll/remind
-- Dianne Skoll
-29
View File
@@ -1,29 +0,0 @@
# language: bash
---
name: Remind unit tests
on:
push
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout Remind
uses: actions/checkout@v2
- name: Add test user
run: |
sudo adduser --home /home/testuser --gecos 'Test User' --disabled-password testuser
- name: Fix ownership
run: |
sudo chown -R testuser .
- name: Build
run: |
sudo su -c './configure && make' testuser
- name: Run Tests
run: |
sudo su -c 'make test' testuser
- name: Fix up permissions so GitHub does not complain
run: |
sudo chmod -R a+rwX .
+1 -1
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
+1 -1
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
+7 -3
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
@@ -43,8 +42,13 @@ install-stripped:
test:
@$(MAKE) -C src -s test
cppcheck:
@$(MAKE) -C src cppcheck
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/version.h 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
-rm -rf autom4te.cache rem2html/Makefile rem2html/rem2html.1
src/Makefile: src/Makefile.in
./configure
-78
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/
+96
View File
@@ -0,0 +1,96 @@
# 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 Noto 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`
## Usage
Remind is a large and complex program. You can read the full manual page
with:
`man remind`
after installation. However, the man page is long and detailed and is
more of a reference than an introduction. You can get an overview
with a [slide deck](https://dianne.skoll.ca/projects/remind/download/remind-oclug.pdf)
I made a while back. There's also a (long) [YouTube video](https://www.youtube.com/watch?v=0SNgvsDvx7M) that serves as an
introduction to Remind.
## A Note about AI
1. No part of Remind was written using AI of any type.<br><br>
I certify that all of the C, Perl and Tcl code in Remind was written
by a human being. I certify that all code in `.rem` files other than
ones under `include/holidays` was written by a human being. The code
under `include/holidays` was derived from the Python "holidays" library
and I have no direct knowledge of the provenance of that library,
though I suspect it's entirely or almost entirely human-written.
2. No AI-generated patches or other sorts of contributions to Remind
will be accepted.
3. Remind's source code may not be used to train an AI model,
including an LLM model, unless all of the output of said model is
released under the GNU General Public License, version 2. If you use
any of Remind's source code to train your model, then anything that
the model produces is a derived product of Remind and must be licensed
under the same terms as Remind.
---
Contact info: dianne@skoll.ca
Home page: [https://dianne.skoll.ca/projects/remind/](https://dianne.skoll.ca/projects/remind/)
+6 -50
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))]
Vendored
+410 -333
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(remind, 05.00.08, , , https://dianne.skoll.ca/projects/remind/)
AC_INIT(remind, 05.05.00, , , https://dianne.skoll.ca/projects/remind/)
AC_CONFIG_SRCDIR([src/queue.c])
cat <<'EOF'
+43 -37
View File
@@ -110,14 +110,17 @@
(defconst remind-keywords
(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"
"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")
"CLEAR-OMIT-CONTEXT" "DEBUG" "DO" "DUMP" "DUMPVARS"
"DURATION" "ELSE" "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" "POP-FUNCS" "POP-VARS" "PRESERVE" "PRIORITY" "PS"
"PSFILE" "PUSH" "PUSH-FUNCS" "PUSH-VARS" "PUSH-OMIT-CONTEXT" "REM" "RETURN"
"RUN" "SATISFY" "SCAN" "SCANFROM" "SCHED" "SECOND" "SET"
"SKIP" "SPECIAL" "SYSINCLUDE" "TAG" "THIRD" "THROUGH"
"TRANSLATE" "TRANS" "UNSET" "UNTIL" "WARN")
#'(lambda (a b) (> (length a) (length b)))))
@@ -128,9 +131,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"
@@ -143,8 +147,8 @@
"$NumTrig" "$October" "$On" "$OnceFile" "$ParseUntriggered" "$Pm"
"$PrefixLineNo" "$PSCal" "$RunOff" "$Saturday" "$September"
"$SimpleCal" "$SortByDate" "$SortByPrio" "$SortByTime" "$SubsIndent"
"$Sunday" "$SuppressImplicitWarnings" "$SuppressLRM" "$SysInclude" "$T" "$Td"
"$TerminalBackground" "$Thursday" "$TimeSep" "$Tm" "$Today"
"$Sunday" "$SuppressImplicitWarnings" "$SuppressLRM" "$SysInclude" "$T" "$Tb" "$Td"
"$TerminalBackground" "$Thursday" "$TimeSep" "$TimetIs64bit" "$Tm" "$Today"
"$Tomorrow" "$Tt" "$Tuesday" "$Tw" "$Ty" "$U" "$Ud" "$Um"
"$UntimedFirst" "$Use256Colors" "$UseBGVTColors" "$UseTrueColors"
"$UseVTColors" "$Uw" "$Uy" "$Was" "$Wednesday")
@@ -161,24 +165,26 @@
(defconst remind-builtin-functions
(sort
(list "abs" "access" "adawn" "adusk" "ampm" "ansicolor" "args" "asc"
"baseyr" "char" "choose" "coerce" "columns" "current" "date"
(list "_" "abs" "access" "adawn" "adusk" "ampm" "ansicolor" "args" "asc"
"baseyr" "catch" "catcherr" "char" "choose" "coerce" "columns" "const" "current" "date"
"datepart" "datetime" "dawn" "day" "daysinmon" "defined" "dosubst"
"dusk" "easterdate" "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"
"minute" "mon" "monnum" "moondate" "moondatetime" "moonphase"
"moontime" "multitrig" "ndawn" "ndusk" "nonomitted" "now" "ord"
"orthodoxeaster" "ostype" "pad" "plural" "psmoon" "psshade"
"realcurrent" "realnow" "realtoday" "rows" "sgn" "shell" "shellescape"
"slide" "soleq" "stdout" "strlen" "substr" "sunrise" "sunset" "time"
"timepart" "timezone" "today" "trig" "trigback" "trigdate"
"trigdatetime" "trigdelta" "trigduration" "trigeventduration"
"trigeventstart" "trigfrom" "trigger" "trigpriority" "trigrep"
"dusk" "easterdate" "escape" "eval" "evaltrig" "filedate" "filedatetime"
"filedir" "filename" "getenv" "hebdate" "hebday" "hebmon" "hebyear"
"hour" "htmlescape" "htmlstriptags" "iif" "index" "isany" "isconst" "isdst"
"isleap" "isomitted" "language" "localtoutc" "lower" "max" "min"
"minsfromutc" "minute" "mon" "monnum" "moondate" "moondatetime"
"moonphase" "moonrise" "moonrisedir" "moonset" "moonsetdir" "moontime"
"multitrig" "ndawn" "ndusk" "nonconst" "nonomitted" "now" "ord" "orthodoxeaster"
"ostype" "pad" "plural" "psmoon" "psshade" "realcurrent" "realnow"
"realtoday" "rows" "sgn" "shell" "shellescape" "slide" "soleq"
"stdout" "strlen" "substr" "sunrise" "sunset" "time" "timepart"
"timezone" "today" "trig" "trigback" "trigbase" "trigdate" "trigdatetime"
"trigdelta" "trigduration" "trigeventduration" "trigeventstart"
"trigfrom" "trigger" "triginfo" "trigpriority" "trigrep"
"trigscanfrom" "trigtags" "trigtime" "trigtimedelta" "trigtimerep"
"triguntil" "trigvalid" "typeof" "tzconvert" "upper" "utctolocal"
"value" "version" "weekno" "wkday" "wkdaynum" "year")
"value" "version" "weekno" "wkday" "wkdaynum" "year"
)
#'(lambda (a b) (> (length a) (length b)))))
;;; faces
@@ -187,21 +193,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 +221,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 +242,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 +301,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
+4 -79
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/
+398 -4
View File
@@ -1,5 +1,399 @@
CHANGES TO REMIND
* VERSION 5.5 Patch 0 - 2025-07-28
- NEW FEATURE: remind: Add the PUSH-VARS / POP-VARS commands and the
analogous PUSH-FUNCS / POP-FUNCS commands. These let you localize
changes to variables and functions and help with writing more modular
reminder files.
- INTERNAL CHANGES: Clean up the code following recommendations from
an updated "cppcheck" executable.
* VERSION 5.4 Patch 2 - 2025-07-16
- MINOR CHANGE: remind: Allow daysinmon() to take a DATE or DATETIME
argument.
- MINOR CHANGE: remind: All functions that want an integer month number
will now also accept a string naming the month.
= UPDATE: include/holidays/chinese-new-year.rem: Add dates for Chinese
New Year for 2051 through 2100.
- BUG FIX: remind: Set trigdate() correctly for a fully-specified
date, even if it's in the past, as the manual documented. Bug
found by Tim Chase.
- DOCUMENTATION FIX: rem2html: Document the correct Perl module
prerequisites.
- CODE FIXES: remind: Various minor improvements to the code with
no user-visible changes.
* VERSION 5.4 Patch 1 - 2025-06-15
- MAJOR BUG FIX: remind: In some circumstances, a REM command could
yield a trigger date after its UNTIL date, rather than recognizing it
as having expired. This has been fixed. Bug found by Ian! D. Allen.
- BUG FIX: rem2pdf: Support the COLOUR special (as well as COLOR).
- MINOR IMPROVEMENT: Add include/utils/add-html-anchors.rem. You can
INCLUDE this file to get HTML anchors added to every calendar day
by rem2html.
- DOCUMENTATION: Add NOTE-ABOUT-AI.txt
* VERSION 5.4 Patch 0 - 2025-06-03
- MAJOR IMPROVEMENT: remind: Track which expressions and variables
Remind can prove to its satisfaction are "constant" - that is, that
will always have the same value on any Remind run as long as the
files are not edited. This allows "Purge Mode" to purge more
reminders than before.
See the new remind(1) man page section "NON-CONSTANT EXPRESSIONS"
- MINOR NEW FEATURE: remind: add the "nonconst" built-in function (to
force an expression to be interpreted as non-constant), the "const"
function to force an expression to be interpreted as constant, and
the "isconst" function to test if an expression is constant.
- MINOR NEW FEATURE: remind: Add eval() built-in function that takes a
string argument and evaluates it as an expression. For safety, the
"shell" function is disabled inside an eval().
- MINOR NEW FEATURE: remind: add the "u" debugging flag to warn you if
you set a variable that is not subsequently used.
- MINOR NEW FEATURE: remind: Add the trigbase() function and
corresponding $Tb system variable. See the remind(1) man page for
details.
- MINOR IMPROVEMENT: remind: make value("var", default) evaluate the
second argument lazily: If "var" is defined, then the second
argument is never evaluated.
- MINOR IMPROVEMENT: remind: Add syntax for redefining a function without
issuing a warning. The syntax:
FSET - func(x) expr
is equivalent to:
FUNSET func
FSET func(x) expr
- MINOR IMPROVEMENT: include/holidays: Update a bunch of files to use
isany(n, a, b, c) rather than (n == a || n == b || n == c)
- MINOR IMPROVEMENT: remind: Make $Tu a synonym for triguntil().
- MINOR IMPROVEMENT: remind: If coerce() fails, issue a more detailed
error message.
- MINOR IMPROVEMENT: remind: Using Hush mode "-h" with purge mode "-j"
suppresses the normal purge-mode diagnostics about reminders that
might not be purged. Instead, only the "#!P: Expired" purge-mode
lines are emitted.
- NEW FEATURE: remind: Add the catch() built-in function. This lets
you catch errors in expression evaluation. For example:
catch(2/0, "oops") returns "oops". The catcherr() function returns
the error message from the last catch() expression that failed, in
this case "Division by zero".
- IMPROVEMENT: remind: Remind can handle dates that require UTC to
Local conversion (and vice-versa) for years greater than 2038, even
on systems with a 32-bit time_t.
- MINOR IMPROVEMENT: remind: Allow the argument to monnum() to be a
string, in which case it's parsed as a month name and the
corresponding month number returned.
- MINOR IMPROVEMENT: remind: Allow the argument to wkdaynum() to be a
string, in which case it's parsed as a weekday name and the
corresponding weekday number returned.
- MINOR IMPROVEMENT: remind: Make the expression parser optimize away
the unary "-" and "!" operators when followed by an integer constant.
- BUG FIX: tests: Don't use the obsolete "tail +2" syntax in test-rem.
Fix courtesy of Dick Marinus.
* VERSION 5.3 Patch 7 - 2025-05-06
- IMPROVEMENT: examples/astro: Make moonrise/moonset appear after
sunrise/sunset
- NEW FILES: Add include/solar-eclipses.rem and
include/lunar-eclipses.rem for solar and lunar eclipses
(respectively) in the 21st century.
- NEW SYSTEM VARIABLE: remind: Add $TimetIs64bit system variable,
which is 1 if the built in time_t type is at least 64 bits, and 0
otherwise.
- TEST FIX: "make test" now passes on systems with a 32-bit time_t
type.
- BUG FIX: include/holidays/nl.rem: Use the correct rules for
Koningsdag and Bevrijdingsdag, courtesy of Adrian P. van Bloois.
* VERSION 5.3 Patch 6 - 2025-04-25
- BUG FIX: remind: Make "remind -s" respect $DefaultColor. Bug found by
Tim Chase.
- DOCUMENTATION IMPROVEMENT: Make documentation of $SuppressLRM a bit more
prominent
- UPDATE: contrib/remind-conf-mode: Add new functions moonrise, moonset, etc.
to Emacs highlighting file
- MINOR IMPROVEMENT: examples/astro: Align output better
- MINOR FIX: src/moon.c: Change C++-style comments to C-style comments
* VERSION 5.3 Patch 5 - 2025-03-23
- NEW FEATURE: remind: Add moonrise, moonset, moonrisedir and moonsetdir
functions. The first two functions calculate the time of the next
moonrise and moonset, and the second two calculate in which direction
the moon will rise or set. See the examples/astro script for examples
of how to use the moonrise/moonset functions.
- CODE CLEANUPS: remind: Some minor code cleanups with no user-visible effects.
- IMPROVEMENT: Add tests for the astronomical calculation functions.
- UPDATE: Update the included json.c and json.h files to the latest versions
from https://github.com/udp/json-parser
- BUG FIX: remind: The %2 and %@ sequences would print "0:34am" for the
time 00:34, instead of the correct "12:34am". This has been fixed.
- BUG FIX: TkRemind: Fix bug that broke the ability to open a text editor
on a reminder from the "Queue..." listing.
* VERSION 5.3 Patch 4 - 2025-03-09
- BUG FIX: remind: "make test" could fail if Remind was built in a locale
other than "C". This has been fixed.
- BUG FIX: Fix a typo in the remind man page.
* VERSION 5.3 Patch 3 - 2025-03-03
- NEW FEATURE: remind: If a command spans more than one line (because of
backslash line continuation) output both the starting and ending line
number in error messages.
- NEW FEATURE: remind: In the JSON -pp and -ppp output, include a new key
lineno_start to specify the starting line of a multi-line reminder.
The existing lineno key specifies the ending line; this is maintained
for backward-compatibility.
- MINOR IMPROVEMENT: include/holidays/misc.rem: Add a few new holidays and
URL INFO strings.
- CHANGE: remind: Issue a warning if a time-related substitution sequence
is used with a non-timed REM command.
- BUG FIX: remind: Fix a memory leak.
* VERSION 5.3 Patch 2 - 2025-02-09
- CHANGE: remind: Revert a change to the way "-y" tags are generated that
was introduced in 05.03.01. The change broke a library that depended
on it being generated in the old way.
* VERSION 5.3 Patch 1 - 2025-02-07
- IMPROVEMENT: TkRemind: When we pop up a timed reminder, make any "Url:"
info string into a clickable link.
- IMPROVEMENT: rem2pdf: Improve the layout of the small monthly calendars.
- BUG FIX: rem2pdf: Add checks for all Perl dependencies.
* 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
@@ -1165,10 +1559,10 @@ CHANGES TO REMIND
- NEW FEATURE: Add "-u+username" variant to tell Remind to switch users to
"username" without disabling RUN directives. Idea courtesy of Ian! D. Allen
- CHANGE: rem2html: rem2html has been moved out of the www/ directory into
its own rem2html/ directory. If your system has the prerequisites
(namely Perl, Getopt::Long and JSON::Any) then rem2html will be installed
by "make install".
- CHANGE: rem2html: rem2html has been moved out of the www/ directory
into its own rem2html/ directory. If your system has the
prerequisites (namely Perl, Getopt::Long and JSON::MaybeXS) then
rem2html will be installed by "make install".
- CHANGE: Remove "cm2rem". It was about 20 years obsolete.
+58
View File
@@ -32,6 +32,64 @@ EOF
remind -g "-i\$Latitude=\"$latitude\"" "-i\$Longitude=\"$longitude\"" -q -@2 - "$@" <<'EOF'
SET $AddBlankLines 0
FSET angle_to_direction(x) \
IIF(x > 348 && x <= 11, "North", \
x > 11 && x <= 34, "North North-East", \
x > 34 && x <= 56, "North-East", \
x > 56 && x <= 79, "East North-East", \
x > 79 && x <= 101, "East", \
x > 101 && x <= 124, "East South-East", \
x > 124 && x <= 146, "South-East", \
x > 146 && x <= 169, "South South-East", \
x > 169 && x <= 191, "South", \
x > 191 && x <= 214, "South South-West", \
x > 214 && x <= 236, "South-West", \
x > 236 && x <= 259, "West South-West", \
x > 259 && x <= 281, "West", \
x > 281 && x <= 304, "West North-West", \
x > 304 && x <= 326, "North-West", \
"North North-West")
BANNER %
set mr moonrise()
set ms moonset()
set mr_a moonrisedir()
set ms_a moonsetdir()
REM NOQUEUE [mr] MSG Moonrise: %*3 in the [angle_to_direction(mr_a)] ([mr_a] degrees)
REM NOQUEUE [ms] MSG Moonset: %*3 in the [angle_to_direction(ms_a)] ([ms_a] degrees)
IF (datepart(mr) != today())
REM MSG Moonrise: No moonrise today
ENDIF
IF (datepart(ms) != today())
REM MSG Moonset: No moonset today
ENDIF
EOF
echo ""
remind -g "-i\$Latitude=\"$latitude\"" "-i\$Longitude=\"$longitude\"" -q -@2 - "$@" <<'EOF'
SET $AddBlankLines 0
FSET angle_to_direction(x) \
IIF(x > 348 || x <= 11, "North", \
x > 11 && x <= 34, "North North-East", \
x > 34 && x <= 56, "North-East", \
x > 56 && x <= 79, "East North-East", \
x > 79 && x <= 101, "East", \
x > 101 && x <= 124, "East South-East", \
x > 124 && x <= 146, "South-East", \
x > 146 && x <= 169, "South South-East", \
x > 169 && x <= 191, "South", \
x > 191 && x <= 214, "South South-West", \
x > 214 && x <= 236, "South-West", \
x > 236 && x <= 259, "West South-West", \
x > 259 && x <= 281, "West", \
x > 281 && x <= 304, "West North-West", \
x > 304 && x <= 326, "North-West", \
"North North-West")
BANNER %
IF $TerminalBackground == 0
REM [moondatetime(0)] +60 SPECIAL COLOR 255 255 0 New moon: 🌑 [$T] %3 (%b)
+1 -1
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
# #
#############################################################################
+2 -2
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")
@@ -28,7 +28,7 @@ if !defined("ansi_bold")
set ansi_underline2 char(27) + "[21m"
set ansi_overline char(27) + "[53m"
endif
preserve ansi_normal ansi_bold ansi_faint ansi_italic ansi_underline2 ansi_reverse ansi_strikeout ansi_underline2 ansi_overline
preserve ansi_normal ansi_bold ansi_faint ansi_italic ansi_underline ansi_reverse ansi_strikeout ansi_underline2 ansi_overline
endif
# Example: REM MSG I must [ansi_bold]emphasize[ansi_normal] \
+65
View File
@@ -0,0 +1,65 @@
This directory contains holiday files. The two-character files contain
holidays for various countries. Some countries (such as US and CA) have
regions with their own different holidays; the regional holidays are
stored in *.rem files underneath the country-code directory (eg, us and ca,
respectively.)
Many of these files were generated from the excellent "holidays" Python
library at https://pypi.org/project/holidays/
I did great damage to the library and host a terrible, awful hacked version
at https://github.com/dfskoll/holidays; it is this repo (in the remind-output
branch) that I used to generate the Remind files.
********************** IMPORTANT CAVEATS **********************
Any holidays that depend on a non-Gregorian calendar such as Jewish,
Islamic, Chinese and other East Asian calendars will NOT appear in the
country files! The only exceptions are holidays depending on the
Orthodox Easter date, for which Remind has support.
Also, I have made no effort to track changes to holiday legislation
over time. Therefore, the holiday files may be inaccurate for years
prior to 2024. I also did not include any one-off holidays such as
the funeral of Queen Elizabeth on 19 September 2022.
Non-country holiday files are:
chinese-new-year.rem - Chinese New Year from 2022 through 2050
discordian.rem - Discordian holidays
jewish.rem - Jewish holidays
pagan.rem - Pagan holidays
ADVANCE WARNING:
================
None of the included holiday files have deltas or substitution sequences.
You can use the following trick if you would like (for example) 7 days'
advance warning of holidays:
# Save old definition (if any) of msgsuffix
PUSH-FUNCS msgsuffix
# Save old value of $DefaultDelta
PUSH-VARS $DefaultDelta
# We want 7 days' advance warning
SET $DefaultDelta 7
# Add a suffix to print " is in xxx days", etc.
# Note the char(8) at the start to put the suffix
# on the same line as the reminder, and the final %
# in the argument of dosubst() to avoid an *extra*
# newline from being added
FSET msgsuffix(x) char(8) + dosubst(" is %b.%", $T)
# Include your holiday files here...
SYSINCLUDE holidays/us.rem
SYSINCLUDE holidays/us/ny.rem
# Restore old value $DefaultDelta
POP-VARS
# Restore old version of msgsuffix
POP-FUNCS
+3 -1
View File
@@ -3,12 +3,14 @@
# 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]/ad/
# [$SysInclude]/holidays/ad/
OMIT 1 January MSG New Year's Day
OMIT 6 January MSG Epiphany
+3 -2
View File
@@ -5,10 +5,11 @@
#
# 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]/ad.rem
# also SYSINCLUDE holidays/ad.rem
REM Third Saturday in July SCANFROM -28 ADDOMIT MSG Canillo Annual Festival
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
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/ad.rem
# also SYSINCLUDE holidays/ad.rem
OMIT 15 August MSG Encamp Annual Festival
OMIT 16 August MSG Encamp Annual Festival
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/ad.rem
# also SYSINCLUDE holidays/ad.rem
OMIT 15 August MSG La Massana Annual Festival
OMIT 16 August MSG La Massana Annual Festival
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/ad.rem
# also SYSINCLUDE holidays/ad.rem
OMIT 15 August MSG Ordino Annual Festival
OMIT 16 August MSG Ordino Annual Festival
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/ad.rem
# also 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
+3 -2
View File
@@ -5,10 +5,11 @@
#
# 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]/ad.rem
# also SYSINCLUDE holidays/ad.rem
REM First Saturday in August SCANFROM -28 ADDOMIT MSG Andorra la Vella Annual Festival
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
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/ad.rem
# also SYSINCLUDE holidays/ad.rem
OMIT 25 July MSG Escaldes-Engordany Annual Festival
OMIT 26 July MSG Escaldes-Engordany Annual Festival
+3 -1
View File
@@ -1,7 +1,9 @@
# SPDX-License-Identifier: MIT
# Holiday file for UnitedArabEmirates
# 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 اليوم الوطني
+15 -13
View File
@@ -2,30 +2,32 @@
# 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ë)
REM 1 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 1, 1)), 0, 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ë)
REM 2 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 1, 2)), 0, 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ë)
REM 14 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 14)), 0, 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ë)
REM 22 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 22)), 0, 6)] MSG Dita e Nevruzit (ditë pushimi e shtyrë)
REM 31 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 31)), 0, 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ë)
REM 1 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 5, 1)), 0, 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 [isany(wkdaynum(date($Ty, 5, 5)), 0, 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ë)
REM 5 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 9, 5)), 0, 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ë)
REM 22 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 11, 22)), 0, 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ë)
REM 28 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 11, 28)), 0, 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ë)
REM 29 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 11, 29)), 0, 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ë)
REM 8 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 12, 8)), 0, 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ë)
REM 25 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 12, 25)), 0, 6)] MSG Krishtlindjet (ditë pushimi e shtyrë)
+2
View File
@@ -2,6 +2,8 @@
# 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 Նոր տարվա օր
+24 -22
View File
@@ -2,38 +2,40 @@
# 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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 4] MSG Dia do Ano Novo (ponte)
REM 3 February SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 2, 4)) == 2] MSG Dia do Início da Luta Armada de Libertação Nacional (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 2, 4)) == 4] MSG Dia do Início da Luta Armada de Libertação Nacional (ponte)
REM 12 February SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 2, 13)) == 2] MSG Dia do Carnaval (ponte)
REM 14 February SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 2, 13)) == 4] MSG Dia do Carnaval (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 3, 8)) == 2] MSG Dia Internacional da Mulher (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 3, 8)) == 4] MSG Dia Internacional da Mulher (ponte)
REM 22 March SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 3, 23)) == 2] MSG Dia da Libertação da África Austral (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 3, 23)) == 4] MSG Dia da Libertação da África Austral (ponte)
REM 3 April SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 4, 4)) == 2] MSG Dia da Paz e Reconciliação Nacional (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 4, 4)) == 4] MSG Dia da Paz e Reconciliação Nacional (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 2] MSG Dia Internacional do Trabalhador (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 4] MSG Dia Internacional do Trabalhador (ponte)
REM 16 September SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 9, 17)) == 2] MSG Dia do Fundador da Nação e do Herói Nacional (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 9, 17)) == 4] MSG Dia do Fundador da Nação e do Herói Nacional (ponte)
REM 1 November SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 2)) == 2] MSG Dia dos Finados (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 2)) == 4] MSG Dia dos Finados (ponte)
REM 10 November SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 11)) == 2] MSG Dia da Independência Nacional (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 11)) == 4] MSG Dia da Independência Nacional (ponte)
REM 24 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 2] MSG Dia de Natal e da Família (ponte)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 4] MSG Dia de Natal e da Família (ponte)
REM 31 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 2] MSG Dia do Ano Novo (ponte)
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)
+21 -19
View File
@@ -2,6 +2,8 @@
# 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
@@ -11,26 +13,26 @@ 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 SCANFROM -28 ADDOMIT 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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 6, 17)) == 2] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
OMIT 17 June MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 6, 17)) == 4] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 17)) == 3] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 16 August SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 17)) == 2] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
OMIT 17 August MSG Paso a la Inmortalidad del General Don José de San Martin
REM 20 August SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 17)) == 5] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 21 August SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 17)) == 4] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 10 October SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 10, 12)) == 3] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 11 October SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 10, 12)) == 2] MSG Día del Respeto a la Diversidad Cultural (observado)
OMIT 12 October MSG Día del Respeto a la Diversidad Cultural
REM 15 October SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 10, 12)) == 5] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 16 October SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 10, 12)) == 4] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 18 November SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 20)) == 3] MSG Día de la Soberanía Nacional (observado)
REM 19 November SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 20)) == 2] MSG Día de la Soberanía Nacional (observado)
OMIT 20 November MSG Día de la Soberanía Nacional
REM 23 November SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 20)) == 5] MSG Día de la Soberanía Nacional (observado)
REM 24 November SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 20)) == 4] MSG Día de la Soberanía Nacional (observado)
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
+26 -22
View File
@@ -1,36 +1,40 @@
# SPDX-License-Identifier: MIT
# Holiday file for AmericanSamoa
# 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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM Third Monday in January SCANFROM -28 ADDOMIT MSG Martin Luther King Jr. Day
REM Third Monday in February SCANFROM -28 ADDOMIT MSG Washington's Birthday
REM 16 April SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 4, 17)) == 6] MSG American Samoa Flag Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 4, 17)) == 0] MSG American Samoa Flag Day (observed)
REM Last Monday in May SCANFROM -28 ADDOMIT MSG Memorial Day
REM 18 June SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 6, 19)) == 6] MSG Juneteenth National Independence Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 6, 19)) == 0] MSG Juneteenth National Independence Day (observed)
REM 3 July SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 7, 4)) == 6] MSG Independence Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 7, 4)) == 0] MSG Independence Day (observed)
REM 15 July SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 7, 16)) == 6] MSG Manu'a Islands Cession Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 7, 16)) == 0] MSG Manu'a Islands Cession Day (observed)
REM First Monday in September SCANFROM -28 ADDOMIT MSG Labor Day
REM Second Monday in October SCANFROM -28 ADDOMIT MSG Columbus Day
REM Second Sunday in October SCANFROM -28 ADDOMIT MSG White Sunday
REM 10 November SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 11)) == 6] MSG Veterans Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 11)) == 0] MSG Veterans Day (observed)
REM Fourth Thursday in November SCANFROM -28 ADDOMIT MSG Thanksgiving
REM 24 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 31 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
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
+5 -1
View File
@@ -3,12 +3,14 @@
# 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]/at/
# [$SysInclude]/holidays/at/
OMIT 1 January MSG Neujahr
OMIT 6 January MSG Heilige Drei Könige
@@ -23,6 +25,8 @@ 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
+4 -1
View File
@@ -5,8 +5,11 @@
#
# 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]/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 11 November MSG Hl. Martin
+4 -1
View File
@@ -5,9 +5,12 @@
#
# 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]/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef
REM 10 October MSG Tag der Volksabstimmung
+4 -1
View File
@@ -5,8 +5,11 @@
#
# 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]/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 15 November MSG Hl. Leopold
+4 -1
View File
@@ -5,8 +5,11 @@
#
# 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]/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 4 May MSG Hl. Florian
+4 -1
View File
@@ -5,8 +5,11 @@
#
# 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]/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 24 September MSG Hl. Rupert
+4 -1
View File
@@ -5,8 +5,11 @@
#
# 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]/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef
+4 -1
View File
@@ -5,8 +5,11 @@
#
# 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]/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef
+4 -1
View File
@@ -5,8 +5,11 @@
#
# 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]/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef
+4 -1
View File
@@ -5,8 +5,11 @@
#
# 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]/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 15 November MSG Hl. Leopold
+3 -1
View File
@@ -3,12 +3,14 @@
# 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]/au/
# [$SysInclude]/holidays/au/
OMIT 1 January MSG New Year's Day
OMIT 26 January MSG Australia Day
+13 -10
View File
@@ -5,20 +5,23 @@
#
# 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]/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM Second Monday in March SCANFROM -28 ADDOMIT MSG Canberra Day
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 SCANFROM -28 ADDOMIT MSG King's Birthday
REM First Monday in October SCANFROM -28 ADDOMIT MSG Labour Day
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
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
+12 -9
View File
@@ -5,18 +5,21 @@
#
# 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]/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
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 SCANFROM -28 ADDOMIT MSG King's Birthday
REM First Monday in October SCANFROM -28 ADDOMIT MSG Labour Day
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
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
+14 -11
View File
@@ -5,21 +5,24 @@
#
# 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]/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
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 SCANFROM -28 ADDOMIT MSG May Day
REM Second Monday in June SCANFROM -28 ADDOMIT MSG King's Birthday
REM First Monday in August SCANFROM -28 ADDOMIT MSG Picnic Day
REM 26 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 1] MSG Boxing Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
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)
+10 -9
View File
@@ -5,18 +5,19 @@
#
# 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]/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
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 SCANFROM -28 ADDOMIT MSG Labour Day
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 SCANFROM -28 ADDOMIT MSG King's Birthday
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
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)
+14 -11
View File
@@ -5,22 +5,25 @@
#
# 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]/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM Second Monday in March SCANFROM -28 ADDOMIT MSG Adelaide Cup Day
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 SCANFROM -28 ADDOMIT MSG King's Birthday
REM First Monday in October SCANFROM -28 ADDOMIT MSG Labour Day
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 1] MSG Proclamation Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Proclamation Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Proclamation Day (observed)
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)
+6 -5
View File
@@ -5,11 +5,12 @@
#
# 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]/au.rem
# also SYSINCLUDE holidays/au.rem
REM Second Monday in March SCANFROM -28 ADDOMIT MSG Eight Hours Day
REM Second Monday in June SCANFROM -28 ADDOMIT MSG King's Birthday
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
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)
+11 -10
View File
@@ -5,19 +5,20 @@
#
# 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]/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM Second Monday in March SCANFROM -28 ADDOMIT MSG Labour Day
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 SCANFROM -28 ADDOMIT MSG King's Birthday
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 SCANFROM -28 ADDOMIT MSG Melbourne Cup Day
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
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)
+13 -12
View File
@@ -5,19 +5,20 @@
#
# 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]/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM First Monday in March SCANFROM -28 ADDOMIT MSG Labour Day
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 4, 25)) == 0] MSG ANZAC Day (observed)
REM 27 April SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 4, 25)) == 6] MSG ANZAC Day (observed)
REM First Monday in June SCANFROM -28 ADDOMIT MSG Western Australia Day
REM 26 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 1] MSG Boxing Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
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)
+2
View File
@@ -2,6 +2,8 @@
# 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
+19 -15
View File
@@ -2,38 +2,42 @@
# 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)
REM 1 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 1, 1)), 0, 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)
REM 2 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 1, 2)), 0, 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)
REM 8 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 8)), 0, 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)
REM 20 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 20)), 0, 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)
REM 21 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 21)), 0, 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)
REM 22 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 22)), 0, 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)
REM 23 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 23)), 0, 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)
REM 24 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 24)), 0, 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)
REM 9 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 5, 9)), 0, 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)
REM 28 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 5, 28)), 0, 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)
REM 15 June OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 6, 15)), 0, 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)
REM 26 June OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 6, 26)), 0, 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)
REM 8 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 11, 8)), 0, 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)
REM 9 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 11, 9)), 0, 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)
REM 31 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 12, 31)), 0, 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ü
+8 -6
View File
@@ -1,20 +1,22 @@
# SPDX-License-Identifier: MIT
# Holiday file for BosniaAndHerzegovina
# 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 BosniaAndHerzegovina.
# holidays for Bosnia And Herzegovina.
#
# For region-specific holidays, you need to include
# one of the regional *.rem files in the directory
# [$SysInclude]/ba/
# [$SysInclude]/holidays/ba/
OMIT 1 January MSG Nova godina
OMIT 2 January MSG Nova godina
OMIT [easterdate($Uy)-2] MSG Veliki petak (Pravoslavni)
OMIT [easterdate($Uy)+1] MSG Uskrsni ponedjeljak (Katolički)
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)
OMIT 25 December MSG Božić (Pravoslavni)
+10 -9
View File
@@ -1,22 +1,23 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision BIH in BosniaAndHerzegovina
# 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]/ba.rem
# also SYSINCLUDE holidays/ba.rem
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Nova godina (preneseno)
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 [easterdate($Uy)-2] MSG Veliki petak (Katolički)
OMIT [easterdate($Uy)] MSG Uskrs (Katolički)
OMIT [easterdate($Uy)] MSG Vaskrs (Pravoslavni)
OMIT [easterdate($Uy)+1] MSG Uskrsni ponedjeljak (Pravoslavni)
REM 3 May SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Međunarodni praznik rada (preneseno)
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)
OMIT 24 December MSG Badnji dan (Pravoslavni)
+10 -9
View File
@@ -1,19 +1,20 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision BRC in BosniaAndHerzegovina
# 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]/ba.rem
# also SYSINCLUDE holidays/ba.rem
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Nova godina (preneseno)
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG Nova godina (preneseno)
REM 8 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 7)) == 0] MSG Božić (Pravoslavni) (preneseno)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 3, 8)) == 0] MSG Dan uspostavljanja Brčko distrikta (preneseno)
REM 3 May SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Međunarodni praznik rada (preneseno)
REM 3 May SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 6] MSG Međunarodni praznik rada (preneseno)
REM 26 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Božić (Katolički) (preneseno)
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)
+10 -9
View File
@@ -1,22 +1,23 @@
# SPDX-License-Identifier: MIT
# Holiday file for subdivision SRP in BosniaAndHerzegovina
# 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]/ba.rem
# also SYSINCLUDE holidays/ba.rem
REM 3 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG Nova godina (preneseno)
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 [easterdate($Uy)-2] MSG Veliki petak (Katolički)
OMIT [easterdate($Uy)] MSG Uskrs (Katolički)
OMIT [easterdate($Uy)] MSG Vaskrs (Pravoslavni)
OMIT [easterdate($Uy)+1] MSG Uskrsni ponedjeljak (Pravoslavni)
REM 3 May SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 6] MSG Međunarodni praznik rada (preneseno)
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)
OMIT 24 December MSG Badnji dan (Pravoslavni)
+12 -10
View File
@@ -2,25 +2,27 @@
# 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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 21)) == 0] MSG Errol Barrow Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 4, 28)) == 0] MSG National Heroes Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG May Day (observed)
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 SCANFROM -28 ADDOMIT MSG Kadooment Day
REM 2 August SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 1)) == 1] MSG Emancipation Day (observed)
REM 3 August SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 1)) == 0] MSG Emancipation Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 30)) == 0] MSG Independence Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
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)
+2
View File
@@ -2,6 +2,8 @@
# 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
+4
View File
@@ -2,6 +2,8 @@
# 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
@@ -15,6 +17,8 @@ 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
+13 -11
View File
@@ -1,27 +1,29 @@
# SPDX-License-Identifier: MIT
# Holiday file for BurkinaFaso
# 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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 3)) == 0] MSG Revolution Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 3, 8)) == 0] MSG International Women's Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Labour Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 5)) == 0] MSG Independence Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 15)) == 0] MSG Assumption Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 10, 31)) == 0] MSG Martyrs' Day (observed)
REM 2 November SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 1)) == 0] MSG All Saints' Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 11)) == 0] MSG Proclamation of Independence Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
+18 -14
View File
@@ -2,29 +2,33 @@
# 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 Нова година (почивен ден)
REM 1 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 1, 1)), 0, 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 [easterdate($Uy)-2] MSG Велики петък
OMIT [easterdate($Uy)-1] MSG Велика събота
OMIT [easterdate($Uy)] MSG Великден
OMIT [easterdate($Uy)+1] MSG Великден
REM 3 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 3)), 0, 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 Ден на труда и на международната работническа солидарност (почивен ден)
REM 1 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 5, 1)), 0, 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 Гергьовден, Ден на храбростта и Българската армия (почивен ден)
REM 6 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 5, 6)), 0, 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 Ден на светите братя Кирил и Методий, на българската азбука, просвета и култура и на славянската книжовност (почивен ден)
REM 24 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 5, 24)), 0, 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 Ден на Съединението (почивен ден)
REM 6 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 9, 6)), 0, 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 Ден на Независимостта на България (почивен ден)
REM 22 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 9, 22)), 0, 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 Бъдни вечер (почивен ден)
REM 24 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 12, 24)), 0, 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 Рождество Христово (почивен ден)
REM 25 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 12, 25)), 0, 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 Рождество Христово (почивен ден)
REM 26 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 12, 26)), 0, 6)] MSG Рождество Христово (почивен ден)
# Optional holidays
REM 1 November MSG Ден на народните будители
+2
View File
@@ -2,6 +2,8 @@
# 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 عيد العمال
+13 -11
View File
@@ -2,27 +2,29 @@
# 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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 2, 5)) == 0] MSG Unity Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 4, 6)) == 0] MSG President Ntaryamira Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Labour Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 6, 8)) == 0] MSG President Nkurunziza Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 7, 1)) == 0] MSG Independence Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 15)) == 0] MSG Assumption Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 10, 13)) == 0] MSG Prince Louis Rwagasore Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 10, 21)) == 0] MSG President Ndadaye's Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 11, 1)) == 0] MSG All Saints' Day (observed)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
+12 -10
View File
@@ -2,19 +2,21 @@
# 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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Awal Tahun Masihi (diperhatikan)
REM 2 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 5] MSG Awal Tahun Masihi (diperhatikan)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 2, 23)) == 0] MSG Hari Kebangsaan (diperhatikan)
REM 24 February SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 2, 23)) == 5] MSG Hari Kebangsaan (diperhatikan)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 31)) == 0] MSG Hari Angkatan Bersenjata Diraja Brunei (diperhatikan)
REM 1 June SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 31)) == 5] MSG Hari Angkatan Bersenjata Diraja Brunei (diperhatikan)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 7, 15)) == 0] MSG Hari Keputeraan KDYMM Sultan Brunei (diperhatikan)
REM 16 July SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 7, 15)) == 5] MSG Hari Keputeraan KDYMM Sultan Brunei (diperhatikan)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Hari Natal (diperhatikan)
REM 26 December SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 5] MSG Hari Natal (diperhatikan)
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)
+9 -7
View File
@@ -3,28 +3,30 @@
# 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]/bo/
# [$SysInclude]/holidays/bo/
OMIT 1 January MSG Año Nuevo
REM 2 January SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Año Nuevo (observado)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 1, 22)) == 0] MSG Día de la Creación del Estado Plurinacional de Bolivia (observado)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Día del Trabajo (observado)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 6, 21)) == 0] MSG Año Nuevo Aymara Amazónico (observado)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 8, 6)) == 0] MSG Día de la Independencia de Bolivia (observado)
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 SCANFROM -28 ADDOMIT SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Navidad (observado)
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Navidad (observado)
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 18 November MSG Día del departamento de Beni
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 14 September MSG Día del departamento de Cochabamba
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 25 May MSG Día del departamento de Chuquisaca
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 16 July MSG Día del departamento de La Paz
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 11 October MSG Día del departamento de Pando
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT [easterdate($Uy)-51] MSG Carnaval de Oruro
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 10 November MSG Día del departamento de Potosí
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 24 September MSG Día del departamento de Santa Cruz
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 15 April MSG La Tablada
+5 -1
View File
@@ -3,12 +3,14 @@
# 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]/br/
# [$SysInclude]/holidays/br/
OMIT 1 January MSG Confraternização Universal
OMIT [easterdate($Uy)-2] MSG Sexta-feira Santa
@@ -20,6 +22,8 @@ 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
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/br.rem
# also 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
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 24 June MSG São João
OMIT 29 June MSG São Pedro
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 5 September MSG Elevação do Amazonas à categoria de província
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 19 March MSG São José
OMIT 25 July MSG São Tiago
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 2 July MSG Independência da Bahia
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 19 March MSG São José
OMIT 25 March MSG Abolição da escravidão no Ceará
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 21 April MSG Fundação de Brasília
OMIT 30 November MSG Dia do Evangélico
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT [easterdate($Uy)+8] MSG Nossa Senhora da Penha
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 26 July MSG Fundação da cidade de Goiás
OMIT 24 October MSG Pedra fundamental de Goiânia
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 28 July MSG Adesão do Maranhão à independência do Brasil
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 21 April MSG Execução de Tiradentes
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 11 October MSG Criação do Estado
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 15 August MSG Adesão do Grão-Pará à independência do Brasil
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 5 August MSG Fundação do Estado
+3 -2
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
REM First Sunday in March SCANFROM -28 ADDOMIT MSG Revolução Pernambucana
REM First Sunday in March ADDOMIT SCANFROM -28 MSG Revolução Pernambucana
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 19 October MSG Dia do Piauí
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 19 December MSG Emancipação do Paraná
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 23 April MSG São Jorge
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/br.rem
# also 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
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 4 January MSG Criação do Estado
OMIT 18 June MSG Dia do Evangélico
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 5 October MSG Criação do Estado
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 20 September MSG Dia do Gaúcho
+2 -1
View File
@@ -5,9 +5,10 @@
#
# 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]/br.rem
# also 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
+2 -1
View File
@@ -5,8 +5,9 @@
#
# 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]/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 8 July MSG Emancipação política de Sergipe

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