"Fossies" - the Fresh Open Source Software Archive

Member "remind-03.03.09/docs/WHATSNEW" (15 Oct 2021, 59363 Bytes) of package /linux/misc/remind-03.03.09.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "WHATSNEW": 03.03.08_vs_03.03.09.

    1 CHANGES TO REMIND
    2 
    3 * VERSION 3.3 Patch 9 - 2021-10-14
    4 
    5 - NEW FEATURE: Add "-+username" option to tell Remind to trust files owned by
    6   "username" and allow RUN directives in them.  Idea courtesy of Ian! D. Allen
    7 
    8 - NEW FEATURE: Add "-u+username" variant to tell Remind to switch users to
    9   "username" without disabling RUN directices.  Idea courtesy of Ian! D. Allen
   10 
   11 - CHANGE: rem2html: rem2html has been moved out of the www/ directory into
   12   its own rem2html/ directory.  If your system has the prerequisites
   13   (namely Perl, Getopt::Long and JSON::Any) then rem2html will be installed
   14   by "make install".
   15 
   16 - CHANGE: Remove "cm2rem".  It was about 20 years obsolete.
   17 
   18 - CHANGE: rem2html: Use inline data: URL images for moon images by default,
   19   thus producing a completely stand-alone HTML file.
   20 
   21 - CHANGE: Remove unnecessary spaces from "remind -pp" JSON output.
   22 
   23 - DOCUMENTATION FIX: Various man page fixes and tweaks.
   24 
   25 - BUG FIX: rem2html: Tweak the default CSS stylesheet; more rational
   26   handling of rem2html command-line options.
   27 
   28 - BUG FIX: remind: "remind -c" would sometimes highlight *two* days as
   29   "today"; this has been fixed.
   30 
   31 - BUG FIX: Add a missing #ifdef...#endif and remove a C99-ism.  This once again
   32   allows Remind to be compiled with some very old C compilers.
   33 
   34 * VERSION 3.3 Patch 8 - 2021-09-13
   35 
   36 - NEW FEATURE: remind: Add INCLUDECMD command
   37 
   38 - NEW FEATURE: remind: Add shellescape() built-in function
   39 
   40 - BUG FIX: tkremind: TkRemind would sometimes fill in incorrect initial
   41   values for the reminder-editing form if you clicked on a TkRemind-created
   42   reminder to edit it.  This has been fixed.
   43 
   44 - BUG FIX: tkremind: Get back better error messages from Remind if you
   45   try to create a reminder with an invalid date specification.
   46 
   47 - BUG FIX: remind: Catch integer overflow if we try to evaluate $IntMin * -1
   48 
   49 - DOC UPDATES: remind: Minor man page fixes
   50 
   51 * VERSION 3.3 Patch 7 - 2021-05-10
   52 
   53 - MINOR FIX: Refuse to run "make test" as root --- it would fail
   54   anyway with an obscure message.
   55 
   56 - BUG FIX: Remind would sometimes compute incorrect trigger date for:
   57   REM Tue 29 Feb MSG ...
   58 
   59 - BUG FIX: Remind would sometimes compute incorrect trigger date for
   60   a date spec like: Tue 31 2021 MSG ...
   61 
   62 * VERSION 3.3 Patch 6 - 2021-03-30
   63 
   64 - test/test.rem: Change local to en_US.utf-8 only if current locale
   65   is not a UTF-8 locale.
   66 
   67 - MINOR CHANGE: Remind's arithemtic operators (+, -, *, /) give errors
   68   on overflow rather than silently giving the wrong answer.
   69 
   70 - MINOR CHANGE: Add $IntMin and $IntMax system variables.
   71 
   72 - DOCUMENTATION FIX: Document that TkRemind now requires Tcl/Tk version
   73   8.5 or newer.
   74 
   75 * VERSION 3.3 Patch 5 - 2021-01-21
   76 
   77 - NEW FEATURE: tkremind: Add ability to change fonts and colors from
   78   within TkRemind "Options" dialog.
   79 
   80 - CHANGE: tkremind: TkRemind now requires Tcl/Tk 8.5 or newer.
   81 
   82 - CHANGE: tkremind: You can specify the location of the options
   83   file on the command-line if you want to use one other than ~/.tkremindrc
   84 
   85 - CLEANUP: tkremind: Remove "Apply Options" from Options dialog; we only
   86   need "Save Options".
   87 
   88 - DOC FIX: Add missing release note in 3.3.4 notes regarding
   89   setpagedevice patch
   90 
   91 - DOC FIX: tkremind: Document shortcut keys.
   92 
   93 * VERSION 3.3 Patch 4 - 2021-01-12
   94 
   95 - NEW FEATURE: If "inotifywait" is installed, TkRemind uses it to refresh
   96   the calendar display right away when the reminders file/directory is updated.
   97   This makes TkRemind react almost instantly if external tools are editing
   98   or updating reminders.
   99 
  100 - MINOR NEW FEATURE: rem2ps has a new '-x' option; this puts the day numbers
  101   on the top-left of the day's box instead of the top-right.
  102 
  103 - MINOR FIXES: A typo in remind.1 was fixed; additional comments regarding
  104   UNTIL were added.
  105 
  106 - BUG FIX: rem2ps: Call setpagedevice to set page size.  Based on a patch
  107   from Jonathan Kamens.
  108 
  109 * VERSION 3.3 Patch 3 - 2020-11-09
  110 
  111 - BUG FIX: Fix startup crash in TkRemind if "Show Today's Reminders on
  112   Startup" is enabled (which, unfortunately, is the default.)  Bug reported
  113   by Martin Ziemer.
  114 
  115 * VERSION 3.3 Patch 2 - 2020-11-08
  116 
  117 - MINOR NEW FEATURE: Add MAYBE-UNCOMPUTABLE keyword; see the man page
  118   and discussion at
  119   https://dianne.skoll.ca/pipermail/remind-fans/2020/003745.html
  120 
  121 - CHANGE: TkRemind always invokes Remind with the "-itkremind=1" option,
  122   even when printing.  NOTE INCOMPATIBILITY: This is a behavior change!
  123   When you print from TkRemind, we also invoke Remind with "-itkprint=1"
  124   so you can detect that PostScript is being generated.
  125 
  126 - CHANGE: The maxmimum length of a variable name has been increased from
  127   16 characters to 64 characters.  Modern computers have plenty of memory.
  128 
  129 - BUG FIXES: Minor documentation updates, typo fixes, clarifications, etc.
  130 
  131 - BUG FIX: Fix calendar-drawing alignment errors when displaying UTF-8
  132   strings with zero-width combining characters and strings with tabs.
  133 
  134 - BUG FIX: TkRemind would mess up placement of the WEEK special if invoked
  135   with the "-m" option.  This has been fixed.
  136 
  137 - BUG FIX: TkRemind would sometimes fail with an error message when editing
  138   a reminder; this is because it was interpreting months 08 and 09 as
  139   illegal octal numbers.  This has been fixed.
  140 
  141 * VERSION 3.3 Patch 1 - 2020-03-20
  142 
  143 - CHANGE: For overlapping multi-day events, issue a reminder for the
  144   most *recent* event rather than the earliest event.  NOTE
  145   INCOMPATIBILITY: This is a behavior change!
  146 
  147 - CHANGE: Do not convert 90-99 to 1990-1999 when parsing numbers to
  148   recognize years.  NOTE INCOMPATIBILITY: This is a behavior change!
  149 
  150 - CHANGE: Revert change to -y option that included filename and line
  151   number in the hash.
  152 
  153 - CHANGE: Retain newlines (produced by %_) in JSON output.
  154 
  155 - FIX: Document $FormWidth system variable
  156 
  157 - FIX: Highlight today's date in "remind -c" output
  158 
  159 - FIX: Eliminate compiler warnings on Ubuntu 18.04.
  160 
  161 - IMPROVEMENT: Allow times to be specified either in 24-hour mode
  162   (HH:MM or HH.MM) or AM/PM mode (HH:MMam; HH:MMpm, etc.)
  163 
  164 - IMPROVEMENT: Allow DURATION to be specified as a time (1:30) or a
  165   number of minutes (90).
  166 
  167 - IMPROVEMENT: If terminal size can be determined, set $FormWidth to
  168   terminal width - 8; if not, set $FormWidth to 72.
  169 
  170 - MINOR IMPROVEMENT: Add the "ampm()" built-in function.
  171 
  172 * Version 3.3 Patch 0 - 2020-01-31
  173 
  174 - FIX: rem2ps: Add a %%PageBoundingBox: document structuring convention
  175   comment.
  176 
  177 - FIX: rem2ps: Ignore unknown SPECIAL-type reminders.
  178 
  179 - IMPROVEMENT: In calendar mode ("-c" option), Remind automatically adjusts
  180   the width of the calendar to fit the terminal window if standard output
  181   is a TTY.
  182 
  183 - IMPROVEMENT: Add JSON-based output with "remind -pp" and "remind -ppp"
  184   The JSON-based intermediate format preserves a lot more information
  185   about the original reminder, allowing back-ends more insight into
  186   the intent of the reminder, the recurrence used, etc.  See the documentation
  187   in "man rem2ps"
  188 
  189 - IMPROVEMENT: TkRemind can "reverse-engineer" reminders that it creates
  190   using the additional information in the "remind -pp" format, so it
  191   doesn't create or use ugly comment blocks to delimit the reminders
  192   it creates.
  193 
  194 - IMPROVEMENT: TkRemind: Add popup help to most buttons and controls.
  195 
  196 - NEW FEATURE: Add support for $DefaultColor system variable, suggested
  197   by Tim Chase.
  198 
  199 - NEW FEATURE: The "-@[n][,m]" command-line option allows colored reminders
  200   in Agenda Mode as well as in Calendar Mode.  It also adds support for
  201   terminal emulators that can handle the xterm 256-color escape sequences
  202   as well as the true 24-bit color escape sequences.
  203 
  204 - CHANGE: SPECIALs are now case-insensitive.  Before, only SPECIAL COLOR
  205   would work.  Now you can use Special Color, special color, etc.
  206 
  207 * Version 3.2 Patch 0 - 2020-01-03
  208 
  209 - IMPROVEMENT: Add support for events spanning multiple days (with AT
  210   and DURATION).  Add trigeventstart() and trigeventduration()
  211   introspection functions; see "MULTI-DAY EVENTS" in the man page.
  212 
  213 - IMPROVEMENT: Add introspection functions trigback(), trigdelta(),
  214   trigduration(), trigfrom(), trigpriority(), trigrep(),
  215   trigscanfrom(), trigtimedelta(), trigtimerep(), and triguntil().  See
  216   man page for details; thanks to Tim Chase for the suggestion.
  217 
  218 - IMPROVEMENT: TkRemind: Use PNG images for the next month / previous
  219   month buttons rather than -> and <-.  Also use nice anti-aliased
  220   moon phase images instead of ugly blocky bitmaps.
  221 
  222 - CHANGE: Modify addition so that previously-illegal combinations
  223   TIME + TIME, TIME + DATETIME and DATETIME + TIME are now allowed.
  224   Also allow DATETIME - TIME.  If t1 and t2 are expressions of type TIME
  225   and dt is an expression of type DATETIME, then the following are now
  226   equivalent (before, the expressions on the left-hand side would fail
  227   with a "Type mismatch" error.)
  228 
  229   t1 + t2     ==     t1                + coerce("INT", t2)
  230   dt + t2     ==     dt                + coerce("INT", t2)
  231   t1 + dt     ==     coerce("INT", t1) + dt
  232   dt - t2     ==     dt                - coerce("INT", t2)
  233 
  234 - DOC FIX: Document previously-undocumented $MaxStringLen system variable
  235 
  236 - DOC FIX: Various minor documentation fixes.
  237 
  238 - BUG FIX: Specifying a DURATION without an AT clause results in an error.
  239   Before, it would be accepted but not do anything useful.
  240 
  241 - BUG FIX: Catch potential date overflow in slide() function
  242 
  243 - BUG FIX: Fix compile error when compiling Romanian version; eliminate
  244   compiler warning when compiling non-English versions.
  245 
  246 - BUG FIX: TkRemind: Fix startup failure of TkRemind if options are at
  247   default. :(
  248 
  249 * Version 3.1 Patch 17 - 2019-11-15
  250 
  251 - IMPROVEMENT: Add "Extra Remind Options" setting to TkRemind.
  252 
  253 - IMPROVEMENT: Enable warning-free compilation even with gcc -Wextra flag.
  254 
  255 - IMPROVEMENT: Warn if "OMIT a THROUGH b" has a > b.
  256 
  257 - SYNTACTIC SUGAR: Make "SCANFROM -n" the same as "SCANFROM [today() - n]"
  258 
  259 - BUG FIX: Don't dump expired reminders when dumping queue.
  260 
  261 - BUG FIX: Fix failure when specifying a Jahrzeit in Adar.  Fix
  262   courtesy of Dov Feldstern
  263 
  264 - BUG FIX: Fix various documentation errors and update man page.
  265 
  266 * Version 3.1 Patch 16 - 2018-11-09
  267 
  268 - IMPROVEMENT: Add patch from Stephen Morgan to calculate astronomical and
  269   nautical twilight in addition to civil twilight.
  270 
  271 - BUG FIX: The rem2html script correctly handles a SHADE special with only
  272   one number (a grey level).
  273 
  274 - IMPROVEMENT: Remind accepts DATETIME constants in ISO-8601 format and can
  275   optionally be configured to output them that way too.
  276 
  277 - MINOR IMPROVEMENT: TkRemind puts its hostname in the window title bar.
  278 
  279 - MINOR IMPROVEMENT: TkRemind restarts the background remind daemon if
  280   the .reminders file changes
  281 
  282 - MINOR IMPROVEMENT: TkRemind has a "Queue" button that lets you see details
  283   of upcoming queued reminders.  This is mostly for debugging and the output
  284   is not particularly readable.
  285 
  286 - BUG FIX: The definitions form Yom Hazikaron and Yom Ha'atzmaut were not
  287   quite right; they have been fixed.
  288 
  289 - MINOR IMPROVEMENT: TkRemind centers popups over the main calendar
  290   window rather than over the desktop background.  This is better
  291   behavior in multi-monitor setups.
  292 
  293 - BUG FIX: In "remind -z0" mode, remind wakes up exactly on the minute instead
  294   of sleeping for 60 seconds each time, which could cause it to fall behind.
  295 
  296 * Version 3.1 Patch 15 - 2015-07-27
  297 
  298 - BUG FIX: Fix a buffer overflow found by Alexander Keller
  299 
  300 - BUG FIX: Fix a typo in this file: was 2014 instead of 2015.
  301 
  302 - BUG FIX: Make parser reject an AT followed by more than one time.
  303 
  304 - BUG FIX: Make parser reject epeated delta or *repeat values.
  305 
  306 * Version 3.1 Patch 14 - 2015-04-24
  307 
  308 - NEW FEATURE: Putting the line __EOF__ in a .rem file causes Remind
  309   to treat it as end-of-file.
  310 
  311 - IMPROVEMENT: Use better PNG images for moons in the HTML display
  312 
  313 - CHANGE: Author name updated from "David" to "Dianne"
  314 
  315 - BUG FIX: The "-n" command-line option should really run in "ADVANCE_MODE"
  316   rather than "CAL_MODE" internally; otherwise, the substitution sequences
  317   may be misinterpreted.
  318 
  319 - BUG FIX: A typo in clearing out MD5 sum context has been fixed.
  320 
  321 - BUG FIX: Typo in Spanish translation was fixed.
  322 
  323 * Version 3.1 Patch 13 - 2013-03-22
  324 
  325 - BUG FIX: Sunrise/Sunset calculations greatly improved thanks to John
  326   McGowan.  Accuracy should now be within a couple of minutes in most
  327   places.
  328 
  329 - BUG FIX: Allow specification of margins as low as 0 points in rem2ps,
  330   courtesy of Jonathan Kamens.
  331 
  332 - BUG FIX: Permit compilation with gcc 2.95 (which doesn't allow variable
  333   declarations after non-declaration statements in a block.)
  334 
  335 - BUG FIX: Several minor documentation errors corrected courtesy of
  336   Simon Ruderich.
  337 
  338 - BUG FIX: Spurious test harness failure was fixed.
  339 
  340 * Version 3.1 Patch 12 - 2012-01-23
  341 
  342 - NEW FEATURE: Many substitution sequences "%x" have an alternate mode
  343   denoted by "%*x".  This alternate mode leaves out prepositions.  For
  344   example, in English "%i" might yield "on 01-25" while "%*i" yields only
  345   "01-25".
  346 
  347 - BUG FIX: The "dusk" and "dawn" calculations were completely wrong.  They
  348   have been fixed.  Also, sunrise/sunset calculations have been tweaked,
  349   so the results may be off by a minute or two compared to previous versions
  350   of Remind.
  351 
  352 * Version 3.1 Patch 11 - 2011-12-16
  353 
  354 - BUG FIX: For some inexplicable reason, dawn was considered to happen when
  355   the sun was 14 degrees below the horizon instead of the standard 6
  356   degrees for Civil Dawn.  This has been fixed.
  357 
  358 - BUG FIXES: Clarified the man pages and fixed some typos.
  359 
  360 - BUG FIX: Add THROUGH to the remind.vim syntax highlighting file.
  361 
  362 - ENHANCEMENT (?): Allow SPECIAL COLOR to be spelled SPECIAL COLOUR.
  363 
  364 - BUG FIX: Apply minor Debian cleanups reported by Kurt B. Kaiser.
  365 
  366 * Version 3.1 Patch 10 - 2010-11-01
  367 
  368 - NOTE: This is the 20th anniversary of Remind's first public release.
  369 
  370 - ENHANCEMENT: Add the THROUGH keyword.  You can omit blocks of dates with:
  371 
  372   OMIT start THROUGH end
  373 
  374   and the syntax REM start THROUGH end is equivalent to REM start *1 UNTIL end
  375 
  376 - ENHANCEMENT: Add support for multibyte characters (eg, UTF-8) in calendar
  377   output.  Note that UTF-8 strings are still not supported in PostScript
  378   output.
  379 
  380 - ENHANCEMENT: Add support for UTF-8 line-drawing characters in calendar
  381   output.
  382 
  383 - ENHANCEMENT: You can have multiple TAG clauses in a REM statement.
  384 
  385 - BUG FIX: Avoid spawning long-running background processes in "make test".
  386 
  387 - BUG FIX: Don't declare variables in the middle of statements (old C
  388   compilers choke.)
  389 
  390 * Version 3.1 Patch 9 - 2010-06-20
  391 
  392 - MAJOR ENHANCEMENT: New "purge mode" to delete expired reminders.  See
  393   the PURGE MODE section of the remind man page.
  394 
  395 - ENHANCEMENT: Support DURATION in TkRemind.  Thanks to Marek Marczykowski.
  396 
  397 - BUG FIX: Don't change the order of PS and PSFILE reminders.  Bug found
  398   by John McGowan.
  399 
  400 - BUG FIX: "REM 1990-01-01 SATISFY 1" would yield a spurious parse error
  401   in earlier versions of Remind.
  402 
  403 - BUG FIX: Yom HaShoah is moved to Thursday if it would normally fall on
  404   a Friday.  Thanks to Jonathan Kamens for pointing this out.
  405 
  406 * Version 3.1 Patch 8 - 2010-03-09
  407 
  408 - ENHANCEMENT: Include some useful scripts in contrib/
  409 
  410 - ENHANCEMENT: Add the $T, $Td, $Tm, $Tw, $Ty, $U, $Ud, $Um, $Uw, $Uy
  411   special variables to make reminder files less wordy.  See man page
  412   for details.
  413 
  414 - MINOR ENHANCEMENT: Set an icon photo window manager resource on TkRemind.
  415 
  416 - POLICY CHANGE: Discourage use of Remind on MS Windows or Apple Mac OS X.
  417 
  418 - BUG FIX: Ignore msgprefix() and msgsuffix() on RUN-type reminders.
  419 
  420 - BUG FIX: Adjust Remind and Rem2PS so that SHADE specials don't obliterate
  421   earlier MOON specials.
  422 
  423 - BUG FIX: Fix bug in SCHED calculations if Remind is started in the middle
  424   of a SCHED interval.
  425 
  426 * Version 3.1 Patch 7 - 2009-05-31
  427 
  428 - ENHANCEMENT: Wherever you could write "day Mon year", the parser now
  429   accepts "YYYY-MM-DD".  This applies on the command-line and to the
  430   REM and OMIT keywords.  You can avoid wrapping date calculations in
  431   the trigger() function in many cases.
  432 
  433 - ENHANCEMENT: New slide() built-in function eases some complicated reminders.
  434 
  435 * Version 3.1 Patch 6 - 2008-11-16
  436 
  437 - MAJOR ENHANCEMENT: A new OMITFUNC clause gives you additional
  438   control and flexibility over "omitted days" calculations.  This is
  439   useful when holidays influence the timing of events several days
  440   later.  See "COMPUTED LOCAL OMITS" in the man page.
  441 
  442 - ENHANCEMENT: The new evaltrig() built-in function lets you evaluate triggers
  443   from within an expression.
  444 
  445 - ENHANCEMENT: The new weekno() built-in function returns the ISO 8601
  446   week number of a date.
  447 
  448 - ENHANCEMENT: The "WEEK" special lets you annotate calendar output with the
  449   week number.  The TkRemind, rem2ps and rem2html back-ends support WEEK.
  450 
  451 - MINOR ENHANCEMENT: You can control whether timed reminders come before or
  452   after non-timed reminders with the "-g" flag.
  453 
  454 - BUG FIX: TkRemind did not work correctly if ~/.reminders was a directory.
  455 
  456 - BUG FIX: TkRemind incorrectly invoked Remind with the "-a" flag when
  457   showing today's reminders.
  458 
  459 - BUG FIX: In certain cases, a trigger containing a day, month and
  460   weekday would fail if it needed to cross a year boundary.  This has
  461   been fixed.
  462 
  463 * Version 3.1 Patch 5 - 2008-04-15
  464 
  465 - MAJOR ENHANCEMENT: If you supply a directory name on the command line
  466   or for an INCLUDE command, then Remind reads all *.rem file in that
  467   directory (in the order returned by "glob")
  468 
  469 - ENHANCEMENT: The plain-text calendar ("-c") can draw lines using VT-100
  470   line-drawing characters if invoked as "-cl"
  471 
  472 - ENHANCEMENT: The plain-text calendar can approximate SPECIAL COLOR reminders
  473   using VT-100 color escape sequences if invoked as "-cc".  (You can combine
  474   the colors and line-drawing characters with -clc or -ccl.)
  475 
  476 - ENHANCEMENT: The "-t" option can take a numeric argument n.  In this case,
  477   all reminders are assumed to have a delta of +n.  (Without the argument,
  478   an infinite delta is assumed, as before.)  If a numeric argument is given,
  479   the new system variable $DeltaOffset is set to the argument.
  480 
  481 - MINOR ENHANCEMENT: The "-i" command-line option can be used to define
  482   a function as well as set a variable.
  483 
  484 - MINOR ENHANCEMENT: String constants can have embedded quotes "Like \"this"
  485 
  486 - MINOR ENHANCEMENT: tkremind works better on small screens like that of
  487   the Eee-PC.
  488 
  489 - BUG FIX: Minor fix to HTML output courtesy of Ian! Allen.
  490 
  491 - BUG FIX: Parse error in calendar mode was fixed.
  492 
  493 * Version 3.1 Patch 4 - 2008-02-03
  494 
  495 - ENHANCMENT: tkremind respects the "-b1" option and operates in 24-hour
  496   clock mode if the option is supplied.
  497 
  498 - ENHANCEMENT: tkremind has been tweaked to look better with Tcl/Tk 8.5.
  499 
  500 - CLEANUP: Version is kept only in configure.in instead of two different
  501   places.
  502 
  503 - CLEANUP: Added "const" qualifier to many places in the code that previously
  504   lacked it.
  505 
  506 - BUG FIX: A rare parsing error involving interaction between SATISFY and
  507   SKIP has been fixed.
  508 
  509 - BUG FIX: rem2html would output a horribly-wrong calendar for a 28-day
  510   February starting on Sunday (such as February 2009.)  This has been fixed.
  511 
  512 - BUG FIX: The "-ivar=value" command-line option failed if Remind re-execed
  513   itself because we overwrote argv[].  This has been fixed.
  514 
  515 * Version 3.1 Patch 3 - 2007-10-15
  516 
  517 + MINOR ENHANCEMENTS
  518 
  519 - rem2html now uses CSS for a much better-looking calendar.
  520   NOTE: rem2html was completely rewritten and some of the command-line
  521   options have changed!
  522 
  523 - If a reminder has a DURATION clause, then the starting and ending times
  524   are output in calendar mode.
  525 
  526 + BUG FIXES
  527 
  528 - DST rules in "defs.rem" were updated to reflect new US/Canadian DST rules.
  529 
  530 - If a REM command cannot compute a trigger date, the SATISFY expression
  531   is not evaluated.  This helps avoid spurious error messages in some
  532   reminders.
  533 
  534 * Version 3.1 Patch 2 - 2007-09-12
  535 
  536 + MINOR ENHANCEMENTS
  537 
  538 - build.tk tries to set defaults for location, paper size, etc from an
  539   existing "remind" installation if it detects one.
  540 
  541 - In queue mode, wake up once a minute and recalibrate sleep time.
  542   This should make Remind work better on laptops that suspend or
  543   hibernate.  Note that "remind -q" does *not* handle date-rollover
  544   well; it simply exits if it notices date rollover.  "remind -z0"
  545   (as used by tkremind) handles date rollover properly; it rereads the
  546   reminder file and rebuilds the queue if it notices date rollover.
  547 
  548 - tkremind: Added some key bindings to make navigation easier.
  549 
  550 - tkremind: Made calendar boxes use space more efficiently.
  551 
  552 - remind: The functionality of "rem" is now built into remind.  If you
  553   invoke remind as "rem", then it uses a default filename.  The installer
  554   sets up "rem" as a symbolic link to "remind".
  555 
  556 + CHANGE
  557 
  558 - "remind -p" no longer sorts SPECIAL reminders before non-SPECIAL.
  559 
  560   *** THIS MAY AFFECT BACKENDS ***
  561 
  562   Backends supplied with Remind (rem2ps, rem2html and tkremind)
  563   are known to work properly.
  564 
  565 - "remind -p" no longer suppresses any AT-time associated with SPECIAL
  566   reminders.
  567 
  568   *** THIS MAY AFFECT BACKENDS ***
  569 
  570   Backends supplied with Remind (rem2ps, rem2html and tkremind)
  571   are known to work properly.
  572 
  573 + BUG FIXES
  574 
  575 - examples/defs.rem: A few corrections to Jewish holidays courtesy of
  576   Art Werschulz.
  577 
  578 - src/Makefile.in: Added install-nostripped target.
  579 
  580 - SPECIAL COLOR now works more like MSG, including proper support for AT and
  581   for the %" %" escape sequence.
  582 
  583 - SPECIAL COLOR is queued correctly if it has an AT clause.
  584 
  585 - Using the psshade() or psmoon() functions emits a warning on stderr.  You
  586   should use SPECIAL SHADE or SPECIAL MOON instead.
  587 
  588 * Version 3.1 Patch 1 - 2007-08-23
  589 
  590 + MAJOR ENHANCEMENTS
  591 
  592 - Added the "nonomitted" function that solves a number of
  593   moving-reminder-in-response-to-holiday problems.  The real-world
  594   problems solved are the "moving-garbage-day" problem and the
  595   "six-day-school-cycle" problem.
  596 
  597 + MINOR ENHANCEMENTS
  598 
  599 - A few minor performance improvements in response to profiling runs.
  600 
  601 + BUG FIXES
  602 
  603 - Prevent compilation failure with gcc 2.95.
  604 
  605 - Fix trailing "s" bug with -k option.  This was fixed in Debian's release,
  606   but the Debian maintainer never bothered to let me know.
  607 
  608 - Removed obsolete scripts: kall, rem, remind-all.sh, remind-all.csh
  609 
  610 - Made "-n" output always use "/" as date separator for consistency with
  611   "-p" and "-s".
  612 
  613 - Moon PNG images are transparent.  Output of moon phases in rem2html
  614   improved slightly.
  615 
  616 - Various man-page fixes.
  617 
  618 * Version 3.1 Patch 0 - 2007-07-14
  619 
  620 + MAJOR ENHANCEMENTS
  621 
  622 - Added the FROM clause.  This lets you write reminders like:
  623 
  624   REM Mon FROM 16 July 2007 UNTIL 13 Aug 2007 MSG Some Mondays...
  625 
  626 - Remind now has a new datatype: A DATETIME object represents a date AND
  627   a time (to the nearest minute).  DATETIME constants are written
  628   as '2007-09-01@14:33'.  Various operators and functions have been
  629   modified to do sensible things with DATETIMEs and several new DATETIME
  630   functions have been added.
  631 
  632 - The SPECIAL COLOR reminder type has been hacked to behave more like
  633   a MSG type.  It sorts properly and is emitted as a normal reminder
  634   in non-calendar mode.  Simlarly, SPECIAL HTML sorts with -g as well.
  635 
  636 + MINOR ENHANCEMENTS
  637 
  638 - TkRemind can e-mail you reminders if you don't dismiss the popup window
  639   after one minute.  This is useful if you need to leave your workstation
  640   but want reminders to "follow" you via e-mail.
  641 
  642 - A new "-y" option to Remind generates tags for all reminders that lack
  643   a TAG clause.  This may be useful for conversion tools that want each
  644   reminder to have a unique identifier.
  645 
  646 - A new "tzconvert" function lets you convert datetimes between different
  647   time zones.  It's only as good as your C library, so test thoroughly
  648   please!  Based on a patch from Stefan Wehr.
  649 
  650 - TkRemind sorts reminders by invoking Remind with the '-g' option.
  651 
  652 - The time and date separator characters can be changed at runtime by
  653   setting $TimeSep and $DateSep respectively.
  654 
  655 - The simple calendar ('-s') option can be immediately followed by an 'a'.
  656   This causes Remind to output reminders with deltas before the actual
  657   trigger date.  Based loosely on an idea from Frank Terbeck.
  658 
  659 + MINOR CHANGES
  660 
  661 - Default date separator is now '-' instead of '/'
  662 
  663 - trigdate() and trigtime() behave differently - they return the integer 0
  664   if the last reminder could not be computed or did not have an AT clause
  665   (respectively).
  666 
  667 - Maximum length of variable names has been increased from 12 to 16 characters.
  668 
  669 + BUG FIXES
  670 
  671 - Fixed a potential memory leak in queue.c
  672 
  673 - Fixed compile error on Mac OS X.
  674 
  675 - Fixed behaviour of "-sa" option so deltas correctly obey omitted days
  676   and the scheduling function (if one is used).
  677 
  678 - rem2ps would produce invalid PostScript in some rare cases
  679   (eg, for February 2007).  This has been fixed.
  680 
  681 * Version 3.0 Patch 24 - 2005-11-19
  682 
  683 + MINOR ENHANCEMENTS
  684 
  685 - Permit the DURATION of a reminder to be as high as you like.  Previously,
  686   DURATIONs could be at most 23:59.  Fix courtesy of Paul Pelzl.
  687 
  688 - The "-n" flag can be usefully combined with "-s", "-p" and "-l" now.
  689   Fix courtesy of Paul Pelzl.
  690 
  691 + BUG FIXES
  692 
  693 - The "-k" command escapes all characters except those known to be
  694   safe, rather than attempting to escape only characters thought to be
  695   unsafe.
  696 
  697 - Removed the crufty code that supported non-ANSI C compilers.
  698 
  699 - Removed all support for non-UNIX/non-Linux systems.
  700 
  701 - Fixed a bug in the tokenizer that could make Remind segfault.  Fix courtesy
  702   of Stan Tobias.
  703 
  704 * Version 3.0 Patch 23 - 2005-04-14
  705 
  706 + MINOR ENHANCEMENTS
  707 
  708 - Added the COLOR special for putting colored reminders in the calendar.
  709   Supported by the HTML, Tcl/Tk and PostScript back-ends.
  710 
  711 - Many minor tweaks to tkremind.
  712 
  713 - Added ability to specify paper size in inches or centimetres to rem2ps.
  714 
  715 - Added the "-l" option to Remind.  This outputs additional information
  716   for back-end programs that use the "-p" output format.  Currently
  717   used only by the "tkremind" back-end.
  718 
  719 - Fixed dates for Yom Hazikaron and Yom Ha'atzmaut if 5 Iyar falls on a
  720   Saturday.  (Hebrew calendar fix.)
  721 
  722 - Added support for the Icelandic language, courtesy of Bj÷rn DavÝ­sson.
  723 
  724 + BUG FIXES
  725 
  726 - Fixed parser error for unterminated date constant: '2005/01/01
  727 
  728 * Version 3.0 Patch 22 - 2000-06-16
  729 
  730 + MINOR ENHANCEMENTS
  731 
  732 - Added option to have TkRemind display all of today's reminders in a text
  733   box on startup.  This option is on by default.
  734 
  735 - Makefile in "www" directory allows you to add ".cgi" suffix to CGI scripts.
  736 
  737 - Added option to completely delete a reminder from the reminder file in
  738   the timed reminder popup dialog.
  739 
  740 - Clarified build instructions.
  741 
  742 + BUG FIXES
  743 
  744 - Fixed packing order in TkRemind so resizing window doesn't make control
  745   buttons disappear.
  746 
  747 - Fixed serious bug in which background queued reminders were ignored and
  748   Remind simply exited.  Doh!  Sorry about that.
  749 
  750 * Version 3.0 Patch 21 - 2000-03-15
  751 
  752 + MINOR ENHANCEMENTS
  753 
  754 - Updated copyright years and contact info.
  755 
  756 - Changed GIF images to PNG to avoid patent problems.
  757 
  758 - Added "cm2trem.tcl" to convert from CDE's "cm" calendar manager to Remind
  759   format.  It handles only an older version of "cm" data; there is a utility
  760   available (under Solaris anyway) to convert newer files to the older "cm"
  761   format.
  762 
  763 - Fixed the scripts in the "www" directory to install and work properly.
  764 
  765 - Added "remind.vim" file for Vim syntax highlighting of Remind files,
  766   thanks to Davide Alberani.
  767 
  768 - Added "dusk" and "dawn" built-in functions, thanks to Ron Aaron.
  769 
  770 + BUG FIXES
  771 
  772 - Files for no-longer-supported platforms (OS/2, amiga, MS-DOS) have been
  773   moved to OBSOLETE subdirectory.  They will disappear unless someone
  774   wants to maintain them.
  775 
  776 - Fixed typo which caused compilation failure on compilers without function
  777   prototypes.  Thanks to Ian Darwin for the patch.
  778 
  779 - Fixed compilation problem on FreeBSD, IRIX, Tru64 and other UNIXes.
  780 
  781 * Version 3.0 Patch 20 - 1999-04-12
  782 
  783 + LICENSE CHANGE
  784 
  785 - Remind is now distributed under the pure GPL.  See the file WINDOWS for my
  786   feelings about a Windows port, however.
  787 
  788 + MINOR ENHANCEMENTS
  789 
  790 - Made TkRemind adjust for really low-resolution displays if necessary.
  791 
  792 - Added more print options to TkRemind, courtesy of Niels Kristian Bech Jensen.
  793 
  794 - Added Spanish language support, courtesy of Rafa Couto.
  795 
  796 + BUG FIXES
  797 
  798 - Rem2PS was passing specials like HTML, etc. in PostScript output.
  799   YECH!  Fix courtesty of Derek J. Decker.
  800 
  801 - Fixed a typo in danish.h, courtesy of  Niels Kristian Bech Jensen.
  802 
  803 * Version 3.0 Patch 19 - 1998-05-09
  804 
  805 + MAJOR ENHANCEMENTS
  806 
  807 - Added MOON and SHADE specials.  These now work with PostScript,
  808   HTML and Tcl/Tk front-ends.  You can have cute moons and shaded
  809   boxes on your printer, on your screen and in your web browser. :-)
  810 
  811 - TkRemind overhauled -- you can now edit and delete reminders from
  812   the GUI.  You can actually reasonably use Remind without learning
  813   the scripting language.
  814 
  815 - TkRemind overhauled -- "server mode" added to Remind; TkRemind will
  816   now pop up timed reminders.
  817 
  818 + MINOR ENHANCEMENTS
  819 
  820 - Updated romanian.h, courtesy Liviu Daia.
  821 
  822 + BUG FIXES
  823 
  824 - Allowed object files to be built in different directory from
  825   source files (thanks to Jonathan Kamens <jik@American.COM>
  826 
  827 - Removed restriction against reading group-writable files.  This
  828   caused headaches on Red Hat Linux which uses an unusual user/group
  829   scheme.
  830 
  831 - Remind would not compile if a non-English language was selected.
  832 
  833 - Fixed free() of a NULL pointer.
  834 
  835 - Made tkremind display a helpful error message if Remind's
  836   "security feature" of not reading a group-writable file kicks
  837   in.
  838 
  839 - Fixed bug which sometimes prevented reminder times from appearing
  840   in a calendar display.
  841 
  842 - Lots more silly little bugs squashed -- too many to go into in
  843   detail.
  844 
  845 * Version 3.0 Patch 18 - 1998-02-15
  846 
  847 + MAJOR ENHANCEMENTS
  848 
  849 - Added the script "build.tk" which makes it trivial to compile
  850   and install Remind under UNIX -- no need to edit Makefiles or
  851   header files.  A nice GUI installation dialog!
  852 
  853 - Got rid of all fixed-size buffers.  Hurray!  Everything is dynamic --
  854   no built-in limits on line length, token size, etc.  This should
  855   cure lots of SEGV's for weird files.
  856 
  857 - Added TAG and DURATION clauses for communicating more information to
  858   back-ends and eventually converting REMIND into a full-fledged
  859   scheduler.
  860 
  861 - Completely reworked the PS/PSFILE mechanism to use the more
  862   general SPECIAL mechanism for customizing output in REMIND back-ends.
  863 
  864 + MINOR ENHANCEMENTS
  865 
  866 - Made parser _very_ forgiving -- the type of reminder now defaults
  867   to MSG.  This lets you have lines in the reminder file like this:
  868 
  869 	Feb 9, 1998 Meeting with Joe.
  870 
  871   But I don't recommend abusing it.  It's mostly to ease migration from
  872   UNIX calendar(1) files.
  873 
  874 - Documented the "remind -p" format.
  875 
  876 - Made Remind communicate day and month names to back-ends so they
  877   can automatically take on the language Remind was compiled with.
  878 
  879 - Directory structure totally reorganized.  Remind now uses an autoconf
  880   "configure" script which should make life very pleasant for UNIX
  881   people.
  882 
  883 - Made Rem2HTML work properly if more than one month's worth of calendar
  884   data was produced.  Rem2HTML also escapes any special HTML characters.
  885   However, it recognizes a "SPECIAL HTML" type of reminder which lets
  886   you put arbitrary HTML code in your calendar entries.  See www/rem2html
  887   for details.
  888 
  889 - Added the "-a" option to Rem2HTML to complement the "-p" option.  Also
  890   made Rem2HTML print a usage message if input is coming from a terminal.
  891 
  892 + BUG FIXES
  893 
  894 - Fixed sunset(), sunrise() and minsfromutc() functions which were broken
  895   by 3.0.17.  (In 3.0.17, they did not account for daylight saving time.)
  896 
  897 - Updated "finnish.h" to include proper URL and translation of all
  898   error messages.
  899 
  900 + BUG INTRODUCTIONS
  901 
  902 - The reorganization and use of "configure" probably breaks Remind
  903   installation on non-UNIX platforms.  Sorry.  I can't fix it until
  904   I hear back from non-UNIX maintainers.
  905 
  906 - Getting rid of fixed-sized buffers meant lots of changes to code.
  907   No doubt, I missed a few regression tests.
  908 
  909 * Version 3.0 Patch 17 - 1997-09-07
  910 
  911 + MINOR ENHANCEMENTS
  912 
  913 - Made REMIND accept date specs like "Jan 6, 1998" -- the comma is
  914   ignored.  This was suggested by John Conover <john@johncon.johncon.com>.
  915   You can even do "REM 27, Aug, 1998, msg bar".  (But I don't know why
  916   you'd want to.)
  917 
  918 - Added www/rem2html, a Perl script which converts the output of
  919   `remind -p ...' to an HTML table.  The script was contributed by
  920   Don Schwarz <darkowl@mcs.net>
  921 
  922 - New security features: Because of the risks of statically-allocated
  923   buffers, REMIND now refuses to run if it is installed set-uid or set-gid.
  924   If REMIND is run as root, it refuses to read files not owned by root.
  925   It also won't open group- or world-writable files, no matter who is
  926   running it.  Finally, if you read a file you don't own, REMIND disables
  927   RUN and shell().  REMIND doesn't do these security checks on stdin,
  928   though, so be careful if you run it as root in a script.
  929 
  930   NOTE:  REMIND doesn't do the world- and group-writable checks
  931   on devices, FIFOs, etc.  Otherwise "remind /dev/null" fails...
  932 
  933 + BUG FIXES
  934 
  935 - Increased sizes of some statically-allocated buffers.  This doesn't
  936   really fix the problem, but makes it more manageable.
  937 
  938 - Using the "-u" option now implies the "-r" option.  This is a
  939   security feature.
  940 
  941 - Added romanian.h to the manifest.  Sorry.
  942 
  943 - CalcMinsFromUTC was failing if time_t was unsigned.  I now use
  944   difftime(), but not all systems have it.  Also, defs.rem was rearranged
  945   so PostScript stuff works better, and new target "emxomf" was added to
  946   makefile.os2 which uses OMF linking and a dynamically-linked C
  947   library.  All three of these fixes are courtesy of Christopher
  948   J. Madsen <madsen@iglobal.net>.  Thanks, Christopher.
  949 
  950 * Version 3.0 Patch 16 - 1997-02-11
  951 
  952 + MINOR ENHANCEMENTS
  953 
  954 - Bundled scripts for making a nice WWW calendar server.  See the
  955   "www" subdirectory in the release.
  956 
  957 - Added support for the Romanian language, courtesy of Liviu Daia.
  958 
  959 - Changed sunrise() and sunset() as follows:  If the sun never rises,
  960   sunrise() returns 1440 and sunset() returns 0.  In this case,
  961   sunrise()-sunset() returns the length of the dark period of the
  962   day, in minutes.  If the sun never sets, sunrise() returns 0 and
  963   sunset() returns 1440, and sunset()-sunrise() returns the length
  964   of the light period of the day, in minutes.  Thanks to Michael Salmon
  965   for explaining the utility of this.  See the file "defs.rem" for the
  966   functions _light_len and _dark_len which return the length in minutes
  967   of the light and dark period of the day, respectively.
  968 
  969 + BUG FIXES
  970 
  971 - If you used the "-g" option, then no background reminders were
  972   ever issued.  DOH!  Thanks to Greg Badros <gjb@cs.washington.edu>
  973   for pointing this out.
  974 
  975 - Fixed a problem under Solaris 2.5 whereby rem2ps was skipping some
  976   latin1 characters which it interpreted as white space.
  977 
  978 * Version 3.0 Patch 15 - 1996-10-27
  979 
  980 + IMPORTANT NOTES
  981 
  982 - The tar file now unpacks into a Remind subdirectory rather than into
  983   the current working directory.
  984 
  985 - I no longer support Remind under DOS.  I don't think I've done anything
  986   to stop it from working under DOS, but will no longer compile and test
  987   it under DOS, and can't help you if you get stuck.  Sorry -- I no longer
  988   have a DOS machine.
  989 
  990 + MINOR ENHANCEMENTS
  991 
  992 - Changed psshade() to accept 1 or 3 arguments for colored shading in
  993   PostScript calendar mode.
  994 
  995 - Added a Print dialog to tkremind.
  996 
  997 - Added support for Brazilian Portuguese courtesy of Marco Paganini
  998 
  999 - Added support for Italian courtesy of Valerio Aimale
 1000 
 1001 + BUG FIXES
 1002 
 1003 - Fixed confusing error in rem2ps help messages.
 1004 
 1005 - Fixed bug in TkRemind which caused a crash if the "-m" option was used
 1006   for a month beginning on Sunday.  Doh!!!
 1007 
 1008 * Version 3.0 Patch 14 - 1996-05-25
 1009 
 1010 + CHANGE IN COPYING POLICY
 1011 
 1012 - Remind is now distributed under an _AMENDED_ version of the Gnu
 1013   General Public License.  These amendments are listed in the
 1014   file COPYRIGHT.  The amendments were made for personal reasons;
 1015   please don't ask me to explain them.  They probably don't affect
 1016   you, anyway.
 1017 
 1018 + MAJOR ENHANCEMENTS
 1019 
 1020 - Added an X-Windows front-end to Remind.  To use it, you must be
 1021   running under X-Windows on UNIX, and have the "wish" tcl/tk
 1022   interpreter, version 7.4 of tcl and 4.0 of tk.  The front-end is
 1023   called "tkremind".
 1024 
 1025 + MINOR ENHANCEMENTS
 1026 
 1027 - Added the WARN keyword for precise advance notice.  You can now
 1028   have advance warning 5, 3, 1 and 0 days in advance (for example.)
 1029   The WARN keyword operates similarly to the SCHED keyword in that it
 1030   calls a user-defined function to obtain the advance warning sequence.
 1031 
 1032 - Added support for QDOS/SMSQ on the Sinclair QL microcomputer,
 1033   courtesy of Robert H. Klein <kleir000@goofy.zdv.Uni-Mainz.de>
 1034   NOTE THAT I CANNOT TEST NOR SUPPORT THIS VERSION!
 1035 
 1036 - Added support for AmigaDOS / SAS/C, courtesy of Martin Hohl
 1037   <martinh@caverna.tynet.sub.org>.  As before, I CANNOT TEST NOR
 1038   SUPPORT THIS VERSION, but will rely on feedback from others.
 1039 
 1040 + BUG FIXES
 1041 
 1042 - Removed the "-n" option from Rem2PS.  Instead, if you want the
 1043   PostScript calendar to start on a Monday, supply the "-m" option
 1044   to Remind.  It was repugnant to have two options to two programs
 1045   to accomplish one thing.
 1046 
 1047 - The "hebdate" built-in function worked incorrectly with 5 arguments.
 1048   The bug was pointed out by Hershel Safer <h.safer@ieee.org>
 1049 
 1050 - This would hang up REMIND:   REM Mon 31 Feb MSG Foo
 1051   and this would fail quietly: REM Mon 31 Feb 1996 MSG Foo
 1052   Both have been fixed and now report bad date specifications.
 1053 
 1054 - Remind now compiles without complaint under gcc -ansi -Wall -pedantic
 1055   (on my Linux system, anyway!)
 1056 
 1057 + IMPORTANT NOTE
 1058 
 1059 - I had problems building the DOS version with Turbo C.  I have access
 1060   only to ancient versions of Turbo C and Microsoft C.  Remind built
 1061   fine with Microsoft C, but the TC version hung up.  I am not too
 1062   interested in maintaining the DOS version, so when the MSC compiler
 1063   no longer works, I will drop DOS support.  Please not that I will
 1064   _not_ support MS Windows, and in fact do not allow Remind to run
 1065   under Windows (see COPYRIGHT).
 1066 
 1067 * Version 3.0 Patch 13 - 1994-05-06
 1068 
 1069 + MINOR ENHANCEMENTS
 1070 
 1071 - Added extra parameters to the "psmoon" built-in function so you
 1072   can annotate the PostScript moon icons.
 1073 
 1074 - Added a command-line "time" argument to Remind for testing Remind
 1075   scripts with specific system times.  Also added the realnow() function
 1076   which has the same relationship to now() as realtoday() has to today().
 1077   (See the man page!)
 1078 
 1079 - Modified Rem2PS so it prints progress messages to stderr if
 1080   '-v' command-line argument is used.
 1081 
 1082 - In the top of the 'finnish.h' file, added a note about
 1083   Mikko Silvonen's file of Finnish holidays.
 1084 
 1085 + BUG FIXES
 1086 
 1087 - Fixed a bug in rem2ps which sometimes caused incorrect PostScript if
 1088   the -e and -m options were used.  Thanks to Michael Neuhauser for
 1089   reporting the bug and providing a fix.
 1090 
 1091 - Made the '-k' option escape shell characters in the message to make it
 1092   safer.
 1093 
 1094 - Fixed a segmentation violation which resulted if not all
 1095   PUSH-OMIT-CONTEXTs were balanced by POP-OMIT-CONTEXTs.
 1096 
 1097 - Removed the prototype for DestroyValue, which is now a macro.  I'm
 1098   amazed that very few compilers complained about this one!
 1099 
 1100 - Updated the copyright notices everywhere.
 1101 
 1102 * Version 3.0 Patch 12 - 1994-02-01
 1103 
 1104 + MINOR ENHANCEMENTS
 1105 
 1106 - Added support for the Danish language, courtesy of Mogens Lynnerup.
 1107 
 1108 - Added support for the Polish language, courtesy of Jerzy Sobczyk.
 1109 
 1110 - Made the Makefile more portable, thanks to Jim Budler.
 1111 
 1112 - Removed some compiler warnings under Linux, thanks to Francois Pinard.
 1113 
 1114 - Tidied the man page a bit; added a small bibliography.
 1115 
 1116 + BUG FIXES
 1117 
 1118 - Fixed a problem with the '-k' option which resulted in a newline being
 1119   placed after the message text.  This was giving sh(1) heartburn...
 1120 
 1121 * Version 3.0 Patch 11 - 1993-11-26
 1122 
 1123 + MINOR ENHANCEMENTS
 1124 
 1125 - Added release notes to README.UNIX and README.OS2 describing one
 1126   way to make pop-up alarms under X-Windows and Presentation Manager.
 1127 
 1128 - Added the $DefaultPrio system variable
 1129 
 1130 - Improved OS/2 support, thanks to Darrel Hankerson, Russ Herman
 1131   and Norman Walsh.
 1132 
 1133 - Made the pushing and popping of operators and operands during
 1134   expression evaluation in-line code instead of function calls.  Did the
 1135   same for DestroyValue.  I'm not sure if this was a good idea -- on the
 1136   Sparc using gcc, this slowed things down... go figure.
 1137 
 1138 + BUG FIXES
 1139 
 1140 - Fixed a potential memory leak in the char() function.
 1141 
 1142 - Made the TRIGGER() built-in function return its answer in English even
 1143   for the foreign-language versions -- this was required for compilers which
 1144   are not 8-bit clean, and for languages with accented letters.
 1145 
 1146 - Made expression evaluation slightly faster by eliminating some unnecessary
 1147   copying of string values.
 1148 
 1149 - Corrected some non-portable definitions of the macro UPPER(c)
 1150 
 1151 - Fixed typos in french.h
 1152 
 1153 * Version 3.0 Patch 10
 1154 
 1155 + MAJOR ENHANCEMENT
 1156 
 1157 - OS/2 support is now much better, thanks to Russ Herman.  The Borland
 1158   C compiler under OS/2 and MS-DOS is supported.
 1159 
 1160 + MINOR ENHANCEMENTS
 1161 
 1162 - Added the SCHED keyword for precise control of scheduling of timed
 1163   reminders -- it's really quite nifty!
 1164 
 1165 - Modified the trigger() function to take up to three arguments -- in
 1166   addition to a date, you can specify a time and a flag specifying that
 1167   the trigger should be converted from UTC to local time.
 1168 
 1169 - Added $SortByDate, $SortByTime and $SortByPrio system variables.
 1170 
 1171 - Added test suites for MS-DOS and OS/2, courtesy of Russ Herman.
 1172 
 1173 - In PostScript output, the month and year are output in the %%Page: comments.
 1174   Makes it nicer to view multi-month calendars with previewers (eg,
 1175   GhostView.)
 1176 
 1177 - Added the PRIORITY keyword for more control of sort order of reminders.
 1178   Based on a suggestion by George M. Sipe.
 1179 
 1180 - Added the msgprefix() and msgsuffix() evaluations around MSG-type
 1181   reminders for doing fancy things with reminders of different priorities.
 1182   Also added calprefix() and calsuffix() for doing the same thing in
 1183   calendar mode.
 1184 
 1185 - Enabled the -g option during calendar mode as well as regular mode.
 1186 
 1187 + BUG FIXES
 1188 
 1189 - Fixed minor bugs in the LocalToUTC and UTCToLocal functions.
 1190 
 1191 - "remind -c -de file" used to cause a segmentation violation.  Whoops...
 1192 
 1193 - Some files which should have included <string.h> didn't include it - these
 1194   are now fixed.
 1195 
 1196 - Fixed the moondate() and moontime() functions, which used to be incorrect
 1197   after November 1994.
 1198 
 1199 - Fixed the Finnish language support which was missing a few newlines.
 1200 
 1201 * Version 3.0 Patch 9 - 1993-10-04
 1202 
 1203 + NOTES
 1204 
 1205 - Remind is now too big to compile under the "small" model in
 1206   MS-DOS.  You must recompile everything under the "medium" model.
 1207 
 1208 + MAJOR ENHANCEMENTS
 1209 
 1210 - Functions moonphase(), moondate() and moontime() were added for dealing
 1211   with phases of the moon.  The code was snarfed from "moontool" by
 1212   John Walker - see the file "moon.c" for detailed acknowledgement.  Also
 1213   added psmoon() for putting little moon symbols on the PostScript calendar.
 1214 
 1215 + MINOR ENHANCEMENTS
 1216 
 1217 - Added some more examples to defs.rem - notably, support for ANSI
 1218   terminal color-changing escape sequences, thanks to Gail Gurman.
 1219 
 1220 - Modified both Remind and Rem2PS so that calendars can start on Sunday or
 1221   Monday, depending on your preference.  Unfortunately, the command-line
 1222   options are different -- for Remind, it's '-m' and for Rem2PS it's '-n'
 1223   because '-m' was already in use.  Based on a suggestion by John Plate
 1224   and a patch sent by Mikko Silvonen.
 1225 
 1226 - The Finnish language support is better - now, all usage and error
 1227   messages are in Finnish.  In addition, the Finnish language module
 1228   supports the IBM extended character set as well as ISOLATIN1.
 1229   Thanks to Mikko Silvonen.
 1230 
 1231 - Modified Rem2PS to allow more control over the placement of the small
 1232   calendars, thanks to a suggestion by Frank Vance.  Also added option
 1233   to control the calendar title (e.g., "September 1993") independently
 1234   of day-of-week headings.
 1235 
 1236 - Added the psshade() function to make it easier to shade PostScript
 1237   calendars.
 1238 
 1239 - Allowed a repeat parameter '*num' to be supplied on command line so
 1240   a 'preview' of many days' worth of reminders can be obtained easily.
 1241 
 1242 - Added the $Location system variable.
 1243 
 1244 - Allowed an expression to be supplied to EXIT to return an exit
 1245   status.
 1246 
 1247 - Added the FLUSH command.
 1248 
 1249 + BUG FIXES
 1250 
 1251 - Fixed the MSF-type reminder to fill paragraphs more intelligently.
 1252   It puts double spaces after '!', '.' and '?', and can handle quotes,
 1253   brackets, etc. after periods, etc.  These characters can be specified
 1254   with the $EndSent and $EndSentIg system variables.  Also modified it
 1255   so that newlines in the body start new paragraphs, rather than being
 1256   swallowed as white-space.
 1257 
 1258 * Version 3.0 Patch 8 - 1993-09-08
 1259 
 1260 + MAJOR ENHANCEMENTS
 1261 
 1262 - Changed the code to more fully support foreign languages - error
 1263   messages and usage instructions can now be changed.  All changes can
 1264   be localized in the appropriate language.h files.
 1265 
 1266 - Added support for the French language, courtesy of Laurent Duperval.
 1267   Note that the French support is more complete than for other languages -
 1268   French usage instructions and error messages are supported.
 1269 
 1270 - Added support for the Norwegian language, courtesy of Trygve Randen.
 1271 
 1272 + MINOR ENHANCEMENTS
 1273 
 1274 - Added code for the functions timelocal() and timegm(), courtesy of
 1275   Lucio de Re.  This is for those very few machines whose libraries
 1276   include neither those functions nor mktime().
 1277 
 1278 - Added the filedate() function.
 1279 
 1280 - Allowed the filename to be specified as "-" to cause Remind to take
 1281   its input from the standard input stream.
 1282 
 1283 - Added the "MSF" keyword to cause reminders to be formatted automatically.
 1284   This keyword paragraph-fills reminder text following user specifications.
 1285   Based on a suggestion by Ken McGlothlen.
 1286 
 1287 - Added the "-e" option to Rem2PS, allowing the PostScript calendar
 1288   to fill the entire page.  Thanks to Arthur G. Yaffe.
 1289 
 1290 + BUG FIXES
 1291 
 1292 - Corrected the Hebrew holidays Tzom Gedalia, Tzom Tevet, Ta'anit
 1293   Esther, Tzom Tamuz and Tisha B'Av so they won't occur on Saturday.
 1294   Corrections made following the algorithm in "Calendrical Calculations"
 1295   by Nachum Dershowitz and Edward M. Reingold.
 1296 
 1297 - Changed the dutch.h language file as suggested by Erik-Jan Vens.  Made
 1298   month and day names lower-case; corrected the spelling of oktober.
 1299 
 1300 - Changed HashVal in var.c to use unsigned arithmetic - it's conceivable
 1301   that a machine with signed chars could cause problems otherwise.
 1302 
 1303 - Changed the LONG_* macros in config.h to LON_* to avoid conflicts
 1304   with names defined by ANSI C.  Thanks to David W. Sanderson.
 1305 
 1306 - Allowed the built-in function char() to accept numbers in the
 1307   range [-128, 255] (but not 0) so that char(asc(s)) works even
 1308   on machines with signed char types.
 1309 
 1310 * Version 3.0 Patch 7 - 1993-07-22
 1311 
 1312 + MAJOR ENHANCEMENTS
 1313 
 1314 - Added "system variables" to allow the user more control over
 1315   Remind operation, and to allow queries about the command-line
 1316   options from within a reminder script.  They allow for specification
 1317   of longitude and latitude for use by sunrise/sunset calculations.
 1318 
 1319 - Added sunrise(), sunset(), isdst() and minsfromutc() functions -
 1320   these are needed to support sunrise and sunset calculations.
 1321 
 1322 + MINOR ENHANCEMENTS
 1323 
 1324 - Allowed the MSG, RUN, CAL, PS and PSF keywords to be used in the
 1325   same reminder as the SATISFY keyword.  This makes many complex
 1326   reminders more compact.
 1327 
 1328 - Added the filedir() function to enable Remind's include to emulate
 1329   CPP's #include more closely.
 1330 
 1331 - Allowed non-root users to use the "-u" option.  It only affects
 1332   the "SHELL", "HOME", "USER" and "LOGNAME" environment variables -
 1333   it doesn't change the effective uid and gid when run by non-root.
 1334 
 1335 - Added built-in function "easterdate" to calculate date of Easter
 1336   Sunday - function courtesy of Michael Salmon.
 1337 
 1338 - Improved the Jewish holiday reminders in "defs.rem" to give advance
 1339   notice of holidays.
 1340 
 1341 - Allowed the "simple calendar" option (-s) to specify a number of
 1342   weeks as well as a number of months, in the same fashion as the
 1343   -c option.  Thanks to Dave Rickel.
 1344 
 1345 + BUG FIXES
 1346 
 1347 - Corrected the behaviour of "hebdate" for jahrzeits; added an additional
 1348   parameter to specify the behaviour of dates in Adar during leap years.
 1349 
 1350 - Changed kall so that "kall sh" doesn't commit suicide - patch courtesy
 1351   of Michael Salmon.
 1352 
 1353 * Version 3.0 Patch 6 - 1993-05-05
 1354 
 1355 + MINOR ENHANCEMENTS
 1356 
 1357 - Added the PS- and PSFILE-type reminders - these allow you to include
 1358   arbitrary PostScript code in your PostScript calendars.  Useful for
 1359   shading, drawing graphics on calendars, etc.  Use with care, though!
 1360 
 1361 - Added the "-ivar=val" option to initialize variables from the command
 1362   line.  Changed the remind-all.* shell scripts to predefine the variable
 1363   "remind_all".
 1364 
 1365 + BUG FIXES
 1366 
 1367 - Fixed a bug in the hebmon(), hebday() and hebyear() functions - there
 1368   was an off-by-one error.  Sorry!
 1369 
 1370 - Fixed a bug in the hebdate() function which resulted in infinite loops
 1371   for dates after about 2075
 1372 
 1373 - Fixed a bug in the -u option which sometimes caused a core dump
 1374   (embarrassed grin!)  The fix is due to Tina Hoeltig.  Thanks, Tina!
 1375 
 1376 * Version 3.0 Patch 5 - 1993-04-27
 1377 
 1378 + MAJOR ENHANCEMENTS:
 1379 
 1380 - Added support for the Hebrew calendar - can now specify Jewish holidays
 1381   easily.  Thanks to Amos Shapir for explaining the Hebrew calendar, and
 1382   to Danny Sadinoff, from whose HEBCAL program I got some inspiration.
 1383   Also thanks to David W. Tamkin and Frank Yellin for explaining the rules
 1384   for jahrzeits.
 1385 
 1386 + MINOR ENHANCEMENTS:
 1387 
 1388 - Allowed the default page size used by Rem2PS to be selected in config.h
 1389 
 1390 - Edited the defs.rem file to contain Jewish holidays.  Cleaned up some
 1391   of the examples and improved the layout - thanks to George M. Sipe.
 1392 
 1393 - Modified the IIF function to be more general
 1394 
 1395 - Updated finnish.h to support the ISO 8859-1 character set, courtesy
 1396   of Mikko Silvonen.
 1397 
 1398 - Changed the date conversion routines to greatly speed up conversion from
 1399   Julian to yyyy/mm/dd form.
 1400 
 1401 + BUG FIXES:
 1402 
 1403 - Fixed a bug in which Remind complained incorrectly about a missing quote
 1404   in the command SET foo ""
 1405 
 1406 - Fixed bugs in dosubst.c which caused the %o, %1 and %@ substitutions
 1407   to be incorrect
 1408 
 1409 - Fixed a bug in the man page - thanks to Ed Oskiewicz.
 1410 
 1411 * Version 3.0 Patch 4 - 1993-03-08
 1412 
 1413 - Added the -g option - this sorts reminders by date/time before
 1414   issuing them.  (You can see I'm running out of letters to
 1415   name options!)  This feature was suggested by George M. Sipe,
 1416   Paul D. Smith, and Francois Pinard.
 1417 
 1418 - Added the "args()" and "dosubst()" built-in functions - see the
 1419   man page for details.
 1420 
 1421 - Added more support for the ISO 8859-1 character set, and
 1422   modified the german.h file to take advantage of this, thanks
 1423   to Robert Joop.
 1424 
 1425 - Allowed any character to be used as date and time separator
 1426   characters (not just "/-:.")
 1427 
 1428 - Added support for the Dutch and Finnish languages, thanks to
 1429   Willem Kasdorp and Mikko Silvonen.  (Anyone care to contribute
 1430   French?  Italian?  Spanish?)
 1431 
 1432 - Made Remind issue a warning if you try to redefine a built-in
 1433   function.  This warning is disabled in 'Hush' mode.
 1434 
 1435 - Added the SCANFROM clause to the REM command.  This allows reasonably
 1436   safe moveable OMITs such as the Labour Day example in the manual.
 1437 
 1438 - Added more examples to the defs.rem file, and cleaned up some old
 1439   examples.  Note that there are now safe moveable holidays for most
 1440   U.S. holidays provided in the defs.rem file.
 1441 
 1442 - Added the '-k' option, which allows MSG-type reminders to be passed
 1443   to any system command.  (Idea and patch courtesy of Philipp Slusallek.)
 1444 
 1445 - Allowed selection of ':' or '.' as time separator characters at
 1446   compile-time.
 1447 
 1448 - Edited the COPYRIGHT file to clarify the rules.  Please read them.
 1449 
 1450 - Removed hard-coding of "am" and "pm" and placed them in language-specific
 1451   header files as #defines L_AM and L_PM
 1452 
 1453 - Fixed a bug in the FindToken() routine which had, through sheer luck,
 1454   never been activated until the SCANFROM clause was added!
 1455 
 1456 - Fixed the UNTIL clause to check for a valid expiry date.
 1457 
 1458 - Removed identifiers in the C source beginning with "_" to conform
 1459   to ANSI practice.
 1460   
 1461 - Fixed a bug in the -u option which resulted in environment variables
 1462   SHELL and USER not being set correctly.  Also made -u set the LOGNAME
 1463   environment variable.
 1464 
 1465 - Fixed a couple of typos in the man page; added LDFLAGS to the
 1466   Makefile.  (Thanks to Dave Wolfe.)
 1467 
 1468 - Put my new mailing address in the README files.
 1469 
 1470 * Version 3.0 Patch 3 - 1993-02-21
 1471 
 1472 - Corrected bugs in Remind and Rem2PS.  No new features added.  You
 1473   should NOT use patch level 2 - either stick to 3.0.1 or upgrade to
 1474   3.0.3.
 1475 
 1476 * Version 3.0 Patch 2 - 1993-02-04
 1477 
 1478 - Added the -u option to Remind so that root can run it as any user.
 1479   This simplifies the remind-all scripts, and makes them more efficient.
 1480   If you are worried that this option is a security hole, you can
 1481   disable it in config.h
 1482 
 1483 - Changed the RUN command so that RUN OFF can be used anywhere, even
 1484   though RUN ON only works in the top-level file.  This eases the
 1485   management of global files which may want to switch RUN OFF.
 1486 
 1487 - Added ISO encoding (ISO 8859-1) to the PostScript output, courtesy of
 1488   Michael Salmon.  This can be selected with the '-i' option in rem2ps.
 1489 
 1490 - Added support for the '-' date separator as well as the '/' separator.
 1491 
 1492 - Added support for languages other than English.  Note that this support
 1493   is not complete - error messages are still in English.  The idea and
 1494   German translation came from Wolfgang Thronicke.
 1495 
 1496 - Changed the -w option to include the "padding" and "spacing" options.
 1497   NOTE INCOMPATIBILITY:  In the previous patch level, creating a weekly
 1498   calendar using the -c+n option left no blank lines between the day
 1499   number and the first reminder entry.  This has been changed so that one
 1500   blank line is left.  To revert to the old behaviour, use the "-w,,0"
 1501   option.
 1502 
 1503 - Added the -o option to Rem2ps.  This allows you to specify the margins
 1504   when producing a PostScript calendar.
 1505 
 1506 - Updated the copyright notices in all the files. :-)
 1507 
 1508 - Added 'make clobber' and 'make test' targets to the Unix makefile.
 1509 
 1510 - Corrected typos in WHATSNEW.30 and remind.1 man page.  Thanks to
 1511   Dave Wolfe <dwolfe@pffft.sps.mot.com>
 1512 
 1513 - Changed Remind so that supplying the -a option causes timed reminders
 1514   not to be placed into the calendar in calendar mode.
 1515 
 1516 * Version 3.0 Patch 1 - 1992-12-18
 1517 
 1518 - Wrote the Rem2ps program to produce PostScript calendars
 1519 
 1520 - Added an 'install' target to the Makefile
 1521 
 1522 - Fixed a bug which allowed the shell() function to execute in timed
 1523   reminders which were queued with RUN disabled.
 1524 
 1525 - Added support for OS/2, courtesy of DARREL HANKERSON
 1526   <HANK@DUCVAX.AUBURN.EDU>
 1527 
 1528 - In expressions, can now specify literal dates as 'yyyy/mm/dd' rather than
 1529   using the date() function.
 1530 
 1531 - Fixed all the source files to include "config.h" first.
 1532 
 1533 - Changed the way triggers are calculated so that trigger dates are 
 1534   always valid if year, month and day are specified, and there is no
 1535   UNTIL clause.  See MAN page section "DETAILS ABOUT TRIGVALID()."
 1536 
 1537 - Defined _POSIX_SOURCE so Remind will compile on SGI workstations (and
 1538   be more portable... I hope.)
 1539 
 1540 - Fixed some rather brain-dead definitions of UPPER and LOWER, as pointed
 1541   out by <rsalz@osf.org>
 1542 
 1543 - Added more details to the Man page concerning how triggers are computed,
 1544   and added warnings about computing OMIT dates.
 1545 
 1546 - Added the file defs.rem which contains examples of useful definitions and
 1547   triggers.
 1548 
 1549 - Changed the script test-rem to be a sh script instead of csh for improved
 1550   portability.
 1551 
 1552 - Fixed up the README.* files to reflect the changes.
 1553 
 1554 - Re-formatted the WHATSNEW.30 file.
 1555 
 1556 * Version 3.0 - 1992-11-09
 1557 
 1558 - Total rewrite from previous versions
 1559 
 1560 - Added variables, expressions, flow-control statements, daemon mode
 1561 
 1562 - Added "expression pasting"
 1563 
 1564 - Added CAL-type reminders
 1565 
 1566 - Added the SATISFY clause
 1567 
 1568 - Improved debugging of reminder scripts
 1569 
 1570 - Took out the "purge" option - it is in general too dificult to tell when
 1571   a reminder has expired for good, so now it's up to you to do this
 1572   by hand.
 1573 
 1574 - Fixed a lurking bug in trigger date calculation which, amazingly, had not
 1575   been caught in the couple of years that Remind has been out!
 1576 
 1577 * Version 2.3 Patch 5 - 1992-04-11
 1578 
 1579 - Added the "c+n" option for printing a calendar by
 1580   weeks instead of months, courtesy Dennis Cottel (dennis@peanuts.nosc.mil).
 1581 
 1582 * Version 2.3 Patch 4 - 1991-11-06
 1583 
 1584 - Made the init.c file nicer.  Made the Makefile
 1585   prettier.  Added "make test", "make tar" and "make shar" Makefile targets.
 1586 
 1587 * Version 2.3 Patch 3 - 1991-09-11
 1588 
 1589 - Added a command-line option for Remind to process
 1590   queued reminders in the foreground.  This makes automatic termination
 1591   of Remind processes from within X-Windows and Sunview easier.
 1592 
 1593 * Version 2.3 Patch 2 - 1991-07-19
 1594 
 1595 - Fixed up a problem with timed reminders which resulted
 1596   in cursor not starting from left side of screen on some systems.
 1597 
 1598 - Fixed the SIGINT handler for SYSV systems - this was interrupting the
 1599   sleep(2) system call.
 1600 
 1601 - Closed stdin and stdout if remind was part of a pipe - this prevents other
 1602   sections of the pipe from hanging as remind puts itself in the background.
 1603 
 1604 - Added the "-h" (Hush mode) option
 1605 
 1606 - Added the "%#" and "%@" modifiers for the current time.
 1607 
 1608 - Made the Makefile more portable
 1609 
 1610 * Version 2.3 Patch 1 - 1991-03-08
 1611 
 1612 - Added the "-t" command-line option to get Remind
 1613   to trigger all non-expired reminders.
 1614 
 1615 - Added Turbo C support courtesy of Rhys Weatherly
 1616 
 1617 - Added the "RUN ON" and "RUN OFF" commands for a secure interface with
 1618   the Elm mail system.
 1619 
 1620 - Added the "rem" shell script for running Remind with a default script.
 1621 
 1622 - Added manual pages for "kall" and "rem".
 1623 
 1624 * Version 2.3 - 1991-02-20
 1625 
 1626 - Added the UNTIL keyword for forcing reminders to expire.
 1627 
 1628 - Added the "++" form of 'back' and the "--" form of 'delta' for
 1629   ignoring OMIT information.
 1630 
 1631 - Added the CLEAR-OMIT-CONTEXT, PUSH-OMIT-CONTEXT and POP-OMIT-CONTEXT
 1632   keywords for isolating personal or peculiar reminders from the global
 1633   OMIT context.
 1634 
 1635 - Speeded up the parsing of tokens.
 1636 
 1637 - Changed the source to recognize and exploit ANSI-C compilers which
 1638   accept function prototypes.
 1639 
 1640 - Added the "-n" option to output the next occurrence of each reminder
 1641   in SimpleCalendar format
 1642 
 1643 - Modified the calendar and SimpleCalendar formats so that the % escape
 1644   substitutions ARE performed.
 1645 
 1646 * Version 2.2 - Patch 5 - 1990-12-03
 1647 
 1648 - Added the BEFORE, AFTER and SKIP tokens to make the
 1649   handling of holidays more sensible.  Also corrected a few more bugs.
 1650 
 1651 * Version 2.2 - Patch 3 - 1990-11-28
 1652 
 1653 - Added the MSG or RUN tokens in an OMIT command; also
 1654   allowed RUN-type reminders to be explicitly included in the calendar by
 1655   using the %" escape sequence.
 1656 
 1657 * Version 2.2 - 1990-11-16
 1658 
 1659 - Added the AT keyword, the timed reminders daemon, and the
 1660   calendar facility.
 1661 
 1662 * Version 2.1 - 1990-11-06
 1663 
 1664 - Added the "repeat" token for repeating reminders with a period
 1665   other than 7 days.  Also fixed some bugs from version 2.0
 1666 
 1667 * Version 2.0 - 1990-11-01
 1668 
 1669 - first public release.  Included advanced date specifications,
 1670   character substitution, and the RUN keyword.
 1671 
 1672 * Version 1.0
 1673 
 1674 - never publicly released.
 1675 
 1676 
 1677