home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume40 / remind / patch11c < prev    next >
Encoding:
Text File  |  1993-11-26  |  44.1 KB  |  1,334 lines

  1. Newsgroups: comp.sources.misc
  2. From: dfs@doe.carleton.ca (David F. Skoll)
  3. Subject: v40i169:  remind - A replacement for calendar, Patch11c/5
  4. Message-ID: <1993Nov26.165754.5599@sparky.sterling.com>
  5. X-Md4-Signature: 9f529ae0f2d2d72fbbbb4180c102b96c
  6. Sender: kent@sparky.sterling.com (Kent Landfield)
  7. Reply-To: dfs@doe.carleton.ca (David F. Skoll)
  8. Organization: Carleton University
  9. Date: Fri, 26 Nov 1993 16:57:54 GMT
  10. Approved: kent@sparky.sterling.com
  11.  
  12. Submitted-by: dfs@doe.carleton.ca (David F. Skoll)
  13. Posting-number: Volume 40, Issue 169
  14. Archive-name: remind/patch11c
  15. Environment: UNIX, MS-DOS, OS/2
  16. Patch-To: remind: Volume 33, Issue 58-69
  17.  
  18. #!/bin/sh
  19. # this is Shar.03 (part 3 of Remind-3.0/Patch-11/part)
  20. # do not concatenate these parts, unpack them in order with /bin/sh
  21. # file patch.11 continued
  22. #
  23. if touch 2>&1 | fgrep 'amc' > /dev/null
  24.  then TOUCH=touch
  25.  else TOUCH=true
  26. fi
  27. if test ! -r shar3_seq_.tmp; then
  28.     echo "Please unpack part 1 first!"
  29.     exit 1
  30. fi
  31. (read Scheck
  32.  if test "$Scheck" != 3; then
  33.     echo "Please unpack part $Scheck next!"
  34.     exit 1
  35.  else
  36.     exit 0
  37.  fi
  38. ) < shar3_seq_.tmp || exit 1
  39. echo "x - Continuing file patch.11"
  40. sed 's/^X//' << 'SHAR_EOF' >> patch.11 &&
  41. X  in the \fIbody\fR of a \fBREM\fR command, returns that command's trigger date.
  42. X  .TP
  43. X  .B trigger(d_date [,t_time [,i_utcflag]])
  44. X! Returns a string suitable for use in a \fBREM\fR command, allowing you to
  45. X! calculate trigger dates in advance.  (See the section "Expression pasting"
  46. X! for more information.)  Normally, the \fIdate\fR and \fItime\fR are
  47. X! the local date and time; however, if \fIutcflag\fR is non-zero, the
  48. X! \fIdate\fR and \fItime\fR are interpreted as UTC times, and are
  49. X! converted to local time.  Examples:
  50. X  .RS
  51. X  .PP
  52. X  trigger('1993/04/01')
  53. X--- 2164,2178 ----
  54. X  in the \fIbody\fR of a \fBREM\fR command, returns that command's trigger date.
  55. X  .TP
  56. X  .B trigger(d_date [,t_time [,i_utcflag]])
  57. X! Returns a string suitable for use in a \fBREM\fR command, allowing you
  58. X! to calculate trigger dates in advance.  (See the section "Expression
  59. X! pasting" for more information.)  Note that \fBtrigger()\fR
  60. X! \fIalways\fR returns its result in English, even for foreign-language
  61. X! versions of \fBRemind\fR.  This is to avoid problems with certain C
  62. X! libraries which do not handle accented characters properly.  Normally,
  63. X! the \fIdate\fR and \fItime\fR are the local date and time; however, if
  64. X! \fIutcflag\fR is non-zero, the \fIdate\fR and \fItime\fR are
  65. X! interpreted as UTC times, and are converted to local time.  Examples:
  66. X  .RS
  67. X  .PP
  68. X  trigger('1993/04/01')
  69. X***************
  70. X*** 3129,3135 ****
  71. X  A foreign-language version of \fBRemind\fR will accept either the English
  72. X  or foreign-language names of weekdays and months in a reminder script.
  73. X  However, for compatibility between versions of \fBRemind\fR, you should
  74. X! use only the English names in your scripts.
  75. X  .PP
  76. X  .SH THE HEBREW CALENDAR
  77. X  .PP
  78. X--- 3141,3150 ----
  79. X  A foreign-language version of \fBRemind\fR will accept either the English
  80. X  or foreign-language names of weekdays and months in a reminder script.
  81. X  However, for compatibility between versions of \fBRemind\fR, you should
  82. X! use only the English names in your scripts.  Also, if your C compiler or
  83. X! run-time libraries are not "8-bit clean" or don't understand the ISO-Latin
  84. X! character set, month or day names with accented letters may not be
  85. X! recognized.
  86. X  .PP
  87. X  .SH THE HEBREW CALENDAR
  88. X  .PP
  89. X***************
  90. X*** 3499,3508 ****
  91. X  .PP
  92. X  David F. Skoll wrote \fBRemind\fR.  The moon code was copied largely
  93. X  unmodified from "moontool" by John Walker.  The Hebrew calendar
  94. X! support was taken from "hdate" by Amos Shapir.  The authors of the
  95. X! language files are listed in the header file "lang.h" which comes with
  96. X! \fBRemind\fR.  OS/2 support was provided initially by Darrel
  97. X! Hankerson; more complete OS/2 support was done by Russ Herman.
  98. X  .SH BUGS
  99. X  .PP
  100. X  There's no good reason why read-only system variables are not
  101. X--- 3514,3537 ----
  102. X  .PP
  103. X  David F. Skoll wrote \fBRemind\fR.  The moon code was copied largely
  104. X  unmodified from "moontool" by John Walker.  The Hebrew calendar
  105. X! support was taken from "hdate" by Amos Shapir.  OS/2 support was
  106. X! done by Darrel Hankerson, Russ Herman, and Norman Walsh.  The
  107. X! supported foreign languages and their translators are:
  108. X! .PP
  109. X! \fBGerman\fR --
  110. X! Wolfgang Thronicke
  111. X! .PP
  112. X! \fBDutch\fR --
  113. X! Willem Kasdorp and Erik-Jan Vens
  114. X! .PP
  115. X! \fBFinnish\fR --
  116. X! Mikko Silvonen
  117. X! .PP
  118. X! \fBFrench\fR --
  119. X! Laurent Duperval
  120. X! .PP
  121. X! \fBNorwegian\fR --
  122. X! Trygve Randen
  123. X  .SH BUGS
  124. X  .PP
  125. X  There's no good reason why read-only system variables are not
  126. X*** ../prev/sort.c    Tue Oct 19 11:19:14 1993
  127. X--- ./sort.c    Tue Nov 16 17:40:25 1993
  128. X***************
  129. X*** 166,186 ****
  130. X                IssueSortBanner(cur->trigdate);
  131. X            olddate = cur->trigdate;
  132. X                 }
  133. X- #ifdef __OS2__
  134. X-                PutlPopUp(cur->text);
  135. X- #else
  136. X                 printf("%s", cur->text);
  137. X- #endif
  138. X              }
  139. X          break;
  140. X  
  141. X       case MSF_TYPE:
  142. X! #ifdef __OS2__
  143. X!             StartPopUp();
  144. X! #endif
  145. X          FillParagraph(cur->text);
  146. X- #ifdef __OS2__
  147. X-             EndPopUp();
  148. X  #endif
  149. X          break;
  150. X  
  151. X--- 166,180 ----
  152. X                IssueSortBanner(cur->trigdate);
  153. X            olddate = cur->trigdate;
  154. X                 }
  155. X                 printf("%s", cur->text);
  156. X              }
  157. X          break;
  158. X  
  159. X       case MSF_TYPE:
  160. X! #ifdef OS2_POPUP
  161. X!         FillParagraph(cur->text, 0);
  162. X! #else
  163. X          FillParagraph(cur->text);
  164. X  #endif
  165. X          break;
  166. X  
  167. X***************
  168. X*** 224,230 ****
  169. X     if (DoCoerce(STR_TYPE, &v)) return;
  170. X     if (!DoSubstFromString(v.v.str, SubstBuffer, jul, NO_TIME))
  171. X        if (*SubstBuffer) printf("%s\n", SubstBuffer);
  172. X!    DestroyValue(&v);
  173. X  }
  174. X  
  175. X  /***************************************************************/
  176. X--- 218,224 ----
  177. X     if (DoCoerce(STR_TYPE, &v)) return;
  178. X     if (!DoSubstFromString(v.v.str, SubstBuffer, jul, NO_TIME))
  179. X        if (*SubstBuffer) printf("%s\n", SubstBuffer);
  180. X!    DestroyValue(v);
  181. X  }
  182. X  
  183. X  /***************************************************************/
  184. X*** ../prev/test-rem.bat    Wed Oct 20 15:10:42 1993
  185. X--- ./test-rem.bat    Mon Nov 15 14:25:36 1993
  186. X***************
  187. X*** 12,18 ****
  188. X--- 12,23 ----
  189. X  
  190. X  del test.out > nul
  191. X  set TEST_GETENV=foo bar baz
  192. X+ if exist ..\msdos-ex\remind.exe goto bcc
  193. X+ remind -e -dxte ./test.rem 16 feb 1991 > test.out
  194. X+ goto cmp
  195. X+ :bcc
  196. X  ..\msdos-ex\remind -e -dxte .\test.rem 16 feb 1991 > test.out
  197. X+ :cmp
  198. X  echo n | comp test.out test1.cmp
  199. X  if errorlevel 1 goto oops
  200. X  echo "Remind:  Acceptance test PASSED"
  201. X*** ../prev/test-rem.cmd    Wed Oct 20 15:10:33 1993
  202. X--- ./test-rem.cmd    Mon Nov 15 14:25:36 1993
  203. X***************
  204. X*** 13,19 ****
  205. X--- 13,24 ----
  206. X  del /f test.out > nul
  207. X  setlocal
  208. X  set TEST_GETENV=foo bar baz
  209. X+ if exist ..\os2-ex\remind.exe goto bcc
  210. X+ remind -e -dxte ./test.rem 16 feb 1991 > .\test.out
  211. X+ goto cmp
  212. X+ :bcc
  213. X  ..\os2-ex\remind -e -dxte .\test.rem 16 feb 1991 > .\test.out
  214. X+ :cmp
  215. X  echo n | comp test.out test2.cmp
  216. X  if errorlevel 1 goto oops
  217. X  echo "Remind:  Acceptance test PASSED"
  218. X*** ../prev/test.cmp    Tue Oct 12 16:22:53 1993
  219. X--- ./test.cmp    Thu Oct 21 12:39:24 1993
  220. X***************
  221. X*** 631,637 ****
  222. X  "a05" + "6" => "a056"
  223. X  value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  224. X  set a058 version()
  225. X! version() => "03.00.10"
  226. X  set a059 wkday(today())
  227. X  today() => 1991/02/16
  228. X  wkday(1991/02/16) => "Saturday"
  229. X--- 631,637 ----
  230. X  "a05" + "6" => "a056"
  231. X  value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  232. X  set a058 version()
  233. X! version() => "03.00.11"
  234. X  set a059 wkday(today())
  235. X  today() => 1991/02/16
  236. X  wkday(1991/02/16) => "Saturday"
  237. X***************
  238. X*** 772,778 ****
  239. X          a048  "foo"
  240. X          a067  "INT"
  241. X          a039  "February"
  242. X!         a058  "03.00.10"
  243. X          a077  "1992 92
  244. X  "
  245. X          a049  21
  246. X--- 772,778 ----
  247. X          a048  "foo"
  248. X          a067  "INT"
  249. X          a039  "February"
  250. X!         a058  "03.00.11"
  251. X          a077  "1992 92
  252. X  "
  253. X          a049  21
  254. X*** ../prev/test1.cmp    Wed Oct 13 10:50:25 1993
  255. X--- ./test1.cmp    Thu Oct 21 12:42:22 1993
  256. X***************
  257. X*** 6,12 ****
  258. X  #     ./test-rem  # From WITHIN Remind source directory!
  259. X  
  260. X  REM MSG Today is [hebday(today())] [hebmon(today())] [hebyear(today())]
  261. X! ./test.rem(8): Trig = Saturday, 16 February, 1991
  262. X  Reminders for Saturday, 16th February, 1991:
  263. X  
  264. X  today() => 1991/02/16
  265. X--- 6,12 ----
  266. X  #     ./test-rem  # From WITHIN Remind source directory!
  267. X  
  268. X  REM MSG Today is [hebday(today())] [hebmon(today())] [hebyear(today())]
  269. X! .\test.rem(8): Trig = Saturday, 16 February, 1991
  270. X  Reminders for Saturday, 16th February, 1991:
  271. X  
  272. X  today() => 1991/02/16
  273. X***************
  274. X*** 26,32 ****
  275. X  hebdate(1, "Tishrey") => 1991/09/09
  276. X  trigger(1991/09/09) => "9 September 1991"
  277. X  Leaving UserFN _h() => "9 September 1991"
  278. X! ./test.rem(11): Trig = Monday, 9 September, 1991
  279. X  [_h(2,  "Tishrey")] MSG Rosh Hashana 2
  280. X  Entering UserFN _h(2, "Tishrey")
  281. X  x => 2
  282. X--- 26,32 ----
  283. X  hebdate(1, "Tishrey") => 1991/09/09
  284. X  trigger(1991/09/09) => "9 September 1991"
  285. X  Leaving UserFN _h() => "9 September 1991"
  286. X! .\test.rem(11): Trig = Monday, 9 September, 1991
  287. X  [_h(2,  "Tishrey")] MSG Rosh Hashana 2
  288. X  Entering UserFN _h(2, "Tishrey")
  289. X  x => 2
  290. X***************
  291. X*** 34,40 ****
  292. X  hebdate(2, "Tishrey") => 1991/09/10
  293. X  trigger(1991/09/10) => "10 September 1991"
  294. X  Leaving UserFN _h() => "10 September 1991"
  295. X! ./test.rem(12): Trig = Tuesday, 10 September, 1991
  296. X  [_h(3,  "Tishrey")] MSG Tzom Gedalia
  297. X  Entering UserFN _h(3, "Tishrey")
  298. X  x => 3
  299. X--- 34,40 ----
  300. X  hebdate(2, "Tishrey") => 1991/09/10
  301. X  trigger(1991/09/10) => "10 September 1991"
  302. X  Leaving UserFN _h() => "10 September 1991"
  303. X! .\test.rem(12): Trig = Tuesday, 10 September, 1991
  304. X  [_h(3,  "Tishrey")] MSG Tzom Gedalia
  305. X  Entering UserFN _h(3, "Tishrey")
  306. X  x => 3
  307. X***************
  308. X*** 42,48 ****
  309. X  hebdate(3, "Tishrey") => 1991/09/11
  310. X  trigger(1991/09/11) => "11 September 1991"
  311. X  Leaving UserFN _h() => "11 September 1991"
  312. X! ./test.rem(13): Trig = Wednesday, 11 September, 1991
  313. X  [_h(10, "Tishrey")] MSG Yom Kippur
  314. X  Entering UserFN _h(10, "Tishrey")
  315. X  x => 10
  316. X--- 42,48 ----
  317. X  hebdate(3, "Tishrey") => 1991/09/11
  318. X  trigger(1991/09/11) => "11 September 1991"
  319. X  Leaving UserFN _h() => "11 September 1991"
  320. X! .\test.rem(13): Trig = Wednesday, 11 September, 1991
  321. X  [_h(10, "Tishrey")] MSG Yom Kippur
  322. X  Entering UserFN _h(10, "Tishrey")
  323. X  x => 10
  324. X***************
  325. X*** 50,56 ****
  326. X  hebdate(10, "Tishrey") => 1991/09/18
  327. X  trigger(1991/09/18) => "18 September 1991"
  328. X  Leaving UserFN _h() => "18 September 1991"
  329. X! ./test.rem(14): Trig = Wednesday, 18 September, 1991
  330. X  [_h(15, "Tishrey")] MSG Sukkot 1
  331. X  Entering UserFN _h(15, "Tishrey")
  332. X  x => 15
  333. X--- 50,56 ----
  334. X  hebdate(10, "Tishrey") => 1991/09/18
  335. X  trigger(1991/09/18) => "18 September 1991"
  336. X  Leaving UserFN _h() => "18 September 1991"
  337. X! .\test.rem(14): Trig = Wednesday, 18 September, 1991
  338. X  [_h(15, "Tishrey")] MSG Sukkot 1
  339. X  Entering UserFN _h(15, "Tishrey")
  340. X  x => 15
  341. X***************
  342. X*** 58,64 ****
  343. X  hebdate(15, "Tishrey") => 1991/09/23
  344. X  trigger(1991/09/23) => "23 September 1991"
  345. X  Leaving UserFN _h() => "23 September 1991"
  346. X! ./test.rem(15): Trig = Monday, 23 September, 1991
  347. X  [_h(25, "Kislev")]  MSG Channuka
  348. X  Entering UserFN _h(25, "Kislev")
  349. X  x => 25
  350. X--- 58,64 ----
  351. X  hebdate(15, "Tishrey") => 1991/09/23
  352. X  trigger(1991/09/23) => "23 September 1991"
  353. X  Leaving UserFN _h() => "23 September 1991"
  354. X! .\test.rem(15): Trig = Monday, 23 September, 1991
  355. X  [_h(25, "Kislev")]  MSG Channuka
  356. X  Entering UserFN _h(25, "Kislev")
  357. X  x => 25
  358. X***************
  359. X*** 66,72 ****
  360. X  hebdate(25, "Kislev") => 1991/12/02
  361. X  trigger(1991/12/02) => "2 December 1991"
  362. X  Leaving UserFN _h() => "2 December 1991"
  363. X! ./test.rem(16): Trig = Monday, 2 December, 1991
  364. X  [_h(10, "Tevet")]   MSG Asara B'Tevet
  365. X  Entering UserFN _h(10, "Tevet")
  366. X  x => 10
  367. X--- 66,72 ----
  368. X  hebdate(25, "Kislev") => 1991/12/02
  369. X  trigger(1991/12/02) => "2 December 1991"
  370. X  Leaving UserFN _h() => "2 December 1991"
  371. X! .\test.rem(16): Trig = Monday, 2 December, 1991
  372. X  [_h(10, "Tevet")]   MSG Asara B'Tevet
  373. X  Entering UserFN _h(10, "Tevet")
  374. X  x => 10
  375. X***************
  376. X*** 74,80 ****
  377. X  hebdate(10, "Tevet") => 1991/12/17
  378. X  trigger(1991/12/17) => "17 December 1991"
  379. X  Leaving UserFN _h() => "17 December 1991"
  380. X! ./test.rem(17): Trig = Tuesday, 17 December, 1991
  381. X  [_h(15, "Shvat")]   MSG Tu B'Shvat
  382. X  Entering UserFN _h(15, "Shvat")
  383. X  x => 15
  384. X--- 74,80 ----
  385. X  hebdate(10, "Tevet") => 1991/12/17
  386. X  trigger(1991/12/17) => "17 December 1991"
  387. X  Leaving UserFN _h() => "17 December 1991"
  388. X! .\test.rem(17): Trig = Tuesday, 17 December, 1991
  389. X  [_h(15, "Shvat")]   MSG Tu B'Shvat
  390. X  Entering UserFN _h(15, "Shvat")
  391. X  x => 15
  392. X***************
  393. X*** 82,88 ****
  394. X  hebdate(15, "Shvat") => 1992/01/20
  395. X  trigger(1992/01/20) => "20 January 1992"
  396. X  Leaving UserFN _h() => "20 January 1992"
  397. X! ./test.rem(18): Trig = Monday, 20 January, 1992
  398. X  [_h(15, "Adar A")]  MSG Purim Katan
  399. X  Entering UserFN _h(15, "Adar A")
  400. X  x => 15
  401. X--- 82,88 ----
  402. X  hebdate(15, "Shvat") => 1992/01/20
  403. X  trigger(1992/01/20) => "20 January 1992"
  404. X  Leaving UserFN _h() => "20 January 1992"
  405. X! .\test.rem(18): Trig = Monday, 20 January, 1992
  406. X  [_h(15, "Adar A")]  MSG Purim Katan
  407. X  Entering UserFN _h(15, "Adar A")
  408. X  x => 15
  409. X***************
  410. X*** 90,96 ****
  411. X  hebdate(15, "Adar A") => 1992/02/19
  412. X  trigger(1992/02/19) => "19 February 1992"
  413. X  Leaving UserFN _h() => "19 February 1992"
  414. X! ./test.rem(19): Trig = Wednesday, 19 February, 1992
  415. X  [_h(14, "Adar")]    MSG Purim
  416. X  Entering UserFN _h(14, "Adar")
  417. X  x => 14
  418. X--- 90,96 ----
  419. X  hebdate(15, "Adar A") => 1992/02/19
  420. X  trigger(1992/02/19) => "19 February 1992"
  421. X  Leaving UserFN _h() => "19 February 1992"
  422. X! .\test.rem(19): Trig = Wednesday, 19 February, 1992
  423. X  [_h(14, "Adar")]    MSG Purim
  424. X  Entering UserFN _h(14, "Adar")
  425. X  x => 14
  426. X***************
  427. X*** 98,104 ****
  428. X  hebdate(14, "Adar") => 1991/02/28
  429. X  trigger(1991/02/28) => "28 February 1991"
  430. X  Leaving UserFN _h() => "28 February 1991"
  431. X! ./test.rem(20): Trig = Thursday, 28 February, 1991
  432. X  [_h(15, "Nisan")]   MSG Pesach
  433. X  Entering UserFN _h(15, "Nisan")
  434. X  x => 15
  435. X--- 98,104 ----
  436. X  hebdate(14, "Adar") => 1991/02/28
  437. X  trigger(1991/02/28) => "28 February 1991"
  438. X  Leaving UserFN _h() => "28 February 1991"
  439. X! .\test.rem(20): Trig = Thursday, 28 February, 1991
  440. X  [_h(15, "Nisan")]   MSG Pesach
  441. X  Entering UserFN _h(15, "Nisan")
  442. X  x => 15
  443. X***************
  444. X*** 106,112 ****
  445. X  hebdate(15, "Nisan") => 1991/03/30
  446. X  trigger(1991/03/30) => "30 March 1991"
  447. X  Leaving UserFN _h() => "30 March 1991"
  448. X! ./test.rem(21): Trig = Saturday, 30 March, 1991
  449. X  [_h(27, "Nisan")]   MSG Yom HaShoah
  450. X  Entering UserFN _h(27, "Nisan")
  451. X  x => 27
  452. X--- 106,112 ----
  453. X  hebdate(15, "Nisan") => 1991/03/30
  454. X  trigger(1991/03/30) => "30 March 1991"
  455. X  Leaving UserFN _h() => "30 March 1991"
  456. X! .\test.rem(21): Trig = Saturday, 30 March, 1991
  457. X  [_h(27, "Nisan")]   MSG Yom HaShoah
  458. X  Entering UserFN _h(27, "Nisan")
  459. X  x => 27
  460. X***************
  461. X*** 114,120 ****
  462. X  hebdate(27, "Nisan") => 1991/04/11
  463. X  trigger(1991/04/11) => "11 April 1991"
  464. X  Leaving UserFN _h() => "11 April 1991"
  465. X! ./test.rem(22): Trig = Thursday, 11 April, 1991
  466. X  [_h(4,  "Iyar")]    MSG Yom HaZikaron
  467. X  Entering UserFN _h(4, "Iyar")
  468. X  x => 4
  469. X--- 114,120 ----
  470. X  hebdate(27, "Nisan") => 1991/04/11
  471. X  trigger(1991/04/11) => "11 April 1991"
  472. X  Leaving UserFN _h() => "11 April 1991"
  473. X! .\test.rem(22): Trig = Thursday, 11 April, 1991
  474. X  [_h(4,  "Iyar")]    MSG Yom HaZikaron
  475. X  Entering UserFN _h(4, "Iyar")
  476. X  x => 4
  477. X***************
  478. X*** 122,128 ****
  479. X  hebdate(4, "Iyar") => 1991/04/18
  480. X  trigger(1991/04/18) => "18 April 1991"
  481. X  Leaving UserFN _h() => "18 April 1991"
  482. X! ./test.rem(23): Trig = Thursday, 18 April, 1991
  483. X  [_h(5,  "Iyar")]    MSG Yom Ha'atzmaut
  484. X  Entering UserFN _h(5, "Iyar")
  485. X  x => 5
  486. X--- 122,128 ----
  487. X  hebdate(4, "Iyar") => 1991/04/18
  488. X  trigger(1991/04/18) => "18 April 1991"
  489. X  Leaving UserFN _h() => "18 April 1991"
  490. X! .\test.rem(23): Trig = Thursday, 18 April, 1991
  491. X  [_h(5,  "Iyar")]    MSG Yom Ha'atzmaut
  492. X  Entering UserFN _h(5, "Iyar")
  493. X  x => 5
  494. X***************
  495. X*** 130,136 ****
  496. X  hebdate(5, "Iyar") => 1991/04/19
  497. X  trigger(1991/04/19) => "19 April 1991"
  498. X  Leaving UserFN _h() => "19 April 1991"
  499. X! ./test.rem(24): Trig = Friday, 19 April, 1991
  500. X  [_h(28, "Iyar")]    MSG Yom Yerushalayim
  501. X  Entering UserFN _h(28, "Iyar")
  502. X  x => 28
  503. X--- 130,136 ----
  504. X  hebdate(5, "Iyar") => 1991/04/19
  505. X  trigger(1991/04/19) => "19 April 1991"
  506. X  Leaving UserFN _h() => "19 April 1991"
  507. X! .\test.rem(24): Trig = Friday, 19 April, 1991
  508. X  [_h(28, "Iyar")]    MSG Yom Yerushalayim
  509. X  Entering UserFN _h(28, "Iyar")
  510. X  x => 28
  511. X***************
  512. X*** 138,144 ****
  513. X  hebdate(28, "Iyar") => 1991/05/12
  514. X  trigger(1991/05/12) => "12 May 1991"
  515. X  Leaving UserFN _h() => "12 May 1991"
  516. X! ./test.rem(25): Trig = Sunday, 12 May, 1991
  517. X  [_h(6,  "Sivan")]   MSG Shavuot
  518. X  Entering UserFN _h(6, "Sivan")
  519. X  x => 6
  520. X--- 138,144 ----
  521. X  hebdate(28, "Iyar") => 1991/05/12
  522. X  trigger(1991/05/12) => "12 May 1991"
  523. X  Leaving UserFN _h() => "12 May 1991"
  524. X! .\test.rem(25): Trig = Sunday, 12 May, 1991
  525. X  [_h(6,  "Sivan")]   MSG Shavuot
  526. X  Entering UserFN _h(6, "Sivan")
  527. X  x => 6
  528. X***************
  529. X*** 146,152 ****
  530. X  hebdate(6, "Sivan") => 1991/05/19
  531. X  trigger(1991/05/19) => "19 May 1991"
  532. X  Leaving UserFN _h() => "19 May 1991"
  533. X! ./test.rem(26): Trig = Sunday, 19 May, 1991
  534. X  [_h(9,  "Av")]      MSG Tish'a B'Av
  535. X  Entering UserFN _h(9, "Av")
  536. X  x => 9
  537. X--- 146,152 ----
  538. X  hebdate(6, "Sivan") => 1991/05/19
  539. X  trigger(1991/05/19) => "19 May 1991"
  540. X  Leaving UserFN _h() => "19 May 1991"
  541. X! .\test.rem(26): Trig = Sunday, 19 May, 1991
  542. X  [_h(9,  "Av")]      MSG Tish'a B'Av
  543. X  Entering UserFN _h(9, "Av")
  544. X  x => 9
  545. X***************
  546. X*** 154,160 ****
  547. X  hebdate(9, "Av") => 1991/07/20
  548. X  trigger(1991/07/20) => "20 July 1991"
  549. X  Leaving UserFN _h() => "20 July 1991"
  550. X! ./test.rem(27): Trig = Saturday, 20 July, 1991
  551. X  
  552. X  # Test some jahrzeit cases
  553. X  fset _i(x,y,z,a) trigger(hebdate(x,y,z,a))
  554. X--- 154,160 ----
  555. X  hebdate(9, "Av") => 1991/07/20
  556. X  trigger(1991/07/20) => "20 July 1991"
  557. X  Leaving UserFN _h() => "20 July 1991"
  558. X! .\test.rem(27): Trig = Saturday, 20 July, 1991
  559. X  
  560. X  # Test some jahrzeit cases
  561. X  fset _i(x,y,z,a) trigger(hebdate(x,y,z,a))
  562. X***************
  563. X*** 168,174 ****
  564. X  hebdate(30, "Heshvan", 1991/02/16, 5759) => 1991/11/07
  565. X  trigger(1991/11/07) => "7 November 1991"
  566. X  Leaving UserFN _i() => "7 November 1991"
  567. X! ./test.rem(31): Trig = Thursday, 7 November, 1991
  568. X  [_i(30, "Heshvan", today(), 5760)] MSG Complete-Defective
  569. X  today() => 1991/02/16
  570. X  Entering UserFN _i(30, "Heshvan", 1991/02/16, 5760)
  571. X--- 168,174 ----
  572. X  hebdate(30, "Heshvan", 1991/02/16, 5759) => 1991/11/07
  573. X  trigger(1991/11/07) => "7 November 1991"
  574. X  Leaving UserFN _i() => "7 November 1991"
  575. X! .\test.rem(31): Trig = Thursday, 7 November, 1991
  576. X  [_i(30, "Heshvan", today(), 5760)] MSG Complete-Defective
  577. X  today() => 1991/02/16
  578. X  Entering UserFN _i(30, "Heshvan", 1991/02/16, 5760)
  579. X***************
  580. X*** 179,185 ****
  581. X  hebdate(30, "Heshvan", 1991/02/16, 5760) => 1991/11/07
  582. X  trigger(1991/11/07) => "7 November 1991"
  583. X  Leaving UserFN _i() => "7 November 1991"
  584. X! ./test.rem(32): Trig = Thursday, 7 November, 1991
  585. X  [_i(30, "Heshvan", today(), 5761)] MSG Illegal
  586. X  today() => 1991/02/16
  587. X  Entering UserFN _i(30, "Heshvan", 1991/02/16, 5761)
  588. X--- 179,185 ----
  589. X  hebdate(30, "Heshvan", 1991/02/16, 5760) => 1991/11/07
  590. X  trigger(1991/11/07) => "7 November 1991"
  591. X  Leaving UserFN _i() => "7 November 1991"
  592. X! .\test.rem(32): Trig = Thursday, 7 November, 1991
  593. X  [_i(30, "Heshvan", today(), 5761)] MSG Illegal
  594. X  today() => 1991/02/16
  595. X  Entering UserFN _i(30, "Heshvan", 1991/02/16, 5761)
  596. X***************
  597. X*** 187,193 ****
  598. X  y => "Heshvan"
  599. X  z => 1991/02/16
  600. X  a => 5761
  601. X! hebdate(30, "Heshvan", 1991/02/16, 5761) => ./test.rem(33): 30 Heshvan 5761: Invalid Hebrew date
  602. X  Invalid Hebrew date
  603. X  Leaving UserFN _i() => Invalid Hebrew date
  604. X  
  605. X--- 187,193 ----
  606. X  y => "Heshvan"
  607. X  z => 1991/02/16
  608. X  a => 5761
  609. X! hebdate(30, "Heshvan", 1991/02/16, 5761) => .\test.rem(33): 30 Heshvan 5761: Invalid Hebrew date
  610. X  Invalid Hebrew date
  611. X  Leaving UserFN _i() => Invalid Hebrew date
  612. X  
  613. X***************
  614. X*** 201,207 ****
  615. X  hebdate(30, "Kislev", 1991/02/16, 5759) => 1991/12/07
  616. X  trigger(1991/12/07) => "7 December 1991"
  617. X  Leaving UserFN _i() => "7 December 1991"
  618. X! ./test.rem(35): Trig = Saturday, 7 December, 1991
  619. X  [_i(30, "Kislev", today(), 5760)] MSG Complete-Defective
  620. X  today() => 1991/02/16
  621. X  Entering UserFN _i(30, "Kislev", 1991/02/16, 5760)
  622. X--- 201,207 ----
  623. X  hebdate(30, "Kislev", 1991/02/16, 5759) => 1991/12/07
  624. X  trigger(1991/12/07) => "7 December 1991"
  625. X  Leaving UserFN _i() => "7 December 1991"
  626. X! .\test.rem(35): Trig = Saturday, 7 December, 1991
  627. X  [_i(30, "Kislev", today(), 5760)] MSG Complete-Defective
  628. X  today() => 1991/02/16
  629. X  Entering UserFN _i(30, "Kislev", 1991/02/16, 5760)
  630. X***************
  631. X*** 212,218 ****
  632. X  hebdate(30, "Kislev", 1991/02/16, 5760) => 1991/12/07
  633. X  trigger(1991/12/07) => "7 December 1991"
  634. X  Leaving UserFN _i() => "7 December 1991"
  635. X! ./test.rem(36): Trig = Saturday, 7 December, 1991
  636. X  [_i(30, "Kislev", today(), 5761)] MSG Illegal
  637. X  today() => 1991/02/16
  638. X  Entering UserFN _i(30, "Kislev", 1991/02/16, 5761)
  639. X--- 212,218 ----
  640. X  hebdate(30, "Kislev", 1991/02/16, 5760) => 1991/12/07
  641. X  trigger(1991/12/07) => "7 December 1991"
  642. X  Leaving UserFN _i() => "7 December 1991"
  643. X! .\test.rem(36): Trig = Saturday, 7 December, 1991
  644. X  [_i(30, "Kislev", today(), 5761)] MSG Illegal
  645. X  today() => 1991/02/16
  646. X  Entering UserFN _i(30, "Kislev", 1991/02/16, 5761)
  647. X***************
  648. X*** 220,226 ****
  649. X  y => "Kislev"
  650. X  z => 1991/02/16
  651. X  a => 5761
  652. X! hebdate(30, "Kislev", 1991/02/16, 5761) => ./test.rem(37): 30 Kislev 5761: Invalid Hebrew date
  653. X  Invalid Hebrew date
  654. X  Leaving UserFN _i() => Invalid Hebrew date
  655. X  
  656. X--- 220,226 ----
  657. X  y => "Kislev"
  658. X  z => 1991/02/16
  659. X  a => 5761
  660. X! hebdate(30, "Kislev", 1991/02/16, 5761) => .\test.rem(37): 30 Kislev 5761: Invalid Hebrew date
  661. X  Invalid Hebrew date
  662. X  Leaving UserFN _i() => Invalid Hebrew date
  663. X  
  664. X***************
  665. X*** 234,240 ****
  666. X  hebdate(30, "Adar A", 1991/02/16, 5755) => 1992/03/05
  667. X  trigger(1992/03/05) => "5 March 1992"
  668. X  Leaving UserFN _i() => "5 March 1992"
  669. X! ./test.rem(39): Trig = Thursday, 5 March, 1992
  670. X  [_i(30, "Adar A", today(), 5756)] MSG Illegal
  671. X  today() => 1991/02/16
  672. X  Entering UserFN _i(30, "Adar A", 1991/02/16, 5756)
  673. X--- 234,240 ----
  674. X  hebdate(30, "Adar A", 1991/02/16, 5755) => 1992/03/05
  675. X  trigger(1992/03/05) => "5 March 1992"
  676. X  Leaving UserFN _i() => "5 March 1992"
  677. X! .\test.rem(39): Trig = Thursday, 5 March, 1992
  678. X  [_i(30, "Adar A", today(), 5756)] MSG Illegal
  679. X  today() => 1991/02/16
  680. X  Entering UserFN _i(30, "Adar A", 1991/02/16, 5756)
  681. X***************
  682. X*** 242,248 ****
  683. X  y => "Adar A"
  684. X  z => 1991/02/16
  685. X  a => 5756
  686. X! hebdate(30, "Adar A", 1991/02/16, 5756) => ./test.rem(40): No Adar A in 5756
  687. X  Invalid Hebrew date
  688. X  Leaving UserFN _i() => Invalid Hebrew date
  689. X  [_i(29, "Adar A", today(), 5755)] MSG Leap
  690. X--- 242,248 ----
  691. X  y => "Adar A"
  692. X  z => 1991/02/16
  693. X  a => 5756
  694. X! hebdate(30, "Adar A", 1991/02/16, 5756) => .\test.rem(40): No Adar A in 5756
  695. X  Invalid Hebrew date
  696. X  Leaving UserFN _i() => Invalid Hebrew date
  697. X  [_i(29, "Adar A", today(), 5755)] MSG Leap
  698. X***************
  699. X*** 255,261 ****
  700. X  hebdate(29, "Adar A", 1991/02/16, 5755) => 1991/03/15
  701. X  trigger(1991/03/15) => "15 March 1991"
  702. X  Leaving UserFN _i() => "15 March 1991"
  703. X! ./test.rem(41): Trig = Friday, 15 March, 1991
  704. X  [_i(29, "Adar A", today(), 5756)] MSG Illegal
  705. X  today() => 1991/02/16
  706. X  Entering UserFN _i(29, "Adar A", 1991/02/16, 5756)
  707. X--- 255,261 ----
  708. X  hebdate(29, "Adar A", 1991/02/16, 5755) => 1991/03/15
  709. X  trigger(1991/03/15) => "15 March 1991"
  710. X  Leaving UserFN _i() => "15 March 1991"
  711. X! .\test.rem(41): Trig = Friday, 15 March, 1991
  712. X  [_i(29, "Adar A", today(), 5756)] MSG Illegal
  713. X  today() => 1991/02/16
  714. X  Entering UserFN _i(29, "Adar A", 1991/02/16, 5756)
  715. X***************
  716. X*** 263,269 ****
  717. X  y => "Adar A"
  718. X  z => 1991/02/16
  719. X  a => 5756
  720. X! hebdate(29, "Adar A", 1991/02/16, 5756) => ./test.rem(42): No Adar A in 5756
  721. X  Invalid Hebrew date
  722. X  Leaving UserFN _i() => Invalid Hebrew date
  723. X  
  724. X--- 263,269 ----
  725. X  y => "Adar A"
  726. X  z => 1991/02/16
  727. X  a => 5756
  728. X! hebdate(29, "Adar A", 1991/02/16, 5756) => .\test.rem(42): No Adar A in 5756
  729. X  Invalid Hebrew date
  730. X  Leaving UserFN _i() => Invalid Hebrew date
  731. X  
  732. X***************
  733. X*** 270,483 ****
  734. X  # Test each possible case of the basic reminders.
  735. X  
  736. X  REM MSG Every Day
  737. X! ./test.rem(46): Trig = Saturday, 16 February, 1991
  738. X  Every Day
  739. X  
  740. X  
  741. X  REM 18 MSG Every 18th 
  742. X! ./test.rem(48): Trig = Monday, 18 February, 1991
  743. X  REM 15 MSG Every 15th
  744. X! ./test.rem(49): Trig = Friday, 15 March, 1991
  745. X  
  746. X  REM Feb MSG February
  747. X! ./test.rem(51): Trig = Saturday, 16 February, 1991
  748. X  February
  749. X  
  750. X  REM Jan MSG January
  751. X! ./test.rem(52): Trig = Wednesday, 1 January, 1992
  752. X  REM March MSG March
  753. X! ./test.rem(53): Trig = Friday, 1 March, 1991
  754. X  
  755. X  REM 13 Jan MSG 13 Jan
  756. X! ./test.rem(55): Trig = Monday, 13 January, 1992
  757. X  REM 15 Feb MSG 15 Feb
  758. X! ./test.rem(56): Trig = Saturday, 15 February, 1992
  759. X  REM 28 Feb MSG 28 Feb
  760. X! ./test.rem(57): Trig = Thursday, 28 February, 1991
  761. X  REM 29 Feb MSG 29 Feb
  762. X! ./test.rem(58): Trig = Saturday, 29 February, 1992
  763. X  REM 5 Mar MSG 5 Mar
  764. X! ./test.rem(59): Trig = Tuesday, 5 March, 1991
  765. X  
  766. X  REM 1990 MSG 1990
  767. X! ./test.rem(61): Expired
  768. X  REM 1991 MSG 1991
  769. X! ./test.rem(62): Trig = Saturday, 16 February, 1991
  770. X  1991
  771. X  
  772. X  REM 1992 MSG 1991
  773. X! ./test.rem(63): Trig = Wednesday, 1 January, 1992
  774. X  
  775. X  REM 1 1990 MSG 1 1990
  776. X! ./test.rem(65): Expired
  777. X  REM 29 1991 MSG 29 1991
  778. X! ./test.rem(66): Trig = Friday, 29 March, 1991
  779. X  REM 29 1992 MSG 29 1992
  780. X! ./test.rem(67): Trig = Wednesday, 29 January, 1992
  781. X  REM 16 1991 MSG 16 1991
  782. X! ./test.rem(68): Trig = Saturday, 16 February, 1991
  783. X  16 1991
  784. X  
  785. X  
  786. X  REM Jan 1990 MSG Jan 1990
  787. X! ./test.rem(70): Expired
  788. X  REM Feb 1991 MSG Feb 1991
  789. X! ./test.rem(71): Trig = Saturday, 16 February, 1991
  790. X  Feb 1991
  791. X  
  792. X  REM Dec 1991 MSG Dec 1991
  793. X! ./test.rem(72): Trig = Sunday, 1 December, 1991
  794. X  REM May 1992 MSG May 1992
  795. X! ./test.rem(73): Trig = Friday, 1 May, 1992
  796. X  
  797. X  REM 1 Jan 1991 MSG 1 Jan 1991
  798. X! ./test.rem(75): Expired
  799. X  REM 16 Feb 1991 MSG 16 Feb 1991
  800. X! ./test.rem(76): Trig = Saturday, 16 February, 1991
  801. X  16 Feb 1991
  802. X  
  803. X  REM 29 Dec 1992 MSG 29 Dec 1992
  804. X! ./test.rem(77): Trig = Tuesday, 29 December, 1992
  805. X  
  806. X  REM Sun MSG Sun
  807. X! ./test.rem(79): Trig = Sunday, 17 February, 1991
  808. X  REM Fri Sat Tue MSG Fri Sat Tue
  809. X! ./test.rem(80): Trig = Saturday, 16 February, 1991
  810. X  Fri Sat Tue
  811. X  
  812. X  
  813. X  REM Sun 16 MSG Sun 16
  814. X! ./test.rem(82): Trig = Sunday, 17 February, 1991
  815. X  REM Mon Tue Wed Thu Fri 1 MSG Mon Tue Wed Thu Fri 1
  816. X! ./test.rem(83): Trig = Friday, 1 March, 1991
  817. X  
  818. X  REM Sun Feb MSG Sun Feb
  819. X! ./test.rem(85): Trig = Sunday, 17 February, 1991
  820. X  REM Mon Tue March MSG Mon Tue March
  821. X! ./test.rem(86): Trig = Monday, 4 March, 1991
  822. X  
  823. X  REM Sun 16 Feb MSG Sun 16 Feb
  824. X! ./test.rem(88): Trig = Sunday, 17 February, 1991
  825. X  REM Mon Tue 10 March MSG Mon Tue 10 March
  826. X! ./test.rem(89): Trig = Monday, 11 March, 1991
  827. X  
  828. X  REM Sat Sun 1991 MSG Sat Sun 1991
  829. X! ./test.rem(91): Trig = Saturday, 16 February, 1991
  830. X  Sat Sun 1991
  831. X  
  832. X  REM Mon Tue 1992 MSG Mon Tue 1992
  833. X! ./test.rem(92): Trig = Monday, 6 January, 1992
  834. X  
  835. X  REM Sun 16 1991 MSG Sun 16 1991
  836. X! ./test.rem(94): Trig = Sunday, 17 February, 1991
  837. X  REM Mon Tue Wed Thu Fri 1 1992 MSG Mon Tue Wed Thu Fri 1 1992
  838. X! ./test.rem(95): Trig = Wednesday, 1 January, 1992
  839. X  
  840. X  REM Mon Feb 1991 MSG Mon Feb 1991
  841. X! ./test.rem(97): Trig = Monday, 18 February, 1991
  842. X  REM Tue Jan 1992 MSG Tue Jan 1992
  843. X! ./test.rem(98): Trig = Tuesday, 7 January, 1992
  844. X  
  845. X  REM Sun Mon 16 Feb 1991 MSG Sun Mon 16 Feb 1991
  846. X! ./test.rem(100): Trig = Sunday, 17 February, 1991
  847. X  REM Tue 28 Jan 1992 MSG Tue 28 Jan 1992
  848. X! ./test.rem(101): Trig = Tuesday, 28 January, 1992
  849. X  
  850. X  # Try some Backs
  851. X  CLEAR-OMIT-CONTEXT
  852. X  REM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun
  853. X! ./test.rem(105): Trig = Thursday, 28 February, 1991
  854. X  REM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun
  855. X! ./test.rem(106): Trig = Thursday, 28 February, 1991
  856. X  
  857. X  OMIT 28 Feb
  858. X  REM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun (28 Feb omitted)
  859. X! ./test.rem(109): Trig = Wednesday, 27 February, 1991
  860. X  REM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun (28 Feb omitted)
  861. X! ./test.rem(110): Trig = Thursday, 28 February, 1991
  862. X  
  863. X  CLEAR-OMIT-CONTEXT
  864. X  
  865. X  # Try out UNTIL
  866. X  REM Wed UNTIL 21 Feb 1991 MSG Wed UNTIL 21 Feb 1991
  867. X! ./test.rem(115): Trig = Wednesday, 20 February, 1991
  868. X  
  869. X  # Try playing with the OMIT context
  870. X  
  871. X  OMIT 28 Feb 1991
  872. X  REM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
  873. X! ./test.rem(120): Trig = Wednesday, 27 February, 1991
  874. X  REM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
  875. X! ./test.rem(121): Trig = Thursday, 28 February, 1991
  876. X  REM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
  877. X! ./test.rem(122): Trig = Wednesday, 27 February, 1991
  878. X  REM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
  879. X! ./test.rem(123): Trig = Friday, 28 February, 1992
  880. X  REM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
  881. X! ./test.rem(124): Trig = Friday, 1 March, 1991
  882. X  
  883. X  PUSH-OMIT-CONTEXT
  884. X  CLEAR-OMIT-CONTEXT
  885. X  REM 1 Mar -1 MSG 1 mar -1
  886. X! ./test.rem(128): Trig = Thursday, 28 February, 1991
  887. X  REM 1 Mar --1 MSG 1 mar --1
  888. X! ./test.rem(129): Trig = Thursday, 28 February, 1991
  889. X  REM 28 Feb BEFORE MSG 28 Feb BEFORE
  890. X! ./test.rem(130): Trig = Thursday, 28 February, 1991
  891. X  REM 28 Feb SKIP MSG 28 Feb SKIP 
  892. X! ./test.rem(131): Trig = Thursday, 28 February, 1991
  893. X  REM 28 Feb AFTER MSG 28 Feb AFTER
  894. X! ./test.rem(132): Trig = Thursday, 28 February, 1991
  895. X  
  896. X  POP-OMIT-CONTEXT
  897. X  REM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
  898. X! ./test.rem(135): Trig = Wednesday, 27 February, 1991
  899. X  REM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
  900. X! ./test.rem(136): Trig = Thursday, 28 February, 1991
  901. X  REM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
  902. X! ./test.rem(137): Trig = Wednesday, 27 February, 1991
  903. X  REM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
  904. X! ./test.rem(138): Trig = Friday, 28 February, 1992
  905. X  REM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
  906. X! ./test.rem(139): Trig = Friday, 1 March, 1991
  907. X  
  908. X  
  909. X  REM 13 March 1991 *1 UNTIL 19 March 1991 MSG 13-19 Mar 91
  910. X! ./test.rem(142): Trig = Wednesday, 13 March, 1991
  911. X   
  912. X  # Test BACK
  913. X  CLEAR-OMIT-CONTEXT
  914. X  REM 18 Feb 1991 +1 MSG 18 Feb 1991 +1
  915. X! ./test.rem(146): Trig = Monday, 18 February, 1991
  916. X  
  917. X  OMIT 17 Feb 1991
  918. X  REM 18 Feb 1991 +1 MSG 18 Feb 1991 +1 (17Feb91 omitted)
  919. X! ./test.rem(149): Trig = Monday, 18 February, 1991
  920. X  18 Feb 1991 +1 (17Feb91 omitted)
  921. X  
  922. X  REM 18 Feb 1991 ++1 MSG 18 Feb 1991 ++1 (17Feb91 omitted)
  923. X! ./test.rem(150): Trig = Monday, 18 February, 1991
  924. X  
  925. X  CLEAR-OMIT-CONTEXT
  926. X  # Test the scanfrom clause
  927. X  REM Fri SATISFY 1
  928. X! ./test.rem(154): Trig = Friday, 22 February, 1991
  929. X  OMIT [trigger(trigdate())]
  930. X  trigdate() => 1991/02/22
  931. X  trigger(1991/02/22) => "22 February 1991"
  932. X  REM Fri after MSG 23 Feb 1991
  933. X! ./test.rem(156): Trig = Saturday, 23 February, 1991
  934. X  CLEAR-OMIT-CONTEXT
  935. X  REM Fri SCANFROM [trigger(today()-7)] SATISFY 1
  936. X  today() => 1991/02/16
  937. X  1991/02/16 - 7 => 1991/02/09
  938. X  trigger(1991/02/09) => "9 February 1991"
  939. X! ./test.rem(158): Trig = Friday, 15 February, 1991
  940. X  OMIT [trigger(trigdate())]
  941. X  trigdate() => 1991/02/15
  942. X  trigger(1991/02/15) => "15 February 1991"
  943. X  REM Fri after MSG 16 Feb 1991
  944. X! ./test.rem(160): Trig = Saturday, 16 February, 1991
  945. X  16 Feb 1991
  946. X  
  947. X  CLEAR-OMIT-CONTEXT
  948. X--- 270,483 ----
  949. X  # Test each possible case of the basic reminders.
  950. X  
  951. X  REM MSG Every Day
  952. X! .\test.rem(46): Trig = Saturday, 16 February, 1991
  953. X  Every Day
  954. X  
  955. X  
  956. X  REM 18 MSG Every 18th 
  957. X! .\test.rem(48): Trig = Monday, 18 February, 1991
  958. X  REM 15 MSG Every 15th
  959. X! .\test.rem(49): Trig = Friday, 15 March, 1991
  960. X  
  961. X  REM Feb MSG February
  962. X! .\test.rem(51): Trig = Saturday, 16 February, 1991
  963. X  February
  964. X  
  965. X  REM Jan MSG January
  966. X! .\test.rem(52): Trig = Wednesday, 1 January, 1992
  967. X  REM March MSG March
  968. X! .\test.rem(53): Trig = Friday, 1 March, 1991
  969. X  
  970. X  REM 13 Jan MSG 13 Jan
  971. X! .\test.rem(55): Trig = Monday, 13 January, 1992
  972. X  REM 15 Feb MSG 15 Feb
  973. X! .\test.rem(56): Trig = Saturday, 15 February, 1992
  974. X  REM 28 Feb MSG 28 Feb
  975. X! .\test.rem(57): Trig = Thursday, 28 February, 1991
  976. X  REM 29 Feb MSG 29 Feb
  977. X! .\test.rem(58): Trig = Saturday, 29 February, 1992
  978. X  REM 5 Mar MSG 5 Mar
  979. X! .\test.rem(59): Trig = Tuesday, 5 March, 1991
  980. X  
  981. X  REM 1990 MSG 1990
  982. X! .\test.rem(61): Expired
  983. X  REM 1991 MSG 1991
  984. X! .\test.rem(62): Trig = Saturday, 16 February, 1991
  985. X  1991
  986. X  
  987. X  REM 1992 MSG 1991
  988. X! .\test.rem(63): Trig = Wednesday, 1 January, 1992
  989. X  
  990. X  REM 1 1990 MSG 1 1990
  991. X! .\test.rem(65): Expired
  992. X  REM 29 1991 MSG 29 1991
  993. X! .\test.rem(66): Trig = Friday, 29 March, 1991
  994. X  REM 29 1992 MSG 29 1992
  995. X! .\test.rem(67): Trig = Wednesday, 29 January, 1992
  996. X  REM 16 1991 MSG 16 1991
  997. X! .\test.rem(68): Trig = Saturday, 16 February, 1991
  998. X  16 1991
  999. X  
  1000. X  
  1001. X  REM Jan 1990 MSG Jan 1990
  1002. X! .\test.rem(70): Expired
  1003. X  REM Feb 1991 MSG Feb 1991
  1004. X! .\test.rem(71): Trig = Saturday, 16 February, 1991
  1005. X  Feb 1991
  1006. X  
  1007. X  REM Dec 1991 MSG Dec 1991
  1008. X! .\test.rem(72): Trig = Sunday, 1 December, 1991
  1009. X  REM May 1992 MSG May 1992
  1010. X! .\test.rem(73): Trig = Friday, 1 May, 1992
  1011. X  
  1012. X  REM 1 Jan 1991 MSG 1 Jan 1991
  1013. X! .\test.rem(75): Expired
  1014. X  REM 16 Feb 1991 MSG 16 Feb 1991
  1015. X! .\test.rem(76): Trig = Saturday, 16 February, 1991
  1016. X  16 Feb 1991
  1017. X  
  1018. X  REM 29 Dec 1992 MSG 29 Dec 1992
  1019. X! .\test.rem(77): Trig = Tuesday, 29 December, 1992
  1020. X  
  1021. X  REM Sun MSG Sun
  1022. X! .\test.rem(79): Trig = Sunday, 17 February, 1991
  1023. X  REM Fri Sat Tue MSG Fri Sat Tue
  1024. X! .\test.rem(80): Trig = Saturday, 16 February, 1991
  1025. X  Fri Sat Tue
  1026. X  
  1027. X  
  1028. X  REM Sun 16 MSG Sun 16
  1029. X! .\test.rem(82): Trig = Sunday, 17 February, 1991
  1030. X  REM Mon Tue Wed Thu Fri 1 MSG Mon Tue Wed Thu Fri 1
  1031. X! .\test.rem(83): Trig = Friday, 1 March, 1991
  1032. X  
  1033. X  REM Sun Feb MSG Sun Feb
  1034. X! .\test.rem(85): Trig = Sunday, 17 February, 1991
  1035. X  REM Mon Tue March MSG Mon Tue March
  1036. X! .\test.rem(86): Trig = Monday, 4 March, 1991
  1037. X  
  1038. X  REM Sun 16 Feb MSG Sun 16 Feb
  1039. X! .\test.rem(88): Trig = Sunday, 17 February, 1991
  1040. X  REM Mon Tue 10 March MSG Mon Tue 10 March
  1041. X! .\test.rem(89): Trig = Monday, 11 March, 1991
  1042. X  
  1043. X  REM Sat Sun 1991 MSG Sat Sun 1991
  1044. X! .\test.rem(91): Trig = Saturday, 16 February, 1991
  1045. X  Sat Sun 1991
  1046. X  
  1047. X  REM Mon Tue 1992 MSG Mon Tue 1992
  1048. X! .\test.rem(92): Trig = Monday, 6 January, 1992
  1049. X  
  1050. X  REM Sun 16 1991 MSG Sun 16 1991
  1051. X! .\test.rem(94): Trig = Sunday, 17 February, 1991
  1052. X  REM Mon Tue Wed Thu Fri 1 1992 MSG Mon Tue Wed Thu Fri 1 1992
  1053. X! .\test.rem(95): Trig = Wednesday, 1 January, 1992
  1054. X  
  1055. X  REM Mon Feb 1991 MSG Mon Feb 1991
  1056. X! .\test.rem(97): Trig = Monday, 18 February, 1991
  1057. X  REM Tue Jan 1992 MSG Tue Jan 1992
  1058. X! .\test.rem(98): Trig = Tuesday, 7 January, 1992
  1059. X  
  1060. X  REM Sun Mon 16 Feb 1991 MSG Sun Mon 16 Feb 1991
  1061. X! .\test.rem(100): Trig = Sunday, 17 February, 1991
  1062. X  REM Tue 28 Jan 1992 MSG Tue 28 Jan 1992
  1063. X! .\test.rem(101): Trig = Tuesday, 28 January, 1992
  1064. X  
  1065. X  # Try some Backs
  1066. X  CLEAR-OMIT-CONTEXT
  1067. X  REM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun
  1068. X! .\test.rem(105): Trig = Thursday, 28 February, 1991
  1069. X  REM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun
  1070. X! .\test.rem(106): Trig = Thursday, 28 February, 1991
  1071. X  
  1072. X  OMIT 28 Feb
  1073. X  REM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun (28 Feb omitted)
  1074. X! .\test.rem(109): Trig = Wednesday, 27 February, 1991
  1075. X  REM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun (28 Feb omitted)
  1076. X! .\test.rem(110): Trig = Thursday, 28 February, 1991
  1077. X  
  1078. X  CLEAR-OMIT-CONTEXT
  1079. X  
  1080. X  # Try out UNTIL
  1081. X  REM Wed UNTIL 21 Feb 1991 MSG Wed UNTIL 21 Feb 1991
  1082. X! .\test.rem(115): Trig = Wednesday, 20 February, 1991
  1083. X  
  1084. X  # Try playing with the OMIT context
  1085. X  
  1086. X  OMIT 28 Feb 1991
  1087. X  REM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
  1088. X! .\test.rem(120): Trig = Wednesday, 27 February, 1991
  1089. X  REM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
  1090. X! .\test.rem(121): Trig = Thursday, 28 February, 1991
  1091. X  REM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
  1092. X! .\test.rem(122): Trig = Wednesday, 27 February, 1991
  1093. X  REM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
  1094. X! .\test.rem(123): Trig = Friday, 28 February, 1992
  1095. X  REM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
  1096. X! .\test.rem(124): Trig = Friday, 1 March, 1991
  1097. X  
  1098. X  PUSH-OMIT-CONTEXT
  1099. X  CLEAR-OMIT-CONTEXT
  1100. X  REM 1 Mar -1 MSG 1 mar -1
  1101. X! .\test.rem(128): Trig = Thursday, 28 February, 1991
  1102. X  REM 1 Mar --1 MSG 1 mar --1
  1103. X! .\test.rem(129): Trig = Thursday, 28 February, 1991
  1104. X  REM 28 Feb BEFORE MSG 28 Feb BEFORE
  1105. X! .\test.rem(130): Trig = Thursday, 28 February, 1991
  1106. X  REM 28 Feb SKIP MSG 28 Feb SKIP 
  1107. X! .\test.rem(131): Trig = Thursday, 28 February, 1991
  1108. X  REM 28 Feb AFTER MSG 28 Feb AFTER
  1109. X! .\test.rem(132): Trig = Thursday, 28 February, 1991
  1110. X  
  1111. X  POP-OMIT-CONTEXT
  1112. X  REM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
  1113. X! .\test.rem(135): Trig = Wednesday, 27 February, 1991
  1114. X  REM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
  1115. X! .\test.rem(136): Trig = Thursday, 28 February, 1991
  1116. X  REM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
  1117. X! .\test.rem(137): Trig = Wednesday, 27 February, 1991
  1118. X  REM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
  1119. X! .\test.rem(138): Trig = Friday, 28 February, 1992
  1120. X  REM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
  1121. X! .\test.rem(139): Trig = Friday, 1 March, 1991
  1122. X  
  1123. X  
  1124. X  REM 13 March 1991 *1 UNTIL 19 March 1991 MSG 13-19 Mar 91
  1125. X! .\test.rem(142): Trig = Wednesday, 13 March, 1991
  1126. X   
  1127. X  # Test BACK
  1128. X  CLEAR-OMIT-CONTEXT
  1129. X  REM 18 Feb 1991 +1 MSG 18 Feb 1991 +1
  1130. X! .\test.rem(146): Trig = Monday, 18 February, 1991
  1131. X  
  1132. X  OMIT 17 Feb 1991
  1133. X  REM 18 Feb 1991 +1 MSG 18 Feb 1991 +1 (17Feb91 omitted)
  1134. X! .\test.rem(149): Trig = Monday, 18 February, 1991
  1135. X  18 Feb 1991 +1 (17Feb91 omitted)
  1136. X  
  1137. X  REM 18 Feb 1991 ++1 MSG 18 Feb 1991 ++1 (17Feb91 omitted)
  1138. X! .\test.rem(150): Trig = Monday, 18 February, 1991
  1139. X  
  1140. X  CLEAR-OMIT-CONTEXT
  1141. X  # Test the scanfrom clause
  1142. X  REM Fri SATISFY 1
  1143. X! .\test.rem(154): Trig = Friday, 22 February, 1991
  1144. X  OMIT [trigger(trigdate())]
  1145. X  trigdate() => 1991/02/22
  1146. X  trigger(1991/02/22) => "22 February 1991"
  1147. X  REM Fri after MSG 23 Feb 1991
  1148. X! .\test.rem(156): Trig = Saturday, 23 February, 1991
  1149. X  CLEAR-OMIT-CONTEXT
  1150. X  REM Fri SCANFROM [trigger(today()-7)] SATISFY 1
  1151. X  today() => 1991/02/16
  1152. X  1991/02/16 - 7 => 1991/02/09
  1153. X  trigger(1991/02/09) => "9 February 1991"
  1154. X! .\test.rem(158): Trig = Friday, 15 February, 1991
  1155. X  OMIT [trigger(trigdate())]
  1156. X  trigdate() => 1991/02/15
  1157. X  trigger(1991/02/15) => "15 February 1991"
  1158. X  REM Fri after MSG 16 Feb 1991
  1159. X! .\test.rem(160): Trig = Saturday, 16 February, 1991
  1160. X  16 Feb 1991
  1161. X  
  1162. X  CLEAR-OMIT-CONTEXT
  1163. X***************
  1164. X*** 503,509 ****
  1165. X  coerce("string", 11:44) => "11:44"
  1166. X  set a009 coerce("int", "badnews")
  1167. X  coerce("int", "badnews") => Can't coerce
  1168. X! ./test.rem(171): Can't coerce
  1169. X  set a010 coerce("int", "12")
  1170. X  coerce("int", "12") => 12
  1171. X  set a011 coerce("int", 11:44)
  1172. X--- 503,509 ----
  1173. X  coerce("string", 11:44) => "11:44"
  1174. X  set a009 coerce("int", "badnews")
  1175. X  coerce("int", "badnews") => Can't coerce
  1176. X! .\test.rem(171): Can't coerce
  1177. X  set a010 coerce("int", "12")
  1178. X  coerce("int", "12") => 12
  1179. X  set a011 coerce("int", 11:44)
  1180. X***************
  1181. X*** 515,521 ****
  1182. X  date(1992, 2, 2) => 1992/02/02
  1183. X  set a014 date(1993, 2, 29)
  1184. X  date(1993, 2, 29) => Bad date specification
  1185. X! ./test.rem(176): Bad date specification
  1186. X  set a015 day(today())
  1187. X  today() => 1991/02/16
  1188. X  day(1991/02/16) => 16
  1189. X--- 515,521 ----
  1190. X  date(1992, 2, 2) => 1992/02/02
  1191. X  set a014 date(1993, 2, 29)
  1192. X  date(1993, 2, 29) => Bad date specification
  1193. X! .\test.rem(176): Bad date specification
  1194. X  set a015 day(today())
  1195. X  today() => 1991/02/16
  1196. X  day(1991/02/16) => 16
  1197. X***************
  1198. X*** 528,534 ****
  1199. X  set a019 defined("a019")
  1200. X  defined("a019") => 0
  1201. X  set a020 filename()
  1202. X! filename() => "./test.rem"
  1203. X  set a021 getenv("TEST_GETENV")
  1204. X  getenv("TEST_GETENV") => "foo bar baz"
  1205. X  set a022 hour(11:22)
  1206. X--- 528,534 ----
  1207. X  set a019 defined("a019")
  1208. X  defined("a019") => 0
  1209. X  set a020 filename()
  1210. X! filename() => ".\test.rem"
  1211. X  set a021 getenv("TEST_GETENV")
  1212. X  getenv("TEST_GETENV") => "foo bar baz"
  1213. X  set a022 hour(11:22)
  1214. X***************
  1215. X*** 610,624 ****
  1216. X  set a050 substr(a049, 2)
  1217. X  a049 => 21
  1218. X  substr(21, 2) => Type mismatch
  1219. X! ./test.rem(214): Type mismatch
  1220. X  set a051 substr(a050, 2, 6)
  1221. X! a050 => ./test.rem(215): Undefined variable: a050
  1222. X  set a052 time(1+2, 3+4)
  1223. X  1 + 2 => 3
  1224. X  3 + 4 => 7
  1225. X  time(3, 7) => 03:07
  1226. X  rem 10 jan 1992 AT 11:22 CAL
  1227. X! ./test.rem(217): Trig = Friday, 10 January, 1992
  1228. X  set a053 trigdate()
  1229. X  trigdate() => 1992/01/10
  1230. X  set a054 trigtime()
  1231. X--- 610,624 ----
  1232. X  set a050 substr(a049, 2)
  1233. X  a049 => 21
  1234. X  substr(21, 2) => Type mismatch
  1235. X! .\test.rem(214): Type mismatch
  1236. X  set a051 substr(a050, 2, 6)
  1237. X! a050 => .\test.rem(215): Undefined variable: a050
  1238. X  set a052 time(1+2, 3+4)
  1239. X  1 + 2 => 3
  1240. X  3 + 4 => 7
  1241. X  time(3, 7) => 03:07
  1242. X  rem 10 jan 1992 AT 11:22 CAL
  1243. X! .\test.rem(217): Trig = Friday, 10 January, 1992
  1244. X  set a053 trigdate()
  1245. X  trigdate() => 1992/01/10
  1246. X  set a054 trigtime()
  1247. X***************
  1248. X*** 631,637 ****
  1249. X  "a05" + "6" => "a056"
  1250. X  value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  1251. X  set a058 version()
  1252. X! version() => "03.00.10"
  1253. X  set a059 wkday(today())
  1254. X  today() => 1991/02/16
  1255. X  wkday(1991/02/16) => "Saturday"
  1256. X--- 631,637 ----
  1257. X  "a05" + "6" => "a056"
  1258. X  value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  1259. X  set a058 version()
  1260. X! version() => "03.00.11"
  1261. X  set a059 wkday(today())
  1262. X  today() => 1991/02/16
  1263. X  wkday(1991/02/16) => "Saturday"
  1264. X***************
  1265. X*** 710,733 ****
  1266. X  x => "foo"
  1267. X  y => 11:33
  1268. X  "foo" * 11:33 => Type mismatch
  1269. X! ./test.rem(240): '*': Type mismatch
  1270. X  Leaving UserFN h() => Type mismatch
  1271. X  set a074 dosubst("%a %b %c %d %e %f %g %h", '1992/5/5')
  1272. X  dosubst("%a %b %c %d %e %f %g %h", 1992/05/05) => "on Tuesday, 5 May, 1992 in 444 days' tim"...
  1273. X  msg [a074]%
  1274. X! ./test.rem(242): Trig = Saturday, 16 February, 1991
  1275. X  a074 => "on Tuesday, 5 May, 1992 in 444 days' tim"...
  1276. X  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
  1277. X  set a075 dosubst("%i %j %k %l %m %n %o %p", '1992/5/5')
  1278. X  dosubst("%i %j %k %l %m %n %o %p", 1992/05/05) => "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  1279. X  msg [a075]%
  1280. X! ./test.rem(244): Trig = Saturday, 16 February, 1991
  1281. X  a075 => "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  1282. X  on 05/05 on Tuesday, May 5th, 1992 on Tuesday, May 5th on 1992/05/05 May 5  s
  1283. X  set a076 dosubst("%q %r %s %t %u %v %w %x", '1992/5/5')
  1284. X  dosubst("%q %r %s %t %u %v %w %x", 1992/05/05) => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  1285. X  msg [a076]%
  1286. X! ./test.rem(246): Trig = Saturday, 16 February, 1991
  1287. X  a076 => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  1288. X  s' 05 th 05 on Tuesday, 5th May, 1992 on Tuesday, 5th May Tuesday 444
  1289. X  set a077 dosubst("%y %z", '1992/5/5')
  1290. X--- 710,733 ----
  1291. X  x => "foo"
  1292. X  y => 11:33
  1293. X  "foo" * 11:33 => Type mismatch
  1294. X! .\test.rem(240): '*': Type mismatch
  1295. X  Leaving UserFN h() => Type mismatch
  1296. X  set a074 dosubst("%a %b %c %d %e %f %g %h", '1992/5/5')
  1297. X  dosubst("%a %b %c %d %e %f %g %h", 1992/05/05) => "on Tuesday, 5 May, 1992 in 444 days' tim"...
  1298. X  msg [a074]%
  1299. X! .\test.rem(242): Trig = Saturday, 16 February, 1991
  1300. X  a074 => "on Tuesday, 5 May, 1992 in 444 days' tim"...
  1301. X  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
  1302. X  set a075 dosubst("%i %j %k %l %m %n %o %p", '1992/5/5')
  1303. X  dosubst("%i %j %k %l %m %n %o %p", 1992/05/05) => "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  1304. X  msg [a075]%
  1305. X! .\test.rem(244): Trig = Saturday, 16 February, 1991
  1306. X  a075 => "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  1307. X  on 05/05 on Tuesday, May 5th, 1992 on Tuesday, May 5th on 1992/05/05 May 5  s
  1308. X  set a076 dosubst("%q %r %s %t %u %v %w %x", '1992/5/5')
  1309. X  dosubst("%q %r %s %t %u %v %w %x", 1992/05/05) => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  1310. X  msg [a076]%
  1311. X! .\test.rem(246): Trig = Saturday, 16 February, 1991
  1312. X  a076 => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  1313. X  s' 05 th 05 on Tuesday, 5th May, 1992 on Tuesday, 5th May Tuesday 444
  1314. X  set a077 dosubst("%y %z", '1992/5/5')
  1315. X***************
  1316. X*** 734,740 ****
  1317. X  dosubst("%y %z", 1992/05/05) => "1992 92
  1318. X  "
  1319. X  msg [a077]%
  1320. X! ./test.rem(248): Trig = Saturday, 16 February, 1991
  1321. X  a077 => "1992 92
  1322. X  "
  1323. X  1992 92
  1324. X--- 734,740 ----
  1325. SHAR_EOF
  1326. echo "End of Remind-3.0/Patch-11/part part 3"
  1327. echo "File patch.11 is continued in part 4"
  1328. echo "4" > shar3_seq_.tmp
  1329. exit 0
  1330.  
  1331.  
  1332.  
  1333. exit 0 # Just in case...
  1334.