Files
remind/tests/test.cmp
2010-04-20 15:20:49 -04:00

3329 lines
119 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Test 1
# Test file for REMIND
#
# Use this file to test the date calculation routines
# of the REMIND program by typing:
#
# ./test-rem # From WITHIN Remind source directory!
# Don't evaluate SATISFY expressions if reminder has expired
REM Wed UNTIL 15 Feb 1991 SATISFY [trigdate() > '1990-01-01'] MSG wookie
../tests/test.rem(10): Expired
REM MSG Today is [hebday(today())] [hebmon(today())] [hebyear(today())]
../tests/test.rem(12): Trig = Saturday, 16 February, 1991
Reminders for Saturday, 16th February, 1991:
today() => 1991-02-16
hebday(1991-02-16) => 2
today() => 1991-02-16
hebmon(1991-02-16) => "Adar"
today() => 1991-02-16
hebyear(1991-02-16) => 5751
Today is 2 Adar 5751
fset _h(x, y) trigger(hebdate(x,y))
[_h(1, "Tishrey")] MSG Rosh Hashana 1
Entering UserFN _h(1, "Tishrey")
x => 1
y => "Tishrey"
hebdate(1, "Tishrey") => 1991-09-09
trigger(1991-09-09) => "9 September 1991"
Leaving UserFN _h() => "9 September 1991"
../tests/test.rem(15): Trig = Monday, 9 September, 1991
[_h(2, "Tishrey")] MSG Rosh Hashana 2
Entering UserFN _h(2, "Tishrey")
x => 2
y => "Tishrey"
hebdate(2, "Tishrey") => 1991-09-10
trigger(1991-09-10) => "10 September 1991"
Leaving UserFN _h() => "10 September 1991"
../tests/test.rem(16): Trig = Tuesday, 10 September, 1991
[_h(3, "Tishrey")] MSG Tzom Gedalia
Entering UserFN _h(3, "Tishrey")
x => 3
y => "Tishrey"
hebdate(3, "Tishrey") => 1991-09-11
trigger(1991-09-11) => "11 September 1991"
Leaving UserFN _h() => "11 September 1991"
../tests/test.rem(17): Trig = Wednesday, 11 September, 1991
[_h(10, "Tishrey")] MSG Yom Kippur
Entering UserFN _h(10, "Tishrey")
x => 10
y => "Tishrey"
hebdate(10, "Tishrey") => 1991-09-18
trigger(1991-09-18) => "18 September 1991"
Leaving UserFN _h() => "18 September 1991"
../tests/test.rem(18): Trig = Wednesday, 18 September, 1991
[_h(15, "Tishrey")] MSG Sukkot 1
Entering UserFN _h(15, "Tishrey")
x => 15
y => "Tishrey"
hebdate(15, "Tishrey") => 1991-09-23
trigger(1991-09-23) => "23 September 1991"
Leaving UserFN _h() => "23 September 1991"
../tests/test.rem(19): Trig = Monday, 23 September, 1991
[_h(25, "Kislev")] MSG Channuka
Entering UserFN _h(25, "Kislev")
x => 25
y => "Kislev"
hebdate(25, "Kislev") => 1991-12-02
trigger(1991-12-02) => "2 December 1991"
Leaving UserFN _h() => "2 December 1991"
../tests/test.rem(20): Trig = Monday, 2 December, 1991
[_h(10, "Tevet")] MSG Asara B'Tevet
Entering UserFN _h(10, "Tevet")
x => 10
y => "Tevet"
hebdate(10, "Tevet") => 1991-12-17
trigger(1991-12-17) => "17 December 1991"
Leaving UserFN _h() => "17 December 1991"
../tests/test.rem(21): Trig = Tuesday, 17 December, 1991
[_h(15, "Shvat")] MSG Tu B'Shvat
Entering UserFN _h(15, "Shvat")
x => 15
y => "Shvat"
hebdate(15, "Shvat") => 1992-01-20
trigger(1992-01-20) => "20 January 1992"
Leaving UserFN _h() => "20 January 1992"
../tests/test.rem(22): Trig = Monday, 20 January, 1992
[_h(15, "Adar A")] MSG Purim Katan
Entering UserFN _h(15, "Adar A")
x => 15
y => "Adar A"
hebdate(15, "Adar A") => 1992-02-19
trigger(1992-02-19) => "19 February 1992"
Leaving UserFN _h() => "19 February 1992"
../tests/test.rem(23): Trig = Wednesday, 19 February, 1992
[_h(14, "Adar")] MSG Purim
Entering UserFN _h(14, "Adar")
x => 14
y => "Adar"
hebdate(14, "Adar") => 1991-02-28
trigger(1991-02-28) => "28 February 1991"
Leaving UserFN _h() => "28 February 1991"
../tests/test.rem(24): Trig = Thursday, 28 February, 1991
[_h(15, "Nisan")] MSG Pesach
Entering UserFN _h(15, "Nisan")
x => 15
y => "Nisan"
hebdate(15, "Nisan") => 1991-03-30
trigger(1991-03-30) => "30 March 1991"
Leaving UserFN _h() => "30 March 1991"
../tests/test.rem(25): Trig = Saturday, 30 March, 1991
[_h(27, "Nisan")] MSG Yom HaShoah
Entering UserFN _h(27, "Nisan")
x => 27
y => "Nisan"
hebdate(27, "Nisan") => 1991-04-11
trigger(1991-04-11) => "11 April 1991"
Leaving UserFN _h() => "11 April 1991"
../tests/test.rem(26): Trig = Thursday, 11 April, 1991
[_h(4, "Iyar")] MSG Yom HaZikaron
Entering UserFN _h(4, "Iyar")
x => 4
y => "Iyar"
hebdate(4, "Iyar") => 1991-04-18
trigger(1991-04-18) => "18 April 1991"
Leaving UserFN _h() => "18 April 1991"
../tests/test.rem(27): Trig = Thursday, 18 April, 1991
[_h(5, "Iyar")] MSG Yom Ha'atzmaut
Entering UserFN _h(5, "Iyar")
x => 5
y => "Iyar"
hebdate(5, "Iyar") => 1991-04-19
trigger(1991-04-19) => "19 April 1991"
Leaving UserFN _h() => "19 April 1991"
../tests/test.rem(28): Trig = Friday, 19 April, 1991
[_h(28, "Iyar")] MSG Yom Yerushalayim
Entering UserFN _h(28, "Iyar")
x => 28
y => "Iyar"
hebdate(28, "Iyar") => 1991-05-12
trigger(1991-05-12) => "12 May 1991"
Leaving UserFN _h() => "12 May 1991"
../tests/test.rem(29): Trig = Sunday, 12 May, 1991
[_h(6, "Sivan")] MSG Shavuot
Entering UserFN _h(6, "Sivan")
x => 6
y => "Sivan"
hebdate(6, "Sivan") => 1991-05-19
trigger(1991-05-19) => "19 May 1991"
Leaving UserFN _h() => "19 May 1991"
../tests/test.rem(30): Trig = Sunday, 19 May, 1991
[_h(9, "Av")] MSG Tish'a B'Av
Entering UserFN _h(9, "Av")
x => 9
y => "Av"
hebdate(9, "Av") => 1991-07-20
trigger(1991-07-20) => "20 July 1991"
Leaving UserFN _h() => "20 July 1991"
../tests/test.rem(31): Trig = Saturday, 20 July, 1991
# Test some jahrzeit cases
fset _i(x,y,z,a) trigger(hebdate(x,y,z,a))
[_i(30, "Heshvan", today(), 5759)] MSG Complete-Complete
today() => 1991-02-16
Entering UserFN _i(30, "Heshvan", 1991-02-16, 5759)
x => 30
y => "Heshvan"
z => 1991-02-16
a => 5759
hebdate(30, "Heshvan", 1991-02-16, 5759) => 1991-11-07
trigger(1991-11-07) => "7 November 1991"
Leaving UserFN _i() => "7 November 1991"
../tests/test.rem(35): Trig = Thursday, 7 November, 1991
[_i(30, "Heshvan", today(), 5760)] MSG Complete-Defective
today() => 1991-02-16
Entering UserFN _i(30, "Heshvan", 1991-02-16, 5760)
x => 30
y => "Heshvan"
z => 1991-02-16
a => 5760
hebdate(30, "Heshvan", 1991-02-16, 5760) => 1991-11-07
trigger(1991-11-07) => "7 November 1991"
Leaving UserFN _i() => "7 November 1991"
../tests/test.rem(36): Trig = Thursday, 7 November, 1991
[_i(30, "Heshvan", today(), 5761)] MSG Illegal
today() => 1991-02-16
Entering UserFN _i(30, "Heshvan", 1991-02-16, 5761)
x => 30
y => "Heshvan"
z => 1991-02-16
a => 5761
hebdate(30, "Heshvan", 1991-02-16, 5761) => ../tests/test.rem(37): 30 Heshvan 5761: Invalid Hebrew date
Invalid Hebrew date
Leaving UserFN _i() => Invalid Hebrew date
[_i(30, "Kislev", today(), 5759)] MSG Complete-Complete
today() => 1991-02-16
Entering UserFN _i(30, "Kislev", 1991-02-16, 5759)
x => 30
y => "Kislev"
z => 1991-02-16
a => 5759
hebdate(30, "Kislev", 1991-02-16, 5759) => 1991-12-07
trigger(1991-12-07) => "7 December 1991"
Leaving UserFN _i() => "7 December 1991"
../tests/test.rem(39): Trig = Saturday, 7 December, 1991
[_i(30, "Kislev", today(), 5760)] MSG Complete-Defective
today() => 1991-02-16
Entering UserFN _i(30, "Kislev", 1991-02-16, 5760)
x => 30
y => "Kislev"
z => 1991-02-16
a => 5760
hebdate(30, "Kislev", 1991-02-16, 5760) => 1991-12-07
trigger(1991-12-07) => "7 December 1991"
Leaving UserFN _i() => "7 December 1991"
../tests/test.rem(40): Trig = Saturday, 7 December, 1991
[_i(30, "Kislev", today(), 5761)] MSG Illegal
today() => 1991-02-16
Entering UserFN _i(30, "Kislev", 1991-02-16, 5761)
x => 30
y => "Kislev"
z => 1991-02-16
a => 5761
hebdate(30, "Kislev", 1991-02-16, 5761) => ../tests/test.rem(41): 30 Kislev 5761: Invalid Hebrew date
Invalid Hebrew date
Leaving UserFN _i() => Invalid Hebrew date
[_i(30, "Adar A", today(), 5755)] MSG Leap
today() => 1991-02-16
Entering UserFN _i(30, "Adar A", 1991-02-16, 5755)
x => 30
y => "Adar A"
z => 1991-02-16
a => 5755
hebdate(30, "Adar A", 1991-02-16, 5755) => 1992-03-05
trigger(1992-03-05) => "5 March 1992"
Leaving UserFN _i() => "5 March 1992"
../tests/test.rem(43): Trig = Thursday, 5 March, 1992
[_i(30, "Adar A", today(), 5756)] MSG Illegal
today() => 1991-02-16
Entering UserFN _i(30, "Adar A", 1991-02-16, 5756)
x => 30
y => "Adar A"
z => 1991-02-16
a => 5756
hebdate(30, "Adar A", 1991-02-16, 5756) => ../tests/test.rem(44): No Adar A in 5756
Invalid Hebrew date
Leaving UserFN _i() => Invalid Hebrew date
[_i(29, "Adar A", today(), 5755)] MSG Leap
today() => 1991-02-16
Entering UserFN _i(29, "Adar A", 1991-02-16, 5755)
x => 29
y => "Adar A"
z => 1991-02-16
a => 5755
hebdate(29, "Adar A", 1991-02-16, 5755) => 1991-03-15
trigger(1991-03-15) => "15 March 1991"
Leaving UserFN _i() => "15 March 1991"
../tests/test.rem(45): Trig = Friday, 15 March, 1991
[_i(29, "Adar A", today(), 5756)] MSG Illegal
today() => 1991-02-16
Entering UserFN _i(29, "Adar A", 1991-02-16, 5756)
x => 29
y => "Adar A"
z => 1991-02-16
a => 5756
hebdate(29, "Adar A", 1991-02-16, 5756) => ../tests/test.rem(46): No Adar A in 5756
Invalid Hebrew date
Leaving UserFN _i() => Invalid Hebrew date
# Test each possible case of the basic reminders.
REM MSG Every Day
../tests/test.rem(50): Trig = Saturday, 16 February, 1991
Every Day
REM 18 MSG Every 18th
../tests/test.rem(52): Trig = Monday, 18 February, 1991
REM 15 MSG Every 15th
../tests/test.rem(53): Trig = Friday, 15 March, 1991
REM Feb MSG February
../tests/test.rem(55): Trig = Saturday, 16 February, 1991
February
REM Jan MSG January
../tests/test.rem(56): Trig = Wednesday, 1 January, 1992
REM March MSG March
../tests/test.rem(57): Trig = Friday, 1 March, 1991
REM 13 Jan MSG 13 Jan
../tests/test.rem(59): Trig = Monday, 13 January, 1992
REM 15 Feb MSG 15 Feb
../tests/test.rem(60): Trig = Saturday, 15 February, 1992
REM 28 Feb MSG 28 Feb
../tests/test.rem(61): Trig = Thursday, 28 February, 1991
REM 29 Feb MSG 29 Feb
../tests/test.rem(62): Trig = Saturday, 29 February, 1992
REM 5 Mar MSG 5 Mar
../tests/test.rem(63): Trig = Tuesday, 5 March, 1991
REM 1990 MSG 1990
../tests/test.rem(65): Expired
REM 1991 MSG 1991
../tests/test.rem(66): Trig = Saturday, 16 February, 1991
1991
REM 1992 MSG 1991
../tests/test.rem(67): Trig = Wednesday, 1 January, 1992
REM 1 1990 MSG 1 1990
../tests/test.rem(69): Expired
REM 29 1991 MSG 29 1991
../tests/test.rem(70): Trig = Friday, 29 March, 1991
REM 29 1992 MSG 29 1992
../tests/test.rem(71): Trig = Wednesday, 29 January, 1992
REM 16 1991 MSG 16 1991
../tests/test.rem(72): Trig = Saturday, 16 February, 1991
16 1991
REM Jan 1990 MSG Jan 1990
../tests/test.rem(74): Expired
REM Feb 1991 MSG Feb 1991
../tests/test.rem(75): Trig = Saturday, 16 February, 1991
Feb 1991
REM Dec 1991 MSG Dec 1991
../tests/test.rem(76): Trig = Sunday, 1 December, 1991
REM May 1992 MSG May 1992
../tests/test.rem(77): Trig = Friday, 1 May, 1992
REM 1 Jan 1991 MSG 1 Jan 1991
../tests/test.rem(79): Expired
REM 16 Feb 1991 MSG 16 Feb 1991
../tests/test.rem(80): Trig = Saturday, 16 February, 1991
16 Feb 1991
REM 29 Dec 1992 MSG 29 Dec 1992
../tests/test.rem(81): Trig = Tuesday, 29 December, 1992
REM Sun MSG Sun
../tests/test.rem(83): Trig = Sunday, 17 February, 1991
REM Fri Sat Tue MSG Fri Sat Tue
../tests/test.rem(84): Trig = Saturday, 16 February, 1991
Fri Sat Tue
REM Sun 16 MSG Sun 16
../tests/test.rem(86): Trig = Sunday, 17 February, 1991
REM Mon Tue Wed Thu Fri 1 MSG Mon Tue Wed Thu Fri 1
../tests/test.rem(87): Trig = Friday, 1 March, 1991
REM Sun Feb MSG Sun Feb
../tests/test.rem(89): Trig = Sunday, 17 February, 1991
REM Mon Tue March MSG Mon Tue March
../tests/test.rem(90): Trig = Monday, 4 March, 1991
REM Sun 16 Feb MSG Sun 16 Feb
../tests/test.rem(92): Trig = Sunday, 17 February, 1991
REM Mon Tue 10 March MSG Mon Tue 10 March
../tests/test.rem(93): Trig = Monday, 11 March, 1991
REM Sat Sun 1991 MSG Sat Sun 1991
../tests/test.rem(95): Trig = Saturday, 16 February, 1991
Sat Sun 1991
REM Mon Tue 1992 MSG Mon Tue 1992
../tests/test.rem(96): Trig = Monday, 6 January, 1992
REM Sun 16 1991 MSG Sun 16 1991
../tests/test.rem(98): Trig = Sunday, 17 February, 1991
REM Mon Tue Wed Thu Fri 1 1992 MSG Mon Tue Wed Thu Fri 1 1992
../tests/test.rem(99): Trig = Wednesday, 1 January, 1992
REM Mon Feb 1991 MSG Mon Feb 1991
../tests/test.rem(101): Trig = Monday, 18 February, 1991
REM Tue Jan 1992 MSG Tue Jan 1992
../tests/test.rem(102): Trig = Tuesday, 7 January, 1992
REM Sun Mon 16 Feb 1991 MSG Sun Mon 16 Feb 1991
../tests/test.rem(104): Trig = Sunday, 17 February, 1991
REM Tue 28 Jan 1992 MSG Tue 28 Jan 1992
../tests/test.rem(105): Trig = Tuesday, 28 January, 1992
# Try some Backs
CLEAR-OMIT-CONTEXT
REM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun
../tests/test.rem(109): Trig = Thursday, 28 February, 1991
REM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun
../tests/test.rem(110): Trig = Thursday, 28 February, 1991
OMIT 28 Feb
REM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun (28 Feb omitted)
../tests/test.rem(113): Trig = Wednesday, 27 February, 1991
REM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun (28 Feb omitted)
../tests/test.rem(114): Trig = Thursday, 28 February, 1991
CLEAR-OMIT-CONTEXT
# Try out UNTIL
REM Wed UNTIL 21 Feb 1991 MSG Wed UNTIL 21 Feb 1991
../tests/test.rem(119): Trig = Wednesday, 20 February, 1991
# Try playing with the OMIT context
OMIT 28 Feb 1991
REM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
../tests/test.rem(124): Trig = Wednesday, 27 February, 1991
REM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
../tests/test.rem(125): Trig = Thursday, 28 February, 1991
REM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
../tests/test.rem(126): Trig = Wednesday, 27 February, 1991
REM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
../tests/test.rem(127): Trig = Friday, 28 February, 1992
REM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
../tests/test.rem(128): Trig = Friday, 1 March, 1991
PUSH-OMIT-CONTEXT
CLEAR-OMIT-CONTEXT
REM 1 Mar -1 MSG 1 mar -1
../tests/test.rem(132): Trig = Thursday, 28 February, 1991
REM 1 Mar --1 MSG 1 mar --1
../tests/test.rem(133): Trig = Thursday, 28 February, 1991
REM 28 Feb BEFORE MSG 28 Feb BEFORE
../tests/test.rem(134): Trig = Thursday, 28 February, 1991
REM 28 Feb SKIP MSG 28 Feb SKIP
../tests/test.rem(135): Trig = Thursday, 28 February, 1991
REM 28 Feb AFTER MSG 28 Feb AFTER
../tests/test.rem(136): Trig = Thursday, 28 February, 1991
POP-OMIT-CONTEXT
REM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
../tests/test.rem(139): Trig = Wednesday, 27 February, 1991
REM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
../tests/test.rem(140): Trig = Thursday, 28 February, 1991
REM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
../tests/test.rem(141): Trig = Wednesday, 27 February, 1991
REM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
../tests/test.rem(142): Trig = Friday, 28 February, 1992
REM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
../tests/test.rem(143): Trig = Friday, 1 March, 1991
REM 13 March 1991 *1 UNTIL 19 March 1991 MSG 13-19 Mar 91
../tests/test.rem(146): Trig = Wednesday, 13 March, 1991
# Test BACK
CLEAR-OMIT-CONTEXT
REM 18 Feb 1991 +1 MSG 18 Feb 1991 +1
../tests/test.rem(150): Trig = Monday, 18 February, 1991
OMIT 17 Feb 1991
REM 18 Feb 1991 +1 MSG 18 Feb 1991 +1 (17Feb91 omitted)
../tests/test.rem(153): Trig = Monday, 18 February, 1991
18 Feb 1991 +1 (17Feb91 omitted)
REM 18 Feb 1991 ++1 MSG 18 Feb 1991 ++1 (17Feb91 omitted)
../tests/test.rem(154): Trig = Monday, 18 February, 1991
CLEAR-OMIT-CONTEXT
# Test the scanfrom clause
REM Fri SATISFY 1
../tests/test.rem(158): Trig = Friday, 22 February, 1991
OMIT [trigger(trigdate())]
trigdate() => 1991-02-22
trigger(1991-02-22) => "22 February 1991"
REM Fri after MSG 23 Feb 1991
../tests/test.rem(160): Trig = Saturday, 23 February, 1991
CLEAR-OMIT-CONTEXT
REM Fri SCANFROM [trigger(today()-7)] SATISFY 1
today() => 1991-02-16
1991-02-16 - 7 => 1991-02-09
trigger(1991-02-09) => "9 February 1991"
../tests/test.rem(162): Trig = Friday, 15 February, 1991
OMIT [trigger(trigdate())]
trigdate() => 1991-02-15
trigger(1991-02-15) => "15 February 1991"
REM Fri after MSG 16 Feb 1991
../tests/test.rem(164): Trig = Saturday, 16 February, 1991
16 Feb 1991
CLEAR-OMIT-CONTEXT
# Test omitfunc
fset _ofunc(x) (day(x) < 7 || day(x) % 2)
REM 1 March OMITFUNC _ofunc AFTER MSG OmitFunc Test
Entering UserFN _ofunc(1991-02-15)
x => 1991-02-15
day(1991-02-15) => 15
15 < 7 => 0
x => 1991-02-15
day(1991-02-15) => 15
15 % 2 => 1
0 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-02-14)
x => 1991-02-14
day(1991-02-14) => 14
14 < 7 => 0
x => 1991-02-14
day(1991-02-14) => 14
14 % 2 => 0
0 || 0 => 0
Leaving UserFN _ofunc() => 0
Entering UserFN _ofunc(1991-03-01)
x => 1991-03-01
day(1991-03-01) => 1
1 < 7 => 1
x => 1991-03-01
day(1991-03-01) => 1
1 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-02)
x => 1991-03-02
day(1991-03-02) => 2
2 < 7 => 1
x => 1991-03-02
day(1991-03-02) => 2
2 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-03)
x => 1991-03-03
day(1991-03-03) => 3
3 < 7 => 1
x => 1991-03-03
day(1991-03-03) => 3
3 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-04)
x => 1991-03-04
day(1991-03-04) => 4
4 < 7 => 1
x => 1991-03-04
day(1991-03-04) => 4
4 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-05)
x => 1991-03-05
day(1991-03-05) => 5
5 < 7 => 1
x => 1991-03-05
day(1991-03-05) => 5
5 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-06)
x => 1991-03-06
day(1991-03-06) => 6
6 < 7 => 1
x => 1991-03-06
day(1991-03-06) => 6
6 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-07)
x => 1991-03-07
day(1991-03-07) => 7
7 < 7 => 0
x => 1991-03-07
day(1991-03-07) => 7
7 % 2 => 1
0 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-08)
x => 1991-03-08
day(1991-03-08) => 8
8 < 7 => 0
x => 1991-03-08
day(1991-03-08) => 8
8 % 2 => 0
0 || 0 => 0
Leaving UserFN _ofunc() => 0
../tests/test.rem(169): Trig = Friday, 8 March, 1991
REM 8 March OMITFUNC _ofunc -1 MSG OmitFunc Test 2
Entering UserFN _ofunc(1991-03-07)
x => 1991-03-07
day(1991-03-07) => 7
7 < 7 => 0
x => 1991-03-07
day(1991-03-07) => 7
7 % 2 => 1
0 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-06)
x => 1991-03-06
day(1991-03-06) => 6
6 < 7 => 1
x => 1991-03-06
day(1991-03-06) => 6
6 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-05)
x => 1991-03-05
day(1991-03-05) => 5
5 < 7 => 1
x => 1991-03-05
day(1991-03-05) => 5
5 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-04)
x => 1991-03-04
day(1991-03-04) => 4
4 < 7 => 1
x => 1991-03-04
day(1991-03-04) => 4
4 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-03)
x => 1991-03-03
day(1991-03-03) => 3
3 < 7 => 1
x => 1991-03-03
day(1991-03-03) => 3
3 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-02)
x => 1991-03-02
day(1991-03-02) => 2
2 < 7 => 1
x => 1991-03-02
day(1991-03-02) => 2
2 % 2 => 0
1 || 0 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-03-01)
x => 1991-03-01
day(1991-03-01) => 1
1 < 7 => 1
x => 1991-03-01
day(1991-03-01) => 1
1 % 2 => 1
1 || 1 => 1
Leaving UserFN _ofunc() => 1
Entering UserFN _ofunc(1991-02-28)
x => 1991-02-28
day(1991-02-28) => 28
28 < 7 => 0
x => 1991-02-28
day(1991-02-28) => 28
28 % 2 => 0
0 || 0 => 0
Leaving UserFN _ofunc() => 0
../tests/test.rem(170): Trig = Thursday, 28 February, 1991
# omitfunc ignores local/global omits
fset _ofunc(x) 0
OMIT 1 March
OMIT 2 March 1991
REM 1 March OMIT Sun OMITFUNC _ofunc AFTER MSG Should trigger 1 March
../tests/test.rem(176): Warning: OMIT is ignored if you use OMITFUNC
Entering UserFN _ofunc(1991-02-15)
Leaving UserFN _ofunc() => 0
Entering UserFN _ofunc(1991-03-01)
Leaving UserFN _ofunc() => 0
../tests/test.rem(176): Trig = Friday, 1 March, 1991
REM 1 March OMIT Sun AFTER MSG Should trigger 4 March
../tests/test.rem(177): Trig = Monday, 4 March, 1991
# Test shorthand reminders
REM 1991-02-28 MSG Feb 28
../tests/test.rem(180): Trig = Thursday, 28 February, 1991
REM 1991/02/28@14:45 MSG Feb 28
../tests/test.rem(181): Trig = Thursday, 28 February, 1991
REM Wed UNTIL 1991-01-01 MSG Expired
../tests/test.rem(182): Expired
REM Wed SCANFROM 1991-02-26 MSG SCANFROM
../tests/test.rem(183): Trig = Wednesday, 27 February, 1991
set a000 abs(1)
abs(1) => 1
set a001 abs(-1)
- 1 => -1
abs(-1) => 1
set a002 asc("foo")
asc("foo") => 102
set a003 baseyr()
baseyr() => 1990
set a004 char(66,55,66,77,66)
char(66, 55, 66, 77, 66) => "B7BMB"
set a005 choose(3, "foo", "bar", "baz", "blech")
choose(3, "foo", "bar", "baz", "blech") => "baz"
set a006 coerce("string", 1)
coerce("string", 1) => "1"
set a007 coerce("string", today())
today() => 1991-02-16
coerce("string", 1991-02-16) => "1991-02-16"
set a008 coerce("string", 11:44)
coerce("string", 11:44) => "11:44"
set a009 coerce("int", "badnews")
coerce("int", "badnews") => Can't coerce
../tests/test.rem(194): Can't coerce
set a010 coerce("int", "12")
coerce("int", "12") => 12
set a011 coerce("int", 11:44)
coerce("int", 11:44) => 704
set a012 coerce("int", today())
today() => 1991-02-16
coerce("int", 1991-02-16) => 411
set a013 date(1992, 2, 2)
date(1992, 2, 2) => 1992-02-02
set a014 date(1993, 2, 29)
date(1993, 2, 29) => Bad date specification
../tests/test.rem(199): Bad date specification
set a015 day(today())
today() => 1991-02-16
day(1991-02-16) => 16
set a016 daysinmon(2, 1991)
daysinmon(2, 1991) => 28
set a017 daysinmon(2, 1992)
daysinmon(2, 1992) => 29
set a018 defined("a017")
defined("a017") => 1
set a019 defined("a019")
defined("a019") => 0
set a020 filename()
filename() => "../tests/test.rem"
set a021 getenv("TEST_GETENV")
getenv("TEST_GETENV") => "foo bar baz"
set a022 hour(11:22)
hour(11:22) => 11
set a023 iif(1, 1, 0)
iif(1, 1, 0) => 1
set a024 iif(0, 1, 0)
iif(0, 1, 0) => 0
set a025 index("barfoobar", "foo")
index("barfoobar", "foo") => 4
set a026 index("barfoobar", "bar", 2)
index("barfoobar", "bar", 2) => 7
set a027 isleap(today())
today() => 1991-02-16
isleap(1991-02-16) => 0
set a028 isleap(1992)
isleap(1992) => 1
omit [trigger(today())]
today() => 1991-02-16
trigger(1991-02-16) => "16 February 1991"
set a030 isomitted(today())
today() => 1991-02-16
isomitted(1991-02-16) => 1
clear
set a029 isomitted(today())
today() => 1991-02-16
isomitted(1991-02-16) => 0
set a031 lower("FOOBARBAZ")
lower("FOOBARBAZ") => "foobarbaz"
set a032 max(1, 2, 34, 1, 3)
max(1, 2, 34, 1, 3) => 34
set a033 max("foo", "bar", "baz")
max("foo", "bar", "baz") => "foo"
set a034 max(today(), today()+1, today()-1)
today() => 1991-02-16
today() => 1991-02-16
1991-02-16 + 1 => 1991-02-17
today() => 1991-02-16
1991-02-16 - 1 => 1991-02-15
max(1991-02-16, 1991-02-17, 1991-02-15) => 1991-02-17
set a035 min(1, 2, 34, 1, 3)
min(1, 2, 34, 1, 3) => 1
set a036 min("foo", "bar", "baz")
min("foo", "bar", "baz") => "bar"
set a037 min(today(), today()+1, today()-1)
today() => 1991-02-16
today() => 1991-02-16
1991-02-16 + 1 => 1991-02-17
today() => 1991-02-16
1991-02-16 - 1 => 1991-02-15
min(1991-02-16, 1991-02-17, 1991-02-15) => 1991-02-15
set a038 minute(11:33)
minute(11:33) => 33
set a039 mon(today())
today() => 1991-02-16
mon(1991-02-16) => "February"
set a040 monnum(today())
today() => 1991-02-16
monnum(1991-02-16) => 2
set a041 ord(3)
ord(3) => "3rd"
set a042 ord(4)
ord(4) => "4th"
set a043 ostype()
ostype() => "UNIX"
set a044 plural(2)
plural(2) => "s"
set a045 plural(2, "ies")
plural(2, "ies") => "iess"
set a046 plural(2, "y", "ies")
plural(2, "y", "ies") => "ies"
set a047 sgn(-2)
- 2 => -2
sgn(-2) => -1
set a048 shell("echo foo")
shell("echo foo") => "foo"
set a049 strlen("sadjflkhsldkfhsdlfjhk")
strlen("sadjflkhsldkfhsdlfjhk") => 21
set a050 substr(a049, 2)
a049 => 21
substr(21, 2) => Type mismatch
../tests/test.rem(237): Type mismatch
set a051 substr(a050, 2, 6)
a050 => ../tests/test.rem(238): Undefined variable: a050
set a052 time(1+2, 3+4)
1 + 2 => 3
3 + 4 => 7
time(3, 7) => 03:07
rem 10 jan 1992 AT 11:22 CAL
../tests/test.rem(240): Trig = Friday, 10 January, 1992
set a053 trigdate()
trigdate() => 1992-01-10
set a054 trigtime()
trigtime() => 11:22
set a055 trigvalid()
trigvalid() => 1
set a056 upper("sdfjhsdf ksjdfh kjsdfh ksjdfh")
upper("sdfjhsdf ksjdfh kjsdfh ksjdfh") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
set a057 value("a05"+"6")
"a05" + "6" => "a056"
value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
set a058 version()
version() => "03.01.09"
set a059 wkday(today())
today() => 1991-02-16
wkday(1991-02-16) => "Saturday"
set a060 wkdaynum(today())
today() => 1991-02-16
wkdaynum(1991-02-16) => 6
set a061 year(today())
today() => 1991-02-16
year(1991-02-16) => 1991
set a062 1+2*(3+4-(5*7/2))
3 + 4 => 7
5 * 7 => 35
35 / 2 => 17
7 - 17 => -10
2 * -10 => -20
1 + -20 => -19
set a063 1>=2
1 >= 2 => 0
set a064 1<2 || 3 > 4
1 < 2 => 1
3 > 4 => 0
1 || 0 => 1
set a065 1 && 1
1 && 1 => 1
set a066 !a065
a065 => 1
! 1 => 0
set a067 typeof(2)
typeof(2) => "INT"
set a068 typeof("foo")
typeof("foo") => "STRING"
set a069 typeof(11:33)
typeof(11:33) => "TIME"
set a070 typeof(today())
today() => 1991-02-16
typeof(1991-02-16) => "DATE"
fset g(x,y) max(x,y)
fset h(x,y) min(g(x+y, x*y), g(x-y, x/y))
set a071 g(1, 2)
Entering UserFN g(1, 2)
x => 1
y => 2
max(1, 2) => 2
Leaving UserFN g() => 2
set a072 h(2, 3)
Entering UserFN h(2, 3)
x => 2
y => 3
2 + 3 => 5
x => 2
y => 3
2 * 3 => 6
Entering UserFN g(5, 6)
x => 5
y => 6
max(5, 6) => 6
Leaving UserFN g() => 6
x => 2
y => 3
2 - 3 => -1
x => 2
y => 3
2 / 3 => 0
Entering UserFN g(-1, 0)
x => -1
y => 0
max(-1, 0) => 0
Leaving UserFN g() => 0
min(6, 0) => 0
Leaving UserFN h() => 0
set a073 h("foo", 11:33)
Entering UserFN h("foo", 11:33)
x => "foo"
y => 11:33
"foo" + 11:33 => "foo11:33"
x => "foo"
y => 11:33
"foo" * 11:33 => Type mismatch
../tests/test.rem(263): `*': Type mismatch
Leaving UserFN h() => Type mismatch
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(265): 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(267): 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(269): 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(271): Trig = Saturday, 16 February, 1991
a077 => "1992 92
"
1992 92
set a078 easterdate(today())
today() => 1991-02-16
easterdate(1991-02-16) => 1991-03-31
set a079 easterdate(1992)
easterdate(1992) => 1992-04-19
set a080 easterdate(1995)
easterdate(1995) => 1995-04-16
set a081 ""
OMIT 1991-03-11
set a082 slide('1991-03-01', 7, "Sat", "Sun")
slide(1991-03-01, 7, "Sat", "Sun") => 1991-03-13
set a083 slide('1991-04-01', -7, "Sat")
- 7 => -7
slide(1991-04-01, -7, "Sat") => 1991-03-24
set a084 nonomitted('1991-03-01', '1991-03-13', "Sat", "Sun")
nonomitted(1991-03-01, 1991-03-13, "Sat", "Sun") => 7
set a085 nonomitted('1991-03-24', '1991-04-01', "Sat")
nonomitted(1991-03-24, 1991-04-01, "Sat") => 7
dump
Variable Value
a017 29
a036 "bar"
a055 1
a074 "on Tuesday, 5 May, 1992 in 444 days' tim"...
a008 "11:44"
a027 0
a046 "ies"
a065 1
a084 7
a018 1
a037 1991-02-15
a056 "SDFJHSDF KSJDFH KJSDFH KSJDFH"
a075 "on 05-05 on Tuesday, May 5th, 1992 on Tu"...
a028 1
a047 -1
a066 0
a085 7
a019 0
a038 33
a057 "SDFJHSDF KSJDFH KJSDFH KSJDFH"
a076 "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
a029 0
a048 "foo"
a067 "INT"
a039 "February"
a058 "03.01.09"
a077 "1992 92
"
a049 21
a068 "STRING"
a059 "Saturday"
a078 1991-03-31
a069 "TIME"
a079 1992-04-19
a000 1
a010 12
a001 1
a020 "../tests/test.rem"
a011 704
a030 1
a002 102
a021 "foo bar baz"
a040 2
a012 411
a031 "foobarbaz"
a003 1990
a022 11
a041 "3rd"
a060 6
a013 1992-02-02
a032 34
a070 "DATE"
a004 "B7BMB"
a023 1
a042 "4th"
a061 1991
a080 1995-04-16
a033 "foo"
a052 03:07
a071 2
a005 "baz"
a024 0
a043 "UNIX"
a062 -19
a081 ""
a015 16
a034 1991-02-17
a053 1992-01-10
a072 0
a006 "1"
a025 4
a044 "s"
a063 0
a082 1991-03-13
a016 28
a035 1
a054 11:22
a007 "1991-02-16"
a026 7
a045 "iess"
a064 1
a083 1991-03-24
Test 2
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 17 ../tests/test2.rem
2007/08/01 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/01 * * * * 0 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/01 * * * * 0 NonOmit-2
# fileinfo 18 ../tests/test2.rem
2007/08/02 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/02 * * * * 1 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/02 * * * * 1 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/03 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/03 * * * * 2 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/03 * * * * 2 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/04 * * * * 3 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/04 * * * * 3 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/05 * * * * 4 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/05 * * * * 3 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/06 * * * * 5 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/06 * * * * 3 NonOmit-2
# fileinfo 43 ../tests/test2.rem
2007/08/06 * * * * Blort
# fileinfo 27 ../tests/test2.rem
2007/08/07 * * * * 6 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/07 * * * * 4 NonOmit-2
# fileinfo 17 ../tests/test2.rem
2007/08/08 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/08 * * * * 7 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/08 * * * * 5 NonOmit-2
# fileinfo 18 ../tests/test2.rem
2007/08/09 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/09 * * * * 8 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/09 * * * * 6 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/10 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/10 * * * * 9 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/10 * * * * 7 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/11 * * * * 10 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/11 * * * * 8 NonOmit-2
# fileinfo 24 ../tests/test2.rem
2007/08/12 MOON * * * 0
# fileinfo 27 ../tests/test2.rem
2007/08/12 * * * * 11 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/12 * * * * 8 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/13 * * * * 12 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/13 * * * * 8 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/14 * * * * 13 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/14 * * * * 9 NonOmit-2
# fileinfo 17 ../tests/test2.rem
2007/08/15 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/15 * * * * 13 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/15 * * * * 9 NonOmit-2
# fileinfo 18 ../tests/test2.rem
2007/08/16 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/16 * * * * 14 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/16 * * * * 10 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/17 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/17 * * * * 15 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/17 * * * * 11 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/18 * * * * 16 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/18 * * * * 12 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/19 * * * * 17 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/19 * * * * 12 NonOmit-2
# fileinfo 31 ../tests/test2.rem
2007/08/20 COLOR * * 825 6 7 8 1:45pm Mooo!
# fileinfo 27 ../tests/test2.rem
2007/08/20 * * * * 18 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/20 * * * * 12 NonOmit-2
# fileinfo 43 ../tests/test2.rem
2007/08/20 * * * * Blort
# fileinfo 34 ../tests/test2.rem
2007/08/21 PostScript * * 115 (wookie) show
# fileinfo 27 ../tests/test2.rem
2007/08/21 * * * * 19 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/21 * * * * 13 NonOmit-2
# fileinfo 17 ../tests/test2.rem
2007/08/22 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/22 * * * * 20 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/22 * * * * 14 NonOmit-2
# fileinfo 35 ../tests/test2.rem
2007/08/22 PostScript * * * (cabbage) show
# fileinfo 38 ../tests/test2.rem
2007/08/23 blort * * 1004 snoo glup
# fileinfo 18 ../tests/test2.rem
2007/08/23 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/23 * * * * 21 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/23 * * * * 15 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/24 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/24 * * * * 22 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/24 * * * * 16 NonOmit-2
# fileinfo 39 ../tests/test2.rem
2007/08/24 blort * * * gulp wookie
# fileinfo 27 ../tests/test2.rem
2007/08/25 * * * * 23 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/25 * * * * 17 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/26 * * * * 24 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/26 * * * * 17 NonOmit-2
# fileinfo 27 ../tests/test2.rem
2007/08/27 * * * * 25 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/27 * * * * 17 NonOmit-2
# fileinfo 43 ../tests/test2.rem
2007/08/27 * * * * Blort
# fileinfo 27 ../tests/test2.rem
2007/08/28 * * * * 26 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/28 * * * * 18 NonOmit-2
# fileinfo 17 ../tests/test2.rem
2007/08/29 COLOR * * * 0 0 255 Blue Wednesday
# fileinfo 27 ../tests/test2.rem
2007/08/29 * * * * 27 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/29 * * * * 19 NonOmit-2
# fileinfo 18 ../tests/test2.rem
2007/08/30 COLOR * * * 255 0 0 Red Thursday
# fileinfo 27 ../tests/test2.rem
2007/08/30 * * * * 28 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/30 * * * * 20 NonOmit-2
# fileinfo 21 ../tests/test2.rem
2007/08/31 SHADE * * * 0 255 0
# fileinfo 27 ../tests/test2.rem
2007/08/31 * * * * 29 NonOmit-1
# fileinfo 28 ../tests/test2.rem
2007/08/31 * * * * 21 NonOmit-2
# rem2ps end
Test 3
2007/08/01 COLOR * * * 0 0 255 Blue Wednesday
2007/08/01 * * * * 0 NonOmit-1
2007/08/01 * * * * 0 NonOmit-2
2007/08/02 COLOR * * * 255 0 0 Red Thursday
2007/08/02 * * * * 1 NonOmit-1
2007/08/02 * * * * 1 NonOmit-2
2007/08/03 * * * * 2 NonOmit-1
2007/08/03 * * * * 2 NonOmit-2
2007/08/04 * * * * 3 NonOmit-1
2007/08/04 * * * * 3 NonOmit-2
2007/08/05 * * * * 4 NonOmit-1
2007/08/05 * * * * 3 NonOmit-2
2007/08/06 * * * * 5 NonOmit-1
2007/08/06 * * * * 3 NonOmit-2
2007/08/06 * * * * Blort
2007/08/07 * * * * 6 NonOmit-1
2007/08/07 * * * * 4 NonOmit-2
2007/08/08 COLOR * * * 0 0 255 Blue Wednesday
2007/08/08 * * * * 7 NonOmit-1
2007/08/08 * * * * 5 NonOmit-2
2007/08/09 COLOR * * * 255 0 0 Red Thursday
2007/08/09 * * * * 8 NonOmit-1
2007/08/09 * * * * 6 NonOmit-2
2007/08/10 * * * * 9 NonOmit-1
2007/08/10 * * * * 7 NonOmit-2
2007/08/11 * * * * 10 NonOmit-1
2007/08/11 * * * * 8 NonOmit-2
2007/08/12 * * * * 11 NonOmit-1
2007/08/12 * * * * 8 NonOmit-2
2007/08/13 * * * * 12 NonOmit-1
2007/08/13 * * * * 8 NonOmit-2
2007/08/14 * * * * 13 NonOmit-1
2007/08/14 * * * * 9 NonOmit-2
2007/08/15 COLOR * * * 0 0 255 Blue Wednesday
2007/08/15 * * * * 13 NonOmit-1
2007/08/15 * * * * 9 NonOmit-2
2007/08/16 COLOR * * * 255 0 0 Red Thursday
2007/08/16 * * * * 14 NonOmit-1
2007/08/16 * * * * 10 NonOmit-2
2007/08/17 * * * * 15 NonOmit-1
2007/08/17 * * * * 11 NonOmit-2
2007/08/18 * * * * 16 NonOmit-1
2007/08/18 * * * * 12 NonOmit-2
2007/08/19 * * * * 17 NonOmit-1
2007/08/19 * * * * 12 NonOmit-2
2007/08/20 COLOR * * 825 6 7 8 1:45pm Mooo!
2007/08/20 * * * * 18 NonOmit-1
2007/08/20 * * * * 12 NonOmit-2
2007/08/20 * * * * Blort
2007/08/21 * * * * 19 NonOmit-1
2007/08/21 * * * * 13 NonOmit-2
2007/08/22 COLOR * * * 0 0 255 Blue Wednesday
2007/08/22 * * * * 20 NonOmit-1
2007/08/22 * * * * 14 NonOmit-2
2007/08/23 COLOR * * * 255 0 0 Red Thursday
2007/08/23 * * * * 21 NonOmit-1
2007/08/23 * * * * 15 NonOmit-2
2007/08/24 * * * * 22 NonOmit-1
2007/08/24 * * * * 16 NonOmit-2
2007/08/25 * * * * 23 NonOmit-1
2007/08/25 * * * * 17 NonOmit-2
2007/08/26 * * * * 24 NonOmit-1
2007/08/26 * * * * 17 NonOmit-2
2007/08/27 * * * * 25 NonOmit-1
2007/08/27 * * * * 17 NonOmit-2
2007/08/27 * * * * Blort
2007/08/28 * * * * 26 NonOmit-1
2007/08/28 * * * * 18 NonOmit-2
2007/08/29 COLOR * * * 0 0 255 Blue Wednesday
2007/08/29 * * * * 27 NonOmit-1
2007/08/29 * * * * 19 NonOmit-2
2007/08/30 COLOR * * * 255 0 0 Red Thursday
2007/08/30 * * * * 28 NonOmit-1
2007/08/30 * * * * 20 NonOmit-2
2007/08/31 * * * * 29 NonOmit-1
2007/08/31 * * * * 21 NonOmit-2
Test 4
2007/08/01 COLOR * * * 0 0 255 Blue Wednesday
2007/08/01 * * * * 0 NonOmit-1
2007/08/01 * * * * 0 NonOmit-2
2007/08/02 COLOR * * * 255 0 0 Red Thursday
2007/08/02 * * * * 1 NonOmit-1
2007/08/02 * * * * 1 NonOmit-2
2007/08/03 * * * * 2 NonOmit-1
2007/08/03 * * * * 2 NonOmit-2
2007/08/04 * * * * 3 NonOmit-1
2007/08/04 * * * * 3 NonOmit-2
2007/08/05 * * * * 4 NonOmit-1
2007/08/05 * * * * 3 NonOmit-2
2007/08/06 COLOR * * * 0 0 255 Blue Wednesday is in 2 days' time
2007/08/06 * * * * 5 NonOmit-1
2007/08/06 * * * * 3 NonOmit-2
2007/08/06 * * * * Blort
2007/08/07 COLOR * * * 0 0 255 Blue Wednesday is tomorrow
2007/08/07 * * * * 6 NonOmit-1
2007/08/07 * * * * 4 NonOmit-2
2007/08/08 COLOR * * * 0 0 255 Blue Wednesday
2007/08/08 * * * * 7 NonOmit-1
2007/08/08 * * * * 5 NonOmit-2
2007/08/09 COLOR * * * 255 0 0 Red Thursday
2007/08/09 * * * * 8 NonOmit-1
2007/08/09 * * * * 6 NonOmit-2
2007/08/10 * * * * 9 NonOmit-1
2007/08/10 * * * * 7 NonOmit-2
2007/08/11 * * * * 10 NonOmit-1
2007/08/11 * * * * 8 NonOmit-2
2007/08/12 COLOR * * * 0 0 255 Blue Wednesday is in 3 days' time
2007/08/12 * * * * 11 NonOmit-1
2007/08/12 * * * * 8 NonOmit-2
2007/08/13 COLOR * * * 0 0 255 Blue Wednesday is in 2 days' time
2007/08/13 * * * * 12 NonOmit-1
2007/08/13 * * * * 8 NonOmit-2
2007/08/14 COLOR * * * 0 0 255 Blue Wednesday is tomorrow
2007/08/14 * * * * 13 NonOmit-1
2007/08/14 * * * * 9 NonOmit-2
2007/08/15 COLOR * * * 0 0 255 Blue Wednesday
2007/08/15 * * * * 13 NonOmit-1
2007/08/15 * * * * 9 NonOmit-2
2007/08/16 COLOR * * * 255 0 0 Red Thursday
2007/08/16 * * * * 14 NonOmit-1
2007/08/16 * * * * 10 NonOmit-2
2007/08/17 * * * * 15 NonOmit-1
2007/08/17 * * * * 11 NonOmit-2
2007/08/18 * * * * 16 NonOmit-1
2007/08/18 * * * * 12 NonOmit-2
2007/08/19 * * * * 17 NonOmit-1
2007/08/19 * * * * 12 NonOmit-2
2007/08/20 COLOR * * 825 6 7 8 1:45pm Mooo!
2007/08/20 COLOR * * * 0 0 255 Blue Wednesday is in 2 days' time
2007/08/20 * * * * 18 NonOmit-1
2007/08/20 * * * * 12 NonOmit-2
2007/08/20 * * * * Blort
2007/08/21 COLOR * * * 0 0 255 Blue Wednesday is tomorrow
2007/08/21 * * * * 19 NonOmit-1
2007/08/21 * * * * 13 NonOmit-2
2007/08/22 COLOR * * * 0 0 255 Blue Wednesday
2007/08/22 * * * * 20 NonOmit-1
2007/08/22 * * * * 14 NonOmit-2
2007/08/23 COLOR * * * 255 0 0 Red Thursday
2007/08/23 * * * * 21 NonOmit-1
2007/08/23 * * * * 15 NonOmit-2
2007/08/24 * * * * 22 NonOmit-1
2007/08/24 * * * * 16 NonOmit-2
2007/08/25 * * * * 23 NonOmit-1
2007/08/25 * * * * 17 NonOmit-2
2007/08/26 * * * * 24 NonOmit-1
2007/08/26 * * * * 17 NonOmit-2
2007/08/27 COLOR * * * 0 0 255 Blue Wednesday is in 2 days' time
2007/08/27 * * * * 25 NonOmit-1
2007/08/27 * * * * 17 NonOmit-2
2007/08/27 * * * * Blort
2007/08/28 COLOR * * * 0 0 255 Blue Wednesday is tomorrow
2007/08/28 * * * * 26 NonOmit-1
2007/08/28 * * * * 18 NonOmit-2
2007/08/29 COLOR * * * 0 0 255 Blue Wednesday
2007/08/29 * * * * 27 NonOmit-1
2007/08/29 * * * * 19 NonOmit-2
2007/08/30 COLOR * * * 255 0 0 Red Thursday
2007/08/30 * * * * 28 NonOmit-1
2007/08/30 * * * * 20 NonOmit-2
2007/08/31 * * * * 29 NonOmit-1
2007/08/31 * * * * 21 NonOmit-2
Test 5
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 ../tests/test3.rem
2007/08/01 * * * 660 11:00am Wookie
# fileinfo 5 ../tests/test3.rem
2007/08/01 * * 45 660 11:00-11:45am Lettuce
# fileinfo 9 ../tests/test3.rem
2007/08/01 * * 105 660 11:00am-12:45pm Apple
# fileinfo 13 ../tests/test3.rem
2007/08/01 * * 885 660 11:00am-1:45am+1 Green
# fileinfo 17 ../tests/test3.rem
2007/08/01 * * 1485 660 11:00am-11:45am+1 Yellow
# fileinfo 21 ../tests/test3.rem
2007/08/01 * * 2205 660 11:00am-11:45pm+1 Purple
# fileinfo 25 ../tests/test3.rem
2007/08/01 * * 2925 660 11:00am-11:45am+2 Sad
# fileinfo 2 ../tests/test3.rem
2007/08/01 * * * 720 12:00pm Cookie
# fileinfo 6 ../tests/test3.rem
2007/08/01 * * 45 720 12:00-12:45pm Cabbage
# fileinfo 10 ../tests/test3.rem
2007/08/01 * * 165 720 12:00-2:45pm Pear
# fileinfo 14 ../tests/test3.rem
2007/08/01 * * 885 720 12:00pm-2:45am+1 Blue
# fileinfo 18 ../tests/test3.rem
2007/08/01 * * 1485 720 12:00pm-12:45pm+1 Orange
# fileinfo 22 ../tests/test3.rem
2007/08/01 * * 2205 720 12:00pm-12:45am+2 Black
# fileinfo 26 ../tests/test3.rem
2007/08/01 * * 2925 720 12:00pm-12:45pm+2 Happy
# fileinfo 3 ../tests/test3.rem
2007/08/01 * * * 780 1:00pm Snookie
# fileinfo 7 ../tests/test3.rem
2007/08/01 * * 45 780 1:00-1:45pm Tomato
# fileinfo 11 ../tests/test3.rem
2007/08/01 * * 225 780 1:00-4:45pm Grape
# fileinfo 15 ../tests/test3.rem
2007/08/01 * * 885 780 1:00pm-3:45am+1 Red
# fileinfo 19 ../tests/test3.rem
2007/08/01 * * 1485 780 1:00pm-1:45pm+1 Magenta
# fileinfo 23 ../tests/test3.rem
2007/08/01 * * 2205 780 1:00pm-1:45am+2 Brown
# fileinfo 27 ../tests/test3.rem
2007/08/01 * * 2925 780 1:00pm-1:45pm+2 Strange
# rem2ps end
Test 6
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 ../tests/test3.rem
2007/08/01 * * * 660 11:00 Wookie
# fileinfo 5 ../tests/test3.rem
2007/08/01 * * 45 660 11:00-11:45 Lettuce
# fileinfo 9 ../tests/test3.rem
2007/08/01 * * 105 660 11:00-12:45 Apple
# fileinfo 13 ../tests/test3.rem
2007/08/01 * * 885 660 11:00-01:45+1 Green
# fileinfo 17 ../tests/test3.rem
2007/08/01 * * 1485 660 11:00-11:45+1 Yellow
# fileinfo 21 ../tests/test3.rem
2007/08/01 * * 2205 660 11:00-23:45+1 Purple
# fileinfo 25 ../tests/test3.rem
2007/08/01 * * 2925 660 11:00-11:45+2 Sad
# fileinfo 2 ../tests/test3.rem
2007/08/01 * * * 720 12:00 Cookie
# fileinfo 6 ../tests/test3.rem
2007/08/01 * * 45 720 12:00-12:45 Cabbage
# fileinfo 10 ../tests/test3.rem
2007/08/01 * * 165 720 12:00-14:45 Pear
# fileinfo 14 ../tests/test3.rem
2007/08/01 * * 885 720 12:00-02:45+1 Blue
# fileinfo 18 ../tests/test3.rem
2007/08/01 * * 1485 720 12:00-12:45+1 Orange
# fileinfo 22 ../tests/test3.rem
2007/08/01 * * 2205 720 12:00-00:45+2 Black
# fileinfo 26 ../tests/test3.rem
2007/08/01 * * 2925 720 12:00-12:45+2 Happy
# fileinfo 3 ../tests/test3.rem
2007/08/01 * * * 780 13:00 Snookie
# fileinfo 7 ../tests/test3.rem
2007/08/01 * * 45 780 13:00-13:45 Tomato
# fileinfo 11 ../tests/test3.rem
2007/08/01 * * 225 780 13:00-16:45 Grape
# fileinfo 15 ../tests/test3.rem
2007/08/01 * * 885 780 13:00-03:45+1 Red
# fileinfo 19 ../tests/test3.rem
2007/08/01 * * 1485 780 13:00-13:45+1 Magenta
# fileinfo 23 ../tests/test3.rem
2007/08/01 * * 2205 780 13:00-01:45+2 Brown
# fileinfo 27 ../tests/test3.rem
2007/08/01 * * 2925 780 13:00-13:45+2 Strange
# rem2ps end
Test 7
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 ../tests/test3.rem
2007/08/01 * * * 660 Wookie
# fileinfo 5 ../tests/test3.rem
2007/08/01 * * 45 660 Lettuce
# fileinfo 9 ../tests/test3.rem
2007/08/01 * * 105 660 Apple
# fileinfo 13 ../tests/test3.rem
2007/08/01 * * 885 660 Green
# fileinfo 17 ../tests/test3.rem
2007/08/01 * * 1485 660 Yellow
# fileinfo 21 ../tests/test3.rem
2007/08/01 * * 2205 660 Purple
# fileinfo 25 ../tests/test3.rem
2007/08/01 * * 2925 660 Sad
# fileinfo 2 ../tests/test3.rem
2007/08/01 * * * 720 Cookie
# fileinfo 6 ../tests/test3.rem
2007/08/01 * * 45 720 Cabbage
# fileinfo 10 ../tests/test3.rem
2007/08/01 * * 165 720 Pear
# fileinfo 14 ../tests/test3.rem
2007/08/01 * * 885 720 Blue
# fileinfo 18 ../tests/test3.rem
2007/08/01 * * 1485 720 Orange
# fileinfo 22 ../tests/test3.rem
2007/08/01 * * 2205 720 Black
# fileinfo 26 ../tests/test3.rem
2007/08/01 * * 2925 720 Happy
# fileinfo 3 ../tests/test3.rem
2007/08/01 * * * 780 Snookie
# fileinfo 7 ../tests/test3.rem
2007/08/01 * * 45 780 Tomato
# fileinfo 11 ../tests/test3.rem
2007/08/01 * * 225 780 Grape
# fileinfo 15 ../tests/test3.rem
2007/08/01 * * 885 780 Red
# fileinfo 19 ../tests/test3.rem
2007/08/01 * * 1485 780 Magenta
# fileinfo 23 ../tests/test3.rem
2007/08/01 * * 2205 780 Brown
# fileinfo 27 ../tests/test3.rem
2007/08/01 * * 2925 780 Strange
# rem2ps end
Test 8
Scanning directory `../tests/include_dir' for *.rem files
Caching directory `../tests/include_dir' listing
Reading `../tests/include_dir/01.rem': Opening file on disk
Caching file `../tests/include_dir/01.rem' in memory
Reading `../tests/include_dir/02.rem': Opening file on disk
Caching file `../tests/include_dir/02.rem' in memory
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
Found cached directory listing for `../tests/include_dir'
Reading `../tests/include_dir/01.rem': Found in cache
Reading `../tests/include_dir/02.rem': Found in cache
Reading `../tests/include_dir/04cantread.rem': Opening file on disk
../tests/include_dir/02.rem(1): Can't open file: ../tests/include_dir/04cantread.rem
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 ../tests/include_dir/01.rem
2007/08/15 * * * * 01
# fileinfo 1 ../tests/include_dir/02.rem
2007/08/15 * * * * 02
# rem2ps end
Test 9
Reading `../tests/nonexistent_include_dir': Opening file on disk
Can't open file: ../tests/nonexistent_include_dir
Error reading ../tests/nonexistent_include_dir: Can't open file
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
Scanning directory `../tests/include_dir_no_rems' for *.rem files
Caching directory `../tests/include_dir_no_rems' listing
../tests/include_dir_no_rems: No files matching *.rem
Error reading ../tests/include_dir_no_rems: No files matching *.rem
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
Reading `../tests/include_test.rem': Opening file on disk
Caching file `../tests/include_test.rem' in memory
Scanning directory `include_dir' for *.rem files
Caching directory `include_dir' listing
Reading `include_dir/01.rem': Opening file on disk
Caching file `include_dir/01.rem' in memory
Reading `include_dir/02.rem': Opening file on disk
Caching file `include_dir/02.rem' in memory
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Scanning directory `include_dir_no_rems' for *.rem files
Caching directory `include_dir_no_rems' listing
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
Reading `../tests/include_test.rem': Found in cache
Found cached directory listing for `include_dir'
Reading `include_dir/01.rem': Found in cache
Reading `include_dir/02.rem': Found in cache
Reading `include_dir/04cantread.rem': Opening file on disk
include_dir/02.rem(1): Can't open file: include_dir/04cantread.rem
Found cached directory listing for `include_dir_no_rems'
../tests/include_test.rem(2): include_dir_no_rems: No files matching *.rem
Reading `nonexistent_include_dir': Opening file on disk
../tests/include_test.rem(3): Can't open file: nonexistent_include_dir
# rem2ps begin
August 2007 31 3 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
July 31
September 30
# fileinfo 1 include_dir/01.rem
2007/08/15 * * * * 01
# fileinfo 1 include_dir/02.rem
2007/08/15 * * * * 02
# fileinfo 5 ../tests/include_test.rem
2007/08/15 * * * * Whee!!!!
# rem2ps end
Color Test
(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B
(0x(B August 2007 (0x(B
(0tqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqwqqqqqqqqqqu(B
(0x(B Sunday (0x(B Monday (0x(B Tuesday (0x(BWednesday (0x(B Thursday (0x(B Friday (0x(B Saturday (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B (0x(B (0x(B (0x(B1 (0x(B2 (0x(B3 (0x(B4 (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B5 (0x(B6 (0x(B7 (0x(B8 (0x(B9 (0x(B10 (0x(B11 (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B12 (0x(B13 (0x(B14 (0x(B15 (0x(B16 (0x(B17 (0x(B18 (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B19 (0x(B20 (0x(B21 (0x(B22 (0x(B23 (0x(B24 (0x(B25 (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0tqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqnqqqqqqqqqqu(B
(0x(B26 (0x(B27 (0x(B28 (0x(B29 (0x(B30 (0x(B31 (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BBlack (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BDim Red (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BDim Green (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BDim Blue (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BDim Cyan (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BDim (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BMagenta (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BDim Yellow(0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BDim White (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BBright Red(0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BBright (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BGreen (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BBright (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BBlue (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BBright (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BCyan (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BBright (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BMagenta (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BBright (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BYellow (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BBright (0x(B (0x(B (0x(B (0x(B (0x(B
(0x(B (0x(B (0x(BWhite (0x(B (0x(B (0x(B (0x(B (0x(B
(0mqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqvqqqqqqqqqqj(B
MON WKDAY DAY across year test
-(1): Trig = Monday, 3 January, 2000
No reminders.
Sort Test
Reminders for Saturday, 1st January, 2000:
Untimed
Timed
Reminders for Saturday, 1st January, 2000:
Timed
Untimed
Purge Test
F1
# This is f1.rem
INCLUDE [filedir()]/f2.rem
INCLUDE [filedir()]/f2.rem
#!P: Expired: REM 1 Oct 1991 MSG old1.
#!P: Expired: REM Monday UNTIL 1 Oct 1991 MSG old2.
F2
# This is f2.rem
REM 3 feb 2012 MSG new
#!P: Expired: REM 3 1998 MSG old
INCLUDE [filedir()]/f3.rem
F3
# This is f3.rem
REM Mon MSG repeat
#!P: Cannot purge SATISFY-type reminders
REM Mon SATISFY [1] MSG repeat
#!P: The next IF evaluated false...
#!P: REM statements in IF block not checked for purging.
IF 0
REM 1991 MSG wookie
ENDIF
IF 1
#!P: Expired: REM 1991 MSG wookie
ENDIF
#!P: The next IFTRIG did not trigger.
#!P: REM statements in IFTRIG block not checked for purging.
IFTRIG 1991
REM MSG wookie
ENDIF
#!P: Next line may have expired, but contains expression
REM [1990+1] MSG old-with-expression
#!P: Next line may have expired, but contains expression
REM [1990+1] \
MSG Continued line
#!P: Expired: REM 1990 \
MSG expired-continued-line
OMIT 25 Dec MSG woaaahh!
OMIT 24 Dec
#!P: Expired: OMIT 1 Jan 1992 MSG woaaahah... expired
OMIT 2 Jan 1992
ERRMSG blorky
FLUSH
SET a 1
FSET a(x) x*x
UNSET a
CLEAR-OMIT-CONTEXT
PUSH-OMIT-CONTEXT
POP-OMIT-CONTEXT
BANNER wow
DEBUG +x
DEBUG -x
DUMP $
EXIT 0
PRESERVE i
../tests/runtest.rem(2): shell(): RUN disabled
../tests/runinc.rem(1): shell(): RUN disabled
../tests/runinc.rem(3): shell(): RUN disabled
No reminders.
%!PS-Adobe-2.0
%%DocumentFonts: Helvetica Helvetica-BoldOblique
%%Creator: Rem2PS
%%Pages: (atend)
%%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.
/ISOLatin1Encoding where { pop save true }{ false } ifelse
/ISOLatin1Encoding [ StandardEncoding 0 45 getinterval aload pop /minus
StandardEncoding 46 98 getinterval aload pop /dotlessi /grave /acute
/circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring
/cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent
/sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron
/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph
/periodcentered /cedilla /onesuperior /ordmasculine /guillemotright
/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute
/Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute
/Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth
/Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn
/germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae
/ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute
/icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex
/otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex
/udieresis /yacute /thorn /ydieresis ] def
{ restore } if
/reencodeISO { %def
findfont dup length dict begin
{ 1 index /FID ne { def }{ pop pop } ifelse } forall
/Encoding ISOLatin1Encoding def
currentdict end definefont pop
} bind def
/copyFont { %def
findfont dup length dict begin
{ 1 index /FID ne { def } { pop pop } ifelse } forall
currentdict end definefont pop
} bind def
% L - Draw a line
/L {
newpath moveto lineto stroke
} bind def
% string1 string2 strcat string
% Function: Concatenates two strings together.
/strcat {
2 copy length exch length add
string dup
4 2 roll
2 index 0 3 index
putinterval
exch length exch putinterval
} bind def
% string doheading
/doheading
{
/monthyr exch def
/TitleFont findfont
TitleSize scalefont setfont
monthyr stringwidth
/hgt exch def
2 div MaxX MinX add 2 div exch sub /x exch def
MaxY Border sub TitleSize sub /y exch def
newpath x y moveto monthyr show
newpath x y moveto monthyr false charpath flattenpath pathbbox
pop pop Border sub /y exch def pop
MinX y MaxX y L
/topy y def
/HeadFont findfont HeadSize scalefont setfont
% Do the days of the week
MaxX MinX sub 7 div /xincr exch def
/x MinX def
[(Sunday) (Monday) (Tuesday) (Wednesday) (Thursday) (Friday) (Saturday)]
{
HeadSize x y HeadSize 2 mul sub x xincr add y CenterText
x xincr add /x exch def
} forall
y HeadSize 2 mul sub /y exch def
MinX y MaxX y L
/ytop y def /ymin y def
}
def
/CenterText
{
/maxy exch def
/maxx exch def
/miny exch def
/minx exch def
/sz exch def
/str exch def
str stringwidth pop
2 div maxx minx add 2 div exch sub
sz 2 div maxy miny add 2 div exch sub
moveto str show
} def
% Variables:
% curline - a string holding the current line
% y - current y pos
% yincr - increment to next line
% xleft - left margin
% width - max width.
% EnterOneWord - given a word, enter it into the box.
% string EnterOneWord
/EnterOneWord {
{ EnterOneWordAux
{exit} if }
loop
} bind def
% EnterOneWordAux - if the word fits, enter it into box and return true.
% If it doesn't fit, put as much as will fit and return the string and false.
/EnterOneWordAux {
/word exch def
/tmpline curline word strcat def
tmpline stringwidth pop width gt
{MoveToNewLine}
{/curline tmpline ( ) strcat def /word () def}
ifelse
word () eq
{true}
{word false}
ifelse
} bind def
% MoveToNewLine - move to a new line, resetting word as appropriate
/MoveToNewLine {
curline () ne
{newpath xleft y moveto curline show /curline () def /y y yincr add def}
{ChopWord}
ifelse
} bind def
% ChopWord - word won't fit. Chop it and find biggest piece that will fit
/ChopWord {
/curline () def
/len word length def
/Fcount len 1 sub def
{
word 0 Fcount getinterval stringwidth pop width le
{exit} if
/Fcount Fcount 1 sub def
} loop
% Got the count. Display it and reset word
newpath xleft y moveto word 0 Fcount getinterval show
/y y yincr add def
/word word Fcount len Fcount sub getinterval def
} bind def
/FinishFormatting {
word () ne
{newpath xleft y moveto word show /word () def
/curline () def /y y yincr add def}
{curline () ne
{newpath xleft y moveto curline show /word () def
/curline () def /y y yincr add def} if}
ifelse
} bind def
% FillBoxWithText - fill a box with text
% text-array xleft width yincr y FillBoxWithText new-y
% Returns the new Y-coordinate.
/FillBoxWithText {
/y exch def
/yincr exch def
/width exch def
/xleft exch def
/curline () def
% The last two strings in the word array are actually the PostScript
% code to execute before and after the entry is printed.
dup dup
length 1 sub
get
exch
dup dup
length 2 sub
get
dup length 0 gt
{cvx exec} {pop} ifelse
dup length 2 sub 0 exch getinterval
{EnterOneWord} forall
FinishFormatting
dup length 0 gt
{cvx exec} {pop} ifelse
y
} bind def
% Variables for calendar boxes:
% ytop - current top position
% ymin - minimum y reached for current row
% border ytop xleft width textarray daynum DoCalBox ybot
% Do the entries for one calendar box. Returns lowest Y-coordinate reached
/DoCalBox {
/daynum exch def
/textarr exch def
/wid exch def
/xl exch def
/yt exch def
/border exch def
% Do the day number
/DayFont findfont DaySize scalefont setfont
xl wid add border sub daynum stringwidth pop sub
yt border sub DaySize sub moveto daynum show
% Do the text entries. Precharge the stack with current y pos.
/ycur yt border sub DaySize sub DaySize sub 2 add def
/EntryFont findfont EntrySize scalefont setfont
ycur
textarr
{ exch 2 sub /ycur exch def xl border add wid border sub border sub EntrySize 2 add neg
ycur FillBoxWithText }
forall
} bind def
2 setlinecap
% Define a default PreCal procedure
/PreCal { pop pop } bind def
/HeadFont /Helvetica copyFont
/SmallFont /Helvetica copyFont
/DayFont /Helvetica-BoldOblique copyFont
/EntryFont /Helvetica copyFont
/TitleFont /Helvetica copyFont
/HeadSize 14 def
/DaySize 14 def
/EntrySize 8 def
/TitleSize 14 def
/XSIZE 612 def
/MinX 36 def
/MinY 36 def
/MaxX 756 def
/MaxY 576 def
/Border 6 def
/LineWidth 1 def
1 setlinewidth
/SmallFont findfont /FontInfo get /isFixedPitch get
{/SmallString (WW ) def}
{/SmallString (WW) def}
ifelse
%%EndProlog
%%Page: Aug09 1
90 rotate 0 XSIZE neg translate
/SAVESTATE save def (August) (2009) PreCal SAVESTATE restore
(August 2009) doheading
/MinBoxSize ytop MinY sub 6 div def
/ysmalltop ytop def
/CAL1 {
Border ytop 6 xincr mul MinX add xincr
[
]
(1)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL1
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/ytop ylast def
CAL1
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL2 {
Border ytop 0 xincr mul MinX add xincr
[
]
(2)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL3 {
Border ytop 1 xincr mul MinX add xincr
[
]
(3)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL4 {
Border ytop 2 xincr mul MinX add xincr
[
]
(4)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL5 {
Border ytop 3 xincr mul MinX add xincr
[
]
(5)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL6 {
Border ytop 4 xincr mul MinX add xincr
[
]
(6)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL7 {
Border ytop 5 xincr mul MinX add xincr
[
]
(7)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL8 {
Border ytop 6 xincr mul MinX add xincr
[
]
(8)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL2
CAL3
CAL4
CAL5
CAL6
CAL7
CAL8
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray
(First-Bit-Of-PS)
(Second-Bit-Of-PS)
(Third-Bit-Of-PS)
(Fourth-Bit-Of-PS)
SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 0 360 arc closepath
stroke
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (20:56) show
grestore
SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/ytop ylast def
CAL2
CAL3
CAL4
CAL5
CAL6
CAL7
CAL8
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL9 {
Border ytop 0 xincr mul MinX add xincr
[
]
(9)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL10 {
Border ytop 1 xincr mul MinX add xincr
[
]
(10)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL11 {
Border ytop 2 xincr mul MinX add xincr
[
]
(11)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL12 {
Border ytop 3 xincr mul MinX add xincr
[
]
(12)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL13 {
Border ytop 4 xincr mul MinX add xincr
[
]
(13)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL14 {
Border ytop 5 xincr mul MinX add xincr
[
]
(14)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL15 {
Border ytop 6 xincr mul MinX add xincr
[
]
(15)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL9
CAL10
CAL11
CAL12
CAL13
CAL14
CAL15
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 0 360 arc closepath
stroke
newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 270 90 arc closepath fill
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (14:56) show
grestore
SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/ytop ylast def
CAL9
CAL10
CAL11
CAL12
CAL13
CAL14
CAL15
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL16 {
Border ytop 0 xincr mul MinX add xincr
[
]
(16)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL17 {
Border ytop 1 xincr mul MinX add xincr
[
]
(17)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL18 {
Border ytop 2 xincr mul MinX add xincr
[
]
(18)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL19 {
Border ytop 3 xincr mul MinX add xincr
[
]
(19)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL20 {
Border ytop 4 xincr mul MinX add xincr
[
]
(20)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL21 {
Border ytop 5 xincr mul MinX add xincr
[
]
(21)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL22 {
Border ytop 6 xincr mul MinX add xincr
[
]
(22)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL16
CAL17
CAL18
CAL19
CAL20
CAL21
CAL22
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 0 360 arc closepath
fill
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (06:02) show
grestore
SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/ytop ylast def
CAL16
CAL17
CAL18
CAL19
CAL20
CAL21
CAL22
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL23 {
Border ytop 0 xincr mul MinX add xincr
[
]
(23)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL24 {
Border ytop 1 xincr mul MinX add xincr
[
]
(24)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL25 {
Border ytop 2 xincr mul MinX add xincr
[
]
(25)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL26 {
Border ytop 3 xincr mul MinX add xincr
[
]
(26)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL27 {
Border ytop 4 xincr mul MinX add xincr
[
]
(27)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL28 {
Border ytop 5 xincr mul MinX add xincr
[
]
(28)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL29 {
Border ytop 6 xincr mul MinX add xincr
[
]
(29)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL23
CAL24
CAL25
CAL26
CAL27
CAL28
CAL29
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
2 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
3 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
4 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 1 setrgbcolor fill 0.0 setgray
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 0 360 arc closepath
stroke
newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
DaySize 2 div 90 270 arc closepath fill
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
/EntryFont findfont EntrySize scalefont setfont (07:42) show
grestore
SAVESTATE restore
/SAVESTATE save def
5 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 0.8 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
6 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 1 0.8 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/ytop ylast def
CAL23
CAL24
CAL25
CAL26
CAL27
CAL28
CAL29
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/CAL30 {
Border ytop 0 xincr mul MinX add xincr
[
]
(30)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
/CAL31 {
Border ytop 1 xincr mul MinX add xincr
[
]
(31)
DoCalBox
/y exch def y ymin lt {/ymin y def} if
} def
1 setgray
CAL30
CAL31
0 setgray
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/SAVESTATE save def
0 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
0.8 0.8 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/SAVESTATE save def
1 xincr mul MinX add ytop translate
/BoxWidth xincr def
/BoxHeight ylast ytop sub def
/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def
/_A LineWidth 2 div def _A _A moveto
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
_A BoxHeight _A sub lineto closepath
1 1 1 setrgbcolor fill 0.0 setgray
SAVESTATE restore
/ytop ylast def
CAL30
CAL31
/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if
MinX ymin MaxX ymin L
/ylast ytop def
/ytop ymin def
/ysmallbot ylast def
/ysmall1 ysmalltop def /ysmall2 ysmallbot def
0 xincr mul MinX add ymin 0 xincr mul MinX add topy L
1 xincr mul MinX add ymin 1 xincr mul MinX add topy L
2 xincr mul MinX add ymin 2 xincr mul MinX add topy L
3 xincr mul MinX add ymin 3 xincr mul MinX add topy L
4 xincr mul MinX add ymin 4 xincr mul MinX add topy L
5 xincr mul MinX add ymin 5 xincr mul MinX add topy L
6 xincr mul MinX add ymin 6 xincr mul MinX add topy L
7 xincr mul MinX add ymin 7 xincr mul MinX add topy L
/SmallFontSize MinBoxSize Border sub Border sub 8 div 2 sub def
/SmallFont findfont setfont
SmallString stringwidth pop /SmallWidth exch def
SmallWidth 7 mul xincr Border sub Border sub exch div /tmp exch def
tmp SmallFontSize lt {/SmallFontSize tmp def} if
/SmallFont findfont SmallFontSize scalefont setfont
SmallString stringwidth pop /SmallWidth exch def
gsave
0 xincr mul MinX add ysmall1 translate
SmallWidth 7 mul (July) stringwidth pop sub 2 div Border add Border neg SmallFontSize sub moveto (July) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (M) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (W) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (F) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (1) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (2) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (3) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (4) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (5) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (6) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (7) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (8) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (9) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (10) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (11) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (12) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (13) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (14) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (15) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (16) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (17) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (18) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (19) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (20) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (21) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (22) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (23) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (24) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (25) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (26) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (27) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (28) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (29) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (30) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (31) show
grestore
/SmallFontSize MinBoxSize Border sub Border sub 8 div 2 sub def
/SmallFont findfont setfont
SmallString stringwidth pop /SmallWidth exch def
SmallWidth 7 mul xincr Border sub Border sub exch div /tmp exch def
tmp SmallFontSize lt {/SmallFontSize tmp def} if
/SmallFont findfont SmallFontSize scalefont setfont
SmallString stringwidth pop /SmallWidth exch def
gsave
6 xincr mul MinX add ysmall2 translate
SmallWidth 7 mul (September) stringwidth pop sub 2 div Border add Border neg SmallFontSize sub moveto (September) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (M) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (W) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (F) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (1) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (2) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (3) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (4) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (5) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (6) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (7) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (8) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (9) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (10) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (11) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (12) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (13) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (14) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (15) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (16) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (17) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (18) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (19) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (20) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (21) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (22) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (23) show
Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (24) show
Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (25) show
Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (26) show
Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (27) show
Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (28) show
Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (29) show
Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (30) show
grestore
showpage
%%Trailer
%%Pages: 1