Compare commits

..

360 Commits

Author SHA1 Message Date
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
496 changed files with 12265 additions and 5262 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 .

View File

@@ -42,9 +42,13 @@ install-stripped:
test:
@$(MAKE) -C src -s test
cppcheck:
@$(MAKE) -C src cppcheck
distclean: clean
-rm -f config.cache config.log config.status src/Makefile src/config.h tests/test.out www/Makefile rem2pdf/Makefile.top rem2pdf/Makefile.old rem2pdf/Makefile rem2pdf/Makefile.PL rem2pdf/bin/rem2pdf rem2html/rem2html
-rm -f config.cache config.log config.status src/Makefile src/version.h src/config.h tests/test.out www/Makefile rem2pdf/Makefile.top rem2pdf/Makefile.old rem2pdf/Makefile rem2pdf/Makefile.PL rem2pdf/bin/rem2pdf rem2html/rem2html
-rm -f man/rem.1 man/rem2ps.1 man/remind.1 man/tkremind.1 scripts/tkremind
-rm -rf autom4te.cache rem2html/Makefile rem2html/rem2html.1
src/Makefile: src/Makefile.in
./configure

View File

@@ -6,10 +6,14 @@ the GNU General Public License, Vesion 2.
## Prerequisites:
remind and rem2ps have no prerequisites beyond the standard C library and
the standard math library.
### Remind and Rem2PS
rem2html requires the JSON::MaybeXS Perl module and rem2pdf
**remind** and **rem2ps** have no prerequisites beyond the standard C
library and the standard math library.
### 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:
@@ -24,7 +28,9 @@ requires the JSON::MaybeXS, Pango and Cairo Perl modules.
- On Arch linux, you need `pango-perl`, `cairo-perl` and `perl-json-maybexs`
TkRemind requires Tcl/Tk and the tcllib library.
### TkRemind
**tkremind** requires Tcl/Tk and the tcllib library.
- On Debian-like systems, install with:
@@ -37,7 +43,7 @@ TkRemind requires Tcl/Tk and the tcllib library.
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.
all of your distribution's Noto Font-related packages.
- On Debian-like systems, install with:
@@ -45,7 +51,8 @@ all of your distribution's Nonto Font-related packages.
## Installation
Remind can be installed with the usual:
Assuming you have a normal C development environment installed, Remind
can be installed with the usual:
`./configure && make && make test && sudo make install`
@@ -55,6 +62,39 @@ 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

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.03.01, , , https://dianne.skoll.ca/projects/remind/)
AC_INIT(remind, 06.00.01, , , 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,15 +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" "INFO" "LAST"
"LASTDAY" "LASTWORKDAY" "MAYBE" "MAYBE-UNCOMPUTABLE" "MSF" "MSG"
"NOQUEUE" "OMIT" "OMITFUNC" "ONCE" "POP" "POP-OMIT-CONTEXT" "PRESERVE"
"PRIORITY" "PS" "PSFILE" "PUSH" "PUSH-OMIT-CONTEXT" "REM" "RUN"
"SATISFY" "SCAN" "SCANFROM" "SCHED" "SECOND" "SET" "SKIP" "SPECIAL"
"SYSINCLUDE" "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" "UNSET" "UNTIL" "WARN")
#'(lambda (a b) (> (length a) (length b)))))
@@ -135,8 +137,8 @@
"$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"
@@ -145,8 +147,8 @@
"$NumTrig" "$October" "$On" "$OnceFile" "$ParseUntriggered" "$Pm"
"$PrefixLineNo" "$PSCal" "$RunOff" "$Saturday" "$September"
"$SimpleCal" "$SortByDate" "$SortByPrio" "$SortByTime" "$SubsIndent"
"$Sunday" "$SuppressImplicitWarnings" "$SuppressLRM" "$SysInclude" "$T" "$Td"
"$TerminalBackground" "$Thursday" "$TimeSep" "$Tm" "$Today"
"$Sunday" "$SuppressImplicitWarnings" "$SuppressLRM" "$SysInclude" "$T" "$Tb" "$Td"
"$TerminalBackground" "$Thursday" "$TimeSep" "$TimetIs64bit" "$Tm" "$Today" "$TodoFilter"
"$Tomorrow" "$Tt" "$Tuesday" "$Tw" "$Ty" "$U" "$Ud" "$Um"
"$UntimedFirst" "$Use256Colors" "$UseBGVTColors" "$UseTrueColors"
"$UseVTColors" "$Uw" "$Uy" "$Was" "$Wednesday")
@@ -164,23 +166,25 @@
(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" "coerce" "columns" "const" "current" "date"
"datepart" "datetime" "dawn" "day" "daysinmon" "defined" "dosubst"
"dusk" "easterdate" "escape" "evaltrig" "filedate" "filedatetime" "filedir"
"filename" "getenv" "hebdate" "hebday" "hebmon" "hebyear" "hour"
"htmlescape" "htmlstriptags" "iif" "index" "isany" "isdst" "isleap"
"isomitted" "language" "localtoutc" "lower" "max" "min" "minsfromutc"
"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" "triginfo" "trigpriority" "trigrep"
"dusk" "easterdate" "escape" "eval" "evaltrig" "filedate" "filedatetime"
"filedir" "filename" "getenv" "hebdate" "hebday" "hebmon" "hebyear"
"hour" "htmlescape" "htmlstriptags" "iif" "index" "isany" "isconst" "isdst"
"isleap" "isomitted" "language" "localtoutc" "lower" "max" "min"
"minsfromutc" "minute" "mon" "monnum" "moondate" "moondatetime"
"moonphase" "moonrise" "moonrisedir" "moonset" "moonsetdir" "moontime"
"multitrig" "ndawn" "ndusk" "nonconst" "nonomitted" "now" "ord" "orthodoxeaster"
"ostype" "pad" "plural" "psmoon" "psshade" "realcurrent" "realnow"
"realtoday" "rows" "sgn" "shell" "shellescape" "slide" "soleq"
"stdout" "strlen" "substr" "sunrise" "sunset" "time" "timepart"
"timezone" "today" "trig" "trigback" "trigbase" "trigcompletethrough" "trigdate" "trigdatetime"
"trigdelta" "trigduration" "trigeventduration" "trigeventstart"
"trigfrom" "trigger" "triginfo" "trigistodo" "trigmaxoverdue" "trigpriority" "trigrep"
"trigscanfrom" "trigtags" "trigtime" "trigtimedelta" "trigtimerep"
"triguntil" "trigvalid" "typeof" "tzconvert" "upper" "utctolocal"
"value" "version" "weekno" "wkday" "wkdaynum" "year")
"value" "version" "weekno" "wkday" "wkdaynum" "year"
)
#'(lambda (a b) (> (length a) (length b)))))
;;; faces

View File

@@ -1,5 +1,292 @@
CHANGES TO REMIND
* 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:"
@@ -1350,10 +1637,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.

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

@@ -6,8 +6,8 @@
# 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

@@ -38,10 +38,10 @@ 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
PUSH-FUNCS msgsuffix
# Save old value of $DefaultDelta
SET old_delta $DefaultDelta
PUSH-VARS $DefaultDelta
# We want 7 days' advance warning
SET $DefaultDelta 7
@@ -57,6 +57,9 @@ advance warning of holidays:
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
# Restore old version of msgsuffix
POP-FUNCS

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
REM Third Saturday in July ADDOMIT SCANFROM -28 MSG Canillo Annual Festival
REM Sunday 16 July ADDOMIT SCANFROM -28 MSG Canillo Annual Festival

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

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

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

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

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

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

View File

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

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/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays

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/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays

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/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays

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/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays

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/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays

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/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays

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/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays

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/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays

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/at.rem
# also SYSINCLUDE holidays/at.rem
# Optional holidays

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

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

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

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

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

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

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

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

View File

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

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

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

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

View File

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

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

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

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

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

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

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

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í

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

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

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

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 24 June MSG São João
OMIT 29 June MSG São Pedro

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

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 19 March MSG São José
OMIT 25 July MSG São Tiago

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

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 19 March MSG São José
OMIT 25 March MSG Abolição da escravidão no Ceará

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

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

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

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

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

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

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

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

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

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í

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á

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

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

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

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

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

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
REM Sunday 11 August ADDOMIT SCANFROM -28 MSG Dia do Estado de Santa Catarina
REM Sunday 25 November ADDOMIT SCANFROM -28 MSG Dia de Santa Catarina de Alexandria

View File

@@ -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 8 July MSG Emancipação política de Sergipe

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 9 July MSG Revolução Constitucionalista

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 18 March MSG Dia da Autonomia
OMIT 8 September MSG Nossa Senhora da Natividade

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM Third Monday in February ADDOMIT SCANFROM -28 MSG Family Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM Third Monday in February ADDOMIT SCANFROM -28 MSG Family Day
REM First Monday in August ADDOMIT SCANFROM -28 MSG British Columbia Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM Third Monday in February ADDOMIT SCANFROM -28 MSG Louis Riel Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM Third Monday in February ADDOMIT SCANFROM -28 MSG Family Day
REM First Monday in August ADDOMIT SCANFROM -28 MSG New Brunswick Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
OMIT 1 July MSG Memorial Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM Third Monday in February ADDOMIT SCANFROM -28 MSG Heritage Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
OMIT 21 June MSG National Aboriginal Day
REM First Monday in August ADDOMIT SCANFROM -28 MSG Civic Holiday

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM First Monday in August ADDOMIT SCANFROM -28 MSG Civic Holiday

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM Third Monday in February ADDOMIT SCANFROM -28 MSG Family Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM Third Monday in February ADDOMIT SCANFROM -28 MSG Islander Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM Monday 18 May ADDOMIT SCANFROM -28 MSG National Patriots' Day
OMIT 24 June MSG Saint Jean Baptiste Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
REM Third Monday in February ADDOMIT SCANFROM -28 MSG Family Day
REM First Monday in August ADDOMIT SCANFROM -28 MSG Saskatchewan Day

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/ca.rem
# also SYSINCLUDE holidays/ca.rem
OMIT 21 June MSG National Aboriginal Day
REM Third Monday in August ADDOMIT SCANFROM -28 MSG Discovery Day

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
OMIT 2 January MSG Berchtoldstag
OMIT [easterdate($Uy)-2] MSG Karfreitag

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
OMIT [easterdate($Uy)-2] MSG Karfreitag
OMIT [easterdate($Uy)+1] MSG Ostermontag

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
OMIT [easterdate($Uy)-2] MSG Karfreitag
OMIT [easterdate($Uy)+1] MSG Ostermontag

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
OMIT 2 January MSG Berchtoldstag
OMIT [easterdate($Uy)-2] MSG Karfreitag

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
OMIT [easterdate($Uy)-2] MSG Karfreitag
OMIT [easterdate($Uy)+1] MSG Ostermontag

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
OMIT [easterdate($Uy)-2] MSG Karfreitag
OMIT [easterdate($Uy)+1] MSG Ostermontag

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
OMIT [easterdate($Uy)-2] MSG Karfreitag

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
OMIT [easterdate($Uy)-2] MSG Karfreitag
OMIT [easterdate($Uy)+1] MSG Ostermontag

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
REM Thursday 1 April ADDOMIT SCANFROM -28 SATISFY [$T != easterdate($Ty)-3] MSG Näfelser Fahrt
REM Thursday 8 April ADDOMIT SCANFROM -28 SATISFY [$T == easterdate($Ty)+4] MSG Näfelser Fahrt

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/ch.rem
# also SYSINCLUDE holidays/ch.rem
OMIT [easterdate($Uy)+1] MSG Ostermontag
OMIT [easterdate($Uy)+50] MSG Pfingstmontag

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