Compare commits

...

24 Commits

Author SHA1 Message Date
Dianne Skoll
221e2554a9 Prep for 03.04.01 release. 2022-02-23 11:09:39 -05:00
Dianne Skoll
04ec6c3695 Update TodayDay, TodayMonth and TodayYear in Initialize, in case date has rolled over 2022-02-15 10:04:30 -05:00
Dianne Skoll
b1594980fc Add --disable-perl-build-artifacts flag to configure. 2022-02-13 10:42:50 -05:00
Dianne Skoll
024a8ef38d Double-check that chosen font size for small calendars won't overflow box. 2022-02-13 10:33:21 -05:00
Dianne Skoll
b281051421 Don't overflow small calendar box. 2022-02-12 23:30:08 -05:00
Dianne Skoll
aa1b275b51 Support INSTALL_BASE 2022-02-11 10:55:59 -05:00
Dianne Skoll
c22ca68857 Support INSTALL_BASE env var 2022-02-11 10:39:31 -05:00
Dianne Skoll
3804ce3fe3 Prep for 03.04.00 release. 2022-02-10 17:15:01 -05:00
Dianne Skoll
0977f1db04 Don't export the 'php' directory. 2022-02-10 10:07:41 -05:00
Dianne Skoll
83c97934c9 Fix typo 2022-02-09 09:43:11 -05:00
Dianne Skoll
44c9d74caa Preserve #include "custom.h" in config.h.in. Patch due to Jochen Sprickerhof 2022-02-09 09:10:47 -05:00
Dianne Skoll
172f56754a Fix groff errors - patch from Jochen Sprickerhof 2022-02-09 08:59:58 -05:00
Dianne Skoll
dc184cc713 Don't fail "make clean" in src - patch from Jochen Sprickerhof. 2022-02-09 08:58:47 -05:00
Dianne Skoll
2c30088553 Update docs. 2022-02-08 13:31:11 -05:00
Dianne Skoll
6f0c189afb Edit proper file 2022-02-08 13:23:29 -05:00
Dianne Skoll
0e2996c3e1 Update "See also" 2022-02-08 13:22:32 -05:00
Dianne Skoll
ce8040dd1f Add generated file to .gitignore 2022-02-08 13:19:07 -05:00
Dianne Skoll
a8fd2d463d Update man pages 2022-02-08 13:18:48 -05:00
Dianne Skoll
237813127c Document how to highlight "today" in rem2html 2022-02-08 13:10:15 -05:00
Dianne Skoll
3e6259532f Support the old-style "REM ... SPECIAL SHADE grey" variant. 2022-02-03 19:34:09 -05:00
Dianne Skoll
c015441130 Don't barf if libcairo is too old. 2022-02-03 17:27:31 -05:00
Dianne Skoll
9661455fee Set default heading size to 12 instead of 14. 2022-02-03 16:27:38 -05:00
Dianne Skoll
df983b4123 Make sure all system variables are accessible. 2022-02-03 16:16:28 -05:00
Dianne Skoll
068d5429eb Fix variable sort order 2022-02-03 16:12:13 -05:00
18 changed files with 674 additions and 146 deletions

3
.gitattributes vendored
View File

@@ -1,4 +1,5 @@
.gitignore export-ignore
.gitattributes export-ignore
remind.php export-ignore
sync-to-dianne-git export-ignore
sync-to-dianne-git export-ignore
php export-ignore

1
.gitignore vendored
View File

@@ -24,3 +24,4 @@ blib/
pm_to_blib
rem2pdf/Makefile.top
rem2pdf/bin/rem2pdf
rem2html/rem2html.1

View File

@@ -20,10 +20,10 @@ install:
@echo ""
@$(MAKE) -C src install
@$(MAKE) -C rem2html install
@$(MAKE) -C rem2pdf -f Makefile.top install
@$(MAKE) -C rem2pdf -f Makefile.top install INSTALL_BASE=$(INSTALL_BASE)
clean:
find . -name '*~' -exec rm {} \;
$(MAKE) -C src clean
-$(MAKE) -C src clean
-$(MAKE) -C rem2pdf clean
test:

28
configure vendored
View File

@@ -622,6 +622,7 @@ ac_includes_default="\
ac_header_list=
ac_subst_vars='LTLIBOBJS
LIBOBJS
PERLARTIFACTS
VERSION
EGREP
GREP
@@ -681,6 +682,7 @@ SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_perl_build_artifacts
'
ac_precious_vars='build_alias
host_alias
@@ -1305,6 +1307,13 @@ if test -n "$ac_init_help"; then
cat <<\_ACEOF
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-perl-build-artifacts
Disable perllocal.pod and .packlist generation
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
@@ -2292,6 +2301,16 @@ EOF
ac_config_headers="$ac_config_headers src/config.h"
# Check whether --enable-perl-build-artifacts was given.
if test "${enable_perl_build_artifacts+set}" = set; then :
enableval=$enable_perl_build_artifacts; ac_cv_perlartifacts=$enableval
else
ac_cv_perlartifacts=yes
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -3957,6 +3976,12 @@ if test "$GCC" = yes; then
CFLAGS="$CFLAGS -Wall -Wextra -Wstrict-prototypes"
fi
if test "$ac_cv_perlartifacts" = "yes" ; then
PERLARTIFACTS=
else
PERLARTIFACTS='NO_PACKLIST=1 NO_PERLLOCAL=1'
fi
for ac_func in setenv unsetenv glob mbstowcs setlocale initgroups
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -3969,7 +3994,8 @@ _ACEOF
fi
done
VERSION=03.04.00
VERSION=03.04.01
ac_config_files="$ac_config_files src/Makefile www/Makefile src/version.h rem2html/Makefile rem2pdf/Makefile.PL rem2pdf/Makefile.top rem2pdf/bin/rem2pdf"

View File

@@ -14,6 +14,12 @@ EOF
AC_CONFIG_HEADER(src/config.h)
AC_ARG_ENABLE(perl-build-artifacts,
[ --disable-perl-build-artifacts
Disable perllocal.pod and .packlist generation], ac_cv_perlartifacts=$enableval, ac_cv_perlartifacts=yes)
AH_BOTTOM([#include <custom.h>])
dnl Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
@@ -44,9 +50,16 @@ if test "$GCC" = yes; then
CFLAGS="$CFLAGS -Wall -Wextra -Wstrict-prototypes"
fi
if test "$ac_cv_perlartifacts" = "yes" ; then
PERLARTIFACTS=
else
PERLARTIFACTS='NO_PACKLIST=1 NO_PERLLOCAL=1'
fi
AC_CHECK_FUNCS(setenv unsetenv glob mbstowcs setlocale initgroups)
VERSION=03.04.00
VERSION=03.04.01
AC_SUBST(VERSION)
AC_SUBST(PERL)
AC_SUBST(PERLARTIFACTS)
AC_OUTPUT(src/Makefile www/Makefile src/version.h rem2html/Makefile rem2pdf/Makefile.PL rem2pdf/Makefile.top rem2pdf/bin/rem2pdf)
chmod a+x rem2pdf/bin/rem2pdf

View File

@@ -1,6 +1,23 @@
CHANGES TO REMIND
* VERSION 3.4 Patch 0 - 2022-??-??
* VERSION 3.4 Patch 1 - 2022-02-23
- MINOR IMPROVEMENT: Support the INSTALL_BASE environment variable for
installing rem2pdf in a non-standard location like your home directory.
This is passed in to rem2pdf's Makefile at build and install time.
- MINOR IMPROVEMENT: ./configure: Add --disable-perl-build-artifacts flag
to avoid installation of perllocal.pod and .packlist files.
- BUG FIX: tkremind: If the system date rolls over, update the display
to correctly highlight the current date. This worked in older versions
of Remind, but was broken by 03.04.00.
- BUG FIX: rem2pdf: The small calendar font would sometimes be scaled
incorrectly so the small calendar overflowed the box. This has been
fixed.
* VERSION 3.4 Patch 0 - 2022-02-10
- MAJOR CHANGE: Remind and its helpers (except for rem2ps) fully support
UTF-8. If your system locale is a UTF-8 locale and your terminal
@@ -42,9 +59,16 @@ CHANGES TO REMIND
- CLEANUP: remind: C source code: Remove various unused or obsolete macros.
- BUG FIXES: Minor fixups to groff source and Makefiles courtesy of
Jochen Sprickerhof.
- BUG FIX: Properly support formatting of double-wide characters in the
terminal mode "remind -c" calendar.
- BUG FIX: rem2html: Document how to highlight today with a red border
- BUG FIX: rem2html: Generate and install a man page for rem2html
- BUG FIX: remind: Get rid of LAT_DEG/LAT_MIN/LAT_SEC and
LON_DEG/LON_MIN/LON_SEC macros in favour of DEFAULT_LATITUDE and
DEFAULT_LONGITUDE.

View File

@@ -675,4 +675,5 @@ You should ensure that the values you supply for margin widths are sensible.
If they are too big for the media size, \fBRem2ps\fR will not complain,
but again, the PostScript output will probably not work.
.SH SEE ALSO
\fBremind\fR, \fBrem2pdf\fR
\fBremind\fR, \fBrem2pdf\fR, \fBrem2html\fR, \fBtkremind\fR.

View File

@@ -1828,7 +1828,7 @@ quotes \fImust\fR be supplied. This distinguishes date constants
from division or subtraction of integers. Examples:
.PP
.RS
\'1993/02/22', '1992-12-25', '1999/01/01'
\(aq1993/02/22', '1992-12-25', '1999/01/01'
.PP
Note that \fBDATE\fR values are \fIprinted\fR
without the quotes. Although either '-' or '/' is accepted as a date
@@ -1846,7 +1846,7 @@ constants with the addition of an "@HH:MM" part, optionally followed
by "am" or "pm". For example:
.PP
.RS
\'2008-04-05@23:11', '1999/02/03@14:06', '2001-04-07@08:30', '2020-01-01@3:20pm'
\(aq2008-04-05@23:11', '1999/02/03@14:06', '2001-04-07@08:30', '2020-01-01@3:20pm'
.PP
\fBDATETIME\fR values are printed without the quotes. Notes about date
and time separator characters for \fBDATE\fR and \fBTIME\fR constants apply
@@ -2418,7 +2418,7 @@ Returns the time of "astronomical twilight" on the specified \fIdate\fR. If
.TP
.B ampm(tq_time [,s_am [,s_pm]])
Returns a \fBSTRING\fR that is the result of converting \fItime\fR
(which is either a \fBTIME\R or a \fBDATETIME\fR object) to "AM/PM"
(which is either a \fBTIME\fR or a \fBDATETIME\fR object) to "AM/PM"
format. The optional arguments \fIam\fR and \fIpm\fR are the strings
to append in the AM and PM case, respectively; they default to "AM"
and "PM". The function obeys the system variables $DateSep,
@@ -5050,4 +5050,5 @@ Catalog\fR, Jewish Publication Society of America.
.PP
.SH SEE ALSO
.PP
\fBrem\fR(1), \fBrem2ps\fR(1), \fBrem2pdf\fR(1), \fBtkremind\fR(1)
\fBrem\fR(1), \fBrem2ps\fR(1), \fBrem2pdf\fR(1), \fBtkremind\fR(1), \fBrem2html\fR(1)

View File

@@ -402,4 +402,5 @@ $HOME/.reminders -- default reminder file.
$HOME/.tkremindrc -- \fBTkRemind\fR saved options.
.SH SEE ALSO
remind, rem2ps
\fBremind\fR, \fBrem2ps\fR, \fBrem2pdf\fR, \fBrem2html\fR

View File

@@ -19,6 +19,7 @@ install:
$(PERL) -M$$m -e 1 > /dev/null 2>&1; \
if test $$? != 0 ; then echo "Not installing rem2html; missing $$m"; exit 0; fi; \
done; \
pod2man rem2html > rem2html.1 && mkdir -p $(DESTDIR)$(mandir)/man1 && cp rem2html.1 $(DESTDIR)$(mandir)/man1/rem2html.1 || true; \
echo "Installing rem2html in $(DESTDIR)$(bindir)"; \
mkdir -p $(DESTDIR)$(bindir) && sed -e 's|^#!perl|#!$(PERL)|' < rem2html > $(DESTDIR)$(bindir)/rem2html && chmod 755 $(DESTDIR)$(bindir)/rem2html && exit 0; \
exit 1;

View File

@@ -68,7 +68,7 @@ and newmoon.png, which are expected to live in C<--imgbase>.
=item --stylesheet I<url.css>
Use I<url.css> as the stylesheet. If this option is used,
I<url.css> is interpreted relative to B<imgbase> I<unless> it start
I<url.css> is interpreted relative to B<imgbase> I<unless> it starts
with a "/".
=item --nostyle
@@ -96,11 +96,43 @@ Insert I<html_text> right before the E<lt>/bodyE<gt> tag.
=back
=head1 SPECIALS SUPPORTED
The rem2html back-end supports the following SPECIAL reminders:
=over
=item HTML
Add an HTML reminder to the calendar. All HTML tags are available.
=item HTMLCLASS
Add a CSS class to the box representing the trigger date. See
"HIGHLIGHTING TODAY" for an example
=item WEEK, MOON, SHARE, COLOR
The standard SPECIALs supported by all back-ends
=back
=head1 HIGHLIGHTING TODAY
Older versions of rem2html used to highlight today's date with a red outline.
The current version does not do that by default. If you wish to highlight
today's date, add the following reminder to your reminders file:
REM [realtoday()] SPECIAL HTMLCLASS rem-today
=head1 AUTHOR
rem2html was written by Dianne Skoll with much inspiration from an
earlier version by Don Schwarz.
=head1 SEE ALSO
B<remind>, B<rem2ps>, B<rem2pdf>, B<tkremind>
=cut
sub usage
@@ -487,7 +519,7 @@ sub output_calendar
}
for (my $day=1; $day<=$Numdays; $day++) {
draw_day_cell($day, $number_of_rows);
draw_day_cell($day, $number_of_rows);
$col++;
if ($col == 7) {
$col = 0;

View File

@@ -29,7 +29,9 @@ install:
if test $$? != 0 ; then echo "Not installing rem2pdf; missing $$m"; exit 0; fi; \
done; \
echo "Installing rem2pdf"; \
if test "$(prefix)" = "/usr" ; then \
if test "$(INSTALL_BASE)" != "" ; then \
$(MAKE) install DESTDIR=$(DESTDIR) "INSTALL_BASE=$(INSTALL_BASE)" && exit 0; \
elif test "$(prefix)" = "/usr" ; then \
$(MAKE) install DESTDIR=$(DESTDIR) INSTALLDIRS=vendor && exit 0; \
else \
$(MAKE) install DESTDIR=$(DESTDIR) && exit 0; \
@@ -37,4 +39,4 @@ install:
exit 1;
Makefile: Makefile.PL
$(PERL) Makefile.PL || true
$(PERL) Makefile.PL @PERLARTIFACTS@ INSTALL_BASE=$(INSTALL_BASE) || true

View File

@@ -47,7 +47,7 @@ my $settings = {
small_cal_font => 'Sans',
title_size => 14,
header_size => 14,
header_size => 12,
daynum_size => 14,
entry_size => 8,
@@ -186,10 +186,11 @@ my $errored_out = 0;
my $surface = Cairo::PdfSurface->create_for_stream(sub { print $_[1] unless $errored_out; }, undef,
$settings->{width}, $settings->{height});
$surface->set_metadata('title', 'Calendar');
$surface->set_metadata('author', 'Remind (https://dianne.skoll.ca/projects/remind/)');
$surface->set_metadata('creator', 'rem2pdf (https://dianne.skoll.ca/projects/remind/)');
$surface->set_metadata('subject', 'Calendar');
# set_metadata not available in older versions of Cairo
eval { $surface->set_metadata('title', 'Calendar'); };
eval { $surface->set_metadata('author', 'Remind (https://dianne.skoll.ca/projects/remind/)'); };
eval { $surface->set_metadata('creator', 'rem2pdf (https://dianne.skoll.ca/projects/remind/)'); };
eval { $surface->set_metadata('subject', 'Calendar'); };
my $cr = Cairo::Context->create($surface);
$cr->set_line_width($settings->{line_thickness});
@@ -504,4 +505,5 @@ B<Rem2PDF> was written by Dianne Skoll <dianne@skoll.ca>
=head1 SEE ALSO
B<remind>, B<rem2ps>
B<remind>, B<rem2ps>, B<rem2html>, B<tkremind>

View File

@@ -231,6 +231,10 @@ sub parse_oldstyle_line
$hash->{r} = $1;
$hash->{g} = $2;
$hash->{b} = $3;
} elsif ($hash->{body} =~ /^\s*(\d+)/) {
$hash->{r} = $1;
$hash->{g} = $1;
$hash->{b} = $1;
}
}
}
@@ -701,7 +705,8 @@ sub draw_title
my ($self, $cr, $settings) = @_;
my $title = $self->{monthname} . ' ' . $self->{year};
$cr->get_target()->set_page_label($title);
# set_page_label not available in older versions of Cairo
eval { $cr->get_target()->set_page_label($title); };
my $layout = Pango::Cairo::create_layout($cr);
$layout->set_text(Encode::decode('UTF-8', $title));
my $desc = Pango::FontDescription->from_string($settings->{title_font} . ' ' . $settings->{title_size} . 'px');
@@ -748,24 +753,13 @@ sub draw_small_calendar
$last_day_on_row += 7;
$rows++;
}
my $layout = Pango::Cairo::create_layout($cr);
my $desc = Pango::FontDescription->from_string($settings->{small_cal_font} . ' ' . '10px');
$layout->set_font_description($desc);
$layout->set_text('88 88 88 88 88 88 88');
my ($wid, $h) = $layout->get_pixel_size();
$h += 1;
$h *= ($rows + 2); # row for month name; row for day names
my $font_size = $self->calculate_small_calendar_font_size($cr, $width, $height, $settings, $rows);
my $scale = $width / $wid;
if (($height / $h) < $scale) {
$scale = $height / $h;
}
my $font_size = int($scale * 10);
$layout = Pango::Cairo::create_layout($cr);
$desc = Pango::FontDescription->from_string($settings->{small_cal_font} . ' ' . $font_size . 'px');
my $layout = Pango::Cairo::create_layout($cr);
my $desc = Pango::FontDescription->from_string($settings->{small_cal_font} . ' ' . $font_size . 'px');
$layout->set_font_description($desc);
$layout->set_text('88 ');
($wid, $h) = $layout->get_pixel_size();
my ($wid, $h) = $layout->get_pixel_size();
$h += 1;
# Month name
@@ -819,6 +813,43 @@ sub draw_small_calendar
}
}
sub calculate_small_calendar_font_size
{
my ($self, $cr, $width, $height, $settings, $rows) = @_;
my $layout = Pango::Cairo::create_layout($cr);
my $desc = Pango::FontDescription->from_string($settings->{small_cal_font} . ' ' . '10px');
$layout->set_font_description($desc);
$layout->set_text('88 88 88 88 88 88 88');
my ($wid, $h) = $layout->get_pixel_size();
$h += 1;
$h *= ($rows + 2); # row for month name; row for day names
my $scale = $width / $wid;
if (($height / $h) < $scale) {
$scale = $height / $h;
}
my $font_size = int($scale * 10);
# Check
$desc = Pango::FontDescription->from_string($settings->{small_cal_font} . ' ' . $font_size . 'px');
$layout->set_font_description($desc);
$layout->set_text('88 88 88 88 88 88 88');
($wid, $h) = $layout->get_pixel_size();
$h += 1;
$h *= ($rows + 2); # row for month name; row for day names
$scale = $width / $wid;
if (($height / $h) < $scale) {
$scale = $height / $h;
}
if ($scale < 1) { # Font size is too big
$font_size--;
}
return $font_size;
}
package Remind::PDF::Multi;
=head1 NAME

View File

@@ -282,7 +282,17 @@ proc is_warning_header { line } {
proc Initialize {} {
global DayNames argc argv CommandLine ReminderFile AppendFile Remind PSCmd
global MondayFirst TwentyFourHourMode ReminderFileModTime
global TodayDay TodayMonth TodayYear
global Option ConfigFile
# In case date has rolled over, recalculate Today* values
set now [clock seconds]
set TodayMonth [expr [string trim [clock format $now -format %N]] - 1]
set TodayYear [clock format $now -format %Y]
set TodayDay [string trim [clock format $now -format %e]]
set CommandLine "|$Remind -itkremind=1 -pp -y -l EXTRA"
set PSCmd "$Remind -itkremind=1 -itkprint=1 -pp -l EXTRA"
set i 0

View File

@@ -743,8 +743,8 @@ static SysVar SysVarArr[] = {
/* name mod type value min/mal max validate*/
{"April", 1, STR_TYPE, &DynamicMonthName[3], 0, 0, NULL },
{"August", 1, STR_TYPE, &DynamicMonthName[7], 0, 0, NULL },
{"CalMode", 0, INT_TYPE, &DoCalendar, 0, 0, NULL },
{"CalcUTC", 1, INT_TYPE, &CalculateUTC, 0, 1, NULL },
{"CalMode", 0, INT_TYPE, &DoCalendar, 0, 0, NULL },
{"Daemon", 0, INT_TYPE, &Daemon, 0, 0, NULL },
{"DateSep", 1, SPECIAL_TYPE, date_sep_func, 0, 0, NULL },
{"DateTimeSep", 1, SPECIAL_TYPE, datetime_sep_func, 0, 0, NULL },

View File

@@ -1020,7 +1020,7 @@ set a057 value("a05"+"6")
"a05" + "6" => "a056"
value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
set a058 version()
version() => "03.04.00"
version() => "03.04.01"
set a059 wkday(today())
today() => 1991-02-16
wkday(1991-02-16) => "Saturday"
@@ -2589,7 +2589,7 @@ a086 4
a109 2012-01-01
a128 2018-02-03@16:45
a039 "February"
a058 "03.04.00"
a058 "03.04.01"
a077 "1992 92
"
a096 -4
@@ -2688,8 +2688,8 @@ Variable Value
$April "April"
$August "August"
$CalMode 0
$CalcUTC 0 [0, 1]
$CalMode 0
$Daemon 0
$DateSep "-"
$DateTimeSep "@"
@@ -2762,16 +2762,321 @@ Variable Value
$Uw 6
$Uy 1991
$Wednesday "Wednesday"
msg [$April]%
../tests/test.rem(450): Trig = Saturday, 16 February, 1991
$April => "April"
April
msg [$August]%
../tests/test.rem(451): Trig = Saturday, 16 February, 1991
$August => "August"
August
msg [$CalcUTC]%
../tests/test.rem(452): Trig = Saturday, 16 February, 1991
$CalcUTC => 0
0
msg [$CalMode]%
../tests/test.rem(453): Trig = Saturday, 16 February, 1991
$CalMode => 0
0
msg [$Daemon]%
../tests/test.rem(454): Trig = Saturday, 16 February, 1991
$Daemon => 0
0
msg [$DateSep]%
../tests/test.rem(455): Trig = Saturday, 16 February, 1991
$DateSep => "-"
-
msg [$DateTimeSep]%
../tests/test.rem(456): Trig = Saturday, 16 February, 1991
$DateTimeSep => "@"
@
msg [$December]%
../tests/test.rem(457): Trig = Saturday, 16 February, 1991
$December => "December"
December
msg [$DefaultColor]%
../tests/test.rem(458): Trig = Saturday, 16 February, 1991
$DefaultColor => "-1 -1 -1"
-1 -1 -1
msg [$DefaultPrio]%
../tests/test.rem(459): Trig = Saturday, 16 February, 1991
$DefaultPrio => 5000
5000
msg [$DefaultTDelta]%
../tests/test.rem(460): Trig = Saturday, 16 February, 1991
$DefaultTDelta => 0
0
msg [$DeltaOffset]%
../tests/test.rem(461): Trig = Saturday, 16 February, 1991
$DeltaOffset => 0
0
msg [$DontFork]%
../tests/test.rem(462): Trig = Saturday, 16 February, 1991
$DontFork => 0
0
msg [$DontQueue]%
../tests/test.rem(463): Trig = Saturday, 16 February, 1991
$DontQueue => 0
0
msg [$DontTrigAts]%
../tests/test.rem(464): Trig = Saturday, 16 February, 1991
$DontTrigAts => 0
0
msg [$EndSent]%
../tests/test.rem(465): Trig = Saturday, 16 February, 1991
$EndSent => ".?!"
.?!
msg [$EndSentIg]%
../tests/test.rem(466): Trig = Saturday, 16 February, 1991
$EndSentIg => ""')]}>"
"')]}>
msg [$February]%
../tests/test.rem(467): Trig = Saturday, 16 February, 1991
$February => "February"
February
msg [$FirstIndent]%
../tests/test.rem(468): Trig = Saturday, 16 February, 1991
$FirstIndent => 0
0
msg [$FoldYear]%
../tests/test.rem(469): Trig = Saturday, 16 February, 1991
$FoldYear => 0
0
msg [$FormWidth]%
../tests/test.rem(470): Trig = Saturday, 16 February, 1991
$FormWidth => 72
72
msg [$Friday]%
../tests/test.rem(471): Trig = Saturday, 16 February, 1991
$Friday => "Friday"
Friday
msg [$HushMode]%
../tests/test.rem(472): Trig = Saturday, 16 February, 1991
$HushMode => 0
0
msg [$IgnoreOnce]%
../tests/test.rem(473): Trig = Saturday, 16 February, 1991
$IgnoreOnce => 1
1
msg [$InfDelta]%
../tests/test.rem(474): Trig = Saturday, 16 February, 1991
$InfDelta => 0
0
msg [$IntMax]%
../tests/test.rem(475): Trig = Saturday, 16 February, 1991
$IntMax => 2147483647
2147483647
msg [$IntMin]%
../tests/test.rem(476): Trig = Saturday, 16 February, 1991
$IntMin => -2147483648
-2147483648
msg [$January]%
../tests/test.rem(477): Trig = Saturday, 16 February, 1991
$January => "January"
January
msg [$July]%
../tests/test.rem(478): Trig = Saturday, 16 February, 1991
$July => "July"
July
msg [$June]%
../tests/test.rem(479): Trig = Saturday, 16 February, 1991
$June => "June"
June
msg [$LatDeg]%
../tests/test.rem(480): Trig = Saturday, 16 February, 1991
$LatDeg => 30
30
msg [$Latitude]%
../tests/test.rem(481): Trig = Saturday, 16 February, 1991
$Latitude => "30.500000"
30.500000
msg [$LatMin]%
../tests/test.rem(482): Trig = Saturday, 16 February, 1991
$LatMin => 30
30
msg [$LatSec]%
../tests/test.rem(483): Trig = Saturday, 16 February, 1991
$LatSec => 0
0
msg [$Location]%
../tests/test.rem(484): Trig = Saturday, 16 February, 1991
$Location => "Ottawa"
Ottawa
msg [$LongDeg]%
../tests/test.rem(485): Trig = Saturday, 16 February, 1991
$LongDeg => -25
-25
msg [$Longitude]%
../tests/test.rem(486): Trig = Saturday, 16 February, 1991
$Longitude => "24.750000"
24.750000
msg [$LongMin]%
../tests/test.rem(487): Trig = Saturday, 16 February, 1991
$LongMin => 15
15
msg [$LongSec]%
../tests/test.rem(488): Trig = Saturday, 16 February, 1991
$LongSec => 0
0
msg [$March]%
../tests/test.rem(489): Trig = Saturday, 16 February, 1991
$March => "March"
March
msg [$MaxSatIter]%
../tests/test.rem(490): Trig = Saturday, 16 February, 1991
$MaxSatIter => 150
150
msg [$MaxStringLen]%
../tests/test.rem(491): Trig = Saturday, 16 February, 1991
$MaxStringLen => 65535
65535
msg [$May]%
../tests/test.rem(492): Trig = Saturday, 16 February, 1991
$May => "May"
May
msg [$MinsFromUTC]%
../tests/test.rem(493): Trig = Saturday, 16 February, 1991
$MinsFromUTC => -300
-300
msg [$Monday]%
../tests/test.rem(494): Trig = Saturday, 16 February, 1991
$Monday => "Monday"
Monday
msg [$NextMode]%
../tests/test.rem(495): Trig = Saturday, 16 February, 1991
$NextMode => 0
0
msg [$November]%
../tests/test.rem(496): Trig = Saturday, 16 February, 1991
$November => "November"
November
msg [$NumQueued]%
../tests/test.rem(497): Trig = Saturday, 16 February, 1991
$NumQueued => 0
0
msg [$NumTrig]%
../tests/test.rem(498): Trig = Saturday, 16 February, 1991
$NumTrig => 85
85
msg [$October]%
../tests/test.rem(499): Trig = Saturday, 16 February, 1991
$October => "October"
October
msg [$PrefixLineNo]%
../tests/test.rem(500): Trig = Saturday, 16 February, 1991
$PrefixLineNo => 0
0
msg [$PSCal]%
../tests/test.rem(501): Trig = Saturday, 16 February, 1991
$PSCal => 0
0
msg [$RunOff]%
../tests/test.rem(502): Trig = Saturday, 16 February, 1991
$RunOff => 0
0
msg [$Saturday]%
../tests/test.rem(503): Trig = Saturday, 16 February, 1991
$Saturday => "Saturday"
Saturday
msg [$September]%
../tests/test.rem(504): Trig = Saturday, 16 February, 1991
$September => "September"
September
msg [$SimpleCal]%
../tests/test.rem(505): Trig = Saturday, 16 February, 1991
$SimpleCal => 0
0
msg [$SortByDate]%
../tests/test.rem(506): Trig = Saturday, 16 February, 1991
$SortByDate => 0
0
msg [$SortByPrio]%
../tests/test.rem(507): Trig = Saturday, 16 February, 1991
$SortByPrio => 0
0
msg [$SortByTime]%
../tests/test.rem(508): Trig = Saturday, 16 February, 1991
$SortByTime => 0
0
msg [$SubsIndent]%
../tests/test.rem(509): Trig = Saturday, 16 February, 1991
$SubsIndent => 0
0
msg [$Sunday]%
../tests/test.rem(510): Trig = Saturday, 16 February, 1991
$Sunday => "Sunday"
Sunday
msg [$T]%
../tests/test.rem(511): Trig = Saturday, 16 February, 1991
$T => 1991-02-16
1991-02-16
msg [$Td]%
../tests/test.rem(512): Trig = Saturday, 16 February, 1991
$Td => 16
16
msg [$Thursday]%
../tests/test.rem(513): Trig = Saturday, 16 February, 1991
$Thursday => "Thursday"
Thursday
msg [$TimeSep]%
../tests/test.rem(514): Trig = Saturday, 16 February, 1991
$TimeSep => ":"
:
msg [$Tm]%
../tests/test.rem(515): Trig = Saturday, 16 February, 1991
$Tm => 2
2
msg [$Tuesday]%
../tests/test.rem(516): Trig = Saturday, 16 February, 1991
$Tuesday => "Tuesday"
Tuesday
msg [$Tw]%
../tests/test.rem(517): Trig = Saturday, 16 February, 1991
$Tw => 6
6
msg [$Ty]%
../tests/test.rem(518): Trig = Saturday, 16 February, 1991
$Ty => 1991
1991
msg [$U]%
../tests/test.rem(519): Trig = Saturday, 16 February, 1991
$U => 1991-02-16
1991-02-16
msg [$Ud]%
../tests/test.rem(520): Trig = Saturday, 16 February, 1991
$Ud => 16
16
msg [$Um]%
../tests/test.rem(521): Trig = Saturday, 16 February, 1991
$Um => 2
2
msg [$UntimedFirst]%
../tests/test.rem(522): Trig = Saturday, 16 February, 1991
$UntimedFirst => 0
0
msg [$Uw]%
../tests/test.rem(523): Trig = Saturday, 16 February, 1991
$Uw => 6
6
msg [$Uy]%
../tests/test.rem(524): Trig = Saturday, 16 February, 1991
$Uy => 1991
1991
msg [$Wednesday]%
../tests/test.rem(525): Trig = Saturday, 16 February, 1991
$Wednesday => "Wednesday"
Wednesday
dump $aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Variable Value
$aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: Name too long
OMIT 2010-09-03 THROUGH 2010-09-15
OMIT December 25 MSG X
../tests/test.rem(452): Trig = Wednesday, 25 December, 1991
../tests/test.rem(529): 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(454): Trig = Sunday, 26 December, 2010
../tests/test.rem(531): Trig = Sunday, 26 December, 2010
OMIT DUMP
Global Full OMITs (16 of maximum allowed 1000):
1991-03-11
@@ -2803,287 +3108,287 @@ a => 5761
hebdate(14, "Adar", 1991-02-16, 5761) => 1991-02-28
trigger(1991-02-28) => "28 February 1991"
Leaving UserFN _i() => "28 February 1991"
../tests/test.rem(457): Trig = Thursday, 28 February, 1991
../tests/test.rem(534): Trig = Thursday, 28 February, 1991
# Regression test for bug found by Larry Hynes
REM SATISFY [day(trigdate()-25) == 14] MSG Foo
../tests/test.rem(460): Trig = Saturday, 16 February, 1991
../tests/test.rem(537): Trig = Saturday, 16 February, 1991
trigdate() => 1991-02-16
1991-02-16 - 25 => 1991-01-22
day(1991-01-22) => 22
22 == 14 => 0
../tests/test.rem(460): Trig = Sunday, 17 February, 1991
../tests/test.rem(537): Trig = Sunday, 17 February, 1991
trigdate() => 1991-02-17
1991-02-17 - 25 => 1991-01-23
day(1991-01-23) => 23
23 == 14 => 0
../tests/test.rem(460): Trig = Monday, 18 February, 1991
../tests/test.rem(537): Trig = Monday, 18 February, 1991
trigdate() => 1991-02-18
1991-02-18 - 25 => 1991-01-24
day(1991-01-24) => 24
24 == 14 => 0
../tests/test.rem(460): Trig = Tuesday, 19 February, 1991
../tests/test.rem(537): Trig = Tuesday, 19 February, 1991
trigdate() => 1991-02-19
1991-02-19 - 25 => 1991-01-25
day(1991-01-25) => 25
25 == 14 => 0
../tests/test.rem(460): Trig = Wednesday, 20 February, 1991
../tests/test.rem(537): Trig = Wednesday, 20 February, 1991
trigdate() => 1991-02-20
1991-02-20 - 25 => 1991-01-26
day(1991-01-26) => 26
26 == 14 => 0
../tests/test.rem(460): Trig = Thursday, 21 February, 1991
../tests/test.rem(537): Trig = Thursday, 21 February, 1991
trigdate() => 1991-02-21
1991-02-21 - 25 => 1991-01-27
day(1991-01-27) => 27
27 == 14 => 0
../tests/test.rem(460): Trig = Friday, 22 February, 1991
../tests/test.rem(537): Trig = Friday, 22 February, 1991
trigdate() => 1991-02-22
1991-02-22 - 25 => 1991-01-28
day(1991-01-28) => 28
28 == 14 => 0
../tests/test.rem(460): Trig = Saturday, 23 February, 1991
../tests/test.rem(537): Trig = Saturday, 23 February, 1991
trigdate() => 1991-02-23
1991-02-23 - 25 => 1991-01-29
day(1991-01-29) => 29
29 == 14 => 0
../tests/test.rem(460): Trig = Sunday, 24 February, 1991
../tests/test.rem(537): Trig = Sunday, 24 February, 1991
trigdate() => 1991-02-24
1991-02-24 - 25 => 1991-01-30
day(1991-01-30) => 30
30 == 14 => 0
../tests/test.rem(460): Trig = Monday, 25 February, 1991
../tests/test.rem(537): Trig = Monday, 25 February, 1991
trigdate() => 1991-02-25
1991-02-25 - 25 => 1991-01-31
day(1991-01-31) => 31
31 == 14 => 0
../tests/test.rem(460): Trig = Tuesday, 26 February, 1991
../tests/test.rem(537): Trig = Tuesday, 26 February, 1991
trigdate() => 1991-02-26
1991-02-26 - 25 => 1991-02-01
day(1991-02-01) => 1
1 == 14 => 0
../tests/test.rem(460): Trig = Wednesday, 27 February, 1991
../tests/test.rem(537): Trig = Wednesday, 27 February, 1991
trigdate() => 1991-02-27
1991-02-27 - 25 => 1991-02-02
day(1991-02-02) => 2
2 == 14 => 0
../tests/test.rem(460): Trig = Thursday, 28 February, 1991
../tests/test.rem(537): Trig = Thursday, 28 February, 1991
trigdate() => 1991-02-28
1991-02-28 - 25 => 1991-02-03
day(1991-02-03) => 3
3 == 14 => 0
../tests/test.rem(460): Trig = Friday, 1 March, 1991
../tests/test.rem(537): Trig = Friday, 1 March, 1991
trigdate() => 1991-03-01
1991-03-01 - 25 => 1991-02-04
day(1991-02-04) => 4
4 == 14 => 0
../tests/test.rem(460): Trig = Saturday, 2 March, 1991
../tests/test.rem(537): Trig = Saturday, 2 March, 1991
trigdate() => 1991-03-02
1991-03-02 - 25 => 1991-02-05
day(1991-02-05) => 5
5 == 14 => 0
../tests/test.rem(460): Trig = Sunday, 3 March, 1991
../tests/test.rem(537): Trig = Sunday, 3 March, 1991
trigdate() => 1991-03-03
1991-03-03 - 25 => 1991-02-06
day(1991-02-06) => 6
6 == 14 => 0
../tests/test.rem(460): Trig = Monday, 4 March, 1991
../tests/test.rem(537): Trig = Monday, 4 March, 1991
trigdate() => 1991-03-04
1991-03-04 - 25 => 1991-02-07
day(1991-02-07) => 7
7 == 14 => 0
../tests/test.rem(460): Trig = Tuesday, 5 March, 1991
../tests/test.rem(537): Trig = Tuesday, 5 March, 1991
trigdate() => 1991-03-05
1991-03-05 - 25 => 1991-02-08
day(1991-02-08) => 8
8 == 14 => 0
../tests/test.rem(460): Trig = Wednesday, 6 March, 1991
../tests/test.rem(537): Trig = Wednesday, 6 March, 1991
trigdate() => 1991-03-06
1991-03-06 - 25 => 1991-02-09
day(1991-02-09) => 9
9 == 14 => 0
../tests/test.rem(460): Trig = Thursday, 7 March, 1991
../tests/test.rem(537): Trig = Thursday, 7 March, 1991
trigdate() => 1991-03-07
1991-03-07 - 25 => 1991-02-10
day(1991-02-10) => 10
10 == 14 => 0
../tests/test.rem(460): Trig = Friday, 8 March, 1991
../tests/test.rem(537): Trig = Friday, 8 March, 1991
trigdate() => 1991-03-08
1991-03-08 - 25 => 1991-02-11
day(1991-02-11) => 11
11 == 14 => 0
../tests/test.rem(460): Trig = Saturday, 9 March, 1991
../tests/test.rem(537): Trig = Saturday, 9 March, 1991
trigdate() => 1991-03-09
1991-03-09 - 25 => 1991-02-12
day(1991-02-12) => 12
12 == 14 => 0
../tests/test.rem(460): Trig = Sunday, 10 March, 1991
../tests/test.rem(537): Trig = Sunday, 10 March, 1991
trigdate() => 1991-03-10
1991-03-10 - 25 => 1991-02-13
day(1991-02-13) => 13
13 == 14 => 0
../tests/test.rem(460): Trig = Monday, 11 March, 1991
../tests/test.rem(537): Trig = Monday, 11 March, 1991
trigdate() => 1991-03-11
1991-03-11 - 25 => 1991-02-14
day(1991-02-14) => 14
14 == 14 => 1
../tests/test.rem(460): Trig(satisfied) = Monday, 11 March, 1991
../tests/test.rem(537): Trig(satisfied) = Monday, 11 March, 1991
# Check combo of SATISFY and long-duration events
REM 14 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(463): Trig = Thursday, 14 March, 1991
../tests/test.rem(540): Trig = Thursday, 14 March, 1991
$Tw => 4
4 == 4 => 1
../tests/test.rem(463): Trig(satisfied) = Thursday, 14 March, 1991
../tests/test.rem(540): Trig(satisfied) = Thursday, 14 March, 1991
REM 14 AT 16:00 DURATION 8:00 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(464): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 08:00
../tests/test.rem(541): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 08:00
$Tw => 4
4 == 4 => 1
../tests/test.rem(464): Trig(satisfied) = Thursday, 14 March, 1991 AT 16:00 DURATION 08:00
../tests/test.rem(541): Trig(satisfied) = Thursday, 14 March, 1991 AT 16:00 DURATION 08:00
REM 14 AT 16:00 DURATION 8:01 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(465): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 08:01
../tests/test.rem(465): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 08:01
../tests/test.rem(542): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 08:01
../tests/test.rem(542): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 08:01
$Tw => 4
4 == 4 => 1
../tests/test.rem(465): Trig(satisfied) = Thursday, 14 March, 1991 AT 16:00 DURATION 08:01
../tests/test.rem(542): Trig(satisfied) = Thursday, 14 March, 1991 AT 16:00 DURATION 08:01
REM 14 AT 16:00 DURATION 32:00 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(466): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 32:00
../tests/test.rem(466): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 32:00
../tests/test.rem(543): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 32:00
../tests/test.rem(543): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 32:00
$Tw => 4
4 == 4 => 1
../tests/test.rem(466): Trig(satisfied) = Thursday, 14 March, 1991 AT 16:00 DURATION 32:00
../tests/test.rem(543): Trig(satisfied) = Thursday, 14 March, 1991 AT 16:00 DURATION 32:00
REM 14 AT 16:00 DURATION 32:01 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(467): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 32:01
../tests/test.rem(467): Trig = Thursday, 14 February, 1991 AT 16:00 DURATION 32:01
../tests/test.rem(544): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 32:01
../tests/test.rem(544): Trig = Thursday, 14 February, 1991 AT 16:00 DURATION 32:01
$Tw => 4
4 == 4 => 1
../tests/test.rem(467): Trig(adj) = Saturday, 16 February, 1991 AT 00:00 DURATION 00:01
../tests/test.rem(467): Trig(satisfied) = Saturday, 16 February, 1991 AT 00:00 DURATION 00:01
../tests/test.rem(544): Trig(adj) = Saturday, 16 February, 1991 AT 00:00 DURATION 00:01
../tests/test.rem(544): Trig(satisfied) = Saturday, 16 February, 1991 AT 00:00 DURATION 00:01
Thursday, the 14th
REM 14 AT 16:00 DURATION 40:00 SATISFY [$Tw == 4] MSG Thursday, the 14th
../tests/test.rem(468): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 40:00
../tests/test.rem(468): Trig = Thursday, 14 February, 1991 AT 16:00 DURATION 40:00
../tests/test.rem(545): Trig = Thursday, 14 March, 1991 AT 16:00 DURATION 40:00
../tests/test.rem(545): Trig = Thursday, 14 February, 1991 AT 16:00 DURATION 40:00
$Tw => 4
4 == 4 => 1
../tests/test.rem(468): Trig(adj) = Saturday, 16 February, 1991 AT 00:00 DURATION 08:00
../tests/test.rem(468): Trig(satisfied) = Saturday, 16 February, 1991 AT 00:00 DURATION 08:00
../tests/test.rem(545): Trig(adj) = Saturday, 16 February, 1991 AT 00:00 DURATION 08:00
../tests/test.rem(545): Trig(satisfied) = Saturday, 16 February, 1991 AT 00:00 DURATION 08:00
Thursday, the 14th
# This is now an error
REM DURATION 15:00 MSG Should fail... need AT if you have DURATION.
../tests/test.rem(471): Cannot specify DURATION without specifying AT
../tests/test.rem(548): Cannot specify DURATION without specifying AT
# Parsing of AM/PM times
REM AT 0:00am MSG foo 0a
../tests/test.rem(474): Expecting time after AT
../tests/test.rem(551): Expecting time after AT
REM AT 1:00AM MSG foo 1a
../tests/test.rem(475): Trig = Saturday, 16 February, 1991 AT 01:00
../tests/test.rem(552): Trig = Saturday, 16 February, 1991 AT 01:00
foo 1a
REM AT 2:00am MSG foo 2a
../tests/test.rem(476): Trig = Saturday, 16 February, 1991 AT 02:00
../tests/test.rem(553): Trig = Saturday, 16 February, 1991 AT 02:00
foo 2a
REM AT 3:00AM MSG foo 3a
../tests/test.rem(477): Trig = Saturday, 16 February, 1991 AT 03:00
../tests/test.rem(554): Trig = Saturday, 16 February, 1991 AT 03:00
foo 3a
REM AT 4:00am MSG foo 4a
../tests/test.rem(478): Trig = Saturday, 16 February, 1991 AT 04:00
../tests/test.rem(555): Trig = Saturday, 16 February, 1991 AT 04:00
foo 4a
REM AT 5:00AM MSG foo 5a
../tests/test.rem(479): Trig = Saturday, 16 February, 1991 AT 05:00
../tests/test.rem(556): Trig = Saturday, 16 February, 1991 AT 05:00
foo 5a
REM AT 6:00am MSG foo 6a
../tests/test.rem(480): Trig = Saturday, 16 February, 1991 AT 06:00
../tests/test.rem(557): Trig = Saturday, 16 February, 1991 AT 06:00
foo 6a
REM AT 7:00AM MSG foo 7a
../tests/test.rem(481): Trig = Saturday, 16 February, 1991 AT 07:00
../tests/test.rem(558): Trig = Saturday, 16 February, 1991 AT 07:00
foo 7a
REM AT 8:00am MSG foo 8a
../tests/test.rem(482): Trig = Saturday, 16 February, 1991 AT 08:00
../tests/test.rem(559): Trig = Saturday, 16 February, 1991 AT 08:00
foo 8a
REM AT 9:00AM MSG foo 9a
../tests/test.rem(483): Trig = Saturday, 16 February, 1991 AT 09:00
../tests/test.rem(560): Trig = Saturday, 16 February, 1991 AT 09:00
foo 9a
REM AT 10:00am MSG foo 10a
../tests/test.rem(484): Trig = Saturday, 16 February, 1991 AT 10:00
../tests/test.rem(561): Trig = Saturday, 16 February, 1991 AT 10:00
foo 10a
REM AT 11:00AM MSG foo 11a
../tests/test.rem(485): Trig = Saturday, 16 February, 1991 AT 11:00
../tests/test.rem(562): Trig = Saturday, 16 February, 1991 AT 11:00
foo 11a
REM AT 12:00am MSG foo 12a
../tests/test.rem(486): Trig = Saturday, 16 February, 1991 AT 00:00
../tests/test.rem(563): Trig = Saturday, 16 February, 1991 AT 00:00
foo 12a
REM AT 13:00AM MSG foo 13a
../tests/test.rem(487): Expecting time after AT
../tests/test.rem(564): Expecting time after AT
REM AT 0:00pm MSG foo 0p
../tests/test.rem(488): Expecting time after AT
../tests/test.rem(565): Expecting time after AT
REM AT 1:00PM MSG foo 1p
../tests/test.rem(489): Trig = Saturday, 16 February, 1991 AT 13:00
../tests/test.rem(566): Trig = Saturday, 16 February, 1991 AT 13:00
foo 1p
REM AT 2:00pm MSG foo 2p
../tests/test.rem(490): Trig = Saturday, 16 February, 1991 AT 14:00
../tests/test.rem(567): Trig = Saturday, 16 February, 1991 AT 14:00
foo 2p
REM AT 3:00PM MSG foo 3p
../tests/test.rem(491): Trig = Saturday, 16 February, 1991 AT 15:00
../tests/test.rem(568): Trig = Saturday, 16 February, 1991 AT 15:00
foo 3p
REM AT 4:00pm MSG foo 4p
../tests/test.rem(492): Trig = Saturday, 16 February, 1991 AT 16:00
../tests/test.rem(569): Trig = Saturday, 16 February, 1991 AT 16:00
foo 4p
REM AT 5:00PM MSG foo 5p
../tests/test.rem(493): Trig = Saturday, 16 February, 1991 AT 17:00
../tests/test.rem(570): Trig = Saturday, 16 February, 1991 AT 17:00
foo 5p
REM AT 6:00pm MSG foo 6p
../tests/test.rem(494): Trig = Saturday, 16 February, 1991 AT 18:00
../tests/test.rem(571): Trig = Saturday, 16 February, 1991 AT 18:00
foo 6p
REM AT 7:00PM MSG foo 7p
../tests/test.rem(495): Trig = Saturday, 16 February, 1991 AT 19:00
../tests/test.rem(572): Trig = Saturday, 16 February, 1991 AT 19:00
foo 7p
REM AT 8:00pm MSG foo 8p
../tests/test.rem(496): Trig = Saturday, 16 February, 1991 AT 20:00
../tests/test.rem(573): Trig = Saturday, 16 February, 1991 AT 20:00
foo 8p
REM AT 9:00PM MSG foo 9p
../tests/test.rem(497): Trig = Saturday, 16 February, 1991 AT 21:00
../tests/test.rem(574): Trig = Saturday, 16 February, 1991 AT 21:00
foo 9p
REM AT 10:00pm MSG foo 10p
../tests/test.rem(498): Trig = Saturday, 16 February, 1991 AT 22:00
../tests/test.rem(575): Trig = Saturday, 16 February, 1991 AT 22:00
foo 10p
REM AT 11:00PM MSG foo 11p
../tests/test.rem(499): Trig = Saturday, 16 February, 1991 AT 23:00
../tests/test.rem(576): Trig = Saturday, 16 February, 1991 AT 23:00
foo 11p
REM AT 12:00pm MSG foo 12p
../tests/test.rem(500): Trig = Saturday, 16 February, 1991 AT 12:00
../tests/test.rem(577): Trig = Saturday, 16 February, 1991 AT 12:00
foo 12p
REM AT 13:00PM MSG foo 13p
../tests/test.rem(501): Expecting time after AT
../tests/test.rem(578): Expecting time after AT
DEBUG +x
SET x 0:00am + 0
../tests/test.rem(504): Ill-formed time
../tests/test.rem(581): Ill-formed time
SET x 1:00AM + 0
01:00 + 0 => 01:00
SET x 2:00am + 0
@@ -3109,10 +3414,10 @@ SET x 11:00AM + 0
SET x 12:00am + 0
00:00 + 0 => 00:00
SET x 13:00AM + 0
../tests/test.rem(517): Ill-formed time
../tests/test.rem(594): Ill-formed time
SET x 0:00pm + 0
../tests/test.rem(519): Ill-formed time
../tests/test.rem(596): Ill-formed time
SET x 1:00PM + 0
13:00 + 0 => 13:00
SET x 2:00pm + 0
@@ -3138,10 +3443,10 @@ SET x 11:00PM + 0
SET x 12:00pm + 0
12:00 + 0 => 12:00
SET x 13:00PM + 0
../tests/test.rem(532): Ill-formed time
../tests/test.rem(609): Ill-formed time
SET x '2015-02-03@0:00am' + 0
../tests/test.rem(534): Ill-formed time
../tests/test.rem(611): Ill-formed time
SET x '2015-02-03@1:00AM' + 0
2015-02-03@01:00 + 0 => 2015-02-03@01:00
SET x '2015-02-03@2:00am' + 0
@@ -3167,10 +3472,10 @@ SET x '2015-02-03@11:00AM' + 0
SET x '2015-02-03@12:00am' + 0
2015-02-03@00:00 + 0 => 2015-02-03@00:00
SET x '2015-02-03@13:00AM' + 0
../tests/test.rem(547): Ill-formed time
../tests/test.rem(624): Ill-formed time
SET x '2015-02-03@0:00pm' + 0
../tests/test.rem(549): Ill-formed time
../tests/test.rem(626): Ill-formed time
SET x '2015-02-03@1:00PM' + 0
2015-02-03@13:00 + 0 => 2015-02-03@13:00
SET x '2015-02-03@2:00pm' + 0
@@ -3196,7 +3501,7 @@ SET x '2015-02-03@11:00PM' + 0
SET x '2015-02-03@12:00pm' + 0
2015-02-03@12:00 + 0 => 2015-02-03@12:00
SET x '2015-02-03@13:00PM' + 0
../tests/test.rem(562): Ill-formed time
../tests/test.rem(639): Ill-formed time
# Test the ampm function
set x ampm(0:12) + ""
@@ -3292,88 +3597,88 @@ coerce("DATETIME", "2020-05-05@1:45pm") => 2020-05-05@13:45
set a $IntMin - 1
$IntMin => -2147483648
-2147483648 - 1 => Number too high
../tests/test.rem(601): `-': Number too high
../tests/test.rem(678): `-': Number too high
set a $IntMin - $IntMax
$IntMin => -2147483648
$IntMax => 2147483647
-2147483648 - 2147483647 => Number too high
../tests/test.rem(602): `-': Number too high
../tests/test.rem(679): `-': Number too high
set a $IntMax - $IntMin
$IntMax => 2147483647
$IntMin => -2147483648
2147483647 - -2147483648 => Number too high
../tests/test.rem(603): `-': Number too high
../tests/test.rem(680): `-': Number too high
set a $IntMax - (-1)
$IntMax => 2147483647
- 1 => -1
2147483647 - -1 => Number too high
../tests/test.rem(604): `-': Number too high
../tests/test.rem(681): `-': Number too high
set a $IntMax + 1
$IntMax => 2147483647
2147483647 + 1 => Number too high
../tests/test.rem(605): `+': Number too high
../tests/test.rem(682): `+': Number too high
set a $IntMax + $IntMax
$IntMax => 2147483647
$IntMax => 2147483647
2147483647 + 2147483647 => Number too high
../tests/test.rem(606): `+': Number too high
../tests/test.rem(683): `+': Number too high
set a $IntMin + (-1)
$IntMin => -2147483648
- 1 => -1
-2147483648 + -1 => Number too high
../tests/test.rem(607): `+': Number too high
../tests/test.rem(684): `+': Number too high
set a $IntMin + $IntMin
$IntMin => -2147483648
$IntMin => -2147483648
-2147483648 + -2147483648 => Number too high
../tests/test.rem(608): `+': Number too high
../tests/test.rem(685): `+': Number too high
set a $IntMax * 2
$IntMax => 2147483647
2147483647 * 2 => Number too high
../tests/test.rem(609): `*': Number too high
../tests/test.rem(686): `*': Number too high
set a $IntMax * $IntMax
$IntMax => 2147483647
$IntMax => 2147483647
2147483647 * 2147483647 => Number too high
../tests/test.rem(610): `*': Number too high
../tests/test.rem(687): `*': Number too high
set a $IntMax * $IntMin
$IntMax => 2147483647
$IntMin => -2147483648
2147483647 * -2147483648 => Number too high
../tests/test.rem(611): `*': Number too high
../tests/test.rem(688): `*': Number too high
set a $IntMin * 2
$IntMin => -2147483648
-2147483648 * 2 => Number too high
../tests/test.rem(612): `*': Number too high
../tests/test.rem(689): `*': Number too high
set a $IntMin * $IntMin
$IntMin => -2147483648
$IntMin => -2147483648
-2147483648 * -2147483648 => Number too high
../tests/test.rem(613): `*': Number too high
../tests/test.rem(690): `*': Number too high
set a $IntMin * $IntMax
$IntMin => -2147483648
$IntMax => 2147483647
-2147483648 * 2147483647 => Number too high
../tests/test.rem(614): `*': Number too high
../tests/test.rem(691): `*': Number too high
set a $IntMin / (-1)
$IntMin => -2147483648
- 1 => -1
-2147483648 / -1 => Number too high
../tests/test.rem(615): `/': Number too high
../tests/test.rem(692): `/': Number too high
set a $IntMin * (-1)
$IntMin => -2147483648
- 1 => -1
-2147483648 * -1 => Number too high
../tests/test.rem(616): `*': Number too high
../tests/test.rem(693): `*': Number too high
set a (-1) * $IntMin
- 1 => -1
$IntMin => -2147483648
-1 * -2147483648 => Number too high
../tests/test.rem(617): `*': Number too high
../tests/test.rem(694): `*': Number too high
set a abs($IntMin)
$IntMin => -2147483648
abs(-2147483648) => Number too high
../tests/test.rem(618): Number too high
../tests/test.rem(695): Number too high
# The "isany" function
set a isany(1)
@@ -3400,17 +3705,17 @@ set a shellescape(" !\"#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ
shellescape(" !"#$%%&'()*+,-./0123456789:;<=>?@ABCDEF"...) => "\ \!\"\#\$\%\%\&\'\(\)\*+,-./0123456789\"...
msg [a]
../tests/test.rem(634): Trig = Saturday, 16 February, 1991
../tests/test.rem(711): Trig = Saturday, 16 February, 1991
a => "\ \!\"\#\$\%\%\&\'\(\)\*+,-./0123456789\"...
\ \!\"\#\$\\\&\'\(\)\*+,-./0123456789\:\;\<=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~
# Deprecated functions
set x psshade(50)
psshade(50) => ../tests/test.rem(637): psshade() is deprecated; use SPECIAL SHADE instead.
psshade(50) => ../tests/test.rem(714): psshade() is deprecated; use SPECIAL SHADE instead.
"/_A LineWidth 2 div def _A _A moveto Box"...
set x psmoon(0)
psmoon(0) => ../tests/test.rem(638): psmoon() is deprecated; use SPECIAL MOON instead.
psmoon(0) => ../tests/test.rem(715): psmoon() is deprecated; use SPECIAL MOON instead.
"gsave 0 setgray newpath Border DaySize 2"...
# Don't want Remind to queue reminders

View File

@@ -447,6 +447,83 @@ REM MAYBE-UNCOMPUTABLE Mon SATISFY [wkdaynum($T) == 3] MSG Nope nope...
dump
dump $
msg [$April]%
msg [$August]%
msg [$CalcUTC]%
msg [$CalMode]%
msg [$Daemon]%
msg [$DateSep]%
msg [$DateTimeSep]%
msg [$December]%
msg [$DefaultColor]%
msg [$DefaultPrio]%
msg [$DefaultTDelta]%
msg [$DeltaOffset]%
msg [$DontFork]%
msg [$DontQueue]%
msg [$DontTrigAts]%
msg [$EndSent]%
msg [$EndSentIg]%
msg [$February]%
msg [$FirstIndent]%
msg [$FoldYear]%
msg [$FormWidth]%
msg [$Friday]%
msg [$HushMode]%
msg [$IgnoreOnce]%
msg [$InfDelta]%
msg [$IntMax]%
msg [$IntMin]%
msg [$January]%
msg [$July]%
msg [$June]%
msg [$LatDeg]%
msg [$Latitude]%
msg [$LatMin]%
msg [$LatSec]%
msg [$Location]%
msg [$LongDeg]%
msg [$Longitude]%
msg [$LongMin]%
msg [$LongSec]%
msg [$March]%
msg [$MaxSatIter]%
msg [$MaxStringLen]%
msg [$May]%
msg [$MinsFromUTC]%
msg [$Monday]%
msg [$NextMode]%
msg [$November]%
msg [$NumQueued]%
msg [$NumTrig]%
msg [$October]%
msg [$PrefixLineNo]%
msg [$PSCal]%
msg [$RunOff]%
msg [$Saturday]%
msg [$September]%
msg [$SimpleCal]%
msg [$SortByDate]%
msg [$SortByPrio]%
msg [$SortByTime]%
msg [$SubsIndent]%
msg [$Sunday]%
msg [$T]%
msg [$Td]%
msg [$Thursday]%
msg [$TimeSep]%
msg [$Tm]%
msg [$Tuesday]%
msg [$Tw]%
msg [$Ty]%
msg [$U]%
msg [$Ud]%
msg [$Um]%
msg [$UntimedFirst]%
msg [$Uw]%
msg [$Uy]%
msg [$Wednesday]%
dump $aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
OMIT 2010-09-03 THROUGH 2010-09-15
OMIT December 25 MSG X