NEWS file for `gcal'.

User-visible changes.

Current Version: 3.00
See the HISTORY file for the details of all changes.


Major changes in release 3.00
* Some major changes in the `doc/LL/texi/gcal.texi' documentation.
* Changed my old and momentary (20000527) recent <esken@uni-muenster.de>
    eMail address to <esken@gmx.net>, because I do not know for how long
    my old address will remain valid.  At any case, the <esken@gmx.net>
    eMail account will hopefully be available for a long time.
* Changed <bug-gnu-utils@gnu.org> eMail address to <bug-gcal@gnu.org>.
* The new `--cycle-end=ARG' and `--cycle-step=ARG' options can be used for
    flexibly displaying a table of astronomical %sun* and %moon* special text
    times and data within a given time interval that is valid for a single day.
    If the `--cycle-end=ARG' option is given, the argument of the
    `--time-offset' option serves as the CYCLE-START value!
* Changed behavior of ``empty'' text variables TVAR,
    which are not displayed AS-IS anymore if referenced.
* New `--adjust-value=ARG' option for setting a user-defined rise/set-based
    reference altitude which is respected by the %sun* and %*moon special
    texts, respectively, the shadow length factor that is respected by the
    %sun* special texts.
* New `--atmosphere=ARG' option for setting the air pressure and temperature,
    which are the main values to calculate the actual amount of atmospheric
    refraction that is respected by some times and data of the %sun* and
    %moon* special texts.  If the air pressure argument is set to a value
    less equal zero, the %sun* and %moon* special texts do not correct some
    times and data by the amount of atmospheric refraction.
* The new `misc/mrms/*' files can be used to display the times at which
    moonset/moonrise has happened in the past resp., will happen in the
    future, based on the actual local time for several geographic locations
    around the world.
* Added new `data/bkk.rc', `data/ms.rc', `data/de-mdata.rc',
    `data/de-sdata.rc', `data/mdata.rc', `data/sdata.rc' and
    `data/sun-moon.rc' demonstration resource files.

Major changes in release 2.50 (inofficial alpha testing release)
* Added four new `%?[ARG]' "special texts with other argument" for displaying
    moonrise, moonset, Moon's day length and Moon's night length approximately
    (%(, %), %[ and %]).
* Changed behavior of the `--starting-day' and `--type' options, which
    do not implicitly enable a month calendar sheet anymore.
* If the date given as an argument to the `--gregorian-reform' option is
    beyond the actual (Gregorian) system date, the actual (Gregorian) system
    date and a date which is given by the actual date modifier %DATE will be
    automatically converted to the proper proleptic Julian calendar date now.
* The maximum year number which may be given as an argument to the
    `--gregorian-reform' option is 10002 now.  So it is possible to
    calculate proleptic Julian calendars likewise Chinese/Japanese
    calendar holidays/months until 31-Dec-9999.
* Changed behavior when analyzing the NLS $LANGUAGE, $LC_* and $LANG i18n
    environment variables.  Any of these environment variables which are
    defined, but have an empty value, are unrespected now.
* Removed a bug that occurred when display time values, and that time values
    like `11:60' are now correctly displayed as `12:00'.
* New `--precise' option for displaying the precise, non-rounded, data and
   times of the %sun*, %moon* and %distance special text.
* New `--limit' option for displaying only the sunrise and sunset times of the
    %sun* special text which appear on the actual day.
* Added 273 new countries/territories, which can be accessed by using
    the `--cc-holidays=CC[+CC+...]' option.
* New `--time-offset=ARG' option for setting a time offset value added,
    which is respected by
    `--astronomical-holidays' (Moon phase, solar and lunar eclipse,
    equinox, solstice),
    `--zodiacal-marker-holidays',
    `--celtic-holidays',
    `--chinese-flexible-holidays',
    `--chinese-flexible-months',
    `--japanese-flexible-holidays',
    `--japanese-flexible-months' and
    `--multicultural-new-year-holidays'.
    So it is possible to calculate such astronomically based events based on
    localtime instead of UT/GMT only.  Works also for the %sun* and %moon*
    special texts.
* New `--bahai-months' option for including the Bahai calendar months
    into the eternal holiday list added.
* New `--chinese-flexible-months' option for including the Chinese calendar
    months based on the meridian given as a time factor by the `--time-offset'
    option into the eternal holiday list added.
* New `--chinese-months' option for including the Chinese calendar months
    into the eternal holiday list added.
* New `--coptic-months' option for including the Coptic calendar months
    into the eternal holiday list added.
* New `--ethiopic-months' option for including the Ethiopic calendar months
    into the eternal holiday list added.
* New `--french-revolutionary-months' option for including the French
    Revolutionary calendar months into the eternal holiday list added.
* New `--hebrew-months' option for including the Hebrew calendar months
    into the eternal holiday list added.
* New `--indian-civil-months' option for including the Indian civil calendar
    months into the eternal holiday list added.
* New `--islamic-civil-months' option for including the Islamic civil calendar
    months into the eternal holiday list added.
* New `--japanese-flexible-months' option for including the Japanese calendar
    months based on the meridian given as a time factor by the `--time-offset'
    option into the eternal holiday list added.
* New `--japanese-months' option for including the Japanese calendar months
    into the eternal holiday list added.
* New `--old-armenic-months' option for including the Old-Armenic calendar
    months into the eternal holiday list added.
* New `--old-egyptic-months' option for including the Old-Egyptic calendar
    months into the eternal holiday list added.
* New `--persian-jalaali-months' option for including the Persian ``Jalaali''
    calendar months into the eternal holiday list added.
* New `--astronomical-holidays' option for including some astronomical data
    (Moon phase, equinox, solstice) into the eternal holiday list added.
* New `--bahai-holidays' option for including some Bahai calendar
    holidays into the eternal holiday list added.
* New `--celtic-holidays' option for including some Celtic calendar
    holidays into the eternal holiday list added.
* New `--chinese-flexible-holidays' option for including some Chinese
    calendar holidays based on the meridian given as a time factor by the
    `--time-offset' option into the eternal holiday list added.
* New `--chinese-holidays' option for including some Chinese calendar
    holidays into the eternal holiday list added.
* New `--hebrew-holidays' option for including some Hebrew calendar
    holidays into the eternal holiday list added.
* New `--islamic-civil-holidays' option for including some Islamic civil
    calendar holidays into the eternal holiday list added.
* New `--japanese-flexible-holidays' option for including some Japanese
    calendar holidays based on the meridian given as a time factor by the
    `--time-offset' option into the eternal holiday list added.
* New `--japanese-holidays' option for including some Japanese calendar
    holidays into the eternal holiday list added.
* New `--multicultural-new-year-holidays' option for including some
    multicultural New Year's Day holidays into the eternal holiday list added.
* Now, all dates of Easter-based holidays of the Orthodox Christian Eastern
    churches are implicitly converted to the appropriate Gregorian date
    according to the Gregorian Reformation period as respected in Greece.
* New `--orthodox-old-holidays' option for including some Orthodox Christian
    Eastern churches old calendar holidays into the eternal holiday list added.
* New `--orthodox-new-holidays' option for including some Orthodox Christian
    Eastern churches new calendar holidays into the eternal holiday list added.
* New `--persian-jalaali-holidays' option for including some Persian
    ``Jalaali'' calendar holidays into the eternal holiday list added.
* New `--zodiacal-marker-holidays' option for including some Zodiacal marker
    data (aka the Chinese/Japanese major/minor solar terms resp., aka the
    Chinese ZhongQi's/JieQi's) into the eternal holiday list added.
* Removed the `--without-standard-holidays' option.
* Removed a bug that occured during century leap years when displaying
    holidays of Orthodox Churches.
* When using an external pager via $PAGER environment variable,
    possible command line arguments stored there are passed now.
* Changed option `--mail=ADDRESS' to `--mail[=ADDRESS]'.  If no ADDRESS is
    specified, use contents of $MAILTO as ADDRESS.  If $MAILTO is not set,
    use contents of $USER as ADDRESS.  If $USER is not set, use contents of
    $LOGNAME as ADDRESS.  If $LOGNAME is not set, do not send eMail.
* New text variable assignment `TVAR?COMMAND' implemented, which assigns that
    text to TVAR --interpreted by Gcal--, which is created by the COMMAND on
    the STDOUT channel.  This kind of assigment is performed only in case the
    `--execute-command' option is given.
* New text variable assignment `TVAR:COMMAND' implemented, which assigns that
    text to TVAR --uninterpreted by Gcal--, which is created by the COMMAND on
    the STDOUT channel.  This kind of assigment is performed only in case the
    `--execute-command' option is given.
* Removed the highlighting from the help screens and changed the layout of
    the basic help screen (`--help' option).
* Removed fixed date modifier [B] (== `--bypass-shell-command') completely
    but added `--execute-command' instead, which is set to FALSE by default
    for safer program execution.
* Changed the file searching mechanism for resource, response, and user
    included files, and that searching by using the GCALPATH environment
    variable is done prior before searching by using the HOME environment
    variable.
* Added `doc/mksamp.in' and the SED scripts `mks1sed.in' (expanded to
    `mksamp-1.sed'), and `mks2sed.in' (expanded to `mksamp-2.sed') for
    generating Texinfo files from the `doc/LL/examples/*.in' examples template
    files ready to include into the `doc/LL/texi/gcal.texi' documentation.
* Added all example resource files from the Gcal Texinfo reference manual
    to the `doc/LL/examples/' subdirectories.
* A '-' character leading one of the `%?' "special texts without any argument"
    (`%[FORMAT]y', `%[FORMAT]m', `%[FORMAT]w' and `%[FORMAT]d') switches the
    sign of the computed value.
* Renamed the Gcal supported environment variable LINES to GCAL_LINES,
    COLUMNS to GCAL_COLUMNS, LI to LINES and CO to COLUMNS.
* The `doc/LL/gcal.info*' files are created now by using 8-bit characters
    assuming the next official release of Texinfo's `info' reader supports
    8-bit characters.
* The new `doc/LL/gcal.html' HTML files are now part of the distribution.
* The old `doc/LL/gcal.txt' 8-bit plain text files are no longer part of
    the distribution.
* Added new `doc/LL/txi-LL.tex' files.
* The new `misc/wloc/*' files can be used to create location files which
    contain the air line distances and the direction/course angles between
    several geographic locations around the world.
* The new `misc/ddiff/*' files can be used to create Gcal location resource
    files which contain the day/night lengths and differences for all days
    of the year for any location around the world.
* Added new `data/birthday', `data/wloc.rc', `data/wtt1.rc', `data/wtt2.rc'
    and `data/wtt3.rc' demo resource files.
* Added new `%[FORMAT]?[ARG]' "special text with other argument" for displaying
   either the air line distance between two geographical point locations
   or the course/direction angle between two geographical point locations (%b).
* Fixed date modifier [J] (== `--suppress-text-part') added.
* New `--transform-year=BASE_YEAR' option for setting the base year
    of the calendar.
* The text converters `txt2gcal' and `gcal2txt' also respect the optional
    format instruction which can be used by many special texts `%?'... and
    all text variables TVAR.
* New command implemented:  MM-MM JJJJ+JJJJ
     which displays a range of selected months of specified years.
* New `--suppress-holiday-list-separator' option (== `-G') for suppressing
    the leading blank line shown before the holiday list title added.
* New `--translate-string=TEXT' option for defining the translatable country
    specific special character pairs added.
* Added new `%[FORMAT]?[ARG]' "special text with other argument" for displaying
    the current system time total minutes (%').
* Added new `%[FORMAT]?[ARG]' "special text with other argument" for displaying
    the current system time hour (%_).
* Added new `%[FORMAT]?[ARG]' "special text with other argument" for displaying
    the current system time minute (%?).
* Added new `%[FORMAT]?[ARG]' "special text with other argument" for displaying
    the current system time am|pm suffix (%{).
* Added new `%[FORMAT]?[ARG]' "special text with other argument" for displaying
    the current GMT total minutes (%`).
* Added new `%[FORMAT]?[ARG]' "special text with other argument" for displaying
    the current GMT hour (%.).
* Added new `%[FORMAT]?[ARG]' "special text with other argument" for displaying
    the current GMT minute (%/).
* Added new `%[FORMAT]?[ARG]' "special text with other argument" for displaying
    the current GMT am|pm suffix (%}).
* Added new `%?[ARG]' "special text with other argument" for displaying
    the RFC-822 style numeric timezone offset value which is based on the
    local time zone (%=).
* Added new `%?[ARG]' "special text with other argument" for displaying
    the RFC-822 style numeric timezone offset value which is based on the
    UT/GMT zone (%").
* Russian translation by Oleg S. Tihonov.
* The new `misc/srss/*' files can be used to display the times at which
    sunset/sunrise has happened in the past resp., will happen in the
    future, based on the actual local time for several geographic locations
    around the world.
* Created AWK/Perl `data/scripts/v2x2v300' scripts for converting all
     `%?'... special texts of former Gcal versions into their "new" style.
* Removed the obsolete `misc/wdays.*' files,
    see `misc/README' for further information.
* By reason of implementing the optional format instruction which
    can be used by many format elements in the date format text
    now, the burned-in default country specific date formats for
    `DE == Germany', `US == U.S.A.' and `GB == Great Britain',
    which can be specified by the `--date-format' option are
    obsolete now and are changed to:
    CC  Old-style               New-style
    DE  `%w,  %1%D%2 %b %y' ==  `%<2#K,  %1%>2*D%2 %<3#U %>04*Y'
    US  `%W, %b  %1%U%2 %y' ==  `%<3#K, %<3#U  %1%>2&*D%2 %>04*Y'
    GB  `%W,  %1%U%2 %b %y' ==  `%<3#K,  %1%>2&*D%2 %<3#U %>04*Y'
* By reason of implementing the optional format instruction which
    can be used by many date format texts now, some format
    elements which can be individually specified by the
    `--date-format' option are obsolete now and are changed to:
    Symbolic name                   Old-style     New-style
    %day number                     `%d'      ==  `%>02*D'
    %day number +LS                 `%D'      ==  `%>2*D'
    %day number +LZ ONS             `%u'      ==  `%02&*D'
    %day number +LS ONS             `%U'      ==  `%>2&*D'
    %complete month name            `%B'      ==  `%U'
    %3-letter month name            `%b'      ==  `%<3#U'
    %month number +LZ               `%m'      ==  `%>02*M'
    %month number +LS               `%M'      ==  `%>2*M'
    %complete year number +LZ       `%y'      ==  `%>04*Y'
    %complete year number +LS       `%Y'      ==  `%>4*Y'
    %last-2-digit year number +LZ   `%z'      ==  `%>02#Y'
    %last-2-digit year number +LS   `%Z'      ==  `%>2#Y'
    %complete weekday name          `%A'      ==  `%K'
    %3-letter weekday name          `%W'      ==  `%<3#K'
    %2-letter weekday name          `%w'      ==  `%<2#K'
    Legend:
    +LZ ==  With leading zero(es)
    +LS ==  With leading space(s)
    ONS ==  With Ordinal Number suffix
* By reason of implementing the optional format instruction 
    which can be used by many special texts in the text part of
    a resource file line now, some of these special texts are
    obsolete now and are changed to:
    Symbolic name                            Old-style     New-style
    %complete weekday name                   `%o'      ==  `%K'
    %3-letter weekday name                   `%O'      ==  `%>3#K'
    %2-letter weekday name                   `%K'      ==  `%>2#K'
    %weekday number (Mon=1...Sun=7)          `%S'      ==  `%W'
    %weekday number (Mon=1...Sun=7) ONS      `%I'      ==  `%>1&*W'
    %weekday number (Mon=0...Sun=6) ONS      `%J'      ==  `%>1&*E'
    %weekday number (Sun=1...Sat=7)          `%('      ==  `%I'
    %weekday number (Sun=1...Sat=7) ONS      `%<'      ==  `%>1&*I'
    %weekday number (Sun=0...Sat=6)          `%)'      ==  `%J'
    %weekday number (Sun=0...Sat=6) ONS      `%>'      ==  `%>1&*J'
    %weekday number (Mon=1...Sun=7) FLX      `%['      ==  `%S'
    %weekday number (Mon=1...Sun=7) FLX ONS  `%{'      ==  `%>1&*S'
    %weekday number (Mon=0...Sun=6) FLX      `%]'      ==  `%T'
    %weekday number (Mon=0...Sun=6) FLX ONS  `%}'      ==  `%>1&*T'
    %day-of-year number                      `%+'      ==  `%N'
    %day-of-year number +LZ                  `%*'      ==  `%>03*N'
    %day-of-year number ONS                  `%&'      ==  `%>1&*N'
    %day-of-year number +LZ ONS              `%#'      ==  `%>03&*N'
    %day number +LZ                          `%N'      ==  `%>02*D'
    %day number ONS                          `%s'      ==  `%>1&*D'
    %day number +LZ ONS                      `%u'      ==  `%>02&*D'
    %complete month name                     `%M'      ==  `%U'
    %3-letter month name                     `%T'      ==  `%>3#U'
    %month number                            `%U'      ==  `%M'
    %month number +LZ                        `%W'      ==  `%>02*M'
    %month number ONS                        `%z'      ==  `%>1&*M'
    %month number +LZ ONS                    `%Z'      ==  `%>02&*M'
    %complete year number +LZ                `%='      ==  `%>04*Y'
    %age value (birthday) number             `%b'      ==  `%B'
    %age value (birthday) number ONS         `%B'      ==  `%>1&*B'
    %moon phase                              `%-'      ==  `%O'
    %moon phase +LZ                          `%_'      ==  `%>03*O'
    %moon phase text graphics image          `%:'      ==  `%Z'
    Legend:
    +LZ ==  With leading zero(es)
    FLX ==  Flexible starting day of week (`-s N' option)
    ONS ==  With Ordinal Number suffix
* Implemented an optional format instruction, which can be used by many
    special texts `%?'... and all text variables TVAR. Its template is:
    [ ALIGNMENT [SIGN] [LZERO] WIDTH [SUFFIX] FORMAT ]
    (must be given in above mentioned order), e.g., `$:+010&#a' or `%>20&*Y'.
    ALIGNMENT: < == adjusts field contents at the left margin
                    using width WIDTH.
               : == adjusts field contents in centered manner
                    using width WIDTH.
               > == ajdusts field contents at the right margin
                    using width WIDTH.
    SIGN     : + == a numerical value is always lead by its sign.
    LZERO    : 0 == a numerical value is filled up to WIDTH leading zeroes
                    inclusivly a possibly leading explicit SIGN or an
                    implicitly leading negative sign..
    WIDTH    : N == is the width N of the field (1...256).
    STYLE    : u == converts field contents to upper-case letters.
               l == converts field contents to lower-case letters.
               w == converts field contents to capitalized words.
    SUFFIX   : & == a numerical value is provided with
                    an ordinal number suffix.
    FORMAT   : * == does not cut the field contents after position WIDTH
                    if it is longer than WIDTH.
               # == cuts the field contents after position WIDTH
                    if it is longer than WIDTH.
* The `--cc-holidays=CC[+CC+...]' option now allows to select more country
    specific holidays (partially incomplete), which are:
    CC   Country
    ae   United Arab Emirates
    ag   Antigua and Barbuda
    ai   Anguilla
    an   Netherlands Antilles
    ar   Argentina
    aw   Aruba
    bb   Barbados
    br   Brazil
    cl   Chile
    cn   China
    co   Colombia
    cr   Costa Rica
    cy   Cyprus
    dm   Dominica
    ec   Ecuador
    eg   Egypt
    gd   Grenada
    gp   Guadeloupe
    id   Indonesia
    ie   Ireland
    is   Iceland
    jo   Jordan
    jp   Japan
    kn   St. Kitts and Nevis
    kr   Republic of Korea
    lc   St. Lucia
    li   Liechtenstein
    lu   Luxembourg
    mq   Martinique
    ms   Montserrat
    my   Malaysia
    nz   New Zealand
    pe   Peru
    ph   Philippines
    ro   Romania
    ru   Russian Federation
    sg   Singapore
    sk   Slovakia
    tr   Turkey
    tt   Trinidad and Tobago
    tw   Taiwan
    uy   Uruguay
    vc   St. Vincent and Grenadines
    ve   Venezuela
    vg   British Virgin Islands
    vi   U.S. Virgin Islands
    za   South Africa
* Version 1.6 of `misc/gcalltx/gcalltx.pl' added, which superseeds
    previous versions.
* A few bugfixes and alot of modifications in the `src/*.c|h' files.

Major changes in release 2.41 (inofficial alpha testing release)
* Version 1.5 of `misc/gcalltx/gcalltx.*' added.
* Added new `%?[ARG]' "special text with other argument" for displaying
    the actual Greenwich Mean Time (%@).
* Improved math emulation code (still slow).
* Option `--resource-file=-[+...]' resp., `-f|F-[+...]' reads from stdin
    channel now; `-f|F -[+...]' still searches for a file by the name of `-'.
* Changed the definition for a %time "special text with other argument", which
    template was `%t[12|24]' and is now defined as `%t[*][[+|-]MMM|HH:[MM]]'.
* Updated to GNU `gettext' version 0.10.35.
* Added four new `%?[ARG]' "special texts with other argument" for displaying
    sunrise, sunset, day length and night length approximately
    (%o, %s, %u and %z).
* Improved the processing speed of the `tcal' program in case it has to deal
    with ``large'' displacement values.
* Changed the upper-case metatexts indicating the year (yyyy), month (mm) etc.
    to lower-case texts in Gcal's help screens.
* The new `misc/dst/*' files convert ZONEINFO Daylight Saving Time informations
    into Gcal's fixed date format.
* The fixed date modifier [a] (== `--include-resource-file-name') also puts the
    line number of the fixed date into output.
* Added more information text about Gcal's current i18n default mode in the
    version text.
* New `--iso-week-number=yes|no' option for determing the type of week numbers
    used in the calendar sheet and the fixed date list.
* Implemented some basic operations on text variables which are allowed in case
    TVAR contains an integer value:
      TVAR++
      TVAR--
      TVAR+=[+|-]N
      TVAR-=[+|-]N
* Extended the basic date variable operation `DVAR+=N' to `DVAR+=[+|-]N'.
* Extended the basic date variable operation `DVAR-=N' to `DVAR-=[+|-]N'.
* Extended definition of real Julian day number special text from `%j[[-]N]'
    to `%j[[+|-]N]'.
* Renamed the `--exit-status-help-127' option to `--exit-status-help-non-zero'.
* New `--ignore-case' option for ignoring case distinctions in both the PATTERN
    and the text part of a resource file line, if the `--filter-text=PATTERN'
    option is specified.
* New `--revert-match' option for reverting the sense of matching, i.e. to
    select non-matching lines, in case the `--filter-text=PATTERN' option
    is specified.
* The new `misc/moon/*' files show how advanced use of Gcal can be done
    in shell script files.
* The new `misc/daily/*' files demonstrate how basic time management
    of fixed dates can be done.
* Added new `%?TEXT' "special texts with text argument" for displaying
    the contents of environment variables (%-).
* Corrected and added some Thai holidays (CC=th).
* New `misc/gcalmagic.add' for adding to `/etc/magic' file.
* Fixed date modifier [Q] (== `--suppress-fixed-dates-list-separator') for
    suppressing the leading blank line shown before the fixed date list title
    added.
* No post-search for files in the burned-in GCAL_???_DATADIR directories is
    performed anymore in case the GCAL_???_DATADIR environment variable
    is set, but the file is NOT found there.
* A few bugfixes in some `Makefile.in' files
    and in the private `./install-inf.in' script.
* Some minor changes in the `doc/LL/texi/gcal.texi' documentation.

Major changes in release 2.40
* Polish translation by Wojciech Marek Galazka.
* Added six new `%?' "special texts without any argument" for
    conditionally highlighting of text (%5 , %6 ... %9 and %0).
* Fixed date modifier [U] (== `--suppress-date-part') added.
* Removed the `-m ADDRESS' short-style option for sending eMails.
* The `--biorhythm-axis=NUMBER' option can be used now for setting the
    width of a `%;[DATE]' biorhythm text graphics (NUMBER within the
    range of 1...100, the default width of a single axis is 20 characters).
* Added two new `%?[DATE]' "special texts with date argument"
    for displaying the biorhythm cycle (%, and %;).
* The `--moonimage-lines=NUMBER' option can be used now for setting the
    number of lines of a `%:[DATE]' Moon phase text graphics (NUMBER within
    the range of 6...30, the default height of the image are 12 lines).
* Updated to GNU `gettext' version 0.10.27.
* Swedish translation by Johan Linde.
* Improved signal handling.
* The `--here=LINE' option (== `-# LINE') can be used now for defining
    resource file lines, which are additionally processed at last
    in each resource file processing cycle.
* Added three new `%?[DATE]' "special texts with date argument"
    for displaying the Moon phase approximately (%- , %_ and %:).

Major changes in release 2.30 (inofficial beta testing release)
* The `--orthodox-calendar' option (== `-O') can be used now for
    calculating the leap years as done by the Eastern orthodox churches.
* Corrected the fixed date feature for that year
    in which the Gregorian Reformation have occured.
* The burned-in Gregorian Reformation period 18-28 Feb 1753
    (`--gregorian-reform=1753') is new.
* The burned-in Gregorian Reformation period 19-28 Feb 1700
    (`--gregorian-reform=1700') is new.

Major changes in release 2.20 (inofficial beta testing release)
* Dutch translation by Erick Branderhorst.
* French translation by Michel Robitaille.
* The MAILPROG environment variable can be used now for specifying
    the program which is used as the mailer.
* The new `--cc-holidays=CC[+CC+...]' option now allows to select
    the country specific holidays which are part of the eternal holiday
    list.  Already supported country specific holidays are:
    CC   Country
    --   -------
    at   Austrian holidays
    au   Australian holidays
    be   Belgian holidays
    ca   Canadian holidays
    ch   Swiss holidays
    cz   Czech holidays
    de   German holidays
    dk   Danish holidays
    es   Spanish holidays
    fi   Finnish holidays
    fr   French holidays
    gb   British holidays
    gr   Greek holidays
    hu   Hungarian holidays
    it   Italian holidays
    mx   Mexican holidays
    nl   Dutch holidays
    no   Norwegian holidays
    pl   Polish holidays
    pt   Portuguese holidays
    se   Swedish holidays
    si   Slovenian holidays
    th   Thai holidays
    us   U.S. American holidays
* Removed the `--de-holidays' and `--us-holidays' options.
* The `--without-standard-holidays' option disables all "standard" holidays.
* Fixed date modifier [Z] (== `--zero-dates-only') added.
* The `--filter-period=ARG' option (== `-P ARG') can be used now for
    displaying only those fixed dates which are matched by the ARG.
    ARG is one or more of the `%?[DATE]' "special texts with date argument"
    (without a leading '%' character and connected by a `,' character)
    used for date exclusion, means "inclusive/exclusive date period".
* The `--filter-day=ARG' option (== `-D ARG') can be used now for
    displaying only those fixed dates which are matched by the ARG.
    ARG is one or more of the `%?' "special texts without argument"
    (without a leading '%' character) used for date exclusion,
    means "inclusive/exclusive day period".
* Fixed date modifier [B] (== `--bypass-shell-command') added.
* The `gcal2txt.c' file, which creates a verbatim text file
    from a Gcal resource file is part of distribution now.
* The `--filter-text=PATTERN' option (== `-I PATTERN') can be used now for
    displaying only those fixed dates which are matched by the regular
    expression search pattern.
* A `^' character given in the "text"-part of a resource file line creates
    a real `\n' newline character (similar `~' character), except the fact
    that text breaked up by it isn't provided implicitly with leading blanks.
* Implemented a bunch of new special texts (the `%?'... things),
    which can be used in the text part of a resource file line.

Major changes in release 2.11 (inofficial beta testing release)
* Option `-K' respectively `--with-week-number' now
    provides the calendar sheets with ISO week numbers.
* The date variable `t' (yyyy@e|t|dvar[+|-]N[`www']) references
    the actual date now and has a special meaning therefore (likewise `e').
* Supports `libncurses.a' now.

Major changes in release 2.10
* Rewrote the `tcal-sh' shell script as a C program.
* Several long-style options implemented like --today, --tomorrow, --week,
    --end-of-week, start-of-week, --month, --end-of-month, --start-of-month,
    --year, --end-of-year and --start-of-year, which are ALIAS names of the
    according modifiers of the -c|C[] short-style option.
* The German `.info' and `.txt' files likewise the German
    message catalog `de.po' are conforming the ISO-8859-1
    character set now.
* The new %z and %Z directive of --date-format=PRESET_VALUE|ARG
    option now allows to display the last two digits of a year.
* Updated to GNU `gettext' version 0.10.23.

Major changes in release 2.01 (inofficial beta testing release)
* Added %k[yyyy[mm[dd|`www'[<n>]]]] macro, which is replaced by the
    ISO-week number of the current/specified date in the text part
    of a resource file line.
* Added %o[yyyy[mm[dd|`www'[<n>]]]] macro, which is replaced by the
    complete textual weekday name of the current/specified date in
    the text part of a resource file line.
* Updated to GNU `gettext' version 0.10.14.
* Some bugfixes in the C sources and
    a few changes in the Texinfo documentation (corrected xref's).
* A "text-part" of a resource file line may be provided now
    with leading whitespace characters if the first of these
    leading whitespace characters is quoted.

Major changes in release 2.00
* Renamed --export-local-date-variables long-style option to
    --export-date-variables.
* The new --export-text-variables option now allows to export
    local text variables from file to file.
* The new --text-variable=ARG option (resp., -r ARG) now allows
    the definition of global text variables.
* Implemented the use of global and local text variables (`tvar'->$a...$z),
    which can be set to ordinary text, %... macros and references to other
    text variables and are expanded resp., respected everywhere in a
    resource file line if referenced there.
* Removed the --assign=ARG long-style option.
* New command implemented:  mm/jjjj-jjjj  or  mm jjjj-jjjj
    which displays a range of a selected month of specified years.
* Gcal package internationalized by means of the GNU gettext package
    (German message catalogs).
* Reorganized package structure.
* Changed symbol/environment variable GCAL_USR_LIBDIR to
    GCAL_USR_DATADIR and GCAL_SYS_LIBDIR to GCAL_SYS_DATADIR.
* Some new date variable assignments/operations implemented:
    dvar=dvar[+|-]N      --> Assignment of a date variable `dvar',
                               advanced by plus/minus N days.
    dvar=dvar[+|-]N`www' --> Assignment of a date variable `dvar',
                               advanced by plus/minus N weekdays `www'.
    dvar+=N`www'         --> Addition of N weekdays `www'.
    dvar-=N`www'         --> Subtraction of N weekdays `www'.
* An underscore ('_') character which is used in option arguments is
    converted to a real blank/space (' ') character now unless it's
    quoted like '\_'.
* The (pre)selected/defined "date format" is used now to set the attributes
    in calendar sheets.
* The new GCAL_DATE_FORMAT environment variable can be used to preset the
    date format, which is used to order a displayed date.
* The new --date-format=PRESET_VALUE|ARG option now allows flexible
    ordering of a displayed date.
* The contents of the GCALPATH environment variable will be used now on
    all systems for searching resource and response files.
* New GNU long-style option mode implemented, which either allows the
    selection of a SPECIAL option argument or of a GIVEN option argument
    (see --gregorian-reform=YEAR|ARG, where ARG is a user defined Gregrorian
    Reformation date yyyy,mm,dd,dd).
* The `txt2gcal.c' file, which creates a verbatim Gcal resource from a
    a text file is part of distribution now.
* The contents of the TZ (timezone) environment variable is displayed now
    in the header part of created response files, shell script files and
    outgoing Emails.
* Changed the file searching mechanism with the effect, that files
    are no longer searched in the actual directory (sure, this can be
    forced by e.g.:  `-f foo+./bar+./baz').
* Revised "eternal holiday" list.
* Implemented the new run-time option --de-holidays, which
    provides the eternal holiday list with additional German holidays.
* The C preprocessor symbols USE_CATH, USE_USHDY, EXIT_STAT_HLP,
    GREG_1582 and GREG_1752, which were selectable during the
    (Auto)configuration step, are made to run-time options of
    Gcal now (--christian-holidays, --us-holidays, --exit-status-help-127
    and --gregorian-reform=YEAR).

Major changes in release 1.01
* My private `install-info' shell script is part of the distribution now.
* Rejected my specific copyright conditions, because these contradict
    the terms of the GPL.
* Some small bugfixes.

Major changes in release 1.00
* Specific copyright conditions are part of Gcal now,
    see the file COPYING2 for more information.
* The option `--starting-day=0' can now be specified as
    `--starting-day=today' respectively `-s today', too.
* The German program version now accepts the English day and
    month names if no appropriate German names are given.
* Added %1, %2, %3 and %4 macros for user defined
    text highlighting in the text part of a resource file.
* Unlimited nesting level of include files realized.
* Implemented the use of an optional "repetition" factor and an optional
    "appearance" factor, which can be added to the end of a date part of fixed
    dates, which are given in a resource file (`:' leads a repetition factor,
    `.' leads an appearance factor):
      yyyymmdd:N
      yyyymmdd:N.N
      yyyymmdd:N,[mm]dd:N.N ...
      yyyymmdd#[mm]dd.N
      yyyymmdd#[mm]`www'N.N
      yyyymm`www'N:N
      yyyymm`www'N:N.N
      yyyymm`www'N:N,[mm]`www'N:N.N ...
      yyyymm`www'N#[mm]`www'N.N
      yyyymm`www'N#[mm]dd.N
      yyyymm`www'#`www'.N
    [ All the above codings are allowed with the yyyy@e|dvar[+|-]N[`www']
      and the yyyy*d|wN[`www'] date formats, too! ]
* Implemented optional lists and ranges of days, which can be added to the
    date part of fixed dates, which are given in a resource file (`,' is the
    list separator character, `#' the range separator character):
      yyyymmdd|`www'|`www'N,[mm]dd|[mm]`www'|[mm]`www'N ...
      yyyymm`www'#`www'
      yyyymm`www'N#[mm]`www'N
      yyyymmdd#[mm]`www'N
      yyyymm`www'N#[mm]dd
      yyyy*d|wN|N`www',N|N`www' ...
      yyyy*d|wN#N`www'
      yyyy*d|wN`www'#N
      yyyy*d|wN`www'#N`www'
      yyyy@e|dvar,|[+|-]N[`www'],[+|-]N[`www'],[+|-]N[`www'],[+|-]N[`www'] ...
      yyyy@e|dvar[+|-]N[`www']#[+|-]N[`www']
* Gcal now checks for the existence of an external `pg' pager.
* The subject for an outgoing Email is now created
    via the `-s' option of the `mail' program.
* Added %j[[-]N] macro (real Julian day number).
* Changed the week number of year text.
* A fixed date warning which results to a leap day (i.e. the
    29'th February), is displayed at the 28'th February in
    non-leap years if the option `--leap-day=february' is given
    resp., at the 1'st March if the option `--leap-day=march'
    is given.
* The `--long-help=?' resp., `--usage=?' option now
    prints a list of all valid long-style options.
* Renamed `--hidden' option to `--export-local-date-variables'.
* Alternative format of fixed date list (--alternative-format
    resp., fixed date modifier [A]) implemented.
* Increased the version number to 1.00.

Major changes in release 0.39
* Fixed some bugs in the C sources.
* A positive displacement value for a date variable may
    either be given `@dvar+N' or `@dvarN' now.

Major changes in release 0.38
* Added environment variable GCALANSI, which must be defined
    (not necessarily set) if ANSI escape highlighting sequences
    should be substituted respectively emitted by default.
* Redefined the "starting_day_of_week_option", which requires
    an argument now (--starting-day=ARG respectively -s ARG,
    and new ARG is 0 | 1|Mon|2|Tue|...|7|Sun).
* Short-style options which require an argument can be given
    now either in the `-Xfoo' or in the `-X foo' notation.
* --exclude-holiday-list-title resp., -X option excludes
    the title text of an eternal holiday list now.
* Independant use of standard dates, Julian dates and both
    standard- and Julian dates in calendar sheet (-j -jb),
    eternal holiday list (-jn -jnb) and fixed date warning
    list (-jc -jcb).
* -c|C<n> option eliminated.
* -c|C[0]... for indicating a list eliminated, used
    further modifier [l] --list-mode instead.
* -c|Cmmwww<n>n is now -c|Cmmwww<n> without mode character 'n'.
* Further fixed date modifiers *d<n>, 0*d<n>,*d<n>www, 0*d<n>www,
    *w<n>, 0*w<n>,*w<n>www, 0*w<n>www added.
* Date variables are able to manage the new date format now
   (e.g. dvar=*d<n>[www]).
* The %s..., %e..., %b... and %y... macros are able to
    manage the new date format now (e.g. %syyyy*d<n>[www]).
* Actual date modifier manages the new date formats now
    (%yyyy*d<n>[www] resp., %yyyy*w<n>[www]).
* Included new date formats yyyy*d<n>[www] and yyyy*w<n>[www]
    for encoding fixed dates in a resource file.
* Changed description text of `wn' to `www' (means short
    weekday name consisting of two or three characters).
* The number 99 encodes the last month mm of a year now.
* The number 99 encodes the last day dd of a month now.
* The number 999  encodes the last day of a year now.
* Changed default behavior of fixed date warning period
    modifiers t, w+, m+ and y+ (the produced list doesn't
    start today now).
* Option --include-today resp., fixed date modifier
    [d] is new.
* Option --shell-script=ARG resp., -S<NAME> creates a shell
    script for calling gcal with all given arguments of the
    command line and GCAL environment variable (similar the
    --response-file=ARG resp., -R<NAME> response file option).
* Option `-H yes' added, which forces the output of
    highlighting sequences if output is redirected/piped.
* Option --highlighting=yes is the equivalence of -H yes.
* Option --highlighting=no is the equivalence of -H no.
* -q[1..4] short style option doesn't exist anymore
    (changed to  --debug[=list_of_arguments]).
* Revised several long and short style options and
    changed their option character resp., mnemonic name.
* Revised documentation and help screens again.

Major changes in release 0.37
* More long options implemented.
* Revised documentation.

Major changes in release 0.36
* Bugfix for OS/2 systems.
* Several typos in man-pages and Texinfo files corrected.
* The German "Umlaute" are supported now in dvi
    file of German Texinfo documentation.

Major changes in release 0.35
* Official distributed version.
* First version of Texinfo documentation created.

Major changes in release 0.34
* External pager is respected now.
* Another fiscal year command `:yyyy' added.
* Two further special 3 month modes added:
    command `.+':  actual and next two month of current year.
    command `.-':  actual and previous two month of current year.
* Email option -m|M<Email address> included,
    which sends gcal's output by mail(1) program to user.
* Extension of actual date modifier:
    %month name[dd], %weekday name[n], %dd.
* Global suppress calendar sheet option -u added.
* Renamed options: -f|F is -n|N now and vice versa.
* Added further "eternal holiday list" option -F for
    displaying legal days only.
* Further actual date modifier %yyyy@<e|dvar>[[-]<n>[wn]] added.
* Further fixed date modifiers @dvar[[-]<n>], 0@dvar[[-]<n>],
   @<e|dvar>[[-]<n>[wn]] and 0@<e|dvar>[[-]<n>[wn]] added.
* Some long options (--help --help-long --license
    --version) added.
* Added further command line option for setting global
    date variables (-v<dvar=mmdd:dvar=dvar2...>).
* Implementation of simple global and local date variables
    and some basic operations on them (dvar=mmdd, dvar=mmwn<n>,
    dvar=dvar, dvar++, dvar--, dvar+=<n> and dvar-=<n>).
* Calculation of eternal holidays from A.D.464..YEAR_MAX.
* Further fixed date modifiers <n>d, 0<n>d,
    @e[[-]<n>] and 0@e[[-]<n>] added.
* Further fixed date modifier [E] added which enables inclusion
    of those eternal holiday dates, which are legal days only.
* Added further command line option
    -d<seq1_start:seq1_end:seq2_start:seq2_end>
    for setting user defined highlighting sequence / marking
    character pairs.
* Response file write option -l<NAME> implemented.
* Actual date modifier %yyyy[mm[dd|wn[n]]] resp.,
    %yyyy@e[[-]<n>] added.
* Standard date part of resource file line more flexible now
    -> yyyy[mm[dd[n]]]<space>`text'
* @... holiday coding of date part of resource file line added,
    e.g.: yyyy@e-20 = date at Easter-20 days in year yyyy
          0000@e20  = date at Easter+20 days every year
* Further fixed date modifiers <n>w, 0<n>w, `mmdd'<n>n
    and 0`mmdd'<n>n added.
* Fixed date modifiers [k] (display ISO week numbers)
    and [u] (suppress output of calendar sheet) added.
* Two special 3 month modes added:
    command `.':  previous, actual and next month of current year.
    command `..':  actual quarter of current year.
* Extended %b..., %y..., %s... and %e... macros by the
    "n'th weekday of month" field and the [yyyy] is
    optional now (explicit year or 0000),
    e.g.: %s[yyyy[mm[dd|wn[n]]]].
* Extension of RC-file's date part by a "n'th weekday of month"
    field.
* Increased the number of managed resource file entries
    to 10000.
* Further command line option for setting the warning level
    (-q[1..4]) added.
* #include statements in resource files are respected now.
* Resource files are searched in `gcal's user library
    directory GCAL_USR_LIBDIR and `gcal's system library
    directory GCAL_SYS_LIBDIR, too.
* Extended %syyyy[mm[dd]] and %eyyyy[mm[dd]] macros.
* Added simple %d macro (day difference),
        simple %w macro (week difference),
        simple %m macro (month difference),
        simple %y macro (year difference)
        and the %n[[-]<n>] macro (effective date text).
* Extended time macro %t[12|24] (12 / 24 hour display) added.
* RC-file %... items may be quoted by \%... now.
* Further fixed date modifier [z] added for showing
    the consecutive number of a fixed date warning message.
* A line of the resource file can be continued at next
    line by a BACKSLASH-NEWLINE character sequence now.
* Response file (@file) handling added.
* Further fixed date modifier `simple' <n> added.
* Extended help screen (-hh|-??) added.
* Further fixed date modifiers `mmdd', 0`mmdd', <n><+|->
    and 0<n><+|-> added.
* Renamed environment variable `CAL' to `GCAL'.
* Renamed `cal' to `gcal'!

Major changes in release 0.33
* Alternative resource file (-n|N<NAME[+...]>) feature added.
* Management of %t, %syyyy and %eyyyy items in RC-file.
* Fixed date modifiers [a] (show RC-file name in warning)
    and [x] (exclude title of fixed date list) added.
* Starting day of week option [-s[]] without trailing
    modifier sets starting day of week to actual weekday.
* Display all dates of fixed date warning period feature
    added (-C[] or -C[][T|W|M|Y] or -c[][T|W|M|Y] or -N<>)
    (thanks to Stephan Forth).
* Fixed date modifier for grouping [g[`txt']] added
    (thanks to Stephan Forth).
* Fixed date modifier added for omitting the date part of a
    warning [o] in case more than one warning refers to that date.
* Added quoting of `~'-TILDE character by `\~' resp., `\\~'.

Major changes in release 0.32
* German "Tag der Deutschen Einheit" holiday respected
    after 1953 and 1989 now.
* Fiscal year mode ([mm:]yyyy) implemented.
* Added highlighting of eternal holiday list.
* Very poor and simple internal pager (-p) implemented.
* CAL environment variable for options is respected now.
* (-i) international calendar format (similar BSD-cal) added.

Major changes in release 0.31
* Changed my signature.
* Print year using %04d format always.

Major changes in release 0.30
* Respected Julian flag for RC fixed dates/holiday list.
* Julian option modifiers [bfc].
* `~'-char in RC-file line is replaced by a "real" `\n'-NEWLINE char.

Major changes in release 0.29
* Included copyright notice (gpl) and version.
* U.S. holidays (US_HDAY).
* Respected eternal holidays in fixed dates list.
* Ascending/descending sort of holiday list/RC fixed dates.

Major changes in release 0.28
* Management of %byyyy and %yyyyy items in RC-file.
