Lars Henriksen 5fbc499886 Fix monthly and yearly recurrence algorithms
The calculation of the year of the most recent occurrence for year dates before
the start date (disregarding the year) is incorrect for frequencies greater than
one. The most recent occurrence (for a date as mentioned) is either too far or
too close in the past. In most cases it does no harm because the most recent
ocurrence is in the past and does not span the date (i.e. there is no occurrence
on the day). But the following appointment shows the presence of the bug:

12/31/2019 @ 12:00 -> 01/01/2020 @ 12:00 {2Y} |new year

The occurence on 1 Jan 2020 is missing, because the most recent occurrence is
too far in the past (31 Dec 2018 instead of 31 Dec 2019). An occurrence appears
on 1 Jan 2021, because the most recent occurence is too close in the past (31
Dec 2020 instead of 31 Dec 2019).

A similar miscalculation affects the monthly rule as proved by

3/31/2019 @ 12:00 -> 4/1/2019 @ 11:00 {2M} |change of month

Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
2019-09-06 18:15:36 -04:00
2019-06-06 20:57:48 -04:00
2014-07-28 13:12:42 +02:00
2019-06-17 08:42:03 -04:00
2019-06-17 08:42:03 -04:00
2017-01-12 08:40:30 +01:00
2012-11-26 01:46:56 +01:00
2015-04-12 17:32:44 +02:00
2015-04-12 19:14:15 +02:00
2017-01-12 08:40:30 +01:00
2019-06-17 08:42:03 -04:00
2017-01-12 08:40:30 +01:00
2011-03-03 12:21:16 +01:00

calcurse

Demo

Building

Install the following build dependencies. If your distro segments development files from core packages (i.e., *-devel or *-dev packages), you may need to install those as well:

  • gcc
  • automake
  • asciidoc
  • gettext with development files
  • ncurses with development files

If you are using a release tarball, the following commands can be used to build and install calcurse:

$ ./configure
$ make
$ make install

Note that make install needs to be run as root. When working on a Git checkout, you need to run ./autogen.sh before ./configure.

Package Overview

  • build-aux: auxiliary files for the build process
  • contrib: useful tools such as hooks or the CalDAV synchronization script
  • doc: detailed documentation in plain text and HTML
  • po: translations and i18n-related files
  • scripts: additional official scripts, such as calcurse-upgrade
  • src: the actual calcurse source files
  • test: test suite and test cases for calcurse

Authors

calcurse was originally authored by Frederic Culot and is currently maintained by Lukas Fleischer.

Of course, there are numerous other contributors. Check the Git commit log and the Thanks section in the manual for a list of people who have contributed by reporting bugs, sending fixes, or suggesting improvements.

Contributing and Donations

Patches, bug reports and other requests are always welcome! You can submit them to one of our mailing lists (check the patch submission guidelines for details) or via GitHub.

We are also extremely grateful for donations which help us continue developing calcurse as open source software and are used to cover recurring costs, such as for our servers. You can use https://calcurse.org/donate/ for a one-time payment. If you prefer another form of donation, do not hesitate to contact us!

Description
No description provided
Readme 5.2 MiB
Languages
C 65.7%
Shell 29.6%
Python 3.4%
M4 0.8%
Makefile 0.5%