diff --git a/man/remind.1.in b/man/remind.1.in index 3111e4b2..fac635ab 100644 --- a/man/remind.1.in +++ b/man/remind.1.in @@ -3080,11 +3080,12 @@ will produce undefined results. Returns the time of "civil twilight" on the specified \fIdate\fR. If \fIdate\fR is omitted, defaults to \fBtoday()\fR. .TP -.B easterdate(dqi_arg) +.B easterdate([dqi_arg]) If \fIarg\fR is an \fBINT\fR, then returns the date of Easter Sunday for the specified year. If \fIarg\fR is a \fBDATE\fR or \fBDATETIME\fR, then returns the date of the next Easter Sunday on or -after \fIarg\fR. (The time component of a datetime is ignored.) +after \fIarg\fR. (The time component of a datetime is ignored.) If \fIarg\fR +is omitted, then it defaults to \fBtoday()\fR. .RS .P Note that \fBeasterdate\fR computes the Western Easter. For the Orthodox @@ -3439,11 +3440,12 @@ the actual time, or a time supplied on the command line. Returns a string that is the ordinal number \fInum\fR. For example, \fBord(2)\fR returns "2nd", and \fBord(213)\fR returns "213th". .TP -.B orthodoxeaster(dqi_arg) +.B orthodoxeaster([dqi_arg]) If \fIarg\fR is an \fBINT\fR, then returns the date of Orthodox Easter Sunday for the specified year. If \fIarg\fR is a \fBDATE\fR or \fBDATETIME\fR, then returns the date of the next Orthodox Easter Sunday on or -after \fIarg\fR. (The time component of a datetime is ignored.) +after \fIarg\fR. (The time component of a datetime is ignored.) If \fIarg\fR +is omitted, then it defaults to \fBtoday()\fR. .RS .P Note that \fBorthodoxeaster\fR computes the Orthodox Easter. For the Western diff --git a/src/funcs.c b/src/funcs.c index 5fcf83ad..175fa4ec 100644 --- a/src/funcs.c +++ b/src/funcs.c @@ -251,7 +251,7 @@ BuiltinFunc Func[] = { { "defined", 1, 1, 0, FDefined }, { "dosubst", 1, 3, 0, FDosubst }, { "dusk", 0, 1, 0, FDusk }, - { "easterdate", 1, 1, 0, FEasterdate }, + { "easterdate", 0, 1, 0, FEasterdate }, { "evaltrig", 1, 2, 0, FEvalTrig }, { "filedate", 1, 1, 0, FFiledate }, { "filedatetime", 1, 1, 0, FFiledatetime }, @@ -289,7 +289,7 @@ BuiltinFunc Func[] = { { "nonomitted", 2, NO_MAX, 0, FNonomitted }, { "now", 0, 0, 0, FNow }, { "ord", 1, 1, 1, FOrd }, - { "orthodoxeaster",1, 1, 0, FOrthodoxeaster }, + { "orthodoxeaster",0, 1, 0, FOrthodoxeaster }, { "ostype", 0, 0, 1, FOstype }, { "pad", 3, 4, 1, FPad }, { "plural", 1, 3, 1, FPlural }, @@ -2364,13 +2364,17 @@ static int FEasterdate(func_info *info) { int y, m, d; int g, c, x, z, e, n; - if (ARG(0).type == INT_TYPE) { - y = ARGV(0); - if (y < BASE) return E_2LOW; - else if (y > BASE+YR_RANGE) return E_2HIGH; - } else if (HASDATE(ARG(0))) { - FromDSE(DATEPART(ARG(0)), &y, &m, &d); /* We just want the year */ - } else return E_BAD_TYPE; + if (Nargs == 0) { + FromDSE(DSEToday, &y, &m, &d); + } else { + if (ARG(0).type == INT_TYPE) { + y = ARGV(0); + if (y < BASE) return E_2LOW; + else if (y > BASE+YR_RANGE) return E_2HIGH; + } else if (HASDATE(ARG(0))) { + FromDSE(DATEPART(ARG(0)), &y, &m, &d); /* We just want the year */ + } else return E_BAD_TYPE; + } do { g = (y % 19) + 1; /* golden number */ @@ -2409,13 +2413,17 @@ static int FOrthodoxeaster(func_info *info) { int y, m, d; int a, b, c, dd, e, f, dse; - if (ARG(0).type == INT_TYPE) { - y = ARGV(0); - if (y < BASE) return E_2LOW; - else if (y > BASE+YR_RANGE) return E_2HIGH; - } else if (HASDATE(ARG(0))) { - FromDSE(DATEPART(ARG(0)), &y, &m, &d); /* We just want the year */ - } else return E_BAD_TYPE; + if (Nargs == 0) { + FromDSE(DSEToday, &y, &m, &d); + } else { + if (ARG(0).type == INT_TYPE) { + y = ARGV(0); + if (y < BASE) return E_2LOW; + else if (y > BASE+YR_RANGE) return E_2HIGH; + } else if (HASDATE(ARG(0))) { + FromDSE(DATEPART(ARG(0)), &y, &m, &d); /* We just want the year */ + } else return E_BAD_TYPE; + } do { a = y % 4;