Commit Graph

1362 Commits

Author SHA1 Message Date
Dianne Skoll 3083142753 Don't set up an inotify descriptor in non-daemon mode. 2025-09-30 16:41:16 -04:00
Dianne Skoll 26ec92675c Give more specific ADDOMIT advice. 2025-09-29 14:22:10 -04:00
Dianne Skoll 01461929d7 Fix line-counting logic that made entirely-empty weeks one row too short. 2025-09-29 09:48:15 -04:00
Dianne Skoll b3a2c0e7c7 Don't add a spurious blank line if there are no entries at all for a given calendar row. 2025-09-28 22:52:44 -04:00
Dianne Skoll 9f139b0d02 More readable code. 2025-09-27 10:03:59 -04:00
Dianne Skoll 5610590fa8 Be pickier about $WarningLevel. Make sure it matches the Perl regex: ^\d\d\.\d\d\.\d\d$ 2025-09-27 09:38:00 -04:00
Dianne Skoll 5092d5bc16 More warning_level annotations. 2025-09-25 18:08:29 -04:00
Dianne Skoll 2f86920842 Add $WarningLevel special variable. 2025-09-25 17:55:16 -04:00
Dianne Skoll 604e1b049c Add a warning to use SCANFROM with a moveable ADDOMIT. 2025-09-24 13:02:12 -04:00
Dianne Skoll af69f8779d Don't loop forever if a reminder moves backwards because of a time zone difference.
If we are not making progress, it's because the reminder has expired.
2025-09-19 13:33:23 -04:00
Dianne Skoll 131e77fa18 Use "unsigned long" to track expresison node evaluations. 2025-09-13 11:38:55 -04:00
Dianne Skoll f153acf7ce Default max-expr-complexity to 10,000,000 2025-09-12 12:56:14 -04:00
Dianne Skoll dc6a229f5f Add some const qualifiers, as recommended by cppcheck. 2025-09-12 11:15:10 -04:00
Dianne Skoll 5a3840759a Make PrintValue truncate long strings on a multibyte-character boundary instead of potentially splitting a UTF-8 sequence. 2025-09-12 11:12:19 -04:00
Dianne Skoll 2f70b37d4c Be stricter about parsing hex constants. 2025-09-11 17:22:24 -04:00
Dianne Skoll d15c8f106b Support hexadecimal integer constants in expressions; add hex() function. 2025-09-11 17:02:22 -04:00
Dianne Skoll 9d999a0074 Support hexacdecimal integer constants in expressions. 2025-09-11 16:50:13 -04:00
Dianne Skoll 097dda1750 Make asc() always return a number between 0 and 255. 2025-09-11 16:42:32 -04:00
Dianne Skoll 565bca4380 Add statistic for max expr node evaluations per line. 2025-09-11 12:04:32 -04:00
Dianne Skoll adb38fe82e Fix off-by-one error. 2025-09-11 11:25:20 -04:00
Dianne Skoll 804cf14a78 Implement --max-expr-complexity 2025-09-11 11:11:11 -04:00
Dianne Skoll d9bf902153 Put #ifdef guards around wide char code. 2025-09-10 17:56:32 -04:00
Dianne Skoll 53a12de2f9 Fix typo 2025-09-10 17:54:26 -04:00
Dianne Skoll fe2b34da68 Avoid memory leak. 2025-09-10 17:54:06 -04:00
Dianne Skoll 55975154b1 Add codepoint() and mbchar() functions. 2025-09-10 17:33:57 -04:00
Dianne Skoll b00cf9c5b7 Remove some unnecessary assignments. 2025-09-10 13:48:18 -04:00
Dianne Skoll 375576fcc5 Add better support for multi-byte character set.
The functions mbindex, mbstrlen and mbsubstr are just like
index, strlen and substr, but they use and return 1-based
character indexes rather than 1-based byte indexes.
2025-09-10 13:25:27 -04:00
Dianne Skoll 21e0940257 Add distro-beta target. 2025-09-06 12:02:20 -04:00
Dianne Skoll 2835176ad3 Make "make test" run all tests by default. Add individual test-basic and test-tz makefile targets. 2025-09-05 17:46:25 -04:00
Dianne Skoll ef7021972e Add trigimetz and trigeventstarttz functions. 2025-09-04 15:36:27 -04:00
Dianne Skoll 47a4456c20 Explicitly initialize LastTrigger.tz to NULL. 2025-09-04 14:26:35 -04:00
Dianne Skoll e9ee7492f7 Check for setuid/setgid early. 2025-09-04 14:25:09 -04:00
Dianne Skoll 4237dc4a3f Allow empty string to be used in tzconvert to designate system default time zone. 2025-09-04 10:09:46 -04:00
Dianne Skoll faf8947dda Properly cache stdin in interactive mode. 2025-09-04 00:15:21 -04:00
Dianne Skoll 41a3db3a37 Fix abort. 2025-09-03 23:14:58 -04:00
Dianne Skoll f12bcf3fe6 Restructure test targets. 2025-09-03 22:36:46 -04:00
Dianne Skoll 9ec1006804 Make an empty TZ (ie, TZ "") the same as no TZ. 2025-09-03 19:10:26 -04:00
Dianne Skoll dfabda7dee add trigtz() function 2025-09-03 14:19:31 -04:00
Dianne Skoll da146d7989 Always output time_in_tz in JSON when needed. 2025-09-03 14:08:56 -04:00
Dianne Skoll 703907c94d Update JSON output. 2025-09-03 13:57:25 -04:00
Dianne Skoll bcfee04cae Handle another time zone edge case. 2025-09-03 13:21:16 -04:00
Dianne Skoll 5f9e71f9eb More timezone fixification. 2025-09-03 13:05:54 -04:00
Dianne Skoll 272336226e Add timezone support to evaltrig. 2025-09-03 12:42:59 -04:00
Dianne Skoll 32f4b125b5 Seemingly (?) working time zone support!! 2025-09-03 12:35:51 -04:00
Dianne Skoll 7979a69cb9 First semi-sorta-working time zone adjustment. 2025-09-03 12:22:09 -04:00
Dianne Skoll 651368fedc More work on timezone support. 2025-09-03 11:35:21 -04:00
Dianne Skoll fe002557cf New approach to handling time zone specs in REM command. 2025-09-03 11:02:01 -04:00
Dianne Skoll d2785d909c Remember DSEToday and SysTime in Local* variables so we can switch timezones. 2025-09-03 10:36:30 -04:00
Dianne Skoll 5d46df871f Clamp trigger() to "1 January 1990 AT 00:00" if UTC flag is used. 2025-08-28 13:30:21 -04:00
Dianne Skoll c5d661124c Never return a year < 1990 from trigger() 2025-08-28 12:53:28 -04:00