home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume42 / remind / patch13a next >
Encoding:
Internet Message Format  |  1994-05-06  |  45.6 KB

  1. From: dfs@doe.carleton.ca (David F. Skoll)
  2. Newsgroups: comp.sources.misc
  3. Subject: v42i064:  remind - A replacement for calendar, Patch13a/3
  4. Date: 6 May 1994 12:27:24 -0500
  5. Organization: Dept. of Electronics, Carleton University
  6. Sender: kent@sparky.sterling.com
  7. Approved: kent@sparky.sterling.com
  8. Message-ID: <csm-v42i064=remind.122714@sparky.sterling.com>
  9. Reply-To: dfs@doe.carleton.ca (David F. Skoll)
  10. X-Md4-Signature: 950d902136bc3c234d9f53169f1c1c5f
  11.  
  12. Submitted-by: dfs@doe.carleton.ca (David F. Skoll)
  13. Posting-number: Volume 42, Issue 64
  14. Archive-name: remind/patch13a
  15. Environment: UNIX, MS-DOS, OS/2
  16. Patch-To: remind: Volume 33, Issue 58-69
  17.  
  18. This is patch 13 for version 3.0 of Remind.
  19.  
  20. Remind is a sophisticated calendar/alarm program, which runs under
  21. MS-DOS, UNIX and OS/2.  It produces alarms, reminders and PostScript
  22. calendars.
  23.  
  24. This patch adds a few minor features and corrects some annoying bugs.
  25.  
  26. AVAILABILITY: Remind is available via anonymous ftp at ftp.doe.carleton.ca
  27. (134.117.9.35) in the directory /pub/remind-3.0 - see the file README.1st
  28. in that directory for a list of files.
  29.  
  30. DEMO: If you have Xmosaic or some other WWW browser, connect to the URL
  31. 'http://www.doe.carleton.ca/students/skoll/' and look near the bottom
  32. of the document.  There are some hypertext links which run a few small
  33. demos of Remind.
  34.  
  35. --
  36. David F. Skoll
  37.  
  38. Here's what's new:
  39.  
  40. * Version 3.0 Patch 13
  41.  
  42. + MINOR ENHANCEMENTS
  43.  
  44. - Added extra parameters to the "psmoon" built-in function so you
  45.   can annotate the PostScript moon icons.
  46.  
  47. - Added a command-line "time" argument to Remind for testing Remind
  48.   scripts with specific system times.  Also added the realnow() function
  49.   which has the same relationship to now() as realtoday() has to today().
  50.   (See the man page!)
  51.  
  52. - Modified Rem2PS so it prints progress messages to stderr if
  53.   '-v' command-line argument is used.
  54.  
  55. - In the top of the 'finnish.h' file, added a note about
  56.   Mikko Silvonen's file of Finnish holidays.
  57.  
  58. + BUG FIXES
  59.  
  60. - Fixed a bug in rem2ps which sometimes caused incorrect PostScript if
  61.   the -e and -m options were used.  Thanks to Michael Neuhauser for
  62.   reporting the bug and providing a fix.
  63.  
  64. - Made the '-k' option escape shell characters in the message to make it
  65.   safer.
  66.  
  67. - Fixed a segmentation violation which resulted if not all
  68.   PUSH-OMIT-CONTEXTs were balanced by POP-OMIT-CONTEXTs.
  69.  
  70. - Removed the prototype for DestroyValue, which is now a macro.  I'm
  71.   amazed that very few compilers complained about this one!
  72.  
  73. - Updated the copyright notices everywhere.
  74.  
  75. #!/bin/sh
  76. # This is Remind-3.0/Patch-13/part, a shell archive (shar 3.32)
  77. # made 04/20/1994 20:00 UTC by <dfs@doe.carleton.ca> (David F. Skoll)
  78. # Source directory /tmp_mnt/home/dfs/work/.rem/Remind-3.0/cur
  79. #
  80. # existing files WILL be overwritten
  81. #
  82. # This is part 1 of a multipart archive                                    
  83. # do not concatenate these parts, unpack them in order with /bin/sh        
  84. #
  85. # This shar contains:
  86. # length  mode       name
  87. # ------ ---------- ------------------------------------------
  88. #  95144 -rw------- patch.13
  89. #
  90. if touch 2>&1 | fgrep 'amc' > /dev/null
  91.  then TOUCH=touch
  92.  else TOUCH=true
  93. fi
  94. if test -r shar3_seq_.tmp; then
  95.     echo "Must unpack archives in sequence!"
  96.     next=`cat shar3_seq_.tmp`; echo "Please unpack part $next next"
  97.     exit 1
  98. fi
  99. # ============= patch.13 ==============
  100. echo "x - extracting patch.13 (Text)"
  101. sed 's/^X//' << 'SHAR_EOF' > patch.13 &&
  102. XPrereq: "03.00.12"
  103. X*** ../prev/version.h    Tue Nov 23 11:50:39 1993
  104. X--- ./version.h    Mon Jan 31 17:01:25 1994
  105. X***************
  106. X*** 5,12 ****
  107. X  /*  What version of remind do we have?                         */
  108. X  /*                                                             */
  109. X  /*  This file is part of REMIND.                               */
  110. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  111. X  /*                                                             */
  112. X  /***************************************************************/
  113. X  
  114. X! #define VERSION "03.00.12"
  115. X--- 5,12 ----
  116. X  /*  What version of remind do we have?                         */
  117. X  /*                                                             */
  118. X  /*  This file is part of REMIND.                               */
  119. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll           */
  120. X  /*                                                             */
  121. X  /***************************************************************/
  122. X  
  123. X! #define VERSION "03.00.13"
  124. X*** ../prev/COPYRIGHT    Tue Oct 12 16:22:34 1993
  125. X--- ./COPYRIGHT    Mon Jan 31 16:51:20 1994
  126. X***************
  127. X*** 3,10 ****
  128. X  1. REMIND refers to the entire set of files and documentation in the
  129. X  REMIND package.
  130. X  
  131. X! 2. REMIND is Copyright 1990, 1991, 1992, 1993 by David Skoll, except where
  132. X! noted in individual files.
  133. X  
  134. X  3. You may use REMIND for free, and may freely distribute it, providing
  135. X  you do not charge the recipients to whom you distribute REMIND.
  136. X--- 3,10 ----
  137. X  1. REMIND refers to the entire set of files and documentation in the
  138. X  REMIND package.
  139. X  
  140. X! 2. REMIND is Copyright 1990, 1991, 1992, 1993, 1994 by David Skoll,
  141. X! except where noted in individual files.
  142. X  
  143. X  3. You may use REMIND for free, and may freely distribute it, providing
  144. X  you do not charge the recipients to whom you distribute REMIND.
  145. X***************
  146. X*** 24,34 ****
  147. X  of the modified version that it is modified.  Place that notice in the
  148. X  WHATSNEW.xx file.
  149. X  
  150. X! 6. You may incorporate parts of REMIND into your own programs, providing
  151. X! you do not sell these programs.  You must clearly indicate that the
  152. X! parts of REMIND you have incorporated are Copyright 1990, 1991, 1992,
  153. X! 1993 by David Skoll.  These programs can be distributed according to
  154. X! the terms of paragraphs 3 and 4.
  155. X  
  156. X  7. I will attempt to support REMIND as much as possible.  However,
  157. X  REMIND is supplied on an "as-is" basis with no warranty.  You use it
  158. X--- 24,34 ----
  159. X  of the modified version that it is modified.  Place that notice in the
  160. X  WHATSNEW.xx file.
  161. X  
  162. X! 6. You may incorporate parts of REMIND into your own programs,
  163. X! providing you do not sell these programs.  You must clearly indicate
  164. X! that the parts of REMIND you have incorporated are Copyright 1990,
  165. X! 1991, 1992, 1993, 1994 by David Skoll.  These programs can be
  166. X! distributed according to the terms of paragraphs 3 and 4.
  167. X  
  168. X  7. I will attempt to support REMIND as much as possible.  However,
  169. X  REMIND is supplied on an "as-is" basis with no warranty.  You use it
  170. X*** ../prev/Makefile    Mon Jan 31 10:41:23 1994
  171. X--- ./Makefile    Mon Jan 31 16:48:50 1994
  172. X***************
  173. X*** 53,59 ****
  174. X  # YOU SHOULDN'T EDIT ANYTHING BELOW HERE.  You may want to change some things
  175. X  # in config.h; then, you should be able to type 'make'.
  176. X  #-----------------------------------------------------------------------------
  177. X! VERSION= 03.00.12
  178. X  MATHLIB= -lm
  179. X  
  180. X  HDRS= config.h err.h expr.h globals.h protos.h types.h version.h \
  181. X--- 53,59 ----
  182. X  # YOU SHOULDN'T EDIT ANYTHING BELOW HERE.  You may want to change some things
  183. X  # in config.h; then, you should be able to type 'make'.
  184. X  #-----------------------------------------------------------------------------
  185. X! VERSION= 03.00.13
  186. X  MATHLIB= -lm
  187. X  
  188. X  HDRS= config.h err.h expr.h globals.h protos.h types.h version.h \
  189. X***************
  190. X*** 121,128 ****
  191. X  var.o: var.c $(STDHDRS) expr.h
  192. X  
  193. X  tarZ:
  194. X!     tar cvf remind-3.0.12.tar $(MANIFEST)
  195. X!     compress -v remind-3.0.12.tar
  196. X  
  197. X  shar:
  198. X      shar -x -n"Remind $(VERSION)" -l45 -o./Shar $(MANIFEST)
  199. X--- 121,128 ----
  200. X  var.o: var.c $(STDHDRS) expr.h
  201. X  
  202. X  tarZ:
  203. X!     tar cvf remind-3.0.13.tar $(MANIFEST)
  204. X!     compress -v remind-3.0.13.tar
  205. X  
  206. X  shar:
  207. X      shar -x -n"Remind $(VERSION)" -l45 -o./Shar $(MANIFEST)
  208. X***************
  209. X*** 194,202 ****
  210. X  release:
  211. X      -mkdir RELEASE
  212. X      -rm -f RELEASE/*
  213. X!     mkpatch ../prev . patch.12 Shar "Remind-3.0/Patch-12/part"
  214. X      mv Shar* RELEASE
  215. X!     rm -f patch.12
  216. X      for i in *.1; do nroff -man $$i | sed -e 's/_//g' > `basename $$i .1`.man; done
  217. X      mv *.man RELEASE
  218. X      for i in *.1; do groff -man -Tps $$i > `basename $$i .1`.ps; done
  219. X--- 194,202 ----
  220. X  release:
  221. X      -mkdir RELEASE
  222. X      -rm -f RELEASE/*
  223. X!     mkpatch ../prev . patch.13 Shar "Remind-3.0/Patch-13/part"
  224. X      mv Shar* RELEASE
  225. X!     rm -f patch.13*
  226. X      for i in *.1; do nroff -man $$i | sed -e 's/_//g' > `basename $$i .1`.man; done
  227. X      mv *.man RELEASE
  228. X      for i in *.1; do groff -man -Tps $$i > `basename $$i .1`.ps; done
  229. X*** ../prev/WHATSNEW.30    Mon Jan 31 16:25:21 1994
  230. X--- ./WHATSNEW.30    Mon Apr 18 10:19:12 1994
  231. X***************
  232. X*** 1,5 ****
  233. X--- 1,40 ----
  234. X  CHANGES TO REMIND
  235. X  
  236. X+ * Version 3.0 Patch 13
  237. X+ 
  238. X+ + MINOR ENHANCEMENTS
  239. X+ 
  240. X+ - Added extra parameters to the "psmoon" built-in function so you
  241. X+   can annotate the PostScript moon icons.
  242. X+ 
  243. X+ - Added a command-line "time" argument to Remind for testing Remind
  244. X+   scripts with specific system times.  Also added the realnow() function
  245. X+   which has the same relationship to now() as realtoday() has to today().
  246. X+   (See the man page!)
  247. X+ 
  248. X+ - Modified Rem2PS so it prints progress messages to stderr if
  249. X+   '-v' command-line argument is used.
  250. X+ 
  251. X+ - In the top of the 'finnish.h' file, added a note about
  252. X+   Mikko Silvonen's file of Finnish holidays.
  253. X+ 
  254. X+ + BUG FIXES
  255. X+ 
  256. X+ - Fixed a bug in rem2ps which sometimes caused incorrect PostScript if
  257. X+   the -e and -m options were used.  Thanks to Michael Neuhauser for
  258. X+   reporting the bug and providing a fix.
  259. X+ 
  260. X+ - Made the '-k' option escape shell characters in the message to make it
  261. X+   safer.
  262. X+ 
  263. X+ - Fixed a segmentation violation which resulted if not all
  264. X+   PUSH-OMIT-CONTEXTs were balanced by POP-OMIT-CONTEXTs.
  265. X+ 
  266. X+ - Removed the prototype for DestroyValue, which is now a macro.  I'm
  267. X+   amazed that very few compilers complained about this one!
  268. X+ 
  269. X+ - Updated the copyright notices everywhere.
  270. X+ 
  271. X  * Version 3.0 Patch 12
  272. X  
  273. X  + MINOR ENHANCEMENTS
  274. X*** ../prev/calendar.c    Tue Nov 16 17:41:51 1993
  275. X--- ./calendar.c    Mon Jan 31 16:56:00 1994
  276. X***************
  277. X*** 5,11 ****
  278. X  /*  The code for generating a calendar.                        */
  279. X  /*                                                             */
  280. X  /*  This file is part of REMIND.                               */
  281. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  282. X  /*                                                             */
  283. X  /***************************************************************/
  284. X  #include "config.h"
  285. X--- 5,11 ----
  286. X  /*  The code for generating a calendar.                        */
  287. X  /*                                                             */
  288. X  /*  This file is part of REMIND.                               */
  289. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  290. X  /*                                                             */
  291. X  /***************************************************************/
  292. X  #include "config.h"
  293. X*** ../prev/config.h    Mon Jan 31 10:34:11 1994
  294. X--- ./config.h    Thu Feb 10 16:59:18 1994
  295. X***************
  296. X*** 7,13 ****
  297. X  /*  care of certain system dependencies.                       */
  298. X  /*                                                             */
  299. X  /*  This file is part of REMIND.                               */
  300. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  301. X  /*                                                             */
  302. X  /***************************************************************/
  303. X  
  304. X--- 7,13 ----
  305. X  /*  care of certain system dependencies.                       */
  306. X  /*                                                             */
  307. X  /*  This file is part of REMIND.                               */
  308. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  309. X  /*                                                             */
  310. X  /***************************************************************/
  311. X  
  312. X***************
  313. X*** 87,92 ****
  314. X--- 87,100 ----
  315. X  /* work.                                                               */
  316. X  /*---------------------------------------------------------------------*/
  317. X  #define WANT_U_OPTION 1
  318. X+ 
  319. X+ /*---------------------------------------------------------------------*/
  320. X+ /* WANT_SHELL_ESCAPING:  Define this if you want special shell         */
  321. X+ /* characters to be escaped with a backslash for the -k option.        */
  322. X+ /*---------------------------------------------------------------------*/
  323. X+ #if defined(UNIX)
  324. X+ #define WANT_SHELL_ESCAPING 1
  325. X+ #endif
  326. X  
  327. X  /*---------------------------------------------------------------------*/
  328. X  /* STRSTR:  If your system does not have the "strstr" function,        */
  329. X*** ../prev/danish.h    Wed Dec  1 10:45:55 1993
  330. X--- ./danish.h    Mon Jan 31 16:55:44 1994
  331. X***************
  332. X*** 6,12 ****
  333. X  /*                                                             */
  334. X  /*  This file is part of REMIND.                               */
  335. X  /*                                                             */
  336. X! /*  REMIND is Copyright (C) 1992, 1993 by David F. Skoll.      */
  337. X  /*  This file is Copyright (C) 1993 by Mogens Lynnerup.        */
  338. X  /*                                                             */
  339. X  /***************************************************************/
  340. X--- 6,12 ----
  341. X  /*                                                             */
  342. X  /*  This file is part of REMIND.                               */
  343. X  /*                                                             */
  344. X! /*  REMIND is Copyright (C) 1992, 1993, 1994 by David F. Skoll */
  345. X  /*  This file is Copyright (C) 1993 by Mogens Lynnerup.        */
  346. X  /*                                                             */
  347. X  /***************************************************************/
  348. X*** ../prev/defs.rem    Fri Nov  5 15:57:33 1993
  349. X--- ./defs.rem    Wed Feb  9 16:04:27 1994
  350. X***************
  351. X*** 17,23 ****
  352. X  #  "#COLORS" for examples of ANSI color escape sequences.                   #
  353. X  #                                         #
  354. X  # This file is part of REMIND.                            #
  355. X! # Copyright (C) 1992, 1993 by David F. Skoll                    #
  356. X  #                                         #
  357. X  #############################################################################
  358. X  
  359. X--- 17,23 ----
  360. X  #  "#COLORS" for examples of ANSI color escape sequences.                   #
  361. X  #                                         #
  362. X  # This file is part of REMIND.                            #
  363. X! # Copyright (C) 1992, 1993, 1994 by David F. Skoll                #
  364. X  #                                         #
  365. X  #############################################################################
  366. X  
  367. X***************
  368. X*** 423,432 ****
  369. X  # dates were obtained from "The First Jewish Catalog" by Richard Siegel     #
  370. X  # and Michael and Sharon Strassfeld, published by the Jewish Publication #
  371. X  # Society of America.  The Reform version of the calendar was guessed     #
  372. X! # at by David Skoll based on experience.  Additional corrections were    #
  373. X! # made from the paper "Calendrical Calculations" by Nachum Dershowitz    #
  374. X! # and Edward M. Reingold.  Any further corrections are welcome.          #
  375. X  #                                     #
  376. X  ##########################################################################
  377. X  
  378. X  # Here are some general functions that you might find nice to use
  379. X--- 423,436 ----
  380. X  # dates were obtained from "The First Jewish Catalog" by Richard Siegel     #
  381. X  # and Michael and Sharon Strassfeld, published by the Jewish Publication #
  382. X  # Society of America.  The Reform version of the calendar was guessed     #
  383. X! # at by David Skoll based on experience.  There is probably no standard  #
  384. X! # Reform position on many of the holidays, so you may have to adjust     #
  385. X! # the file as required.                                                  #
  386. X  #                                     #
  387. X+ # Additional corrections were made from the paper "Calendrical         #
  388. X+ # Calculations" by Nachum Dershowitz and Edward M. Reingold.  Any     #
  389. X+ # further corrections are welcome.                     #
  390. X+ #                                             #
  391. X  ##########################################################################
  392. X  
  393. X  # Here are some general functions that you might find nice to use
  394. X***************
  395. X*** 451,459 ****
  396. X  # Convenient function definition to save typing
  397. X  FSET _h(x, y) TRIGGER(HEBDATE(x,y))
  398. X  FSET _h2(x, y) HEBDATE(x, y, TODAY()-7)
  399. X! FSET _PastSat(x, y) IIF(WKDAYNUM(_h2(x,y))!=6, \
  400. X!             TRIGGER(_h2(x,y)), \
  401. X!             TRIGGER(_h2(x,y)+1))
  402. X  
  403. X  # Default values in case InIsrael and Reform are not set
  404. X  SET InIsrael VALUE("InIsrael", 0)
  405. X--- 455,461 ----
  406. X  # Convenient function definition to save typing
  407. X  FSET _h(x, y) TRIGGER(HEBDATE(x,y))
  408. X  FSET _h2(x, y) HEBDATE(x, y, TODAY()-7)
  409. X! FSET _PastSat(x, y) TRIGGER(IIF(WKDAYNUM(_h2(x,y))!=6, _h2(x,y), _h2(x,y)+1))
  410. X  
  411. X  # Default values in case InIsrael and Reform are not set
  412. X  SET InIsrael VALUE("InIsrael", 0)
  413. X***************
  414. X*** 496,503 ****
  415. X  
  416. X  # Not sure about Reform's position on the next one.
  417. X  IF !Reform
  418. X! # The fast is moved to the 11th if the 10th is a Saturday
  419. X!    REM [_PastSat(10, "Tevet")] MSG %"Tzom Tevet%" is %b.
  420. X  ENDIF
  421. X  
  422. X  [_h(15, "Shvat")] ++4 MSG %"Tu B'Shvat%" is %b.
  423. X--- 498,506 ----
  424. X  
  425. X  # Not sure about Reform's position on the next one.
  426. X  IF !Reform
  427. X! # 10 Tevet will never be a Saturday, so whether or not to
  428. X! # move it is moot.  (Thanks to Art Werschulz.)
  429. X!    [_h(10, "Tevet")] MSG %"Tzom Tevet%" is %b.
  430. X  ENDIF
  431. X  
  432. X  [_h(15, "Shvat")] ++4 MSG %"Tu B'Shvat%" is %b.
  433. X*** ../prev/dorem.c    Mon Jan 31 16:23:42 1994
  434. X--- ./dorem.c    Wed Apr  6 16:47:57 1994
  435. X***************
  436. X*** 7,13 ****
  437. X  /*  commands.                                                  */
  438. X  /*                                                             */
  439. X  /*  This file is part of REMIND.                               */
  440. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  441. X  /*                                                             */
  442. X  /***************************************************************/
  443. X  #include "config.h"
  444. X--- 7,13 ----
  445. X  /*  commands.                                                  */
  446. X  /*                                                             */
  447. X  /*  This file is part of REMIND.                               */
  448. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  449. X  /*                                                             */
  450. X  /***************************************************************/
  451. X  #include "config.h"
  452. X***************
  453. X*** 553,559 ****
  454. X       DestroyValue(v);
  455. X        }
  456. X     }
  457. X!    if (!MsgCommand && (t->typ == MSG_TYPE || t->typ == MSF_TYPE)) {
  458. X        *s2++ = '\n';
  459. X     }
  460. X     *s2 = 0;
  461. X--- 553,559 ----
  462. X       DestroyValue(v);
  463. X        }
  464. X     }
  465. X!    if ((!MsgCommand && t->typ == MSG_TYPE) || t->typ == MSF_TYPE) {
  466. X        *s2++ = '\n';
  467. X     }
  468. X     *s2 = 0;
  469. X***************
  470. X*** 571,578 ****
  471. X     switch(t->typ) {
  472. X        case MSG_TYPE:
  473. X           if (MsgCommand) {
  474. X!             sprintf(SubstBuffer, MsgCommand, buf);
  475. X!         system(SubstBuffer);
  476. X           } else {
  477. X  #ifdef OS2_POPUP
  478. X          if (AsPopUp)
  479. X--- 571,577 ----
  480. X     switch(t->typ) {
  481. X        case MSG_TYPE:
  482. X           if (MsgCommand) {
  483. X!         DoMsgCommand(MsgCommand, buf);
  484. X           } else {
  485. X  #ifdef OS2_POPUP
  486. X          if (AsPopUp)
  487. X***************
  488. X*** 651,657 ****
  489. X  /*** REMOVED...
  490. X        if (jul == JulianToday &&
  491. X         tim->ttime != NO_TIME &&
  492. X!        tim->ttime < SystemTime() / 60) return 0;
  493. X   *** ...UNTIL HERE */
  494. X  
  495. X     /* If "infinite delta" option is chosen, always trigger future reminders */
  496. X--- 650,656 ----
  497. X  /*** REMOVED...
  498. X        if (jul == JulianToday &&
  499. X         tim->ttime != NO_TIME &&
  500. X!        tim->ttime < SystemTime(0) / 60) return 0;
  501. X   *** ...UNTIL HERE */
  502. X  
  503. X     /* If "infinite delta" option is chosen, always trigger future reminders */
  504. X***************
  505. X*** 754,756 ****
  506. X--- 753,793 ----
  507. X     t->priority = p;
  508. X     return OK;
  509. X  }
  510. X+ 
  511. X+ /***************************************************************/
  512. X+ /*                                                             */
  513. X+ /*  DoMsgCommand                                               */
  514. X+ /*                                                             */
  515. X+ /*  Execute the '-k' command, escaping shell chars in message. */
  516. X+ /*                                                             */
  517. X+ /***************************************************************/
  518. X+ #ifdef HAVE_PROTOS
  519. X+ PUBLIC void DoMsgCommand(char *cmd, char *msg)
  520. X+ #else
  521. X+ void DoMsgCommand(cmd, msg)
  522. X+ char *cmd;
  523. X+ char *msg;
  524. X+ #endif
  525. X+ {
  526. X+ 
  527. X+ #ifdef WANT_SHELL_ESCAPING
  528. X+    char buf[2*LINELEN+TOKSIZE];
  529. X+    char *s, *t;
  530. X+    
  531. X+    /* Escape shell characters in msg INCLUDING WHITESPACE! */
  532. X+    for (t=buf, s=msg; *s; s++) {
  533. X+       if (isspace(*s) || strchr("\"'!$%^&*()|<>[]{}`~;?\\", *s)) *t++ = '\\';
  534. X+       *t++ = *s;
  535. X+    }
  536. X+    *t = 0;
  537. X+    
  538. X+    /* Use SubstBuffer -- not too safe, since no check for overflow... */
  539. X+    sprintf(SubstBuffer, cmd, buf);
  540. X+ #else
  541. X+    sprintf(SubstBuffer, cmd, msg);
  542. X+ #endif /* WANT_SHELL_ESCAPING */
  543. X+    system(SubstBuffer);
  544. X+ }
  545. X+ 
  546. X+       
  547. X+ 
  548. X*** ../prev/dosubst.c    Tue Nov  2 14:50:16 1993
  549. X--- ./dosubst.c    Wed Apr  6 16:47:51 1994
  550. X***************
  551. X*** 6,12 ****
  552. X  /*  reminders are triggered.                                   */
  553. X  /*                                                             */
  554. X  /*  This file is part of REMIND.                               */
  555. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  556. X  /*                                                             */
  557. X  /***************************************************************/
  558. X  #define L_IN_DOSUBST
  559. X--- 6,12 ----
  560. X  /*  reminders are triggered.                                   */
  561. X  /*                                                             */
  562. X  /*  This file is part of REMIND.                               */
  563. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  564. X  /*                                                             */
  565. X  /***************************************************************/
  566. X  #define L_IN_DOSUBST
  567. X***************
  568. X*** 55,61 ****
  569. X  #endif
  570. X  {
  571. X     int diff = jul - JulianToday;
  572. X!    int curtime = SystemTime() / 60;
  573. X     int err, done;
  574. X     int c;
  575. X     int d, m, y;
  576. X--- 55,61 ----
  577. X  #endif
  578. X  {
  579. X     int diff = jul - JulianToday;
  580. X!    int curtime = SystemTime(0) / 60;
  581. X     int err, done;
  582. X     int c;
  583. X     int d, m, y;
  584. X***************
  585. X*** 646,652 ****
  586. X     int r;
  587. X  
  588. X     if (jul == NO_DATE) jul=JulianToday;
  589. X!    if (tim == NO_TIME) tim=SystemTime()/60;
  590. X     CreateParser(source, &tempP);
  591. X     tempP.allownested = 0;
  592. X     tempTrig.typ = MSG_TYPE;
  593. X--- 646,652 ----
  594. X     int r;
  595. X  
  596. X     if (jul == NO_DATE) jul=JulianToday;
  597. X!    if (tim == NO_TIME) tim=SystemTime(0)/60;
  598. X     CreateParser(source, &tempP);
  599. X     tempP.allownested = 0;
  600. X     tempTrig.typ = MSG_TYPE;
  601. X*** ../prev/dutch.h    Tue Oct 12 16:22:38 1993
  602. X--- ./dutch.h    Mon Jan 31 16:55:06 1994
  603. X***************
  604. X*** 11,17 ****
  605. X  /*  Further corrections by Erik-Jan Vens                       */
  606. X  /*                                                             */
  607. X  /*  This file is part of REMIND.                               */
  608. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  609. X  /*                                                             */
  610. X  /***************************************************************/
  611. X  
  612. X--- 11,17 ----
  613. X  /*  Further corrections by Erik-Jan Vens                       */
  614. X  /*                                                             */
  615. X  /*  This file is part of REMIND.                               */
  616. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  617. X  /*                                                             */
  618. X  /***************************************************************/
  619. X  
  620. X*** ../prev/english.h    Tue Oct 12 16:22:38 1993
  621. X--- ./english.h    Mon Jan 31 16:54:58 1994
  622. X***************
  623. X*** 5,11 ****
  624. X  /*  Support for the English language.                          */
  625. X  /*                                                             */
  626. X  /*  This file is part of REMIND.                               */
  627. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  628. X  /*                                                             */
  629. X  /***************************************************************/
  630. X  
  631. X--- 5,11 ----
  632. X  /*  Support for the English language.                          */
  633. X  /*                                                             */
  634. X  /*  This file is part of REMIND.                               */
  635. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  636. X  /*                                                             */
  637. X  /***************************************************************/
  638. X  
  639. X*** ../prev/err.h    Tue Oct 12 16:22:38 1993
  640. X--- ./err.h    Mon Jan 31 16:54:49 1994
  641. X***************
  642. X*** 5,11 ****
  643. X  /*  Error definitions.                                         */
  644. X  /*                                                             */
  645. X  /*  This file is part of REMIND.                               */
  646. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  647. X  /*                                                             */
  648. X  /***************************************************************/
  649. X  
  650. X--- 5,11 ----
  651. X  /*  Error definitions.                                         */
  652. X  /*                                                             */
  653. X  /*  This file is part of REMIND.                               */
  654. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  655. X  /*                                                             */
  656. X  /***************************************************************/
  657. X  
  658. X*** ../prev/expr.c    Tue Nov 16 17:41:38 1993
  659. X--- ./expr.c    Mon Jan 31 16:54:40 1994
  660. X***************
  661. X*** 5,11 ****
  662. X  /*  This file contains routines to parse and evaluate          */
  663. X  /*  expressions.                                               */
  664. X  /*                                                             */
  665. X! /*  Copyright 1992, 1993 by David F. Skoll.                    */
  666. X  /*                                                             */
  667. X  /***************************************************************/
  668. X  
  669. X--- 5,11 ----
  670. X  /*  This file contains routines to parse and evaluate          */
  671. X  /*  expressions.                                               */
  672. X  /*                                                             */
  673. X! /*  Copyright 1992, 1993, 1994 by David F. Skoll.              */
  674. X  /*                                                             */
  675. X  /***************************************************************/
  676. X  
  677. X*** ../prev/expr.h    Tue Nov 16 16:12:44 1993
  678. X--- ./expr.h    Mon Jan 31 16:54:32 1994
  679. X***************
  680. X*** 5,11 ****
  681. X  /*  Contains a few definitions used by expression evaluator.   */
  682. X  /*                                                             */
  683. X  /*  This file is part of REMIND.                               */
  684. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  685. X  /*                                                             */
  686. X  /***************************************************************/
  687. X  
  688. X--- 5,11 ----
  689. X  /*  Contains a few definitions used by expression evaluator.   */
  690. X  /*                                                             */
  691. X  /*  This file is part of REMIND.                               */
  692. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  693. X  /*                                                             */
  694. X  /***************************************************************/
  695. X  
  696. X*** ../prev/files.c    Mon Nov 15 14:25:27 1993
  697. X--- ./files.c    Mon Jan 31 16:54:25 1994
  698. X***************
  699. X*** 7,13 ****
  700. X  /*  files.                                                     */
  701. X  /*                                                             */
  702. X  /*  This file is part of REMIND.                               */
  703. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  704. X  /*                                                             */
  705. X  /***************************************************************/
  706. X  
  707. X--- 7,13 ----
  708. X  /*  files.                                                     */
  709. X  /*                                                             */
  710. X  /*  This file is part of REMIND.                               */
  711. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  712. X  /*                                                             */
  713. X  /***************************************************************/
  714. X  
  715. X*** ../prev/finnish.h    Wed Oct 13 11:03:07 1993
  716. X--- ./finnish.h    Thu Apr  7 11:00:22 1994
  717. X***************
  718. X*** 6,13 ****
  719. X  /*                                                             */
  720. X  /*  Author: Mikko Silvonen <Mikko.Silvonen@Helsinki.FI>        */
  721. X  /*                                                             */
  722. X  /*  This file is part of REMIND.                               */
  723. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  724. X  /*                                                             */
  725. X  /***************************************************************/
  726. X  
  727. X--- 6,17 ----
  728. X  /*                                                             */
  729. X  /*  Author: Mikko Silvonen <Mikko.Silvonen@Helsinki.FI>        */
  730. X  /*                                                             */
  731. X+ /*  Finnish holidays and name days for Remind are available    */
  732. X+ /*  at ftp.funet.fi (pub/unix/misc/remind-fin*).               */
  733. X+ /*                                                             */
  734. X  /*  This file is part of REMIND.                               */
  735. X! /*  This file is Copyright (C) 1993, 1994 by Mikko Silvonen.   */
  736. X! /*  REMIND is Copyright (C) 1992, 1993, 1994 by David F. Skoll */
  737. X  /*                                                             */
  738. X  /***************************************************************/
  739. X  
  740. X***************
  741. X*** 515,526 ****
  742. X  void Usage()
  743. X  #endif /* HAVE_PROTOS */
  744. X  {
  745. X!    fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992, 1993 by David F. Skoll\n", VERSION, L_LANGNAME);
  746. X  #ifdef BETA
  747. X     fprintf(ErrFp, ">>>> BETAVERSIO <<<<\n");
  748. X  #endif
  749. X  #if defined(ISOLATIN1)
  750. X!    fprintf(ErrFp, "K\xE4ytt\xF6: remind [tarkenteet] tiedosto [p\xE4iv\xE4ys]\n");
  751. X     fprintf(ErrFp, "Tarkenteet:\n");
  752. X     fprintf(ErrFp, " -n     Tulosta viestien seuraavat esiintymiskerrat yksink. muodossa\n");
  753. X     fprintf(ErrFp, " -r     Est\xE4 RUN-lauseiden k\xE4ytt\xF6\n");
  754. X--- 519,530 ----
  755. X  void Usage()
  756. X  #endif /* HAVE_PROTOS */
  757. X  {
  758. X!    fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1994 by David F. Skoll\n", VERSION, L_LANGNAME);
  759. X  #ifdef BETA
  760. X     fprintf(ErrFp, ">>>> BETAVERSIO <<<<\n");
  761. X  #endif
  762. X  #if defined(ISOLATIN1)
  763. X!    fprintf(ErrFp, "K\xE4ytt\xF6: remind [tarkenteet] tiedosto [p\xE4iv\xE4ys] [aika] [*toisto]\n");
  764. X     fprintf(ErrFp, "Tarkenteet:\n");
  765. X     fprintf(ErrFp, " -n     Tulosta viestien seuraavat esiintymiskerrat yksink. muodossa\n");
  766. X     fprintf(ErrFp, " -r     Est\xE4 RUN-lauseiden k\xE4ytt\xF6\n");
  767. X***************
  768. X*** 549,555 ****
  769. X     fprintf(ErrFp, " -m     Aloita kalenteri maanantaista eik\xE4 sunnuntaista\n");
  770. X     exit(1);
  771. X  #elif defined(IBMEXTENDED)
  772. X!    fprintf(ErrFp, "K\x84ytt\x94: remind [tarkenteet] tiedosto [p\x84iv\x84ys]\n");
  773. X     fprintf(ErrFp, "Tarkenteet:\n");
  774. X     fprintf(ErrFp, " -n     Tulosta viestien seuraavat esiintymiskerrat yksink. muodossa\n");
  775. X     fprintf(ErrFp, " -r     Est\x84 RUN-lauseiden k\x84ytt\x94\n");
  776. X--- 553,559 ----
  777. X     fprintf(ErrFp, " -m     Aloita kalenteri maanantaista eik\xE4 sunnuntaista\n");
  778. X     exit(1);
  779. X  #elif defined(IBMEXTENDED)
  780. X!    fprintf(ErrFp, "K\x84ytt\x94: remind [tarkenteet] tiedosto [p\x84iv\x84ys] [aika] [*toisto]\n");
  781. X     fprintf(ErrFp, "Tarkenteet:\n");
  782. X     fprintf(ErrFp, " -n     Tulosta viestien seuraavat esiintymiskerrat yksink. muodossa\n");
  783. X     fprintf(ErrFp, " -r     Est\x84 RUN-lauseiden k\x84ytt\x94\n");
  784. X***************
  785. X*** 578,584 ****
  786. X     fprintf(ErrFp, " -m     Aloita kalenteri maanantaista eik\x84 sunnuntaista\n");
  787. X     exit(1);
  788. X  #else
  789. X!    fprintf(ErrFp, "K{ytt|: remind [tarkenteet] tiedosto [p{iv{ys]\n");
  790. X     fprintf(ErrFp, "Tarkenteet:\n");
  791. X     fprintf(ErrFp, " -n     Tulosta viestien seuraavat esiintymiskerrat yksink. muodossa\n");
  792. X     fprintf(ErrFp, " -r     Est{ RUN-lauseiden k{ytt|\n");
  793. X--- 582,588 ----
  794. X     fprintf(ErrFp, " -m     Aloita kalenteri maanantaista eik\x84 sunnuntaista\n");
  795. X     exit(1);
  796. X  #else
  797. X!    fprintf(ErrFp, "K{ytt|: remind [tarkenteet] tiedosto [p{iv{ys] [aika] [*toisto]\n");
  798. X     fprintf(ErrFp, "Tarkenteet:\n");
  799. X     fprintf(ErrFp, " -n     Tulosta viestien seuraavat esiintymiskerrat yksink. muodossa\n");
  800. X     fprintf(ErrFp, " -r     Est{ RUN-lauseiden k{ytt|\n");
  801. X*** ../prev/french.h    Tue Nov  2 14:55:03 1993
  802. X--- ./french.h    Thu Apr  7 15:36:08 1994
  803. X***************
  804. X*** 8,14 ****
  805. X  /*                                                             */
  806. X  /*  This file is part of REMIND.                               */
  807. X  /*                                                             */
  808. X! /*  REMIND is Copyright (C) 1992, 1993 by David F. Skoll.      */
  809. X  /*  This file is Copyright (C) 1993 by Laurent Duperval and    */
  810. X  /*  David F. Skoll.                                            */
  811. X  /*                                                             */
  812. X--- 8,14 ----
  813. X  /*                                                             */
  814. X  /*  This file is part of REMIND.                               */
  815. X  /*                                                             */
  816. X! /*  REMIND is Copyright (C) 1992, 1993, 1994 by David F. Skoll */
  817. X  /*  This file is Copyright (C) 1993 by Laurent Duperval and    */
  818. X  /*  David F. Skoll.                                            */
  819. X  /*                                                             */
  820. X***************
  821. X*** 358,369 ****
  822. X  void Usage()
  823. X  #endif /* HAVE_PROTOS */
  824. X  {
  825. X!    fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992, 1993 by David F. Skoll\n", VERSION, L_LANGNAME);
  826. X  #ifdef BETA
  827. X     fprintf(ErrFp, ">>>> BETA VERSION <<<<\n");
  828. X  #endif
  829. X  #ifdef ISOLATIN1
  830. X!    fprintf(ErrFp, "\nUtilisation: remind [options] fichier [date] [*r\351p\351tition]\n");
  831. X     fprintf(ErrFp, "Options:\n");
  832. X     fprintf(ErrFp, " -n     Afficher la prochaine occurence des rappels en format simple\n");
  833. X     fprintf(ErrFp, " -r     D\351sactiver les instructions RUN\n");
  834. X--- 358,369 ----
  835. X  void Usage()
  836. X  #endif /* HAVE_PROTOS */
  837. X  {
  838. X!    fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992-1994 by David F. Skoll\n", VERSION, L_LANGNAME);
  839. X  #ifdef BETA
  840. X     fprintf(ErrFp, ">>>> BETA VERSION <<<<\n");
  841. X  #endif
  842. X  #ifdef ISOLATIN1
  843. X!    fprintf(ErrFp, "\nUtilisation: remind [options] fichier [date] [heure] [*r\351p\351tition]\n");
  844. X     fprintf(ErrFp, "Options:\n");
  845. X     fprintf(ErrFp, " -n     Afficher la prochaine occurence des rappels en format simple\n");
  846. X     fprintf(ErrFp, " -r     D\351sactiver les instructions RUN\n");
  847. X***************
  848. X*** 391,397 ****
  849. X     fprintf(ErrFp, " -ivar=val Initialiser var \340 val et conserver var\n");
  850. X     fprintf(ErrFp, " -m     Commencer le calendrier avec lundi plut\364t que dimanche\n");
  851. X  #else /* ISOLATIN1 */
  852. X!    fprintf(ErrFp, "\nUtilisation: remind [options] fichier [date] [*repetition]\n");
  853. X     fprintf(ErrFp, "Options:\n");
  854. X     fprintf(ErrFp, " -n     Afficher la prochaine occurence des rappels en format simple\n");
  855. X     fprintf(ErrFp, " -r     Desactiver les instructions RUN\n");
  856. X--- 391,397 ----
  857. X     fprintf(ErrFp, " -ivar=val Initialiser var \340 val et conserver var\n");
  858. X     fprintf(ErrFp, " -m     Commencer le calendrier avec lundi plut\364t que dimanche\n");
  859. X  #else /* ISOLATIN1 */
  860. X!    fprintf(ErrFp, "\nUtilisation: remind [options] fichier [date] [heure] [*repetition]\n");
  861. X     fprintf(ErrFp, "Options:\n");
  862. X     fprintf(ErrFp, " -n     Afficher la prochaine occurence des rappels en format simple\n");
  863. X     fprintf(ErrFp, " -r     Desactiver les instructions RUN\n");
  864. X*** ../prev/funcs.c    Mon Jan 31 10:28:55 1994
  865. X--- ./funcs.c    Thu Apr  7 12:37:13 1994
  866. X***************
  867. X*** 6,12 ****
  868. X  /*  expressions.                                               */
  869. X  /*                                                             */
  870. X  /*  This file is part of REMIND.                               */
  871. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  872. X  /*                                                             */
  873. X  /***************************************************************/
  874. X  #include "config.h"
  875. X--- 6,12 ----
  876. X  /*  expressions.                                               */
  877. X  /*                                                             */
  878. X  /*  This file is part of REMIND.                               */
  879. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  880. X  /*                                                             */
  881. X  /***************************************************************/
  882. X  #include "config.h"
  883. X***************
  884. X*** 111,116 ****
  885. X--- 111,117 ----
  886. X  PRIVATE int    FIsleap         ARGS ((void));
  887. X  PRIVATE int    FLower          ARGS ((void));
  888. X  PRIVATE int    FNow            ARGS ((void));
  889. X+ PRIVATE int    FRealnow            ARGS ((void));
  890. X  PRIVATE int    FRealtoday      ARGS ((void));
  891. X  PRIVATE int    FToday          ARGS ((void));
  892. X  PRIVATE int    FTrigger        ARGS ((void));
  893. X***************
  894. X*** 223,230 ****
  895. X      {   "ord",        1,    1,    FOrd    },
  896. X      {   "ostype",       0,      0,      FOstype },
  897. X      {   "plural",    1,    3,    FPlural },
  898. X!     {    "psmoon",    1,    2,    FPsmoon},
  899. X      {    "psshade",    1,    1,    FPsshade},
  900. X      {   "realtoday",    0,      0,      FRealtoday },
  901. X      {   "sgn",        1,    1,    FSgn    },
  902. X      {   "shell",    1,    1,    FShell    },
  903. X--- 224,232 ----
  904. X      {   "ord",        1,    1,    FOrd    },
  905. X      {   "ostype",       0,      0,      FOstype },
  906. X      {   "plural",    1,    3,    FPlural },
  907. X!     {    "psmoon",    1,    4,    FPsmoon},
  908. X      {    "psshade",    1,    1,    FPsshade},
  909. X+     {   "realnow",      0,      0,      FRealnow},
  910. X      {   "realtoday",    0,      0,      FRealtoday },
  911. X      {   "sgn",        1,    1,    FSgn    },
  912. X      {   "shell",    1,    1,    FShell    },
  913. X***************
  914. X*** 1004,1010 ****
  915. X  /*                                                             */
  916. X  /*  FToday - return the system's notion of "today"             */
  917. X  /*  Frealtoday - return today's date as read from OS.          */
  918. X! /*  FNow - return the system time                              */
  919. X  /*                                                             */
  920. X  /***************************************************************/
  921. X  #ifdef HAVE_PROTOS
  922. X--- 1006,1013 ----
  923. X  /*                                                             */
  924. X  /*  FToday - return the system's notion of "today"             */
  925. X  /*  Frealtoday - return today's date as read from OS.          */
  926. X! /*  FNow - return the system time (or time on cmd line.)       */
  927. X! /*  FRealnow - return the true system time                     */
  928. X  /*                                                             */
  929. X  /***************************************************************/
  930. X  #ifdef HAVE_PROTOS
  931. X***************
  932. X*** 1036,1045 ****
  933. X  #endif
  934. X  {
  935. X     RetVal.type = TIM_TYPE;
  936. X!    RetVal.v.val = (int) ( SystemTime() / 60L );
  937. X     return OK;
  938. X  }
  939. X  
  940. X  /***************************************************************/
  941. X  /*                                                             */
  942. X  /*  FGetenv - get the value of an environment variable.        */
  943. X--- 1039,1058 ----
  944. X  #endif
  945. X  {
  946. X     RetVal.type = TIM_TYPE;
  947. X!    RetVal.v.val = (int) ( SystemTime(0) / 60L );
  948. X     return OK;
  949. X  }
  950. X  
  951. X+ #ifdef HAVE_PROTOS
  952. X+ PRIVATE int FRealnow(void)
  953. X+ #else
  954. X+ static int FRealnow()
  955. X+ #endif
  956. X+ {
  957. X+    RetVal.type = TIM_TYPE;
  958. X+    RetVal.v.val = (int) ( SystemTime(1) / 60L );
  959. X+    return OK;
  960. X+ }
  961. X  /***************************************************************/
  962. X  /*                                                             */
  963. X  /*  FGetenv - get the value of an environment variable.        */
  964. X***************
  965. X*** 2155,2174 ****
  966. X  static int FPsmoon()
  967. X  #endif
  968. X  {
  969. X!    char psbuff[256];
  970. X     char sizebuf[30];
  971. X     char *s = psbuff;
  972. X     if (ARG(0).type != INT_TYPE) return E_BAD_TYPE;
  973. X     if (ARG(0).v.val < 0) return E_2LOW;
  974. X     if (ARG(0).v.val > 3) return E_2HIGH;
  975. X     if (Nargs > 1) {
  976. X        if (ARG(1).type != INT_TYPE) return E_BAD_TYPE;
  977. X!       if (ARG(1).v.val <= 0) return E_2LOW;
  978. X!       sprintf(sizebuf, "%d", ARG(1).v.val);
  979. X     } else {
  980. X        strcpy(sizebuf, "DaySize 2 div");
  981. X     }
  982. X  
  983. X     sprintf(s, "gsave 0 setgray newpath Border %s add BoxHeight Border sub %s sub",
  984. X             sizebuf, sizebuf);
  985. X     s += strlen(s);
  986. X--- 2168,2210 ----
  987. X  static int FPsmoon()
  988. X  #endif
  989. X  {
  990. X!    char psbuff[512];
  991. X     char sizebuf[30];
  992. X+    char fontsizebuf[30];
  993. X     char *s = psbuff;
  994. X+    char *extra = NULL;
  995. X+    int size = -1;
  996. X+    int fontsize = -1;
  997. X+ 
  998. X     if (ARG(0).type != INT_TYPE) return E_BAD_TYPE;
  999. X     if (ARG(0).v.val < 0) return E_2LOW;
  1000. X     if (ARG(0).v.val > 3) return E_2HIGH;
  1001. X     if (Nargs > 1) {
  1002. X        if (ARG(1).type != INT_TYPE) return E_BAD_TYPE;
  1003. X!       if (ARG(1).v.val < -1) return E_2LOW;
  1004. X!       size = ARG(1).v.val;
  1005. X!       if (Nargs > 2) {
  1006. X!      if (ARG(2).type != STR_TYPE) return E_BAD_TYPE;
  1007. X!      extra = ARG(2).v.str;
  1008. X!      if (Nargs > 3) {
  1009. X!         if (ARG(3).type != INT_TYPE) return E_BAD_TYPE;
  1010. X!         if (ARG(3).v.val <= 0) return E_2LOW;
  1011. X!         fontsize = ARG(3).v.val;
  1012. X!      }
  1013. X!       }
  1014. X!    }
  1015. X!    if (size > 0) {
  1016. X!       sprintf(sizebuf, "%d", size);
  1017. X     } else {
  1018. X        strcpy(sizebuf, "DaySize 2 div");
  1019. X     }
  1020. X  
  1021. X+    if (fontsize > 0) {
  1022. X+       sprintf(fontsizebuf, "%d", fontsize);
  1023. X+    } else {
  1024. X+       strcpy(fontsizebuf, "EntrySize");
  1025. X+    }
  1026. X+ 
  1027. X     sprintf(s, "gsave 0 setgray newpath Border %s add BoxHeight Border sub %s sub",
  1028. X             sizebuf, sizebuf);
  1029. X     s += strlen(s);
  1030. X***************
  1031. X*** 2176,2186 ****
  1032. X     s += strlen(s);
  1033. X     switch(ARG(0).v.val) {
  1034. X        case 0:
  1035. X!      sprintf(s, " fill grestore");
  1036. X       break;
  1037. X  
  1038. X        case 2:
  1039. X!      sprintf(s, " stroke grestore");
  1040. X       break;
  1041. X  
  1042. X        case 1:
  1043. X--- 2212,2224 ----
  1044. X     s += strlen(s);
  1045. X     switch(ARG(0).v.val) {
  1046. X        case 0:
  1047. X!      sprintf(s, " fill");
  1048. X!      s += strlen(s);
  1049. X       break;
  1050. X  
  1051. X        case 2:
  1052. X!      sprintf(s, " stroke");
  1053. X!      s += strlen(s);
  1054. X       break;
  1055. X  
  1056. X        case 1:
  1057. X***************
  1058. X*** 2189,2195 ****
  1059. X           sprintf(s, " newpath Border %s add BoxHeight Border sub %s sub",
  1060. X                   sizebuf, sizebuf);
  1061. X       s += strlen(s);
  1062. X!      sprintf(s, " %s 90 270 arc closepath fill grestore", sizebuf);
  1063. X       break;
  1064. X  
  1065. X        default:
  1066. X--- 2227,2234 ----
  1067. X           sprintf(s, " newpath Border %s add BoxHeight Border sub %s sub",
  1068. X                   sizebuf, sizebuf);
  1069. X       s += strlen(s);
  1070. X!      sprintf(s, " %s 90 270 arc closepath fill", sizebuf);
  1071. X!      s += strlen(s);
  1072. X       break;
  1073. X  
  1074. X        default:
  1075. X***************
  1076. X*** 2198,2206 ****
  1077. X           sprintf(s, " newpath Border %s add BoxHeight Border sub %s sub",
  1078. X                   sizebuf, sizebuf);
  1079. X       s += strlen(s);
  1080. X!      sprintf(s, " %s 270 90 arc closepath fill grestore", sizebuf);
  1081. X       break;
  1082. X     }
  1083. X     return RetStrVal(psbuff);
  1084. X  }
  1085. X  
  1086. X--- 2237,2253 ----
  1087. X           sprintf(s, " newpath Border %s add BoxHeight Border sub %s sub",
  1088. X                   sizebuf, sizebuf);
  1089. X       s += strlen(s);
  1090. X!      sprintf(s, " %s 270 90 arc closepath fill", sizebuf);
  1091. X!      s += strlen(s);
  1092. X       break;
  1093. X     }
  1094. X+    if (extra) {
  1095. X+       sprintf(s, " Border %s add %s add Border add BoxHeight border sub %s sub %s sub moveto /EntryFont findfont %s scalefont setfont (%s) show",
  1096. X+           sizebuf, sizebuf, sizebuf, sizebuf, fontsizebuf, extra);
  1097. X+       s += strlen(s);
  1098. X+    }
  1099. X+ 
  1100. X+    sprintf(s, " grestore");
  1101. X     return RetStrVal(psbuff);
  1102. X  }
  1103. X  
  1104. X*** ../prev/german.h    Tue Oct 12 16:22:42 1993
  1105. X--- ./german.h    Mon Jan 31 16:53:47 1994
  1106. X***************
  1107. X*** 9,15 ****
  1108. X  /*  I don't speak German.                                      */
  1109. X  /*                                                             */
  1110. X  /*  This file is part of REMIND.                               */
  1111. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  1112. X  /*                                                             */
  1113. X  /***************************************************************/
  1114. X  
  1115. X--- 9,15 ----
  1116. X  /*  I don't speak German.                                      */
  1117. X  /*                                                             */
  1118. X  /*  This file is part of REMIND.                               */
  1119. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  1120. X  /*                                                             */
  1121. X  /***************************************************************/
  1122. X  
  1123. X*** ../prev/globals.c    Tue Oct 12 16:22:42 1993
  1124. X--- ./globals.c    Mon Jan 31 16:53:39 1994
  1125. X***************
  1126. X*** 8,14 ****
  1127. X  /*  globals.h and err.h                                        */
  1128. X  /*                                                             */
  1129. X  /*  This file is part of REMIND.                               */
  1130. X! /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  1131. X  /*                                                             */
  1132. X  /***************************************************************/
  1133. X  #include "config.h"
  1134. X--- 8,14 ----
  1135. X  /*  globals.h and err.h                                        */
  1136. X  /*                                                             */
  1137. X  /*  This file is part of REMIND.                               */
  1138. X! /*  Copyright (C) 1992, 1993, 1994 by David F. Skoll.          */
  1139. X  /*                                                             */
  1140. X  /***************************************************************/
  1141. X  #include "config.h"
  1142. X*** ../prev/globals.h    Tue Nov 16 17:45:06 1993
  1143. X--- ./globals.h    Wed Apr  6 16:36:23 1994
  1144. X***************
  1145. X*** 7,13 ****
  1146. X  /*  MK_GLOBALS.  Also contains useful macro definitions.       */
  1147. X  /*                                                             */
  1148. X  /*  This file is part of REMIND.                               */
  1149. SHAR_EOF
  1150. echo "End of Remind-3.0/Patch-13/part part 1"
  1151. echo "File patch.13 is continued in part 2"
  1152. echo "2" > shar3_seq_.tmp
  1153. exit 0
  1154.  
  1155. exit 0 # Just in case...
  1156.