Compare commits

...

49 Commits

Author SHA1 Message Date
Dianne Skoll
7bfdb1f0eb Document the magic __EOF__ marker. 2015-04-24 14:42:48 -04:00
Dianne Skoll
0c0280b2a9 Add test for __EOF__ 2015-04-24 14:40:12 -04:00
Dianne Skoll
57a1871077 Fix test output. 2015-04-24 14:37:32 -04:00
Dianne Skoll
ee972ad29f Update version to 3.1.14 2015-04-24 14:37:06 -04:00
David F. Skoll
29c8475ea9 s/David/Dianne/ 2015-04-17 02:07:18 -04:00
David F. Skoll
6dd0f6ed63 Fix typo. 2014-11-06 14:32:30 -05:00
David F. Skoll
fc2d7ae446 Add support for __EOF__ to make Remind stop reading a file. 2014-05-22 14:19:06 -04:00
David F. Skoll
d232ac0334 Clear out MD5 context correctly. 2014-02-14 12:46:12 -05:00
David F. Skoll
6e8dd68c8a Use ADVANCE_MODE rather than CAL_MODE for "-n" cmdline option. 2013-04-30 15:58:02 -04:00
David F. Skoll
495cc1b38d Improve PNG images. 2013-03-22 16:21:52 -04:00
David F. Skoll
d90e74b1a3 Update release notes. 2013-03-22 15:48:04 -04:00
David F. Skoll
bbd8a4b729 Bump version to 3.1.13. 2013-03-22 15:44:03 -04:00
David F. Skoll
cae3e18717 Two cleanup patches from Simon Ruderich. 2013-03-18 14:07:09 -04:00
David F. Skoll
0e989a7422 Use atan2 instead of atan. 2013-03-10 18:00:36 -04:00
David F. Skoll
7b7ce5bb57 Remove dead code and dead variable. 2013-03-08 10:27:38 -05:00
David F. Skoll
df95cdaad0 Final sunrise/sunset tweakage. 2013-03-08 10:26:48 -05:00
David F. Skoll
3026b6e5c2 Tweak sun stuff per John McGowan ticket #27369. 2013-03-07 13:49:53 -05:00
David F. Skoll
b3306c5572 Revert change: TrigAttempts too hard to define. 2012-12-09 11:23:02 -05:00
David F. Skoll
9ef3be33e5 Add new $TrigAttempts special var. 2012-12-09 11:17:16 -05:00
David F. Skoll
292262c128 -z defaults to 1, not 5, so correct man page and help output.
Thanks to Simon Ruderich for pointing out the bug.
2012-11-01 13:07:42 -04:00
David F. Skoll
e54bfe9197 Minor patches from Simon Ruderich 2012-10-18 09:31:12 -04:00
David F. Skoll
c56cfe9e1d Fix test harness failure. 2012-05-08 16:54:54 -04:00
David F. Skoll
f6b6a3285c Apply patch from Jonathan Kamens to allow 0-point margins. 2012-04-26 08:57:37 -04:00
David F. Skoll
6b031b0fdf Change "Daylight Savings" to "Daylight Saving" 2012-03-23 15:45:49 -04:00
David F. Skoll
2dab7025ba Fix incorrect info in man page. 2012-03-14 11:47:43 -04:00
David F. Skoll
7403114897 Patch to allow compilation with gcc 2.95. 2012-02-13 10:23:53 -05:00
David F. Skoll
82cbeec560 Update tests to skip sun-tests by default. 2012-01-23 13:21:50 -05:00
David F. Skoll
df6b4ac566 Update release notes. 2012-01-23 13:08:22 -05:00
David F. Skoll
4ba21ab526 Fix test-all-languages.sh. 2012-01-23 12:01:11 -05:00
David F. Skoll
acac7a7b31 Add shell script to test all languages. Add %* substitutions to tstlang.rem 2012-01-23 11:58:07 -05:00
David F. Skoll
2290fd09f5 Add altmode to various languages. 2012-01-23 11:49:32 -05:00
David F. Skoll
f02b6a1773 "-x" flag to git-ls-files doesn't work, apparently. 2012-01-23 11:14:00 -05:00
David F. Skoll
efffe05d42 Merge branch 'master' of ssh://source.roaringpenguin.com/home/dfs/personal-git-repos/Remind 2012-01-20 15:49:27 -05:00
David F. Skoll
950d67c522 Update Finnish translation for altmode. 2012-01-20 15:49:03 -05:00
David F. Skoll
a1aa61f54e Fix comment. 2012-01-12 13:12:59 -05:00
David F. Skoll
3c2bd66460 Clarify wording. 2012-01-12 13:05:46 -05:00
David F. Skoll
245cebee56 If multiple -a options are supplied, then *do* trigger timed reminders
that are in the future.
2012-01-12 13:04:53 -05:00
David F. Skoll
c45364fdb3 More WIP on PHP stuff. 2012-01-12 12:48:36 -05:00
David F. Skoll
e380308604 More sunstuff tweaking. 2011-12-28 13:14:24 -05:00
David F. Skoll
bd019524dd Update test output 2011-12-28 08:50:03 -05:00
David F. Skoll
895536d7d3 Use proper value of cos(6 degrees) for dusk/dawn 2011-12-28 08:49:37 -05:00
David F. Skoll
3a0e41afd1 Round off sun times to nearest minute. 2011-12-27 12:34:17 -05:00
David F. Skoll
23dd28471e Update sunrise/sunset calculations with different formula for mean anomaly. 2011-12-27 12:20:36 -05:00
David F. Skoll
761217d403 Add dawn/sunrise/sunset/dusk tests. 2011-12-26 17:44:34 -05:00
David F. Skoll
77ed694111 Use proper formula for dusk/dawn. 2011-12-26 14:41:21 -05:00
David F. Skoll
61bcce3104 Add tests for %*x and upper-case %*X substitutions. 2011-12-25 11:43:07 -05:00
David F. Skoll
bf41b12ccd Paranoia. 2011-12-24 11:04:21 -05:00
David F. Skoll
5eabd7d8d8 Fix dumb error. :) 2011-12-24 11:02:52 -05:00
David F. Skoll
0c66f5f3af Add "alternate" substitution mode: %*X is the same as %x but it leaves
out the preposition "at" or "on".
2011-12-24 10:58:37 -05:00
90 changed files with 779 additions and 430 deletions

View File

@@ -293,7 +293,7 @@ POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
--
David F. Skoll <dfs@roaringpenguin.com>
Dianne Skoll <dfs@roaringpenguin.com>
Tel. (613) 231-6599
http://www.roaringpenguin.com

View File

@@ -27,4 +27,4 @@ iPhone or iPad, please don't. Those products enforce Apple's rigorous
controls much more stringently than Mac OS X on an Apple PC.
--
David F. Skoll
Dianne Skoll

2
build.tk Executable file → Normal file
View File

@@ -7,7 +7,7 @@
# A cheesy graphical front-end for building and installing REMIND.
#
# This file is part of REMIND.
# Copyright (C) 1992-1999 David F. Skoll
# Copyright (C) 1992-1999 Dianne Skoll
# Copyright (C) 1999-2000 Roaring Penguin Software Inc.
#
#--------------------------------------------------------------

375
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -75,6 +75,6 @@ if test "$GCC" = yes; then
fi
AC_CHECK_FUNCS(setenv unsetenv glob mbstowcs setlocale)
VERSION=03.01.11
VERSION=03.01.14
AC_SUBST(VERSION)
AC_OUTPUT(src/Makefile www/Makefile src/version.h)

View File

@@ -1,5 +1,5 @@
This directory contains contributed scripts. They are provided
"as-is" with no warranty. Please do not contact David Skoll
"as-is" with no warranty. Please do not contact Dianne Skoll
or Roaring Penguin Software Inc. for help with these scripts;
instead, contact the script authors.
@@ -7,4 +7,4 @@ You should check the upstream sources; there may be newer versions
of these scripts available.
--
David F. Skoll
Dianne Skoll

View File

@@ -251,7 +251,7 @@ Please report bugs (with patches, if possible).
Inspired by Anthony J. Chivetta E<lt>achivetta@gmail.comE<gt>'s
rem2ics in awk.
Thank you to David Skoll E<lt>dfs@roaringpengiun.com<gt> for Remind,
Thank you to Dianne Skoll E<lt>dfs@roaringpengiun.com<gt> for Remind,
and to the IETF calsch wg for the iCalendar specification.
=cut

View File

@@ -3,7 +3,7 @@
;; Copyright (C) 2008 Shelagh Manton <shelagh.manton@gmail.com>
;; Author: Shelagh Manton <shelagh.manton@gmail.com> with help from
;; David F. Skoll
;; Dianne Skoll
;; Keywords: remind configure mode
;; Version: .04

View File

@@ -100,5 +100,5 @@ exit
--
David F. Skoll <dfs@roaringpenguin.com>
Dianne Skoll <dfs@roaringpenguin.com>
http://www.roaringpenguin.com/remind/

View File

@@ -1,5 +1,51 @@
CHANGES TO REMIND
* Version 3.1 Patch 14 - 2014-04-24
- NEW FEATURE: Putting the line __EOF__ in a .rem file causes Remind
to treat it as end-of-file.
- IMPROVEMENT: Use better PNG images for moons in the HTML display
- CHANGE: Author name updated from "David" to "Dianne"
- BUG FIX: The "-n" command-line option should really run in "ADVANCE_MODE"
rather than "CAL_MODE" internally; otherwise, the substitution sequences
may be misinterpreted.
- BUG FIX: A typo in clearing out MD5 sum context has been fixed.
- BUG FIX: Typo in Spanish translation was fixed.
* Version 3.1 Patch 13 - 2013-03-22
- BUG FIX: Sunrise/Sunset calculations greatly improved thanks to John
McGowan. Accuracy should now be within a couple of minutes in most
places.
- BUG FIX: Allow specification of margins as low as 0 points in rem2ps,
courtesy of Jonathan Kamens.
- BUG FIX: Permit compilation with gcc 2.95 (which doesn't allow variable
declarations after non-declaration statements in a block.)
- BUG FIX: Several minor documentation errors corrected courtesy of
Simon Ruderich.
- BUG FIX: Spurious test harness failure was fixed.
* Version 3.1 Patch 12 - 2012-01-23
- NEW FEATURE: Many substitution sequences "%x" have an alternate mode
denoted by "%*x". This alternate mode leaves out prepositions. For
example, in English "%i" might yield "on 01-25" while "%*i" yields only
"01-25".
- BUG FIX: The "dusk" and "dawn" calculations were completely wrong. They
have been fixed. Also, sunrise/sunset calculations have been tweaked,
so the results may be off by a minute or two compared to previous versions
of Remind.
* Version 3.1 Patch 11 - 2011-12-16
- BUG FIX: For some inexplicable reason, dawn was considered to happen when
@@ -550,7 +596,7 @@ CHANGES TO REMIND
+ BUG FIXES
- Fixed sunset(), sunrise() and minsfromutc() functions which were broken
by 3.0.17. (In 3.0.17, they did not account for daylight savings time.)
by 3.0.17. (In 3.0.17, they did not account for daylight saving time.)
- Updated "finnish.h" to include proper URL and translation of all
error messages.

View File

@@ -17,7 +17,7 @@
# "#COLORS" for examples of ANSI color escape sequences. #
# #
# This file is part of REMIND. #
# Copyright (C) 1992-1997 David F. Skoll #
# Copyright (C) 1992-1997 Dianne Skoll #
# Copyright (C) 1999-2000 Roaring Penguin Software Inc. #
# #
#############################################################################
@@ -307,8 +307,8 @@ REM Mar 17 MSG %"St. Patrick's%" Day
# The DST rules are accurate for most locations in
# North America
REM Sun Apr 1 ++2 UNTIL 1 Jan 2007 MSG Daylight Savings Time - %"DST starts%" %b
REM Sun Mar 8 ++2 FROM 1 Jan 2007 MSG Daylight Savings Time - %"DST starts%" %b
REM Sun Apr 1 ++2 UNTIL 1 Jan 2007 MSG Daylight Saving Time - %"DST starts%" %b
REM Sun Mar 8 ++2 FROM 1 Jan 2007 MSG Daylight Saving Time - %"DST starts%" %b
REM Apr 1 MSG %"April Fool's%" Day
REM Mon Tue Wed Thu Fri Sat 15 Apr MSG %"Income tax%" due
@@ -327,8 +327,8 @@ REM Nov 11 MSG %"Veterans Day%"
# The DST rules are accurate for most locations in
# North America
REM Sun [_last(Oct)] UNTIL 1 Jan 2007 MSG Daylight Savings Time - %"DST over%"
REM Sun 1 Nov FROM 1 Jan 2007 MSG Daylight Savings Time - %"DST over%"
REM Sun [_last(Oct)] UNTIL 1 Jan 2007 MSG Daylight Saving Time - %"DST over%"
REM Sun 1 Nov FROM 1 Jan 2007 MSG Daylight Saving Time - %"DST over%"
REM Oct 30 MSG %"Mischief Night%"
REM Oct 31 MSG %"Halloween%"
@@ -402,7 +402,7 @@ REM PS BoxWidth 3 mul 4 div Border 5 sub moveto \
# dates were obtained from "The First Jewish Catalog" by Richard Siegel #
# and Michael and Sharon Strassfeld, published by the Jewish Publication #
# Society of America. The Reform version of the calendar was guessed #
# at by David Skoll based on experience. There is probably no standard #
# at by Dianne Skoll based on experience. There is probably no standard #
# Reform position on many of the holidays, so you may have to adjust #
# the file as required. #
# #

View File

@@ -13,7 +13,7 @@ files, there should be a system utility to convert them to version 3 files.
\fBcm2rem.tcl\fR is supported by Roaring Penguin Software
Inc. (http://www.roaringpenguin.com)
.PP
\fBcm2rem.tcl\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
\fBcm2rem.tcl\fR was written by Dianne Skoll <dfs@roaringpenguin.com>.
.SH BUGS
Not all of the Sun calendar manager options are respected. In particular,
nothing is done for e-mail actions. Also, the resulting Remind script

View File

@@ -15,6 +15,6 @@ value of DOTREMINDERS as the filename. Otherwise, \fBremind\fR uses
the filename $HOME/.reminders
.PP
.SH AUTHOR
Remind was written by David F. Skoll <dfs@roaringpenguin.com>
Remind was written by Dianne Skoll <dfs@roaringpenguin.com>
.SH SEE ALSO
\fBremind\fR

View File

@@ -397,7 +397,7 @@ that don't care about this information should ignore lines starting with
Rem2PS is now supported by Roaring Penguin Software
Inc. (http://www.roaringpenguin.com)
.PP
Rem2PS was written by David F. Skoll <dfs@roaringpenguin.com>.
Rem2PS was written by Dianne Skoll <dfs@roaringpenguin.com>.
.SH BUGS
All \fBRem2ps\fR options are case-sensitive, unlike \fBRemind\fR.
Any time you supply

View File

@@ -19,6 +19,10 @@ be a directory rather than a plain file, then \fBRemind\fR reads all of
the files in that directory that match the pattern "*.rem". The files
are read in sorted order; the sort order may depend on your locale, but
should match the sort order used by the shell to expand "*.rem".
.PP
\fBRemind\fR reads its files starting from the beginning to the end, or
until it encounters a line whose sole content is "__EOF__" (without the quotes.)
Anything after the __EOF__ marker is completely ignored.
.SH OPTIONS
\fBRemind\fR has a slew of options. If you're new to the program,
@@ -149,10 +153,16 @@ The \fB\-h\fR option ("hush...") suppresses certain warning and information
messages. In particular, if no reminders are triggered, this mode
produces no output.
.TP
\fB\-a\fR
The \fB\-a\fR option causes \fBRemind\fR not to immediately trigger timed
reminders that would also be queued. It also causes \fBRemind\fR not to
place timed reminders in a calendar.
.B \-a
The \fB\-a\fR option causes \fBRemind\fR not to immediately trigger
timed reminders that trigger on the current day. It also causes
\fBRemind\fR not to place timed reminders in a calendar. If you
supply two or more \fB\-a\fR options, then \fBRemind\fR \fIwill\fR
trigger timed reminders that are in the future, but will not trigger
timed reminders whose time has passed. (Regardless of how many
\fB\-a\fR options you supply, \fBRemind\fR will not include timed
reminders in the calendar if at least one \fB\-a\fR option is used.)
.TP
\fB\-q\fR
The \fB\-q\fR option causes \fBRemind\fR not to queue timed reminders
@@ -230,20 +240,17 @@ pops up a window and displays its invocation arguments. You could use:
.PP
to have all of your \fBMSG\fR-type reminders processed using xmessage.
.PP
A word of warning: It is very easy to spawn dozens of xmessage processes
with the above technique. So be very careful. Also, the \fIcmd\fR is passed
as an argument to \fBsprintf()\fR. If you use formatting directives other
than %s, or use more than one %s directive, there's a good chance that
you'll crash \fBRemind\fR. Finally, because all shell and whitespace
characters are escaped, the program you execute with the \fB\-k\fR
option must be prepared to handle the entire message as a single argument.
A word of warning: It is very easy to spawn dozens of xmessage
processes with the above technique. So be very careful. Because all
shell and whitespace characters are escaped, the program you execute
with the \fB\-k\fR option must be prepared to handle the entire
message as a single argument.
.RE
.TP
\fB\-z\fR[\fIn\fR]
Runs \fBRemind\fR in the daemon mode. If \fIn\fR is supplied, it
specifies how often (in minutes) \fBRemind\fR should wake up to
check if the reminder script has been changed. \fIN\fR defaults
to 5, and can range from 5 to 60. Note that the use of the
\fB\-z\fR[\fIn\fR] Runs \fBRemind\fR in the daemon mode. If \fIn\fR
is supplied, it specifies how often (in minutes) \fBRemind\fR should
wake up to check if the reminder script has been changed. \fIN\fR
defaults to 1, and can range from 1 to 60. Note that the use of the
\fB\-z\fR option also enables the \fB\-f\fR option.
.PP
.RS
@@ -313,7 +320,7 @@ text editor capable of creating plain ASCII files to create a
very simple and almost immediately understandable:
.PP
.nf
REM 6 Jan MSG David's birthday
REM 6 Jan MSG Dianne's birthday
.fi
.PP
to the baroque and obscure:
@@ -399,7 +406,7 @@ Note that you can omit the reminder type, in which case it
defaults to \fBMSG\fR. So you can write:
.PP
.nf
6 January David's Birthday
6 January Dianne's Birthday
.fi
.PP
although this is not recommended.
@@ -1455,7 +1462,7 @@ administrator.)
If you specify a filename of "-" in the \fBINCLUDE\fR command, \fBRemind\fR
will begin reading from standard input.
.PP
If you specify a \fIdirectory\fR as the argument to \fBINCLDUE\fR, then
If you specify a \fIdirectory\fR as the argument to \fBINCLUDE\fR, then
\fBRemind\fR will process all files in that directory that match the shell
patterm "*.rem". The files are processed in sorted order; the sort order
matches that used by the shell when it expands "*.rem".
@@ -1869,7 +1876,7 @@ If non-zero, then the \fB\-c\fR option was supplied on the command line.
.B $Daemon (read-only)
If the daemon mode \fB\-z\fR was invoked, contains the number of
minutes between wakeups. If not running in daemon mode, contains
0. For the MS-DOS version, always contains 0.
0.
.TP
.B $DateSep
This variable can be set only to "/" or "-". It holds the character
@@ -1885,15 +1892,13 @@ from 0 to 9999.
.TP
.B $DontFork (read-only)
If non-zero, then the \fB\-c\fR option was supplied on the command line.
For the MS-DOS version, always contains 1.
.TP
.B $DontTrigAts (read-only)
If non-zero, then the \fB\-a\fR option was supplied on the command line.
For the MS-DOS version, always contains 0.
The number of times that the \fB\-a\fR option was supplied on the
command line.
.TP
.B $DontQueue (read-only)
If non-zero, then the \fB\-q\fR option was supplied on the command line.
For the MS-DOS version, always contains 1.
.TP
.B $EndSent (STRING type)
Contains a list of characters that end a sentence. The \fBMSF\fR
@@ -1926,10 +1931,10 @@ reminder. The default is 0.
The standard Unix library functions may have difficulty dealing with dates
later than 2037. If this variable is set to 1, then the UTC calculations
"fold back" years later than 2037 before using the Unix library functions.
For example, to find out whether or not daylight savings time is in
For example, to find out whether or not daylight saving time is in
effect in June, 2077, the year is "folded back" to 2010, because both
years begin on a Monday, and both are non-leapyears. The rules for
daylight savings time are thus presumed to be identical for both
daylight saving time are thus presumed to be identical for both
years, and the Unix library functions can handle 2010. By default,
this variable is 0. Set it to 1 if the sun or UTC functions misbehave
for years greater than 2037.
@@ -1986,7 +1991,7 @@ The number of minutes between Universal Time Coordinated and local time. If
\fB$CalcUTC\fR is non-zero, this is calculated upon startup of \fBRemind\fR.
Otherwise, you must set it explicitly. If \fB$CalcUTC\fR is zero,
then \fB$MinsFromUTC\fR is used in the astronomical calculations. You
must adjust it for daylight savings time yourself. Also, if you
must adjust it for daylight saving time yourself. Also, if you
want to initialize \fB$MinsFromUTC\fR
using the \fB\-i\fR command-line option, you
must also set \fB$CalcUTC\fR to 0 with the \fB\-i\fR option.
@@ -1996,7 +2001,7 @@ If non-zero, then the \fB\-n\fR option was supplied on the command line.
.TP
.B $NumQueued (read-only)
Contains the number of reminders queued so far for background
timed triggering. For MS-DOS, always returns 0.
timed triggering.
.TP
.B $NumTrig (read-only)
Contains the number of reminders triggered for the current date. One
@@ -2398,7 +2403,7 @@ The optional parameter \fIstart\fR specifies the position in
.RE
.TP
.B isdst([d_date [,t_time]]) \fRor\fB isdst(q_datetime)
Returns a positive number if daylight savings time is in
Returns a positive number if daylight saving time is in
effect on the specified date and time. \fIDate\fR
defaults to \fBtoday()\fR and \fItime\fR defaults to midnight.
.RS
@@ -2739,7 +2744,7 @@ an algorithm in "Almanac for Computers for the year 1978" by
L. E. Doggett, Nautical Almanac Office, USNO. They require
the latitude and longitude to be specified by setting the appropriate
system variables. (See "System Variables".) The sun functions
should be accurate to within about 2 minutes for latitudes lower
should be accurate to within about 4 minutes for latitudes lower
than 60 degrees. The functions are available starting from version
03.00.07 of \fBRemind\fR.
.RE
@@ -3475,11 +3480,11 @@ the body in the %"...%" sequence, only that portion is inserted. For
example, consider the following:
.PP
.nf
REM 6 Jan MSG %"David's birthday%" is %b
REM 6 Jan MSG %"Dianne's birthday%" is %b
.fi
.PP
In the normal mode, \fBRemind\fR would print "David's birthday is today"
on 6 January. However, in the calendar mode, only the text "David's birthday"
In the normal mode, \fBRemind\fR would print "Dianne's birthday is today"
on 6 January. However, in the calendar mode, only the text "Dianne's birthday"
is inserted into the box for 6 January.
.PP
If you explicitly use the %"...%" sequence in a \fBRUN\fR-type reminder,
@@ -4388,7 +4393,7 @@ versions of \fBRemind\fR prior to 03.00.01.
Remind is now supported by Roaring Penguin Software
Inc. (http://www.roaringpenguin.com)
.PP
David F. Skoll <dfs@roaringpenguin.com> wrote \fBRemind\fR. The moon code
Dianne Skoll <dfs@roaringpenguin.com> wrote \fBRemind\fR. The moon code
was copied largely unmodified from "moontool" by John Walker. The
sunrise and sunset functions use ideas from programs by Michael
Schwartz and Marc T. Kaufman. The Hebrew calendar support was taken

View File

@@ -361,9 +361,9 @@ This line is emitted in response to a \fBSTATUS\fR command. The number
TkRemind is now supported by Roaring Penguin Software
Inc. (http://www.roaringpenguin.com)
.PP
TkRemind was written by David F. Skoll <dfs@roaringpenguin.com>.
TkRemind was written by Dianne Skoll <dfs@roaringpenguin.com>.
\fBTkRemind\fR is Copyright 1996-1998 by David F. Skoll, Copyright
\fBTkRemind\fR is Copyright 1996-1998 by Dianne Skoll, Copyright
1999 by Roaring Penguin Software Inc.
.SH FILES

2
scripts/cm2rem.tcl Executable file → Normal file
View File

@@ -8,7 +8,7 @@
# files (version 3 only) to Remind format.
#
# This file is part of REMIND.
# Copyright (C) 1992-1998 by David F. Skoll
# Copyright (C) 1992-1998 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
#
#--------------------------------------------------------------

4
scripts/tkremind Executable file → Normal file
View File

@@ -7,7 +7,7 @@
# A cheesy graphical front/back end for Remind using Tcl/Tk
#
# This file is part of REMIND.
# Copyright (C) 1992-1998 David F. Skoll
# Copyright (C) 1992-1998 Dianne Skoll
# Copyright (C) 1999-2010 Roaring Penguin Software Inc.
#
#--------------------------------------------------------------
@@ -2319,7 +2319,7 @@ proc main {} {
global AppendFile HighestTagSoFar DayNames
catch {
puts "\nTkRemind Copyright (C) 1996-1998 David F. Skoll"
puts "\nTkRemind Copyright (C) 1996-1998 Dianne Skoll"
puts "Copyright (C) 1999-2010 Roaring Penguin Software Inc."
}
catch { SetFonts }

View File

@@ -41,7 +41,7 @@ test: remind
@sh ../tests/test-rem
.c.o:
@CC@ -c @CFLAGS@ @DEFS@ $(CEXTRA) $(LANGDEF) -I. -I$(srcdir) $<
@CC@ -c @CPPFLAGS@ @CFLAGS@ @DEFS@ $(CEXTRA) $(LANGDEF) -I. -I$(srcdir) $<
rem2ps: rem2ps.o dynbuf.o
@CC@ @LDFLAGS@ $(LDEXTRA) -o rem2ps rem2ps.o dynbuf.o
@@ -80,13 +80,13 @@ depend:
# Build a tar file based on all files checked into git.
distro:
ln -s . ../remind-$(VERSION)
(cd ..; git ls-files -x .gitignore) | sed -e 's/^/remind-$(VERSION)\//' | xargs tar -C .. -cvf remind-$(VERSION).tar
(cd ..; git ls-files | fgrep -v .gitignore | fgrep -v remind.php) | sed -e 's/^/remind-$(VERSION)\//' | xargs tar -C .. -cvf remind-$(VERSION).tar
gzip -f -v -9 remind-$(VERSION).tar
rm -f ../remind-$(VERSION)
beta-tgz:
ln -s . ../remind-$(VERSION)-BETA-$(BETA)
(cd ..; git ls-files -x .gitignore) | sed -e 's/^/remind-$(VERSION)-BETA-$(BETA)\//' | xargs tar -C .. -cvf remind-$(VERSION)-BETA-$(BETA).tar
(cd ..; git ls-files | fgrep -v .gitignore | fgrep -v remind.php) | sed -e 's/^/remind-$(VERSION)-BETA-$(BETA)\//' | xargs tar -C .. -cvf remind-$(VERSION)-BETA-$(BETA).tar
gzip -f -v -9 remind-$(VERSION)-BETA-$(BETA).tar
rm -f ../remind-$(VERSION)-BETA-$(BETA)

View File

@@ -5,7 +5,7 @@
/* The code for generating a calendar. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -6,7 +6,7 @@
/* which you can customize. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -178,7 +178,7 @@
/*---------------------------------------------------------------------*/
/* How many attempts to resolve a weird date spec? */
/*---------------------------------------------------------------------*/
#define TRIG_ATTEMPTS 50
#define TRIG_ATTEMPTS 500
/*---------------------------------------------------------------------*/
/* How many global omits of the form YYYY MM DD do we handle? */

View File

@@ -6,7 +6,7 @@
/* which you can customize. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -178,7 +178,7 @@
/*---------------------------------------------------------------------*/
/* How many attempts to resolve a weird date spec? */
/*---------------------------------------------------------------------*/
#define TRIG_ATTEMPTS 50
#define TRIG_ATTEMPTS 500
/*---------------------------------------------------------------------*/
/* How many global omits of the form YYYY MM DD do we handle? */

View File

@@ -7,7 +7,7 @@
/* commands. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -751,10 +751,10 @@ int TriggerReminder(ParsePtr p, Trigger *t, TimeTrig *tim, int jul)
DBufFree(&buf);
}
/* If it's NextMode, process as a CAL-type entry, and issue simple-calendar
format. */
/* If it's NextMode, process as a ADVANCE_MODE-type entry, and issue
simple-calendar format. */
if (NextMode) {
if ( (r=DoSubst(p, &buf, t, tim, jul, CAL_MODE)) ) return r;
if ( (r=DoSubst(p, &buf, t, tim, jul, ADVANCE_MODE)) ) return r;
if (!DBufLen(&buf)) {
DBufFree(&buf);
DBufFree(&pre_buf);
@@ -924,7 +924,17 @@ int ShouldTriggerReminder(Trigger *t, TimeTrig *tim, int jul, int *err)
/* Don't trigger timed reminders if DontIssueAts is true, and if the
reminder is for today */
if (jul == JulianToday && DontIssueAts && tim->ttime != NO_TIME) return 0;
if (jul == JulianToday && DontIssueAts && tim->ttime != NO_TIME) {
if (DontIssueAts > 1) {
/* If two or more -a options, then *DO* issue ats that are in the
future */
if (tim->ttime < SystemTime(0) / 60) {
return 0;
}
} else {
return 0;
}
}
/* Don't trigger "old" timed reminders */
/*** REMOVED...

View File

@@ -6,7 +6,7 @@
/* reminders are triggered. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -62,6 +62,7 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
char *os;
char s[256];
int origLen = DBufLen(dbuf);
int altmode;
FromJulian(jul, &y, &m, &d);
@@ -141,6 +142,7 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
if (DBufPutc(dbuf, c) != OK) return E_NO_MEM;
continue;
}
altmode = 0;
s[0] = 0;
c = ParseChar(p, &err, 0);
if (err) {
@@ -150,6 +152,17 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
if (!c) {
break;
}
if (c == '*') {
altmode = c;
c = ParseChar(p, &err, 0);
if (err) {
DBufFree(dbuf);
return err;
}
if (!c) {
break;
}
}
done = 0;
if (diff <= 1) {
switch(UPPER(c)) {
@@ -206,8 +219,13 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_A_OVER
L_A_OVER
#else
sprintf(s, "%s %s, %d %s, %d", L_ON, DayName[jul%7], d,
MonthName[m], y);
if (altmode == '*') {
sprintf(s, "%s, %d %s, %d", DayName[jul%7], d,
MonthName[m], y);
} else {
sprintf(s, "%s %s, %d %s, %d", L_ON, DayName[jul%7], d,
MonthName[m], y);
}
#endif
SHIP_OUT(s);
break;
@@ -225,7 +243,11 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_C_OVER
L_C_OVER
#else
sprintf(s, "%s %s", L_ON, DayName[jul%7]);
if (altmode == '*') {
sprintf(s, "%s", DayName[jul%7]);
} else {
sprintf(s, "%s %s", L_ON, DayName[jul%7]);
}
#endif
SHIP_OUT(s);
break;
@@ -243,8 +265,13 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_E_OVER
L_E_OVER
#else
sprintf(s, "%s %02d%c%02d%c%04d", L_ON, d, DateSep,
m+1, DateSep, y);
if (altmode == '*') {
sprintf(s, "%02d%c%02d%c%04d", d, DateSep,
m+1, DateSep, y);
} else {
sprintf(s, "%s %02d%c%02d%c%04d", L_ON, d, DateSep,
m+1, DateSep, y);
}
#endif
SHIP_OUT(s);
break;
@@ -253,7 +280,11 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_F_OVER
L_F_OVER
#else
sprintf(s, "%s %02d%c%02d%c%04d", L_ON, m+1, DateSep, d, DateSep, y);
if (altmode == '*') {
sprintf(s, "%02d%c%02d%c%04d", m+1, DateSep, d, DateSep, y);
} else {
sprintf(s, "%s %02d%c%02d%c%04d", L_ON, m+1, DateSep, d, DateSep, y);
}
#endif
SHIP_OUT(s);
break;
@@ -262,7 +293,11 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_G_OVER
L_G_OVER
#else
sprintf(s, "%s %s, %d %s", L_ON, DayName[jul%7], d, MonthName[m]);
if (altmode == '*') {
sprintf(s, "%s, %d %s", DayName[jul%7], d, MonthName[m]);
} else {
sprintf(s, "%s %s, %d %s", L_ON, DayName[jul%7], d, MonthName[m]);
}
#endif
SHIP_OUT(s);
break;
@@ -271,7 +306,11 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_H_OVER
L_H_OVER
#else
sprintf(s, "%s %02d%c%02d", L_ON, d, DateSep, m+1);
if (altmode == '*') {
sprintf(s, "%02d%c%02d", d, DateSep, m+1);
} else {
sprintf(s, "%s %02d%c%02d", L_ON, d, DateSep, m+1);
}
#endif
SHIP_OUT(s);
break;
@@ -280,7 +319,11 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_I_OVER
L_I_OVER
#else
sprintf(s, "%s %02d%c%02d", L_ON, m+1, DateSep, d);
if (altmode == '*') {
sprintf(s, "%02d%c%02d", m+1, DateSep, d);
} else {
sprintf(s, "%s %02d%c%02d", L_ON, m+1, DateSep, d);
}
#endif
SHIP_OUT(s);
break;
@@ -289,8 +332,13 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_J_OVER
L_J_OVER
#else
sprintf(s, "%s %s, %s %d%s, %d", L_ON, DayName[jul%7],
MonthName[m], d, plu, y);
if (altmode == '*') {
sprintf(s, "%s, %s %d%s, %d", DayName[jul%7],
MonthName[m], d, plu, y);
} else {
sprintf(s, "%s %s, %s %d%s, %d", L_ON, DayName[jul%7],
MonthName[m], d, plu, y);
}
#endif
SHIP_OUT(s);
break;
@@ -299,8 +347,13 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_K_OVER
L_K_OVER
#else
sprintf(s, "%s %s, %s %d%s", L_ON, DayName[jul%7],
MonthName[m], d, plu);
if (altmode == '*') {
sprintf(s, "%s, %s %d%s", DayName[jul%7],
MonthName[m], d, plu);
} else {
sprintf(s, "%s %s, %s %d%s", L_ON, DayName[jul%7],
MonthName[m], d, plu);
}
#endif
SHIP_OUT(s);
break;
@@ -309,7 +362,11 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_L_OVER
L_L_OVER
#else
sprintf(s, "%s %04d%c%02d%c%02d", L_ON, y, DateSep, m+1, DateSep, d);
if (altmode == '*') {
sprintf(s, "%04d%c%02d%c%02d", y, DateSep, m+1, DateSep, d);
} else {
sprintf(s, "%s %04d%c%02d%c%02d", L_ON, y, DateSep, m+1, DateSep, d);
}
#endif
SHIP_OUT(s);
break;
@@ -391,8 +448,13 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_U_OVER
L_U_OVER
#else
sprintf(s, "%s %s, %d%s %s, %d", L_ON, DayName[jul%7], d,
plu, MonthName[m], y);
if (altmode == '*') {
sprintf(s, "%s, %d%s %s, %d", DayName[jul%7], d,
plu, MonthName[m], y);
} else {
sprintf(s, "%s %s, %d%s %s, %d", L_ON, DayName[jul%7], d,
plu, MonthName[m], y);
}
#endif
SHIP_OUT(s);
break;
@@ -401,8 +463,13 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_V_OVER
L_V_OVER
#else
sprintf(s, "%s %s, %d%s %s", L_ON, DayName[jul%7], d, plu,
MonthName[m]);
if (altmode == '*') {
sprintf(s, "%s, %d%s %s", DayName[jul%7], d, plu,
MonthName[m]);
} else {
sprintf(s, "%s %s, %d%s %s", L_ON, DayName[jul%7], d, plu,
MonthName[m]);
}
#endif
SHIP_OUT(s);
break;
@@ -464,7 +531,11 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
#ifdef L_2_OVER
L_2_OVER
#else
sprintf(s, "%s %d%c%02d%s", L_AT, hh, TimeSep, min, pm);
if (altmode == '*') {
sprintf(s, "%d%c%02d%s", hh, TimeSep, min, pm);
} else {
sprintf(s, "%s %d%c%02d%s", L_AT, hh, TimeSep, min, pm);
}
#endif
SHIP_OUT(s);
break;
@@ -474,7 +545,11 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
L_3_OVER
#else
sprintf(s, "%s %02d%c%02d", L_AT, h, TimeSep, min);
if (altmode == '*') {
sprintf(s, "%02d%c%02d", h, TimeSep, min);
} else {
sprintf(s, "%s %02d%c%02d", L_AT, h, TimeSep, min);
}
#endif
SHIP_OUT(s);
break;
@@ -590,8 +665,11 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int jul,
if (DBufPutc(dbuf, c) != OK) return E_NO_MEM;
}
if (isupper(c)) {
os = DBufValue(dbuf) - strlen(s);
*os = UPPER(*os);
os = DBufValue(dbuf);
os += strlen(os) - strlen(s);
if (os >= DBufValue(dbuf)) {
*os = UPPER(*os);
}
}
}

View File

@@ -6,7 +6,7 @@
/* buffers. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* Declaration of functions for manipulating dynamic buffers */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* Error definitions. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* This file contains routines to parse and evaluate */
/* expressions. */
/* */
/* Copyright 1992-1998 by David F. Skoll */
/* Copyright 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* Contains a few definitions used by expression evaluator. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -7,7 +7,7 @@
/* files. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -181,6 +181,8 @@ int ReadLine(void)
static int ReadLineFromFile(void)
{
int l;
char copy_buffer[4096];
size_t n;
DynamicBuffer buf;
@@ -234,8 +236,25 @@ static int ReadLineFromFile(void)
DBufFree(&LineBuffer);
return E_NO_MEM;
}
FreshLine = 1;
DBufFree(&buf);
/* If the line is: __EOF__ treat it as end-of-file */
CurLine = DBufValue(&LineBuffer);
if (!strcmp(CurLine, "__EOF__")) {
if (PurgeMode && PurgeFP) {
PurgeEchoLine("%s\n", "__EOF__");
while ((n = fread(copy_buffer, 1, sizeof(copy_buffer), fp)) != 0) {
fwrite(copy_buffer, 1, n, PurgeFP);
}
if (PurgeFP != stdout) fclose(PurgeFP);
PurgeFP = NULL;
}
FCLOSE(fp);
DBufFree(&LineBuffer);
CurLine = DBufValue(&LineBuffer);
}
FreshLine = 1;
if (DebugFlag & DB_ECHO_LINE) OutputLine(ErrFp);
return OK;
}

View File

@@ -6,7 +6,7 @@
/* expressions. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -1791,7 +1791,7 @@ static int FEasterdate(func_info *info)
/* */
/* FIsdst and FMinsfromutc */
/* */
/* Check whether daylight savings time is in effect, and */
/* Check whether daylight saving time is in effect, and */
/* get minutes from UTC. */
/* */
/***************************************************************/
@@ -1854,12 +1854,10 @@ static int FTimeStuff(int wantmins, func_info *info)
static int SunStuff(int rise, double cosz, int jul)
{
int year, mon, day;
int jan0;
int mins, hours;
int dusk_or_dawn;
int year, mon, day;
double M, L, tanA, sinDelta, cosDelta, a, a_hr, cosH, t, H, T;
double M, L, sinDelta, cosDelta, a, a_hr, cosH, t, H, T;
double latitude, longdeg, UT, local;
/* Get offset from UTC */
@@ -1879,47 +1877,39 @@ static int SunStuff(int rise, double cosz, int jul)
FromJulian(jul, &year, &mon, &day);
jan0 = jul - Julian(year, 0, 1);
dusk_or_dawn = rise;
if (rise > 1)
rise -= 2;
/* Following formula on page B6 exactly... */
t = (double) jan0;
if (rise) t += (6.0 + longdeg/15.0) / 24.0;
else t += (18.0 + longdeg/15.0) / 24.0;
/* Mean anomaly of sun for 1978 ... how accurate for other years??? */
M = 0.985600 * t - 3.251; /* In degrees */
/* Following formula on page B6 exactly... */
t = (double) jul;
if (rise) {
t += (6.0 + longdeg/15.0) / 24.0;
} else {
t += (18.0 + longdeg/15.0) / 24.0;
}
/* Mean anomaly of sun starting from 1 Jan 1990 */
/* NOTE: This assumes that BASE = 1990!!! */
#if BASE != 1990
#error Sun calculations assume a BASE of 1990!
#endif
t = 0.9856002585 * t;
M = t + 357.828757; /* In degrees */
/* Make sure M is in the range [0, 360) */
M -= (floor(M/360.0) * 360.0);
/* Sun's true longitude */
L = M + 1.916*sin(DEGRAD*M) + 0.02*sin(2*DEGRAD*M) + 282.565;
if (dusk_or_dawn == 2) {/* dusk */
L += 6;
} else if (dusk_or_dawn == 3) {/* dawn */
L -= 6;
}
L = M + 1.916*sin(DEGRAD*M) + 0.02*sin(2*DEGRAD*M) + 283.07080214;
if (L > 360.0) L -= 360.0;
/* Tan of sun's right ascension */
tanA = 0.91746 * tan(DEGRAD*L);
a = RADDEG * atan(tanA);
/* Move a into same quadrant as L */
if (0.0 <= L && L < 90.0) {
if (a < 0.0) a += 180.0;
} else if (90.0 <= L && L < 180.0) {
a += 180.0;
} else if (180.0 <= L && L < 270.0) {
a += 180.0;
} else {
if (a > 0.0) a += 180.0;
a = RADDEG * atan2(0.91746*sin(DEGRAD*L), cos(DEGRAD*L));
if (a<0) {
a += 360.0;
}
/* if (fabs(a - L) > 90.0)
a += 180.0; */
if (a > 360.0)
a -= 360.0;
a_hr = a / 15.0;
/* Sine of sun's declination */
@@ -1941,7 +1931,9 @@ static int SunStuff(int rise, double cosz, int jul)
H = RADDEG * acos(cosH);
if (rise) H = 360.0 - H;
T = H / 15.0 + a_hr - 0.065710*t - 6.620;
t -= 360.0*floor(t/360.0);
T = (H-t) / 15.0 + a_hr - 6.726637276;
if (T >= 24.0) T -= 24.0;
else if (T < 0.0) T+= 24.0;
@@ -1952,6 +1944,9 @@ static int SunStuff(int rise, double cosz, int jul)
if (local < 0.0) local += 24.0;
else if (local >= 24.0) local -= 24.0;
/* Round off local time to nearest minute */
local = floor(local * 60.0 + 0.5) / 60.0;
hours = (int) local;
mins = (int) ((local - hours) * 60.0);
@@ -1975,9 +1970,13 @@ static int SunStuff(int rise, double cosz, int jul)
static int FSun(int rise, func_info *info)
{
int jul = JulianToday;
static double cosz = -0.014543897; /* for sunrise and sunset */
double cosz = -0.014543897; /* for sunrise and sunset */
int r;
/* Civil twilight: cos(96 degrees) */
if (rise == 2 || rise == 3) {
cosz = -0.104528463268;
}
if (Nargs >= 1) {
if (!HASDATE(ARG(0))) return E_BAD_TYPE;
jul = DATEPART(ARG(0));

View File

@@ -8,7 +8,7 @@
/* globals.h and err.h */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -7,7 +7,7 @@
/* MK_GLOBALS. Also contains useful macro definitions. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* Support for the Hebrew calendar */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/* Derived from code written by Amos Shapir in 1978; revised */

View File

@@ -7,7 +7,7 @@
/* in normal mode. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2011 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -59,7 +59,7 @@
* v = Dump variables at end
* l = Display entire line in error messages
* -e = Send messages normally sent to stderr to stdout instead
* -z[n] = Daemon mode waking up every n (def 5) minutes.
* -z[n] = Daemon mode waking up every n (def 1) minutes.
* -bn = Time format for cal (0, 1, or 2)
* -xn = Max. number of iterations for SATISFY
* -uname = Run as user 'name' - only valid when run by root. If run
@@ -317,7 +317,7 @@ void InitRemind(int argc, char const *argv[])
case 'a':
case 'A':
DontIssueAts = 1;
DontIssueAts++;
break;
case 'q':
@@ -600,7 +600,7 @@ void InitRemind(int argc, char const *argv[])
#ifndef L_USAGE_OVERRIDE
void Usage(void)
{
fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1998 David F. Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1998 Dianne Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "Copyright 1999-2011 Roaring Penguin Software Inc.\n");
#ifdef BETA
fprintf(ErrFp, ">>>> BETA VERSION <<<<\n");
@@ -622,7 +622,7 @@ void Usage(void)
fprintf(ErrFp, " -a Don't trigger timed reminders immediately - just queue them\n");
fprintf(ErrFp, " -q Don't queue timed reminders\n");
fprintf(ErrFp, " -f Trigger timed reminders by staying in foreground\n");
fprintf(ErrFp, " -z[n] Enter daemon mode, waking every n (5) minutes.\n");
fprintf(ErrFp, " -z[n] Enter daemon mode, waking every n (1) minutes.\n");
fprintf(ErrFp, " -d... Debug: e=echo x=expr-eval t=trig v=dumpvars l=showline f=tracefiles\n");
fprintf(ErrFp, " -e Divert messages normally sent to stderr to stdout\n");
fprintf(ErrFp, " -b[n] Time format for cal: 0=am/pm, 1=24hr, 2=none\n");

View File

@@ -5,14 +5,14 @@
/* Header file for language support for various languages. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
/* I'm chauvinistic and name each language with its English name... */
#define ENGLISH 0 /* original by David F. Skoll */
#define ENGLISH 0 /* original by Dianne Skoll */
#define GERMAN 1 /* translated by Wolfgang Thronicke */
#define DUTCH 2 /* translated by Willem Kasdorp and Erik-Jan Vens */
#define FINNISH 3 /* translated by Mikko Silvonen */

View File

@@ -6,7 +6,7 @@
/* */
/* This file is part of REMIND. */
/* */
/* REMIND is Copyright (C) 1992-1998 by David F. Skoll */
/* REMIND is Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* This file is Copyright (C) 1993 by Mogens Lynnerup. */
/* */
@@ -100,10 +100,10 @@
#define L_AMPM_OVERRIDE(ampm, hour) ampm = (hour < 12) ? (hour<5) ? " om natten" : " om formiddagen" : (hour > 17) ? " om aftenen" : " om eftermiddagen";
#define L_ORDINAL_OVERRIDE plu = ".";
#define L_A_OVER sprintf(s, "%s %s, den %d. %s %d", L_ON, DayName[jul%7], d, MonthName[m], y);
#define L_A_OVER if (altmode == '*') { sprintf(s, "%s, den %d. %s %d", DayName[jul%7], d, MonthName[m], y); } else { sprintf(s, "%s %s, den %d. %s %d", L_ON, DayName[jul%7], d, MonthName[m], y); }
#define L_E_OVER sprintf(s, "den %02d%c%02d%c%04d", d, DateSep, m+1, DateSep, y);
#define L_F_OVER sprintf(s, "den %02d%c%02d%c%04d", m+1, DateSep, d, DateSep, y);
#define L_G_OVER sprintf(s, "%s %s, den %d. %s", L_ON, DayName[jul%7], d, MonthName[m]);
#define L_G_OVER if (altmode == '*') { sprintf(s, "%s, den %d. %s", DayName[jul%7], d, MonthName[m]); } else { sprintf(s, "%s %s, den %d. %s", L_ON, DayName[jul%7], d, MonthName[m]); }
#define L_H_OVER sprintf(s, "den %02d%c%02d", d, DateSep, m+1);
#define L_I_OVER sprintf(s, "den %02d%c%02d", m+1, DateSep, d);
#define L_U_OVER L_A_OVER

View File

@@ -6,12 +6,12 @@
/* */
/* Author: Willem Kasdorp */
/* */
/* Modified slightly by David Skoll */
/* Modified slightly by Dianne Skoll */
/* */
/* Further corrections by Erik-Jan Vens */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* Support for the English language. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -11,7 +11,7 @@
/* */
/* This file is part of REMIND. */
/* This file is Copyright (C) 1993-1998 by Mikko Silvonen. */
/* REMIND is Copyright (C) 1992-1998 by David F. Skoll */
/* REMIND is Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -161,26 +161,19 @@
} \
}
#endif
#define L_A_OVER sprintf(s, "%s%s %d. %s%s %d", DayName[jul%7], L_ON, d, \
MonthName[m], L_PARTIT, y);
#define L_C_OVER sprintf(s, "%s%s", DayName[jul%7], L_ON);
#define L_E_OVER sprintf(s, "%02d%c%02d%c%04d", d, DateSep, m+1, DateSep, \
y);
#define L_A_OVER if (altmode == '*') { sprintf(s, "%s %d. %s %d", DayName[jul%7], d, MonthName[m], y); } else { sprintf(s, "%s%s %d. %s%s %d", DayName[jul%7], L_ON, d, MonthName[m], L_PARTIT, y); }
#define L_C_OVER if (altmode == '*') { sprintf(s, "%s", DayName[jul%7]); } else { sprintf(s, "%s%s", DayName[jul%7], L_ON); }
#define L_E_OVER sprintf(s, "%02d%c%02d%c%04d", d, DateSep, m+1, DateSep, y);
#define L_F_OVER sprintf(s, "%02d%c%02d%c%04d", m+1, DateSep, d, DateSep, y);
#define L_G_OVER sprintf(s, "%s%s %d. %s%s", DayName[jul%7], L_ON, d, \
MonthName[m], L_PARTIT);
#define L_G_OVER if (altmode == '*') { sprintf(s, "%s %d. %s", DayName[jul%7], d, MonthName[m]); } else { sprintf(s, "%s%s %d. %s%s", DayName[jul%7], L_ON, d, MonthName[m], L_PARTIT); }
#define L_H_OVER sprintf(s, "%02d%c%02d", d, DateSep, m+1);
#define L_I_OVER sprintf(s, "%02d%c%02d", m+1, DateSep, d);
#define L_J_OVER sprintf(s, "%s%s %sn %d%s %d", DayName[jul%7], L_ON, \
MonthName[m], d, plu, y);
#define L_K_OVER sprintf(s, "%s%s %sn %d%s", DayName[jul%7], L_ON, \
MonthName[m], d, plu);
#define L_J_OVER if (altmode == '*') { sprintf(s, "%s %sn %d%s %d", DayName[jul%7], MonthName[m], d, plu, y); } else { sprintf(s, "%s%s %sn %d%s %d", DayName[jul%7], L_ON, MonthName[m], d, plu, y); }
#define L_K_OVER if (altmode == '*') { sprintf(s, "%s %sn %d%s", DayName[jul%7], MonthName[m], d, plu); } else { sprintf(s, "%s%s %sn %d%s", DayName[jul%7], L_ON, MonthName[m], d, plu); }
#define L_L_OVER sprintf(s, "%04d%c%02d%c%02d", y, DateSep, m+1, DateSep, d);
#define L_Q_OVER sprintf(s, "n");
#define L_U_OVER sprintf(s, "%s%s %d%s %s%s %d", DayName[jul%7], L_ON, \
d, plu, MonthName[m], L_PARTIT, y);
#define L_V_OVER sprintf(s, "%s%s %d%s %s%s", DayName[jul%7], L_ON, d, \
plu, MonthName[m], L_PARTIT);
#define L_U_OVER if (altmode == '*') { sprintf(s, "%s %d%s %s %d", DayName[jul%7], d, plu, MonthName[m], y); } else { sprintf(s, "%s%s %d%s %s%s %d", DayName[jul%7], L_ON, d, plu, MonthName[m], L_PARTIT, y); }
#define L_V_OVER if (altmode == '*') { sprintf(s, "%s %d%s %s", DayName[jul%7], d, plu, MonthName[m]); } else { sprintf(s, "%s%s %d%s %s%s", DayName[jul%7], L_ON, d, plu, MonthName[m], L_PARTIT); }
#define L_1_OVER \
if (tdiff == 0) \
sprintf(s, "%s", L_NOW); \
@@ -529,7 +522,7 @@ EXTERN char *ErrMsg[] =
#define L_USAGE_OVERRIDE 1
void Usage(void)
{
fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1998 David F. Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1998 Dianne Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "Copyright 1999-2000 Roaring Penguin Software Inc.\n");
#ifdef BETA
fprintf(ErrFp, ">>>> BETAVERSIO <<<<\n");

View File

@@ -8,10 +8,10 @@
/* */
/* This file is part of REMIND. */
/* */
/* REMIND is Copyright (C) 1992-1998 by David F. Skoll */
/* REMIND is Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* This file is Copyright (C) 1993 by Laurent Duperval and */
/* David F. Skoll. */
/* Dianne Skoll. */
/* */
/***************************************************************/
@@ -129,13 +129,9 @@ else if (tdiff < 0) { \
sprintf(s, "dans %d heure%s et %d minute%s", hdiff, hplu, mdiff, mplu); \
}
#define L_J_OVER \
sprintf(s, "%s %s, %d%s %s, %d", L_ON, DayName[jul%7], \
d, plu, MonthName[m], y);
#define L_J_OVER if (altmode == '*') { sprintf(s, "%s, %d%s %s, %d", DayName[jul%7], d, plu, MonthName[m], y); } else { sprintf(s, "%s %s, %d%s %s, %d", L_ON, DayName[jul%7], d, plu, MonthName[m], y); }
#define L_K_OVER \
sprintf(s, "%s %s, %d%s %s", L_ON, DayName[jul%7], \
d, plu, MonthName[m]);
#define L_K_OVER if (altmode == '*') { sprintf(s, "%s, %d%s %s", DayName[jul%7], d, plu, MonthName[m]); } else { sprintf(s, "%s %s, %d%s %s", L_ON, DayName[jul%7], d, plu, MonthName[m]); }
#endif /* L_IN_DOSUBST */
@@ -360,7 +356,7 @@ EXTERN char *ErrMsg[] =
#define L_USAGE_OVERRIDE 1
void Usage(void)
{
fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1998 David F. Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1998 Dianne Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "Copyright 1999-2000 Roaring Penguin Software Inc.\n");
#ifdef BETA
fprintf(ErrFp, ">>>> BETA VERSION <<<<\n");

View File

@@ -9,7 +9,7 @@
/* I don't speak German. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -93,8 +93,8 @@
See the file dosubst.c for more info. */
#define L_AMPM_OVERRIDE(ampm, hour) ampm = (hour < 12) ? (hour<5) ? " nachts" : " vormittags" : (hour > 17) ? " abends" : " nachmittags";
#define L_ORDINAL_OVERRIDE plu = ".";
#define L_A_OVER sprintf(s, "%s %s, den %d. %s %d", L_ON, DayName[jul%7], d, MonthName[m], y);
#define L_G_OVER sprintf(s, "%s %s, den %d. %s", L_ON, DayName[jul%7], d, MonthName[m]);
#define L_A_OVER if (altmode == '*') { sprintf(s, "%s, den %d. %s %d", DayName[jul%7], d, MonthName[m], y); } else { sprintf(s, "%s %s, den %d. %s %d", L_ON, DayName[jul%7], d, MonthName[m], y); }
#define L_G_OVER if (altmode == '*') { sprintf(s, "%s, den %d. %s", DayName[jul%7], d, MonthName[m]); } else { sprintf(s, "%s %s, den %d. %s", L_ON, DayName[jul%7], d, MonthName[m]); }
#define L_U_OVER L_A_OVER
#define L_V_OVER L_G_OVER

View File

@@ -5,7 +5,7 @@
/* Support for the Icelandic language. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* Translated by Björn Davíðsson (bjossi@snerpa.is) */
/* */

View File

@@ -7,7 +7,7 @@
/* This file is part of REMIND. */
/* It is Copyright (C) 1996 by Valerio Aimale */
/* */
/* Remind is copyright (C) 1992-1998 by David F. Skoll */
/* Remind is copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -6,7 +6,7 @@
/* */
/* This file is part of REMIND. */
/* This file is Copyright (C) 1993 by Trygve Randen. */
/* Remind is Copyright (C) 1992-1998 by David F. Skoll */
/* Remind is Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -101,8 +101,8 @@
/* Define any overrides here, such as L_ORDINAL_OVERRIDE, L_A_OVER, etc.
See the file dosubst.c for more info. */
#define L_ORDINAL_OVERRIDE plu = ".";
#define L_A_OVER sprintf(s, "%s %s, den %d. %s %d", L_ON, DayName[jul%7], d, MonthName[m], y);
#define L_G_OVER sprintf(s, "%s %s, den %d. %s", L_ON, DayName[jul%7], d, MonthName[m]);
#define L_A_OVER if (altmode == '*') { sprintf(s, "%s, den %d. %s %d", DayName[jul%7], d, MonthName[m], y); } else { sprintf(s, "%s %s, den %d. %s %d", L_ON, DayName[jul%7], d, MonthName[m], y); }
#define L_G_OVER if (altmode == '*') { sprintf(s, "%s, den %d. %s", DayName[jul%7], d, MonthName[m]); } else { sprintf(s, "%s %s, den %d. %s", L_ON, DayName[jul%7], d, MonthName[m]); }
#define L_U_OVER L_A_OVER
#define L_V_OVER L_G_OVER

View File

@@ -9,7 +9,7 @@
/* Polish. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -141,8 +141,8 @@ ampm = (hour<12) ? \
: " w nocy";
#endif
#define L_ORDINAL_OVERRIDE plu = "";
#define L_A_OVER sprintf(s, "%s %s, %d. %s %d", L_ON, DayName[jul%7], d, MonthName[m], y);
#define L_G_OVER sprintf(s, "%s %s, %d. %s", L_ON, DayName[jul%7], d, MonthName[m]);
#define L_A_OVER if (altmode == '*') { sprintf(s, "%s, %d. %s %d", DayName[jul%7], d, MonthName[m], y); } else { sprintf(s, "%s %s, %d. %s %d", L_ON, DayName[jul%7], d, MonthName[m], y); }
#define L_G_OVER if (altmode == '*') { sprintf(s, "%s, %d. %s", DayName[jul%7], d, MonthName[m]); } else { sprintf(s, "%s %s, %d. %s", L_ON, DayName[jul%7], d, MonthName[m]); }
#define L_U_OVER L_A_OVER
#define L_V_OVER L_G_OVER
@@ -394,7 +394,7 @@ EXTERN char *ErrMsg[] =
#define L_USAGE_OVERRIDE 1
void Usage(void)
{
fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1998 David F. Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1998 Dianne Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "Copyright 1999-2000 Roaring Penguin Software Inc.\n");
#ifdef BETA
fprintf(ErrFp, ">>>> BETA VERSION <<<<\n");

View File

@@ -8,10 +8,10 @@
/* */
/* This file is part of REMIND. */
/* */
/* REMIND is Copyright (C) 1992-1998 by David F. Skoll */
/* REMIND is Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* This file is Copyright (C) 1996 by Marco Paganini and */
/* David F. Skoll. */
/* Dianne Skoll. */
/* */
/***************************************************************/
@@ -256,7 +256,7 @@ EXTERN char *ErrMsg[] =
#define L_USAGE_OVERRIDE 1
void Usage(void)
{
fprintf(ErrFp, "\nREMIND %s (versao %s) (C) 1992-1998 David F. Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "\nREMIND %s (versao %s) (C) 1992-1998 Dianne Skoll\n", VERSION, L_LANGNAME);
fprintf(ErrFp, "(C) 1999-2000 Roaring Penguin Software Inc.\n");
#ifdef BETA
fprintf(ErrFp, ">>>> VERSAO BETA <<<<\n");

View File

@@ -1,4 +1,4 @@
/***************************************************************/
!/***************************************************************/
/* */
/* ROMANIAN.H */
/* */
@@ -8,7 +8,7 @@
/* */
/* This file is part of REMIND. */
/* */
/* REMIND is Copyright (C) 1992-1998 by David F. Skoll */
/* REMIND is Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* This file is Copyright (C) 1996-1998 by Liviu Daia */
/* */

View File

@@ -7,7 +7,7 @@
/* Author: Rafa Couto <rafacouto@biogate.com> */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -42,7 +42,7 @@
#define L_JUL "Julio"
#define L_AUG "Agosto"
#define L_SEP "Septiembre"
#define L_OCT "Octuber"
#define L_OCT "Octubre"
#define L_NOV "Noviembre"
#define L_DEC "Diciembre"

View File

@@ -6,7 +6,7 @@
/* routines, etc. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2011 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -141,7 +141,7 @@ void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
MD5Transform(ctx->buf, (uint32 *) ctx->in);
byteReverse((unsigned char *) ctx->buf, 4);
memcpy(digest, ctx->buf, 16);
memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
}
#ifndef ASM_MD5

View File

@@ -5,7 +5,7 @@
/* Calculations for figuring out moon phases. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -6,7 +6,7 @@
/* the data structures for OMITted dates. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -390,12 +390,12 @@ DoThroughOmit(ParsePtr p, int ystart, int mstart, int dstart)
{
int yend = NO_YR, mend = NO_MON, dend = NO_DAY, r;
int start, end, tmp;
int parsing = 1;
Token tok;
DynamicBuffer buf;
DBufInit(&buf);
int parsing = 1;
while(parsing) {
if ( (r=ParseToken(p, &buf)) ) return r;

View File

@@ -5,7 +5,7 @@
/* Function Prototypes. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* Queue up reminders for subsequent execution. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* Print a PostScript calendar. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -161,7 +161,7 @@ int main(int argc, char *argv[])
if (!strcmp(DBufValue(&buf), PSBEGIN)) {
if (!validfile) {
if (Verbose) {
fprintf(stderr, "Rem2PS: Version %s Copyright 1992-1998 by David F. Skoll\n\n", VERSION);
fprintf(stderr, "Rem2PS: Version %s Copyright 1992-1998 by Dianne Skoll\n\n", VERSION);
fprintf(stderr, "Generating PostScript calendar\n");
}
}
@@ -772,7 +772,7 @@ void Init(int argc, char *argv[])
case 'o':
if (i == argc) Usage("Offset must be supplied");
offset = atoi(argv[i++]);
if (offset < 36) offset = 36;
if (offset < 0) offset = 0;
if (!*s) Usage("Offset must specify l, r, t or b");
while(*s) {
switch(*s++) {

View File

@@ -5,7 +5,7 @@
/* Define the PostScript prologue */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -13,8 +13,8 @@
char *PSProlog1[] =
{
"% This file was produced by Remind and Rem2PS, written by",
"% David F. Skoll.",
"% Remind and Rem2PS are Copyright 1992-1997 David F. Skoll.",
"% Dianne Skoll.",
"% Remind and Rem2PS are Copyright 1992-1997 Dianne Skoll.",
"/ISOLatin1Encoding where { pop save true }{ false } ifelse",
" /ISOLatin1Encoding [ StandardEncoding 0 45 getinterval aload pop /minus",
" StandardEncoding 46 98 getinterval aload pop /dotlessi /grave /acute",

View File

@@ -5,7 +5,7 @@
/* Routines for sorting reminders by trigger date */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

11
src/test-all-languages.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/sh
# Make sure Remind compiles with all supported languages; show
# tstlang.rem output for each language.
ALL=`grep ^#define lang.h | grep -v '#define LANG' | awk '{print $2}'`
for i in $ALL ; do
make clean all LANGDEF=-DLANG=$i || exit 1
./remind -q -r ../tests/tstlang.rem
done
exit 0

View File

@@ -6,7 +6,7 @@
/* classifying the tokens parsed. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* Routines for figuring out the trigger date of a reminder */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/
@@ -426,7 +426,9 @@ int ComputeTrigger(int today, Trigger *trig, int *err, int save_in_globals)
result;
trig->expired = 0;
if (save_in_globals) LastTrigValid = 0;
if (save_in_globals) {
LastTrigValid = 0;
}
/* Assume everything works */
*err = OK;

View File

@@ -5,7 +5,7 @@
/* Type definitions all dumped here. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -6,7 +6,7 @@
/* functions. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -5,7 +5,7 @@
/* Useful utility functions. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

View File

@@ -6,7 +6,7 @@
/* user- and system-defined variables. */
/* */
/* This file is part of REMIND. */
/* Copyright (C) 1992-1998 by David F. Skoll */
/* Copyright (C) 1992-1998 by Dianne Skoll */
/* Copyright (C) 1999-2007 by Roaring Penguin Software Inc. */
/* */
/***************************************************************/

13
tests/sun.rem Normal file
View File

@@ -0,0 +1,13 @@
SET $LatDeg 45
SET $LatMin 24
SET $LatSec 0
SET $LongDeg 75
SET $LongMin 39
SET $LongSec 0
SET $MinsFromUTC -300
SET $CalcUTC 0
MSG Dawn: [dawn()]
MSG Sunrise: [sunrise()]
MSG Sunset: [sunset()]
MSG Dusk: [dusk()]

View File

@@ -7,7 +7,7 @@
# in the build directory.
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 David F. Skoll
# Copyright (C) 1992-1997 Dianne Skoll
# Copyright (C) 1999-2000 Roaring Penguin Software Inc.
# ---------------------------------------------------------------------------
@@ -68,7 +68,7 @@ echo "Sort Test" >> ../tests/test.out
(echo "REM AT 12:00 MSG Untimed"; echo "REM MSG Timed") | ../src/remind -q -gaaad - 1 Jan 2000 >> ../tests/test.out 2>&1
echo "Purge Test" >> ../tests/test.out
../src/remind -j999 ../tests/purge_dir/f1.rem >> ../tests/test.out 2>&1
../src/remind -j999 ../tests/purge_dir/f1.rem 3 Feb 2012 >> ../tests/test.out 2>&1
echo "F1" >> ../tests/test.out
cat ../tests/purge_dir/f1.rem.purged >> ../tests/test.out
echo "F2" >> ../tests/test.out
@@ -81,6 +81,26 @@ rm -f ../tests/purge_dir/*.rem.purged >> ../tests/test.out 2>&1
../src/remind -p ../tests/shade.rem 1 August 2009 | ../src/rem2ps -e -l -c3 >> ../tests/test.out 2>&1
# The sun tests can fail due to math roundoff error changing the times
# by a minute...
# ../src/remind -p12 ../tests/sun.rem 1 Jan 2011 >> ../tests/test.out 2>&1
# Test -a vs -aa
../src/remind -q -a - 1 Jan 2012 9:00 <<'EOF' >> ../tests/test.out 2>&1
REM 1 Jan 2012 AT 8:00 MSG 8am: Should not show up
REM 1 Jan 2012 AT 9:00 MSG 9am: Should not show up
REM 1 Jan 2012 AT 10:00 MSG 10am: Should not show up
MSG [$DontTrigAts]
EOF
../src/remind -q -a -a - 1 Jan 2012 9:00 <<'EOF' >> ../tests/test.out 2>&1
REM 1 Jan 2012 AT 8:00 MSG 8am: Should not show up
REM 1 Jan 2012 AT 9:00 MSG 9am: Should show up
REM 1 Jan 2012 AT 10:00 MSG 10am: Should show up
MSG [$DontTrigAts]
EOF
cmp -s ../tests/test.out ../tests/test.cmp
if [ "$?" = "0" ]; then
echo "Remind: Acceptance test PASSED"

View File

@@ -836,7 +836,7 @@ set a057 value("a05"+"6")
"a05" + "6" => "a056"
value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
set a058 version()
version() => "03.01.11"
version() => "03.01.14"
set a059 wkday(today())
today() => 1991-02-16
wkday(1991-02-16) => "Saturday"
@@ -935,11 +935,81 @@ msg [a076]%
../tests/test.rem(272): Trig = Saturday, 16 February, 1991
a076 => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
s' 05 th 05 on Tuesday, 5th May, 1992 on Tuesday, 5th May Tuesday 444
set a077 dosubst("%y %z", '1992/5/5')
dosubst("%y %z", 1992-05-05) => "1992 92
set a074 dosubst("%*a %*b %*c %*d %*e %*f %*g %*h", '1992/5/5')
dosubst("%*a %*b %*c %*d %*e %*f %*g %*h", 1992-05-05) => "Tuesday, 5 May, 1992 in 444 days' time T"...
msg [a074]%
../tests/test.rem(274): Trig = Saturday, 16 February, 1991
a074 => "Tuesday, 5 May, 1992 in 444 days' time T"...
Tuesday, 5 May, 1992 in 444 days' time Tuesday 5 05-05-1992 05-05-1992 Tuesday, 5 May 05-05
set a075 dosubst("%*i %*j %*k %*l %*m %*n %*o %*p", '1992/5/5')
dosubst("%*i %*j %*k %*l %*m %*n %*o %*p", 1992-05-05) => "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
msg [a075]%
../tests/test.rem(276): Trig = Saturday, 16 February, 1991
a075 => "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
05-05 Tuesday, May 5th, 1992 Tuesday, May 5th 1992-05-05 May 5 s
set a076 dosubst("%*q %*r %*s %*t %*u %*v %*w %*x", '1992/5/5')
dosubst("%*q %*r %*s %*t %*u %*v %*w %*x", 1992-05-05) => "s' 05 th 05 Tuesday, 5th May, 1992 Tuesd"...
msg [a076]%
../tests/test.rem(278): Trig = Saturday, 16 February, 1991
a076 => "s' 05 th 05 Tuesday, 5th May, 1992 Tuesd"...
s' 05 th 05 Tuesday, 5th May, 1992 Tuesday, 5th May Tuesday 444
set a077 dosubst("%*y %*z", '1992/5/5')
dosubst("%*y %*z", 1992-05-05) => "1992 92
"
msg [a077]%
../tests/test.rem(274): Trig = Saturday, 16 February, 1991
../tests/test.rem(280): Trig = Saturday, 16 February, 1991
a077 => "1992 92
"
1992 92
set a074 dosubst("%A %B %C %D %E %F %G %H", '1992/5/5')
dosubst("%A %B %C %D %E %F %G %H", 1992-05-05) => "On Tuesday, 5 May, 1992 In 444 days' tim"...
msg [a074]%
../tests/test.rem(282): Trig = Saturday, 16 February, 1991
a074 => "On Tuesday, 5 May, 1992 In 444 days' tim"...
On Tuesday, 5 May, 1992 In 444 days' time On Tuesday 5 On 05-05-1992 On 05-05-1992 On Tuesday, 5 May On 05-05
set a075 dosubst("%I %J %K %L %M %N %O %P", '1992/5/5')
dosubst("%I %J %K %L %M %N %O %P", 1992-05-05) => "On 05-05 On Tuesday, May 5th, 1992 On Tu"...
msg [a075]%
../tests/test.rem(284): Trig = Saturday, 16 February, 1991
a075 => "On 05-05 On Tuesday, May 5th, 1992 On Tu"...
On 05-05 On Tuesday, May 5th, 1992 On Tuesday, May 5th On 1992-05-05 May 5 S
set a076 dosubst("%Q %R %S %T %U %V %W %X", '1992/5/5')
dosubst("%Q %R %S %T %U %V %W %X", 1992-05-05) => "S' 05 Th 05 On Tuesday, 5th May, 1992 On"...
msg [a076]%
../tests/test.rem(286): Trig = Saturday, 16 February, 1991
a076 => "S' 05 Th 05 On Tuesday, 5th May, 1992 On"...
S' 05 Th 05 On Tuesday, 5th May, 1992 On Tuesday, 5th May Tuesday 444
set a077 dosubst("%Y %Z", '1992/5/5')
dosubst("%Y %Z", 1992-05-05) => "1992 92
"
msg [a077]%
../tests/test.rem(288): Trig = Saturday, 16 February, 1991
a077 => "1992 92
"
1992 92
set a074 dosubst("%*A %*B %*C %*D %*E %*F %*G %*H", '1992/5/5')
dosubst("%*A %*B %*C %*D %*E %*F %*G %*H", 1992-05-05) => "Tuesday, 5 May, 1992 In 444 days' time T"...
msg [a074]%
../tests/test.rem(290): Trig = Saturday, 16 February, 1991
a074 => "Tuesday, 5 May, 1992 In 444 days' time T"...
Tuesday, 5 May, 1992 In 444 days' time Tuesday 5 05-05-1992 05-05-1992 Tuesday, 5 May 05-05
set a075 dosubst("%*I %*J %*K %*L %*M %*N %*O %*P", '1992/5/5')
dosubst("%*I %*J %*K %*L %*M %*N %*O %*P", 1992-05-05) => "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
msg [a075]%
../tests/test.rem(292): Trig = Saturday, 16 February, 1991
a075 => "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
05-05 Tuesday, May 5th, 1992 Tuesday, May 5th 1992-05-05 May 5 S
set a076 dosubst("%*Q %*R %*S %*T %*U %*V %*W %*X", '1992/5/5')
dosubst("%*Q %*R %*S %*T %*U %*V %*W %*X", 1992-05-05) => "S' 05 Th 05 Tuesday, 5th May, 1992 Tuesd"...
msg [a076]%
../tests/test.rem(294): Trig = Saturday, 16 February, 1991
a076 => "S' 05 Th 05 Tuesday, 5th May, 1992 Tuesd"...
S' 05 Th 05 Tuesday, 5th May, 1992 Tuesday, 5th May Tuesday 444
set a077 dosubst("%*Y %*Z", '1992/5/5')
dosubst("%*Y %*Z", 1992-05-05) => "1992 92
"
msg [a077]%
../tests/test.rem(296): Trig = Saturday, 16 February, 1991
a077 => "1992 92
"
1992 92
@@ -967,7 +1037,7 @@ dump
a017 29
a036 "bar"
a055 1
a074 "on Tuesday, 5 May, 1992 in 444 days' tim"...
a074 "Tuesday, 5 May, 1992 In 444 days' time T"...
a008 "11:44"
a027 0
a046 "ies"
@@ -976,7 +1046,7 @@ dump
a018 1
a037 1991-02-15
a056 "SDFJHSDF KSJDFH KJSDFH KSJDFH"
a075 "on 05-05 on Tuesday, May 5th, 1992 on Tu"...
a075 "05-05 Tuesday, May 5th, 1992 Tuesday, Ma"...
a028 1
a047 -1
a066 0
@@ -984,12 +1054,12 @@ dump
a019 0
a038 33
a057 "SDFJHSDF KSJDFH KJSDFH KSJDFH"
a076 "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
a076 "S' 05 Th 05 Tuesday, 5th May, 1992 Tuesd"...
a029 0
a048 "foo"
a067 "INT"
a039 "February"
a058 "03.01.11"
a058 "03.01.14"
a077 "1992 92
"
a049 21
@@ -1048,10 +1118,10 @@ dump
a083 1991-03-24
OMIT 2010-09-03 THROUGH 2010-09-15
OMIT December 25 MSG X
../tests/test.rem(286): Trig = Wednesday, 25 December, 1991
../tests/test.rem(308): Trig = Wednesday, 25 December, 1991
# Next should give a parse error
OMIT 26 Dec 2010 THROUGH 27 Dec 2010 MSG This is not legal
../tests/test.rem(288): Trig = Sunday, 26 December, 2010
../tests/test.rem(310): Trig = Sunday, 26 December, 2010
OMIT DUMP
Global Full OMITs (16 of maximum allowed 500):
1991-03-11
@@ -2319,8 +2389,8 @@ No reminders.
%%Orientation: Landscape
%%EndComments
% This file was produced by Remind and Rem2PS, written by
% David F. Skoll.
% Remind and Rem2PS are Copyright 1992-1997 David F. Skoll.
% Dianne Skoll.
% Remind and Rem2PS are Copyright 1992-1997 Dianne Skoll.
/ISOLatin1Encoding where { pop save true }{ false } ifelse
/ISOLatin1Encoding [ StandardEncoding 0 45 getinterval aload pop /minus
StandardEncoding 46 98 getinterval aload pop /dotlessi /grave /acute
@@ -3411,3 +3481,15 @@ grestore
showpage
%%Trailer
%%Pages: 1
Reminders for Sunday, 1st January, 2012:
1
Reminders for Sunday, 1st January, 2012:
9am: Should show up
10am: Should show up
2

View File

@@ -270,7 +270,29 @@ set a075 dosubst("%i %j %k %l %m %n %o %p", '1992/5/5')
msg [a075]%
set a076 dosubst("%q %r %s %t %u %v %w %x", '1992/5/5')
msg [a076]%
set a077 dosubst("%y %z", '1992/5/5')
set a074 dosubst("%*a %*b %*c %*d %*e %*f %*g %*h", '1992/5/5')
msg [a074]%
set a075 dosubst("%*i %*j %*k %*l %*m %*n %*o %*p", '1992/5/5')
msg [a075]%
set a076 dosubst("%*q %*r %*s %*t %*u %*v %*w %*x", '1992/5/5')
msg [a076]%
set a077 dosubst("%*y %*z", '1992/5/5')
msg [a077]%
set a074 dosubst("%A %B %C %D %E %F %G %H", '1992/5/5')
msg [a074]%
set a075 dosubst("%I %J %K %L %M %N %O %P", '1992/5/5')
msg [a075]%
set a076 dosubst("%Q %R %S %T %U %V %W %X", '1992/5/5')
msg [a076]%
set a077 dosubst("%Y %Z", '1992/5/5')
msg [a077]%
set a074 dosubst("%*A %*B %*C %*D %*E %*F %*G %*H", '1992/5/5')
msg [a074]%
set a075 dosubst("%*I %*J %*K %*L %*M %*N %*O %*P", '1992/5/5')
msg [a075]%
set a076 dosubst("%*Q %*R %*S %*T %*U %*V %*W %*X", '1992/5/5')
msg [a076]%
set a077 dosubst("%*Y %*Z", '1992/5/5')
msg [a077]%
set a078 easterdate(today())
set a079 easterdate(1992)
@@ -287,3 +309,7 @@ OMIT December 25 MSG X
# Next should give a parse error
OMIT 26 Dec 2010 THROUGH 27 Dec 2010 MSG This is not legal
OMIT DUMP
__EOF__
REM This line should not even be seen
And you can put whatever you like here.
[+f=asdfasdasde3ir0a]

View File

@@ -11,7 +11,7 @@
# Use the output to verify your translations.
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 David F. Skoll
# Copyright (C) 1992-1997 Dianne Skoll
# Copyright (C) 1999-2000 Roaring Penguin Software Inc.
#
# ---------------------------------------------------------------------------
@@ -30,7 +30,7 @@ if !$RunOff || !$DontQueue || $DontTrigAts
endif
# Set up a few useful definitions
fset show(x) "%%" + x + " yields: " + char(34) + "%" + x + char(34) + "%"
fset show(x) "%%" + x + " yields: " + char(34) + "%" + x + char(34) + "% and %%*" + x + " yields: " + char(34) + "%*" + x + char(34) + "%"
set a trigger(today()+2) + " ++2"
set l language()
set tt now()+134

View File

@@ -1,6 +1,6 @@
# Makefile.in for installing WWW server calendar scripts
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2007 by Roaring Penguin Software Inc.
# The complete path to where the scripts actually live, as seen by

View File

@@ -10,4 +10,4 @@ You may have to edit the "#!/usr/bin/perl" line to reflect the
location of your Perl interpreter.
--
David F. Skoll
Dianne Skoll

2
www/cal_dispatch-DIST Executable file → Normal file
View File

@@ -1,7 +1,7 @@
#!/bin/sh
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
# CAL_DISPATCH -- Shell script for CGI directory to dispatch calendar

2
www/calps Executable file → Normal file
View File

@@ -2,7 +2,7 @@
# PostScript calendar shell script
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
echo "Content-type: application/postscript"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

After

Width:  |  Height:  |  Size: 317 B

2
www/hebdate Executable file → Normal file
View File

@@ -2,7 +2,7 @@
# Hebrew date shell script
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
echo Content-type: text/html

View File

@@ -1,7 +1,7 @@
# Hebrew date reminder file
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
BANNER %
@@ -24,7 +24,7 @@ ENDIF
# dates were obtained from "The First Jewish Catalog" by Richard Siegel #
# and Michael and Sharon Strassfeld, published by the Jewish Publication #
# Society of America. The Reform version of the calendar was guessed #
# at by David Skoll based on experience. Additional corrections were #
# at by Dianne Skoll based on experience. Additional corrections were #
# made from the paper "Calendrical Calculations" by Nachum Dershowitz #
# and Edward M. Reingold. Any further corrections are welcome. #
# #

2
www/hebhtml Executable file → Normal file
View File

@@ -2,7 +2,7 @@
# HTML calendar shell script
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
echo "Content-Type: text/html"

2
www/hebps Executable file → Normal file
View File

@@ -2,7 +2,7 @@
# Hebrew PostScript calendar shell script
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
# Figure out the month: If day <= 20, use this month; otherwise, use

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 B

After

Width:  |  Height:  |  Size: 367 B

2
www/moon Executable file → Normal file
View File

@@ -2,7 +2,7 @@
# Moon shell script
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
echo Content-type: text/html

View File

@@ -1,7 +1,7 @@
# File for giving moon phase info.
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
set now now()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 B

After

Width:  |  Height:  |  Size: 362 B

View File

@@ -4,8 +4,8 @@ class Remind
{
# For validating commands we send to popen
function is_valid_day($d) {
return (preg_match('/^\d+$/', $d) &&
$d >= 1 && $d <= 31;
return (preg_match('/^\d+$/', $d)) &&
$d >= 1 && $d <= 31;
}
function is_valid_month($m) {
@@ -160,6 +160,22 @@ class Remind
return $html;
}
function small_calendar($results, $month, $monlen, $first_col, $which, &$options)
{
$monday_first = $results['monday_flag'];
if ($monday_first) {
$first_col--;
if ($first_col < 0) {
$first_col = 6;
}
}
$html = "<td class=\"rem-small-calendar\">\n<table class=\"rem-sc-table\">\n<caption class=\"rem-sc-caption\">";
# TODO: URL for small calendar
$html .= $month;
$html .= "</caption>\n";
}
function generate_html(&$results, &$specials, &$options)
{
$monday_first = $results['monday_flag'];
@@ -318,8 +334,8 @@ $fp = popen('rem -p -l', 'r');
$r = new Remind;
$ans = $r->parse_remind_output($fp);
pclose($fp);
#print_r($ans);
print_r($ans);
$options = array();
print $r->generate_html($ans['results'], $ans['specials'], $options);
#print $r->generate_html($ans['results'], $ans['specials'], $options);
?>

2
www/rem2html Executable file → Normal file
View File

@@ -84,7 +84,7 @@ Insert I<html_text> right before the E<lt>/bodyE<gt> tag.
=head1 AUTHOR
rem2html was written by David F. Skoll with much inspiration from an
rem2html was written by Dianne Skoll with much inspiration from an
earlier version by Don Schwarz.
=cut

2
www/sunrise Executable file → Normal file
View File

@@ -2,7 +2,7 @@
# Sunrise shell script
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
echo Content-type: text/html

2
www/sunrise.rem-DIST Executable file → Normal file
View File

@@ -1,7 +1,7 @@
# File for giving sunrise info
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
set now now()

2
www/sunset Executable file → Normal file
View File

@@ -2,7 +2,7 @@
# Sunset shell script
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
echo Content-type: text/html

View File

@@ -1,7 +1,7 @@
# File for giving sunset info
#
# This file is part of REMIND.
# Copyright (C) 1992-1997 by David F. Skoll
# Copyright (C) 1992-1997 by Dianne Skoll
# Copyright (C) 1999-2000 by Roaring Penguin Software Inc.
set now now()