home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume40 / remind / patch10c < prev    next >
Encoding:
Text File  |  1993-10-25  |  49.7 KB  |  1,725 lines

  1. Newsgroups: comp.sources.misc
  2. From: dfs@doe.carleton.ca (David F. Skoll)
  3. Subject: v40i050:  remind - A replacement for calendar, Patch10c/3
  4. Message-ID: <1993Oct25.224755.7559@sparky.sterling.com>
  5. X-Md4-Signature: b6bed1db68b6d65ea757750a8cf686fb
  6. Sender: kent@sparky.sterling.com (Kent Landfield)
  7. Organization: Dept. of Electronics, Carleton University
  8. Date: Mon, 25 Oct 1993 22:47:55 GMT
  9. Approved: kent@sparky.sterling.com
  10.  
  11. Submitted-by: dfs@doe.carleton.ca (David F. Skoll)
  12. Posting-number: Volume 40, Issue 50
  13. Archive-name: remind/patch10c
  14. Environment: UNIX, MS-DOS, OS/2
  15. Patch-To: remind: Volume 33, Issue 58-69
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then feed it
  19. # into a shell via "sh file" or similar.  To overwrite existing files,
  20. # type "sh file -c".
  21. # Contents:  test1.cmp test2.cmp
  22. # Wrapped by kent@sparky on Mon Oct 25 17:25:44 1993
  23. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  24. echo If this archive is complete, you will see the following message:
  25. echo '          "shar: End of archive 3 (of 3)."'
  26. if test -f 'test1.cmp' -a "${1}" != "-c" ; then 
  27.   echo shar: Will not clobber existing file \"'test1.cmp'\"
  28. else
  29.   echo shar: Extracting \"'test1.cmp'\" \(23534 characters\)
  30.   sed "s/^X//" >'test1.cmp' <<'END_OF_FILE'
  31. X# Test file for REMIND
  32. X#
  33. X# Use this file to test the date calculation routines
  34. X# of the REMIND program by typing:
  35. X#
  36. X#     ./test-rem  # From WITHIN Remind source directory!
  37. X
  38. XREM MSG Today is [hebday(today())] [hebmon(today())] [hebyear(today())]
  39. X./test.rem(8): Trig = Saturday, 16 February, 1991
  40. XReminders for Saturday, 16th February, 1991:
  41. X
  42. Xtoday() => 1991/02/16
  43. Xhebday(1991/02/16) => 2
  44. Xtoday() => 1991/02/16
  45. Xhebmon(1991/02/16) => "Adar"
  46. Xtoday() => 1991/02/16
  47. Xhebyear(1991/02/16) => 5751
  48. XToday is 2 Adar 5751
  49. X
  50. Xfset _h(x, y) trigger(hebdate(x,y))
  51. X
  52. X[_h(1,  "Tishrey")] MSG Rosh Hashana 1
  53. XEntering UserFN _h(1, "Tishrey")
  54. Xx => 1
  55. Xy => "Tishrey"
  56. Xhebdate(1, "Tishrey") => 1991/09/09
  57. Xtrigger(1991/09/09) => "9 September 1991"
  58. XLeaving UserFN _h() => "9 September 1991"
  59. X./test.rem(11): Trig = Monday, 9 September, 1991
  60. X[_h(2,  "Tishrey")] MSG Rosh Hashana 2
  61. XEntering UserFN _h(2, "Tishrey")
  62. Xx => 2
  63. Xy => "Tishrey"
  64. Xhebdate(2, "Tishrey") => 1991/09/10
  65. Xtrigger(1991/09/10) => "10 September 1991"
  66. XLeaving UserFN _h() => "10 September 1991"
  67. X./test.rem(12): Trig = Tuesday, 10 September, 1991
  68. X[_h(3,  "Tishrey")] MSG Tzom Gedalia
  69. XEntering UserFN _h(3, "Tishrey")
  70. Xx => 3
  71. Xy => "Tishrey"
  72. Xhebdate(3, "Tishrey") => 1991/09/11
  73. Xtrigger(1991/09/11) => "11 September 1991"
  74. XLeaving UserFN _h() => "11 September 1991"
  75. X./test.rem(13): Trig = Wednesday, 11 September, 1991
  76. X[_h(10, "Tishrey")] MSG Yom Kippur
  77. XEntering UserFN _h(10, "Tishrey")
  78. Xx => 10
  79. Xy => "Tishrey"
  80. Xhebdate(10, "Tishrey") => 1991/09/18
  81. Xtrigger(1991/09/18) => "18 September 1991"
  82. XLeaving UserFN _h() => "18 September 1991"
  83. X./test.rem(14): Trig = Wednesday, 18 September, 1991
  84. X[_h(15, "Tishrey")] MSG Sukkot 1
  85. XEntering UserFN _h(15, "Tishrey")
  86. Xx => 15
  87. Xy => "Tishrey"
  88. Xhebdate(15, "Tishrey") => 1991/09/23
  89. Xtrigger(1991/09/23) => "23 September 1991"
  90. XLeaving UserFN _h() => "23 September 1991"
  91. X./test.rem(15): Trig = Monday, 23 September, 1991
  92. X[_h(25, "Kislev")]  MSG Channuka
  93. XEntering UserFN _h(25, "Kislev")
  94. Xx => 25
  95. Xy => "Kislev"
  96. Xhebdate(25, "Kislev") => 1991/12/02
  97. Xtrigger(1991/12/02) => "2 December 1991"
  98. XLeaving UserFN _h() => "2 December 1991"
  99. X./test.rem(16): Trig = Monday, 2 December, 1991
  100. X[_h(10, "Tevet")]   MSG Asara B'Tevet
  101. XEntering UserFN _h(10, "Tevet")
  102. Xx => 10
  103. Xy => "Tevet"
  104. Xhebdate(10, "Tevet") => 1991/12/17
  105. Xtrigger(1991/12/17) => "17 December 1991"
  106. XLeaving UserFN _h() => "17 December 1991"
  107. X./test.rem(17): Trig = Tuesday, 17 December, 1991
  108. X[_h(15, "Shvat")]   MSG Tu B'Shvat
  109. XEntering UserFN _h(15, "Shvat")
  110. Xx => 15
  111. Xy => "Shvat"
  112. Xhebdate(15, "Shvat") => 1992/01/20
  113. Xtrigger(1992/01/20) => "20 January 1992"
  114. XLeaving UserFN _h() => "20 January 1992"
  115. X./test.rem(18): Trig = Monday, 20 January, 1992
  116. X[_h(15, "Adar A")]  MSG Purim Katan
  117. XEntering UserFN _h(15, "Adar A")
  118. Xx => 15
  119. Xy => "Adar A"
  120. Xhebdate(15, "Adar A") => 1992/02/19
  121. Xtrigger(1992/02/19) => "19 February 1992"
  122. XLeaving UserFN _h() => "19 February 1992"
  123. X./test.rem(19): Trig = Wednesday, 19 February, 1992
  124. X[_h(14, "Adar")]    MSG Purim
  125. XEntering UserFN _h(14, "Adar")
  126. Xx => 14
  127. Xy => "Adar"
  128. Xhebdate(14, "Adar") => 1991/02/28
  129. Xtrigger(1991/02/28) => "28 February 1991"
  130. XLeaving UserFN _h() => "28 February 1991"
  131. X./test.rem(20): Trig = Thursday, 28 February, 1991
  132. X[_h(15, "Nisan")]   MSG Pesach
  133. XEntering UserFN _h(15, "Nisan")
  134. Xx => 15
  135. Xy => "Nisan"
  136. Xhebdate(15, "Nisan") => 1991/03/30
  137. Xtrigger(1991/03/30) => "30 March 1991"
  138. XLeaving UserFN _h() => "30 March 1991"
  139. X./test.rem(21): Trig = Saturday, 30 March, 1991
  140. X[_h(27, "Nisan")]   MSG Yom HaShoah
  141. XEntering UserFN _h(27, "Nisan")
  142. Xx => 27
  143. Xy => "Nisan"
  144. Xhebdate(27, "Nisan") => 1991/04/11
  145. Xtrigger(1991/04/11) => "11 April 1991"
  146. XLeaving UserFN _h() => "11 April 1991"
  147. X./test.rem(22): Trig = Thursday, 11 April, 1991
  148. X[_h(4,  "Iyar")]    MSG Yom HaZikaron
  149. XEntering UserFN _h(4, "Iyar")
  150. Xx => 4
  151. Xy => "Iyar"
  152. Xhebdate(4, "Iyar") => 1991/04/18
  153. Xtrigger(1991/04/18) => "18 April 1991"
  154. XLeaving UserFN _h() => "18 April 1991"
  155. X./test.rem(23): Trig = Thursday, 18 April, 1991
  156. X[_h(5,  "Iyar")]    MSG Yom Ha'atzmaut
  157. XEntering UserFN _h(5, "Iyar")
  158. Xx => 5
  159. Xy => "Iyar"
  160. Xhebdate(5, "Iyar") => 1991/04/19
  161. Xtrigger(1991/04/19) => "19 April 1991"
  162. XLeaving UserFN _h() => "19 April 1991"
  163. X./test.rem(24): Trig = Friday, 19 April, 1991
  164. X[_h(28, "Iyar")]    MSG Yom Yerushalayim
  165. XEntering UserFN _h(28, "Iyar")
  166. Xx => 28
  167. Xy => "Iyar"
  168. Xhebdate(28, "Iyar") => 1991/05/12
  169. Xtrigger(1991/05/12) => "12 May 1991"
  170. XLeaving UserFN _h() => "12 May 1991"
  171. X./test.rem(25): Trig = Sunday, 12 May, 1991
  172. X[_h(6,  "Sivan")]   MSG Shavuot
  173. XEntering UserFN _h(6, "Sivan")
  174. Xx => 6
  175. Xy => "Sivan"
  176. Xhebdate(6, "Sivan") => 1991/05/19
  177. Xtrigger(1991/05/19) => "19 May 1991"
  178. XLeaving UserFN _h() => "19 May 1991"
  179. X./test.rem(26): Trig = Sunday, 19 May, 1991
  180. X[_h(9,  "Av")]      MSG Tish'a B'Av
  181. XEntering UserFN _h(9, "Av")
  182. Xx => 9
  183. Xy => "Av"
  184. Xhebdate(9, "Av") => 1991/07/20
  185. Xtrigger(1991/07/20) => "20 July 1991"
  186. XLeaving UserFN _h() => "20 July 1991"
  187. X./test.rem(27): Trig = Saturday, 20 July, 1991
  188. X
  189. X# Test some jahrzeit cases
  190. Xfset _i(x,y,z,a) trigger(hebdate(x,y,z,a))
  191. X[_i(30, "Heshvan", today(), 5759)] MSG Complete-Complete
  192. Xtoday() => 1991/02/16
  193. XEntering UserFN _i(30, "Heshvan", 1991/02/16, 5759)
  194. Xx => 30
  195. Xy => "Heshvan"
  196. Xz => 1991/02/16
  197. Xa => 5759
  198. Xhebdate(30, "Heshvan", 1991/02/16, 5759) => 1991/11/07
  199. Xtrigger(1991/11/07) => "7 November 1991"
  200. XLeaving UserFN _i() => "7 November 1991"
  201. X./test.rem(31): Trig = Thursday, 7 November, 1991
  202. X[_i(30, "Heshvan", today(), 5760)] MSG Complete-Defective
  203. Xtoday() => 1991/02/16
  204. XEntering UserFN _i(30, "Heshvan", 1991/02/16, 5760)
  205. Xx => 30
  206. Xy => "Heshvan"
  207. Xz => 1991/02/16
  208. Xa => 5760
  209. Xhebdate(30, "Heshvan", 1991/02/16, 5760) => 1991/11/07
  210. Xtrigger(1991/11/07) => "7 November 1991"
  211. XLeaving UserFN _i() => "7 November 1991"
  212. X./test.rem(32): Trig = Thursday, 7 November, 1991
  213. X[_i(30, "Heshvan", today(), 5761)] MSG Illegal
  214. Xtoday() => 1991/02/16
  215. XEntering UserFN _i(30, "Heshvan", 1991/02/16, 5761)
  216. Xx => 30
  217. Xy => "Heshvan"
  218. Xz => 1991/02/16
  219. Xa => 5761
  220. Xhebdate(30, "Heshvan", 1991/02/16, 5761) => ./test.rem(33): 30 Heshvan 5761: Invalid Hebrew date
  221. XInvalid Hebrew date
  222. XLeaving UserFN _i() => Invalid Hebrew date
  223. X
  224. X[_i(30, "Kislev", today(), 5759)] MSG Complete-Complete
  225. Xtoday() => 1991/02/16
  226. XEntering UserFN _i(30, "Kislev", 1991/02/16, 5759)
  227. Xx => 30
  228. Xy => "Kislev"
  229. Xz => 1991/02/16
  230. Xa => 5759
  231. Xhebdate(30, "Kislev", 1991/02/16, 5759) => 1991/12/07
  232. Xtrigger(1991/12/07) => "7 December 1991"
  233. XLeaving UserFN _i() => "7 December 1991"
  234. X./test.rem(35): Trig = Saturday, 7 December, 1991
  235. X[_i(30, "Kislev", today(), 5760)] MSG Complete-Defective
  236. Xtoday() => 1991/02/16
  237. XEntering UserFN _i(30, "Kislev", 1991/02/16, 5760)
  238. Xx => 30
  239. Xy => "Kislev"
  240. Xz => 1991/02/16
  241. Xa => 5760
  242. Xhebdate(30, "Kislev", 1991/02/16, 5760) => 1991/12/07
  243. Xtrigger(1991/12/07) => "7 December 1991"
  244. XLeaving UserFN _i() => "7 December 1991"
  245. X./test.rem(36): Trig = Saturday, 7 December, 1991
  246. X[_i(30, "Kislev", today(), 5761)] MSG Illegal
  247. Xtoday() => 1991/02/16
  248. XEntering UserFN _i(30, "Kislev", 1991/02/16, 5761)
  249. Xx => 30
  250. Xy => "Kislev"
  251. Xz => 1991/02/16
  252. Xa => 5761
  253. Xhebdate(30, "Kislev", 1991/02/16, 5761) => ./test.rem(37): 30 Kislev 5761: Invalid Hebrew date
  254. XInvalid Hebrew date
  255. XLeaving UserFN _i() => Invalid Hebrew date
  256. X
  257. X[_i(30, "Adar A", today(), 5755)] MSG Leap
  258. Xtoday() => 1991/02/16
  259. XEntering UserFN _i(30, "Adar A", 1991/02/16, 5755)
  260. Xx => 30
  261. Xy => "Adar A"
  262. Xz => 1991/02/16
  263. Xa => 5755
  264. Xhebdate(30, "Adar A", 1991/02/16, 5755) => 1992/03/05
  265. Xtrigger(1992/03/05) => "5 March 1992"
  266. XLeaving UserFN _i() => "5 March 1992"
  267. X./test.rem(39): Trig = Thursday, 5 March, 1992
  268. X[_i(30, "Adar A", today(), 5756)] MSG Illegal
  269. Xtoday() => 1991/02/16
  270. XEntering UserFN _i(30, "Adar A", 1991/02/16, 5756)
  271. Xx => 30
  272. Xy => "Adar A"
  273. Xz => 1991/02/16
  274. Xa => 5756
  275. Xhebdate(30, "Adar A", 1991/02/16, 5756) => ./test.rem(40): No Adar A in 5756
  276. XInvalid Hebrew date
  277. XLeaving UserFN _i() => Invalid Hebrew date
  278. X[_i(29, "Adar A", today(), 5755)] MSG Leap
  279. Xtoday() => 1991/02/16
  280. XEntering UserFN _i(29, "Adar A", 1991/02/16, 5755)
  281. Xx => 29
  282. Xy => "Adar A"
  283. Xz => 1991/02/16
  284. Xa => 5755
  285. Xhebdate(29, "Adar A", 1991/02/16, 5755) => 1991/03/15
  286. Xtrigger(1991/03/15) => "15 March 1991"
  287. XLeaving UserFN _i() => "15 March 1991"
  288. X./test.rem(41): Trig = Friday, 15 March, 1991
  289. X[_i(29, "Adar A", today(), 5756)] MSG Illegal
  290. Xtoday() => 1991/02/16
  291. XEntering UserFN _i(29, "Adar A", 1991/02/16, 5756)
  292. Xx => 29
  293. Xy => "Adar A"
  294. Xz => 1991/02/16
  295. Xa => 5756
  296. Xhebdate(29, "Adar A", 1991/02/16, 5756) => ./test.rem(42): No Adar A in 5756
  297. XInvalid Hebrew date
  298. XLeaving UserFN _i() => Invalid Hebrew date
  299. X
  300. X# Test each possible case of the basic reminders.
  301. X
  302. XREM MSG Every Day
  303. X./test.rem(46): Trig = Saturday, 16 February, 1991
  304. XEvery Day
  305. X
  306. X
  307. XREM 18 MSG Every 18th 
  308. X./test.rem(48): Trig = Monday, 18 February, 1991
  309. XREM 15 MSG Every 15th
  310. X./test.rem(49): Trig = Friday, 15 March, 1991
  311. X
  312. XREM Feb MSG February
  313. X./test.rem(51): Trig = Saturday, 16 February, 1991
  314. XFebruary
  315. X
  316. XREM Jan MSG January
  317. X./test.rem(52): Trig = Wednesday, 1 January, 1992
  318. XREM March MSG March
  319. X./test.rem(53): Trig = Friday, 1 March, 1991
  320. X
  321. XREM 13 Jan MSG 13 Jan
  322. X./test.rem(55): Trig = Monday, 13 January, 1992
  323. XREM 15 Feb MSG 15 Feb
  324. X./test.rem(56): Trig = Saturday, 15 February, 1992
  325. XREM 28 Feb MSG 28 Feb
  326. X./test.rem(57): Trig = Thursday, 28 February, 1991
  327. XREM 29 Feb MSG 29 Feb
  328. X./test.rem(58): Trig = Saturday, 29 February, 1992
  329. XREM 5 Mar MSG 5 Mar
  330. X./test.rem(59): Trig = Tuesday, 5 March, 1991
  331. X
  332. XREM 1990 MSG 1990
  333. X./test.rem(61): Expired
  334. XREM 1991 MSG 1991
  335. X./test.rem(62): Trig = Saturday, 16 February, 1991
  336. X1991
  337. X
  338. XREM 1992 MSG 1991
  339. X./test.rem(63): Trig = Wednesday, 1 January, 1992
  340. X
  341. XREM 1 1990 MSG 1 1990
  342. X./test.rem(65): Expired
  343. XREM 29 1991 MSG 29 1991
  344. X./test.rem(66): Trig = Friday, 29 March, 1991
  345. XREM 29 1992 MSG 29 1992
  346. X./test.rem(67): Trig = Wednesday, 29 January, 1992
  347. XREM 16 1991 MSG 16 1991
  348. X./test.rem(68): Trig = Saturday, 16 February, 1991
  349. X16 1991
  350. X
  351. X
  352. XREM Jan 1990 MSG Jan 1990
  353. X./test.rem(70): Expired
  354. XREM Feb 1991 MSG Feb 1991
  355. X./test.rem(71): Trig = Saturday, 16 February, 1991
  356. XFeb 1991
  357. X
  358. XREM Dec 1991 MSG Dec 1991
  359. X./test.rem(72): Trig = Sunday, 1 December, 1991
  360. XREM May 1992 MSG May 1992
  361. X./test.rem(73): Trig = Friday, 1 May, 1992
  362. X
  363. XREM 1 Jan 1991 MSG 1 Jan 1991
  364. X./test.rem(75): Expired
  365. XREM 16 Feb 1991 MSG 16 Feb 1991
  366. X./test.rem(76): Trig = Saturday, 16 February, 1991
  367. X16 Feb 1991
  368. X
  369. XREM 29 Dec 1992 MSG 29 Dec 1992
  370. X./test.rem(77): Trig = Tuesday, 29 December, 1992
  371. X
  372. XREM Sun MSG Sun
  373. X./test.rem(79): Trig = Sunday, 17 February, 1991
  374. XREM Fri Sat Tue MSG Fri Sat Tue
  375. X./test.rem(80): Trig = Saturday, 16 February, 1991
  376. XFri Sat Tue
  377. X
  378. X
  379. XREM Sun 16 MSG Sun 16
  380. X./test.rem(82): Trig = Sunday, 17 February, 1991
  381. XREM Mon Tue Wed Thu Fri 1 MSG Mon Tue Wed Thu Fri 1
  382. X./test.rem(83): Trig = Friday, 1 March, 1991
  383. X
  384. XREM Sun Feb MSG Sun Feb
  385. X./test.rem(85): Trig = Sunday, 17 February, 1991
  386. XREM Mon Tue March MSG Mon Tue March
  387. X./test.rem(86): Trig = Monday, 4 March, 1991
  388. X
  389. XREM Sun 16 Feb MSG Sun 16 Feb
  390. X./test.rem(88): Trig = Sunday, 17 February, 1991
  391. XREM Mon Tue 10 March MSG Mon Tue 10 March
  392. X./test.rem(89): Trig = Monday, 11 March, 1991
  393. X
  394. XREM Sat Sun 1991 MSG Sat Sun 1991
  395. X./test.rem(91): Trig = Saturday, 16 February, 1991
  396. XSat Sun 1991
  397. X
  398. XREM Mon Tue 1992 MSG Mon Tue 1992
  399. X./test.rem(92): Trig = Monday, 6 January, 1992
  400. X
  401. XREM Sun 16 1991 MSG Sun 16 1991
  402. X./test.rem(94): Trig = Sunday, 17 February, 1991
  403. XREM Mon Tue Wed Thu Fri 1 1992 MSG Mon Tue Wed Thu Fri 1 1992
  404. X./test.rem(95): Trig = Wednesday, 1 January, 1992
  405. X
  406. XREM Mon Feb 1991 MSG Mon Feb 1991
  407. X./test.rem(97): Trig = Monday, 18 February, 1991
  408. XREM Tue Jan 1992 MSG Tue Jan 1992
  409. X./test.rem(98): Trig = Tuesday, 7 January, 1992
  410. X
  411. XREM Sun Mon 16 Feb 1991 MSG Sun Mon 16 Feb 1991
  412. X./test.rem(100): Trig = Sunday, 17 February, 1991
  413. XREM Tue 28 Jan 1992 MSG Tue 28 Jan 1992
  414. X./test.rem(101): Trig = Tuesday, 28 January, 1992
  415. X
  416. X# Try some Backs
  417. XCLEAR-OMIT-CONTEXT
  418. XREM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun
  419. X./test.rem(105): Trig = Thursday, 28 February, 1991
  420. XREM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun
  421. X./test.rem(106): Trig = Thursday, 28 February, 1991
  422. X
  423. XOMIT 28 Feb
  424. XREM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun (28 Feb omitted)
  425. X./test.rem(109): Trig = Wednesday, 27 February, 1991
  426. XREM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun (28 Feb omitted)
  427. X./test.rem(110): Trig = Thursday, 28 February, 1991
  428. X
  429. XCLEAR-OMIT-CONTEXT
  430. X
  431. X# Try out UNTIL
  432. XREM Wed UNTIL 21 Feb 1991 MSG Wed UNTIL 21 Feb 1991
  433. X./test.rem(115): Trig = Wednesday, 20 February, 1991
  434. X
  435. X# Try playing with the OMIT context
  436. X
  437. XOMIT 28 Feb 1991
  438. XREM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
  439. X./test.rem(120): Trig = Wednesday, 27 February, 1991
  440. XREM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
  441. X./test.rem(121): Trig = Thursday, 28 February, 1991
  442. XREM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
  443. X./test.rem(122): Trig = Wednesday, 27 February, 1991
  444. XREM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
  445. X./test.rem(123): Trig = Friday, 28 February, 1992
  446. XREM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
  447. X./test.rem(124): Trig = Friday, 1 March, 1991
  448. X
  449. XPUSH-OMIT-CONTEXT
  450. XCLEAR-OMIT-CONTEXT
  451. XREM 1 Mar -1 MSG 1 mar -1
  452. X./test.rem(128): Trig = Thursday, 28 February, 1991
  453. XREM 1 Mar --1 MSG 1 mar --1
  454. X./test.rem(129): Trig = Thursday, 28 February, 1991
  455. XREM 28 Feb BEFORE MSG 28 Feb BEFORE
  456. X./test.rem(130): Trig = Thursday, 28 February, 1991
  457. XREM 28 Feb SKIP MSG 28 Feb SKIP 
  458. X./test.rem(131): Trig = Thursday, 28 February, 1991
  459. XREM 28 Feb AFTER MSG 28 Feb AFTER
  460. X./test.rem(132): Trig = Thursday, 28 February, 1991
  461. X
  462. XPOP-OMIT-CONTEXT
  463. XREM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
  464. X./test.rem(135): Trig = Wednesday, 27 February, 1991
  465. XREM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
  466. X./test.rem(136): Trig = Thursday, 28 February, 1991
  467. XREM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
  468. X./test.rem(137): Trig = Wednesday, 27 February, 1991
  469. XREM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
  470. X./test.rem(138): Trig = Friday, 28 February, 1992
  471. XREM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
  472. X./test.rem(139): Trig = Friday, 1 March, 1991
  473. X
  474. X
  475. XREM 13 March 1991 *1 UNTIL 19 March 1991 MSG 13-19 Mar 91
  476. X./test.rem(142): Trig = Wednesday, 13 March, 1991
  477. X# Test BACK
  478. XCLEAR-OMIT-CONTEXT
  479. XREM 18 Feb 1991 +1 MSG 18 Feb 1991 +1
  480. X./test.rem(146): Trig = Monday, 18 February, 1991
  481. X
  482. XOMIT 17 Feb 1991
  483. XREM 18 Feb 1991 +1 MSG 18 Feb 1991 +1 (17Feb91 omitted)
  484. X./test.rem(149): Trig = Monday, 18 February, 1991
  485. X18 Feb 1991 +1 (17Feb91 omitted)
  486. X
  487. XREM 18 Feb 1991 ++1 MSG 18 Feb 1991 ++1 (17Feb91 omitted)
  488. X./test.rem(150): Trig = Monday, 18 February, 1991
  489. X
  490. XCLEAR-OMIT-CONTEXT
  491. X# Test the scanfrom clause
  492. XREM Fri SATISFY 1
  493. X./test.rem(154): Trig = Friday, 22 February, 1991
  494. XOMIT [trigger(trigdate())]
  495. Xtrigdate() => 1991/02/22
  496. Xtrigger(1991/02/22) => "22 February 1991"
  497. XREM Fri after MSG 23 Feb 1991
  498. X./test.rem(156): Trig = Saturday, 23 February, 1991
  499. XCLEAR-OMIT-CONTEXT
  500. XREM Fri SCANFROM [trigger(today()-7)] SATISFY 1
  501. Xtoday() => 1991/02/16
  502. X1991/02/16 - 7 => 1991/02/09
  503. Xtrigger(1991/02/09) => "9 February 1991"
  504. X./test.rem(158): Trig = Friday, 15 February, 1991
  505. XOMIT [trigger(trigdate())]
  506. Xtrigdate() => 1991/02/15
  507. Xtrigger(1991/02/15) => "15 February 1991"
  508. XREM Fri after MSG 16 Feb 1991
  509. X./test.rem(160): Trig = Saturday, 16 February, 1991
  510. X16 Feb 1991
  511. X
  512. XCLEAR-OMIT-CONTEXT
  513. Xset a000 abs(1)
  514. Xabs(1) => 1
  515. Xset a001 abs(-1)
  516. X- 1 => -1
  517. Xabs(-1) => 1
  518. Xset a002 asc("foo")
  519. Xasc("foo") => 102
  520. Xset a003 baseyr()
  521. Xbaseyr() => 1990
  522. Xset a004 char(66,55,66,77,66)
  523. Xchar(66, 55, 66, 77, 66) => "B7BMB"
  524. Xset a005 choose(3, "foo", "bar", "baz", "blech")
  525. Xchoose(3, "foo", "bar", "baz", "blech") => "baz"
  526. Xset a006 coerce("string", 1)
  527. Xcoerce("string", 1) => "1"
  528. Xset a007 coerce("string", today())
  529. Xtoday() => 1991/02/16
  530. Xcoerce("string", 1991/02/16) => "1991/02/16"
  531. Xset a008 coerce("string", 11:44)
  532. Xcoerce("string", 11:44) => "11:44"
  533. Xset a009 coerce("int", "badnews")
  534. Xcoerce("int", "badnews") => Can't coerce
  535. X./test.rem(171): Can't coerce
  536. Xset a010 coerce("int", "12")
  537. Xcoerce("int", "12") => 12
  538. Xset a011 coerce("int", 11:44)
  539. Xcoerce("int", 11:44) => 704
  540. Xset a012 coerce("int", today())
  541. Xtoday() => 1991/02/16
  542. Xcoerce("int", 1991/02/16) => 411
  543. Xset a013 date(1992, 2, 2)
  544. Xdate(1992, 2, 2) => 1992/02/02
  545. Xset a014 date(1993, 2, 29)
  546. Xdate(1993, 2, 29) => Bad date specification
  547. X./test.rem(176): Bad date specification
  548. Xset a015 day(today())
  549. Xtoday() => 1991/02/16
  550. Xday(1991/02/16) => 16
  551. Xset a016 daysinmon(2, 1991)
  552. Xdaysinmon(2, 1991) => 28
  553. Xset a017 daysinmon(2, 1992)
  554. Xdaysinmon(2, 1992) => 29
  555. Xset a018 defined("a017")
  556. Xdefined("a017") => 1
  557. Xset a019 defined("a019")
  558. Xdefined("a019") => 0
  559. Xset a020 filename()
  560. Xfilename() => "./test.rem"
  561. Xset a021 getenv("TEST_GETENV")
  562. Xgetenv("TEST_GETENV") => "foo bar baz"
  563. Xset a022 hour(11:22)
  564. Xhour(11:22) => 11
  565. Xset a023 iif(1, 1, 0)
  566. Xiif(1, 1, 0) => 1
  567. Xset a024 iif(0, 1, 0)
  568. Xiif(0, 1, 0) => 0
  569. Xset a025 index("barfoobar", "foo")
  570. Xindex("barfoobar", "foo") => 4
  571. Xset a026 index("barfoobar", "bar", 2)
  572. Xindex("barfoobar", "bar", 2) => 7
  573. Xset a027 isleap(today())
  574. Xtoday() => 1991/02/16
  575. Xisleap(1991/02/16) => 0
  576. Xset a028 isleap(1992)
  577. Xisleap(1992) => 1
  578. Xomit [trigger(today())]
  579. Xtoday() => 1991/02/16
  580. Xtrigger(1991/02/16) => "16 February 1991"
  581. Xset a030 isomitted(today())
  582. Xtoday() => 1991/02/16
  583. Xisomitted(1991/02/16) => 1
  584. Xclear
  585. Xset a029 isomitted(today())
  586. Xtoday() => 1991/02/16
  587. Xisomitted(1991/02/16) => 0
  588. Xset a031 lower("FOOBARBAZ")
  589. Xlower("FOOBARBAZ") => "foobarbaz"
  590. Xset a032 max(1, 2, 34, 1, 3)
  591. Xmax(1, 2, 34, 1, 3) => 34
  592. Xset a033 max("foo", "bar", "baz")
  593. Xmax("foo", "bar", "baz") => "foo"
  594. Xset a034 max(today(), today()+1, today()-1)
  595. Xtoday() => 1991/02/16
  596. Xtoday() => 1991/02/16
  597. X1991/02/16 + 1 => 1991/02/17
  598. Xtoday() => 1991/02/16
  599. X1991/02/16 - 1 => 1991/02/15
  600. Xmax(1991/02/16, 1991/02/17, 1991/02/15) => 1991/02/17
  601. Xset a035 min(1, 2, 34, 1, 3)
  602. Xmin(1, 2, 34, 1, 3) => 1
  603. Xset a036 min("foo", "bar", "baz")
  604. Xmin("foo", "bar", "baz") => "bar"
  605. Xset a037 min(today(), today()+1, today()-1)
  606. Xtoday() => 1991/02/16
  607. Xtoday() => 1991/02/16
  608. X1991/02/16 + 1 => 1991/02/17
  609. Xtoday() => 1991/02/16
  610. X1991/02/16 - 1 => 1991/02/15
  611. Xmin(1991/02/16, 1991/02/17, 1991/02/15) => 1991/02/15
  612. Xset a038 minute(11:33)
  613. Xminute(11:33) => 33
  614. Xset a039 mon(today())
  615. Xtoday() => 1991/02/16
  616. Xmon(1991/02/16) => "February"
  617. Xset a040 monnum(today())
  618. Xtoday() => 1991/02/16
  619. Xmonnum(1991/02/16) => 2
  620. Xset a041 ord(3)
  621. Xord(3) => "3rd"
  622. Xset a042 ord(4)
  623. Xord(4) => "4th"
  624. Xset a043 ostype()
  625. Xostype() => "MSDOS"
  626. Xset a044 plural(2)
  627. Xplural(2) => "s"
  628. Xset a045 plural(2, "ies")
  629. Xplural(2, "ies") => "iess"
  630. Xset a046 plural(2, "y", "ies")
  631. Xplural(2, "y", "ies") => "ies"
  632. Xset a047 sgn(-2)
  633. X- 2 => -2
  634. Xsgn(-2) => -1
  635. Xset a048 shell("echo foo")
  636. Xshell("echo foo") => "foo"
  637. Xset a049 strlen("sadjflkhsldkfhsdlfjhk")
  638. Xstrlen("sadjflkhsldkfhsdlfjhk") => 21
  639. Xset a050 substr(a049, 2)
  640. Xa049 => 21
  641. Xsubstr(21, 2) => Type mismatch
  642. X./test.rem(214): Type mismatch
  643. Xset a051 substr(a050, 2, 6)
  644. Xa050 => ./test.rem(215): Undefined variable: a050
  645. Xset a052 time(1+2, 3+4)
  646. X1 + 2 => 3
  647. X3 + 4 => 7
  648. Xtime(3, 7) => 03:07
  649. Xrem 10 jan 1992 AT 11:22 CAL
  650. X./test.rem(217): Trig = Friday, 10 January, 1992
  651. Xset a053 trigdate()
  652. Xtrigdate() => 1992/01/10
  653. Xset a054 trigtime()
  654. Xtrigtime() => 11:22
  655. Xset a055 trigvalid()
  656. Xtrigvalid() => 1
  657. Xset a056 upper("sdfjhsdf ksjdfh kjsdfh ksjdfh")
  658. Xupper("sdfjhsdf ksjdfh kjsdfh ksjdfh") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  659. Xset a057 value("a05"+"6")
  660. X"a05" + "6" => "a056"
  661. Xvalue("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  662. Xset a058 version()
  663. Xversion() => "03.00.10"
  664. Xset a059 wkday(today())
  665. Xtoday() => 1991/02/16
  666. Xwkday(1991/02/16) => "Saturday"
  667. Xset a060 wkdaynum(today())
  668. Xtoday() => 1991/02/16
  669. Xwkdaynum(1991/02/16) => 6
  670. Xset a061 year(today())
  671. Xtoday() => 1991/02/16
  672. Xyear(1991/02/16) => 1991
  673. Xset a062 1+2*(3+4-(5*7/2))
  674. X3 + 4 => 7
  675. X5 * 7 => 35
  676. X35 / 2 => 17
  677. X7 - 17 => -10
  678. X2 * -10 => -20
  679. X1 + -20 => -19
  680. Xset a063 1>=2
  681. X1 >= 2 => 0
  682. Xset a064 1<2 || 3 > 4
  683. X1 < 2 => 1
  684. X3 > 4 => 0
  685. X1 || 0 => 1
  686. Xset a065 1 && 1
  687. X1 && 1 => 1
  688. Xset a066 !a065
  689. Xa065 => 1
  690. X! 1 => 0
  691. Xset a067 typeof(2)
  692. Xtypeof(2) => "INT"
  693. Xset a068 typeof("foo")
  694. Xtypeof("foo") => "STRING"
  695. Xset a069 typeof(11:33)
  696. Xtypeof(11:33) => "TIME"
  697. Xset a070 typeof(today())
  698. Xtoday() => 1991/02/16
  699. Xtypeof(1991/02/16) => "DATE"
  700. Xfset g(x,y) max(x,y)
  701. Xfset h(x,y) min(g(x+y, x*y), g(x-y, x/y))
  702. Xset a071 g(1, 2)
  703. XEntering UserFN g(1, 2)
  704. Xx => 1
  705. Xy => 2
  706. Xmax(1, 2) => 2
  707. XLeaving UserFN g() => 2
  708. Xset a072 h(2, 3)
  709. XEntering UserFN h(2, 3)
  710. Xx => 2
  711. Xy => 3
  712. X2 + 3 => 5
  713. Xx => 2
  714. Xy => 3
  715. X2 * 3 => 6
  716. XEntering UserFN g(5, 6)
  717. Xx => 5
  718. Xy => 6
  719. Xmax(5, 6) => 6
  720. XLeaving UserFN g() => 6
  721. Xx => 2
  722. Xy => 3
  723. X2 - 3 => -1
  724. Xx => 2
  725. Xy => 3
  726. X2 / 3 => 0
  727. XEntering UserFN g(-1, 0)
  728. Xx => -1
  729. Xy => 0
  730. Xmax(-1, 0) => 0
  731. XLeaving UserFN g() => 0
  732. Xmin(6, 0) => 0
  733. XLeaving UserFN h() => 0
  734. Xset a073 h("foo", 11:33)
  735. XEntering UserFN h("foo", 11:33)
  736. Xx => "foo"
  737. Xy => 11:33
  738. X"foo" + 11:33 => "foo11:33"
  739. Xx => "foo"
  740. Xy => 11:33
  741. X"foo" * 11:33 => Type mismatch
  742. X./test.rem(240): '*': Type mismatch
  743. XLeaving UserFN h() => Type mismatch
  744. Xset a074 dosubst("%a %b %c %d %e %f %g %h", '1992/5/5')
  745. Xdosubst("%a %b %c %d %e %f %g %h", 1992/05/05) => "on Tuesday, 5 May, 1992 in 444 days' tim"...
  746. Xmsg [a074]%
  747. X./test.rem(242): Trig = Saturday, 16 February, 1991
  748. Xa074 => "on Tuesday, 5 May, 1992 in 444 days' tim"...
  749. Xon 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
  750. Xset a075 dosubst("%i %j %k %l %m %n %o %p", '1992/5/5')
  751. Xdosubst("%i %j %k %l %m %n %o %p", 1992/05/05) => "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  752. Xmsg [a075]%
  753. X./test.rem(244): Trig = Saturday, 16 February, 1991
  754. Xa075 => "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  755. Xon 05/05 on Tuesday, May 5th, 1992 on Tuesday, May 5th on 1992/05/05 May 5  s
  756. Xset a076 dosubst("%q %r %s %t %u %v %w %x", '1992/5/5')
  757. Xdosubst("%q %r %s %t %u %v %w %x", 1992/05/05) => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  758. Xmsg [a076]%
  759. X./test.rem(246): Trig = Saturday, 16 February, 1991
  760. Xa076 => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  761. Xs' 05 th 05 on Tuesday, 5th May, 1992 on Tuesday, 5th May Tuesday 444
  762. Xset a077 dosubst("%y %z", '1992/5/5')
  763. Xdosubst("%y %z", 1992/05/05) => "1992 92
  764. X"
  765. Xmsg [a077]%
  766. X./test.rem(248): Trig = Saturday, 16 February, 1991
  767. Xa077 => "1992 92
  768. X"
  769. X1992 92
  770. Xset a078 easterdate(today())
  771. Xtoday() => 1991/02/16
  772. Xeasterdate(1991/02/16) => 1991/03/31
  773. Xset a079 easterdate(1992)
  774. Xeasterdate(1992) => 1992/04/19
  775. Xset a080 easterdate(1995)
  776. Xeasterdate(1995) => 1995/04/16
  777. Xset a081 ""
  778. Xdump
  779. X    Variable  Value
  780. X
  781. X        a017  29
  782. X        a036  "bar"
  783. X        a055  1
  784. X        a074  "on Tuesday, 5 May, 1992 in 444 days' tim"...
  785. X        a008  "11:44"
  786. X        a027  0
  787. X        a046  "ies"
  788. X        a065  1
  789. X        a018  1
  790. X        a037  1991/02/15
  791. X        a056  "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  792. X        a075  "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  793. X        a028  1
  794. X        a047  -1
  795. X        a066  0
  796. X        a019  0
  797. X        a038  33
  798. X        a057  "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  799. X        a076  "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  800. X        a029  0
  801. X        a048  "foo"
  802. X        a067  "INT"
  803. X        a039  "February"
  804. X        a058  "03.00.10"
  805. X        a077  "1992 92
  806. X"
  807. X        a049  21
  808. X        a068  "STRING"
  809. X        a059  "Saturday"
  810. X        a078  1991/03/31
  811. X        a069  "TIME"
  812. X        a079  1992/04/19
  813. X        a000  1
  814. X        a010  12
  815. X        a001  1
  816. X        a020  "./test.rem"
  817. X        a011  704
  818. X        a030  1
  819. X        a002  102
  820. X        a021  "foo bar baz"
  821. X        a040  2
  822. X        a012  411
  823. X        a031  "foobarbaz"
  824. X        a003  1990
  825. X        a022  11
  826. X        a041  "3rd"
  827. X        a060  6
  828. X        a013  1992/02/02
  829. X        a032  34
  830. X        a070  "DATE"
  831. X        a004  "B7BMB"
  832. X        a023  1
  833. X        a042  "4th"
  834. X        a061  1991
  835. X        a080  1995/04/16
  836. X        a033  "foo"
  837. X        a052  03:07
  838. X        a071  2
  839. X        a005  "baz"
  840. X        a024  0
  841. X        a043  "MSDOS"
  842. X        a062  -19
  843. X        a081  ""
  844. X        a015  16
  845. X        a034  1991/02/17
  846. X        a053  1992/01/10
  847. X        a072  0
  848. X        a006  "1"
  849. X        a025  4
  850. X        a044  "s"
  851. X        a063  0
  852. X        a016  28
  853. X        a035  1
  854. X        a054  11:22
  855. X        a007  "1991/02/16"
  856. X        a026  7
  857. X        a045  "iess"
  858. X        a064  1
  859. X
  860. END_OF_FILE
  861.   if test 23534 -ne `wc -c <'test1.cmp'`; then
  862.     echo shar: \"'test1.cmp'\" unpacked with wrong size!
  863.   fi
  864.   # end of 'test1.cmp'
  865. fi
  866. if test -f 'test2.cmp' -a "${1}" != "-c" ; then 
  867.   echo shar: Will not clobber existing file \"'test2.cmp'\"
  868. else
  869.   echo shar: Extracting \"'test2.cmp'\" \(23532 characters\)
  870.   sed "s/^X//" >'test2.cmp' <<'END_OF_FILE'
  871. X# Test file for REMIND
  872. X#
  873. X# Use this file to test the date calculation routines
  874. X# of the REMIND program by typing:
  875. X#
  876. X#     ./test-rem  # From WITHIN Remind source directory!
  877. X
  878. XREM MSG Today is [hebday(today())] [hebmon(today())] [hebyear(today())]
  879. X./test.rem(8): Trig = Saturday, 16 February, 1991
  880. XReminders for Saturday, 16th February, 1991:
  881. X
  882. Xtoday() => 1991/02/16
  883. Xhebday(1991/02/16) => 2
  884. Xtoday() => 1991/02/16
  885. Xhebmon(1991/02/16) => "Adar"
  886. Xtoday() => 1991/02/16
  887. Xhebyear(1991/02/16) => 5751
  888. XToday is 2 Adar 5751
  889. X
  890. Xfset _h(x, y) trigger(hebdate(x,y))
  891. X
  892. X[_h(1,  "Tishrey")] MSG Rosh Hashana 1
  893. XEntering UserFN _h(1, "Tishrey")
  894. Xx => 1
  895. Xy => "Tishrey"
  896. Xhebdate(1, "Tishrey") => 1991/09/09
  897. Xtrigger(1991/09/09) => "9 September 1991"
  898. XLeaving UserFN _h() => "9 September 1991"
  899. X./test.rem(11): Trig = Monday, 9 September, 1991
  900. X[_h(2,  "Tishrey")] MSG Rosh Hashana 2
  901. XEntering UserFN _h(2, "Tishrey")
  902. Xx => 2
  903. Xy => "Tishrey"
  904. Xhebdate(2, "Tishrey") => 1991/09/10
  905. Xtrigger(1991/09/10) => "10 September 1991"
  906. XLeaving UserFN _h() => "10 September 1991"
  907. X./test.rem(12): Trig = Tuesday, 10 September, 1991
  908. X[_h(3,  "Tishrey")] MSG Tzom Gedalia
  909. XEntering UserFN _h(3, "Tishrey")
  910. Xx => 3
  911. Xy => "Tishrey"
  912. Xhebdate(3, "Tishrey") => 1991/09/11
  913. Xtrigger(1991/09/11) => "11 September 1991"
  914. XLeaving UserFN _h() => "11 September 1991"
  915. X./test.rem(13): Trig = Wednesday, 11 September, 1991
  916. X[_h(10, "Tishrey")] MSG Yom Kippur
  917. XEntering UserFN _h(10, "Tishrey")
  918. Xx => 10
  919. Xy => "Tishrey"
  920. Xhebdate(10, "Tishrey") => 1991/09/18
  921. Xtrigger(1991/09/18) => "18 September 1991"
  922. XLeaving UserFN _h() => "18 September 1991"
  923. X./test.rem(14): Trig = Wednesday, 18 September, 1991
  924. X[_h(15, "Tishrey")] MSG Sukkot 1
  925. XEntering UserFN _h(15, "Tishrey")
  926. Xx => 15
  927. Xy => "Tishrey"
  928. Xhebdate(15, "Tishrey") => 1991/09/23
  929. Xtrigger(1991/09/23) => "23 September 1991"
  930. XLeaving UserFN _h() => "23 September 1991"
  931. X./test.rem(15): Trig = Monday, 23 September, 1991
  932. X[_h(25, "Kislev")]  MSG Channuka
  933. XEntering UserFN _h(25, "Kislev")
  934. Xx => 25
  935. Xy => "Kislev"
  936. Xhebdate(25, "Kislev") => 1991/12/02
  937. Xtrigger(1991/12/02) => "2 December 1991"
  938. XLeaving UserFN _h() => "2 December 1991"
  939. X./test.rem(16): Trig = Monday, 2 December, 1991
  940. X[_h(10, "Tevet")]   MSG Asara B'Tevet
  941. XEntering UserFN _h(10, "Tevet")
  942. Xx => 10
  943. Xy => "Tevet"
  944. Xhebdate(10, "Tevet") => 1991/12/17
  945. Xtrigger(1991/12/17) => "17 December 1991"
  946. XLeaving UserFN _h() => "17 December 1991"
  947. X./test.rem(17): Trig = Tuesday, 17 December, 1991
  948. X[_h(15, "Shvat")]   MSG Tu B'Shvat
  949. XEntering UserFN _h(15, "Shvat")
  950. Xx => 15
  951. Xy => "Shvat"
  952. Xhebdate(15, "Shvat") => 1992/01/20
  953. Xtrigger(1992/01/20) => "20 January 1992"
  954. XLeaving UserFN _h() => "20 January 1992"
  955. X./test.rem(18): Trig = Monday, 20 January, 1992
  956. X[_h(15, "Adar A")]  MSG Purim Katan
  957. XEntering UserFN _h(15, "Adar A")
  958. Xx => 15
  959. Xy => "Adar A"
  960. Xhebdate(15, "Adar A") => 1992/02/19
  961. Xtrigger(1992/02/19) => "19 February 1992"
  962. XLeaving UserFN _h() => "19 February 1992"
  963. X./test.rem(19): Trig = Wednesday, 19 February, 1992
  964. X[_h(14, "Adar")]    MSG Purim
  965. XEntering UserFN _h(14, "Adar")
  966. Xx => 14
  967. Xy => "Adar"
  968. Xhebdate(14, "Adar") => 1991/02/28
  969. Xtrigger(1991/02/28) => "28 February 1991"
  970. XLeaving UserFN _h() => "28 February 1991"
  971. X./test.rem(20): Trig = Thursday, 28 February, 1991
  972. X[_h(15, "Nisan")]   MSG Pesach
  973. XEntering UserFN _h(15, "Nisan")
  974. Xx => 15
  975. Xy => "Nisan"
  976. Xhebdate(15, "Nisan") => 1991/03/30
  977. Xtrigger(1991/03/30) => "30 March 1991"
  978. XLeaving UserFN _h() => "30 March 1991"
  979. X./test.rem(21): Trig = Saturday, 30 March, 1991
  980. X[_h(27, "Nisan")]   MSG Yom HaShoah
  981. XEntering UserFN _h(27, "Nisan")
  982. Xx => 27
  983. Xy => "Nisan"
  984. Xhebdate(27, "Nisan") => 1991/04/11
  985. Xtrigger(1991/04/11) => "11 April 1991"
  986. XLeaving UserFN _h() => "11 April 1991"
  987. X./test.rem(22): Trig = Thursday, 11 April, 1991
  988. X[_h(4,  "Iyar")]    MSG Yom HaZikaron
  989. XEntering UserFN _h(4, "Iyar")
  990. Xx => 4
  991. Xy => "Iyar"
  992. Xhebdate(4, "Iyar") => 1991/04/18
  993. Xtrigger(1991/04/18) => "18 April 1991"
  994. XLeaving UserFN _h() => "18 April 1991"
  995. X./test.rem(23): Trig = Thursday, 18 April, 1991
  996. X[_h(5,  "Iyar")]    MSG Yom Ha'atzmaut
  997. XEntering UserFN _h(5, "Iyar")
  998. Xx => 5
  999. Xy => "Iyar"
  1000. Xhebdate(5, "Iyar") => 1991/04/19
  1001. Xtrigger(1991/04/19) => "19 April 1991"
  1002. XLeaving UserFN _h() => "19 April 1991"
  1003. X./test.rem(24): Trig = Friday, 19 April, 1991
  1004. X[_h(28, "Iyar")]    MSG Yom Yerushalayim
  1005. XEntering UserFN _h(28, "Iyar")
  1006. Xx => 28
  1007. Xy => "Iyar"
  1008. Xhebdate(28, "Iyar") => 1991/05/12
  1009. Xtrigger(1991/05/12) => "12 May 1991"
  1010. XLeaving UserFN _h() => "12 May 1991"
  1011. X./test.rem(25): Trig = Sunday, 12 May, 1991
  1012. X[_h(6,  "Sivan")]   MSG Shavuot
  1013. XEntering UserFN _h(6, "Sivan")
  1014. Xx => 6
  1015. Xy => "Sivan"
  1016. Xhebdate(6, "Sivan") => 1991/05/19
  1017. Xtrigger(1991/05/19) => "19 May 1991"
  1018. XLeaving UserFN _h() => "19 May 1991"
  1019. X./test.rem(26): Trig = Sunday, 19 May, 1991
  1020. X[_h(9,  "Av")]      MSG Tish'a B'Av
  1021. XEntering UserFN _h(9, "Av")
  1022. Xx => 9
  1023. Xy => "Av"
  1024. Xhebdate(9, "Av") => 1991/07/20
  1025. Xtrigger(1991/07/20) => "20 July 1991"
  1026. XLeaving UserFN _h() => "20 July 1991"
  1027. X./test.rem(27): Trig = Saturday, 20 July, 1991
  1028. X
  1029. X# Test some jahrzeit cases
  1030. Xfset _i(x,y,z,a) trigger(hebdate(x,y,z,a))
  1031. X[_i(30, "Heshvan", today(), 5759)] MSG Complete-Complete
  1032. Xtoday() => 1991/02/16
  1033. XEntering UserFN _i(30, "Heshvan", 1991/02/16, 5759)
  1034. Xx => 30
  1035. Xy => "Heshvan"
  1036. Xz => 1991/02/16
  1037. Xa => 5759
  1038. Xhebdate(30, "Heshvan", 1991/02/16, 5759) => 1991/11/07
  1039. Xtrigger(1991/11/07) => "7 November 1991"
  1040. XLeaving UserFN _i() => "7 November 1991"
  1041. X./test.rem(31): Trig = Thursday, 7 November, 1991
  1042. X[_i(30, "Heshvan", today(), 5760)] MSG Complete-Defective
  1043. Xtoday() => 1991/02/16
  1044. XEntering UserFN _i(30, "Heshvan", 1991/02/16, 5760)
  1045. Xx => 30
  1046. Xy => "Heshvan"
  1047. Xz => 1991/02/16
  1048. Xa => 5760
  1049. Xhebdate(30, "Heshvan", 1991/02/16, 5760) => 1991/11/07
  1050. Xtrigger(1991/11/07) => "7 November 1991"
  1051. XLeaving UserFN _i() => "7 November 1991"
  1052. X./test.rem(32): Trig = Thursday, 7 November, 1991
  1053. X[_i(30, "Heshvan", today(), 5761)] MSG Illegal
  1054. Xtoday() => 1991/02/16
  1055. XEntering UserFN _i(30, "Heshvan", 1991/02/16, 5761)
  1056. Xx => 30
  1057. Xy => "Heshvan"
  1058. Xz => 1991/02/16
  1059. Xa => 5761
  1060. Xhebdate(30, "Heshvan", 1991/02/16, 5761) => ./test.rem(33): 30 Heshvan 5761: Invalid Hebrew date
  1061. XInvalid Hebrew date
  1062. XLeaving UserFN _i() => Invalid Hebrew date
  1063. X
  1064. X[_i(30, "Kislev", today(), 5759)] MSG Complete-Complete
  1065. Xtoday() => 1991/02/16
  1066. XEntering UserFN _i(30, "Kislev", 1991/02/16, 5759)
  1067. Xx => 30
  1068. Xy => "Kislev"
  1069. Xz => 1991/02/16
  1070. Xa => 5759
  1071. Xhebdate(30, "Kislev", 1991/02/16, 5759) => 1991/12/07
  1072. Xtrigger(1991/12/07) => "7 December 1991"
  1073. XLeaving UserFN _i() => "7 December 1991"
  1074. X./test.rem(35): Trig = Saturday, 7 December, 1991
  1075. X[_i(30, "Kislev", today(), 5760)] MSG Complete-Defective
  1076. Xtoday() => 1991/02/16
  1077. XEntering UserFN _i(30, "Kislev", 1991/02/16, 5760)
  1078. Xx => 30
  1079. Xy => "Kislev"
  1080. Xz => 1991/02/16
  1081. Xa => 5760
  1082. Xhebdate(30, "Kislev", 1991/02/16, 5760) => 1991/12/07
  1083. Xtrigger(1991/12/07) => "7 December 1991"
  1084. XLeaving UserFN _i() => "7 December 1991"
  1085. X./test.rem(36): Trig = Saturday, 7 December, 1991
  1086. X[_i(30, "Kislev", today(), 5761)] MSG Illegal
  1087. Xtoday() => 1991/02/16
  1088. XEntering UserFN _i(30, "Kislev", 1991/02/16, 5761)
  1089. Xx => 30
  1090. Xy => "Kislev"
  1091. Xz => 1991/02/16
  1092. Xa => 5761
  1093. Xhebdate(30, "Kislev", 1991/02/16, 5761) => ./test.rem(37): 30 Kislev 5761: Invalid Hebrew date
  1094. XInvalid Hebrew date
  1095. XLeaving UserFN _i() => Invalid Hebrew date
  1096. X
  1097. X[_i(30, "Adar A", today(), 5755)] MSG Leap
  1098. Xtoday() => 1991/02/16
  1099. XEntering UserFN _i(30, "Adar A", 1991/02/16, 5755)
  1100. Xx => 30
  1101. Xy => "Adar A"
  1102. Xz => 1991/02/16
  1103. Xa => 5755
  1104. Xhebdate(30, "Adar A", 1991/02/16, 5755) => 1992/03/05
  1105. Xtrigger(1992/03/05) => "5 March 1992"
  1106. XLeaving UserFN _i() => "5 March 1992"
  1107. X./test.rem(39): Trig = Thursday, 5 March, 1992
  1108. X[_i(30, "Adar A", today(), 5756)] MSG Illegal
  1109. Xtoday() => 1991/02/16
  1110. XEntering UserFN _i(30, "Adar A", 1991/02/16, 5756)
  1111. Xx => 30
  1112. Xy => "Adar A"
  1113. Xz => 1991/02/16
  1114. Xa => 5756
  1115. Xhebdate(30, "Adar A", 1991/02/16, 5756) => ./test.rem(40): No Adar A in 5756
  1116. XInvalid Hebrew date
  1117. XLeaving UserFN _i() => Invalid Hebrew date
  1118. X[_i(29, "Adar A", today(), 5755)] MSG Leap
  1119. Xtoday() => 1991/02/16
  1120. XEntering UserFN _i(29, "Adar A", 1991/02/16, 5755)
  1121. Xx => 29
  1122. Xy => "Adar A"
  1123. Xz => 1991/02/16
  1124. Xa => 5755
  1125. Xhebdate(29, "Adar A", 1991/02/16, 5755) => 1991/03/15
  1126. Xtrigger(1991/03/15) => "15 March 1991"
  1127. XLeaving UserFN _i() => "15 March 1991"
  1128. X./test.rem(41): Trig = Friday, 15 March, 1991
  1129. X[_i(29, "Adar A", today(), 5756)] MSG Illegal
  1130. Xtoday() => 1991/02/16
  1131. XEntering UserFN _i(29, "Adar A", 1991/02/16, 5756)
  1132. Xx => 29
  1133. Xy => "Adar A"
  1134. Xz => 1991/02/16
  1135. Xa => 5756
  1136. Xhebdate(29, "Adar A", 1991/02/16, 5756) => ./test.rem(42): No Adar A in 5756
  1137. XInvalid Hebrew date
  1138. XLeaving UserFN _i() => Invalid Hebrew date
  1139. X
  1140. X# Test each possible case of the basic reminders.
  1141. X
  1142. XREM MSG Every Day
  1143. X./test.rem(46): Trig = Saturday, 16 February, 1991
  1144. XEvery Day
  1145. X
  1146. X
  1147. XREM 18 MSG Every 18th 
  1148. X./test.rem(48): Trig = Monday, 18 February, 1991
  1149. XREM 15 MSG Every 15th
  1150. X./test.rem(49): Trig = Friday, 15 March, 1991
  1151. X
  1152. XREM Feb MSG February
  1153. X./test.rem(51): Trig = Saturday, 16 February, 1991
  1154. XFebruary
  1155. X
  1156. XREM Jan MSG January
  1157. X./test.rem(52): Trig = Wednesday, 1 January, 1992
  1158. XREM March MSG March
  1159. X./test.rem(53): Trig = Friday, 1 March, 1991
  1160. X
  1161. XREM 13 Jan MSG 13 Jan
  1162. X./test.rem(55): Trig = Monday, 13 January, 1992
  1163. XREM 15 Feb MSG 15 Feb
  1164. X./test.rem(56): Trig = Saturday, 15 February, 1992
  1165. XREM 28 Feb MSG 28 Feb
  1166. X./test.rem(57): Trig = Thursday, 28 February, 1991
  1167. XREM 29 Feb MSG 29 Feb
  1168. X./test.rem(58): Trig = Saturday, 29 February, 1992
  1169. XREM 5 Mar MSG 5 Mar
  1170. X./test.rem(59): Trig = Tuesday, 5 March, 1991
  1171. X
  1172. XREM 1990 MSG 1990
  1173. X./test.rem(61): Expired
  1174. XREM 1991 MSG 1991
  1175. X./test.rem(62): Trig = Saturday, 16 February, 1991
  1176. X1991
  1177. X
  1178. XREM 1992 MSG 1991
  1179. X./test.rem(63): Trig = Wednesday, 1 January, 1992
  1180. X
  1181. XREM 1 1990 MSG 1 1990
  1182. X./test.rem(65): Expired
  1183. XREM 29 1991 MSG 29 1991
  1184. X./test.rem(66): Trig = Friday, 29 March, 1991
  1185. XREM 29 1992 MSG 29 1992
  1186. X./test.rem(67): Trig = Wednesday, 29 January, 1992
  1187. XREM 16 1991 MSG 16 1991
  1188. X./test.rem(68): Trig = Saturday, 16 February, 1991
  1189. X16 1991
  1190. X
  1191. X
  1192. XREM Jan 1990 MSG Jan 1990
  1193. X./test.rem(70): Expired
  1194. XREM Feb 1991 MSG Feb 1991
  1195. X./test.rem(71): Trig = Saturday, 16 February, 1991
  1196. XFeb 1991
  1197. X
  1198. XREM Dec 1991 MSG Dec 1991
  1199. X./test.rem(72): Trig = Sunday, 1 December, 1991
  1200. XREM May 1992 MSG May 1992
  1201. X./test.rem(73): Trig = Friday, 1 May, 1992
  1202. X
  1203. XREM 1 Jan 1991 MSG 1 Jan 1991
  1204. X./test.rem(75): Expired
  1205. XREM 16 Feb 1991 MSG 16 Feb 1991
  1206. X./test.rem(76): Trig = Saturday, 16 February, 1991
  1207. X16 Feb 1991
  1208. X
  1209. XREM 29 Dec 1992 MSG 29 Dec 1992
  1210. X./test.rem(77): Trig = Tuesday, 29 December, 1992
  1211. X
  1212. XREM Sun MSG Sun
  1213. X./test.rem(79): Trig = Sunday, 17 February, 1991
  1214. XREM Fri Sat Tue MSG Fri Sat Tue
  1215. X./test.rem(80): Trig = Saturday, 16 February, 1991
  1216. XFri Sat Tue
  1217. X
  1218. X
  1219. XREM Sun 16 MSG Sun 16
  1220. X./test.rem(82): Trig = Sunday, 17 February, 1991
  1221. XREM Mon Tue Wed Thu Fri 1 MSG Mon Tue Wed Thu Fri 1
  1222. X./test.rem(83): Trig = Friday, 1 March, 1991
  1223. X
  1224. XREM Sun Feb MSG Sun Feb
  1225. X./test.rem(85): Trig = Sunday, 17 February, 1991
  1226. XREM Mon Tue March MSG Mon Tue March
  1227. X./test.rem(86): Trig = Monday, 4 March, 1991
  1228. X
  1229. XREM Sun 16 Feb MSG Sun 16 Feb
  1230. X./test.rem(88): Trig = Sunday, 17 February, 1991
  1231. XREM Mon Tue 10 March MSG Mon Tue 10 March
  1232. X./test.rem(89): Trig = Monday, 11 March, 1991
  1233. X
  1234. XREM Sat Sun 1991 MSG Sat Sun 1991
  1235. X./test.rem(91): Trig = Saturday, 16 February, 1991
  1236. XSat Sun 1991
  1237. X
  1238. XREM Mon Tue 1992 MSG Mon Tue 1992
  1239. X./test.rem(92): Trig = Monday, 6 January, 1992
  1240. X
  1241. XREM Sun 16 1991 MSG Sun 16 1991
  1242. X./test.rem(94): Trig = Sunday, 17 February, 1991
  1243. XREM Mon Tue Wed Thu Fri 1 1992 MSG Mon Tue Wed Thu Fri 1 1992
  1244. X./test.rem(95): Trig = Wednesday, 1 January, 1992
  1245. X
  1246. XREM Mon Feb 1991 MSG Mon Feb 1991
  1247. X./test.rem(97): Trig = Monday, 18 February, 1991
  1248. XREM Tue Jan 1992 MSG Tue Jan 1992
  1249. X./test.rem(98): Trig = Tuesday, 7 January, 1992
  1250. X
  1251. XREM Sun Mon 16 Feb 1991 MSG Sun Mon 16 Feb 1991
  1252. X./test.rem(100): Trig = Sunday, 17 February, 1991
  1253. XREM Tue 28 Jan 1992 MSG Tue 28 Jan 1992
  1254. X./test.rem(101): Trig = Tuesday, 28 January, 1992
  1255. X
  1256. X# Try some Backs
  1257. XCLEAR-OMIT-CONTEXT
  1258. XREM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun
  1259. X./test.rem(105): Trig = Thursday, 28 February, 1991
  1260. XREM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun
  1261. X./test.rem(106): Trig = Thursday, 28 February, 1991
  1262. X
  1263. XOMIT 28 Feb
  1264. XREM 1 -1 OMIT sat sun MSG 1 -1 OMIT Sat Sun (28 Feb omitted)
  1265. X./test.rem(109): Trig = Wednesday, 27 February, 1991
  1266. XREM 1 --1 OMIT sat sun MSG 1 --1 OMIT Sat Sun (28 Feb omitted)
  1267. X./test.rem(110): Trig = Thursday, 28 February, 1991
  1268. X
  1269. XCLEAR-OMIT-CONTEXT
  1270. X
  1271. X# Try out UNTIL
  1272. XREM Wed UNTIL 21 Feb 1991 MSG Wed UNTIL 21 Feb 1991
  1273. X./test.rem(115): Trig = Wednesday, 20 February, 1991
  1274. X
  1275. X# Try playing with the OMIT context
  1276. X
  1277. XOMIT 28 Feb 1991
  1278. XREM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
  1279. X./test.rem(120): Trig = Wednesday, 27 February, 1991
  1280. XREM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
  1281. X./test.rem(121): Trig = Thursday, 28 February, 1991
  1282. XREM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
  1283. X./test.rem(122): Trig = Wednesday, 27 February, 1991
  1284. XREM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
  1285. X./test.rem(123): Trig = Friday, 28 February, 1992
  1286. XREM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
  1287. X./test.rem(124): Trig = Friday, 1 March, 1991
  1288. X
  1289. XPUSH-OMIT-CONTEXT
  1290. XCLEAR-OMIT-CONTEXT
  1291. XREM 1 Mar -1 MSG 1 mar -1
  1292. X./test.rem(128): Trig = Thursday, 28 February, 1991
  1293. XREM 1 Mar --1 MSG 1 mar --1
  1294. X./test.rem(129): Trig = Thursday, 28 February, 1991
  1295. XREM 28 Feb BEFORE MSG 28 Feb BEFORE
  1296. X./test.rem(130): Trig = Thursday, 28 February, 1991
  1297. XREM 28 Feb SKIP MSG 28 Feb SKIP 
  1298. X./test.rem(131): Trig = Thursday, 28 February, 1991
  1299. XREM 28 Feb AFTER MSG 28 Feb AFTER
  1300. X./test.rem(132): Trig = Thursday, 28 February, 1991
  1301. X
  1302. XPOP-OMIT-CONTEXT
  1303. XREM 1 Mar -1 MSG 1 mar -1 (28feb91 omitted)
  1304. X./test.rem(135): Trig = Wednesday, 27 February, 1991
  1305. XREM 1 Mar --1 MSG 1 mar --1 (28Feb91 omitted)
  1306. X./test.rem(136): Trig = Thursday, 28 February, 1991
  1307. XREM 28 Feb BEFORE MSG 28 Feb BEFORE (28Feb91 omitted)
  1308. X./test.rem(137): Trig = Wednesday, 27 February, 1991
  1309. XREM 28 Feb SKIP MSG 28 Feb SKIP (28Feb91 omitted)
  1310. X./test.rem(138): Trig = Friday, 28 February, 1992
  1311. XREM 28 Feb AFTER MSG 28 Feb AFTER (28Feb91 omitted)
  1312. X./test.rem(139): Trig = Friday, 1 March, 1991
  1313. X
  1314. X
  1315. XREM 13 March 1991 *1 UNTIL 19 March 1991 MSG 13-19 Mar 91
  1316. X./test.rem(142): Trig = Wednesday, 13 March, 1991
  1317. X# Test BACK
  1318. XCLEAR-OMIT-CONTEXT
  1319. XREM 18 Feb 1991 +1 MSG 18 Feb 1991 +1
  1320. X./test.rem(146): Trig = Monday, 18 February, 1991
  1321. X
  1322. XOMIT 17 Feb 1991
  1323. XREM 18 Feb 1991 +1 MSG 18 Feb 1991 +1 (17Feb91 omitted)
  1324. X./test.rem(149): Trig = Monday, 18 February, 1991
  1325. X18 Feb 1991 +1 (17Feb91 omitted)
  1326. X
  1327. XREM 18 Feb 1991 ++1 MSG 18 Feb 1991 ++1 (17Feb91 omitted)
  1328. X./test.rem(150): Trig = Monday, 18 February, 1991
  1329. X
  1330. XCLEAR-OMIT-CONTEXT
  1331. X# Test the scanfrom clause
  1332. XREM Fri SATISFY 1
  1333. X./test.rem(154): Trig = Friday, 22 February, 1991
  1334. XOMIT [trigger(trigdate())]
  1335. Xtrigdate() => 1991/02/22
  1336. Xtrigger(1991/02/22) => "22 February 1991"
  1337. XREM Fri after MSG 23 Feb 1991
  1338. X./test.rem(156): Trig = Saturday, 23 February, 1991
  1339. XCLEAR-OMIT-CONTEXT
  1340. XREM Fri SCANFROM [trigger(today()-7)] SATISFY 1
  1341. Xtoday() => 1991/02/16
  1342. X1991/02/16 - 7 => 1991/02/09
  1343. Xtrigger(1991/02/09) => "9 February 1991"
  1344. X./test.rem(158): Trig = Friday, 15 February, 1991
  1345. XOMIT [trigger(trigdate())]
  1346. Xtrigdate() => 1991/02/15
  1347. Xtrigger(1991/02/15) => "15 February 1991"
  1348. XREM Fri after MSG 16 Feb 1991
  1349. X./test.rem(160): Trig = Saturday, 16 February, 1991
  1350. X16 Feb 1991
  1351. X
  1352. XCLEAR-OMIT-CONTEXT
  1353. Xset a000 abs(1)
  1354. Xabs(1) => 1
  1355. Xset a001 abs(-1)
  1356. X- 1 => -1
  1357. Xabs(-1) => 1
  1358. Xset a002 asc("foo")
  1359. Xasc("foo") => 102
  1360. Xset a003 baseyr()
  1361. Xbaseyr() => 1990
  1362. Xset a004 char(66,55,66,77,66)
  1363. Xchar(66, 55, 66, 77, 66) => "B7BMB"
  1364. Xset a005 choose(3, "foo", "bar", "baz", "blech")
  1365. Xchoose(3, "foo", "bar", "baz", "blech") => "baz"
  1366. Xset a006 coerce("string", 1)
  1367. Xcoerce("string", 1) => "1"
  1368. Xset a007 coerce("string", today())
  1369. Xtoday() => 1991/02/16
  1370. Xcoerce("string", 1991/02/16) => "1991/02/16"
  1371. Xset a008 coerce("string", 11:44)
  1372. Xcoerce("string", 11:44) => "11:44"
  1373. Xset a009 coerce("int", "badnews")
  1374. Xcoerce("int", "badnews") => Can't coerce
  1375. X./test.rem(171): Can't coerce
  1376. Xset a010 coerce("int", "12")
  1377. Xcoerce("int", "12") => 12
  1378. Xset a011 coerce("int", 11:44)
  1379. Xcoerce("int", 11:44) => 704
  1380. Xset a012 coerce("int", today())
  1381. Xtoday() => 1991/02/16
  1382. Xcoerce("int", 1991/02/16) => 411
  1383. Xset a013 date(1992, 2, 2)
  1384. Xdate(1992, 2, 2) => 1992/02/02
  1385. Xset a014 date(1993, 2, 29)
  1386. Xdate(1993, 2, 29) => Bad date specification
  1387. X./test.rem(176): Bad date specification
  1388. Xset a015 day(today())
  1389. Xtoday() => 1991/02/16
  1390. Xday(1991/02/16) => 16
  1391. Xset a016 daysinmon(2, 1991)
  1392. Xdaysinmon(2, 1991) => 28
  1393. Xset a017 daysinmon(2, 1992)
  1394. Xdaysinmon(2, 1992) => 29
  1395. Xset a018 defined("a017")
  1396. Xdefined("a017") => 1
  1397. Xset a019 defined("a019")
  1398. Xdefined("a019") => 0
  1399. Xset a020 filename()
  1400. Xfilename() => "./test.rem"
  1401. Xset a021 getenv("TEST_GETENV")
  1402. Xgetenv("TEST_GETENV") => "foo bar baz"
  1403. Xset a022 hour(11:22)
  1404. Xhour(11:22) => 11
  1405. Xset a023 iif(1, 1, 0)
  1406. Xiif(1, 1, 0) => 1
  1407. Xset a024 iif(0, 1, 0)
  1408. Xiif(0, 1, 0) => 0
  1409. Xset a025 index("barfoobar", "foo")
  1410. Xindex("barfoobar", "foo") => 4
  1411. Xset a026 index("barfoobar", "bar", 2)
  1412. Xindex("barfoobar", "bar", 2) => 7
  1413. Xset a027 isleap(today())
  1414. Xtoday() => 1991/02/16
  1415. Xisleap(1991/02/16) => 0
  1416. Xset a028 isleap(1992)
  1417. Xisleap(1992) => 1
  1418. Xomit [trigger(today())]
  1419. Xtoday() => 1991/02/16
  1420. Xtrigger(1991/02/16) => "16 February 1991"
  1421. Xset a030 isomitted(today())
  1422. Xtoday() => 1991/02/16
  1423. Xisomitted(1991/02/16) => 1
  1424. Xclear
  1425. Xset a029 isomitted(today())
  1426. Xtoday() => 1991/02/16
  1427. Xisomitted(1991/02/16) => 0
  1428. Xset a031 lower("FOOBARBAZ")
  1429. Xlower("FOOBARBAZ") => "foobarbaz"
  1430. Xset a032 max(1, 2, 34, 1, 3)
  1431. Xmax(1, 2, 34, 1, 3) => 34
  1432. Xset a033 max("foo", "bar", "baz")
  1433. Xmax("foo", "bar", "baz") => "foo"
  1434. Xset a034 max(today(), today()+1, today()-1)
  1435. Xtoday() => 1991/02/16
  1436. Xtoday() => 1991/02/16
  1437. X1991/02/16 + 1 => 1991/02/17
  1438. Xtoday() => 1991/02/16
  1439. X1991/02/16 - 1 => 1991/02/15
  1440. Xmax(1991/02/16, 1991/02/17, 1991/02/15) => 1991/02/17
  1441. Xset a035 min(1, 2, 34, 1, 3)
  1442. Xmin(1, 2, 34, 1, 3) => 1
  1443. Xset a036 min("foo", "bar", "baz")
  1444. Xmin("foo", "bar", "baz") => "bar"
  1445. Xset a037 min(today(), today()+1, today()-1)
  1446. Xtoday() => 1991/02/16
  1447. Xtoday() => 1991/02/16
  1448. X1991/02/16 + 1 => 1991/02/17
  1449. Xtoday() => 1991/02/16
  1450. X1991/02/16 - 1 => 1991/02/15
  1451. Xmin(1991/02/16, 1991/02/17, 1991/02/15) => 1991/02/15
  1452. Xset a038 minute(11:33)
  1453. Xminute(11:33) => 33
  1454. Xset a039 mon(today())
  1455. Xtoday() => 1991/02/16
  1456. Xmon(1991/02/16) => "February"
  1457. Xset a040 monnum(today())
  1458. Xtoday() => 1991/02/16
  1459. Xmonnum(1991/02/16) => 2
  1460. Xset a041 ord(3)
  1461. Xord(3) => "3rd"
  1462. Xset a042 ord(4)
  1463. Xord(4) => "4th"
  1464. Xset a043 ostype()
  1465. Xostype() => "OS/2"
  1466. Xset a044 plural(2)
  1467. Xplural(2) => "s"
  1468. Xset a045 plural(2, "ies")
  1469. Xplural(2, "ies") => "iess"
  1470. Xset a046 plural(2, "y", "ies")
  1471. Xplural(2, "y", "ies") => "ies"
  1472. Xset a047 sgn(-2)
  1473. X- 2 => -2
  1474. Xsgn(-2) => -1
  1475. Xset a048 shell("echo foo")
  1476. Xshell("echo foo") => "foo"
  1477. Xset a049 strlen("sadjflkhsldkfhsdlfjhk")
  1478. Xstrlen("sadjflkhsldkfhsdlfjhk") => 21
  1479. Xset a050 substr(a049, 2)
  1480. Xa049 => 21
  1481. Xsubstr(21, 2) => Type mismatch
  1482. X./test.rem(214): Type mismatch
  1483. Xset a051 substr(a050, 2, 6)
  1484. Xa050 => ./test.rem(215): Undefined variable: a050
  1485. Xset a052 time(1+2, 3+4)
  1486. X1 + 2 => 3
  1487. X3 + 4 => 7
  1488. Xtime(3, 7) => 03:07
  1489. Xrem 10 jan 1992 AT 11:22 CAL
  1490. X./test.rem(217): Trig = Friday, 10 January, 1992
  1491. Xset a053 trigdate()
  1492. Xtrigdate() => 1992/01/10
  1493. Xset a054 trigtime()
  1494. Xtrigtime() => 11:22
  1495. Xset a055 trigvalid()
  1496. Xtrigvalid() => 1
  1497. Xset a056 upper("sdfjhsdf ksjdfh kjsdfh ksjdfh")
  1498. Xupper("sdfjhsdf ksjdfh kjsdfh ksjdfh") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  1499. Xset a057 value("a05"+"6")
  1500. X"a05" + "6" => "a056"
  1501. Xvalue("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  1502. Xset a058 version()
  1503. Xversion() => "03.00.10"
  1504. Xset a059 wkday(today())
  1505. Xtoday() => 1991/02/16
  1506. Xwkday(1991/02/16) => "Saturday"
  1507. Xset a060 wkdaynum(today())
  1508. Xtoday() => 1991/02/16
  1509. Xwkdaynum(1991/02/16) => 6
  1510. Xset a061 year(today())
  1511. Xtoday() => 1991/02/16
  1512. Xyear(1991/02/16) => 1991
  1513. Xset a062 1+2*(3+4-(5*7/2))
  1514. X3 + 4 => 7
  1515. X5 * 7 => 35
  1516. X35 / 2 => 17
  1517. X7 - 17 => -10
  1518. X2 * -10 => -20
  1519. X1 + -20 => -19
  1520. Xset a063 1>=2
  1521. X1 >= 2 => 0
  1522. Xset a064 1<2 || 3 > 4
  1523. X1 < 2 => 1
  1524. X3 > 4 => 0
  1525. X1 || 0 => 1
  1526. Xset a065 1 && 1
  1527. X1 && 1 => 1
  1528. Xset a066 !a065
  1529. Xa065 => 1
  1530. X! 1 => 0
  1531. Xset a067 typeof(2)
  1532. Xtypeof(2) => "INT"
  1533. Xset a068 typeof("foo")
  1534. Xtypeof("foo") => "STRING"
  1535. Xset a069 typeof(11:33)
  1536. Xtypeof(11:33) => "TIME"
  1537. Xset a070 typeof(today())
  1538. Xtoday() => 1991/02/16
  1539. Xtypeof(1991/02/16) => "DATE"
  1540. Xfset g(x,y) max(x,y)
  1541. Xfset h(x,y) min(g(x+y, x*y), g(x-y, x/y))
  1542. Xset a071 g(1, 2)
  1543. XEntering UserFN g(1, 2)
  1544. Xx => 1
  1545. Xy => 2
  1546. Xmax(1, 2) => 2
  1547. XLeaving UserFN g() => 2
  1548. Xset a072 h(2, 3)
  1549. XEntering UserFN h(2, 3)
  1550. Xx => 2
  1551. Xy => 3
  1552. X2 + 3 => 5
  1553. Xx => 2
  1554. Xy => 3
  1555. X2 * 3 => 6
  1556. XEntering UserFN g(5, 6)
  1557. Xx => 5
  1558. Xy => 6
  1559. Xmax(5, 6) => 6
  1560. XLeaving UserFN g() => 6
  1561. Xx => 2
  1562. Xy => 3
  1563. X2 - 3 => -1
  1564. Xx => 2
  1565. Xy => 3
  1566. X2 / 3 => 0
  1567. XEntering UserFN g(-1, 0)
  1568. Xx => -1
  1569. Xy => 0
  1570. Xmax(-1, 0) => 0
  1571. XLeaving UserFN g() => 0
  1572. Xmin(6, 0) => 0
  1573. XLeaving UserFN h() => 0
  1574. Xset a073 h("foo", 11:33)
  1575. XEntering UserFN h("foo", 11:33)
  1576. Xx => "foo"
  1577. Xy => 11:33
  1578. X"foo" + 11:33 => "foo11:33"
  1579. Xx => "foo"
  1580. Xy => 11:33
  1581. X"foo" * 11:33 => Type mismatch
  1582. X./test.rem(240): '*': Type mismatch
  1583. XLeaving UserFN h() => Type mismatch
  1584. Xset a074 dosubst("%a %b %c %d %e %f %g %h", '1992/5/5')
  1585. Xdosubst("%a %b %c %d %e %f %g %h", 1992/05/05) => "on Tuesday, 5 May, 1992 in 444 days' tim"...
  1586. Xmsg [a074]%
  1587. X./test.rem(242): Trig = Saturday, 16 February, 1991
  1588. Xa074 => "on Tuesday, 5 May, 1992 in 444 days' tim"...
  1589. Xon 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
  1590. Xset a075 dosubst("%i %j %k %l %m %n %o %p", '1992/5/5')
  1591. Xdosubst("%i %j %k %l %m %n %o %p", 1992/05/05) => "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  1592. Xmsg [a075]%
  1593. X./test.rem(244): Trig = Saturday, 16 February, 1991
  1594. Xa075 => "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  1595. Xon 05/05 on Tuesday, May 5th, 1992 on Tuesday, May 5th on 1992/05/05 May 5  s
  1596. Xset a076 dosubst("%q %r %s %t %u %v %w %x", '1992/5/5')
  1597. Xdosubst("%q %r %s %t %u %v %w %x", 1992/05/05) => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  1598. Xmsg [a076]%
  1599. X./test.rem(246): Trig = Saturday, 16 February, 1991
  1600. Xa076 => "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  1601. Xs' 05 th 05 on Tuesday, 5th May, 1992 on Tuesday, 5th May Tuesday 444
  1602. Xset a077 dosubst("%y %z", '1992/5/5')
  1603. Xdosubst("%y %z", 1992/05/05) => "1992 92
  1604. X"
  1605. Xmsg [a077]%
  1606. X./test.rem(248): Trig = Saturday, 16 February, 1991
  1607. Xa077 => "1992 92
  1608. X"
  1609. X1992 92
  1610. Xset a078 easterdate(today())
  1611. Xtoday() => 1991/02/16
  1612. Xeasterdate(1991/02/16) => 1991/03/31
  1613. Xset a079 easterdate(1992)
  1614. Xeasterdate(1992) => 1992/04/19
  1615. Xset a080 easterdate(1995)
  1616. Xeasterdate(1995) => 1995/04/16
  1617. Xset a081 ""
  1618. Xdump
  1619. X    Variable  Value
  1620. X
  1621. X        a017  29
  1622. X        a036  "bar"
  1623. X        a055  1
  1624. X        a074  "on Tuesday, 5 May, 1992 in 444 days' tim"...
  1625. X        a008  "11:44"
  1626. X        a027  0
  1627. X        a046  "ies"
  1628. X        a065  1
  1629. X        a018  1
  1630. X        a037  1991/02/15
  1631. X        a056  "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  1632. X        a075  "on 05/05 on Tuesday, May 5th, 1992 on Tu"...
  1633. X        a028  1
  1634. X        a047  -1
  1635. X        a066  0
  1636. X        a019  0
  1637. X        a038  33
  1638. X        a057  "SDFJHSDF KSJDFH KJSDFH KSJDFH"
  1639. X        a076  "s' 05 th 05 on Tuesday, 5th May, 1992 on"...
  1640. X        a029  0
  1641. X        a048  "foo"
  1642. X        a067  "INT"
  1643. X        a039  "February"
  1644. X        a058  "03.00.10"
  1645. X        a077  "1992 92
  1646. X"
  1647. X        a049  21
  1648. X        a068  "STRING"
  1649. X        a059  "Saturday"
  1650. X        a078  1991/03/31
  1651. X        a069  "TIME"
  1652. X        a079  1992/04/19
  1653. X        a000  1
  1654. X        a010  12
  1655. X        a001  1
  1656. X        a020  "./test.rem"
  1657. X        a011  704
  1658. X        a030  1
  1659. X        a002  102
  1660. X        a021  "foo bar baz"
  1661. X        a040  2
  1662. X        a012  411
  1663. X        a031  "foobarbaz"
  1664. X        a003  1990
  1665. X        a022  11
  1666. X        a041  "3rd"
  1667. X        a060  6
  1668. X        a013  1992/02/02
  1669. X        a032  34
  1670. X        a070  "DATE"
  1671. X        a004  "B7BMB"
  1672. X        a023  1
  1673. X        a042  "4th"
  1674. X        a061  1991
  1675. X        a080  1995/04/16
  1676. X        a033  "foo"
  1677. X        a052  03:07
  1678. X        a071  2
  1679. X        a005  "baz"
  1680. X        a024  0
  1681. X        a043  "OS/2"
  1682. X        a062  -19
  1683. X        a081  ""
  1684. X        a015  16
  1685. X        a034  1991/02/17
  1686. X        a053  1992/01/10
  1687. X        a072  0
  1688. X        a006  "1"
  1689. X        a025  4
  1690. X        a044  "s"
  1691. X        a063  0
  1692. X        a016  28
  1693. X        a035  1
  1694. X        a054  11:22
  1695. X        a007  "1991/02/16"
  1696. X        a026  7
  1697. X        a045  "iess"
  1698. X        a064  1
  1699. X
  1700. END_OF_FILE
  1701.   if test 23532 -ne `wc -c <'test2.cmp'`; then
  1702.     echo shar: \"'test2.cmp'\" unpacked with wrong size!
  1703.   fi
  1704.   # end of 'test2.cmp'
  1705. fi
  1706. echo shar: End of archive 3 \(of 3\).
  1707. cp /dev/null ark3isdone
  1708. MISSING=""
  1709. for I in 1 2 3 ; do
  1710.     if test ! -f ark${I}isdone ; then
  1711.     MISSING="${MISSING} ${I}"
  1712.     fi
  1713. done
  1714. if test "${MISSING}" = "" ; then
  1715.     echo You have unpacked all 3 archives.
  1716.     rm -f ark[1-9]isdone
  1717. else
  1718.     echo You still must unpack the following archives:
  1719.     echo "        " ${MISSING}
  1720. fi
  1721. exit 0
  1722. exit 0 # Just in case...
  1723.