home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / sun / volume2 / calentool / patch5a / patches05a < prev   
Encoding:
Text File  |  1990-02-04  |  43.6 KB  |  1,458 lines

  1. *** moon.icon.orig    Fri Dec 15 17:19:43 1989
  2. --- moon.icon    Fri Dec 15 17:05:01 1989
  3. ***************
  4. *** 1,4 ****
  5. --- 1,5 ----
  6.   /* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
  7. +  * $Header: moon.icon,v 2.1 89/12/15 17:04:59 billr Exp $
  8.    */
  9.       0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
  10.       0xFFFF,0xFF00,0x00FF,0xFFFF,0xFFFF,0xF800,0x081F,0xFFFF,
  11. *** /tmp/,RCSt1a16881    Fri Dec 15 17:21:59 1989
  12. --- PATCHLOG    Fri Dec 15 17:13:47 1989
  13. ***************
  14. *** 1,4
  15. ! # $Header: PATCHLOG,v 2.5 89/09/19 06:17:10 billr Exp $
  16.   
  17.   #$Log:    PATCHLOG,v $
  18.   # Revision 2.5  89/09/19  06:17:10  billr
  19.  
  20. --- 1,4 -----
  21. ! # $Header: PATCHLOG,v 2.6 89/12/15 17:13:23 billr Exp $
  22.   
  23.   #$Log:    PATCHLOG,v $
  24.   # Revision 2.6  89/12/15  17:13:23  billr
  25. ***************
  26. *** 1,6
  27.   # $Header: PATCHLOG,v 2.5 89/09/19 06:17:10 billr Exp $
  28.   
  29.   #$Log:    PATCHLOG,v $
  30.   # Revision 2.5  89/09/19  06:17:10  billr
  31.   # Patchlevel 4 of calentool. Fixes the following bug reports:
  32.   # 
  33.  
  34. --- 1,58 -----
  35.   # $Header: PATCHLOG,v 2.6 89/12/15 17:13:23 billr Exp $
  36.   
  37.   #$Log:    PATCHLOG,v $
  38. + # Revision 2.6  89/12/15  17:13:23  billr
  39. + # Patchlevel 5 of calentool fixes the following bugs and adds features:
  40. + # 
  41. + # ===========
  42. + # Bugs Fixed:
  43. + # ===========
  44. + # calentool -p -m misses warnings in advance if the warning and 
  45. + #     appointments are in different month.  <kayhan@eve.usc.edu>
  46. + # Fixed bug with day/week PostScript printouts [reported by several people]
  47. + # Fixed bug with "-m" option [reported by several people]
  48. + # Corrected date for Australia Day <ajc@philabs.philips.COM>
  49. + # Fixed -p/-P/-m options so nothing is printed (or mailed) if there are
  50. + #     no appointments for the day. <uunet.uu.net!xlab!milt!milt>, <brooks@ge-dab.crd.ge.COM>
  51. + # Fixed bug whereby entire calentool was being changed to black&white
  52. + #     after the Moon data frame was displayed.
  53. + # Fixed bug in calculation of Jewish passover (on which all the other
  54. + #     Jewish holidays are based) <smb@hector.att.COM>, <rjc@cs.brown.edu>
  55. + # Fixed bug that displayed previous days calendar if a day is selected from a 6 day week. <bob@omni.COM>
  56. + # Shortend length of an extra long entry in the dates/space file. <cdurst@aecmail.prime.com>
  57. + # Fixed bug in calculation of nth_day_of_month (shows up as putting election
  58. + #     day on the wrong week). <uunet.uu.net!formtek!pen>, <att.att.COM!cbosgd!smk>
  59. + # Fixed bug whereby deleted repeated appointments were not always recognized.
  60. + # Added #define for mail program with default set to "usr/ucb/mail". The
  61. + #     problem showed up when a user had /usr/5bin in his path before
  62. + #     /usr/ucb. <uunet.uu.net!cjsa!jeff>
  63. + # Fixed bug that caused calentool to dump core on notes sections with long messages.
  64. + # Added dates/space entry in Makefile.
  65. + # 
  66. + # =============
  67. + # New features:
  68. + # =============
  69. + # Modified parse_date to allow +nnn and -nnn syntax for dates relative to the
  70. + #     current date. <peter@hadrian.uwo.ca>
  71. + # 
  72. + # Add new #defines and switches for selected 12/24 time displays and either
  73. + #     Sunday-Saturday or Monday-Sunday weeks (for some Europeans). <hk@simulina.se>
  74. + # Cleaner opening windows. <cdurst@aecmail.prime.com>
  75. + # New -B option to beep AND open calentool window. <cdurst@aecmail.prime.com>
  76. + # Nested includes (to 4 levels) are now allowed. (Idea from <mdf0%shemesh@gte.COM>)
  77. + # Allow -p/-P[dw] options to work in conjunction with -m/-M so that a
  78. + #     weeks worth of appointments can be mailed.
  79. + # Added new expire option (-x) to expire (trash) all appointments older than
  80. + #     a specified number of days.
  81. + # The sense of the -w option was changed. In order to get the "Working!"
  82. + #     message, you now have to specify "-w".
  83. + # Changed M/D/Y dates to D/M/Y when European option (-E) selected.
  84. + # Optimized certain holiday calculations.
  85. + # New feature for appointments that repeat for a fixed interval of time
  86. + #       e.g. 12/26/89 for 5 days.
  87. + # Wrote new calencheck program for checking for pending appts without having
  88. + #     to run calentool.
  89. + #
  90.   # Revision 2.5  89/09/19  06:17:10  billr
  91.   # Patchlevel 4 of calentool. Fixes the following bug reports:
  92.   # 
  93. *** /tmp/,RCSt1a16886    Fri Dec 15 17:22:02 1989
  94. --- Bugs    Fri Dec 15 17:16:39 1989
  95. ***************
  96. *** 1,8
  97.   These aren't major, but I haven't had time to track them down...
  98.   
  99.   1) The "Working!" message occasionally lingers on when it shouldn't.
  100. !    If it bothers you, use the "-w" option to turn off the message
  101. !    entirely.
  102.   
  103.   2) Arrow display messes up on rare occasions.  I haven't duplicated
  104.      this often enough to track down.
  105.  
  106. --- 1,7 -----
  107.   These aren't major, but I haven't had time to track them down...
  108.   
  109.   1) The "Working!" message occasionally lingers on when it shouldn't.
  110. !    If it bothers you, don't use this option (-w).
  111.   
  112.   The following bugs have been reported by various users, but I haven't
  113.   been able to fix them, since I haven't been able to duplicate them
  114. ***************
  115. *** 4,12
  116.      If it bothers you, use the "-w" option to turn off the message
  117.      entirely.
  118.   
  119. - 2) Arrow display messes up on rare occasions.  I haven't duplicated
  120. -    this often enough to track down.
  121.   The following bugs have been reported by various users, but I haven't
  122.   been able to fix them, since I haven't been able to duplicate them
  123.   (usually due to hardware/os combinations I don't have access to).
  124.  
  125. --- 3,8 -----
  126.   1) The "Working!" message occasionally lingers on when it shouldn't.
  127.      If it bothers you, don't use this option (-w).
  128.   
  129.   The following bugs have been reported by various users, but I haven't
  130.   been able to fix them, since I haven't been able to duplicate them
  131.   (usually due to hardware/os combinations I don't have access to).
  132. ***************
  133. *** 12,18
  134.   (usually due to hardware/os combinations I don't have access to).
  135.   
  136.   *Calentool dies (seg fault) after running overnight with lockscreen <mfeblowitz@ge.com>
  137. - *Core dump when clicking MS-MIDDLE button on note section on 386i <jmc@ptsfa.pacbell.com>
  138.   *Memory leakage <vicorp!sparky!scott@uunet.uu.net>
  139.   *Popup error window only gets partially displayed (OS 4.0.3/Sun3) <rohit@sun.com>
  140.   ?Deleting single occurrance of multiple meeting doesn't really delete it <ecm@aloft.uucp>
  141.  
  142. --- 8,13 -----
  143.   (usually due to hardware/os combinations I don't have access to).
  144.   
  145.   *Calentool dies (seg fault) after running overnight with lockscreen <mfeblowitz@ge.com>
  146.   *Memory leakage <vicorp!sparky!scott@uunet.uu.net>
  147.   *Popup error window only gets partially displayed (OS 4.0.3/Sun3) <rohit@sun.com>
  148.   *Running calentool forces icon gravity change on 386i <lwv27%chemabs@cis.ohio-state.edu>
  149. ***************
  150. *** 15,22
  151.   *Core dump when clicking MS-MIDDLE button on note section on 386i <jmc@ptsfa.pacbell.com>
  152.   *Memory leakage <vicorp!sparky!scott@uunet.uu.net>
  153.   *Popup error window only gets partially displayed (OS 4.0.3/Sun3) <rohit@sun.com>
  154. ! ?Deleting single occurrance of multiple meeting doesn't really delete it <ecm@aloft.uucp>
  155. ! ?Running calentool forces icon gravity change on 386i <lwv27%chemabs@cis.ohio-state.edu>
  156.   
  157.   If you fix any of these, or spot other bugs, please let me know.
  158.   
  159.  
  160. --- 10,16 -----
  161.   *Calentool dies (seg fault) after running overnight with lockscreen <mfeblowitz@ge.com>
  162.   *Memory leakage <vicorp!sparky!scott@uunet.uu.net>
  163.   *Popup error window only gets partially displayed (OS 4.0.3/Sun3) <rohit@sun.com>
  164. ! *Running calentool forces icon gravity change on 386i <lwv27%chemabs@cis.ohio-state.edu>
  165.   
  166.   If you fix any of these, or spot other bugs, please let me know.
  167.   
  168. ***************
  169. *** 23,26
  170.           Bill Randle
  171.           billr@saab.CNA.TEK.COM
  172.           {most backbones}!tektronix!saab.CNA.TEK!billr
  173. !         August 11, 1989
  174.  
  175. --- 17,20 -----
  176.           Bill Randle
  177.           billr@saab.CNA.TEK.COM
  178.           {most backbones}!tektronix!saab.CNA.TEK!billr
  179. !         December 15, 1989
  180. *** /tmp/,RCSt1a16891    Fri Dec 15 17:22:06 1989
  181. --- INSTALL    Fri Dec 15 17:16:42 1989
  182. ***************
  183. *** 1,4
  184. ! INSTALLATION NOTES FOR CALENTOOL - Version 2.1, April 1989
  185.   
  186.   1) Edit the file "ct.h" to tailor calentool to your site. The only things
  187.      that should really need to be "tweeked" are the define statements for:
  188.  
  189. --- 1,4 -----
  190. ! INSTALLATION NOTES FOR CALENTOOL - Version 2.1p5, December 1989
  191.   
  192.   1) Edit the file "ct.h" to tailor calentool to your site. The only things
  193.      that should really need to be "tweeked" are the define statements for:
  194. ***************
  195. *** 11,16
  196.      START_YEAR (first year to appear in year menu)
  197.      NR_YEARS (total number of years to appear in year menu)
  198.      UPDATE_RATE (rate of clock updating)
  199.   
  200.      If you want to make a smaller version of calentool, without certain
  201.      features, uncomment the #defines for one or more of the following
  202.  
  203. --- 11,19 -----
  204.      START_YEAR (first year to appear in year menu)
  205.      NR_YEARS (total number of years to appear in year menu)
  206.      UPDATE_RATE (rate of clock updating)
  207. +    MAILPROG (mailer for -m option)
  208. +    HOUR_24 (for 12 or 24 hour time formats)
  209. +    MON_FIRST (for Sun-Sat or Mon-Sun week formats)
  210.   
  211.      If you want to make a smaller version of calentool, without certain
  212.      features, uncomment the #defines for one or more of the following
  213. ***************
  214. *** 58,61
  215.   
  216.       Bill Randle
  217.       billr@saab.CNA.TEK.COM
  218. !     May 9, 1989
  219.  
  220. --- 61,64 -----
  221.   
  222.       Bill Randle
  223.       billr@saab.CNA.TEK.COM
  224. !     December 15, 1989
  225. *** /tmp/,RCSt1a02742    Tue Dec 19 12:26:34 1989
  226. --- Makefile    Tue Dec 19 12:26:06 1989
  227. ***************
  228. *** 1,4
  229. ! # $Header: Makefile,v 2.2 89/07/19 20:32:48 billr Exp $
  230.   #
  231.   #DATELIB_DIR  Directory containing the Date Library
  232.   #PRINT_CMD    Command to send postscript to appropriate printer
  233.  
  234. --- 1,4 -----
  235. ! # $Header: Makefile,v 2.4 89/12/19 12:25:42 billr Exp $
  236.   #
  237.   #DATELIB_DIR  Directory containing the Date Library
  238.   #PRINT_CMD    Command to send postscript to appropriate printer
  239. ***************
  240. *** 8,13
  241.   #START_YEAR   What is first year of calendar to display
  242.   #NR_YEARS     How many years to display.
  243.   #UPDATE_RATE  How often to perform updates (second or minute)?
  244.   #APPT_CHECK_LIMIT What limits to check for appointments (see ct.h)
  245.   #
  246.   #NO_PRINTER   No printing is supported
  247.  
  248. --- 8,16 -----
  249.   #START_YEAR   What is first year of calendar to display
  250.   #NR_YEARS     How many years to display.
  251.   #UPDATE_RATE  How often to perform updates (second or minute)?
  252. + #MAILPROG     Mailer for -m option
  253. + #HOUR_24      For 12 or 24 hour time formats
  254. + #MON_FIRST    For Sun-Sat or Mon-Sun week formats
  255.   #APPT_CHECK_LIMIT What limits to check for appointments (see ct.h)
  256.   #
  257.   #NO_PRINTER   No printing is supported
  258. ***************
  259. *** 15,20
  260.   #NO_HOLIDAYS  No holiday display is supported
  261.   #NO_SUN_MOON  No sun and moon phase info is supported
  262.   #
  263.   #BINDIR       Where to install binaries
  264.   #LIBDIR       Where to install date files and utility binaries
  265.   #MANDIR       Where to install man pages
  266.  
  267. --- 18,25 -----
  268.   #NO_HOLIDAYS  No holiday display is supported
  269.   #NO_SUN_MOON  No sun and moon phase info is supported
  270.   #
  271. + #CALENCHECK   Ifdefs out parts of files for calencheck program
  272. + #
  273.   #BINDIR       Where to install binaries
  274.   #LIBDIR       Where to install date files and utility binaries
  275.   #MANDIR       Where to install man pages
  276. ***************
  277. *** 30,35
  278.   CC = cc
  279.   DEFINES=  #-DDATELIB_DIR=\"./dates\" -DSTART_HOUR=7 -DEND_HOUR=19 -DSTART_YEAR=88
  280.   CFLAGS=    -g ${DEFINES}
  281.   LIBS=    -lsuntool -lsunwindow -lpixrect -lm
  282.   
  283.   DATEFILES= dates/README dates/celtic dates/computing dates/events\
  284.  
  285. --- 35,41 -----
  286.   CC = cc
  287.   DEFINES=  #-DDATELIB_DIR=\"./dates\" -DSTART_HOUR=7 -DEND_HOUR=19 -DSTART_YEAR=88
  288.   CFLAGS=    -g ${DEFINES}
  289. + CC_CFLAGS = ${CFLAGS} -DCALENCHECK
  290.   LIBS=    -lsuntool -lsunwindow -lpixrect -lm
  291.   
  292.   DATEFILES= dates/README dates/celtic dates/computing dates/events\
  293. ***************
  294. *** 36,42
  295.        dates/lives dates/lotr dates/nature dates/popcult\
  296.        dates/usa_holiday dates/usa_other dates/usa_states dates/world\
  297.        dates/gdead dates/space
  298. ! SRCS=    calentool.c datelib.o devent.c dpaint.c event.c holidays.c\
  299.        init.c moon.c mpaint.c notify.c pcal.c ras2ps.c riseset.c tool.c utils.c\
  300.        version.c wevent.c wpaint.c ypaint.c
  301.   INCLUDES= ct.h event.h paint.h patchlevel.h riseset.h
  302.  
  303. --- 42,48 -----
  304.        dates/lives dates/lotr dates/nature dates/popcult\
  305.        dates/usa_holiday dates/usa_other dates/usa_states dates/world\
  306.        dates/gdead dates/space
  307. ! SRCS=    calentool.c datelib.o devent.c dpaint.c event.c expire.c holidays.c\
  308.        init.c moon.c mpaint.c notify.c pcal.c ras2ps.c riseset.c tool.c utils.c\
  309.        version.c wevent.c wpaint.c ypaint.c
  310.   INCLUDES= ct.h event.h paint.h patchlevel.h riseset.h
  311. ***************
  312. *** 40,47
  313.        init.c moon.c mpaint.c notify.c pcal.c ras2ps.c riseset.c tool.c utils.c\
  314.        version.c wevent.c wpaint.c ypaint.c
  315.   INCLUDES= ct.h event.h paint.h patchlevel.h riseset.h
  316. ! OBJS=    calentool.o datelib.o devent.o dpaint.o event.o holidays.o\
  317. !      init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o utils.o\
  318.        version.o wevent.o wpaint.o ypaint.o
  319.   
  320.   all: calentool conv_tools
  321.  
  322. --- 46,53 -----
  323.        init.c moon.c mpaint.c notify.c pcal.c ras2ps.c riseset.c tool.c utils.c\
  324.        version.c wevent.c wpaint.c ypaint.c
  325.   INCLUDES= ct.h event.h paint.h patchlevel.h riseset.h
  326. ! OBJS=    calentool.o ct_datelib.o devent.o ct_dpaint.o event.o expire.o holidays.o\
  327. !      init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o ct_utils.o\
  328.        version.o wevent.o wpaint.o ypaint.o
  329.   CC_OBJS = calencheck.o cc_datelib.o cc_dpaint.o cc_utils.o
  330.   
  331. ***************
  332. *** 43,48
  333.   OBJS=    calentool.o datelib.o devent.o dpaint.o event.o holidays.o\
  334.        init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o utils.o\
  335.        version.o wevent.o wpaint.o ypaint.o
  336.   
  337.   all: calentool conv_tools
  338.   
  339.  
  340. --- 49,55 -----
  341.   OBJS=    calentool.o ct_datelib.o devent.o ct_dpaint.o event.o expire.o holidays.o\
  342.        init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o ct_utils.o\
  343.        version.o wevent.o wpaint.o ypaint.o
  344. + CC_OBJS = calencheck.o cc_datelib.o cc_dpaint.o cc_utils.o
  345.   
  346.   all: calentool calencheck conv_tools
  347.   
  348. ***************
  349. *** 44,50
  350.        init.o moon.o mpaint.o notify.o pcal.o ras2ps.o riseset.o tool.o utils.o\
  351.        version.o wevent.o wpaint.o ypaint.o
  352.   
  353. ! all: calentool conv_tools
  354.   
  355.   # the main program
  356.   calentool: ${OBJS}
  357.  
  358. --- 51,57 -----
  359.        version.o wevent.o wpaint.o ypaint.o
  360.   CC_OBJS = calencheck.o cc_datelib.o cc_dpaint.o cc_utils.o
  361.   
  362. ! all: calentool calencheck conv_tools
  363.   
  364.   # the main program
  365.   calentool: ${OBJS}
  366. ***************
  367. *** 51,57
  368.       ${CC} ${CFLAGS} -o calentool ${OBJS} ${LIBS}
  369.   
  370.   calentool.o: calentool.c ct.h std.icon rev.icon nap.icon
  371. ! datelib.o: datelib.c
  372.   devent.o: devent.c ct.h event.h
  373.   dpaint.o: dpaint.c ct.h paint.h riseset.h
  374.   holidays.o: holidays.c
  375.  
  376. --- 58,66 -----
  377.       ${CC} ${CFLAGS} -o calentool ${OBJS} ${LIBS}
  378.   
  379.   calentool.o: calentool.c ct.h std.icon rev.icon nap.icon
  380. ! ct_datelib.o: datelib.c
  381. !     ${CC} ${CFLAGS} -c datelib.c
  382. !     mv datelib.o ct_datelib.o
  383.   devent.o: devent.c ct.h event.h
  384.   ct_dpaint.o: dpaint.c ct.h paint.h riseset.h
  385.       ${CC} ${CFLAGS} -c dpaint.c
  386. ***************
  387. *** 53,59
  388.   calentool.o: calentool.c ct.h std.icon rev.icon nap.icon
  389.   datelib.o: datelib.c
  390.   devent.o: devent.c ct.h event.h
  391. ! dpaint.o: dpaint.c ct.h paint.h riseset.h
  392.   holidays.o: holidays.c
  393.   init.o: init.c ct.h
  394.   moon.o: moon.c
  395.  
  396. --- 62,71 -----
  397.       ${CC} ${CFLAGS} -c datelib.c
  398.       mv datelib.o ct_datelib.o
  399.   devent.o: devent.c ct.h event.h
  400. ! ct_dpaint.o: dpaint.c ct.h paint.h riseset.h
  401. !     ${CC} ${CFLAGS} -c dpaint.c
  402. !     mv dpaint.o ct_dpaint.o
  403. ! expire.o: expire.c ct.h
  404.   holidays.o: holidays.c
  405.   init.o: init.c ct.h
  406.   moon.o: moon.c
  407. ***************
  408. *** 64,70
  409.   ras2ps.o: ras2ps.c
  410.   riseset.o: riseset.h
  411.   tool.o: tool.c ct.h
  412. ! utils.o: utils.c ct.h
  413.   version.o: version.c
  414.   wevent.o: wevent.c ct.h event.h
  415.   wpaint.o: wpaint.c ct.h paint.h
  416.  
  417. --- 76,84 -----
  418.   ras2ps.o: ras2ps.c
  419.   riseset.o: riseset.h
  420.   tool.o: tool.c ct.h
  421. ! ct_utils.o: utils.c ct.h
  422. !     ${CC} ${CFLAGS} -c utils.c
  423. !     mv utils.o ct_utils.o
  424.   version.o: version.c
  425.   wevent.o: wevent.c ct.h event.h
  426.   wpaint.o: wpaint.c ct.h paint.h
  427. ***************
  428. *** 70,75
  429.   wpaint.o: wpaint.c ct.h paint.h
  430.   ypaint.o: ypaint.c ct.h paint.h
  431.   
  432.   # conversion utilities
  433.   conv_tools: cal2ct month2ct mt2ct
  434.   
  435.  
  436. --- 84,103 -----
  437.   wpaint.o: wpaint.c ct.h paint.h
  438.   ypaint.o: ypaint.c ct.h paint.h
  439.   
  440. + # the calencheck program
  441. + calencheck: ${CC_OBJS}
  442. +     ${CC} ${CC_CFLAGS} -o calencheck ${CC_OBJS} -lsunwindow -lm
  443. + cc_utils.o: utils.c ct.h
  444. +     ${CC} ${CC_CFLAGS} -c utils.c
  445. +     mv utils.o cc_utils.o
  446. + cc_datelib.o: datelib.c
  447. +     ${CC} ${CC_CFLAGS} -c datelib.c
  448. +     mv datelib.o cc_datelib.o
  449. + cc_dpaint.o: dpaint.c ct.h
  450. +     ${CC} ${CC_CFLAGS} -c dpaint.c
  451. +     mv dpaint.o cc_dpaint.o
  452.   # conversion utilities
  453.   conv_tools: cal2ct month2ct mt2ct
  454.   
  455. ***************
  456. *** 84,89
  457.   
  458.   install: all
  459.       install -s calentool ${BINDIR}
  460.       install -c -m 444 calentool.1 ${MANDIR}/calentool.${MANEXT}
  461.       install -c -m 444 CalenTool.d ${DEFSDIR}/CalenTool.d
  462.       -mkdir ${LIBDIR}
  463.  
  464. --- 112,118 -----
  465.   
  466.   install: all
  467.       install -s calentool ${BINDIR}
  468. +     install -s calencheck ${BINDIR}
  469.       install -c -m 444 calentool.1 ${MANDIR}/calentool.${MANEXT}
  470.       install -c -m 444 calencheck.1 ${MANDIR}/calencheck.${MANEXT}
  471.       install -c -m 444 CalenTool.d ${DEFSDIR}/CalenTool.d
  472. ***************
  473. *** 85,90
  474.   install: all
  475.       install -s calentool ${BINDIR}
  476.       install -c -m 444 calentool.1 ${MANDIR}/calentool.${MANEXT}
  477.       install -c -m 444 CalenTool.d ${DEFSDIR}/CalenTool.d
  478.       -mkdir ${LIBDIR}
  479.       cp ${DATEFILES} ${LIBDIR}
  480.  
  481. --- 114,120 -----
  482.       install -s calentool ${BINDIR}
  483.       install -s calencheck ${BINDIR}
  484.       install -c -m 444 calentool.1 ${MANDIR}/calentool.${MANEXT}
  485. +     install -c -m 444 calencheck.1 ${MANDIR}/calencheck.${MANEXT}
  486.       install -c -m 444 CalenTool.d ${DEFSDIR}/CalenTool.d
  487.       -mkdir ${LIBDIR}
  488.       cp ${DATEFILES} ${LIBDIR}
  489. ***************
  490. *** 103,109
  491.       rm -f *.o *.BAK core *~ #*#
  492.   
  493.   veryclean:
  494. !     rm -f calentool cal2ct month2ct mt2ct *.o *.BAK core *~ #*#
  495.   
  496.   # If you are using GNU make, the following statement will cause it to
  497.   # ignore any (bogus) files named `clean', `all', etc.; if you are using
  498.  
  499. --- 133,139 -----
  500.       rm -f *.o *.BAK core *~ #*#
  501.   
  502.   veryclean:
  503. !     rm -f calentool calencheck cal2ct month2ct mt2ct *.o *.BAK core *~ #*#
  504.   
  505.   # If you are using GNU make, the following statement will cause it to
  506.   # ignore any (bogus) files named `clean', `all', etc.; if you are using
  507. *** /tmp/,RCSt1a16901    Fri Dec 15 17:22:14 1989
  508. --- ToDo    Fri Dec 15 17:16:50 1989
  509. ***************
  510. *** 1,7
  511.   Still to do someday...
  512.   
  513.   1) Convert display code and event handling, etc. to X11.  Using
  514. !    View2 may be the way to do this.
  515.   
  516.   2) Add Lunar based (e.g. Chinese, Japanese) holidays.
  517.   
  518.  
  519. --- 1,7 -----
  520.   Still to do someday...
  521.   
  522.   1) Convert display code and event handling, etc. to X11.  Using
  523. !    XView may be the way to do this.
  524.   
  525.   2) Add Lunar based (e.g. Chinese, Japanese) holidays.
  526.   
  527. ***************
  528. *** 33,39
  529.   =Want to come up in week display <bob@boulder.colorado.edu>
  530.   =Want to order the notes (i.e. pick which is displayed first) <dna@emmy.umd.edu>
  531.   =Want to see two days at a time <rohit@sun.com>
  532. - =Want to set duration of an appointment (e.g. gone for 4 days) <jeremy@kheops.cmi.no>
  533.   =Want to start arbitrary process at appt time <wyle@inf.ethz.ch>
  534.   =Want week display to show current day at left, then next 5-7 days <bob@boulder.colorado.edu>
  535.   =Want window to open when appt time approaches <rohit@sun.com>
  536.  
  537. --- 33,38 -----
  538.   =Want to come up in week display <bob@boulder.colorado.edu>
  539.   =Want to order the notes (i.e. pick which is displayed first) <dna@emmy.umd.edu>
  540.   =Want to see two days at a time <rohit@sun.com>
  541.   =Want to start arbitrary process at appt time <wyle@inf.ethz.ch>
  542.   =Want week display to show current day at left, then next 5-7 days <bob@boulder.colorado.edu>
  543.   =Want jump scroll for long messages
  544. ***************
  545. *** 36,39
  546.   =Want to set duration of an appointment (e.g. gone for 4 days) <jeremy@kheops.cmi.no>
  547.   =Want to start arbitrary process at appt time <wyle@inf.ethz.ch>
  548.   =Want week display to show current day at left, then next 5-7 days <bob@boulder.colorado.edu>
  549. ! =Want window to open when appt time approaches <rohit@sun.com>
  550.  
  551. --- 35,40 -----
  552.   =Want to see two days at a time <rohit@sun.com>
  553.   =Want to start arbitrary process at appt time <wyle@inf.ethz.ch>
  554.   =Want week display to show current day at left, then next 5-7 days <bob@boulder.colorado.edu>
  555. ! =Want jump scroll for long messages
  556. ! =Want more features from 'sched', e.g. alarm clock, marked time events, display month current month icon <cdurst@aecmail.prime.com>
  557. ! =Want to be able to set all command line options from within the running tool.
  558. *** /tmp/,RCSt1a16906    Fri Dec 15 17:22:19 1989
  559. --- calentool.1    Fri Dec 15 17:16:57 1989
  560. ***************
  561. *** 1,4
  562. ! .\" $Header: calentool.1,v 2.4 89/09/19 06:06:11 billr Exp $
  563.   .\"
  564.   .TH CALENTOOL 1 "14 September 1989"
  565.   .ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
  566.  
  567. --- 1,4 -----
  568. ! .\" $Header: calentool.1,v 2.5 89/12/15 17:16:51 billr Exp $
  569.   .\"
  570.   .TH CALENTOOL 1 "14 December 1989"
  571.   .ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
  572. ***************
  573. *** 1,6
  574.   .\" $Header: calentool.1,v 2.4 89/09/19 06:06:11 billr Exp $
  575.   .\"
  576. ! .TH CALENTOOL 1 "14 September 1989"
  577.   .ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
  578.   .SH NAME
  579.   calentool - day/week/month/year-at-a-glance SunView tool (the Hacker's Almanac)
  580.  
  581. --- 1,6 -----
  582.   .\" $Header: calentool.1,v 2.5 89/12/15 17:16:51 billr Exp $
  583.   .\"
  584. ! .TH CALENTOOL 1 "14 December 1989"
  585.   .ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
  586.   .SH NAME
  587.   calentool - day/week/month/year-at-a-glance SunView tool (the Hacker's Almanac)
  588. ***************
  589. *** 10,15
  590.   .B \-b
  591.   ]
  592.   [
  593.   .B \-d
  594.   .I date
  595.   ]
  596.  
  597. --- 10,18 -----
  598.   .B \-b
  599.   ]
  600.   [
  601. + .B \-B
  602. + ]
  603. + [
  604.   .B \-d
  605.   .I date
  606.   ]
  607. ***************
  608. *** 35,40
  609.   .I userid
  610.   ]
  611.   [
  612.   .B \-o
  613.   ]
  614.   [
  615.  
  616. --- 38,47 -----
  617.   .I userid
  618.   ]
  619.   [
  620. + .B \-M
  621. + .I userid
  622. + ]
  623. + [
  624.   .B \-o
  625.   ]
  626.   [
  627. ***************
  628. *** 67,72
  629.   .B \-5
  630.   ]
  631.   [
  632.   .B \-7
  633.   ]
  634.   [
  635.  
  636. --- 74,83 -----
  637.   .B \-5
  638.   ]
  639.   [
  640. + .B \-6
  641. + ]
  642. + [
  643. + [
  644.   .B \-7
  645.   ]
  646.   [
  647. ***************
  648. *** 70,76
  649.   .B \-7
  650.   ]
  651.   [
  652. ! .I suntools options
  653.   ]
  654.   .SH DESCRIPTION
  655.   .I Calentool
  656.  
  657. --- 81,87 -----
  658.   .B \-7
  659.   ]
  660.   [
  661. ! .B \-12
  662.   ]
  663.   [
  664.   .B \-24
  665. ***************
  666. *** 72,77
  667.   [
  668.   .I suntools options
  669.   ]
  670.   .SH DESCRIPTION
  671.   .I Calentool
  672.   is a day/week/month/year-at-a-glance tool.  It is a
  673.  
  674. --- 83,104 -----
  675.   [
  676.   .B \-12
  677.   ]
  678. + [
  679. + .B \-24
  680. + ]
  681. + [
  682. + .B \-e
  683. + ]
  684. + [
  685. + .B \-E
  686. + ]
  687. + [
  688. + .B \-x
  689. + .I int
  690. + ]
  691. + [
  692. + .I sunview options
  693. + ]
  694.   .SH DESCRIPTION
  695.   .I Calentool
  696.   is a day/week/month/year-at-a-glance tool.  It is a
  697. ***************
  698. *** 88,94
  699.   .IR mail (1),
  700.   and to examine colleagues appointment schedules.  Daily and weekly schedules
  701.   can be sent to a \*(Ps printer.  Outdated appointments can be sent
  702. ! automatically to an archival file.  An extensive  set of files containing
  703.   commemorative dates is included, as well as a library of routines which
  704.   computes the dates of various holidays which do not fall on fixed days
  705.   of the Gregorian calendar (including religious holidays and astronomical
  706.  
  707. --- 115,121 -----
  708.   .IR mail (1),
  709.   and to examine colleagues appointment schedules.  Daily and weekly schedules
  710.   can be sent to a \*(Ps printer.  Outdated appointments can be sent
  711. ! automatically to an archival file.  An extensive set of files containing
  712.   commemorative dates is included, as well as a library of routines which
  713.   computes the dates of various holidays which do not fall on fixed days
  714.   of the Gregorian calendar (including religious holidays and astronomical
  715. ***************
  716. *** 98,103
  717.   .I calentool
  718.   you should be operating within the SunView environment, the
  719.   .BR \-m ,
  720.   .B \-p
  721.   and
  722.   .B \-P
  723.  
  724. --- 125,131 -----
  725.   .I calentool
  726.   you should be operating within the SunView environment, the
  727.   .BR \-m ,
  728. + .BR \-M ,
  729.   .B \-p
  730.   and
  731.   .B \-P
  732. ***************
  733. *** 121,127
  734.   .SH OPTIONS
  735.   .I Calentool
  736.   accepts standard
  737. ! .I suntools
  738.   command line options at the end of the command line.
  739.   .TP 15
  740.   .B \-b
  741.  
  742. --- 149,155 -----
  743.   .SH OPTIONS
  744.   .I Calentool
  745.   accepts standard
  746. ! .I sunview
  747.   command line options at the end of the command line.
  748.   .TP 15
  749.   .B \-b
  750. ***************
  751. *** 133,138
  752.   .IR nlock (1L);
  753.   notifying passers-by of the user's current activity.
  754.   .TP
  755.   .BI \-d \ date
  756.   Open the calendar at the day
  757.   .IR date ,
  758.  
  759. --- 161,174 -----
  760.   .IR nlock (1L);
  761.   notifying passers-by of the user's current activity.
  762.   .TP
  763. + .B \-B
  764. + Similar to
  765. + .B \-b
  766. + except that the
  767. + .I calentool
  768. + frame is opened instead of writing to the console.  If both features are
  769. + desired, both options may be specified.
  770. + .TP
  771.   .BI \-d \ date
  772.   Open the calendar at the day
  773.   .IR date ,
  774. ***************
  775. *** 148,153
  776.   MO/DD (day DD of month MO, for example 11/12 for November 12)
  777.   .br
  778.   MO/DD/YY (day DD of month MO, year YY, for example 9/1/88 for 1 September 1988)
  779.   .RE
  780.   .TP
  781.   .BI \-f \ apptsfile
  782.  
  783. --- 184,194 -----
  784.   MO/DD (day DD of month MO, for example 11/12 for November 12)
  785.   .br
  786.   MO/DD/YY (day DD of month MO, year YY, for example 9/1/88 for 1 September 1988)
  787. + .TP
  788. + relative dates:
  789. + +n (n days from now, for example +1 for tomorrow)
  790. + .br
  791. + -n (n days ago, for example -1 for yesterday)
  792.   .RE
  793.   .TP
  794.   .BI \-f \ apptsfile
  795. ***************
  796. *** 217,222
  797.   represents the last two digits of a past year).
  798.   .TP
  799.   .BI \-m " userid"
  800.   Send mail listing todays appointments to the user specified by
  801.   .I userid
  802.   and exit.
  803.  
  804. --- 258,265 -----
  805.   represents the last two digits of a past year).
  806.   .TP
  807.   .BI \-m " userid"
  808. + .br
  809. + .BI \-M " userid"
  810.   Send mail listing todays appointments to the user specified by
  811.   .I userid
  812.   and exit.
  813. ***************
  814. *** 220,225
  815.   Send mail listing todays appointments to the user specified by
  816.   .I userid
  817.   and exit.
  818.   This feature is useful when calentool is run from
  819.   .IR cron (1),
  820.   to send yourself mail about today's appointments.  No mail is
  821.  
  822. --- 263,272 -----
  823.   Send mail listing todays appointments to the user specified by
  824.   .I userid
  825.   and exit.
  826. + .B \-m
  827. + shows all notes, while
  828. + .B \-M
  829. + does not show notes not marked for display in the month/year displays.
  830.   This feature is useful when calentool is run from
  831.   .IR cron (1),
  832.   to send yourself mail about today's appointments.  No mail is
  833. ***************
  834. *** 224,229
  835.   .IR cron (1),
  836.   to send yourself mail about today's appointments.  No mail is
  837.   sent about today's appointments, if there are none.
  838.   (Note: this option eliminates the need for the separate program,
  839.   .IR calenmail (1L),
  840.   which was distributed with earlier releases of
  841.  
  842. --- 271,286 -----
  843.   .IR cron (1),
  844.   to send yourself mail about today's appointments.  No mail is
  845.   sent about today's appointments, if there are none.
  846. + The
  847. + .B \-p
  848. + and
  849. + .B \-P
  850. + options may be used with these options to mail yourself a whole weeks
  851. + worth of appointments, e.g.:
  852. + .I
  853. + calentool -Pw -m billr.
  854. + .R
  855.   (Note: this option eliminates the need for the separate program,
  856.   .IR calenmail (1L),
  857.   which was distributed with earlier releases of
  858. ***************
  859. *** 281,288
  860.   seconds.
  861.   .TP
  862.   .B \-w
  863. ! Don't display the "Working!" message in the control panel during
  864. ! lengthy operations.  The cursor still changes to an hourglass.
  865.   .TP
  866.   .B \-z
  867.   Convert appointments file used by earlier versions of
  868.  
  869. --- 338,345 -----
  870.   seconds.
  871.   .TP
  872.   .B \-w
  873. ! Display the "Working!" message in the control panel during
  874. ! lengthy operations.  The cursor also changes to an hourglass.
  875.   .TP
  876.   .BI \-x " int"
  877.   Expire appointment files entries if they are older than
  878. ***************
  879. *** 284,289
  880.   Don't display the "Working!" message in the control panel during
  881.   lengthy operations.  The cursor still changes to an hourglass.
  882.   .TP
  883.   .B \-z
  884.   Convert appointments file used by earlier versions of
  885.   .I calentool
  886.  
  887. --- 341,354 -----
  888.   Display the "Working!" message in the control panel during
  889.   lengthy operations.  The cursor also changes to an hourglass.
  890.   .TP
  891. + .BI \-x " int"
  892. + Expire appointment files entries if they are older than
  893. + .I int
  894. + days old.  Appointments in #include files are not expired.  To expire
  895. + included appointments,
  896. + .I calentool
  897. + must be run on the included file directly.
  898. + .TP
  899.   .B \-z
  900.   Convert appointments file used by earlier versions of
  901.   .I calentool
  902. ***************
  903. *** 293,299
  904.   .TP
  905.   .B \-5
  906.   Display only five days (Monday through Friday) in the week display.  This is
  907. ! useful if the installer has set the default display format to 7 days.
  908.   .TP
  909.   .B \-7
  910.   Display all seven days in the week display.  This is useful if the installer
  911.  
  912. --- 358,364 -----
  913.   .TP
  914.   .B \-5
  915.   Display only five days (Monday through Friday) in the week display.  This is
  916. ! useful if the installer has set the default display format to 6 or 7 days.
  917.   .TP
  918.   .B \-6
  919.   Display six days (Monday through Saturday) in the week display.  This is
  920. ***************
  921. *** 295,300
  922.   Display only five days (Monday through Friday) in the week display.  This is
  923.   useful if the installer has set the default display format to 7 days.
  924.   .TP
  925.   .B \-7
  926.   Display all seven days in the week display.  This is useful if the installer
  927.   has set the default value to 5 days.  The 7-day display is wider than the 5-day
  928.  
  929. --- 360,369 -----
  930.   Display only five days (Monday through Friday) in the week display.  This is
  931.   useful if the installer has set the default display format to 6 or 7 days.
  932.   .TP
  933. + .B \-6
  934. + Display six days (Monday through Saturday) in the week display.  This is
  935. + useful if the installer has set the default display format to 5 or 7 days.
  936. + .TP
  937.   .B \-7
  938.   Display all seven days in the week display.  This is useful if the installer
  939.   has set the default value to 5 or 6 days.  The 7-day display is wider than the 5-day
  940. ***************
  941. *** 297,303
  942.   .TP
  943.   .B \-7
  944.   Display all seven days in the week display.  This is useful if the installer
  945. ! has set the default value to 5 days.  The 7-day display is wider than the 5-day
  946.   display, allowing longer messages to be displayed.
  947.   .SH "DETAILED INSTRUCTIONS"
  948.   .SS "Examining the calendar"
  949.  
  950. --- 366,372 -----
  951.   .TP
  952.   .B \-7
  953.   Display all seven days in the week display.  This is useful if the installer
  954. ! has set the default value to 5 or 6 days.  The 7-day display is wider than the 5-day
  955.   display, allowing longer messages to be displayed.
  956.   .TP
  957.   .B \-12
  958. ***************
  959. *** 299,304
  960.   Display all seven days in the week display.  This is useful if the installer
  961.   has set the default value to 5 days.  The 7-day display is wider than the 5-day
  962.   display, allowing longer messages to be displayed.
  963.   .SH "DETAILED INSTRUCTIONS"
  964.   .SS "Examining the calendar"
  965.   When first opened, the tool displays the appointments for a single day (today
  966.  
  967. --- 368,394 -----
  968.   Display all seven days in the week display.  This is useful if the installer
  969.   has set the default value to 5 or 6 days.  The 7-day display is wider than the 5-day
  970.   display, allowing longer messages to be displayed.
  971. + .TP
  972. + .B \-12
  973. + Display time in a 12-hour AM/PM format whenever practical.  This is usefful
  974. + if the installer has set the default time format to 24-hour time.
  975. + .TP
  976. + .B \-24
  977. + Display time in a 24-hour AM/PM format.  This is usefful
  978. + if the installer has set the default time format to 12-hour time.
  979. + .TP
  980. + .B \-e
  981. + Set European week display format (Monday through Sunday).  When 7 day
  982. + week display is set, the display shows the days Monday through Sunday,
  983. + rather than Sunday through Saturday.  This also affects the month
  984. + and year displays.
  985. + .TP
  986. + .B \-E
  987. + Set all European style options.  Currently, this includes:
  988. + .B \-24
  989. + and
  990. + .BR \-e .
  991. + Other options may be added in the future.
  992.   .SH "DETAILED INSTRUCTIONS"
  993.   .SS "Examining the calendar"
  994.   When first opened, the tool displays the appointments for a single day (today
  995. ***************
  996. *** 459,465
  997.   year.  Alternatively,
  998.   the appointment may be repeated at a specified interval of days.  The user can
  999.   also specify a period of days prior to the appointment for which a reminder
  1000. ! will be printed.  For example, one could specify that a meeting is to occur
  1001.   on the first and third Tuesday of the month, in perpetuity, by selecting
  1002.   the repeat options
  1003.   .BR "Selected Week" ,
  1004.  
  1005. --- 549,556 -----
  1006.   year.  Alternatively,
  1007.   the appointment may be repeated at a specified interval of days.  The user can
  1008.   also specify a period of days prior to the appointment for which a reminder
  1009. ! will be printed and how many times this appointment will be repeated.
  1010. ! For example, one could specify that a meeting is to occur
  1011.   on the first and third Tuesday of the month, in perpetuity, by selecting
  1012.   the repeat options
  1013.   .BR "Selected Week" ,
  1014. ***************
  1015. *** 560,566
  1016.       \fC# CalenTool V2 - DO NOT REMOVE THIS LINE
  1017.       #include "file"
  1018.       # <comment string>
  1019. !     YY MO DD HH MI AA [II] <WW> # \fImessage\fP
  1020.   .fi
  1021.   .SS Header line
  1022.   The first line in an
  1023.  
  1024. --- 651,657 -----
  1025.       \fC# CalenTool V2 - DO NOT REMOVE THIS LINE
  1026.       #include "file"
  1027.       # <comment string>
  1028. !     YY MO DD HH MI AA [II] <WW> +RR # \fImessage\fP
  1029.   .fi
  1030.   .SS Header line
  1031.   The first line in an
  1032. ***************
  1033. *** 644,650
  1034.   appointments.  The
  1035.   .I <WW>
  1036.   field appears within broken brackets, and indicates the number of
  1037. ! days of advance warning required.
  1038.   .SS Appointment text
  1039.   If a # character appears in front of the text, it indicates that a recurring
  1040.   appointment has been suppressed for that day.
  1041.  
  1042. --- 735,744 -----
  1043.   appointments.  The
  1044.   .I <WW>
  1045.   field appears within broken brackets, and indicates the number of
  1046. ! days of advance warning required.  The
  1047. ! .I +RR
  1048. ! field is preceded by a plus sign, and indicates the repetition count
  1049. ! for a given appointment.
  1050.   .SS Appointment text
  1051.   If a # character appears in front of the text, it indicates that a recurring
  1052.   appointment has been suppressed for that day.
  1053. ***************
  1054. *** 660,666
  1055.       \fC** 04 01 00 01 00            April Fool's Day
  1056.       ** ** Tu 10 30 00 [1,3]      Meeting on 1st and 3rd Tues. of Month
  1057.       ** ** 01 00 01 00 <1>        First day of every month, one day warning
  1058. !     88 05 ** 00 01 00            On vacation for entire month of May 1988\fP
  1059.   .fi
  1060.   .RE
  1061.   .SH "SUPPLIED SPECIAL DATES FILES"
  1062.  
  1063. --- 754,761 -----
  1064.       \fC** 04 01 00 01 00            April Fool's Day
  1065.       ** ** Tu 10 30 00 [1,3]      Meeting on 1st and 3rd Tues. of Month
  1066.       ** ** 01 00 01 00 <1>        First day of every month, one day warning
  1067. !     88 05 ** 00 01 00            On vacation for entire month of May 1988
  1068. !     89 11 06 99 00 00 +4         SigFishing Conference\fP
  1069.   .fi
  1070.   .RE
  1071.   .SH "SUPPLIED SPECIAL DATES FILES"
  1072. ***************
  1073. *** 779,785
  1074.   .I $HOME/.defaults
  1075.   file
  1076.   .SH "SEE ALSO"
  1077. ! cal(1), cal2ct(1L), calendar(1), clocktool(1), cron(8),
  1078.   mail(1), month(1L), monthtool(1L), month2ct(1L), mt2ct(1L),
  1079.   nlock(1L), suntools(1), vi(1)
  1080.   .SH REFERENCES
  1081.  
  1082. --- 874,880 -----
  1083.   .I $HOME/.defaults
  1084.   file
  1085.   .SH "SEE ALSO"
  1086. ! cal(1), cal2ct(1L), calencheck(1L), calendar(1), clocktool(1), cron(8),
  1087.   mail(1), month(1L), monthtool(1L), month2ct(1L), mt2ct(1L),
  1088.   nlock(1L), suntools(1)
  1089.   .SH REFERENCES
  1090. ***************
  1091. *** 781,787
  1092.   .SH "SEE ALSO"
  1093.   cal(1), cal2ct(1L), calendar(1), clocktool(1), cron(8),
  1094.   mail(1), month(1L), monthtool(1L), month2ct(1L), mt2ct(1L),
  1095. ! nlock(1L), suntools(1), vi(1)
  1096.   .SH REFERENCES
  1097.   An excellent compendium which describes basic terminology of time measurement,
  1098.   methods of astronomical computation, and the convoluted history of calendars:
  1099.  
  1100. --- 876,882 -----
  1101.   .SH "SEE ALSO"
  1102.   cal(1), cal2ct(1L), calencheck(1L), calendar(1), clocktool(1), cron(8),
  1103.   mail(1), month(1L), monthtool(1L), month2ct(1L), mt2ct(1L),
  1104. ! nlock(1L), suntools(1)
  1105.   .SH REFERENCES
  1106.   An excellent compendium which describes basic terminology of time measurement,
  1107.   methods of astronomical computation, and the convoluted history of calendars:
  1108. *** /tmp/,RCSt1a17008    Fri Dec 15 17:24:08 1989
  1109. --- wpaint.c    Fri Dec 15 17:18:42 1989
  1110. ***************
  1111. *** 1,5
  1112.   /*
  1113. !  * $Header: wpaint.c,v 2.2 89/07/19 20:32:38 billr Exp $
  1114.    */
  1115.   /*
  1116.    * wpaint.c
  1117.  
  1118. --- 1,5 -----
  1119.   /*
  1120. !  * $Header: wpaint.c,v 2.3 89/12/15 17:18:39 billr Exp $
  1121.    */
  1122.   /*
  1123.    * wpaint.c
  1124. ***************
  1125. *** 54,59
  1126.       fix_current_day();
  1127.       Save = current;
  1128.       current.tm_mday -= current.tm_wday; /* Sunday of this week */
  1129.       fix_current_day();
  1130.       if (nr_weekdays < 7) {
  1131.           current.tm_mday++;
  1132.  
  1133. --- 54,65 -----
  1134.       fix_current_day();
  1135.       Save = current;
  1136.       current.tm_mday -= current.tm_wday; /* Sunday of this week */
  1137. +     if (monday_first)  {
  1138. +         if (current.tm_wday == SUN)
  1139. +             current.tm_mday -= 7;
  1140. +         if (nr_weekdays == 7)
  1141. +             current.tm_mday++; /* start on Monday */
  1142. +     }
  1143.       fix_current_day();
  1144.       if (nr_weekdays < 7) {
  1145.           current.tm_mday++;
  1146. ***************
  1147. *** 127,133
  1148.           c[3] = '\0';            /* Mon Tue Wed Thu Fri */
  1149.           for (i=0; i<nr_weekdays; i++) {
  1150.                   x = startx + i*weekslot_width + (weekslot_width - 2*(font->pf_defaultsize.x+2))/2;
  1151. !         sprintf(c, "%3.3s", daynames[First.tm_wday + i]);
  1152.                   pw_text(main_pixwin, x, starty-5, PIX_SRC, font, c);
  1153.           }
  1154.           
  1155.  
  1156. --- 133,142 -----
  1157.           c[3] = '\0';            /* Mon Tue Wed Thu Fri */
  1158.           for (i=0; i<nr_weekdays; i++) {
  1159.                   x = startx + i*weekslot_width + (weekslot_width - 2*(font->pf_defaultsize.x+2))/2;
  1160. !         if (monday_first && i == 6)
  1161. !             sprintf(c, "%3.3s", daynames[SUN]);
  1162. !         else
  1163. !             sprintf(c, "%3.3s", daynames[First.tm_wday + i]);
  1164.                   pw_text(main_pixwin, x, starty-5, PIX_SRC, font, c);
  1165.           }
  1166.           
  1167. ***************
  1168. *** 135,143
  1169.           rightx = startx + nr_weekdays*weekslot_width + 10;
  1170.       for (i=0; i<N_SLOTS; i++) {
  1171.           if (i < n_tslots) {
  1172. !             sprintf(c, "%2d:%s",
  1173. !                 (START_HOUR+(i/2))%12 == 0 ? 12 : (START_HOUR+(i/2))%12,
  1174. !                 i%2 == 0 ? "00" : "30");
  1175.           } else if (i == n_tslots) {
  1176.               sprintf(c, "Notes");
  1177.           } else {
  1178.  
  1179. --- 144,157 -----
  1180.           rightx = startx + nr_weekdays*weekslot_width + 10;
  1181.       for (i=0; i<N_SLOTS; i++) {
  1182.           if (i < n_tslots) {
  1183. !             if (hour24)
  1184. !                 sprintf(c, "%2d:%s",
  1185. !                     START_HOUR+(i/2),
  1186. !                     i%2 == 0 ? "00" : "30");
  1187. !             else
  1188. !                 sprintf(c, "%2d:%s%s",
  1189. !                     (START_HOUR+(i/2))%12 == 0 ? 12 : (START_HOUR+(i/2))%12,
  1190. !                     i%2 == 0 ? "00" : "30", (START_HOUR+(i/2) < 12 ? "am" : "pm"));
  1191.           } else if (i == n_tslots) {
  1192.               sprintf(c, (hour24 ? "Notes" : " Notes"));
  1193.           } else {
  1194. ***************
  1195. *** 139,145
  1196.                   (START_HOUR+(i/2))%12 == 0 ? 12 : (START_HOUR+(i/2))%12,
  1197.                   i%2 == 0 ? "00" : "30");
  1198.           } else if (i == n_tslots) {
  1199. !             sprintf(c, "Notes");
  1200.           } else {
  1201.               sprintf(c, "     ");
  1202.           }
  1203.  
  1204. --- 153,159 -----
  1205.                       (START_HOUR+(i/2))%12 == 0 ? 12 : (START_HOUR+(i/2))%12,
  1206.                       i%2 == 0 ? "00" : "30", (START_HOUR+(i/2) < 12 ? "am" : "pm"));
  1207.           } else if (i == n_tslots) {
  1208. !             sprintf(c, (hour24 ? "Notes" : " Notes"));
  1209.           } else {
  1210.               sprintf(c, "     ");
  1211.           }
  1212. ***************
  1213. *** 143,150
  1214.           } else {
  1215.               sprintf(c, "     ");
  1216.           }
  1217. !                 pw_text(main_pixwin, startx-6*font->pf_defaultsize.x, y, PIX_SRC, font, c);
  1218. !                 pw_text(main_pixwin, rightx, y, PIX_SRC, font, c);
  1219.                   y += weekslot_height;
  1220.       }
  1221.   
  1222.  
  1223. --- 157,169 -----
  1224.           } else {
  1225.               sprintf(c, "     ");
  1226.           }
  1227. !         if (hour24) {
  1228. !             pw_text(main_pixwin, startx-7*font->pf_defaultsize.x, y, PIX_SRC, font, c);
  1229. !             pw_text(main_pixwin, rightx, y, PIX_SRC, font, c);
  1230. !         } else {
  1231. !             pw_text(main_pixwin, startx-8*font->pf_defaultsize.x, y, PIX_SRC, font, c);
  1232. !             pw_text(main_pixwin, rightx-font->pf_defaultsize.x, y, PIX_SRC, font, c);
  1233. !         }
  1234.                   y += weekslot_height;
  1235.       }
  1236.   
  1237. ***************
  1238. *** 155,162
  1239.   
  1240.       /* display week dates (month, day) */
  1241.           for (i=0; i<nr_weekdays; i++) {
  1242. !         sprintf(c, "%3.3s %2d",
  1243. !             monthnames[current.tm_mon], current.tm_mday);
  1244.           pw_text(main_pixwin, x, y, PIX_SRC, font, c);
  1245.                   x += weekslot_width;
  1246.           current.tm_mday++;
  1247.  
  1248. --- 174,185 -----
  1249.   
  1250.       /* display week dates (month, day) */
  1251.           for (i=0; i<nr_weekdays; i++) {
  1252. !         if (day_first)
  1253. !             sprintf(c, "%2d %3.3s",
  1254. !                 current.tm_mday, monthnames[current.tm_mon]);
  1255. !         else
  1256. !             sprintf(c, "%3.3s %2d",
  1257. !                 monthnames[current.tm_mon], current.tm_mday);
  1258.           pw_text(main_pixwin, x, y, PIX_SRC, font, c);
  1259.                   x += weekslot_width;
  1260.           current.tm_mday++;
  1261. *** /tmp/,RCSt1a17013    Fri Dec 15 17:24:12 1989
  1262. --- ypaint.c    Fri Dec 15 17:18:46 1989
  1263. ***************
  1264. *** 1,5
  1265.   /*
  1266. !  * $Header: ypaint.c,v 2.1 89/05/09 14:20:15 billr Exp $
  1267.    */
  1268.   /*
  1269.    * ypaint.c
  1270.  
  1271. --- 1,5 -----
  1272.   /*
  1273. !  * $Header: ypaint.c,v 2.2 89/12/15 17:18:43 billr Exp $
  1274.    */
  1275.   /*
  1276.    * ypaint.c
  1277. ***************
  1278. *** 40,45
  1279.       struct appt_entry appt;
  1280.       int read_stat;
  1281.       FILE *apts;
  1282.   
  1283.       lock_cursors();
  1284.       /* destory future appts popup, if it exists */
  1285.  
  1286. --- 40,46 -----
  1287.       struct appt_entry appt;
  1288.       int read_stat;
  1289.       FILE *apts;
  1290. +     int runl;
  1291.   
  1292.       lock_cursors();
  1293.       /* destory future appts popup, if it exists */
  1294. ***************
  1295. *** 75,81
  1296.           err_rpt("can't open appointments file", FATAL);
  1297.   
  1298.       working(FALSE);
  1299. !     while ((read_stat = get_aentry(apts, &appt)) != EOF) {
  1300.           if (read_stat)
  1301.               continue;    /* read error */
  1302.           if (appt.flags & A_COMMENT)
  1303.  
  1304. --- 76,82 -----
  1305.           err_rpt("can't open appointments file", FATAL);
  1306.   
  1307.       working(FALSE);
  1308. !     while ((read_stat = get_aentry(apts, &appt, FALSE)) != EOF) {
  1309.           if (read_stat)
  1310.               continue;    /* read error */
  1311.           if (appt.flags & A_COMMENT)
  1312. ***************
  1313. *** 130,139
  1314.                       }
  1315.                   } else {
  1316.                       fix_current_day();
  1317. !                     while (ymd_compare(current, Last) <= 0) {
  1318. !                         busy_today[current.tm_yday]++;
  1319. !                         current.tm_mday += appt.repeat;
  1320. !                         fix_current_day();
  1321.                       }
  1322.                   }
  1323.               } else {
  1324.  
  1325. --- 131,148 -----
  1326.                       }
  1327.                   } else {
  1328.                       fix_current_day();
  1329. !                     if (appt.flags & RUN)
  1330. !                         runl = appt.runlength;
  1331. !                     else
  1332. !                         runl = 1;
  1333. !                     while (ymd_compare(current, Last) <= 0 && runl) {
  1334. !                         if (runl) {
  1335. !                             busy_today[current.tm_yday]++;
  1336. !                             current.tm_mday += appt.repeat;
  1337. !                             fix_current_day();
  1338. !                             if (appt.flags & RUN)
  1339. !                                 --runl;
  1340. !                         }
  1341.                       }
  1342.                   }
  1343.               } else {
  1344. ***************
  1345. *** 145,153
  1346.               }
  1347.           } else if ((appt.flags & REPEAT) && !(appt.flags & EVERY_SOMEDAY)) {
  1348.               /* find 1st appt in this year */
  1349. !             while (ymd_compare(current, First) < 0) {
  1350. !                 current.tm_mday += appt.repeat;
  1351. !                 fix_current_day();
  1352.               }
  1353.               while (ymd_compare(current, Last) <= 0) {
  1354.                   busy_today[current.tm_yday]++;
  1355.  
  1356. --- 154,170 -----
  1357.               }
  1358.           } else if ((appt.flags & REPEAT) && !(appt.flags & EVERY_SOMEDAY)) {
  1359.               /* find 1st appt in this year */
  1360. !             if (appt.flags & RUN)
  1361. !                 runl = appt.runlength;
  1362. !             else
  1363. !                 runl = 1;
  1364. !             while (ymd_compare(current, First) < 0 && runl) {
  1365. !                 if (appt.flags & RUN)
  1366. !                     --runl;
  1367. !                 if (runl) {
  1368. !                     current.tm_mday += appt.repeat;
  1369. !                     fix_current_day();
  1370. !                 }
  1371.               }
  1372.               while (ymd_compare(current, Last) <= 0 && runl) {
  1373.                   if (runl) {
  1374. ***************
  1375. *** 149,158
  1376.                   current.tm_mday += appt.repeat;
  1377.                   fix_current_day();
  1378.               }
  1379. !             while (ymd_compare(current, Last) <= 0) {
  1380. !                 busy_today[current.tm_yday]++;
  1381. !                 current.tm_mday += appt.repeat;
  1382. !                 fix_current_day();
  1383.               }
  1384.           }
  1385.   
  1386.  
  1387. --- 166,179 -----
  1388.                       fix_current_day();
  1389.                   }
  1390.               }
  1391. !             while (ymd_compare(current, Last) <= 0 && runl) {
  1392. !                 if (runl) {
  1393. !                     busy_today[current.tm_yday]++;
  1394. !                     current.tm_mday += appt.repeat;
  1395. !                     fix_current_day();
  1396. !                     if (appt.flags & RUN)
  1397. !                         --runl;
  1398. !                 }
  1399.               }
  1400.           }
  1401.   
  1402. ***************
  1403. *** 194,202
  1404.         PIX_SRC, bigfont, title);
  1405.   
  1406.       /* display day names */
  1407. !     strcpy(buf, "Su Mo Tu We Th Fr Sa    ");
  1408. !     strcat(buf, "Su Mo Tu We Th Fr Sa    ");
  1409. !     strcat(buf, "Su Mo Tu We Th Fr Sa");
  1410.       pw_text(main_pixwin, startx+4, starty-2, PIX_SRC, font, buf);
  1411.   
  1412.       /* draw months */
  1413.  
  1414. --- 215,229 -----
  1415.         PIX_SRC, bigfont, title);
  1416.   
  1417.       /* display day names */
  1418. !     if (monday_first) {
  1419. !         strcpy(buf, "Mo Tu We Th Fr Sa Su    ");
  1420. !         strcat(buf, "Mo Tu We Th Fr Sa Su    ");
  1421. !         strcat(buf, "Mo Tu We Th Fr Sa Su");
  1422. !     } else {
  1423. !         strcpy(buf, "Su Mo Tu We Th Fr Sa    ");
  1424. !         strcat(buf, "Su Mo Tu We Th Fr Sa    ");
  1425. !         strcat(buf, "Su Mo Tu We Th Fr Sa");
  1426. !     }
  1427.       pw_text(main_pixwin, startx+4, starty-2, PIX_SRC, font, buf);
  1428.   
  1429.       /* draw months */
  1430. ***************
  1431. *** 203,209
  1432.       monthnr = 0;
  1433.       yrday = 0;
  1434.       extra_days = 0;
  1435. !     startbox = First.tm_wday;
  1436.       for (row=0; row<4; row++) {
  1437.           for (col=0; col<3; col++) {
  1438.               x = startx + 8*ybox_width*col;
  1439.  
  1440. --- 230,242 -----
  1441.       monthnr = 0;
  1442.       yrday = 0;
  1443.       extra_days = 0;
  1444. !     if (monday_first) {
  1445. !         if (First.tm_wday == SUN)
  1446. !             startbox = 6;
  1447. !         else
  1448. !             startbox = First.tm_wday - 1;
  1449. !     } else
  1450. !         startbox = First.tm_wday;
  1451.       for (row=0; row<4; row++) {
  1452.           for (col=0; col<3; col++) {
  1453.               x = startx + 8*ybox_width*col;
  1454.