Compare commits

...

713 Commits

Author SHA1 Message Date
Dianne Skoll
8b34e556a0 Update docs/WHATSNEW. 2025-10-08 09:42:42 -04:00
Dianne Skoll
dfe1834c75 Nicer readline prompts. 2025-10-07 23:38:12 -04:00
Dianne Skoll
54cbd87a7e Silence unused variable warning. 2025-10-07 23:23:10 -04:00
Dianne Skoll
775e0a85ec Fix logic so you can set IncludeOmer and IncludeOmerCal independently. 2025-10-07 23:21:37 -04:00
Dianne Skoll
9c580b74d4 Update release notes. 2025-10-07 23:14:15 -04:00
Dianne Skoll
4e9befaf80 Mass replacement of %(is) with %! 2025-10-07 23:12:26 -04:00
Dianne Skoll
996e9ee212 Colorize test PASS/FAIL indicators iff stdout is a tty. 2025-10-07 21:43:23 -04:00
Dianne Skoll
8748856f5a Don't set up inotify descriptor if we are not in server mode. 2025-10-07 20:52:22 -04:00
Dianne Skoll
41306bfad5 Use "sleep 0.2" on systems that support it. 2025-10-07 20:46:34 -04:00
Dianne Skoll
d084a48da7 Add test to verify that INCLUDECMD cmd connects cmd's standard input to /dev/null. 2025-10-07 20:38:21 -04:00
Dianne Skoll
18c3e0fe2e Handle failure path better. 2025-10-07 20:33:46 -04:00
Dianne Skoll
e038f74b28 Document that INCLUDECMD's cmd has stdin < /dev/null
Make testing yet a bit more verbose.
2025-10-07 20:31:21 -04:00
Dianne Skoll
303e42f344 Arrange it so an INCLUDECMD cmd redirect's "cmd's" standard input to /dev/null 2025-10-07 20:27:07 -04:00
Dianne Skoll
453bba5172 Pluralize. 2025-10-07 16:24:39 -04:00
Dianne Skoll
8ce56acc7a Make tests ever so slightly more verbose. 2025-10-07 16:23:22 -04:00
Dianne Skoll
90648e4091 Refactor filename into a shell variable. 2025-10-07 15:46:27 -04:00
Dianne Skoll
6c67dfeb72 Use a cppcheck-build-dir 2025-10-07 15:44:37 -04:00
Dianne Skoll
690d5bd429 Fix cppcheck warnings. 2025-10-07 15:36:26 -04:00
Dianne Skoll
1ee2c32374 Don't use the "SubstB" hack. 2025-10-07 15:28:32 -04:00
Dianne Skoll
7d2ec6767c Add some missing %"..%" 2025-10-07 15:22:06 -04:00
Dianne Skoll
8c4ad9c6b5 Add %"...%" %(is) %b. to all holiday files. 2025-10-07 15:13:37 -04:00
Dianne Skoll
7f3764fe2d Add %"%" and %(is) %b to Chinese New Year file. 2025-10-07 14:57:04 -04:00
Dianne Skoll
6f3b0526cf Update WHATSNEW. 2025-10-07 14:36:56 -04:00
Dianne Skoll
074feffaab Make sure we redirect stdin from /dev/null for RUN and shell() 2025-10-07 14:34:19 -04:00
Dianne Skoll
44dd57e6e3 When RUNning a command (REM RUN ...) arrange for command's stdin to be connected to /dev/null 2025-10-07 14:12:39 -04:00
Dianne Skoll
96c15ef42a Update docs; close stdin when we go to queuing mode. 2025-10-07 14:00:11 -04:00
Dianne Skoll
5876663f1b Put suffixes directly in holiday files. 2025-10-07 13:42:20 -04:00
Dianne Skoll
a11a80304a Bump version to 06.01.04. 2025-10-08 04:11:46 +11:00
Dianne Skoll
561245a5e8 Fix timezone bug reported by Jin Chen. 2025-10-08 04:09:33 +11:00
Dianne Skoll
0ecca26da8 Define a useful macro. 2025-10-07 09:01:14 -04:00
Dianne Skoll
7729d61adc Suppress redefined function warning. 2025-10-02 12:48:24 -04:00
Dianne Skoll
e58d168836 Use $Is rather than hard-coded "is" 2025-10-02 12:44:51 -04:00
Dianne Skoll
3d918ce8ad No need for HebAdvanceWarning... just use $DefaultDelta. 2025-10-02 12:42:31 -04:00
Dianne Skoll
468663103d Add a HebAdvanceWarning variable that sets the number of advance warning days. 2025-10-02 11:47:39 -04:00
Dianne Skoll
1cb2c6aa23 Simplify test script. 2025-10-01 21:16:04 -04:00
Dianne Skoll
3083142753 Don't set up an inotify descriptor in non-daemon mode. 2025-09-30 16:41:16 -04:00
Dianne Skoll
26de9d84f5 Update WHATSNEW in preparation for release. 2025-09-30 14:36:07 -04:00
Dianne Skoll
ba092fb781 Avoid warning in "make test" 2025-09-30 14:27:48 -04:00
Dianne Skoll
5fe1536b3b Add updated "holidays/jewish.rem" courtesy of Nimrod Levy. 2025-09-30 13:24:51 -04:00
Dianne Skoll
9e3797d5ed Simplify all calculations of dates relative to trigger date.
Also fixes off-by-one errors for New Year's Day in many files.
2025-09-29 19:41:40 -04:00
Dianne Skoll
26ec92675c Give more specific ADDOMIT advice. 2025-09-29 14:22:10 -04:00
Dianne Skoll
01461929d7 Fix line-counting logic that made entirely-empty weeks one row too short. 2025-09-29 09:48:15 -04:00
Dianne Skoll
b3a2c0e7c7 Don't add a spurious blank line if there are no entries at all for a given calendar row. 2025-09-28 22:52:44 -04:00
Dianne Skoll
a614383521 Fix off-by-one error pointed out by Nimrod Levy. 2025-09-27 19:40:30 -04:00
Dianne Skoll
9f139b0d02 More readable code. 2025-09-27 10:03:59 -04:00
Dianne Skoll
7decbed3ff In the tests/ directory, make "make test" the default make target. 2025-09-27 09:39:20 -04:00
Dianne Skoll
5610590fa8 Be pickier about $WarningLevel. Make sure it matches the Perl regex: ^\d\d\.\d\d\.\d\d$ 2025-09-27 09:38:00 -04:00
Dianne Skoll
be04097fbc Document $WarningLevel 2025-09-25 18:14:56 -04:00
Dianne Skoll
5092d5bc16 More warning_level annotations. 2025-09-25 18:08:29 -04:00
Dianne Skoll
2f86920842 Add $WarningLevel special variable. 2025-09-25 17:55:16 -04:00
Dianne Skoll
604e1b049c Add a warning to use SCANFROM with a moveable ADDOMIT. 2025-09-24 13:02:12 -04:00
Dianne Skoll
23081b556f Update WHATSNEW 2025-09-19 13:42:50 -04:00
Dianne Skoll
e2cfa46289 Update version to 06.01.02 2025-09-19 13:41:03 -04:00
Dianne Skoll
71384da875 Document default --max-expr-limit. 2025-09-19 13:39:55 -04:00
Dianne Skoll
af69f8779d Don't loop forever if a reminder moves backwards because of a time zone difference.
If we are not making progress, it's because the reminder has expired.
2025-09-19 13:33:23 -04:00
Dianne Skoll
131e77fa18 Use "unsigned long" to track expresison node evaluations. 2025-09-13 11:38:55 -04:00
Dianne Skoll
f153acf7ce Default max-expr-complexity to 10,000,000 2025-09-12 12:56:14 -04:00
Dianne Skoll
d75587fa7b Update change log. 2025-09-12 11:43:15 -04:00
Dianne Skoll
d9a2b15814 Bump version number to 06.01.01. 2025-09-12 11:33:15 -04:00
Dianne Skoll
aa090bf319 Add tests for PrintValue string truncation. 2025-09-12 11:22:51 -04:00
Dianne Skoll
dc6a229f5f Add some const qualifiers, as recommended by cppcheck. 2025-09-12 11:15:10 -04:00
Dianne Skoll
5a3840759a Make PrintValue truncate long strings on a multibyte-character boundary instead of potentially splitting a UTF-8 sequence. 2025-09-12 11:12:19 -04:00
Dianne Skoll
779174ae32 Proper font formatting. 2025-09-11 17:26:43 -04:00
Dianne Skoll
2f70b37d4c Be stricter about parsing hex constants. 2025-09-11 17:22:24 -04:00
Dianne Skoll
d15c8f106b Support hexadecimal integer constants in expressions; add hex() function. 2025-09-11 17:02:22 -04:00
Dianne Skoll
9d999a0074 Support hexacdecimal integer constants in expressions. 2025-09-11 16:50:13 -04:00
Dianne Skoll
097dda1750 Make asc() always return a number between 0 and 255. 2025-09-11 16:42:32 -04:00
Dianne Skoll
565bca4380 Add statistic for max expr node evaluations per line. 2025-09-11 12:04:32 -04:00
Dianne Skoll
adb38fe82e Fix off-by-one error. 2025-09-11 11:25:20 -04:00
Dianne Skoll
57545ddc3f Add test for --max-expr-complexity 2025-09-11 11:20:29 -04:00
Dianne Skoll
804cf14a78 Implement --max-expr-complexity 2025-09-11 11:11:11 -04:00
Dianne Skoll
641b5cec57 Mode docs on columns() vs mbstrlen() 2025-09-10 23:07:23 -04:00
Dianne Skoll
df53db19c4 Fix typo 2025-09-10 23:02:15 -04:00
Dianne Skoll
d9bf902153 Put #ifdef guards around wide char code. 2025-09-10 17:56:32 -04:00
Dianne Skoll
53a12de2f9 Fix typo 2025-09-10 17:54:26 -04:00
Dianne Skoll
fe2b34da68 Avoid memory leak. 2025-09-10 17:54:06 -04:00
Dianne Skoll
7e70ffe7f5 Fix typo 2025-09-10 17:43:59 -04:00
Dianne Skoll
55975154b1 Add codepoint() and mbchar() functions. 2025-09-10 17:33:57 -04:00
Dianne Skoll
3c6191ba61 Add tests where index() does not find the needle. 2025-09-10 13:48:28 -04:00
Dianne Skoll
b00cf9c5b7 Remove some unnecessary assignments. 2025-09-10 13:48:18 -04:00
Dianne Skoll
a6838802ad Use mbsubstr and mbstrlen. 2025-09-10 13:27:57 -04:00
Dianne Skoll
375576fcc5 Add better support for multi-byte character set.
The functions mbindex, mbstrlen and mbsubstr are just like
index, strlen and substr, but they use and return 1-based
character indexes rather than 1-based byte indexes.
2025-09-10 13:25:27 -04:00
Dianne Skoll
2c9087aa79 Update WHATSNEW and prep for 06.01.00 release. 2025-09-08 12:27:27 -04:00
Dianne Skoll
928f65ae47 Add a few more time zone tests. 2025-09-08 12:26:34 -04:00
Dianne Skoll
ed7b4f5ecc Nicer output. 2025-09-06 21:17:36 -04:00
Dianne Skoll
9aad9401ea Fix man page wording. 2025-09-06 18:15:47 -04:00
Dianne Skoll
4574b552b6 Update WHATSNEW. 2025-09-06 12:05:46 -04:00
Dianne Skoll
21e0940257 Add distro-beta target. 2025-09-06 12:02:20 -04:00
Dianne Skoll
7064893ff2 Reorder man page; add explanation of how omit interacts with time zone. 2025-09-06 11:08:34 -04:00
Dianne Skoll
f8781276e2 Clarify that OMITFUNC also sees dates in the TZ timezone. 2025-09-06 11:00:50 -04:00
Dianne Skoll
b02f61ea05 Make alignment.rem executable. 2025-09-05 18:33:59 -04:00
Dianne Skoll
60447d530d Add a small example. 2025-09-05 18:32:05 -04:00
Dianne Skoll
2835176ad3 Make "make test" run all tests by default. Add individual test-basic and test-tz makefile targets. 2025-09-05 17:46:25 -04:00
Dianne Skoll
b0784feb1a Bump version to 06.01.00. 2025-09-04 15:58:07 -04:00
Dianne Skoll
ef7021972e Add trigimetz and trigeventstarttz functions. 2025-09-04 15:36:27 -04:00
Dianne Skoll
e449fcdfcf Add tests for trigtz 2025-09-04 14:29:00 -04:00
Dianne Skoll
47a4456c20 Explicitly initialize LastTrigger.tz to NULL. 2025-09-04 14:26:35 -04:00
Dianne Skoll
e9ee7492f7 Check for setuid/setgid early. 2025-09-04 14:25:09 -04:00
Dianne Skoll
2baa0405f3 Document new JSON key pairs. 2025-09-04 13:54:34 -04:00
Dianne Skoll
3425530c1c Add Makefile for running tests from tests/ with "make test" 2025-09-04 11:00:03 -04:00
Dianne Skoll
eeae3298ef Nicer formatting. 2025-09-04 10:59:58 -04:00
Dianne Skoll
4237dc4a3f Allow empty string to be used in tzconvert to designate system default time zone. 2025-09-04 10:09:46 -04:00
Dianne Skoll
faf8947dda Properly cache stdin in interactive mode. 2025-09-04 00:15:21 -04:00
Dianne Skoll
41a3db3a37 Fix abort. 2025-09-03 23:14:58 -04:00
Dianne Skoll
f12bcf3fe6 Restructure test targets. 2025-09-03 22:36:46 -04:00
Dianne Skoll
f9261bb24f Better target name 2025-09-03 19:35:28 -04:00
Dianne Skoll
2ff9aedba5 Add test. 2025-09-03 19:34:48 -04:00
Dianne Skoll
1b793eff2e Hard-code datetimes so slight astronomical function variations don't mess up test. 2025-09-03 19:33:18 -04:00
Dianne Skoll
e4c41e0f45 More TZ tests. 2025-09-03 19:13:55 -04:00
Dianne Skoll
9ec1006804 Make an empty TZ (ie, TZ "") the same as no TZ. 2025-09-03 19:10:26 -04:00
Dianne Skoll
dd048c0557 Formatting. 2025-09-03 19:06:23 -04:00
Dianne Skoll
dce1f282f4 Improve Makefile. 2025-09-03 19:05:41 -04:00
Dianne Skoll
7120d07d84 Add testtz and test-all targets. 2025-09-03 19:03:59 -04:00
Dianne Skoll
127358db02 The official IANA name of UTC is "Universal". 2025-09-03 18:55:43 -04:00
Dianne Skoll
a89aaf18b6 Add another distclean target 2025-09-03 18:37:33 -04:00
Dianne Skoll
5734bd7524 Start adding TZ tests. 2025-09-03 18:36:13 -04:00
Dianne Skoll
dfabda7dee add trigtz() function 2025-09-03 14:19:31 -04:00
Dianne Skoll
da146d7989 Always output time_in_tz in JSON when needed. 2025-09-03 14:08:56 -04:00
Dianne Skoll
e147925462 Make tests pass; update remind conf mode. 2025-09-03 13:58:09 -04:00
Dianne Skoll
703907c94d Update JSON output. 2025-09-03 13:57:25 -04:00
Dianne Skoll
bcfee04cae Handle another time zone edge case. 2025-09-03 13:21:16 -04:00
Dianne Skoll
5f9e71f9eb More timezone fixification. 2025-09-03 13:05:54 -04:00
Dianne Skoll
272336226e Add timezone support to evaltrig. 2025-09-03 12:42:59 -04:00
Dianne Skoll
32f4b125b5 Seemingly (?) working time zone support!! 2025-09-03 12:35:51 -04:00
Dianne Skoll
7979a69cb9 First semi-sorta-working time zone adjustment. 2025-09-03 12:22:09 -04:00
Dianne Skoll
651368fedc More work on timezone support. 2025-09-03 11:35:21 -04:00
Dianne Skoll
fe002557cf New approach to handling time zone specs in REM command. 2025-09-03 11:02:01 -04:00
Dianne Skoll
d2785d909c Remember DSEToday and SysTime in Local* variables so we can switch timezones. 2025-09-03 10:36:30 -04:00
Dianne Skoll
c2345a240b Update docs to reflect multi-type system variables. 2025-09-02 09:39:32 -04:00
Dianne Skoll
5b6bf25a20 Document readline support. 2025-09-01 10:14:22 -04:00
Dianne Skoll
44f9f0f0d4 Better quotes. 2025-09-01 10:09:27 -04:00
Dianne Skoll
0416d6da9c Update to version 06.00.02. 2025-09-01 10:02:14 -04:00
Dianne Skoll
5d46df871f Clamp trigger() to "1 January 1990 AT 00:00" if UTC flag is used. 2025-08-28 13:30:21 -04:00
Dianne Skoll
c5d661124c Never return a year < 1990 from trigger() 2025-08-28 12:53:28 -04:00
Dianne Skoll
2f239f77a5 Default $ParseUntriggered to 0 instead of 1 2025-08-27 11:34:10 -04:00
Dianne Skoll
1ef05d3f85 Slight efficiency improvement. 2025-08-21 11:50:45 -04:00
Dianne Skoll
7c56aad791 FIx tests. 2025-08-21 11:49:16 -04:00
Dianne Skoll
5f0f68f508 Allow '-i$foo' to be interpreted as '-i$foo=0' 2025-08-20 10:27:22 -04:00
Dianne Skoll
71bfe31002 Make IS_INTERACTIVE() macro. 2025-08-19 21:39:31 -04:00
Dianne Skoll
4661b454c0 Don't add *everything* to history, LOL. 2025-08-19 21:32:26 -04:00
Dianne Skoll
d41520a04f Better example. 2025-08-19 15:54:03 -04:00
Dianne Skoll
0206e538e0 Avoid -Wunused-result warning. 2025-08-19 15:22:05 -04:00
Dianne Skoll
6689cbfda3 Explicitly set latitude and longitude in test files. 2025-08-19 15:04:03 -04:00
Dianne Skoll
5baf102bfe Update WHATSNEW. 2025-08-19 12:43:00 -04:00
Dianne Skoll
c9002d5b54 Bump version to 06.00.01 2025-08-19 12:38:38 -04:00
Dianne Skoll
ac3ee7e22b Use constant-time DBufLen instead of O(n) strlen() 2025-08-19 10:21:01 -04:00
Dianne Skoll
f366037b8d Truncate over-long variable name in DUMP. 2025-08-19 10:13:09 -04:00
Dianne Skoll
a46488a50d Remove incorrect assignment that could cause a segfault. 2025-08-19 09:58:04 -04:00
Dianne Skoll
f91a1a2d65 If we don't have readline, don't declare unused variable. 2025-08-18 21:05:56 -04:00
Dianne Skoll
2ac8fb50e1 Fix typos. 2025-08-18 21:01:48 -04:00
Dianne Skoll
7df826f635 Add whole line at a time to history buffer. 2025-08-18 20:35:10 -04:00
Dianne Skoll
f8ce7b51da Change prompt depending on whether or not we're ignoring lines. 2025-08-18 16:26:58 -04:00
Dianne Skoll
35ee94ca6b If stdin and stdout are TTYs, use readline() where possible. 2025-08-18 16:20:45 -04:00
Dianne Skoll
c2a3468e04 Prep for 6.0.0 RELEASE. 2025-08-18 10:56:18 -04:00
Dianne Skoll
4ff2064452 Fix typos. 2025-08-18 10:50:52 -04:00
Dianne Skoll
8e00bd5acc Fix typo in comment. 2025-08-16 18:32:08 -04:00
Dianne Skoll
86f65e11bb Use keypress-slash to auto-fill COMPLETE-THROUGH field instead of double-click. 2025-08-16 11:54:19 -04:00
Dianne Skoll
0c9ec11fce Add clarifying comment. 2025-08-16 10:09:44 -04:00
Dianne Skoll
07dcaec176 Fix typos. 2025-08-15 22:57:13 -04:00
Dianne Skoll
e87849256b Make --flush simply set standard I/O streams to unbuffered. 2025-08-15 22:41:18 -04:00
Dianne Skoll
fd8ecd88a8 Add --flush option; use it in tests.
Should help with weird systems whose C libraries have different flushing rules.
2025-08-15 22:36:20 -04:00
Dianne Skoll
5e36a6563a Format improvement. 2025-08-15 22:26:18 -04:00
Dianne Skoll
274a2bf067 Don't unconditionally set RunDIsabled. 2025-08-15 20:53:07 -04:00
Dianne Skoll
4aa737e542 Tweak man page 2025-08-15 20:46:05 -04:00
Dianne Skoll
6474f4e0b6 Note that user-defined functions defined in a RUN-OFF context will have RUN OFF during evaluation. 2025-08-15 20:43:59 -04:00
Dianne Skoll
7b7b861399 Disable RUN in callbacks to ordx and subst_xxx functions. 2025-08-15 20:27:51 -04:00
Dianne Skoll
5cb0e82be2 Remove stray ^G. 2025-08-15 20:10:50 -04:00
Dianne Skoll
d9a4bd19f2 Remove extraneous semicolons. 2025-08-15 19:12:14 -04:00
Dianne Skoll
1004946d26 Add a couple of missing .PPs 2025-08-15 18:15:37 -04:00
Dianne Skoll
d877a6cb48 Fix a couple of typos. 2025-08-15 18:05:48 -04:00
Dianne Skoll
3eea329b32 Add some missing .fi directives. 2025-08-15 18:04:42 -04:00
Dianne Skoll
7bf23912ae Improve man page slightly. 2025-08-15 15:46:08 -04:00
Dianne Skoll
6ae0340137 Document tkremind bug fix. 2025-08-15 15:36:59 -04:00
Dianne Skoll
0e48ace855 Update WHATSNEW. 2025-08-15 15:35:57 -04:00
Dianne Skoll
d1f1ddf5b7 Document the TODO introspection functions. 2025-08-15 15:33:04 -04:00
Dianne Skoll
5f9e227dc8 Document and test overriding of %: %! %? %@ %# 2025-08-15 15:28:23 -04:00
Dianne Skoll
b770676cb6 Add tests for trigistodo, trigcompletethrough, trigmaxoverdue 2025-08-15 15:22:39 -04:00
Dianne Skoll
5ee415c2fb Add trigistodo(), trigcompletethrough() and trigmaxoverdue() introspection functions. 2025-08-15 15:20:57 -04:00
Dianne Skoll
6c2a4b66fd Add tests and translations for %: 2025-08-15 15:07:32 -04:00
Dianne Skoll
6c2d65c08e Allow non-alphanumeric substitution sequences to be overridden. 2025-08-15 14:55:03 -04:00
Dianne Skoll
cd2dc3bea3 Add test for %: 2025-08-15 14:35:31 -04:00
Dianne Skoll
b1b80316ab Implement %: substitution sequence. 2025-08-15 11:54:31 -04:00
Dianne Skoll
f04835cf6f Another eval that should be a catch. 2025-08-15 08:34:41 -04:00
Dianne Skoll
fb19ea6b7e Use "catch" instead of "eval". What was I thinking?? 2025-08-15 08:33:49 -04:00
Dianne Skoll
e2d7796d4a Clarify wording. 2025-08-14 21:53:06 -04:00
Dianne Skoll
de2ec1aa7b In --json mode, redirect any RUN ... command stdout to stderr
We really don't want to mess up the JSON we produce on stdout!!
2025-08-14 21:47:40 -04:00
Dianne Skoll
b9fb215d9d Don't try to process stderr output as JSON. :) 2025-08-14 20:52:38 -04:00
Dianne Skoll
a62ed0e0c5 Always output well-formed JSON in --json mode. 2025-08-14 20:43:35 -04:00
Dianne Skoll
eceb5e3f82 Suppress some output in --json mode. 2025-08-14 20:35:07 -04:00
Dianne Skoll
d5aa93ae57 Document TkRemind support for max-overdue. 2025-08-14 19:05:17 -04:00
Dianne Skoll
a66da78b4a Add support for MAX-OVERDUE to TkRemind. 2025-08-14 19:03:32 -04:00
Dianne Skoll
af69f54bff Add max_overdue to JSON. 2025-08-14 18:54:15 -04:00
Dianne Skoll
a000a7f17e Add MAX-OVERDUE feature. 2025-08-14 18:50:39 -04:00
Dianne Skoll
582f388500 Disable ANSI colors in JSON mode. 2025-08-14 13:57:23 -04:00
Dianne Skoll
7762f4f2d6 Add $HideCompletedTodos, $JSONMode and $TodoFilter system variables. 2025-08-14 13:56:02 -04:00
Dianne Skoll
31c9b2afb7 Disable ANSI color sequences in -p mode. 2025-08-14 13:43:32 -04:00
Dianne Skoll
119e954e9e Update WHATSNEW 2025-08-14 12:38:52 -04:00
Dianne Skoll
6aa07edffd Document "ordx" override of "ord" 2025-08-13 21:05:46 -04:00
Dianne Skoll
bdb9ad1a5d Document new TkRemind features. 2025-08-13 20:33:15 -04:00
Dianne Skoll
05384fe7cf Document --json. 2025-08-13 20:25:30 -04:00
Dianne Skoll
6125001e55 Make file not modify global function/variable context. 2025-08-13 19:02:37 -04:00
Dianne Skoll
78b307e387 Proper way of defaulting a variable. 2025-08-13 19:00:27 -04:00
Dianne Skoll
460d0a8d88 Separate out actual Jewish religious holidays from Israeli holidays. 2025-08-13 18:57:37 -04:00
Dianne Skoll
add35377ad Boldification. 2025-08-13 17:37:39 -04:00
Dianne Skoll
fccd9ed42e More word tweakage. 2025-08-13 17:36:12 -04:00
Dianne Skoll
a49ecccb34 Update README 2025-08-13 17:34:19 -04:00
Dianne Skoll
ae9fe78817 Proper horizontal resizing too. 2025-08-13 17:30:10 -04:00
Dianne Skoll
dbc5576312 Make today's reminders window properly resizable. 2025-08-13 17:27:35 -04:00
Dianne Skoll
6cbbebceaf Pass all command-line options to Remind. 2025-08-13 16:57:29 -04:00
Dianne Skoll
4dc27ca7f5 Better error message. 2025-08-13 15:02:53 -04:00
Dianne Skoll
d8f97ce0f1 Tweak wording. 2025-08-13 15:01:26 -04:00
Dianne Skoll
0e1a80f2bd Properly populate complete_through for existing reminders. 2025-08-13 14:58:49 -04:00
Dianne Skoll
4a7f703ab5 Update %! documentation; add %? documentation. 2025-08-13 14:39:36 -04:00
Dianne Skoll
101de948b2 Add support for TODO-style reminders in TkRemind. 2025-08-13 14:09:03 -04:00
Dianne Skoll
0e2d382b33 Proper calculation of --margin-bottom in -e mode 2025-08-13 13:06:48 -04:00
Dianne Skoll
a6c5c3cb90 Update docs on JSON trigger dump and SCANFROM changes. 2025-08-13 12:39:35 -04:00
Dianne Skoll
da573929ee Document purge rules for TODOs. 2025-08-13 12:06:59 -04:00
Dianne Skoll
5217d9b675 Start adding TODO tests. 2025-08-13 11:53:56 -04:00
Dianne Skoll
79a87c6f1a TkRemind now requires Remind 06.00.00 2025-08-13 11:36:01 -04:00
Dianne Skoll
cde5ffc84a Bump version to 06.00.00 2025-08-13 11:34:41 -04:00
Dianne Skoll
6ef323a4f0 Document TODOs. 2025-08-13 11:28:04 -04:00
Dianne Skoll
8331ea2991 Fix TODO-issuing logic 2025-08-13 11:19:41 -04:00
Dianne Skoll
db28648d9d Better spacing 2025-08-12 22:24:17 -04:00
Dianne Skoll
1a5915bba9 Show long options in help output. 2025-08-12 22:23:00 -04:00
Dianne Skoll
94a50fa22c Refactor some code. 2025-08-12 22:13:36 -04:00
Dianne Skoll
fad6076568 Convert out-of-range SPECIAL COLOR to MSG. 2025-08-12 19:31:54 -04:00
Dianne Skoll
287039ac40 Convert color with components out of range to normal MSG-type reminders. 2025-08-12 19:26:23 -04:00
Dianne Skoll
8523218ef2 Add %? substitution sequence and translations for "are" and "were" 2025-08-12 19:08:34 -04:00
Dianne Skoll
fdaaf2b57a Add comment; fix cppcheck warning. 2025-08-12 18:37:14 -04:00
Dianne Skoll
19eac9b8d5 nl - use "eergisteren" and "overmorgen" 2025-08-12 18:34:07 -04:00
Dianne Skoll
cda4877229 Fix "make cppcheck" warning. 2025-08-12 18:30:36 -04:00
Dianne Skoll
0976cd64f3 If evaluating ordx(n) yields an error, then error out instead of continuing with ord(n) 2025-08-12 18:27:20 -04:00
Dianne Skoll
10f7889ef2 Add balloon help and URL support to daily reminders view. 2025-08-12 15:49:04 -04:00
Dianne Skoll
2391ff4bc7 Add --hide-completed-todos option 2025-08-12 15:23:40 -04:00
Dianne Skoll
d21ae56deb Sort out from/scanfrom and how todos work in calendar mode. 2025-08-12 15:12:54 -04:00
Dianne Skoll
773980afa6 Preserve "from" and "scanfrom" 2025-08-12 14:50:19 -04:00
Dianne Skoll
46a80da0e1 Preserve relative scanfroms in t->scanfrom; compute when needed. 2025-08-12 14:44:47 -04:00
Dianne Skoll
23516aebcb Make the "x reminders queued" message clickable to show queue. 2025-08-12 00:16:17 -04:00
Dianne Skoll
b48ce0b245 Better queue display 2025-08-12 00:08:18 -04:00
Dianne Skoll
e4c090374d Ugh, proper test reference. 2025-08-12 00:05:03 -04:00
Dianne Skoll
39fcbb72fd %*! is not reproducible. 2025-08-12 00:03:19 -04:00
Dianne Skoll
5f2bf48752 Add ordinal number tests. 2025-08-11 23:51:37 -04:00
Dianne Skoll
9e5354fcb8 Add ordx definitions. 2025-08-11 23:44:21 -04:00
Dianne Skoll
49bdd135f7 Define ordx(n) for Dutch and French. 2025-08-11 23:34:08 -04:00
Dianne Skoll
f9a6aba81d Allow ord(n) to be overridden with user-defined function ordx(n)
Lets language packs customize ord.
2025-08-11 23:29:08 -04:00
Dianne Skoll
175772d959 Make it work with Wish 9.0 2025-08-11 23:15:07 -04:00
Dianne Skoll
2f03c75826 Nicer today's reminders formatting. 2025-08-11 23:06:42 -04:00
Dianne Skoll
d617000e95 Show banner in bold. 2025-08-11 22:54:58 -04:00
Dianne Skoll
04dee13996 Hyperlink reminders in "show today's reminders" 2025-08-11 22:39:53 -04:00
Dianne Skoll
ebcf6fd534 Respect color settings in more dialogs.
Use --json to give better display of today's reminders.
2025-08-11 22:32:06 -04:00
Dianne Skoll
c7c58e20f3 Fix silly typo 2025-08-11 22:26:48 -04:00
Dianne Skoll
a66ca7cce7 In --json mode, try to always emit a banner. 2025-08-11 21:40:38 -04:00
Dianne Skoll
35cae5f97c Make right-button on a day number show reminders for that day. 2025-08-11 21:40:25 -04:00
Dianne Skoll
6d86d88037 Make Show Queue and Show Today's Reminders respect color scheme. 2025-08-11 21:22:32 -04:00
Dianne Skoll
89f60358c6 Add "noreminders" JSON element. 2025-08-11 21:04:50 -04:00
Dianne Skoll
781e5a6acd Take out ms windows check. 2025-08-11 20:57:28 -04:00
Dianne Skoll
1b5d34e5e6 Include banner in --json output. 2025-08-11 20:47:00 -04:00
Dianne Skoll
cb5fa62022 Make --json cancel -g 2025-08-11 20:18:52 -04:00
Dianne Skoll
9d6ce5b674 Implement --json - JSON mode output. 2025-08-11 20:16:22 -04:00
Dianne Skoll
1cdd9531a5 Add --only-todos and --only-events args. Still have to implement JSON output. 2025-08-11 19:36:23 -04:00
Dianne Skoll
da4633fab3 Add "-nt" option to only show todos. 2025-08-11 19:00:20 -04:00
Dianne Skoll
aeff3606d2 Handle interaction between complete-through and from. 2025-08-11 18:44:28 -04:00
Dianne Skoll
2af36b7241 Add comments detailing TODO-handling logic. 2025-08-11 18:36:22 -04:00
Dianne Skoll
a7a22d20a2 Add is_todo and complete_through JSON key pairs. 2025-08-11 18:26:00 -04:00
Dianne Skoll
3fdbf8b3bc Add language tests for yesterda, etc. 2025-08-11 18:20:34 -04:00
Dianne Skoll
a7696d659c Add note. 2025-08-11 18:15:08 -04:00
Dianne Skoll
865ebae6f8 Fix source code to properly generate xlat.c 2025-08-11 18:13:47 -04:00
Dianne Skoll
f21f8ee8d0 Add translations for "yesterday"; update subst_bx to handle negative differences. 2025-08-11 18:05:07 -04:00
Dianne Skoll
76b7736266 More TODO logic. 2025-08-11 17:39:53 -04:00
Dianne Skoll
0769e3e9cb Proper trigger logic for TODOs. 2025-08-11 17:35:54 -04:00
Dianne Skoll
d9ab9e91b5 Trigger TODOs that are in the past if they haven't yet been completed. 2025-08-11 17:09:45 -04:00
Dianne Skoll
9199ed5cf7 Make sure remind -ppp preserves scanfrom even if it's today. 2025-08-11 16:55:20 -04:00
Dianne Skoll
68a4b23b6f Rework scanfrom so it's computed as needed. 2025-08-11 16:52:41 -04:00
Dianne Skoll
814dd51270 Start working on TODO and COMPLETE-THROUGH. Still a WIP!!! 2025-08-11 16:29:34 -04:00
Dianne Skoll
59fdf70732 Fix spelling error. 2025-08-10 09:14:57 -04:00
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.
All checks were successful
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.
All checks were successful
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.
All checks were successful
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.
All checks were successful
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
All checks were successful
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.
All checks were successful
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!
All checks were successful
Remind unit tests / tests (push) Successful in 53s
2025-02-04 10:28:25 -05:00
Dianne Skoll
66ba9257a5 Add INFO strings for Jewish holidays. 2025-02-04 10:23:13 -05:00
Dianne Skoll
c5374c09fb Yet more INFO strings. 2025-02-04 10:11:36 -05:00
Dianne Skoll
9c93e7e6a1 Better error message.
All checks were successful
Remind unit tests / tests (push) Successful in 1m17s
2025-02-03 23:09:17 -05:00
Dianne Skoll
3487f6f46a Document that it takes at least -pp to pass info strings to a back-end. 2025-02-03 23:05:18 -05:00
Dianne Skoll
da8a72d7cd Add info strings. 2025-02-03 22:59:43 -05:00
Dianne Skoll
f391b6221f Add INFO strings. 2025-02-03 22:54:10 -05:00
Dianne Skoll
a8c0b20f9e Line things up better. 2025-02-03 22:47:40 -05:00
Dianne Skoll
5684a86df9 Add INFO strings. 2025-02-03 22:45:26 -05:00
Dianne Skoll
3abaaacd98 Add some more INFO strings. 2025-02-03 22:38:50 -05:00
Dianne Skoll
7eae7a9157 Add some INFO strings. 2025-02-03 22:36:09 -05:00
Dianne Skoll
a0d8c93a34 Make tkremind handle "Url:" info strings.
All checks were successful
Remind unit tests / tests (push) Successful in 39s
2025-02-03 15:18:44 -05:00
Dianne Skoll
8bf22dbb36 Document support for "Url:" info string. 2025-02-03 14:52:42 -05:00
Dianne Skoll
6b2622f3d3 Document "Url" INFO string support. 2025-02-03 14:38:23 -05:00
Dianne Skoll
8abdf6d988 Make rem2html respect "Url:" INFO string for moon phases and week numbers. 2025-02-03 14:32:52 -05:00
Dianne Skoll
991e409739 Make rem2pdf obey the "Url:" INFO string. 2025-02-03 14:20:45 -05:00
Dianne Skoll
3c2bb76523 Turn reminders with a "Url:" info string into hyper-links. 2025-02-03 13:56:21 -05:00
Dianne Skoll
8555352c18 Add popup for location and description in HTML calendar. 2025-02-03 11:36:19 -05:00
Dianne Skoll
34f8486c10 Update docs.
All checks were successful
Remind unit tests / tests (push) Successful in 42s
2025-02-02 11:21:38 -05:00
Dianne Skoll
5adb5d893e Final (??) tweaks of popup appearance. :)
All checks were successful
Remind unit tests / tests (push) Successful in 34s
2025-02-01 15:58:51 -05:00
Dianne Skoll
2f11b6fdc8 Tweak appearance of popups and background reminders. 2025-02-01 15:52:13 -05:00
Dianne Skoll
49d46c1397 Improve reminder popups. 2025-02-01 15:38:13 -05:00
Dianne Skoll
1641f99f97 Include the "info" element in pop-up reminders. 2025-02-01 15:02:54 -05:00
Dianne Skoll
f9f9552850 Avoid segfault if we call dosubst("%<foo>") 2025-02-01 14:50:49 -05:00
Dianne Skoll
3b43222585 Add the triginfo("header") function and corresponding %<...> substitution sequence. 2025-02-01 14:39:06 -05:00
Dianne Skoll
231d9d77e7 Save the info chain when saving the last trigger. 2025-02-01 14:16:17 -05:00
Dianne Skoll
6140221bf3 Make a function static. 2025-02-01 11:15:52 -05:00
Dianne Skoll
51b831fb6a Check for proper escaping in JSON and TRANSLATE DUMP. 2025-02-01 11:15:25 -05:00
Dianne Skoll
35a4994b3e Document changes. 2025-02-01 10:59:04 -05:00
Dianne Skoll
0ebaaa4097 Add optional add_quote argument to escape() 2025-02-01 10:58:55 -05:00
Dianne Skoll
2f43aca21c Update version to 05.03.00 2025-02-01 10:58:34 -05:00
Dianne Skoll
930bab0fde Add more tests. 2025-02-01 10:45:34 -05:00
Dianne Skoll
694c4099d1 Add \xAA sequence for parsing quoted strings; add the escape() built-in function; update docs. 2025-02-01 10:36:38 -05:00
Dianne Skoll
ca56b4c90e Disallow "\x00" 2025-02-01 10:12:51 -05:00
Dianne Skoll
5c965e2083 Add "\xAB" escapes to string parser.
\x followed by one or two hex digits gets converted to that character.
2025-02-01 10:08:12 -05:00
Dianne Skoll
d58ccbef69 Improve how add/edit reminder dialog resizes.
All checks were successful
Remind unit tests / tests (push) Successful in 37s
2025-01-31 21:31:47 -05:00
Dianne Skoll
17ad03be69 Add a bit of space after labels. 2025-01-31 21:22:48 -05:00
Dianne Skoll
75a4e98de2 Call the reminder body the "Summary" rather than "Subject" to be consistent with ical. 2025-01-31 21:21:30 -05:00
Dianne Skoll
1408f77303 Use concat instead of list to flatten lists.
Bug report: https://dianne.skoll.ca/pipermail/remind-fans/2025/004986.html
2025-01-31 19:36:41 -05:00
Dianne Skoll
af76dd67fb Remove dead code; count lines better. 2025-01-31 17:02:03 -05:00
Dianne Skoll
f7a19d1570 Change "Body:" to "Subject:" and update man page. 2025-01-31 16:48:48 -05:00
Dianne Skoll
e7ec975ff0 Support location and description fields in tkremind. 2025-01-31 16:30:07 -05:00
Dianne Skoll
8c4ca12ca7 When creating the "info" JSON hash, make the keys lower-case instead of upper-case.
All checks were successful
Remind unit tests / tests (push) Successful in 46s
2025-01-31 08:07:53 -05:00
Dianne Skoll
e832eb868c Make INFO require "Header: Value" strings; make the "info" element in the JSON output a hash instead of an array.
All checks were successful
Remind unit tests / tests (push) Successful in 36s
2025-01-30 16:58:56 -05:00
Dianne Skoll
cb0acb3077 Document INFO
All checks were successful
Remind unit tests / tests (push) Successful in 54s
2025-01-29 19:07:26 -05:00
Dianne Skoll
9376c7a36d Add INFO keyword. 2025-01-29 18:55:22 -05:00
Dianne Skoll
e6ceeee2ec Add the "INFO" clause to the REM command.
All checks were successful
Remind unit tests / tests (push) Successful in 33s
Intended to pass additional information to a back-end to use as it wishes.
One example is to add extra info such as locaiton, description, etc. to ical
files.
2025-01-28 15:51:28 -05:00
Dianne Skoll
bbeece644e Use "custom.h" rather than <custom.h> for our header file. 2025-01-24 08:10:06 -05:00
Dianne Skoll
8d09abc363 Use snprintf in favor of sprintf almost everywhere.
All checks were successful
Remind unit tests / tests (push) Successful in 35s
2025-01-22 11:11:08 -05:00
Dianne Skoll
3dcd353fb5 Update release notes. 2025-01-22 10:56:05 -05:00
Dianne Skoll
124c5c4e7e Make test mode warning more verbose.
All checks were successful
Remind unit tests / tests (push) Successful in 35s
2025-01-21 11:54:24 -05:00
Dianne Skoll
77024562b3 Fix SystemDate to always return 2025-01-06 in --test mode.
All checks were successful
Remind unit tests / tests (push) Successful in 38s
2025-01-21 11:52:20 -05:00
Dianne Skoll
35c33ae915 Prevent infinite test loop. 2025-01-21 11:48:56 -05:00
Dianne Skoll
901831ff75 Add --test long option to make the test suite repeatable.
Some checks failed
Remind unit tests / tests (push) Failing after 3h14m50s
2025-01-20 13:33:00 -05:00
Dianne Skoll
e0c5e878a8 Explicitly unset REMIND_RUNNING_TEST at the start. 2025-01-20 11:35:32 -05:00
Dianne Skoll
ffba7fcb03 Make queue tests work at any time of the day.
All checks were successful
Remind unit tests / tests (push) Successful in 33s
If the REMIND_RUNNING_TEST environment variable is set to 1, then
SystemTime adjusts times near midnight so the queue tests pass.

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

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

See merge request dskoll/remind!8
2024-12-12 14:53:21 +00:00
Jochen Sprickerhof
68f5fe1d10 Add German translations
Based on nl.rem
2024-12-12 12:51:38 +01:00
Dianne Skoll
bc7c57e53b Add another translation-propagation test.
All checks were successful
Remind unit tests / tests (push) Successful in 27s
2024-12-11 20:10:11 -05:00
Dianne Skoll
88aacb3905 Get two-way propagation working properly. 2024-12-11 20:08:09 -05:00
Dianne Skoll
a894076bfc Verify two-way correspondence between translation table and system variables. 2024-12-11 19:48:19 -05:00
Dianne Skoll
82e068fcca Refactor SetSysVar. 2024-12-11 19:22:30 -05:00
Dianne Skoll
a119d97539 Make mapping between translatable system variables and TRANSLATE table table-driven. 2024-12-11 19:15:44 -05:00
Dianne Skoll
01afb63a3d Sent translations with only the first month, in a multi-month (-pN) output. 2024-12-11 18:07:48 -05:00
Dianne Skoll
54fccabdfe Escape the result of translation, in case a bad translation file includes HTML special characters. 2024-12-11 17:15:01 -05:00
Dianne Skoll
ba4d44664f Clarify docs.
All checks were successful
Remind unit tests / tests (push) Successful in 34s
2024-12-11 15:36:17 -05:00
Dianne Skoll
d76c5499b5 Document how translation table is passed to back-ends. 2024-12-11 15:35:31 -05:00
Dianne Skoll
84e8244e48 Use localized names for "Full Moon", etc. 2024-12-11 15:35:23 -05:00
Dianne Skoll
92a6115a5c Send the translation table to back-ends. 2024-12-11 15:24:37 -05:00
Dianne Skoll
b98e336e9e Tweak release notes. 2024-12-11 14:02:30 -05:00
Dianne Skoll
ffcd21446e Update WHATSNEW 2024-12-11 13:55:23 -05:00
Dianne Skoll
af9ca68d99 Document the need for %-style escape sequences in translations to match those in the original message. 2024-12-11 13:42:49 -05:00
Dianne Skoll
71db7168a1 Increase update-for-changes delay to 250ms 2024-12-11 10:25:45 -05:00
Dianne Skoll
54f284c43f Note that strlen returns number of bytes, not characters. 2024-12-11 09:45:40 -05:00
Dianne Skoll
0ab93f2dea Guard against printf-style formatting attacks by malicious translation files. 2024-12-11 09:43:04 -05:00
Dianne Skoll
3d97f87bcd Remove obsolet error messages 2024-12-11 09:33:31 -05:00
Dianne Skoll
dcfa6d8ef8 Add translation for No reminders.
All checks were successful
Remind unit tests / tests (push) Successful in 33s
2024-12-10 19:59:00 -05:00
Dianne Skoll
52dd5332f4 Fix banner for Dutch translation. 2024-12-10 19:57:08 -05:00
Dianne Skoll
7b5fafe1ab Document how _() looks for translations. 2024-12-10 19:48:26 -05:00
Dianne Skoll
929af71a10 Fix test. 2024-12-10 18:21:24 -05:00
Dianne Skoll
abf7c74ff2 When dumping translation table NOT to JSON, always start with LANGID 2024-12-10 18:20:48 -05:00
Dianne Skoll
5b9d9a67b2 Make daemon not respond at all to a TRANSLATE for which there is no entry. 2024-12-10 17:16:25 -05:00
Dianne Skoll
16ca2ade23 Clear out translations when we prepare to ask for new ones. 2024-12-10 17:09:25 -05:00
Dianne Skoll
d3e6c81a3a Synthesize mixed-case translations. 2024-12-10 17:02:41 -05:00
Dianne Skoll
13ae49d3cd Put LANGID near the top. 2024-12-10 15:35:53 -05:00
Dianne Skoll
78adc9f61d Document how translators should use LANGID. 2024-12-10 15:33:22 -05:00
Dianne Skoll
a622d4fad4 Add LANGID translations to all language packs. 2024-12-10 15:27:41 -05:00
Dianne Skoll
6c0e7b4ff5 Add a second torture test to test hash-table resizing.
All checks were successful
Remind unit tests / tests (push) Successful in 31s
2024-12-10 15:12:24 -05:00
Dianne Skoll
28e0599380 Get new translations if inotify says something has changed. 2024-12-10 15:05:48 -05:00
Dianne Skoll
87445f639c Don't print the "" error message for translators. 2024-12-10 14:09:02 -05:00
Dianne Skoll
af6e159eaa Refresh translations if they seem to have changed. :) 2024-12-10 13:32:50 -05:00
Dianne Skoll
bffa28e258 Implement the "TRANSLATE" command to translate just one string;
rename "JSONTRANSLATE" to "TRANSLATE_DUMP"
2024-12-10 13:06:12 -05:00
Dianne Skoll
1781f84d84 Merely schedule an update when we get the translation table. 2024-12-10 12:24:53 -05:00
Dianne Skoll
ed6e65182e Document JSONTRANSLATE daemon command. 2024-12-10 12:21:06 -05:00
Dianne Skoll
f5cc0ec686 Get translation table; translate moon phases in TkRemind. 2024-12-10 12:16:27 -05:00
Dianne Skoll
a2c818f96c Fully implement JSONTRANSLATE daemon command. 2024-12-10 11:57:52 -05:00
Dianne Skoll
0bbbaaf3d9 Implement JSONTRANSLATE -zj command. 2024-12-10 11:48:01 -05:00
Dianne Skoll
1c81d4cae3 Add sunrise/sunset standard include file. 2024-12-10 11:38:57 -05:00
Dianne Skoll
56c684087b Add Sunrise and Sunset translations. 2024-12-10 11:34:44 -05:00
Dianne Skoll
9500a929ea Fix indentation. 2024-12-10 11:00:13 -05:00
Dianne Skoll
585d45e4a1 Completely remove support for compile-time localization.
All localization is now done at run-time.
2024-12-10 10:58:09 -05:00
Dianne Skoll
67d1d1366d Add error message translations. 2024-12-10 10:39:13 -05:00
Dianne Skoll
f4018892e8 Be pickier about syntax. 2024-12-10 10:25:38 -05:00
Dianne Skoll
ffd309f89d Add missing translations. 2024-12-09 23:28:10 -05:00
Dianne Skoll
286babc1bf Avoid memory leak. 2024-12-09 23:23:39 -05:00
Dianne Skoll
cc3c0040e9 Fix comment.
All checks were successful
Remind unit tests / tests (push) Successful in 28s
2024-12-09 23:21:53 -05:00
Dianne Skoll
b33a1ee98b Better error message if we hit EOLN after TRANSLATE. 2024-12-09 23:19:48 -05:00
Dianne Skoll
99706741bb Translate error messages in pl.rem 2024-12-09 23:04:52 -05:00
Dianne Skoll
df73a74503 Better colors (for me, at any rate...)
All checks were successful
Remind unit tests / tests (push) Successful in 34s
2024-12-09 21:11:01 -05:00
Dianne Skoll
c747ebebb4 Don't escape high chars. :) 2024-12-09 20:55:26 -05:00
Dianne Skoll
6b412062c2 Dump translation table in a way that it can be re-ingested. 2024-12-09 20:53:44 -05:00
Dianne Skoll
27b688f82c Highlight strings first. 2024-12-09 20:46:44 -05:00
Dianne Skoll
4c314ff81c Add --print-errs and localize error messages in lang/fr.rem. 2024-12-09 20:40:41 -05:00
Dianne Skoll
d2955ec733 Fix solstice translation. 2024-12-09 20:15:37 -05:00
Dianne Skoll
480216db9e Update test file 2024-12-09 20:08:46 -05:00
Dianne Skoll
9dbb0de7e6 Fix bug in ParseQuotedString 2024-12-09 20:07:29 -05:00
Dianne Skoll
9f9ae77895 Bound-check GetErr 2024-12-09 20:03:15 -05:00
Dianne Skoll
d9796e72e5 Allow error messages to be localized. 2024-12-09 19:55:23 -05:00
702 changed files with 636285 additions and 12301 deletions

2
.github/FUNDING.yml vendored
View File

@@ -1,2 +0,0 @@
liberapay: dskoll

7
.github/README.md vendored
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

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 .

12
.gitignore vendored
View File

@@ -4,12 +4,12 @@
.gitignore
MYMETA.json
MYMETA.yml
Makefile
TAGS
autom4te.cache
blib/
config.log
config.status
gmon.out
man/rem.1
man/rem2ps.1
man/remind.1
@@ -18,12 +18,12 @@ pm_to_blib
rem2html/Makefile
rem2html/rem2html
rem2html/rem2html.1
rem2pdf/Makefile
rem2pdf/Makefile.PL
rem2pdf/Makefile.old
rem2pdf/Makefile.top
rem2pdf/bin/rem2pdf
scripts/tkremind
set-irc-topic
src/*.tar.gz*
src/Makefile
src/config.h
@@ -31,7 +31,9 @@ src/rem2ps
src/remind
src/test-*.out
src/version.h
tests/test.out
www/Makefile
gmon.out
src/xlat.c
tests/once.timestamp
tests/test.out
tests/tz.out
www/Makefile
_cppcheck

View File

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

View File

@@ -23,8 +23,7 @@ install:
@$(MAKE) -C rem2html install
@$(MAKE) -C rem2pdf -f Makefile.top install INSTALL_BASE=$(INSTALL_BASE)
clean:
find . -name '*~' -exec rm {} \;
-rm man/rem.1 man/rem2ps.1 man/remind.1 man/tkremind.1 scripts/tkremind
-find . -name '*~' -exec rm {} \;
-$(MAKE) -C src clean
-$(MAKE) -C rem2pdf clean
@@ -40,11 +39,23 @@ install-stripped:
@$(MAKE) -C rem2html install
@$(MAKE) -C rem2pdf -f Makefile.top install INSTALL_BASE=$(INSTALL_BASE)
test:
@$(MAKE) -C src -s test
test: test-basic test-tz
test-tz:
@$(MAKE) -C src -s all
@$(MAKE) -C src -s test-tz
test-basic:
@$(MAKE) -C src -s all
@$(MAKE) -C src -s test-basic
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 tests/tz.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
README
View File

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

110
README.md Normal file
View File

@@ -0,0 +1,110 @@
# 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
**remind** and **rem2ps** have no prerequisites beyond the standard C
library and the standard math library. **remind** will make use of
GNU Readline if you have it installed.
- On Debian-like systems, install GNU Readline as follows:
`apt install libreadline-dev`
- On RPM-based systems, you need `readline-devel`
### Rem2HTML and Rem2PDF
**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
**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
Assuming you have a normal C development environment installed, 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/)

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))]

804
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(remind, 05.02.00, , , https://dianne.skoll.ca/projects/remind/)
AC_INIT(remind, 06.01.04, , , https://dianne.skoll.ca/projects/remind/)
AC_CONFIG_SRCDIR([src/queue.c])
cat <<'EOF'
@@ -30,7 +30,8 @@ AC_PATH_PROG([PERL], [perl])
dnl Checks for libraries.
AC_CHECK_LIB(m, sqrt)
AC_CHECK_HEADERS_ONCE([sys/time.h stdint.h])
AC_CHECK_LIB(readline, readline)
AC_CHECK_HEADERS_ONCE([sys/time.h stdint.h readline/readline.h readline/history.h])
dnl Integer sizes
AC_CHECK_SIZEOF(unsigned int)
@@ -84,7 +85,7 @@ if test "$?" != 0 ; then
echo "*** COULD NOT DETERMINE RELEASE DATE: docs/WHATSNEW is incorrect!"
exit 1
fi
AC_CHECK_FUNCS(strdup strcasecmp strncasecmp setenv unsetenv glob mbstowcs setlocale initgroups inotify_init1)
AC_CHECK_FUNCS(strdup strcasecmp strncasecmp setenv unsetenv glob mbstowcs setlocale initgroups inotify_init1 readline)
VERSION=$PACKAGE_VERSION
CONFIG_CMD="$0$ac_configure_args_raw"

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" "FRENAME" "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" "TRANSLATE" "TRANS" "UNSET" "UNTIL" "WARN")
"CLEAR-OMIT-CONTEXT" "COMPLETE-THROUGH" "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" "MAX-OVERDUE" "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" "TODO"
"TRANSLATE" "TRANS" "TZ" "UNSET" "UNTIL" "WARN")
#'(lambda (a b) (> (length a) (length b)))))
@@ -129,13 +132,13 @@
(defconst remind-builtin-variables
(sort
(list " $AddBlankLines" "$Ago" "$Am" "$And" "$April" "$At" "$August"
"$CalcUTC" "$CalMode" "$Daemon" "$DateSep" "$DateTimeSep" "$December"
"$DedupeReminders" "$DefaultColor" "$DefaultDelta"
"$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"
"$IgnoreOnce" "$InfDelta" "$IntMax" "$IntMin" "$Is" "$January" "$July"
"$FormWidth" "$Friday" "$Fromnow" "$HideCompletedTodos" "$Hour" "$Hplu" "$HushMode"
"$IgnoreOnce" "$InfDelta" "$IntMax" "$IntMin" "$Is" "$January" "$JSONMode" "$July"
"$June" "$LatDeg" "$Latitude" "$LatMin" "$LatSec" "$Location"
"$LongDeg" "$Longitude" "$LongMin" "$LongSec" "$March" "$MaxFullOmits"
"$MaxLateMinutes" "$MaxPartialOmits" "$MaxSatIter" "$MaxStringLen"
@@ -144,11 +147,11 @@
"$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" "$TodoFilter"
"$Tomorrow" "$Tt" "$Tuesday" "$Tw" "$Ty" "$U" "$Ud" "$Um"
"$UntimedFirst" "$Use256Colors" "$UseBGVTColors" "$UseTrueColors"
"$UseVTColors" "$Uw" "$Uy" "$Was" "$Wednesday")
"$UseVTColors" "$Uw" "$Uy" "$WarningLevel" "$Was" "$Wednesday")
#'(lambda (a b) (> (length a) (length b)))))
(defconst remind-time-words
@@ -163,23 +166,26 @@
(defconst remind-builtin-functions
(sort
(list "_" "abs" "access" "adawn" "adusk" "ampm" "ansicolor" "args" "asc"
"baseyr" "char" "choose" "coerce" "columns" "current" "date"
"baseyr" "catch" "catcherr" "char" "choose" "codepoint" "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"
"trigscanfrom" "trigtags" "trigtime" "trigtimedelta" "trigtimerep"
"dusk" "easterdate" "escape" "eval" "evaltrig" "filedate" "filedatetime"
"filedir" "filename" "getenv" "hebdate" "hebday" "hebmon" "hebyear" "hex"
"hour" "htmlescape" "htmlstriptags" "iif" "index" "isany" "isconst" "isdst"
"isleap" "isomitted" "language" "localtoutc" "lower" "max"
"mbasc" "mbindex" "mbstrlen" "mbsubstr" "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" "trigcompletethrough" "trigdate" "trigdatetime"
"trigdelta" "trigduration" "trigeventduration" "trigeventstart" "trigeventstarttz"
"trigfrom" "trigger" "triginfo" "trigistodo" "trigmaxoverdue" "trigpriority" "trigrep"
"trigscanfrom" "trigtags" "trigtime" "trigtimedelta" "trigtimerep" "trigtimetz" "trigtz"
"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
@@ -188,21 +194,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)
@@ -216,7 +222,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)
@@ -237,14 +243,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)
@@ -296,11 +302,11 @@
(defconst remind-conf-font-lock-keywords-1
(list
'("^\s*[\;\#].*$" . remind-comment-face)
'("\"[^\"]*\"" . remind-string-face)
'(remind-keywords-matcher . remind-conf-keyword-face)
'("%[\"_]" . font-lock-warning-face)
'("\\(%[a-mops-w]\\)" . remind-conf-substitutes-face)
'("\"[^\"]*\"" . remind-string-face))
"Minimal font-locking for `remind-conf-mode'.")
'("\\(%[a-z]\\)" . remind-conf-substitutes-face)
"Minimal font-locking for `remind-conf-mode'."))
(defconst remind-conf-font-lock-keywords-2
(append remind-conf-font-lock-keywords-1

View File

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

View File

@@ -1,26 +1,585 @@
CHANGES TO REMIND
* VERSION 5.2 Patch 0 - ????-??=??
* VERSION 6.1 Patch 4 - 2025-10-08
- MAJOR NEW FEATURE: remind: Add the TRANSLATE command and the _()
built-in function. This allows you to localize your reminder files
more easily.
- BUG FIX: remind: In calendar mode, reminders that specify a TZ zone
that is *behind* the system time zone could sometimes not show up.
The bug has been fixed; thanks to Jin Chen for reporting it.
- CHANGE: remind: Any time Remind runs another program (for example,
in response to REM ... RUN, the shell() command, the -k option, or
INCLUDECMD) it connects that command's standard input to /dev/null
so that it cannot interfere with the main Remind process's standard
input.
- BUG FIX: remind: Don't set up an inotify file descriptor if we are
not running in Daemon Mode.
- MINOR IMPROVEMENT: remind: When using readline to read from a
terminal, include the line number in the Remind> prompt.
- IMPROVEMENT: lang/*.rem: Suppress redefined function warnings if you
include one language file and then later on a different one.
- IMPROVEMENT: remind: Make the output of "make test" slightly more
verbose; color-code the PASS and FAIL results if standard output
refers to a terminal.
- CHANGE: include/holidays/*.rem: Add %"..%" markers and %! %b
suffixes to all reminders. This prevents you from having to use the
msgsuffix() hack if you want advance warning of holidays.
If you *are* using the msgsuffix() hack, you should stop using it!
Just set $DefaultDelta. See include/holidays/README for details.
* VERSION 6.1 Patch 3 - 2025-09-30
- IMPROVEMENT: remind: Issue a warning that SCANFROM should be used
with ADDOMIT in cases where Remind detects a movable OMIT.
- NEW FEATURE: remind: Add $WarningLevel system variable. This lets
you suppress warnings added by new versions of Remind until you have
a chance to update your remind scripts.
- BUG FIX / IMPROVEMENT: include/holidays/*.rem: Simplify the logic
used for moving holidays before/after weekends. Also fixes bugs
found in the logic used to move New Year's Day. Thanks to Nimrod
Levy for pointing out the New Year's Day bug.
- IMPROVEMENT: include/holidays/jewish.rem: This file was reworked by
Nimrod Levy to simplify logic and optionally add the counting of the
Omer.
- BUG FIX: remind: "remind -c" would add an unnecessary blank line for
completely-empty calendar rows if you used the "-w,0,0" option.
This is now fixed. Bug pointed out by Tim Chase.
* VERSION 6.1 Patch 2 - 2025-09-19
- BUG FIX: remind: A reminder on a specific fixed date and time that
uses the TZ feature could erroneously issue a "Can't compute trigger"
error. This has been fixed.
- CHANGE: remind: The default for --max-expr-complexity is 10,000,000
(ten million) instead of unlimited. This should not affect any
real-world Remind scripts.
* VERSION 6.1 Patch 1 - 2025-09-12
- NEW FEATURE: remind: Add the new --max-expr-complexity=n
command-line argument. It is possible to write expressions that use
enormous amounts of CPU time, such as the following:
FSET fib(n) iif(n <= 2, 1, fib(n-1)+fib(n-2))
SET a fib(100)
That will take essentially forever to execute, but will not hit the
built-in recursion limit. Using a command-line argument of
--max-expr-complexity=1000000 will terminate evaluation in a few
dozen milliseconds on modern hardware, and should not affect
realistic reminder scripts. See the man page for details.
- IMPROVEMENT: remind: Add UTF-8-aware functions to complement the
byte-aware functions that could give incorrect results by splitting
a UTF-8 character sequence. The correspondence between old and new
functions is:
NON-UTF-8-AWARE UTF-8-AWARE
=============== ===========
strlen mbstrlen
substr mbsubstr
index mbindex
char mbchar
asc codepoint
See the remind(1) man page for details.
- MINOR NEW FEATURE: remind: You can use hexadecimal integer constants
like 0xFE12 in expressions. This is mostly useful for using
codepoint() since Unicode code points are often expressed in
hexadecimal.
- BUG FIX: remind: When truncating a string when executing DUMPVARS or
during debugging of expression evaluation, Remind could sometimes
cut the string in the middle of a UTF-8 sequence. This has been
fixed.
* VERSION 6.1 Patch 0 - 2025-09-08
- MAJOR NEW FEATURE: remind: The TZ keyword lets you specify a time
zone for a REM command. All trigger calculations are performed in
the named time zone.
- DOCUMENTATION: Update README.md to document prerequisites for readline
support.
- DOCUMENTATION: remind.1: Document system variables such as $T that can
have multiple types.
- BUG FIX: remind: If Remind was run interactively ("remind -c -" with
readline support enabled) it would not properly cache the input
file, but would keep asking for interactive input. This has been
fixed.
* VERSION 6.0 Patch 2 - 2025-09-01
- CHANGE: Default $ParseUntriggered to 0 instead of 1. The default
could cause spurious warnings such as "type mismatch" warnings for
untriggered reminders.
- TEST FIX: Explicitly set latitude and longitude in test files.
- BUG FIX: remind: Don't add lines to "readline" history unless they
are actually being read from standard input.
- BUG FIX: remind: On the command-line, make '-i$foo' behave the same
way as '-i$foo=0' as was documented in the man page.
- BUG FIX: remind: Clamp the output of trigger() to "1 January 1990 AT
00:00" if the UTC flag is used, even if it would actually produce a
result in 1989.
- MINOR FIX: remind: Avoid "unused result" compiler warning.
* VERSION 6.0 Patch 1 - 2025-08-19
- NEW FEATURE: remind: Add readline support if input is taken from stdin
(ie, "remind -"). This gives you full editing support if you run
Remind interactively.
- BUG FIX: remind: Fix buffer overflow in DUMPVARS command.
Thanks to Jochen Sprickerhof for helping me find this bug.
* VERSION 6.0 Patch 0 - 2025-08-18
- MAJOR NEW FEATURE: remind: Introduction of TODOs. These are similar
to normal reminders, but (in Agenda Mode) you keep getting reminded
of them even once they are in the past, unless you specifically mark
them as completed.
- MAJOR NEW FEATURE: remind: The --json long option causes Remind to
output JSON in Agenda Mode instead of the normal text output. See
tkremind for an example of how a front-end can use this output.
- MINOR NEW FEATURE: remind: The RETURN statement can be used to skip
the rest of the current file. Useful for early exit from an
INCLUDEd file.
- MINOR NEW FEATURE: remind: Allow the %:, %!, %?, %@ and %#
substitution sequences to be overridden by defining the functions
subst_colon, subst_bang, subst_question, subst_at and subst_hash,
respectively.
- SAFETY IMPROVEMENT: remind: If a function is defined in a context
where RUN is disabled, disable RUN during the evaluation of the
function. Also disable RUN for all subst_XXX callbacks and the
ordx(n) callback.
- MAJOR IMPROVEMENTS: tkremind: TkRemind has been given an overhaul.
The "Show Queue" and "Show Today's Reminders" windows now respect
the color scheme. TkRemind lets you create TODO reminders and
easily mark them completed. You can right-click on a day number
to get a window with Agenda Mode reminders for that day.
- MINOR IMPROVEMENT: remind: Language packs can define an ordx(n)
function that localizes ord(n). If this function is defined, then
ord(n) automatically calls it rather than using its built-in English
localization. Appropriate ordx(n) definitions have been added to
all language packs.
- MINOR IMPROVEMENT: remind: The %b substitution sequence handles
dates in the past (because of TODOs). The %! sequence considers
both date and time, and can be used with non-timed reminders. The
new %? sequence is similar to %!, but outputs "are" and "were"
instead of "is" and "was". The new %*! and %*? sequences are
similar to %! and %?, but compare the trigger date to realtoday()
instead of to today().
- MINOR IMPROVEMENT: remind: Downgrade a SPECIAL COLOR... with
out-of-range color values to a normal MSG-type reminder.
- MINOR IMPROVEMENT: include/lang/nl.rem: Use "eergisteren" for "2
days ago" and "overmorgen" for "in 2 days' time."
- MINOR IMPROVEMENT: tkremind: TkRemind now passes all command-line
options back to Remind.
- TEST IMPROVEMENT: remind: Add --flush option and use it in tests to
have more predictable interleaving of stdout/stderr output.
- BUG FIX: tkremind: In a couple of places, the "eval" command was used
where the intention was to use "catch". I blame Perl...
- BUG FIX: remind: SCANFROM and FROM are separated out internally, and
in the JSON output, the original FROM or SCANFROM value is
preserved, including relative SCANFROMs.
- BUG FIX: tkremind: Remove some extraneous semicolons.
- DOCUMENTATION FIX: Fix some man-page format directive errors;
tweak wording in several pages.
* 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. Replace them all with one piece of code.
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: Actually allow the documented 9 levels of INCLUDE rather than
8.
- 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
@@ -1219,10 +1778,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.

1
examples/alignment.rem Normal file → Executable file
View File

@@ -1,3 +1,4 @@
#!/usr/bin/env -S remind -@2
# Demo the columns() function
#
# Run as: remind -@2 alignment.rem

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)

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
# #
#############################################################################

24
examples/tflag.rem Executable file
View File

@@ -0,0 +1,24 @@
#!/usr/bin/env -S remind -@2
# This is a little Easter Egg that simply draws
# the Transgender Pride Flag. It's included in
# Remind because (1) the author is trans and (2)
# trans people are under attack in the USA and many
# other places. So this is a little show of support
# and resistance for trans people.
SET $AddBlankLines 0
BANNER %
set c max(columns()-1, 10)
set r max(rows(), 5)
set bar "█" * c
set dups r/5
set bars (bar + "%_") * dups
set bars mbsubstr(bars, 0, mbstrlen(bars)-2)
REM SPECIAL COLOR 91 206 250 [bars]
REM SPECIAL COLOR 245 169 184 [bars]
REM SPECIAL COLOR 255 255 255 [bars]
REM SPECIAL COLOR 245 169 184 [bars]
REM SPECIAL COLOR 91 206 250 [bars]

View File

@@ -2,12 +2,12 @@
# 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")
# Disable ANSI attributes in calandar mode
if $CalMode
# Disable ANSI attributes in calendar mode or JSON mode
if $CalMode || $PSCal || $JSONMode
set ansi_normal ""
set ansi_bold ""
set ansi_faint ""
@@ -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] \

View File

@@ -33,30 +33,19 @@ pagan.rem - Pagan holidays
ADVANCE WARNING:
================
None of the included holiday files have deltas or substitution sequences.
You can use the following trick if you would like (for example) 7 days'
advance warning of holidays:
# Save old definition (if any) of msgsuffix
FRENAME msgsuffix saved_msgsuffix
None of the included holiday files have deltas. You can use the
following trick if you would like (for example) 7 days' advance
warning of holidays:
# Save old value of $DefaultDelta
SET old_delta $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...
INCLUDE [$SysInclude]/holidays/us.rem
INCLUDE [$SysInclude]/holidays/us/ny.rem
SYSINCLUDE holidays/us.rem
SYSINCLUDE holidays/us/ny.rem
# Restore old version of msgsuffix and $DefaultDelta
FRENAME saved_msgsuffix msgsuffix
SET $DefaultDelta old_delta
# Restore old value $DefaultDelta
POP-VARS

View File

@@ -12,17 +12,17 @@
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/ad/
OMIT 1 January MSG New Year's Day
OMIT 6 January MSG Epiphany
OMIT [easterdate($Uy)-47] MSG Carnival
OMIT 14 March MSG Constitution Day
OMIT [easterdate($Uy)-2] MSG Good Friday
OMIT [easterdate($Uy)+1] MSG Easter Monday
OMIT 1 May MSG Labor Day
OMIT [easterdate($Uy)+50] MSG Whit Monday
OMIT 15 August MSG Assumption Day
OMIT 8 September MSG National Day
OMIT 1 November MSG All Saints' Day
OMIT 8 December MSG Immaculate Conception Day
OMIT 25 December MSG Christmas Day
OMIT 26 December MSG Saint Stephen's Day
OMIT 1 January MSG %"New Year's Day%" %! %b.
OMIT 6 January MSG %"Epiphany%" %! %b.
OMIT [easterdate($Uy)-47] MSG %"Carnival%" %! %b.
OMIT 14 March MSG %"Constitution Day%" %! %b.
OMIT [easterdate($Uy)-2] MSG %"Good Friday%" %! %b.
OMIT [easterdate($Uy)+1] MSG %"Easter Monday%" %! %b.
OMIT 1 May MSG %"Labor Day%" %! %b.
OMIT [easterdate($Uy)+50] MSG %"Whit Monday%" %! %b.
OMIT 15 August MSG %"Assumption Day%" %! %b.
OMIT 8 September MSG %"National Day%" %! %b.
OMIT 1 November MSG %"All Saints' Day%" %! %b.
OMIT 8 December MSG %"Immaculate Conception Day%" %! %b.
OMIT 25 December MSG %"Christmas Day%" %! %b.
OMIT 26 December MSG %"Saint Stephen's Day%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
# also SYSINCLUDE holidays/ad.rem
REM Third Saturday in July ADDOMIT SCANFROM -28 MSG Canillo Annual Festival
REM Sunday 16 July ADDOMIT SCANFROM -28 MSG Canillo Annual Festival
REM Monday 17 July ADDOMIT SCANFROM -28 MSG Canillo Annual Festival
REM Third Saturday in July ADDOMIT SCANFROM -28 MSG %"Canillo Annual Festival%" %! %b.
REM Sunday 16 July ADDOMIT SCANFROM -28 MSG %"Canillo Annual Festival%" %! %b.
REM Monday 17 July ADDOMIT SCANFROM -28 MSG %"Canillo Annual Festival%" %! %b.

View File

@@ -8,7 +8,7 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
# also SYSINCLUDE holidays/ad.rem
OMIT 15 August MSG Encamp Annual Festival
OMIT 16 August MSG Encamp Annual Festival
OMIT 15 August MSG %"Encamp Annual Festival%" %! %b.
OMIT 16 August MSG %"Encamp Annual Festival%" %! %b.

View File

@@ -8,7 +8,7 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
# also SYSINCLUDE holidays/ad.rem
OMIT 15 August MSG La Massana Annual Festival
OMIT 16 August MSG La Massana Annual Festival
OMIT 15 August MSG %"La Massana Annual Festival%" %! %b.
OMIT 16 August MSG %"La Massana Annual Festival%" %! %b.

View File

@@ -8,7 +8,7 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
# also SYSINCLUDE holidays/ad.rem
OMIT 15 August MSG Ordino Annual Festival
OMIT 16 August MSG Ordino Annual Festival
OMIT 15 August MSG %"Ordino Annual Festival%" %! %b.
OMIT 16 August MSG %"Ordino Annual Festival%" %! %b.

View File

@@ -8,9 +8,9 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/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
REM Sunday 25 July ADDOMIT SCANFROM -28 MSG Sant Julià de Lòria Annual Festival
REM Monday 26 July ADDOMIT SCANFROM -28 MSG Sant Julià de Lòria Annual Festival
REM Friday 23 July ADDOMIT SCANFROM -28 MSG %"Sant Julià de Lòria Annual Festival%" %! %b.
REM Saturday 24 July ADDOMIT SCANFROM -28 MSG %"Sant Julià de Lòria Annual Festival%" %! %b.
REM Sunday 25 July ADDOMIT SCANFROM -28 MSG %"Sant Julià de Lòria Annual Festival%" %! %b.
REM Monday 26 July ADDOMIT SCANFROM -28 MSG %"Sant Julià de Lòria Annual Festival%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
# also SYSINCLUDE holidays/ad.rem
REM First Saturday in August ADDOMIT SCANFROM -28 MSG Andorra la Vella Annual Festival
REM Sunday 2 August ADDOMIT SCANFROM -28 MSG Andorra la Vella Annual Festival
REM Monday 3 August ADDOMIT SCANFROM -28 MSG Andorra la Vella Annual Festival
REM First Saturday in August ADDOMIT SCANFROM -28 MSG %"Andorra la Vella Annual Festival%" %! %b.
REM Sunday 2 August ADDOMIT SCANFROM -28 MSG %"Andorra la Vella Annual Festival%" %! %b.
REM Monday 3 August ADDOMIT SCANFROM -28 MSG %"Andorra la Vella Annual Festival%" %! %b.

View File

@@ -8,7 +8,7 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ad.rem
# also SYSINCLUDE holidays/ad.rem
OMIT 25 July MSG Escaldes-Engordany Annual Festival
OMIT 26 July MSG Escaldes-Engordany Annual Festival
OMIT 25 July MSG %"Escaldes-Engordany Annual Festival%" %! %b.
OMIT 26 July MSG %"Escaldes-Engordany Annual Festival%" %! %b.

View File

@@ -5,6 +5,6 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG رأس السنة الميلادية
OMIT 2 December MSG اليوم الوطني
OMIT 3 December MSG اليوم الوطني
OMIT 1 January MSG %"رأس السنة الميلادية%" %! %b.
OMIT 2 December MSG %"اليوم الوطني%" %! %b.
OMIT 3 December MSG %"اليوم الوطني%" %! %b.

View File

@@ -5,29 +5,29 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Festat e Vitit të Ri
REM 1 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1))==0 || wkdaynum(date($Ty, 1, 1))==6] MSG Festat e Vitit të Ri (ditë pushimi e shtyrë)
OMIT 2 January MSG Festat e Vitit të Ri
REM 2 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 2))==0 || wkdaynum(date($Ty, 1, 2))==6] MSG Festat e Vitit të Ri (ditë pushimi e shtyrë)
OMIT 14 March MSG Dita e Verës
REM 14 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 14))==0 || wkdaynum(date($Ty, 3, 14))==6] MSG Dita e Verës (ditë pushimi e shtyrë)
OMIT 22 March MSG Dita e Nevruzit
REM 22 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 22))==0 || wkdaynum(date($Ty, 3, 22))==6] MSG Dita e Nevruzit (ditë pushimi e shtyrë)
REM 31 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 31))==0 || wkdaynum(date($Ty, 3, 31))==6] MSG E diela e Pashkëve Katolike (ditë pushimi e shtyrë)
OMIT [easterdate($Uy)] MSG E diela e Pashkëve Katolike
OMIT [easterdate($Uy)] MSG E diela e Pashkëve Ortodokse
OMIT 1 May MSG Dita Ndërkombëtare e Punëtorëve
REM 1 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1))==0 || wkdaynum(date($Ty, 5, 1))==6] MSG Dita Ndërkombëtare e Punëtorëve (ditë pushimi e shtyrë)
REM 5 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 5))==0 || wkdaynum(date($Ty, 5, 5))==6] MSG E diela e Pashkëve Ortodokse (ditë pushimi e shtyrë)
OMIT 5 September MSG Dita e Shenjtërimit të Shenjt Terezës
REM 5 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 9, 5))==0 || wkdaynum(date($Ty, 9, 5))==6] MSG Dita e Shenjtërimit të Shenjt Terezës (ditë pushimi e shtyrë)
OMIT 22 November MSG Dita e Alfabetit
REM 22 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 22))==0 || wkdaynum(date($Ty, 11, 22))==6] MSG Dita e Alfabetit (ditë pushimi e shtyrë)
OMIT 28 November MSG Dita Flamurit dhe e Pavarësisë
REM 28 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 28))==0 || wkdaynum(date($Ty, 11, 28))==6] MSG Dita Flamurit dhe e Pavarësisë (ditë pushimi e shtyrë)
OMIT 29 November MSG Dita e Çlirimit
REM 29 November OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 29))==0 || wkdaynum(date($Ty, 11, 29))==6] MSG Dita e Çlirimit (ditë pushimi e shtyrë)
OMIT 8 December MSG Dita Kombëtare e Rinisë
REM 8 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 8))==0 || wkdaynum(date($Ty, 12, 8))==6] MSG Dita Kombëtare e Rinisë (ditë pushimi e shtyrë)
OMIT 25 December MSG Krishtlindjet
REM 25 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25))==0 || wkdaynum(date($Ty, 12, 25))==6] MSG Krishtlindjet (ditë pushimi e shtyrë)
OMIT 1 January MSG %"Festat e Vitit të Ri%" %! %b.
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ë)%" %! %b.
OMIT 2 January MSG %"Festat e Vitit të Ri%" %! %b.
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ë)%" %! %b.
OMIT 14 March MSG %"Dita e Verës%" %! %b.
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ë)%" %! %b.
OMIT 22 March MSG %"Dita e Nevruzit%" %! %b.
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ë)%" %! %b.
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ë)%" %! %b.
OMIT [easterdate($Uy)] MSG %"E diela e Pashkëve Katolike%" %! %b.
OMIT [easterdate($Uy)] MSG %"E diela e Pashkëve Ortodokse%" %! %b.
OMIT 1 May MSG %"Dita Ndërkombëtare e Punëtorëve%" %! %b.
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ë)%" %! %b.
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ë)%" %! %b.
OMIT 5 September MSG %"Dita e Shenjtërimit të Shenjt Terezës%" %! %b.
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ë)%" %! %b.
OMIT 22 November MSG %"Dita e Alfabetit%" %! %b.
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ë)%" %! %b.
OMIT 28 November MSG %"Dita Flamurit dhe e Pavarësisë%" %! %b.
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ë)%" %! %b.
OMIT 29 November MSG %"Dita e Çlirimit%" %! %b.
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ë)%" %! %b.
OMIT 8 December MSG %"Dita Kombëtare e Rinisë%" %! %b.
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ë)%" %! %b.
OMIT 25 December MSG %"Krishtlindjet%" %! %b.
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ë)%" %! %b.

View File

@@ -5,15 +5,15 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Նոր տարվա օր
OMIT 2 January MSG Նոր տարվա օր
OMIT 6 January MSG Սուրբ Ծնունդ եւ Հայտնություն
OMIT 28 January MSG Բանակի օր
OMIT 8 March MSG Կանանց տոն
OMIT 24 April MSG Եղեռնի զոհերի հիշատակի օր
OMIT 1 May MSG Աշխատանքի օր
OMIT 9 May MSG Հաղթանակի և Խաղաղության տոն
OMIT 28 May MSG Հանրապետության օր
OMIT 5 July MSG Սահմանադրության օր
OMIT 21 September MSG Անկախության օր
OMIT 31 December MSG Նոր տարվա գիշեր
OMIT 1 January MSG %"Նոր տարվա օր%" %! %b.
OMIT 2 January MSG %"Նոր տարվա օր%" %! %b.
OMIT 6 January MSG %"Սուրբ Ծնունդ եւ Հայտնություն%" %! %b.
OMIT 28 January MSG %"Բանակի օր%" %! %b.
OMIT 8 March MSG %"Կանանց տոն%" %! %b.
OMIT 24 April MSG %"Եղեռնի զոհերի հիշատակի օր%" %! %b.
OMIT 1 May MSG %"Աշխատանքի օր%" %! %b.
OMIT 9 May MSG %"Հաղթանակի և Խաղաղության տոն%" %! %b.
OMIT 28 May MSG %"Հանրապետության օր%" %! %b.
OMIT 5 July MSG %"Սահմանադրության օր%" %! %b.
OMIT 21 September MSG %"Անկախության օր%" %! %b.
OMIT 31 December MSG %"Նոր տարվա գիշեր%" %! %b.

View File

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

View File

@@ -5,34 +5,34 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Año Nuevo
OMIT [easterdate($Uy)-48] MSG Día de Carnaval
OMIT [easterdate($Uy)-47] MSG Día de Carnaval
OMIT 24 March MSG Día Nacional de la Memoria por la Verdad y la Justicia
OMIT 2 April MSG Día del Veterano y de los Caidos en la Guerra de Malvinas
OMIT [easterdate($Uy)-2] MSG Viernes Santo
OMIT 1 May MSG Día del Trabajo
OMIT 25 May MSG Día de la Revolución de Mayo
REM 15 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 17)) == 3] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
REM 16 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 17)) == 2] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
REM 17 June ADDOMIT SCANFROM -28 SATISFY [$Tw != 2 && $Tw != 3 && $Tw != 4] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
OMIT 20 June MSG Paso a la Inmortalidad del General Don Manuel Belgrano
REM 21 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 17)) == 4] MSG Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)
OMIT 9 July MSG Día de la Independencia
REM 15 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 17)) == 3] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 16 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 17)) == 2] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 17 August ADDOMIT SCANFROM -28 SATISFY [$Tw != 2 && $Tw != 3 && $Tw != 4 && $Tw != 5] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 20 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 17)) == 5] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 21 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 17)) == 4] MSG Paso a la Inmortalidad del General Don José de San Martin (observado)
REM 10 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 12)) == 3] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 11 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 12)) == 2] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 12 October ADDOMIT SCANFROM -28 SATISFY [$Tw != 2 && $Tw != 3 && $Tw != 4 && $Tw != 5] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 15 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 12)) == 5] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 16 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 12)) == 4] MSG Día del Respeto a la Diversidad Cultural (observado)
REM 18 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 20)) == 3] MSG Día de la Soberanía Nacional (observado)
REM 19 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 20)) == 2] MSG Día de la Soberanía Nacional (observado)
REM 20 November ADDOMIT SCANFROM -28 SATISFY [$Tw != 2 && $Tw != 3 && $Tw != 4 && $Tw != 5] MSG Día de la Soberanía Nacional (observado)
REM 23 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 20)) == 5] MSG Día de la Soberanía Nacional (observado)
REM 24 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 20)) == 4] MSG Día de la Soberanía Nacional (observado)
OMIT 8 December MSG Inmaculada Concepción de María
OMIT 25 December MSG Navidad
OMIT 1 January MSG %"Año Nuevo%" %! %b.
OMIT [easterdate($Uy)-48] MSG %"Día de Carnaval%" %! %b.
OMIT [easterdate($Uy)-47] MSG %"Día de Carnaval%" %! %b.
OMIT 24 March MSG %"Día Nacional de la Memoria por la Verdad y la Justicia%" %! %b.
OMIT 2 April MSG %"Día del Veterano y de los Caidos en la Guerra de Malvinas%" %! %b.
OMIT [easterdate($Uy)-2] MSG %"Viernes Santo%" %! %b.
OMIT 1 May MSG %"Día del Trabajo%" %! %b.
OMIT 25 May MSG %"Día de la Revolución de Mayo%" %! %b.
REM 15 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+2) == 3] MSG %"Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)%" %! %b.
REM 16 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+1) == 2] MSG %"Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)%" %! %b.
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)%" %! %b.
OMIT 20 June MSG %"Paso a la Inmortalidad del General Don Manuel Belgrano%" %! %b.
REM 21 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-4) == 4] MSG %"Paso a la Inmortalidad del General Don Martín Miguel de Güemes (observado)%" %! %b.
OMIT 9 July MSG %"Día de la Independencia%" %! %b.
REM 15 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+2) == 3] MSG %"Paso a la Inmortalidad del General Don José de San Martin (observado)%" %! %b.
REM 16 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+1) == 2] MSG %"Paso a la Inmortalidad del General Don José de San Martin (observado)%" %! %b.
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)%" %! %b.
REM 20 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-3) == 5] MSG %"Paso a la Inmortalidad del General Don José de San Martin (observado)%" %! %b.
REM 21 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-4) == 4] MSG %"Paso a la Inmortalidad del General Don José de San Martin (observado)%" %! %b.
REM 10 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+2) == 3] MSG %"Día del Respeto a la Diversidad Cultural (observado)%" %! %b.
REM 11 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+1) == 2] MSG %"Día del Respeto a la Diversidad Cultural (observado)%" %! %b.
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)%" %! %b.
REM 15 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-3) == 5] MSG %"Día del Respeto a la Diversidad Cultural (observado)%" %! %b.
REM 16 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-4) == 4] MSG %"Día del Respeto a la Diversidad Cultural (observado)%" %! %b.
REM 18 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+2) == 3] MSG %"Día de la Soberanía Nacional (observado)%" %! %b.
REM 19 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+1) == 2] MSG %"Día de la Soberanía Nacional (observado)%" %! %b.
REM 20 November ADDOMIT SCANFROM -28 SATISFY [$Tw != 2 && $Tw != 3 && $Tw != 4 && $Tw != 5] MSG %"Día de la Soberanía Nacional (observado)%" %! %b.
REM 23 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-3) == 5] MSG %"Día de la Soberanía Nacional (observado)%" %! %b.
REM 24 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-4) == 4] MSG %"Día de la Soberanía Nacional (observado)%" %! %b.
OMIT 8 December MSG %"Inmaculada Concepción de María%" %! %b.
OMIT 25 December MSG %"Navidad%" %! %b.

View File

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

View File

@@ -12,21 +12,21 @@
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/at/
OMIT 1 January MSG Neujahr
OMIT 6 January MSG Heilige Drei Könige
OMIT [easterdate($Uy)+1] MSG Ostermontag
OMIT 1 May MSG Staatsfeiertag
OMIT [easterdate($Uy)+39] MSG Christi Himmelfahrt
OMIT [easterdate($Uy)+50] MSG Pfingstmontag
OMIT [easterdate($Uy)+60] MSG Fronleichnam
OMIT 15 August MSG Mariä Himmelfahrt
OMIT 26 October MSG Nationalfeiertag
OMIT 1 November MSG Allerheiligen
OMIT 8 December MSG Mariä Empfängnis
OMIT 25 December MSG Christtag
OMIT 26 December MSG Stefanitag
OMIT 1 January MSG %"Neujahr%" %! %b.
OMIT 6 January MSG %"Heilige Drei Könige%" %! %b.
OMIT [easterdate($Uy)+1] MSG %"Ostermontag%" %! %b.
OMIT 1 May MSG %"Staatsfeiertag%" %! %b.
OMIT [easterdate($Uy)+39] MSG %"Christi Himmelfahrt%" %! %b.
OMIT [easterdate($Uy)+50] MSG %"Pfingstmontag%" %! %b.
OMIT [easterdate($Uy)+60] MSG %"Fronleichnam%" %! %b.
OMIT 15 August MSG %"Mariä Himmelfahrt%" %! %b.
OMIT 26 October MSG %"Nationalfeiertag%" %! %b.
OMIT 1 November MSG %"Allerheiligen%" %! %b.
OMIT 8 December MSG %"Mariä Empfängnis%" %! %b.
OMIT 25 December MSG %"Christtag%" %! %b.
OMIT 26 December MSG %"Stefanitag%" %! %b.
# Optional holidays
REM [easterdate($Uy)-2] MSG Karfreitag
REM 24 December MSG Heiliger Abend
REM 31 December MSG Silvester
REM [easterdate($Uy)-2] MSG %"Karfreitag%" %! %b.
REM 24 December MSG %"Heiliger Abend%" %! %b.
REM 31 December MSG %"Silvester%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 11 November MSG Hl. Martin
REM 11 November MSG %"Hl. Martin%" %! %b.

View File

@@ -8,9 +8,9 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef
REM 10 October MSG Tag der Volksabstimmung
REM 19 March MSG %"Hl. Josef%" %! %b.
REM 10 October MSG %"Tag der Volksabstimmung%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 15 November MSG Hl. Leopold
REM 15 November MSG %"Hl. Leopold%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 4 May MSG Hl. Florian
REM 4 May MSG %"Hl. Florian%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 24 September MSG Hl. Rupert
REM 24 September MSG %"Hl. Rupert%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef
REM 19 March MSG %"Hl. Josef%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef
REM 19 March MSG %"Hl. Josef%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 19 March MSG Hl. Josef
REM 19 March MSG %"Hl. Josef%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays
REM 15 November MSG Hl. Leopold
REM 15 November MSG %"Hl. Leopold%" %! %b.

View File

@@ -12,10 +12,10 @@
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/au/
OMIT 1 January MSG New Year's Day
OMIT 26 January MSG Australia Day
OMIT [easterdate($Uy)-2] MSG Good Friday
OMIT [easterdate($Uy)+1] MSG Easter Monday
OMIT 25 April MSG ANZAC Day
OMIT 25 December MSG Christmas Day
OMIT 26 December MSG Boxing Day
OMIT 1 January MSG %"New Year's Day%" %! %b.
OMIT 26 January MSG %"Australia Day%" %! %b.
OMIT [easterdate($Uy)-2] MSG %"Good Friday%" %! %b.
OMIT [easterdate($Uy)+1] MSG %"Easter Monday%" %! %b.
OMIT 25 April MSG %"ANZAC Day%" %! %b.
OMIT 25 December MSG %"Christmas Day%" %! %b.
OMIT 26 December MSG %"Boxing Day%" %! %b.

View File

@@ -8,20 +8,20 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM Second Monday in March ADDOMIT SCANFROM -28 MSG Canberra Day
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM Monday 27 May ADDOMIT SCANFROM -28 MSG Reconciliation Day
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM First Monday in October ADDOMIT SCANFROM -28 MSG Labour Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"New Year's Day (observed)%" %! %b.
REM Second Monday in March ADDOMIT SCANFROM -28 MSG %"Canberra Day%" %! %b.
OMIT [easterdate($Uy)-1] MSG %"Easter Saturday%" %! %b.
OMIT [easterdate($Uy)] MSG %"Easter Sunday%" %! %b.
REM Monday 27 May ADDOMIT SCANFROM -28 MSG %"Reconciliation Day%" %! %b.
REM Second Monday in June ADDOMIT SCANFROM -28 MSG %"King's Birthday%" %! %b.
REM First Monday in October ADDOMIT SCANFROM -28 MSG %"Labour Day%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Christmas Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Boxing Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Boxing Day (observed)%" %! %b.
# Optional holidays
REM First Monday in August SCANFROM -28 MSG Bank Holiday
REM First Monday in August SCANFROM -28 MSG %"Bank Holiday%" %! %b.

View File

@@ -8,18 +8,18 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM First Monday in October ADDOMIT SCANFROM -28 MSG Labour Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"New Year's Day (observed)%" %! %b.
OMIT [easterdate($Uy)-1] MSG %"Easter Saturday%" %! %b.
OMIT [easterdate($Uy)] MSG %"Easter Sunday%" %! %b.
REM Second Monday in June ADDOMIT SCANFROM -28 MSG %"King's Birthday%" %! %b.
REM First Monday in October ADDOMIT SCANFROM -28 MSG %"Labour Day%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Christmas Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Boxing Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Boxing Day (observed)%" %! %b.
# Optional holidays
REM First Monday in August SCANFROM -28 MSG Bank Holiday
REM First Monday in August SCANFROM -28 MSG %"Bank Holiday%" %! %b.

View File

@@ -8,21 +8,21 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM First Monday in May ADDOMIT SCANFROM -28 MSG May Day
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM First Monday in August ADDOMIT SCANFROM -28 MSG Picnic Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 1] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"New Year's Day (observed)%" %! %b.
OMIT [easterdate($Uy)-1] MSG %"Easter Saturday%" %! %b.
OMIT [easterdate($Uy)] MSG %"Easter Sunday%" %! %b.
REM First Monday in May ADDOMIT SCANFROM -28 MSG %"May Day%" %! %b.
REM Second Monday in June ADDOMIT SCANFROM -28 MSG %"King's Birthday%" %! %b.
REM First Monday in August ADDOMIT SCANFROM -28 MSG %"Picnic Day%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 1] MSG %"Boxing Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Christmas Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Boxing Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Boxing Day (observed)%" %! %b.
# Optional holidays
REM 24 December MSG Christmas Eve (from 7pm)
REM 31 December MSG New Year's Eve (from 7pm)
REM 24 December MSG %"Christmas Eve (from 7pm)%" %! %b.
REM 31 December MSG %"New Year's Eve (from 7pm)%" %! %b.

View File

@@ -8,16 +8,16 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM First Monday in May ADDOMIT SCANFROM -28 MSG Labour Day
REM Wednesday 10 August ADDOMIT SCANFROM -28 MSG The Royal Queensland Show
REM First Monday in October ADDOMIT SCANFROM -28 MSG King's Birthday
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"New Year's Day (observed)%" %! %b.
OMIT [easterdate($Uy)-1] MSG %"Easter Saturday%" %! %b.
OMIT [easterdate($Uy)] MSG %"Easter Sunday%" %! %b.
REM First Monday in May ADDOMIT SCANFROM -28 MSG %"Labour Day%" %! %b.
REM Wednesday 10 August ADDOMIT SCANFROM -28 MSG %"The Royal Queensland Show%" %! %b.
REM First Monday in October ADDOMIT SCANFROM -28 MSG %"King's Birthday%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Christmas Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Boxing Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Boxing Day (observed)%" %! %b.

View File

@@ -8,22 +8,22 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM Second Monday in March ADDOMIT SCANFROM -28 MSG Adelaide Cup Day
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM First Monday in October ADDOMIT SCANFROM -28 MSG Labour Day
OMIT 26 December MSG Proclamation Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 1] MSG Proclamation Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Proclamation Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Proclamation Day (observed)
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"New Year's Day (observed)%" %! %b.
REM Second Monday in March ADDOMIT SCANFROM -28 MSG %"Adelaide Cup Day%" %! %b.
OMIT [easterdate($Uy)-1] MSG %"Easter Saturday%" %! %b.
OMIT [easterdate($Uy)] MSG %"Easter Sunday%" %! %b.
REM Second Monday in June ADDOMIT SCANFROM -28 MSG %"King's Birthday%" %! %b.
REM First Monday in October ADDOMIT SCANFROM -28 MSG %"Labour Day%" %! %b.
OMIT 26 December MSG %"Proclamation Day%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 1] MSG %"Proclamation Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Christmas Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Proclamation Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Proclamation Day (observed)%" %! %b.
# Optional holidays
REM 24 December MSG Christmas Eve (from 7pm)
REM 31 December MSG New Year's Eve (from 7pm)
REM 24 December MSG %"Christmas Eve (from 7pm)%" %! %b.
REM 31 December MSG %"New Year's Eve (from 7pm)%" %! %b.

View File

@@ -8,9 +8,9 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
# also SYSINCLUDE holidays/au.rem
REM Second Monday in March ADDOMIT SCANFROM -28 MSG Eight Hours Day
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM Second Monday in March ADDOMIT SCANFROM -28 MSG %"Eight Hours Day%" %! %b.
REM Second Monday in June ADDOMIT SCANFROM -28 MSG %"King's Birthday%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Christmas Day (observed)%" %! %b.

View File

@@ -8,17 +8,17 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM Second Monday in March ADDOMIT SCANFROM -28 MSG Labour Day
OMIT [easterdate($Uy)-1] MSG Easter Saturday
OMIT [easterdate($Uy)] MSG Easter Sunday
REM Second Monday in June ADDOMIT SCANFROM -28 MSG King's Birthday
REM Saturday 1 October --8 ADDOMIT SCANFROM -28 MSG Grand Final Day
REM First Tuesday in November ADDOMIT SCANFROM -28 MSG Melbourne Cup Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"New Year's Day (observed)%" %! %b.
REM Second Monday in March ADDOMIT SCANFROM -28 MSG %"Labour Day%" %! %b.
OMIT [easterdate($Uy)-1] MSG %"Easter Saturday%" %! %b.
OMIT [easterdate($Uy)] MSG %"Easter Sunday%" %! %b.
REM Second Monday in June ADDOMIT SCANFROM -28 MSG %"King's Birthday%" %! %b.
REM Saturday 1 October --8 ADDOMIT SCANFROM -28 MSG %"Grand Final Day%" %! %b.
REM First Tuesday in November ADDOMIT SCANFROM -28 MSG %"Melbourne Cup Day%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Christmas Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Boxing Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Boxing Day (observed)%" %! %b.

View File

@@ -8,17 +8,17 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/au.rem
# also SYSINCLUDE holidays/au.rem
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG New Year's Day (observed)
REM First Monday in March ADDOMIT SCANFROM -28 MSG Labour Day
OMIT [easterdate($Uy)] MSG Easter Sunday
REM 26 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 25)) == 0] MSG ANZAC Day (observed)
REM 27 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 25)) == 6] MSG ANZAC Day (observed)
REM First Monday in June ADDOMIT SCANFROM -28 MSG Western Australia Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 6] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 1] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 6] MSG Boxing Day (observed)
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"New Year's Day (observed)%" %! %b.
REM First Monday in March ADDOMIT SCANFROM -28 MSG %"Labour Day%" %! %b.
OMIT [easterdate($Uy)] MSG %"Easter Sunday%" %! %b.
REM 26 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"ANZAC Day (observed)%" %! %b.
REM 27 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"ANZAC Day (observed)%" %! %b.
REM First Monday in June ADDOMIT SCANFROM -28 MSG %"Western Australia Day%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 1] MSG %"Boxing Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Christmas Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Boxing Day (observed)%" %! %b.
REM 28 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Boxing Day (observed)%" %! %b.

View File

@@ -5,15 +5,15 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Aña Nobo
OMIT 25 January MSG Dia di Betico
OMIT [easterdate($Uy)-48] MSG Dialuna prome cu diaranson di shinish
OMIT 18 March MSG Dia di Himno y Bandera
OMIT [easterdate($Uy)-2] MSG Bierna Santo
OMIT [easterdate($Uy)+1] MSG Di dos dia di Pasco di Resureccion
OMIT 1 May MSG Dia di Obrero
OMIT [easterdate($Uy)+39] MSG Dia di Asuncion
REM 31 August ADDOMIT SCANFROM -28 SATISFY [$Tw != 0] MSG Dia di Rey
REM 1 September ADDOMIT SCANFROM -28 SATISFY [$Tw == 1] MSG Dia di Rey
OMIT 25 December MSG Pasco di Nacemento
OMIT 26 December MSG Di dos dia di Pasco di Nacemento
OMIT 1 January MSG %"Aña Nobo%" %! %b.
OMIT 25 January MSG %"Dia di Betico%" %! %b.
OMIT [easterdate($Uy)-48] MSG %"Dialuna prome cu diaranson di shinish%" %! %b.
OMIT 18 March MSG %"Dia di Himno y Bandera%" %! %b.
OMIT [easterdate($Uy)-2] MSG %"Bierna Santo%" %! %b.
OMIT [easterdate($Uy)+1] MSG %"Di dos dia di Pasco di Resureccion%" %! %b.
OMIT 1 May MSG %"Dia di Obrero%" %! %b.
OMIT [easterdate($Uy)+39] MSG %"Dia di Asuncion%" %! %b.
REM 31 August ADDOMIT SCANFROM -28 SATISFY [$Tw != 0] MSG %"Dia di Rey%" %! %b.
REM 1 September ADDOMIT SCANFROM -28 SATISFY [$Tw == 1] MSG %"Dia di Rey%" %! %b.
OMIT 25 December MSG %"Pasco di Nacemento%" %! %b.
OMIT 26 December MSG %"Di dos dia di Pasco di Nacemento%" %! %b.

View File

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

View File

@@ -12,11 +12,11 @@
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/ba/
OMIT 1 January MSG Nova godina
OMIT 2 January MSG Nova godina
OMIT 7 January MSG Božić (Pravoslavni)
OMIT [orthodoxeaster($Uy)-2] MSG Veliki petak (Pravoslavni)
OMIT [orthodoxeaster($Uy)+1] MSG Uskrsni ponedjeljak (Katolički)
OMIT 1 May MSG Međunarodni praznik rada
OMIT 2 May MSG Međunarodni praznik rada
OMIT 25 December MSG Božić (Katolički)
OMIT 1 January MSG %"Nova godina%" %! %b.
OMIT 2 January MSG %"Nova godina%" %! %b.
OMIT 7 January MSG %"Božić (Pravoslavni)%" %! %b.
OMIT [orthodoxeaster($Uy)-2] MSG %"Veliki petak (Pravoslavni)%" %! %b.
OMIT [orthodoxeaster($Uy)+1] MSG %"Uskrsni ponedjeljak (Katolički)%" %! %b.
OMIT 1 May MSG %"Međunarodni praznik rada%" %! %b.
OMIT 2 May MSG %"Međunarodni praznik rada%" %! %b.
OMIT 25 December MSG %"Božić (Katolički)%" %! %b.

View File

@@ -8,16 +8,16 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ba.rem
# also SYSINCLUDE holidays/ba.rem
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Nova godina (preneseno)
OMIT 6 January MSG Badnji dan (Pravoslavni)
OMIT 1 March MSG Dan nezavisnosti
OMIT [orthodoxeaster($Uy)-2] MSG Veliki petak (Katolički)
OMIT [orthodoxeaster($Uy)] MSG Uskrs (Katolički)
OMIT [orthodoxeaster($Uy)] MSG Vaskrs (Pravoslavni)
OMIT [orthodoxeaster($Uy)+1] MSG Uskrsni ponedjeljak (Pravoslavni)
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Međunarodni praznik rada (preneseno)
OMIT 9 May MSG Dan pobjede nad fašizmom
OMIT 25 November MSG Dan državnosti
OMIT 24 December MSG Badnji dan (Katolički)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Nova godina (preneseno)%" %! %b.
OMIT 6 January MSG %"Badnji dan (Pravoslavni)%" %! %b.
OMIT 1 March MSG %"Dan nezavisnosti%" %! %b.
OMIT [orthodoxeaster($Uy)-2] MSG %"Veliki petak (Katolički)%" %! %b.
OMIT [orthodoxeaster($Uy)] MSG %"Uskrs (Katolički)%" %! %b.
OMIT [orthodoxeaster($Uy)] MSG %"Vaskrs (Pravoslavni)%" %! %b.
OMIT [orthodoxeaster($Uy)+1] MSG %"Uskrsni ponedjeljak (Pravoslavni)%" %! %b.
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Međunarodni praznik rada (preneseno)%" %! %b.
OMIT 9 May MSG %"Dan pobjede nad fašizmom%" %! %b.
OMIT 25 November MSG %"Dan državnosti%" %! %b.
OMIT 24 December MSG %"Badnji dan (Katolički)%" %! %b.

View File

@@ -8,13 +8,13 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ba.rem
# also SYSINCLUDE holidays/ba.rem
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Nova godina (preneseno)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG Nova godina (preneseno)
REM 8 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 7)) == 0] MSG Božić (Pravoslavni) (preneseno)
OMIT 8 March MSG Dan uspostavljanja Brčko distrikta
REM 9 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 8)) == 0] MSG Dan uspostavljanja Brčko distrikta (preneseno)
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Međunarodni praznik rada (preneseno)
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 6] MSG Međunarodni praznik rada (preneseno)
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Božić (Katolički) (preneseno)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Nova godina (preneseno)%" %! %b.
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Nova godina (preneseno)%" %! %b.
REM 8 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Božić (Pravoslavni) (preneseno)%" %! %b.
OMIT 8 March MSG %"Dan uspostavljanja Brčko distrikta%" %! %b.
REM 9 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Dan uspostavljanja Brčko distrikta (preneseno)%" %! %b.
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Međunarodni praznik rada (preneseno)%" %! %b.
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Međunarodni praznik rada (preneseno)%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Božić (Katolički) (preneseno)%" %! %b.

View File

@@ -8,16 +8,16 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/ba.rem
# also SYSINCLUDE holidays/ba.rem
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 6] MSG Nova godina (preneseno)
OMIT 6 January MSG Badnji dan (Pravoslavni)
OMIT 14 January MSG Pravoslavna Nova godina
OMIT [orthodoxeaster($Uy)-2] MSG Veliki petak (Katolički)
OMIT [orthodoxeaster($Uy)] MSG Uskrs (Katolički)
OMIT [orthodoxeaster($Uy)] MSG Vaskrs (Pravoslavni)
OMIT [orthodoxeaster($Uy)+1] MSG Uskrsni ponedjeljak (Pravoslavni)
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 6] MSG Međunarodni praznik rada (preneseno)
OMIT 9 May MSG Dan pobjede nad fašizmom
OMIT 21 November MSG Dan uspostave Opšteg okvirnog sporazuma za mir u Bosni i Hercegovini
OMIT 24 December MSG Badnji dan (Katolički)
REM 3 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Nova godina (preneseno)%" %! %b.
OMIT 6 January MSG %"Badnji dan (Pravoslavni)%" %! %b.
OMIT 14 January MSG %"Pravoslavna Nova godina%" %! %b.
OMIT [orthodoxeaster($Uy)-2] MSG %"Veliki petak (Katolički)%" %! %b.
OMIT [orthodoxeaster($Uy)] MSG %"Uskrs (Katolički)%" %! %b.
OMIT [orthodoxeaster($Uy)] MSG %"Vaskrs (Pravoslavni)%" %! %b.
OMIT [orthodoxeaster($Uy)+1] MSG %"Uskrsni ponedjeljak (Pravoslavni)%" %! %b.
REM 3 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 6] MSG %"Međunarodni praznik rada (preneseno)%" %! %b.
OMIT 9 May MSG %"Dan pobjede nad fašizmom%" %! %b.
OMIT 21 November MSG %"Dan uspostave Opšteg okvirnog sporazuma za mir u Bosni i Hercegovini%" %! %b.
OMIT 24 December MSG %"Badnji dan (Katolički)%" %! %b.

View File

@@ -5,24 +5,24 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG New Year's Day
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
OMIT 21 January MSG Errol Barrow Day
REM 22 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 21)) == 0] MSG Errol Barrow Day (observed)
OMIT [easterdate($Uy)-2] MSG Good Friday
OMIT [easterdate($Uy)+1] MSG Easter Monday
OMIT 28 April MSG National Heroes Day
REM 29 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 28)) == 0] MSG National Heroes Day (observed)
OMIT 1 May MSG May Day
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG May Day (observed)
OMIT [easterdate($Uy)+50] MSG Whit Monday
OMIT 1 August MSG Emancipation Day
REM First Monday in August ADDOMIT SCANFROM -28 MSG Kadooment Day
REM 2 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 1)) == 1] MSG Emancipation Day (observed)
REM 3 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 1)) == 0] MSG Emancipation Day (observed)
OMIT 30 November MSG Independence Day
REM 1 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 30)) == 0] MSG Independence Day (observed)
OMIT 25 December MSG Christmas Day
OMIT 26 December MSG Boxing Day
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26)) == 0] MSG Boxing Day (observed)
OMIT 1 January MSG %"New Year's Day%" %! %b.
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
OMIT 21 January MSG %"Errol Barrow Day%" %! %b.
REM 22 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Errol Barrow Day (observed)%" %! %b.
OMIT [easterdate($Uy)-2] MSG %"Good Friday%" %! %b.
OMIT [easterdate($Uy)+1] MSG %"Easter Monday%" %! %b.
OMIT 28 April MSG %"National Heroes Day%" %! %b.
REM 29 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"National Heroes Day (observed)%" %! %b.
OMIT 1 May MSG %"May Day%" %! %b.
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"May Day (observed)%" %! %b.
OMIT [easterdate($Uy)+50] MSG %"Whit Monday%" %! %b.
OMIT 1 August MSG %"Emancipation Day%" %! %b.
REM First Monday in August ADDOMIT SCANFROM -28 MSG %"Kadooment Day%" %! %b.
REM 2 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 1] MSG %"Emancipation Day (observed)%" %! %b.
REM 3 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Emancipation Day (observed)%" %! %b.
OMIT 30 November MSG %"Independence Day%" %! %b.
REM 1 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Independence Day (observed)%" %! %b.
OMIT 25 December MSG %"Christmas Day%" %! %b.
OMIT 26 December MSG %"Boxing Day%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Boxing Day (observed)%" %! %b.
REM 27 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-2) == 0] MSG %"Christmas Day (observed)%" %! %b.

View File

@@ -5,10 +5,10 @@
#
# See important caveats in the README file in this directory.
OMIT 21 February MSG International Mother's language Day
OMIT 17 March MSG Sheikh Mujibur Rahman's Birthday and Children's Day
OMIT 26 March MSG Independence Day
OMIT 14 April MSG Bengali New Year's Day
OMIT 1 May MSG May Day
OMIT 15 August MSG National Mourning Day
OMIT 16 December MSG Victory Day
OMIT 21 February MSG %"International Mother's language Day%" %! %b.
OMIT 17 March MSG %"Sheikh Mujibur Rahman's Birthday and Children's Day%" %! %b.
OMIT 26 March MSG %"Independence Day%" %! %b.
OMIT 14 April MSG %"Bengali New Year's Day%" %! %b.
OMIT 1 May MSG %"May Day%" %! %b.
OMIT 15 August MSG %"National Mourning Day%" %! %b.
OMIT 16 December MSG %"Victory Day%" %! %b.

View File

@@ -5,20 +5,20 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Nieuwjaar
OMIT [easterdate($Uy)] MSG Pasen
OMIT [easterdate($Uy)+1] MSG Paasmaandag
OMIT 1 May MSG Dag van de Arbeid
OMIT [easterdate($Uy)+39] MSG O. L. H. Hemelvaart
OMIT [easterdate($Uy)+49] MSG Pinksteren
OMIT [easterdate($Uy)+50] MSG Pinkstermaandag
OMIT 21 July MSG Nationale feestdag
OMIT 15 August MSG O. L. V. Hemelvaart
OMIT 1 November MSG Allerheiligen
OMIT 11 November MSG Wapenstilstand
OMIT 25 December MSG Kerstmis
OMIT 1 January MSG %"Nieuwjaar%" %! %b.
OMIT [easterdate($Uy)] MSG %"Pasen%" %! %b.
OMIT [easterdate($Uy)+1] MSG %"Paasmaandag%" %! %b.
OMIT 1 May MSG %"Dag van de Arbeid%" %! %b.
OMIT [easterdate($Uy)+39] MSG %"O. L. H. Hemelvaart%" %! %b.
OMIT [easterdate($Uy)+49] MSG %"Pinksteren%" %! %b.
OMIT [easterdate($Uy)+50] MSG %"Pinkstermaandag%" %! %b.
OMIT 21 July MSG %"Nationale feestdag%" %! %b.
OMIT 15 August MSG %"O. L. V. Hemelvaart%" %! %b.
OMIT 1 November MSG %"Allerheiligen%" %! %b.
OMIT 11 November MSG %"Wapenstilstand%" %! %b.
OMIT 25 December MSG %"Kerstmis%" %! %b.
# 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
REM [easterdate($Uy)-2] MSG %"Goede Vrijdag%" %! %b.
REM [easterdate($Uy)+40] MSG %"Vrijdag na O. L. H. Hemelvaart%" %! %b.
REM 26 December MSG %"Banksluitingsdag%" %! %b.

View File

@@ -5,25 +5,25 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG New Year's Day
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
OMIT 3 January MSG Revolution Day
REM 4 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 3)) == 0] MSG Revolution Day (observed)
OMIT 8 March MSG International Women's Day
REM 9 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 8)) == 0] MSG International Women's Day (observed)
OMIT [easterdate($Uy)+1] MSG Easter Monday
OMIT 1 May MSG Labour Day
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Labour Day (observed)
OMIT [easterdate($Uy)+39] MSG Ascension Day
OMIT 5 August MSG Independence Day
REM 6 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 5)) == 0] MSG Independence Day (observed)
OMIT 15 August MSG Assumption Day
REM 16 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 15)) == 0] MSG Assumption Day (observed)
OMIT 31 October MSG Martyrs' Day
OMIT 1 November MSG All Saints' Day
REM 1 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 31)) == 0] MSG Martyrs' Day (observed)
REM 2 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 1)) == 0] MSG All Saints' Day (observed)
OMIT 11 December MSG Proclamation of Independence Day
REM 12 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 11)) == 0] MSG Proclamation of Independence Day (observed)
OMIT 25 December MSG Christmas Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
OMIT 1 January MSG %"New Year's Day%" %! %b.
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
OMIT 3 January MSG %"Revolution Day%" %! %b.
REM 4 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Revolution Day (observed)%" %! %b.
OMIT 8 March MSG %"International Women's Day%" %! %b.
REM 9 March ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"International Women's Day (observed)%" %! %b.
OMIT [easterdate($Uy)+1] MSG %"Easter Monday%" %! %b.
OMIT 1 May MSG %"Labour Day%" %! %b.
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Labour Day (observed)%" %! %b.
OMIT [easterdate($Uy)+39] MSG %"Ascension Day%" %! %b.
OMIT 5 August MSG %"Independence Day%" %! %b.
REM 6 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Independence Day (observed)%" %! %b.
OMIT 15 August MSG %"Assumption Day%" %! %b.
REM 16 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Assumption Day (observed)%" %! %b.
OMIT 31 October MSG %"Martyrs' Day%" %! %b.
OMIT 1 November MSG %"All Saints' Day%" %! %b.
REM 1 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Martyrs' Day (observed)%" %! %b.
REM 2 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"All Saints' Day (observed)%" %! %b.
OMIT 11 December MSG %"Proclamation of Independence Day%" %! %b.
REM 12 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Proclamation of Independence Day (observed)%" %! %b.
OMIT 25 December MSG %"Christmas Day%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Christmas Day (observed)%" %! %b.

View File

@@ -5,30 +5,30 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Нова година
REM 1 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1))==0 || wkdaynum(date($Ty, 1, 1))==6] MSG Нова година (почивен ден)
OMIT 3 March MSG Ден на Освобождението на България от османско иго
REM 3 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 3, 3))==0 || wkdaynum(date($Ty, 3, 3))==6] MSG Ден на Освобождението на България от османско иго (почивен ден)
OMIT [orthodoxeaster($Uy)-2] MSG Велики петък
OMIT [orthodoxeaster($Uy)-1] MSG Велика събота
OMIT [orthodoxeaster($Uy)] MSG Великден
OMIT [orthodoxeaster($Uy)+1] MSG Великден
OMIT 1 May MSG Ден на труда и на международната работническа солидарност
REM 1 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1))==0 || wkdaynum(date($Ty, 5, 1))==6] MSG Ден на труда и на международната работническа солидарност (почивен ден)
OMIT 6 May MSG Гергьовден, Ден на храбростта и Българската армия
REM 6 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 6))==0 || wkdaynum(date($Ty, 5, 6))==6] MSG Гергьовден, Ден на храбростта и Българската армия (почивен ден)
OMIT 24 May MSG Ден на светите братя Кирил и Методий, на българската азбука, просвета и култура и на славянската книжовност
REM 24 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 24))==0 || wkdaynum(date($Ty, 5, 24))==6] MSG Ден на светите братя Кирил и Методий, на българската азбука, просвета и култура и на славянската книжовност (почивен ден)
OMIT 6 September MSG Ден на Съединението
REM 6 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 9, 6))==0 || wkdaynum(date($Ty, 9, 6))==6] MSG Ден на Съединението (почивен ден)
OMIT 22 September MSG Ден на Независимостта на България
REM 22 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 9, 22))==0 || wkdaynum(date($Ty, 9, 22))==6] MSG Ден на Независимостта на България (почивен ден)
OMIT 24 December MSG Бъдни вечер
REM 24 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 24))==0 || wkdaynum(date($Ty, 12, 24))==6] MSG Бъдни вечер (почивен ден)
OMIT 25 December MSG Рождество Христово
REM 25 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25))==0 || wkdaynum(date($Ty, 12, 25))==6] MSG Рождество Христово (почивен ден)
OMIT 26 December MSG Рождество Христово
REM 26 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 26))==0 || wkdaynum(date($Ty, 12, 26))==6] MSG Рождество Христово (почивен ден)
OMIT 1 January MSG %"Нова година%" %! %b.
REM 1 January OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 1, 1)), 0, 6)] MSG %"Нова година (почивен ден)%" %! %b.
OMIT 3 March MSG %"Ден на Освобождението на България от османско иго%" %! %b.
REM 3 March OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 3, 3)), 0, 6)] MSG %"Ден на Освобождението на България от османско иго (почивен ден)%" %! %b.
OMIT [orthodoxeaster($Uy)-2] MSG %"Велики петък%" %! %b.
OMIT [orthodoxeaster($Uy)-1] MSG %"Велика събота%" %! %b.
OMIT [orthodoxeaster($Uy)] MSG %"Великден%" %! %b.
OMIT [orthodoxeaster($Uy)+1] MSG %"Великден%" %! %b.
OMIT 1 May MSG %"Ден на труда и на международната работническа солидарност%" %! %b.
REM 1 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 5, 1)), 0, 6)] MSG %"Ден на труда и на международната работническа солидарност (почивен ден)%" %! %b.
OMIT 6 May MSG %"Гергьовден, Ден на храбростта и Българската армия%" %! %b.
REM 6 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 5, 6)), 0, 6)] MSG %"Гергьовден, Ден на храбростта и Българската армия (почивен ден)%" %! %b.
OMIT 24 May MSG %"Ден на светите братя Кирил и Методий, на българската азбука, просвета и култура и на славянската книжовност%" %! %b.
REM 24 May OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 5, 24)), 0, 6)] MSG %"Ден на светите братя Кирил и Методий, на българската азбука, просвета и култура и на славянската книжовност (почивен ден)%" %! %b.
OMIT 6 September MSG %"Ден на Съединението%" %! %b.
REM 6 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 9, 6)), 0, 6)] MSG %"Ден на Съединението (почивен ден)%" %! %b.
OMIT 22 September MSG %"Ден на Независимостта на България%" %! %b.
REM 22 September OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 9, 22)), 0, 6)] MSG %"Ден на Независимостта на България (почивен ден)%" %! %b.
OMIT 24 December MSG %"Бъдни вечер%" %! %b.
REM 24 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 12, 24)), 0, 6)] MSG %"Бъдни вечер (почивен ден)%" %! %b.
OMIT 25 December MSG %"Рождество Христово%" %! %b.
REM 25 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 12, 25)), 0, 6)] MSG %"Рождество Христово (почивен ден)%" %! %b.
OMIT 26 December MSG %"Рождество Христово%" %! %b.
REM 26 December OMIT SAT SUN AFTER ADDOMIT SCANFROM -28 SATISFY [isany(wkdaynum(date($Ty, 12, 26)), 0, 6)] MSG %"Рождество Христово (почивен ден)%" %! %b.
# Optional holidays
REM 1 November MSG Ден на народните будители
REM 1 November MSG %"Ден на народните будители%" %! %b.

View File

@@ -5,7 +5,7 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG رأس السنة الميلادية
OMIT 1 May MSG عيد العمال
OMIT 16 December MSG اليوم الوطني
OMIT 17 December MSG اليوم الوطني
OMIT 1 January MSG %"رأس السنة الميلادية%" %! %b.
OMIT 1 May MSG %"عيد العمال%" %! %b.
OMIT 16 December MSG %"اليوم الوطني%" %! %b.
OMIT 17 December MSG %"اليوم الوطني%" %! %b.

View File

@@ -5,26 +5,26 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG New Year's Day
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG New Year's Day (observed)
OMIT 5 February MSG Unity Day
REM 6 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 5)) == 0] MSG Unity Day (observed)
OMIT 6 April MSG President Ntaryamira Day
REM 7 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 4, 6)) == 0] MSG President Ntaryamira Day (observed)
OMIT 1 May MSG Labour Day
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Labour Day (observed)
OMIT [easterdate($Uy)+39] MSG Ascension Day
OMIT 8 June MSG President Nkurunziza Day
REM 9 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 8)) == 0] MSG President Nkurunziza Day (observed)
OMIT 1 July MSG Independence Day
REM 2 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 1)) == 0] MSG Independence Day (observed)
OMIT 15 August MSG Assumption Day
REM 16 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 15)) == 0] MSG Assumption Day (observed)
OMIT 13 October MSG Prince Louis Rwagasore Day
REM 14 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 13)) == 0] MSG Prince Louis Rwagasore Day (observed)
OMIT 21 October MSG President Ndadaye's Day
REM 22 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 10, 21)) == 0] MSG President Ndadaye's Day (observed)
OMIT 1 November MSG All Saints' Day
REM 2 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 11, 1)) == 0] MSG All Saints' Day (observed)
OMIT 25 December MSG Christmas Day
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Christmas Day (observed)
OMIT 1 January MSG %"New Year's Day%" %! %b.
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
OMIT 5 February MSG %"Unity Day%" %! %b.
REM 6 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Unity Day (observed)%" %! %b.
OMIT 6 April MSG %"President Ntaryamira Day%" %! %b.
REM 7 April ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"President Ntaryamira Day (observed)%" %! %b.
OMIT 1 May MSG %"Labour Day%" %! %b.
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Labour Day (observed)%" %! %b.
OMIT [easterdate($Uy)+39] MSG %"Ascension Day%" %! %b.
OMIT 8 June MSG %"President Nkurunziza Day%" %! %b.
REM 9 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"President Nkurunziza Day (observed)%" %! %b.
OMIT 1 July MSG %"Independence Day%" %! %b.
REM 2 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Independence Day (observed)%" %! %b.
OMIT 15 August MSG %"Assumption Day%" %! %b.
REM 16 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Assumption Day (observed)%" %! %b.
OMIT 13 October MSG %"Prince Louis Rwagasore Day%" %! %b.
REM 14 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Prince Louis Rwagasore Day (observed)%" %! %b.
OMIT 21 October MSG %"President Ndadaye's Day%" %! %b.
REM 22 October ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"President Ndadaye's Day (observed)%" %! %b.
OMIT 1 November MSG %"All Saints' Day%" %! %b.
REM 2 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"All Saints' Day (observed)%" %! %b.
OMIT 25 December MSG %"Christmas Day%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Christmas Day (observed)%" %! %b.

View File

@@ -5,18 +5,18 @@
#
# See important caveats in the README file in this directory.
OMIT 1 January MSG Awal Tahun Masihi
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Awal Tahun Masihi (diperhatikan)
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 5] MSG Awal Tahun Masihi (diperhatikan)
OMIT 23 February MSG Hari Kebangsaan
REM 24 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 23)) == 0] MSG Hari Kebangsaan (diperhatikan)
REM 24 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 2, 23)) == 5] MSG Hari Kebangsaan (diperhatikan)
OMIT 31 May MSG Hari Angkatan Bersenjata Diraja Brunei
REM 1 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 31)) == 0] MSG Hari Angkatan Bersenjata Diraja Brunei (diperhatikan)
REM 1 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 31)) == 5] MSG Hari Angkatan Bersenjata Diraja Brunei (diperhatikan)
OMIT 15 July MSG Hari Keputeraan KDYMM Sultan Brunei
REM 16 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 15)) == 0] MSG Hari Keputeraan KDYMM Sultan Brunei (diperhatikan)
REM 16 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 7, 15)) == 5] MSG Hari Keputeraan KDYMM Sultan Brunei (diperhatikan)
OMIT 25 December MSG Hari Natal
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Hari Natal (diperhatikan)
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 5] MSG Hari Natal (diperhatikan)
OMIT 1 January MSG %"Awal Tahun Masihi%" %! %b.
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Awal Tahun Masihi (diperhatikan)%" %! %b.
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 5] MSG %"Awal Tahun Masihi (diperhatikan)%" %! %b.
OMIT 23 February MSG %"Hari Kebangsaan%" %! %b.
REM 24 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Hari Kebangsaan (diperhatikan)%" %! %b.
REM 24 February ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 5] MSG %"Hari Kebangsaan (diperhatikan)%" %! %b.
OMIT 31 May MSG %"Hari Angkatan Bersenjata Diraja Brunei%" %! %b.
REM 1 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Hari Angkatan Bersenjata Diraja Brunei (diperhatikan)%" %! %b.
REM 1 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 5] MSG %"Hari Angkatan Bersenjata Diraja Brunei (diperhatikan)%" %! %b.
OMIT 15 July MSG %"Hari Keputeraan KDYMM Sultan Brunei%" %! %b.
REM 16 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Hari Keputeraan KDYMM Sultan Brunei (diperhatikan)%" %! %b.
REM 16 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 5] MSG %"Hari Keputeraan KDYMM Sultan Brunei (diperhatikan)%" %! %b.
OMIT 25 December MSG %"Hari Natal%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Hari Natal (diperhatikan)%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 5] MSG %"Hari Natal (diperhatikan)%" %! %b.

View File

@@ -12,21 +12,21 @@
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/bo/
OMIT 1 January MSG Año Nuevo
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 1)) == 0] MSG Año Nuevo (observado)
OMIT 22 January MSG Día de la Creación del Estado Plurinacional de Bolivia
REM 23 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 1, 22)) == 0] MSG Día de la Creación del Estado Plurinacional de Bolivia (observado)
OMIT [easterdate($Uy)-48] MSG Carnaval
OMIT [easterdate($Uy)-47] MSG Carnaval
OMIT [easterdate($Uy)-2] MSG Viernes Santo
OMIT 1 May MSG Día del Trabajo
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 5, 1)) == 0] MSG Día del Trabajo (observado)
OMIT [easterdate($Uy)+60] MSG Corpus Christi
OMIT 21 June MSG Año Nuevo Aymara Amazónico
REM 22 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 6, 21)) == 0] MSG Año Nuevo Aymara Amazónico (observado)
OMIT 6 August MSG Día de la Independencia de Bolivia
REM 7 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 8, 6)) == 0] MSG Día de la Independencia de Bolivia (observado)
OMIT 17 October MSG Día de la Dignidad Nacional
OMIT 2 November MSG Día de Todos los Difuntos
OMIT 25 December MSG Navidad
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum(date($Ty, 12, 25)) == 0] MSG Navidad (observado)
OMIT 1 January MSG %"Año Nuevo%" %! %b.
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Año Nuevo (observado)%" %! %b.
OMIT 22 January MSG %"Día de la Creación del Estado Plurinacional de Bolivia%" %! %b.
REM 23 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Día de la Creación del Estado Plurinacional de Bolivia (observado)%" %! %b.
OMIT [easterdate($Uy)-48] MSG %"Carnaval%" %! %b.
OMIT [easterdate($Uy)-47] MSG %"Carnaval%" %! %b.
OMIT [easterdate($Uy)-2] MSG %"Viernes Santo%" %! %b.
OMIT 1 May MSG %"Día del Trabajo%" %! %b.
REM 2 May ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Día del Trabajo (observado)%" %! %b.
OMIT [easterdate($Uy)+60] MSG %"Corpus Christi%" %! %b.
OMIT 21 June MSG %"Año Nuevo Aymara Amazónico%" %! %b.
REM 22 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Año Nuevo Aymara Amazónico (observado)%" %! %b.
OMIT 6 August MSG %"Día de la Independencia de Bolivia%" %! %b.
REM 7 August ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Día de la Independencia de Bolivia (observado)%" %! %b.
OMIT 17 October MSG %"Día de la Dignidad Nacional%" %! %b.
OMIT 2 November MSG %"Día de Todos los Difuntos%" %! %b.
OMIT 25 December MSG %"Navidad%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Navidad (observado)%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 18 November MSG Día del departamento de Beni
OMIT 18 November MSG %"Día del departamento de Beni%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 14 September MSG Día del departamento de Cochabamba
OMIT 14 September MSG %"Día del departamento de Cochabamba%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 25 May MSG Día del departamento de Chuquisaca
OMIT 25 May MSG %"Día del departamento de Chuquisaca%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 16 July MSG Día del departamento de La Paz
OMIT 16 July MSG %"Día del departamento de La Paz%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 11 October MSG Día del departamento de Pando
OMIT 11 October MSG %"Día del departamento de Pando%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT [easterdate($Uy)-51] MSG Carnaval de Oruro
OMIT [easterdate($Uy)-51] MSG %"Carnaval de Oruro%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 10 November MSG Día del departamento de Potosí
OMIT 10 November MSG %"Día del departamento de Potosí%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 24 September MSG Día del departamento de Santa Cruz
OMIT 24 September MSG %"Día del departamento de Santa Cruz%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/bo.rem
# also SYSINCLUDE holidays/bo.rem
OMIT 15 April MSG La Tablada
OMIT 15 April MSG %"La Tablada%" %! %b.

View File

@@ -12,22 +12,22 @@
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/br/
OMIT 1 January MSG Confraternização Universal
OMIT [easterdate($Uy)-2] MSG Sexta-feira Santa
OMIT 21 April MSG Tiradentes
OMIT 1 May MSG Dia do Trabalhador
OMIT 7 September MSG Independência do Brasil
OMIT 12 October MSG Nossa Senhora Aparecida
OMIT 2 November MSG Finados
OMIT 15 November MSG Proclamação da República
OMIT 20 November MSG Dia Nacional de Zumbi e da Consciência Negra
OMIT 25 December MSG Natal
OMIT 1 January MSG %"Confraternização Universal%" %! %b.
OMIT [easterdate($Uy)-2] MSG %"Sexta-feira Santa%" %! %b.
OMIT 21 April MSG %"Tiradentes%" %! %b.
OMIT 1 May MSG %"Dia do Trabalhador%" %! %b.
OMIT 7 September MSG %"Independência do Brasil%" %! %b.
OMIT 12 October MSG %"Nossa Senhora Aparecida%" %! %b.
OMIT 2 November MSG %"Finados%" %! %b.
OMIT 15 November MSG %"Proclamação da República%" %! %b.
OMIT 20 November MSG %"Dia Nacional de Zumbi e da Consciência Negra%" %! %b.
OMIT 25 December MSG %"Natal%" %! %b.
# Optional holidays
REM [easterdate($Uy)-48] MSG Carnaval
REM [easterdate($Uy)-47] MSG Carnaval
REM [easterdate($Uy)-46] MSG Início da Quaresma
REM [easterdate($Uy)+60] MSG Corpus Christi
REM 28 October MSG Dia do Servidor Público
REM 24 December MSG Véspera de Natal
REM 31 December MSG Véspera de Ano-Novo
REM [easterdate($Uy)-48] MSG %"Carnaval%" %! %b.
REM [easterdate($Uy)-47] MSG %"Carnaval%" %! %b.
REM [easterdate($Uy)-46] MSG %"Início da Quaresma%" %! %b.
REM [easterdate($Uy)+60] MSG %"Corpus Christi%" %! %b.
REM 28 October MSG %"Dia do Servidor Público%" %! %b.
REM 24 December MSG %"Véspera de Natal%" %! %b.
REM 31 December MSG %"Véspera de Ano-Novo%" %! %b.

View File

@@ -8,14 +8,14 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/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
REM 8 March ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG Dia Internacional da Mulher
REM Friday 8 March ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 3, 8)) >= 2 && wkdaynum(date($Ty, 3, 8)) <= 4] MSG Dia Internacional da Mulher
OMIT 15 June MSG Aniversário do Acre
REM 23 September ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG Dia da Amazônia
REM Friday 23 September ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 9, 23)) >= 2 && wkdaynum(date($Ty, 9, 23)) <= 4] MSG Dia da Amazônia
REM 17 November ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG Assinatura do Tratado de Petrópolis
REM Friday 17 November ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 11, 17)) >= 2 && wkdaynum(date($Ty, 11, 17)) <= 4] MSG Assinatura do Tratado de Petrópolis
REM 23 January ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG %"Dia do Evangélico%" %! %b.
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%" %! %b.
REM 8 March ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG %"Dia Internacional da Mulher%" %! %b.
REM Friday 8 March ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 3, 8)) >= 2 && wkdaynum(date($Ty, 3, 8)) <= 4] MSG %"Dia Internacional da Mulher%" %! %b.
OMIT 15 June MSG %"Aniversário do Acre%" %! %b.
REM 23 September ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG %"Dia da Amazônia%" %! %b.
REM Friday 23 September ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 9, 23)) >= 2 && wkdaynum(date($Ty, 9, 23)) <= 4] MSG %"Dia da Amazônia%" %! %b.
REM 17 November ADDOMIT SCANFROM -28 SATISFY [$Tw < 2 || $Tw > 4] MSG %"Assinatura do Tratado de Petrópolis%" %! %b.
REM Friday 17 November ADDOMIT SCANFROM -23 SATISFY [wkdaynum(date($Ty, 11, 17)) >= 2 && wkdaynum(date($Ty, 11, 17)) <= 4] MSG %"Assinatura do Tratado de Petrópolis%" %! %b.

View File

@@ -8,9 +8,9 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 24 June MSG São João
OMIT 29 June MSG São Pedro
OMIT 16 September MSG Emancipação Política de Alagoas
OMIT 30 November MSG Dia do Evangélico
OMIT 24 June MSG %"São João%" %! %b.
OMIT 29 June MSG %"São Pedro%" %! %b.
OMIT 16 September MSG %"Emancipação Política de Alagoas%" %! %b.
OMIT 30 November MSG %"Dia do Evangélico%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 5 September MSG Elevação do Amazonas à categoria de província
OMIT 5 September MSG %"Elevação do Amazonas à categoria de província%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 19 March MSG São José
OMIT 25 July MSG São Tiago
OMIT 13 September MSG Criação do Território Federal
OMIT 19 March MSG %"São José%" %! %b.
OMIT 25 July MSG %"São Tiago%" %! %b.
OMIT 13 September MSG %"Criação do Território Federal%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 2 July MSG Independência da Bahia
OMIT 2 July MSG %"Independência da Bahia%" %! %b.

View File

@@ -8,8 +8,8 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/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á
OMIT 15 August MSG Nossa Senhora da Assunção
OMIT 19 March MSG %"São José%" %! %b.
OMIT 25 March MSG %"Abolição da escravidão no Ceará%" %! %b.
OMIT 15 August MSG %"Nossa Senhora da Assunção%" %! %b.

View File

@@ -8,7 +8,7 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 21 April MSG Fundação de Brasília
OMIT 30 November MSG Dia do Evangélico
OMIT 21 April MSG %"Fundação de Brasília%" %! %b.
OMIT 30 November MSG %"Dia do Evangélico%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT [easterdate($Uy)+8] MSG Nossa Senhora da Penha
OMIT [easterdate($Uy)+8] MSG %"Nossa Senhora da Penha%" %! %b.

View File

@@ -8,7 +8,7 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/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
OMIT 26 July MSG %"Fundação da cidade de Goiás%" %! %b.
OMIT 24 October MSG %"Pedra fundamental de Goiânia%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 28 July MSG Adesão do Maranhão à independência do Brasil
OMIT 28 July MSG %"Adesão do Maranhão à independência do Brasil%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 21 April MSG Execução de Tiradentes
OMIT 21 April MSG %"Execução de Tiradentes%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 11 October MSG Criação do Estado
OMIT 11 October MSG %"Criação do Estado%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 15 August MSG Adesão do Grão-Pará à independência do Brasil
OMIT 15 August MSG %"Adesão do Grão-Pará à independência do Brasil%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 5 August MSG Fundação do Estado
OMIT 5 August MSG %"Fundação do Estado%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
REM First Sunday in March ADDOMIT SCANFROM -28 MSG Revolução Pernambucana
REM First Sunday in March ADDOMIT SCANFROM -28 MSG %"Revolução Pernambucana%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 19 October MSG Dia do Piauí
OMIT 19 October MSG %"Dia do Piauí%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 19 December MSG Emancipação do Paraná
OMIT 19 December MSG %"Emancipação do Paraná%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 23 April MSG São Jorge
OMIT 23 April MSG %"São Jorge%" %! %b.

View File

@@ -8,7 +8,7 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/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
OMIT 7 August MSG %"Dia do Rio Grande do Norte%" %! %b.
OMIT 3 October MSG %"Mártires de Cunhaú e Uruaçuu%" %! %b.

View File

@@ -8,7 +8,7 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 4 January MSG Criação do Estado
OMIT 18 June MSG Dia do Evangélico
OMIT 4 January MSG %"Criação do Estado%" %! %b.
OMIT 18 June MSG %"Dia do Evangélico%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 5 October MSG Criação do Estado
OMIT 5 October MSG %"Criação do Estado%" %! %b.

View File

@@ -8,6 +8,6 @@
# See important caveats in the file ../README
#
# If you want the national holidays as well, you must
# also include [$SysInclude]/holidays/br.rem
# also SYSINCLUDE holidays/br.rem
OMIT 20 September MSG Dia do Gaúcho
OMIT 20 September MSG %"Dia do Gaúcho%" %! %b.

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