Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 739904 | Differences between
and this patch

Collapse All | Expand All

(-)a/HISTORY (-782 / +824 lines)
Lines 1-493 Link Here
1
====== 1.0 release 5/16/93 =======
1
====== 1.12 released 17.10.17 =======
2
3
====== 1.1 release 6/13/93 =======
4
5
NEW PLATFORMS:
6
7
    *  OSF1/AXP, by Dave Hill <ddhill@zk3.dec.com>
8
    *  IBM/AIX, by Johan Eksteen <johan@boer.ee.up.ac.za>
9
               and Vance R. Bass <vrbass@vnet.IBM.COM>
10
               and David W. Sanderson <dws@ssec.wisc.edu>
11
    *  HP/UX 9.01, by Sylvain Picard <lmcsypi@LMC.ericsson.se>
12
    *  NCR, by Keith Shafer <kshafer@cheers.sandiego.NCR.COM>
13
    *  SUN, by Dave Brennan <brennan@hal.com>
14
    *  ULTRIX 4.3, by Jeroen C. Kessels <jeroenk@cnplss7.cnps.philips.nl>
15
16
    [Note that some of the patches I received for these systems were
17
     mutually exclusive. I had to manually merge them into the baseline
18
     sources. I can't test them; if they don't work, complain to me and
19
     not to the authors listed above. thomas@bitrot.in-berlin.de]
20
21
NEW FEATURES:
22
23
    *  fancy holiday parser
24
    *  optional fast advance-warning column in list menus
25
    *  new -K option of pland to kill daemon (for ~/.logout)
26
    *  new option: don't show expired entries in today's day box
27
    *  appointments without time field added (for birthdays etc)
28
    *  snoozing alarms for 5 minutes
29
30
MAJOR BUGFIXES:
31
32
    *  pland no longer crashes if database becomes empty
33
    *  plan no longer crashes when there are more than 100 entries
34
    *  months outside the current DST zone were sometimes one day off;
35
       rewrote time conversion routines to not use localtime and mktime
36
    *  recycle ending date didn't work
37
    *  readfile now avoids feof(), it seems to be broken on some systems
38
    *  if colors cannot be allocated, use black&white rather than exiting
39
40
OTHER CHANGES:
41
42
    *  added time display in month calendar menu
43
    *  if appts don't fit in day box, print three dots
44
    *  in year view, click month to see that month
45
    *  -s option does not start daemon, and now does not print warnings
46
    *  notifier now beeps
47
    *  Done button is now always the rightmost button, Quit renamed to Done
48
    *  use tzset() to ensure that DST is interpreted correctly
49
    *  multiple expose events mostly eliminated
50
    *  notifier now deals correctly with empty messages, no more warnings
51
    *  new Makefile option to remove all pulldown menu separator lines
52
    *  help messages and other typos fixed
53
    *  bottom day box note was incorrectly clipped
54
    *  fflushed stdout after printing resources
55
    *  fixed list locking problem in sublist.c
56
    *  fixed keyword search for single-character search strings
57
    *  it's no longer necessary to press Return in keyword search
58
    *  X resources are now correctly propagated to submenus
59
    *  sometimes day boxes stayed shaded yellow after the day menu exits
60
61
62
====== 1.1.1 release 6/20/93 =======
63
64
NEW PLATFORMS:
65
2
66
    *  MIPS Magnum, by Milton Scritsmier <milton@gastric.arraytech.com>
3
FEATURES:
67
    *  SNI SINIX 5.4, by Martin Kraemer <martin@deejai>
4
    * feature by Ralf Paaschen: can page through months with PageUp, PageDown,
68
    *  Data General DG/UX, Makefile patches by Andy Dennie
5
      Home, and End keys
69
       <adennie@mercury.hyperdesk.com>
6
    * the manpages reflect the Debian Linux paths.
70
7
    * the "make linux" Makefile target is now 64 bits; use "make linux32" for
71
BUGFIXES:
8
      32 bits. Just "make" is still equivalent to "make debian".
72
73
    *  fixed major bug that lost paths beginning with ~, like ~/.dayplan
74
    *  holiday parser: <Nth> <weekday> syntax didn't work correctly
75
    *  daemon didn't recycle appointments if plan wasn't running
76
    *  corrected and added German holidays
77
    *  new dutch holiday file, by Guido van Rossum <Guido.van.Rossum@cwi.nl>
78
    *  -iconic option doesn't cause popups to come up iconic any more
79
    *  dates in ~/.dayplan now stored with years in 4-digit format
80
    *  replaced caddr_t with XtPointer, some HPs wouldn't compile otherwise
81
    *  fixed undefined __DATE__ problem on Ultrix
82
    *  fixed bug in appointment list re-allocation
83
    *  new color resources to make the month view look like the year view
84
    *  repeat-until date fixed
85
86
87
====== 1.1.2 release 6/28/93 =======
88
9
89
NEW PLATFORMS:
90
10
91
    *  Another SNI Sinix 5.4x Makefile patch by Gerald Rinske
11
====== 1.11 released 4.3.14 =======
92
       <Gerald.Rinske@ap.mchp.sni.de>
93
    *  NCR, by Keith Shafer <kshafer@cheers.sandiego.NCR.COM>
94
    *  SCO Open Desktop/Open Server 3.0, Makefile patches by Nathan Peterson
95
       <nathan@sco.com>
96
    *  Solaris 2.2, by Jean-Claude Giese <Jean-Claude.Giese@loria.fr>
97
    *  USL's SVR4.2 V1 with mdev package, by Peter Lord <plord@uel.co.uk>
98
12
99
BUGFIXES:
13
BUG FIXES:
14
    * Petter Reinholdtsen
15
      - make the -L option of pland the default on Debian, considered safer
16
      - standalone mode accepts 4-digit years in dates: [[yyyy]mmdd]
17
      - the number of Unix groups a user belongs to is now unlimited
18
      - hardening: plan could be crashed by adding % codes in language files
19
      - fixed syntax errors in Bavarion holiday file
20
      - don't strip executable, the Debian installer does that (bug #437776)
21
      - fix compiler warnings, enable more compiler checks on Debian
22
      - fix manpage typos
23
      - fixed Debian regex compilation with FreeBSD kernel (Bug #414130)
24
      - moved plan and pland pid temp files from /tmp to ~/.plan.dir
25
    * new compilation target: "make debian". Must run "./configure" first.
26
    * updated "./configure" script with new Debian paths
27
    * removed -lXp from linux link line, that library is no longer needed
28
    * added restart and (dummy) force-reload to /etc/init.d/netplan.boot:
29
      Debian plan 1.10.1-5 E init.d-script-does-not-implement-required-option
30
    * sourcing /lib/lsb/init-function to /etc/init.d/netplan.boot:
31
      Debian plan 1.10.1-5 W init.d-script-does-not-source-init-functions
32
33
34
====== 1.10.2 released 9.12.08 =======
100
35
101
    *  daemon now exits automatically when user logs out
36
BUG FIXES:
102
    *  new French and Dutch holiday files
37
    * fixed OpenSuSE 10.3 link error, by Hitoshi Yamauchi <hitoshi@mental.com>
103
    *  fixed Makefile bug for Ultrix and sung (-DGMTOFF)
38
    * updated Spanish language support, by Gerardo Cafferata
104
    *  fixed help button in holiday menu, it used to cancel the menu
39
      <gccafferata@yahoo.com.ar>
105
40
106
41
107
====== 1.2 PL 0 release 10/11/93 =======
42
====== 1.10.1 released 3.7.07 =======
108
43
109
NEW FEATURES:
44
BUG FIXES:
45
    * fixed "last weekday in month" expressions in holiday file, by Arnaud
46
      Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
47
    * fixed mother's day definition in French holiday file, by Arnaud Giersch
48
      <arnaud.giersch@iut-bm.univ-fcomte.fr>
110
49
111
    *  week views that graphs hours vs. weekdays
112
    *  reads other people's appointments and displays them in the week view
113
    *  show every instance of a repeating entry
114
    *  new syntax: "nth weekday before/after date" (Advent/Buss&Bettag)
115
    *  recycler: every/Nth/last <weekday> of the month
116
    *  distinguish private and public appointments
117
50
118
OTHER CHANGES:
51
====== 1.10 released 9.4.07 =======
119
52
120
    *  option to switch off time in icon
53
FEATURES:
121
    *  parse TZ directly, don't use standard library for timezone calc
54
    * implemented limited read-only support for vCalendar/iCalendar (.ics)
122
    *  if there is a /tmp/.planUID, check if it's valid
55
      files (Apple, Zimbra, Lotus, etc), which can be specified in File ->
123
    *  added error popup for "another plan is running"
56
      File list like other files. Repetition information is ignored.
124
    *  display holiday at the top of the day menu
57
    * added "make linux64" target. Some 64-bit Linux installations, notably
125
    *  scroll bars in help windows
58
      OpenSUSE 10.2, omit 32-bit libraries or links, causing compilation errors
126
    *  improved help messages
59
      for -lXt and others.
127
    *  year up/down now changes year menu too
60
    * ported to MacOS X with X11 and OpenMotif. Requires X11 from the MacOS X
128
    *  separate path for manpages
61
      install DVD, and OpenMotif from www.ist-inc.com/DOWNLOADS/motif_files/
129
    *  documented important resources
62
      openmotif-compat-2.1.31_IST.macosx10.3.dmg . The X server must run, and
63
      DISPLAY must be set properly (like, localhost:0) or plan won't start up.
64
      This is not a proper Aqua/Cocoa/Carbon port, although I made some feeble
65
      attempts to fix the color scheme.
66
    * new Polish language file by Jaroslaw Arlet <j.arlet@awf-gorzow.edu.pl>
67
    * new command-line option -Y allows entering annual (yearly) appointments,
68
      by Steffen Pietsch <Steffen.Pietsch@berlinonline.de>
69
    * when alarms trigger, '%' codes in the short note text, message, and the
70
      script are expanded. (See the help text in plan's Message/Script help.)
71
      Eg., you can write message texts like "remember to see %U on %D at %T".
72
	  %N    the short note text
73
	  %M    the message text
74
	  %S    the script text
75
	  %D    the final trigger date
76
	  %T    the final trigger time
77
	  %L    the length in hours:minutes
78
	  %F    the file the appointment is stored in, or "private"
79
	  %U    your login name
80
	  %%	a percent sign, '%'
130
81
82
BUG FIXES:
83
    * fixed a timezone bug that could make alarms go off exactly 24 hours late,
84
      Aaron Kaplan <kaplan@cs.rochester.edu>
85
    * manpage files were installed without the trailing ".1" and ".4"
86
    * fixed compiler errors under Cygwin because the symbol linux was not set.
87
    * added -m32 option for Linux; gcc 4 defaults to 64 bits but the required
88
      libraries are not usually installed.
89
    * entering a day of the month as a date will now correctly find the next
90
      date with that day. A bug caused it to switch to a random date in 2000.
91
    * fixed a language file read error that omitted a trailing null byte.
92
      By Julien Soula <jsoula@univ-lille2.fr>
93
    * an incomplete X resource file crashed plan. Now defaults are used; the
94
      resulting windows are not very usable but it doesn't crash.
131
95
132
====== 1.2 PL 1 release 10/16/93 =======
133
96
134
NEW PLATFORMS:
97
====== 1.9 released 6.2.05 =======
135
98
136
    *  BSDI386 and BSDI386 with gcc, by Tetsuji Rai <tetsuji@rai.juice.or.jp>
99
FEATURES:
100
    * saved space in various calendar views such as the year overview
101
    * the week view repeats the hour title every few day rows; it was too easy
102
      to get lost without scrolling all the time
103
    * remove obsolete warning windows when the next warning or the main alarm
104
      is reached.
105
    * Linux: when a lockfile from a previous plan process is found, do not kill
106
      it if it's dead and some non-plan process now uses the old process ID.
107
    * if user "netplan" exists on the system, netplan runs as that user instead
108
      of nobody. Needed for Debian. Petter Reinholdtsen <pere@hungry.com>
109
    * added Belgian French holiday file, Nicolas E'vrard <nicoe@wanadoo.be>
110
    * command-line option -V: experimental and incomplete vCalendar export.
111
      File can be read by calendar programs such as Mozilla Calendar.
112
    * plan is now distributed under the GPL license, at your choice.
113
    * netplan has a new option -s that sends all messages to syslog.
137
114
138
NEW FEATURES:
115
BUG FIXES:
116
    * fixed Italian language file, Carlo Mandelli
117
      <carlo.mandelli@consulenti.fastweb.it>
118
    * fixed misspelling in the Italian language file, littledark
119
      <littledark@swissinfo.org>
120
    * "Delete past entries" did not remove repeating entries whose end date is
121
      in the past, Aaron Kaplan <kaplan@cs.rochester.edu>
122
    * fixed choice 1 of configure script on Solaris, Aaron Kaplan
123
      <kaplan@cs.rochester.edu>
124
    * after running a long time (months), alarms stopped triggering. Fixed by
125
      Aaron Kaplan <kaplan@cs.rochester.edu>
126
    * fixed Spanish holiday file, Fernando Tricas "Garci'a"
127
      <ftricas@amon.cps.unizar.es>
128
    * fixed loads of inane gcc warning messages
139
129
140
    *  time adjustment and timezone config menu
141
    *  use search paths for executables and help file
142
130
131
====== 1.8.7 released 30.9.03 =======
143
132
144
====== 1.2 PL 2 release 11/10/93 =======
133
FEATURES:
134
    * deleted support for SCO
135
    * pland -p pops up all alarms that triggered since the last time pland
136
      ran, not just those from the past three hours, by Brian L. Shaver
137
      <shaker.lxxv@verizon.net>
138
    * more room for appointments in year overview, moved year to left edge
145
139
146
BUG FIXES:
140
BUG FIXES:
141
    * newly entered appointments no longer vanish from the edit menu.
142
    * fixed errno compiler errors on SMP systems, Thomas Ribbrock
143
      <emgaron@gmx.net>
144
    * Italian language translations by Paolo Panizza <pp@ieee.org> were
145
      missing from the 1.8.5 and 1.8.6 distributions, now included
147
146
148
    *  non-interactive mode no longer removes lockfile
149
    *  minor cleanups in the help text
150
147
148
====== 1.8.6 released 18.3.03 =======
151
149
152
====== 1.2 PL 3 release 11/21/93 =======
150
FEATURES:
151
    * reversed the change in 1.8.5, at popular demand, that lets a personal
152
      holiday file replace the system holiday file. plan 1.8.6 again reads
153
      both, system first. The new "reset" keywords can be used to clear all
154
      system holidays, following an idea by Heiko Schlichting.
153
155
154
BUG FIXES:
156
BUG FIXES:
157
    * the edit menu was broken in 1.8.5, fixed by Heiko Schlichting
158
      <heiko@FU-Berlin.DE>
155
159
156
    *  fixed repeat-until in recycling menu
157
160
161
====== 1.8.5 released 16.2.03 =======
158
162
159
====== 1.2 PL 4 release 12/12/93 =======
163
FEATURES:
164
    * plan's FTP home site has a new name: plan.ftp.fu-berlin.de, shown in
165
      the About popup. The old address will continue to work. (Thanks, Heiko!)
166
    * set locale to support other character sets such as Czech, by Petr Kristan
167
      <petr.kristan@epos.cz>
168
    * OpenBSD port by Armin Wolfermann <armin.wolfermann@viscomp.com>
169
    * new plan2vcs perl script that converts plan appointments to korganizer
170
      format, by Bert Bos <bert@w3.org>
171
    * if there is a ~/.holiday file, don't read LIB/holiday as well.
172
    * skip junk in entries synced from PalmPilot DateBk4 messages, by Johan
173
      Vromans <jvromans@squirrel.nl>
174
    * allow new holiday syntax "workday before/after <date>", by Ian Holland
175
      <irh@statscout.com>
176
    * Italian language translations by Paolo Panizza <pp@ieee.org>
177
    * accept yyyy/mm/dd date input, Brian T. Schellenberger <bts@babbleon.org>
178
    * Slovak holidays by Mikulas Sustak <sustak@kte.sjf.stuba.sk>
160
179
161
BUG FIXES:
180
BUG FIXES:
181
    * fixed Debian bug 157425: color selection dropbox always starts on Default
182
    * Suns apparently still run X11R5 and don't have XtSignalId et. al.
183
    * configure script had problems with defaults when using bash (Michael
184
      Mauch <michael.mauch@gmx.de>
185
    * fixed configure script problems on Solaris 2.6, by Horst Scheuermann
186
      <scheuerm@uni-trier.de>
187
    * fixed Dutch Driekoningen holiday date, by Johan Vromans
188
      <JVromans@squirrel.nl>
189
    * IBM AIX doesn't have Xt timers and doesn'd compile plan 1.8.4, excluded
190
      XFree workaround for IBM
191
    * week number 2 appeared twice in 2001. Fixed by Helmut Jarausch
192
      <jarausch@igpm.rwth-aachen.de>
193
    * Search->One file could not select the "own" file (top menu choice).
194
    * cleanup: removed remaining K&R varargs and sunkr target
195
    * fixed '@' user notation in netplan server, by Gennadi Umanski
196
      <umanskij@ti.uni-trier.de>
197
    * fixed Japanese string converion, by Tomoko Hayashi <tomoko@u-aizu.ac.jp>
198
    * other people's .dayplan file references ('L' lines in ~/.dayplan) over-
199
      wrote own file entries (Heiko Schlichting <heiko@FU-Berlin.DE>)
162
200
163
    *  preventing user from entering user directory before user name (crash)
164
    *  added -DRABBITS on HPs because utmp appears to be unreliable
165
    *  removed #ifdef NCR around FIXMBAR in calmenu.c, fixes empty pulldowns
166
    *  replace fchmod with chmod (SCO has no fchmod)
167
    *  Ultrix 4.3A has fcntl.h in sys
168
    *  OSF/1 and Ultrix require -DRABBITS
169
    *  later instances of repeating week bars got overdrawn by other bars
170
    *  Makefile OSF_C: added -DOSF
171
    *  put notifier -d into help text
172
    *  when searching for programs (find_file), ignore directories
173
    *  replace palatino with a standard font
174
    *  fast warning on; bring up appt menu; fast warning off -> core
175
    *  read_file ignores timezone setting
176
    *  repeat-every-n-days could slow down redrawing significantly
177
    *  if a user is added to the week view, pland sometimes died
178
179
NEW FEATURES:
180
181
    *  raise week and year window when user requests one
182
    *  -hhmm notation for appt length (until hhmm)
183
    *  +n notation for parsing dates
184
    *  if note begins with '-' or '=', remove from month/year/week or m/y view
185
    *  help-on-context buttons in the help window
186
    *  quit button for year view
187
    *  resource to put black frame into today's day box (for 1-bit graphics)
188
189
NEW PLATFORMS:
190
191
    *  Linux, by Dirk Melchers <dirk@merlin.nbg.sub.org>
192
    *  SunSoft Interactive (ISC) 4.0, by akf@august.com (Andrew Fullford)
193
201
202
====== 1.8.4 released 17.7.00 =======
194
203
195
====== 1.3 release 6/1/94 =======
204
FEATURES:
205
    * Changed configure script, Makefile, and manpages to conform to Debian
206
      Linux conventions, Yann Dirson <dirson@debian.org>
207
    * another configure preset for SuSE Linux
208
    * new SysV alarm signals that prod the X timer events that write modified
209
      data, as a workaround for broken XFree86 X servers, by Francis Montagnac
210
      <Francis.Montagnac@sophia.inria.fr>
211
    * netplan now listens on two ports (unless overriden in /etc/services):
212
      5444 for backwards compatibility, and 2983, the new IANA-registered port.
213
    * "user" lines in netplan ACLs now accept "user@host" arguments, by Jochen
214
      Bern <bern@TI.Uni-Trier.DE>
215
    * the "another plan window is running, kill/continue" popup now blocks
216
      until answered.
217
    * OpenMotif support (XFree 4.0.1, OpenMotif 2.1.30) by Wes Kaefer
218
      <kaefer@mciworld.com>
196
219
197
BUG FIXES:
220
BUG FIXES:
198
    *  non-interactive mode and -v should not init X
221
    * OS/2 Makefile fixes, Alexander Mai <st002279@hrzpub.tu-darmstadt.de>
199
    *  clip bars in week views at midnight
222
    * fixes by Francis Montagnac <Francis.Montagnac@sophia.inria.fr>:
200
    *  Suns have no utopia
223
      - reading and writing of appt files of another user could access this
201
    *  no stdarg.h (Sparc 1+,h SunOS 4.1.3, X11R5pl25, Motif 1.2.1)
224
        user's file instead, by Francis Montagnac
202
    *  week view range menu was mangled on Suns and a few others
225
      - don't redraw twice after deleting, can crash, by Francis Montagnac
203
    *  HPs may get unknown color background
226
      - warn when using more than one server, by Francis Montagnac
204
    *  bars of appts with no time don't reserve space in week chart
227
      - don't expand home-dirs in "File List" but put simply "~user". This
205
    *  crash if null user is entered
228
        prevent absolute pathnames in dayplan for user appointment files.
206
    *  align ':' in times vertically in month day boxes (hi Andreas)
229
      - change writefile to return true for any readonly files, without doing
207
    *  pulldown string resources now hardcoded, easier to maintain this way
230
        anything. Fix call of fclose on NULL when creating a new file.
208
    *  crashes when accessing other users fixed (fix by Rob Gabbard)
231
      - fix accept_new_list to update the views even for non server files.
209
    *  couldn't enter durations "12:xx" in 12-hour mode
232
      - fix in resolve_tilde: ~user gave /home/user/user
210
    *  when switching 12/24 hour mode, time display now changes immediately
233
    * color-shaded backgrounds in month view are now printed, by Brad Jorsch
211
    *  fall back to "variable" or "fixed" font if some font can't be found
234
      <anomie@users.sourceforge.net>
212
    *  long "small" holiday names in large month day boxes could overrun buffer
235
    * huge numbers of lines in the large month view can cause heap corruption,
213
    *  various minor fixes in the week menu, some bars were drawn incorrectly
236
      by Paul Anderson <paul@dcs.ed.ac.uk>
214
237
    * fixed umlauts in Austrian holiday file, by Friedrich Leisch
215
NEW FEATURES:
238
      <Friedrich.Leisch@ci.tuwien.ac.at>
216
    *  PostScript output, by Karl Bunch <karl@ttank.ttank.com>
239
    * note: on SGI IRIX6 I appear to be unable to compile with -mips2, sorry.
217
    *  Japanese version, by Ogura Yoshito <ogura@ndc.ngsk.sony.co.jp>
218
    *  support for SGI desktop look&feel
219
    *  new RGB icon picture for SGIs running the 4Dwm window manager
220
    *  holiday file accepts #include statements if /lib/cpp is available
221
    *  optional user name in week view before note (new week config popup)
222
    *  rearranged header above month view
223
    *  reads LIB/holiday after reading ~/.holiday
224
    *  new recycle option: every year (for birthdays etc)
225
    *  -t option that prints appointments on a day to stdout
226
    *  Delete-past-entry command now has five maximum-age choices
227
    *  EditRes, by Klaus Guntermann <gunterma@iti.informatik.th-darmstadt.de>
228
    *  better parse_timestring: 100 -> 1:00
229
    *  click day in week view -> edit day
230
    *  swedish holiday file, by Kristian Wedberg <wedberg@mednet.gu.se>
231
    *  switch to today / to a specific date using a text entry popup
232
    *  today now highlighted green in week view
233
    *  in fast warning entry mode, entering '=' uses default warning times
234
    *  first partial week in Jan is counted as 1. See FULLWEEKS in mondraw.c.
235
    *  NODAEMON_ONCE in popup.c is defined to suppress multiple error popups
236
237
NEW PLATFORMS:
238
    *  SunOS 4.1.3 with K&R cc, replaces stdarg with varargs if -DVARARGS,
239
       by Michael P. Shevenell <mshev@express.ctron.com>
240
    *  Sony NEWS with/without gcc, by Ogura Yoshito <ogura@ndc.ngsk.sony.co.jp>
241
    *  Sequent running Dynix/ptx v2.[12], by Mike Gilpin <mgilpin@sequent.com>
242
240
243
NOTE: the comment character in ~/.holiday files was changed from '#' to ':'
244
      to allow cpp to parse the file. Not changing these characters will cause
245
      cpp "undefined control" errors.
246
241
242
====== 1.8.3 released 8.12.99 =======
247
243
248
====== 1.3.1 released 7/11/94 =======
244
FEATURES:
245
    * new options -N, -c, and -h to control more options when adding entries
246
      from the command line (Tovar <tvr@value.net>)
249
247
250
BUG FIXES:
248
BUG FIXES:
251
    *  DEC alpha: fixed black-on-black notifier windows
249
    * Fixed language file order, causing untranslated messages. Also replaced
252
    *  XtPopup order wrong for Sun X11R5 in create_adjust_popup
250
      OK button with Kill button in "another plan is running" dialog. Thomas
253
    *  -geometry didn't work
251
      Henlich <henlich@mmers1.mw.tu-dresden.de>
254
    *  repeat on last weekday of a month didn't work
252
    * fixed manpage names, Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
255
    *  ISO characters in calendar windows didn't work
253
    * fixed pascha (Orthodox Easter) calculation and added greek holiday file,
256
    *  stripping leading blanks from config exec cmds, confused some shells
254
      Efthimios Mavrogeorgiadis <emav@enl.auth.gr>
257
    *  improved 12-hour time parsing, "5p" is now accepted in place of "5:00p"
255
    * fixed timezones on the other side of the dateline (Truxton Fulton
258
    *  appt menu: press date, press time with no entry -> wrong default in date
256
      <trux@truxton.com>)
259
    *  corrected left adjustment of appts without time in the month menu
257
    * fixed toggle buttons in print menu (Ekkehard Hoffmann <ehoffman@fzi.de>)
260
    *  Linux has problems with XtDestroyWidget. Workaround leaks memory!
258
    * new timezone code for DEC OSF/1 (Petrie L M <lmp@ornl.gov>)
261
    *  fixed pland crashes after many sighup's if compiled without -DRABBITS
259
    * client connection failures now close the connection cleanly and do not
262
260
      leak memory
263
NEW PLATFORMS:
261
    * non-netplan files incorrectly became read-only after the first change
264
    *  IBM PS/2, AIX 1.3, gcc, by David W. Schuler <dschuler@vnet.ibm.com>
262
    * fixed recognition of -u users (Ekkehard Hoffmann <ehoffman@fzi.de>)
265
263
    * changed two-digit year display in month/year printouts to four digits
264
      (Goran Larsson <hoh@lorelei.approve.se>)
266
265
267
====== 1.3.2 released 11/11/94 =======
268
266
269
NEW PLATFORMS:
267
====== 1.8.2 released 5.7.99 =======
270
    *  Convex C220
271
    *  SGI IRIX 6.0
272
268
273
FEATURES:
269
FEATURES:
274
    *  Australian holiday file, by Peter Turnbull (petert@dha.gov.au)
270
    * Spanish language support by Manuel Soriano <manu@europa3.com>
275
    *  new date format added: "-n" is n days ago (useful for -t option)
271
    * Port to LynxOS mag 2.5.1 092297-D i386 by Marius Groeger <mag@sysgo.de>
272
    * if the X server fails to send X timer events, switch to synchronous file
273
      writing to avoid data loss. Works around bug or incompatibility in XFree.
274
    * new script to convert Microsoft Schedule+ files to .dayplan format by
275
      Cy Schubert - ITSD Open Systems Group <Cy.Schubert@uumail.gov.bc.ca>
276
276
277
BUG FIXES:
277
BUG FIXES:
278
    *  only refresh changed window regions (Daniel Williams <dan@sass.com>
278
    * fixed configure script problems and clarified man page locations
279
    *  week view ignored other user's appts that were earlier than first own
279
    * more fixes by Phil Sackinger <pasacki@sass2604.engsci.sandia.gov>
280
    *  history files no longer run through cpp if file is empty ("error 0")
280
    * fixed output of -W -i for web interface
281
    *  in the Adjust Time menu, the hour was printed incorrectly
281
    * the .plan.dir choice in the configure script caused path trouble in plan
282
    *  new TZ parser for SVR4 syntax, by Klaus Guntermann <guntermann@
282
    * another PostScript bug fix causing text in wrong positions fixed by
283
       iti.informatik.th-darmstadt.de>
283
      Daniel Robitaille <daniel@robitaille.com>
284
    *  fast warning entry reversed early and late (mmorriso@mipos2.intel.com)
284
    * more OS/2+X patches by Alexander Mai <st002279@hrzpub.tu-darmstadt.de>
285
    *  output of plan -t disappeared if stdout was redirected
285
    * weekday before/after syntax was wrong in holiday parser, Thomas Henlich
286
    *  date input now less eager to default to today's date
286
      <henlich@mmers1.mw.tu-dresden.de> and Henning Daum <henning@daum.com>
287
287
    * LessTif 0.88.1 fix by Thomas Henlich <henlich@mmers1.mw.tu-dresden.de>
288
    * improved man pages, foreground/background is now configurable from the
289
      script for Debian/Linux compatibility, netplan should not always run as
290
      nobody, and a French holiday fix by Yann Dirson <ydirson@multimania.com>
291
    * enter webplan mode if the program is called "webplan", reading netplan
292
      user list crashed if there were no users, fixed possible crash when
293
      closing file list menu, renamed welcome.html to bottom.html by Murray
294
      Jensen <Murray.Jensen@mlb.dmt.csiro.au>
288
295
289
====== 1.4 released 2/22/95 =======
290
296
291
NEW PLATFORMS:
297
====== 1.8.1 released 16.5.99 =======
292
    *  UnixWare 1.1 and 2.0, jay@summit.novell.com
293
298
294
FEATURES:
299
FEATURES:
295
    *  PostScript printouts of week views
300
    * Japanese port of 1.8 by Takafumi Hayashi <takafumi@u-aizu.ac.jp>
296
    *  appointments of other users or shared lists can be displayed in the
301
    * port to OS/2 with X by Alexander Mai <st002279@hrzpub.tu-darmstadt.de>
297
       month and/or week views, and can be created, deleted, and modified. No
302
    * new configure script that simplifies modifications for default, SGI,
298
       inetd daemon yet, but proposed "workgroup" functions are implemented.
303
      and Linux installations.
299
    *  appointments of other users can optionally trigger own alarms
300
    *  up to four exception dates per appt where alarm is suspended, fill-in
301
       appointments for each of these can be created automatically ("split")
302
    *  appointment texts in month view can be highlighted with one of 8 colors
303
    *  options and preferences consolidated into new calendar config popup
304
    *  config first week of year (full or partial)
305
    *  appointments can now be selectively removed from month/year/week views
306
    *  number of days in week view is now configurable (1..28 days)
307
    *  user list now accepts file names in addition to directories
308
    *  added flags to omit appointments in printouts
309
    *  printout now uses message text if there is no note
310
    *  do scripts even if alarms are turned off
311
    *  files are written using backup and temp copies to recover from errors
312
    *  dump to stdout with -t now accepts second parameter for number of days
313
    *  entries without time may be displayed as large bar in week view
314
304
315
BUG FIXES:
305
BUG FIXES:
316
    *  updated Swedish holiday file
306
    * plan -F: stdout could not be redirected, added missing fflush
317
    *  when cursor is in note column, pressing lock made appt disappear
307
    * various error popups are now modal, to prevent them from being overlooked
318
    *  don't use the plainfile/. trick, DEC's ASF claims the directory exists!
308
    * small Ultrix fixes (no pland -l) by Maarten Vergauwen
319
    *  appt menu: press date, press time -> wrong default in date
309
      <Maarten.Vergauwen@esat.kuleuven.ac.be>
320
    *  default for print is now month, not year
310
    * fixed month and year PostScript printing, texts were in the wrong places
321
    *  week view overlaps were wrong if start<minhour, some bars were missing
322
323
311
324
====== 1.4.1 released 4/1/95 (mailing list release only) =======
325
312
326
NEW PLATFORMS:
313
====== 1.8 released 30.3.99 =======
327
    * Solaris2 with gcc port, bk@kullmar.se (Bo Kullmar)
328
314
329
FEATURES:
315
FEATURES:
330
    * -o print other users too, -T is like -t but with end times, not lengths
316
    * CGI scripts and HTML pages for web browser access, Michel Bourget
331
    * print-only-my-appointments toggle added, Richard G. Hash (rgh@shell.com)
317
      <michel@montreal.sgi.com> (hacked by thomas@bitrot.de, bugs are
332
318
      probably my fault)
333
BUG FIXES:
319
    * national language support and a German language file. No support for
334
    * alarm mode button in Config->User popup was lost
320
      pulldown accelerators. Foreign-language help files are supported but
335
    * UnixWare needs -lgen to compile
321
      none are supplied yet.
336
    * if there was no .dayplan, the week view ranges were not initialized
322
    * French language file by Guy Brand <guybrand@chimie.u-strasbg.fr>
337
    * the ?: operator in the holiday parser didn't work, Kai Hofmann
323
    * new automatic DST mode that attempts to get the time from the system
338
      <i07m@Informatik.Uni-Bremen.DE>
324
      (experimental, available only for some systems, mostly untested)
339
    * notes were invisible in week view in Japanese mode, Takanori Nishijima
325
    * simple Todo appointments that keep appearing after they first trigger
340
      <racsho@cpdc.canon.co.jp>
326
    * implemented default advance-warning times (Config->Calendar views)
341
327
    * color PostScript printouts (Kevin Earls <wke@sh-gpl.ti.com>)
342
328
    * new config mode that allows daemon to exeute insecure netplan scripts
343
====== 1.4.2 released 5/23/95 =======
329
    * new config mode that makes Thursday the selector for the first week
344
330
    * new combination holiday file by Walter Brown <wb@fncrdg.fnal.gov>
345
FEATURES:
331
    * new Portuguese holiday file by Jose Paulo Moitinho de Almeida
346
    * if pland is started after an alarm time but before its end, trigger it
332
      <moitinho@civil.ist.utl.pt>
347
    * the own-only flag in appointment entry menus is saved for future menus
333
    * support for Christian Orthodox Easter (new holiday keyword "pascha")
348
    * debugging option -d for pland, more info about what is going on
334
    * ported again to FreeBSD (Stefan `Sec` Zehl <sec@42.org>)
349
    * pland makes sure that its version number matches plan
335
    * converted remaining old code to ANSI C
350
    * delete-pending-selection mode for holiday and message text windows
336
    * new Czech holiday file by Hanus Adler <had@articon.cz>
351
337
352
BUG FIXES:
338
BUG FIXES:
353
    * lock could crash if argv[0] is very long (mikee@wfc.com (Mike Eggleston))
339
    * Linux once again scrambled some header files and made plan uncompilable
354
    * better handling of user name input
340
    * small holidays crash day view (Sjoerd Mullender <Sjoerd.Mullender@cwi.nl>
355
    * much better performance if many other users exist but are disabled
341
    * if pland was started between 0:00 and 2:59:59, it overlooked appointments
356
    * no longer detects spurious file write errors
342
    * fixed "W:" note prefix (Sjoerd Mullender <Sjoerd.Mullender@cwi.nl>)
357
    * notifier position now uses better randomization to avoid piling up
343
    * netplan identd queries went to the local host instead of the remote host
358
    * PostScript printouts often printed disabled appointments
344
    * fixed Y2K problem in PostScript printout. It works now but I don't under-
359
    * Sync button in week view could lose recently edited appointments
345
      stand why. Fixed by Vincent Everett <vincent.everett@mrc-bsu.cam.ac.uk>.
360
    * no more "cannot write backup" messages on IBM systems
346
    * plan -t/-T will now mark warnings with "Warn:".
361
    * time displayed after startup could be wrong for up to one minute
347
    * fixed removal of appointment edit menu for LessTif (Anders Melchiorsen
348
      <and@kampsax.dtu.dk>)
349
    * netplan: group authentication and memory allocation bug fixed by Jens
350
      Krinke <j.krinke@gmx.de>
351
    * purge unnecessary lines in empty edit menus, manually adjust edit list
352
      size to fix LessTif problem (Anders Melchiorsen <and@kampsax.dtu.dk>)
353
    * toggle buttons in print menu did not work with some Motif implementations
354
    * notifier now resizes correctly, text area grows instead of buttons
355
    * day view got holidays wrong near the end of the year (Anders Melchiorsen
356
      <and@kampsax.dtu.dk>)
357
    * LessTif optimizations (Rick Scott <rwscott@omnisig.com>)
358
    * user ID was freed twice in netplan (Jeff Dairiki <dairiki@dairiki.org>)
359
    * it is now possible to inspect messages attached to read-only appts
360
    * plan -t had multiday problems (Aaron Kaplan <kaplan@cs.rochester.edu>)
361
    * fixed PostScript Y2K bug (James E. Rowley <jer@research.att.com>)
362
    * fixed zombie problem caused by plan automatically starting pland
362
363
363
364
364
====== 1.4.3 released 7/7/95 =======
365
====== 1.7.2 released 14.7.98 =======
366
367
FEATURES:
368
    * Japanese port updated by OGURA Yoshito <ogura@apd.cpg.sony.co.jp>,
369
      NISHIJIMA Takanori <racsho@cpdc.canon.co.jp>
370
    * new resource showIconDate puts date and time into icon label
371
    * day view now shows holidays
372
    * pland -s sleeps while user is logged out but stays around
373
    * pland -t prints alarms to stdout instead of popping up windows
374
    * plan -S starts pland if it does not exist without asking
375
    * plan '22.11.99 15:23' now also works, replacement for plan [mmdd]hhmm
376
    * dates with years in the range 0..37 now mean 2000..2037, it is no longer
377
      necessary to enter four-digit years after 1999.
378
    * support for window managers handling client window groups (Pete Bentley
379
      <pete@sorted.org>).
365
380
366
BUG FIXES:
381
BUG FIXES:
367
    * pland didn't pop up advance-warning popups
382
    * when changing appt time to "-", clear length and advance time fields
383
    * goto and goto-today did not switch day view
384
    * no longer prints wrong time after startup (Adrian Miranda <ade@psg.com>)
368
385
369
386
370
====== 1.4.4 released 9/19/95 =======
387
====== 1.7.1 released 2/22/98 =======
371
388
372
FEATURES:
389
FEATURES:
373
    * Italian holiday file (Riccardo Scateni (riccardo@crs4.it))
390
    * pland only checks for logout after verifying that the login was noted
374
    * user assignment popup shows multi-column user list if the list is long
375
    * notifier popups contain user, length, end time, and optional note string
376
    * "Execute" commands in alarm options may contain %s, replaced with note
377
391
378
BUG FIXES:
392
BUG FIXES:
379
    * notifier snooze now works (Karsten Gaier)
393
    * fixed netplan ACL malloc (Harald Böhme <boehme@informatik.hu-berlin.de>)
380
    * pland ignored some repeating appointments
394
    * fixed drag&drop crash (Cy Schubert <cschuber@uumail.gov.bc.ca>)
381
    * plan -t yesterday now works
382
    * error message bugs for fonts, colors, and holiday syntax (Bob Tomlinson)
383
384
385
====== 1.4.5 released 12/14/95 =======
386
395
387
Special thanks to Johan Borkhuis <johan@borksoft.xs4all.nl> for his work!
388
396
389
NEW PLATFORMS:
397
====== 1.7.1 released 2/22/98 =======
390
    * Apollo Domain/OS (Vince Skahan <vds7789@aw101.iasl.ca.boeing.com>)
391
398
392
FEATURES:
399
FEATURES:
393
    * empty day boxes in month view show previous/next month (Johan Borkhuis)
400
    * Danish holiday file (Arne Norre Ekstroem <aneks@kom.auc.dk>)
394
    * week views can switch years (Johan Borkhuis)
395
    * user selection popup in appt entry menu got DONE button (Johan Borkhuis)
396
401
397
BUG FIXES:
402
BUG FIXES:
398
    * added void declarations, moved externals to conf.h (Johan Borkhuis)
403
    * month view crashed if large holiday messages fall on grayed-out days
404
    * random text when the first day of a multiday holiday overlaps another
405
    * netplan authentication by host failed on little-endian machines
406
    * fixed a PostScript bug that prevented printing months and years >= 2000
407
    * some online help messages in the edit menu were assigned incorrectly
408
    * fixed File->delete past entries (Pace Willisson <pace@blitz.com>)
409
    * command-line appointment entry did not update netplan database
410
    * drag-and-drop wireframes are more visible
411
    * HP/UX 9 target is now "hp9", "hp" is HP/UX 10; updated Control Data
412
      EP/IX 2.1.1 target (Geert Albert Smant <smant@nlr.nl>)
413
    * new target "hpg" for building plan on HP/UX10 systems with gcc
414
    * print iso-latin characters (Detlef Liem <detlef@kammer.uni-hannover.de>)
415
    * fixed netplan "group" verification (Jens Krinke <krinke@ips.cs.tu-bs.de>)
416
    * no locking on OSF/1 (Henrik Seidel <seidel@MPIMG-Berlin-Dahlem.MPG.DE>)
417
    * grok date+time entries that begin with a blank were parsed incorrectly
418
    * when entering a new appointment, the time field opens blank, not 0:00
419
    * fixes for FreeBSD (Stefan `Sec` Zehl <sec@42.org>)
399
420
400
421
401
====== 1.4.7 (1.5 beta) released 2/22/96 =======
422
====== 1.7 released 1/1/98 =======
402
423
403
NEW PLATFORMS:
424
Special thanks to Georg-Wilhelm Koltermann <gwk@crmunich0.cray.com>, who
404
    * Makefile change for Solaris 2.4 by Paul Eggert <eggert@twinsun.com>
425
sent a large number of improvements and bug fixes, especially in netplan.
426
His changes (sometimes modified by me) are marked (gwk) below.
405
427
406
FEATURES:
428
FEATURES:
407
    * new IP server for distributed file management, safe multiuser access
429
    * redesigned appointment entry: direct entry of multiday appts, up/down
408
    * new year overview that plots appointment groups on a 365-day timeline
430
      arrow buttons for most fields
409
    * new resource plan*noteWidth for width of note column in entry dialog
431
    * implemented advance warnings several days ahead
410
    * plan doesn't allow entry of stop-repeating date < trigger date
432
    * netplan overhaul: (gwk)
411
    * single-number time entries "0".."23" are interpreted as 0:00..23:00
433
      .  symbolic host/user/group names
434
      .  multiple groups per user (a la BSD)
435
      .  magic 'owner' ACL record, applies if file name == user name
436
      .  detect ACL file changes and re-read automatically
437
      .  support for identd (RFC 1413) authentication
438
    * clicking on empty space in year overviews calls appt edit menu
439
    * appointment color entry uses X OptionMenu on systems that support it
440
    * now 16 instead of 8 group colors available in the file list menu
441
    * added keyboard accelerators for common pulldown menu items
442
    * Norwegian holidays (Petter Reinholdtsen <pere@minerva.link.no>)
443
    * Austrian holidays (Friedrich Leisch <Friedrich.Leisch@ci.tuwien.ac.at>)
444
    * Hungarian holidays (Kelemen Péter <fuji@heureka.inf.elte.hu>)
445
    * FreeBSD Makefile and patches (Stefan `Sec` Zehl <sec@42.org>)
446
    * SNI Sinix 5.42 Makefile (Bernhard Metzger <Bernhard.Metzger@mch.sni.de>)
412
447
413
BUG FIXES:
448
BUG FIXES:
414
    * fixed shift/reduce conflicts ('%' operator had no association priority)
449
    * netplan overhaul: (gwk)
415
    * some systems required print mode button to be pressed twice, fixed
450
      .  fixed file readonly mgmt, now kept per client open, not per file
416
    * Linux picked a default forground color that made help texts unreadable
451
      .  fixed row ID wraparounds
417
452
      .  files read were initialized as "modified", causing writeback.
418
Note: the default LIB directory is now /usr/local/lib, not /usr/local/bin.
453
      .  file reference counter must only be incremented for the first
454
         open by a specific client (pland reopens many times)
455
      .  ACL netmask defaults to 255.255.255.255, not to the whole network
456
      .  fixed readonly or inaccessible files for an user's own appts
457
      .  plan could crash when modifying appts read from a crashed netplan
458
      .  host names in the ACL may now contain '-' characters
459
    * fixed bad attachment in month view, caused LessTif problems (gwk)
460
    * private appointments were often written to the server (gwk)
461
    * year overview skipped daily appts if the first day was an exception (gwk)
462
    * lost exception dates if the dialog was closed by pressing "split" (gwk)
463
    * split exceptions appeared in the day view but turned blank when any
464
      field was clicked for editing. (gwk)
465
    * if pland was started by plan instead of from the user's .xsession file,
466
      it inherited a copy of plan's file descriptors and never closed them,
467
      leading to stale locks and dangling netplan connections (gwk)
468
    * netplan ACL could ignore lines and failed for large ACL files. Also,
469
      little-endian machines got IP addresses wrong. (Bruno Achauer
470
      <bruno@tk.uni-linz.ac.at>)
471
    * BSD fixes (Jay Vassos-Libove <libove@felines.org>)
472
    * netplan could crash if a data file grows (Dag Nygren <dag@newtech.fi>)
473
    * fixed a file descriptor leak in the help system
474
    * year and year-overview mode buttons in the Print menu were swapped
475
    * auto DST did not work in the southern hemisphere, where begin > end
476
      (Glen Pringle <pringle@cs.monash.edu.au>)
419
477
420
478
421
====== 1.4.8 (1.5 beta2) released 3/8/96 =======
479
====== 1.6.1 released 4/12/97 =======
422
480
423
FEATURES:
481
FEATURES:
424
    * new Cancel button in File list
482
    * implemented simple access list features in netplan
425
    * pressing Return on Note column auto-confirms again
483
    * Belgian holiday file (Danny Backx <u27113@kb.be>)
426
    * netplan now writes files periodically and tries to write when crashing
484
    * pland got new -l/-L options to enable/disable auto-exit on logout
427
    * netplan can now safely be started as root or setuid root. Instead of
485
    * fixes to compile under NetBSD 2.1 (Petter Reinholdtsen <pere@link.no>)
428
      refusing to start, it switches to compiled-in <nobody> UID and GID.
429
      netplan can now be started in /etc/rc2.d/S99netplan or /etc/rc.local.
430
486
431
BUG FIXES:
487
BUG FIXES:
432
    * desensitize text instead of printing '---' in File list
488
    * the prev/next buttons in the day and week views no longer crash plan
433
    * ensure that names in File list are unique by appending 'x'
489
    * opening a nonexisting file on a netplan server could crash the server
434
    * netplan now fails if its home directory doesn't exist
490
    * views no longer lose window margins and resize correctly under X11R6.4 
435
    * plan crashed on Suns with "no memory" when connecting to netplan
491
    * year views now draw significantly faster (factor >100 for some files)
436
    * replaced references to obsolete menus and terms in the help texts
492
    * text in week bars exceed normal max length (<kaplan@cs.rochester.edu>)
493
    * pland deleted past appointments on servers
494
    * can no longer re-assign appointments in or to write-protected files
495
    * edit menu: deleting with Note selected doesn't delete wrong appt now
437
496
438
497
439
====== 1.5 released 3/22/96 =======
498
====== 1.6 released 2/5/97 =======
499
500
FEATURES:
501
    * new day view (does not work in Japanese yet, sorry)
502
    * configuration option to use main window for all views
503
    * read-only access to xmbase-grok databases (see Help->Database access)
504
    * improved holiday grammar, Erwin Achermann <acherman@inf.ethz.ch>
505
    * new netplan -f option to prevent daemonizing, like -d but without logging
440
506
441
BUG FIXES:
507
BUG FIXES:
442
    * netplan accepted far fewer clients than available file descriptors allow
508
    * now translating national special characters to PostScript when printing
509
    * fixed crash under DEC OSF/1, which doesn't declare malloc in <malloc.h>
510
    * fixed crash if drawn strings contain characters not defined in the font
443
511
444
512
445
====== 1.5.1 released 4/21/96 =======
513
====== 1.5.4 released 11/14/96 =======
446
514
447
FEATURES:
515
FEATURES:
448
    * Japanese support (Ogura Yoshito <ogura@ndc.ngsk.sony.co.jp>)
516
    * Finnish holiday file by Steven Wahlberg <stegu@prosperous.ee.hit.fi>
449
    * added resource to restrict month views to the days of that month
450
517
451
BUG FIXES:
518
BUG FIXES:
452
    * pland now refuses to execute scripts that come from an (insecure) server
519
    * wrong date defaults in appointment entry dialogs fixed
453
    * newly entered appointments could end up in the wrong file on the server
520
    * changing appointment group fixed by Johan Vromans <JVromans@squirrel.nl>
454
    * on first startup, the top line in the file list contained a garbage path
455
    * missing colon in three default resources (plan -d)
456
    * SCO has no fchmod and needs -lsocket (stefan.bittner@erlangen.netsurf.de)
457
    * a resource list was too small (Ogura Yoshito <ogura@ndc.ngsk.sony.co.jp>)
458
    * command-line appointment entry (plan hhmm text...) didn't work
459
    * it's now necessary to enter an appointment before choosing its file assoc
460
    * plan -t without -o never printed anything
461
    * IP port number now byte-swapped for Linux (Klaus.Steinberger@Physik.
462
      Uni-Muenchen.DE)
463
464
521
465
====== 1.5.2 released 8/1/96 =======
466
522
467
NEW PLATFORMS:
523
====== 1.5.3 released 8/1/96 =======
468
    * Sequent Dynix/ptx 4.0 or 4.1 (Mike Gilpin <mgilpin@sequent.com>)
469
524
470
FEATURES:
525
FEATURES:
471
526
    * new search modes: one file, private only
472
BUG FIXES:
527
    * new alternative small month view
473
    * -t/-T options don't need the X server (Glenn Trigg <ggt@tpg.tpg.oz.au>)
528
    * preference menu now scrolls if the screen is too small (640x480)
474
    * -t/-T options were using the wrong timezone
529
    * new GPS week mode (GPS=Global Positioning System)
475
    * scripts were rejected as insecure even when read from local files
476
    * week view printouts with "omit all appointments" ticked crashed plan
477
    * file list modifications were not immediately written back to the files
478
    * when editing an appointment, it moved in list if others have same time
479
    * print month: all appointments missing if "omit other users" flag is on
480
    * if trying to kill old plan process, make sure its pid was different
481
    * press on Note, then Delete -> deletes wrong appointment. No longer.
482
483
484
====== 1.5.3 released 8/1/96 =======
485
486
FEATURES:
487
    * new search modes: one file, private only
488
    * new alternative small month view
489
    * preference menu now scrolls if the screen is too small (640x480)
490
    * new GPS week mode (GPS=Global Positioning System)
491
530
492
BUG FIXES:
531
BUG FIXES:
493
    * modified file list was not immediately written back to disk
532
    * modified file list was not immediately written back to disk
Lines 501-982 BUG FIXES: Link Here
501
    * fixed various minor porting issues (struct list->plist, file->pfile)
540
    * fixed various minor porting issues (struct list->plist, file->pfile)
502
541
503
542
504
====== 1.5.4 released 11/14/96 =======
543
====== 1.5.2 released 8/1/96 =======
544
545
NEW PLATFORMS:
546
    * Sequent Dynix/ptx 4.0 or 4.1 (Mike Gilpin <mgilpin@sequent.com>)
505
547
506
FEATURES:
548
FEATURES:
507
    * Finnish holiday file by Steven Wahlberg <stegu@prosperous.ee.hit.fi>
508
549
509
BUG FIXES:
550
BUG FIXES:
510
    * wrong date defaults in appointment entry dialogs fixed
551
    * -t/-T options don't need the X server (Glenn Trigg <ggt@tpg.tpg.oz.au>)
511
    * changing appointment group fixed by Johan Vromans <JVromans@squirrel.nl>
552
    * -t/-T options were using the wrong timezone
553
    * scripts were rejected as insecure even when read from local files
554
    * week view printouts with "omit all appointments" ticked crashed plan
555
    * file list modifications were not immediately written back to the files
556
    * when editing an appointment, it moved in list if others have same time
557
    * print month: all appointments missing if "omit other users" flag is on
558
    * if trying to kill old plan process, make sure its pid was different
559
    * press on Note, then Delete -> deletes wrong appointment. No longer.
512
560
513
561
514
====== 1.6 released 2/5/97 =======
562
====== 1.5.1 released 4/21/96 =======
515
563
516
FEATURES:
564
FEATURES:
517
    * new day view (does not work in Japanese yet, sorry)
565
    * Japanese support (Ogura Yoshito <ogura@ndc.ngsk.sony.co.jp>)
518
    * configuration option to use main window for all views
566
    * added resource to restrict month views to the days of that month
519
    * read-only access to xmbase-grok databases (see Help->Database access)
520
    * improved holiday grammar, Erwin Achermann <acherman@inf.ethz.ch>
521
    * new netplan -f option to prevent daemonizing, like -d but without logging
522
567
523
BUG FIXES:
568
BUG FIXES:
524
    * now translating national special characters to PostScript when printing
569
    * pland now refuses to execute scripts that come from an (insecure) server
525
    * fixed crash under DEC OSF/1, which doesn't declare malloc in <malloc.h>
570
    * newly entered appointments could end up in the wrong file on the server
526
    * fixed crash if drawn strings contain characters not defined in the font
571
    * on first startup, the top line in the file list contained a garbage path
572
    * missing colon in three default resources (plan -d)
573
    * SCO has no fchmod and needs -lsocket (stefan.bittner@erlangen.netsurf.de)
574
    * a resource list was too small (Ogura Yoshito <ogura@ndc.ngsk.sony.co.jp>)
575
    * command-line appointment entry (plan hhmm text...) didn't work
576
    * it's now necessary to enter an appointment before choosing its file assoc
577
    * plan -t without -o never printed anything
578
    * IP port number now byte-swapped for Linux (Klaus.Steinberger@Physik.
579
      Uni-Muenchen.DE)
527
580
528
581
529
====== 1.6.1 released 4/12/97 =======
582
====== 1.5 released 3/22/96 =======
583
584
BUG FIXES:
585
    * netplan accepted far fewer clients than available file descriptors allow
586
587
588
====== 1.4.8 (1.5 beta2) released 3/8/96 =======
530
589
531
FEATURES:
590
FEATURES:
532
    * implemented simple access list features in netplan
591
    * new Cancel button in File list
533
    * Belgian holiday file (Danny Backx <u27113@kb.be>)
592
    * pressing Return on Note column auto-confirms again
534
    * pland got new -l/-L options to enable/disable auto-exit on logout
593
    * netplan now writes files periodically and tries to write when crashing
535
    * fixes to compile under NetBSD 2.1 (Petter Reinholdtsen <pere@link.no>)
594
    * netplan can now safely be started as root or setuid root. Instead of
595
      refusing to start, it switches to compiled-in <nobody> UID and GID.
596
      netplan can now be started in /etc/rc2.d/S99netplan or /etc/rc.local.
536
597
537
BUG FIXES:
598
BUG FIXES:
538
    * the prev/next buttons in the day and week views no longer crash plan
599
    * desensitize text instead of printing '---' in File list
539
    * opening a nonexisting file on a netplan server could crash the server
600
    * ensure that names in File list are unique by appending 'x'
540
    * views no longer lose window margins and resize correctly under X11R6.4 
601
    * netplan now fails if its home directory doesn't exist
541
    * year views now draw significantly faster (factor >100 for some files)
602
    * plan crashed on Suns with "no memory" when connecting to netplan
542
    * text in week bars exceed normal max length (<kaplan@cs.rochester.edu>)
603
    * replaced references to obsolete menus and terms in the help texts
543
    * pland deleted past appointments on servers
544
    * can no longer re-assign appointments in or to write-protected files
545
    * edit menu: deleting with Note selected doesn't delete wrong appt now
546
604
547
605
548
====== 1.7 released 1/1/98 =======
606
====== 1.4.7 (1.5 beta) released 2/22/96 =======
549
607
550
Special thanks to Georg-Wilhelm Koltermann <gwk@crmunich0.cray.com>, who
608
NEW PLATFORMS:
551
sent a large number of improvements and bug fixes, especially in netplan.
609
    * Makefile change for Solaris 2.4 by Paul Eggert <eggert@twinsun.com>
552
His changes (sometimes modified by me) are marked (gwk) below.
553
610
554
FEATURES:
611
FEATURES:
555
    * redesigned appointment entry: direct entry of multiday appts, up/down
612
    * new IP server for distributed file management, safe multiuser access
556
      arrow buttons for most fields
613
    * new year overview that plots appointment groups on a 365-day timeline
557
    * implemented advance warnings several days ahead
614
    * new resource plan*noteWidth for width of note column in entry dialog
558
    * netplan overhaul: (gwk)
615
    * plan doesn't allow entry of stop-repeating date < trigger date
559
      .  symbolic host/user/group names
616
    * single-number time entries "0".."23" are interpreted as 0:00..23:00
560
      .  multiple groups per user (a la BSD)
561
      .  magic 'owner' ACL record, applies if file name == user name
562
      .  detect ACL file changes and re-read automatically
563
      .  support for identd (RFC 1413) authentication
564
    * clicking on empty space in year overviews calls appt edit menu
565
    * appointment color entry uses X OptionMenu on systems that support it
566
    * now 16 instead of 8 group colors available in the file list menu
567
    * added keyboard accelerators for common pulldown menu items
568
    * Norwegian holidays (Petter Reinholdtsen <pere@minerva.link.no>)
569
    * Austrian holidays (Friedrich Leisch <Friedrich.Leisch@ci.tuwien.ac.at>)
570
    * Hungarian holidays (Kelemen Péter <fuji@heureka.inf.elte.hu>)
571
    * FreeBSD Makefile and patches (Stefan `Sec` Zehl <sec@42.org>)
572
    * SNI Sinix 5.42 Makefile (Bernhard Metzger <Bernhard.Metzger@mch.sni.de>)
573
617
574
BUG FIXES:
618
BUG FIXES:
575
    * netplan overhaul: (gwk)
619
    * fixed shift/reduce conflicts ('%' operator had no association priority)
576
      .  fixed file readonly mgmt, now kept per client open, not per file
620
    * some systems required print mode button to be pressed twice, fixed
577
      .  fixed row ID wraparounds
621
    * Linux picked a default forground color that made help texts unreadable
578
      .  files read were initialized as "modified", causing writeback.
579
      .  file reference counter must only be incremented for the first
580
         open by a specific client (pland reopens many times)
581
      .  ACL netmask defaults to 255.255.255.255, not to the whole network
582
      .  fixed readonly or inaccessible files for an user's own appts
583
      .  plan could crash when modifying appts read from a crashed netplan
584
      .  host names in the ACL may now contain '-' characters
585
    * fixed bad attachment in month view, caused LessTif problems (gwk)
586
    * private appointments were often written to the server (gwk)
587
    * year overview skipped daily appts if the first day was an exception (gwk)
588
    * lost exception dates if the dialog was closed by pressing "split" (gwk)
589
    * split exceptions appeared in the day view but turned blank when any
590
      field was clicked for editing. (gwk)
591
    * if pland was started by plan instead of from the user's .xsession file,
592
      it inherited a copy of plan's file descriptors and never closed them,
593
      leading to stale locks and dangling netplan connections (gwk)
594
    * netplan ACL could ignore lines and failed for large ACL files. Also,
595
      little-endian machines got IP addresses wrong. (Bruno Achauer
596
      <bruno@tk.uni-linz.ac.at>)
597
    * BSD fixes (Jay Vassos-Libove <libove@felines.org>)
598
    * netplan could crash if a data file grows (Dag Nygren <dag@newtech.fi>)
599
    * fixed a file descriptor leak in the help system
600
    * year and year-overview mode buttons in the Print menu were swapped
601
    * auto DST did not work in the southern hemisphere, where begin > end
602
      (Glen Pringle <pringle@cs.monash.edu.au>)
603
622
623
Note: the default LIB directory is now /usr/local/lib, not /usr/local/bin.
604
624
605
====== 1.7.1 released 2/22/98 =======
625
626
====== 1.4.5 released 12/14/95 =======
627
628
Special thanks to Johan Borkhuis <johan@borksoft.xs4all.nl> for his work!
629
630
NEW PLATFORMS:
631
    * Apollo Domain/OS (Vince Skahan <vds7789@aw101.iasl.ca.boeing.com>)
606
632
607
FEATURES:
633
FEATURES:
608
    * Danish holiday file (Arne Norre Ekstroem <aneks@kom.auc.dk>)
634
    * empty day boxes in month view show previous/next month (Johan Borkhuis)
635
    * week views can switch years (Johan Borkhuis)
636
    * user selection popup in appt entry menu got DONE button (Johan Borkhuis)
609
637
610
BUG FIXES:
638
BUG FIXES:
611
    * month view crashed if large holiday messages fall on grayed-out days
639
    * added void declarations, moved externals to conf.h (Johan Borkhuis)
612
    * random text when the first day of a multiday holiday overlaps another
613
    * netplan authentication by host failed on little-endian machines
614
    * fixed a PostScript bug that prevented printing months and years >= 2000
615
    * some online help messages in the edit menu were assigned incorrectly
616
    * fixed File->delete past entries (Pace Willisson <pace@blitz.com>)
617
    * command-line appointment entry did not update netplan database
618
    * drag-and-drop wireframes are more visible
619
    * HP/UX 9 target is now "hp9", "hp" is HP/UX 10; updated Control Data
620
      EP/IX 2.1.1 target (Geert Albert Smant <smant@nlr.nl>)
621
    * new target "hpg" for building plan on HP/UX10 systems with gcc
622
    * print iso-latin characters (Detlef Liem <detlef@kammer.uni-hannover.de>)
623
    * fixed netplan "group" verification (Jens Krinke <krinke@ips.cs.tu-bs.de>)
624
    * no locking on OSF/1 (Henrik Seidel <seidel@MPIMG-Berlin-Dahlem.MPG.DE>)
625
    * grok date+time entries that begin with a blank were parsed incorrectly
626
    * when entering a new appointment, the time field opens blank, not 0:00
627
    * fixes for FreeBSD (Stefan `Sec` Zehl <sec@42.org>)
628
640
629
641
630
====== 1.7.1 released 2/22/98 =======
642
====== 1.4.4 released 9/19/95 =======
631
643
632
FEATURES:
644
FEATURES:
633
    * pland only checks for logout after verifying that the login was noted
645
    * Italian holiday file (Riccardo Scateni (riccardo@crs4.it))
646
    * user assignment popup shows multi-column user list if the list is long
647
    * notifier popups contain user, length, end time, and optional note string
648
    * "Execute" commands in alarm options may contain %s, replaced with note
634
649
635
BUG FIXES:
650
BUG FIXES:
636
    * fixed netplan ACL malloc (Harald Böhme <boehme@informatik.hu-berlin.de>)
651
    * notifier snooze now works (Karsten Gaier)
637
    * fixed drag&drop crash (Cy Schubert <cschuber@uumail.gov.bc.ca>)
652
    * pland ignored some repeating appointments
638
653
    * plan -t yesterday now works
654
    * error message bugs for fonts, colors, and holiday syntax (Bob Tomlinson)
639
655
640
====== 1.7.2 released 14.7.98 =======
641
656
642
FEATURES:
657
====== 1.4.3 released 7/7/95 =======
643
    * Japanese port updated by OGURA Yoshito <ogura@apd.cpg.sony.co.jp>,
644
      NISHIJIMA Takanori <racsho@cpdc.canon.co.jp>
645
    * new resource showIconDate puts date and time into icon label
646
    * day view now shows holidays
647
    * pland -s sleeps while user is logged out but stays around
648
    * pland -t prints alarms to stdout instead of popping up windows
649
    * plan -S starts pland if it does not exist without asking
650
    * plan '22.11.99 15:23' now also works, replacement for plan [mmdd]hhmm
651
    * dates with years in the range 0..37 now mean 2000..2037, it is no longer
652
      necessary to enter four-digit years after 1999.
653
    * support for window managers handling client window groups (Pete Bentley
654
      <pete@sorted.org>).
655
658
656
BUG FIXES:
659
BUG FIXES:
657
    * when changing appt time to "-", clear length and advance time fields
660
    * pland didn't pop up advance-warning popups
658
    * goto and goto-today did not switch day view
659
    * no longer prints wrong time after startup (Adrian Miranda <ade@psg.com>)
660
661
661
662
662
====== 1.8 released 30.3.99 =======
663
====== 1.4.2 released 5/23/95 =======
663
664
664
FEATURES:
665
FEATURES:
665
    * CGI scripts and HTML pages for web browser access, Michel Bourget
666
    * if pland is started after an alarm time but before its end, trigger it
666
      <michel@montreal.sgi.com> (hacked by thomas@bitrot.de, bugs are
667
    * the own-only flag in appointment entry menus is saved for future menus
667
      probably my fault)
668
    * debugging option -d for pland, more info about what is going on
668
    * national language support and a German language file. No support for
669
    * pland makes sure that its version number matches plan
669
      pulldown accelerators. Foreign-language help files are supported but
670
    * delete-pending-selection mode for holiday and message text windows
670
      none are supplied yet.
671
    * French language file by Guy Brand <guybrand@chimie.u-strasbg.fr>
672
    * new automatic DST mode that attempts to get the time from the system
673
      (experimental, available only for some systems, mostly untested)
674
    * simple Todo appointments that keep appearing after they first trigger
675
    * implemented default advance-warning times (Config->Calendar views)
676
    * color PostScript printouts (Kevin Earls <wke@sh-gpl.ti.com>)
677
    * new config mode that allows daemon to exeute insecure netplan scripts
678
    * new config mode that makes Thursday the selector for the first week
679
    * new combination holiday file by Walter Brown <wb@fncrdg.fnal.gov>
680
    * new Portuguese holiday file by Jose Paulo Moitinho de Almeida
681
      <moitinho@civil.ist.utl.pt>
682
    * support for Christian Orthodox Easter (new holiday keyword "pascha")
683
    * ported again to FreeBSD (Stefan `Sec` Zehl <sec@42.org>)
684
    * converted remaining old code to ANSI C
685
    * new Czech holiday file by Hanus Adler <had@articon.cz>
686
671
687
BUG FIXES:
672
BUG FIXES:
688
    * Linux once again scrambled some header files and made plan uncompilable
673
    * lock could crash if argv[0] is very long (mikee@wfc.com (Mike Eggleston))
689
    * small holidays crash day view (Sjoerd Mullender <Sjoerd.Mullender@cwi.nl>
674
    * better handling of user name input
690
    * if pland was started between 0:00 and 2:59:59, it overlooked appointments
675
    * much better performance if many other users exist but are disabled
691
    * fixed "W:" note prefix (Sjoerd Mullender <Sjoerd.Mullender@cwi.nl>)
676
    * no longer detects spurious file write errors
692
    * netplan identd queries went to the local host instead of the remote host
677
    * notifier position now uses better randomization to avoid piling up
693
    * fixed Y2K problem in PostScript printout. It works now but I don't under-
678
    * PostScript printouts often printed disabled appointments
694
      stand why. Fixed by Vincent Everett <vincent.everett@mrc-bsu.cam.ac.uk>.
679
    * Sync button in week view could lose recently edited appointments
695
    * plan -t/-T will now mark warnings with "Warn:".
680
    * no more "cannot write backup" messages on IBM systems
696
    * fixed removal of appointment edit menu for LessTif (Anders Melchiorsen
681
    * time displayed after startup could be wrong for up to one minute
697
      <and@kampsax.dtu.dk>)
698
    * netplan: group authentication and memory allocation bug fixed by Jens
699
      Krinke <j.krinke@gmx.de>
700
    * purge unnecessary lines in empty edit menus, manually adjust edit list
701
      size to fix LessTif problem (Anders Melchiorsen <and@kampsax.dtu.dk>)
702
    * toggle buttons in print menu did not work with some Motif implementations
703
    * notifier now resizes correctly, text area grows instead of buttons
704
    * day view got holidays wrong near the end of the year (Anders Melchiorsen
705
      <and@kampsax.dtu.dk>)
706
    * LessTif optimizations (Rick Scott <rwscott@omnisig.com>)
707
    * user ID was freed twice in netplan (Jeff Dairiki <dairiki@dairiki.org>)
708
    * it is now possible to inspect messages attached to read-only appts
709
    * plan -t had multiday problems (Aaron Kaplan <kaplan@cs.rochester.edu>)
710
    * fixed PostScript Y2K bug (James E. Rowley <jer@research.att.com>)
711
    * fixed zombie problem caused by plan automatically starting pland
712
713
714
====== 1.8.1 released 16.5.99 =======
715
716
FEATURES:
717
    * Japanese port of 1.8 by Takafumi Hayashi <takafumi@u-aizu.ac.jp>
718
    * port to OS/2 with X by Alexander Mai <st002279@hrzpub.tu-darmstadt.de>
719
    * new configure script that simplifies modifications for default, SGI,
720
      and Linux installations.
721
682
722
BUG FIXES:
723
    * plan -F: stdout could not be redirected, added missing fflush
724
    * various error popups are now modal, to prevent them from being overlooked
725
    * small Ultrix fixes (no pland -l) by Maarten Vergauwen
726
      <Maarten.Vergauwen@esat.kuleuven.ac.be>
727
    * fixed month and year PostScript printing, texts were in the wrong places
728
683
684
====== 1.4.1 released 4/1/95 (mailing list release only) =======
729
685
730
====== 1.8.2 released 5.7.99 =======
686
NEW PLATFORMS:
687
    * Solaris2 with gcc port, bk@kullmar.se (Bo Kullmar)
731
688
732
FEATURES:
689
FEATURES:
733
    * Spanish language support by Manuel Soriano <manu@europa3.com>
690
    * -o print other users too, -T is like -t but with end times, not lengths
734
    * Port to LynxOS mag 2.5.1 092297-D i386 by Marius Groeger <mag@sysgo.de>
691
    * print-only-my-appointments toggle added, Richard G. Hash (rgh@shell.com)
735
    * if the X server fails to send X timer events, switch to synchronous file
736
      writing to avoid data loss. Works around bug or incompatibility in XFree.
737
    * new script to convert Microsoft Schedule+ files to .dayplan format by
738
      Cy Schubert - ITSD Open Systems Group <Cy.Schubert@uumail.gov.bc.ca>
739
692
740
BUG FIXES:
693
BUG FIXES:
741
    * fixed configure script problems and clarified man page locations
694
    * alarm mode button in Config->User popup was lost
742
    * more fixes by Phil Sackinger <pasacki@sass2604.engsci.sandia.gov>
695
    * UnixWare needs -lgen to compile
743
    * fixed output of -W -i for web interface
696
    * if there was no .dayplan, the week view ranges were not initialized
744
    * the .plan.dir choice in the configure script caused path trouble in plan
697
    * the ?: operator in the holiday parser didn't work, Kai Hofmann
745
    * another PostScript bug fix causing text in wrong positions fixed by
698
      <i07m@Informatik.Uni-Bremen.DE>
746
      Daniel Robitaille <daniel@robitaille.com>
699
    * notes were invisible in week view in Japanese mode, Takanori Nishijima
747
    * more OS/2+X patches by Alexander Mai <st002279@hrzpub.tu-darmstadt.de>
700
      <racsho@cpdc.canon.co.jp>
748
    * weekday before/after syntax was wrong in holiday parser, Thomas Henlich
749
      <henlich@mmers1.mw.tu-dresden.de> and Henning Daum <henning@daum.com>
750
    * LessTif 0.88.1 fix by Thomas Henlich <henlich@mmers1.mw.tu-dresden.de>
751
    * improved man pages, foreground/background is now configurable from the
752
      script for Debian/Linux compatibility, netplan should not always run as
753
      nobody, and a French holiday fix by Yann Dirson <ydirson@multimania.com>
754
    * enter webplan mode if the program is called "webplan", reading netplan
755
      user list crashed if there were no users, fixed possible crash when
756
      closing file list menu, renamed welcome.html to bottom.html by Murray
757
      Jensen <Murray.Jensen@mlb.dmt.csiro.au>
758
759
760
====== 1.8.3 released 8.12.99 =======
761
762
FEATURES:
763
    * new options -N, -c, and -h to control more options when adding entries
764
      from the command line (Tovar <tvr@value.net>)
765
701
766
BUG FIXES:
767
    * Fixed language file order, causing untranslated messages. Also replaced
768
      OK button with Kill button in "another plan is running" dialog. Thomas
769
      Henlich <henlich@mmers1.mw.tu-dresden.de>
770
    * fixed manpage names, Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
771
    * fixed pascha (Orthodox Easter) calculation and added greek holiday file,
772
      Efthimios Mavrogeorgiadis <emav@enl.auth.gr>
773
    * fixed timezones on the other side of the dateline (Truxton Fulton
774
      <trux@truxton.com>)
775
    * fixed toggle buttons in print menu (Ekkehard Hoffmann <ehoffman@fzi.de>)
776
    * new timezone code for DEC OSF/1 (Petrie L M <lmp@ornl.gov>)
777
    * client connection failures now close the connection cleanly and do not
778
      leak memory
779
    * non-netplan files incorrectly became read-only after the first change
780
    * fixed recognition of -u users (Ekkehard Hoffmann <ehoffman@fzi.de>)
781
    * changed two-digit year display in month/year printouts to four digits
782
      (Goran Larsson <hoh@lorelei.approve.se>)
783
702
703
====== 1.4 released 2/22/95 =======
784
704
785
====== 1.8.4 released 17.7.00 =======
705
NEW PLATFORMS:
706
    *  UnixWare 1.1 and 2.0, jay@summit.novell.com
786
707
787
FEATURES:
708
FEATURES:
788
    * Changed configure script, Makefile, and manpages to conform to Debian
709
    *  PostScript printouts of week views
789
      Linux conventions, Yann Dirson <dirson@debian.org>
710
    *  appointments of other users or shared lists can be displayed in the
790
    * another configure preset for SuSE Linux
711
       month and/or week views, and can be created, deleted, and modified. No
791
    * new SysV alarm signals that prod the X timer events that write modified
712
       inetd daemon yet, but proposed "workgroup" functions are implemented.
792
      data, as a workaround for broken XFree86 X servers, by Francis Montagnac
713
    *  appointments of other users can optionally trigger own alarms
793
      <Francis.Montagnac@sophia.inria.fr>
714
    *  up to four exception dates per appt where alarm is suspended, fill-in
794
    * netplan now listens on two ports (unless overriden in /etc/services):
715
       appointments for each of these can be created automatically ("split")
795
      5444 for backwards compatibility, and 2983, the new IANA-registered port.
716
    *  appointment texts in month view can be highlighted with one of 8 colors
796
    * "user" lines in netplan ACLs now accept "user@host" arguments, by Jochen
717
    *  options and preferences consolidated into new calendar config popup
797
      Bern <bern@TI.Uni-Trier.DE>
718
    *  config first week of year (full or partial)
798
    * the "another plan window is running, kill/continue" popup now blocks
719
    *  appointments can now be selectively removed from month/year/week views
799
      until answered.
720
    *  number of days in week view is now configurable (1..28 days)
800
    * OpenMotif support (XFree 4.0.1, OpenMotif 2.1.30) by Wes Kaefer
721
    *  user list now accepts file names in addition to directories
801
      <kaefer@mciworld.com>
722
    *  added flags to omit appointments in printouts
723
    *  printout now uses message text if there is no note
724
    *  do scripts even if alarms are turned off
725
    *  files are written using backup and temp copies to recover from errors
726
    *  dump to stdout with -t now accepts second parameter for number of days
727
    *  entries without time may be displayed as large bar in week view
802
728
803
BUG FIXES:
729
BUG FIXES:
804
    * OS/2 Makefile fixes, Alexander Mai <st002279@hrzpub.tu-darmstadt.de>
730
    *  updated Swedish holiday file
805
    * fixes by Francis Montagnac <Francis.Montagnac@sophia.inria.fr>:
731
    *  when cursor is in note column, pressing lock made appt disappear
806
      - reading and writing of appt files of another user could access this
732
    *  don't use the plainfile/. trick, DEC's ASF claims the directory exists!
807
        user's file instead, by Francis Montagnac
733
    *  appt menu: press date, press time -> wrong default in date
808
      - don't redraw twice after deleting, can crash, by Francis Montagnac
734
    *  default for print is now month, not year
809
      - warn when using more than one server, by Francis Montagnac
735
    *  week view overlaps were wrong if start<minhour, some bars were missing
810
      - don't expand home-dirs in "File List" but put simply "~user". This
811
        prevent absolute pathnames in dayplan for user appointment files.
812
      - change writefile to return true for any readonly files, without doing
813
        anything. Fix call of fclose on NULL when creating a new file.
814
      - fix accept_new_list to update the views even for non server files.
815
      - fix in resolve_tilde: ~user gave /home/user/user
816
    * color-shaded backgrounds in month view are now printed, by Brad Jorsch
817
      <anomie@users.sourceforge.net>
818
    * huge numbers of lines in the large month view can cause heap corruption,
819
      by Paul Anderson <paul@dcs.ed.ac.uk>
820
    * fixed umlauts in Austrian holiday file, by Friedrich Leisch
821
      <Friedrich.Leisch@ci.tuwien.ac.at>
822
    * note: on SGI IRIX6 I appear to be unable to compile with -mips2, sorry.
823
736
824
737
825
====== 1.8.5 released 16.2.03 =======
738
====== 1.3.2 released 11/11/94 =======
739
740
NEW PLATFORMS:
741
    *  Convex C220
742
    *  SGI IRIX 6.0
826
743
827
FEATURES:
744
FEATURES:
828
    * plan's FTP home site has a new name: plan.ftp.fu-berlin.de, shown in
745
    *  Australian holiday file, by Peter Turnbull (petert@dha.gov.au)
829
      the About popup. The old address will continue to work. (Thanks, Heiko!)
746
    *  new date format added: "-n" is n days ago (useful for -t option)
830
    * set locale to support other character sets such as Czech, by Petr Kristan
831
      <petr.kristan@epos.cz>
832
    * OpenBSD port by Armin Wolfermann <armin.wolfermann@viscomp.com>
833
    * new plan2vcs perl script that converts plan appointments to korganizer
834
      format, by Bert Bos <bert@w3.org>
835
    * if there is a ~/.holiday file, don't read LIB/holiday as well.
836
    * skip junk in entries synced from PalmPilot DateBk4 messages, by Johan
837
      Vromans <jvromans@squirrel.nl>
838
    * allow new holiday syntax "workday before/after <date>", by Ian Holland
839
      <irh@statscout.com>
840
    * Italian language translations by Paolo Panizza <pp@ieee.org>
841
    * accept yyyy/mm/dd date input, Brian T. Schellenberger <bts@babbleon.org>
842
    * Slovak holidays by Mikulas Sustak <sustak@kte.sjf.stuba.sk>
843
747
844
BUG FIXES:
748
BUG FIXES:
845
    * fixed Debian bug 157425: color selection dropbox always starts on Default
749
    *  only refresh changed window regions (Daniel Williams <dan@sass.com>
846
    * Suns apparently still run X11R5 and don't have XtSignalId et. al.
750
    *  week view ignored other user's appts that were earlier than first own
847
    * configure script had problems with defaults when using bash (Michael
751
    *  history files no longer run through cpp if file is empty ("error 0")
848
      Mauch <michael.mauch@gmx.de>
752
    *  in the Adjust Time menu, the hour was printed incorrectly
849
    * fixed configure script problems on Solaris 2.6, by Horst Scheuermann
753
    *  new TZ parser for SVR4 syntax, by Klaus Guntermann <guntermann@
850
      <scheuerm@uni-trier.de>
754
       iti.informatik.th-darmstadt.de>
851
    * fixed Dutch Driekoningen holiday date, by Johan Vromans
755
    *  fast warning entry reversed early and late (mmorriso@mipos2.intel.com)
852
      <JVromans@squirrel.nl>
756
    *  output of plan -t disappeared if stdout was redirected
853
    * IBM AIX doesn't have Xt timers and doesn'd compile plan 1.8.4, excluded
757
    *  date input now less eager to default to today's date
854
      XFree workaround for IBM
855
    * week number 2 appeared twice in 2001. Fixed by Helmut Jarausch
856
      <jarausch@igpm.rwth-aachen.de>
857
    * Search->One file could not select the "own" file (top menu choice).
858
    * cleanup: removed remaining K&R varargs and sunkr target
859
    * fixed '@' user notation in netplan server, by Gennadi Umanski
860
      <umanskij@ti.uni-trier.de>
861
    * fixed Japanese string converion, by Tomoko Hayashi <tomoko@u-aizu.ac.jp>
862
    * other people's .dayplan file references ('L' lines in ~/.dayplan) over-
863
      wrote own file entries (Heiko Schlichting <heiko@FU-Berlin.DE>)
864
865
758
866
====== 1.8.6 released 18.3.03 =======
867
759
868
FEATURES:
760
====== 1.3.1 released 7/11/94 =======
869
    * reversed the change in 1.8.5, at popular demand, that lets a personal
870
      holiday file replace the system holiday file. plan 1.8.6 again reads
871
      both, system first. The new "reset" keywords can be used to clear all
872
      system holidays, following an idea by Heiko Schlichting.
873
761
874
BUG FIXES:
762
BUG FIXES:
875
    * the edit menu was broken in 1.8.5, fixed by Heiko Schlichting
763
    *  DEC alpha: fixed black-on-black notifier windows
876
      <heiko@FU-Berlin.DE>
764
    *  XtPopup order wrong for Sun X11R5 in create_adjust_popup
765
    *  -geometry didn't work
766
    *  repeat on last weekday of a month didn't work
767
    *  ISO characters in calendar windows didn't work
768
    *  stripping leading blanks from config exec cmds, confused some shells
769
    *  improved 12-hour time parsing, "5p" is now accepted in place of "5:00p"
770
    *  appt menu: press date, press time with no entry -> wrong default in date
771
    *  corrected left adjustment of appts without time in the month menu
772
    *  Linux has problems with XtDestroyWidget. Workaround leaks memory!
773
    *  fixed pland crashes after many sighup's if compiled without -DRABBITS
877
774
775
NEW PLATFORMS:
776
    *  IBM PS/2, AIX 1.3, gcc, by David W. Schuler <dschuler@vnet.ibm.com>
878
777
879
====== 1.8.7 released 30.9.03 =======
880
778
881
FEATURES:
779
====== 1.3 release 6/1/94 =======
882
    * deleted support for SCO
883
    * pland -p pops up all alarms that triggered since the last time pland
884
      ran, not just those from the past three hours, by Brian L. Shaver
885
      <shaker.lxxv@verizon.net>
886
    * more room for appointments in year overview, moved year to left edge
887
780
888
BUG FIXES:
781
BUG FIXES:
889
    * newly entered appointments no longer vanish from the edit menu.
782
    *  non-interactive mode and -v should not init X
890
    * fixed errno compiler errors on SMP systems, Thomas Ribbrock
783
    *  clip bars in week views at midnight
891
      <emgaron@gmx.net>
784
    *  Suns have no utopia
892
    * Italian language translations by Paolo Panizza <pp@ieee.org> were
785
    *  no stdarg.h (Sparc 1+,h SunOS 4.1.3, X11R5pl25, Motif 1.2.1)
893
      missing from the 1.8.5 and 1.8.6 distributions, now included
786
    *  week view range menu was mangled on Suns and a few others
894
787
    *  HPs may get unknown color background
895
788
    *  bars of appts with no time don't reserve space in week chart
896
====== 1.9 released 6.2.05 =======
789
    *  crash if null user is entered
897
790
    *  align ':' in times vertically in month day boxes (hi Andreas)
898
FEATURES:
791
    *  pulldown string resources now hardcoded, easier to maintain this way
899
    * saved space in various calendar views such as the year overview
792
    *  crashes when accessing other users fixed (fix by Rob Gabbard)
900
    * the week view repeats the hour title every few day rows; it was too easy
793
    *  couldn't enter durations "12:xx" in 12-hour mode
901
      to get lost without scrolling all the time
794
    *  when switching 12/24 hour mode, time display now changes immediately
902
    * remove obsolete warning windows when the next warning or the main alarm
795
    *  fall back to "variable" or "fixed" font if some font can't be found
903
      is reached.
796
    *  long "small" holiday names in large month day boxes could overrun buffer
904
    * Linux: when a lockfile from a previous plan process is found, do not kill
797
    *  various minor fixes in the week menu, some bars were drawn incorrectly
905
      it if it's dead and some non-plan process now uses the old process ID.
798
906
    * if user "netplan" exists on the system, netplan runs as that user instead
799
NEW FEATURES:
907
      of nobody. Needed for Debian. Petter Reinholdtsen <pere@hungry.com>
800
    *  PostScript output, by Karl Bunch <karl@ttank.ttank.com>
908
    * added Belgian French holiday file, Nicolas E'vrard <nicoe@wanadoo.be>
801
    *  Japanese version, by Ogura Yoshito <ogura@ndc.ngsk.sony.co.jp>
909
    * command-line option -V: experimental and incomplete vCalendar export.
802
    *  support for SGI desktop look&feel
910
      File can be read by calendar programs such as Mozilla Calendar.
803
    *  new RGB icon picture for SGIs running the 4Dwm window manager
911
    * plan is now distributed under the GPL license, at your choice.
804
    *  holiday file accepts #include statements if /lib/cpp is available
912
    * netplan has a new option -s that sends all messages to syslog.
805
    *  optional user name in week view before note (new week config popup)
806
    *  rearranged header above month view
807
    *  reads LIB/holiday after reading ~/.holiday
808
    *  new recycle option: every year (for birthdays etc)
809
    *  -t option that prints appointments on a day to stdout
810
    *  Delete-past-entry command now has five maximum-age choices
811
    *  EditRes, by Klaus Guntermann <gunterma@iti.informatik.th-darmstadt.de>
812
    *  better parse_timestring: 100 -> 1:00
813
    *  click day in week view -> edit day
814
    *  swedish holiday file, by Kristian Wedberg <wedberg@mednet.gu.se>
815
    *  switch to today / to a specific date using a text entry popup
816
    *  today now highlighted green in week view
817
    *  in fast warning entry mode, entering '=' uses default warning times
818
    *  first partial week in Jan is counted as 1. See FULLWEEKS in mondraw.c.
819
    *  NODAEMON_ONCE in popup.c is defined to suppress multiple error popups
820
821
NEW PLATFORMS:
822
    *  SunOS 4.1.3 with K&R cc, replaces stdarg with varargs if -DVARARGS,
823
       by Michael P. Shevenell <mshev@express.ctron.com>
824
    *  Sony NEWS with/without gcc, by Ogura Yoshito <ogura@ndc.ngsk.sony.co.jp>
825
    *  Sequent running Dynix/ptx v2.[12], by Mike Gilpin <mgilpin@sequent.com>
826
827
NOTE: the comment character in ~/.holiday files was changed from '#' to ':'
828
      to allow cpp to parse the file. Not changing these characters will cause
829
      cpp "undefined control" errors.
830
831
832
====== 1.2 PL 4 release 12/12/93 =======
913
833
914
BUG FIXES:
834
BUG FIXES:
915
    * fixed Italian language file, Carlo Mandelli
916
      <carlo.mandelli@consulenti.fastweb.it>
917
    * fixed misspelling in the Italian language file, littledark
918
      <littledark@swissinfo.org>
919
    * "Delete past entries" did not remove repeating entries whose end date is
920
      in the past, Aaron Kaplan <kaplan@cs.rochester.edu>
921
    * fixed choice 1 of configure script on Solaris, Aaron Kaplan
922
      <kaplan@cs.rochester.edu>
923
    * after running a long time (months), alarms stopped triggering. Fixed by
924
      Aaron Kaplan <kaplan@cs.rochester.edu>
925
    * fixed Spanish holiday file, Fernando Tricas "Garci'a"
926
      <ftricas@amon.cps.unizar.es>
927
    * fixed loads of inane gcc warning messages
928
835
836
    *  preventing user from entering user directory before user name (crash)
837
    *  added -DRABBITS on HPs because utmp appears to be unreliable
838
    *  removed #ifdef NCR around FIXMBAR in calmenu.c, fixes empty pulldowns
839
    *  replace fchmod with chmod (SCO has no fchmod)
840
    *  Ultrix 4.3A has fcntl.h in sys
841
    *  OSF/1 and Ultrix require -DRABBITS
842
    *  later instances of repeating week bars got overdrawn by other bars
843
    *  Makefile OSF_C: added -DOSF
844
    *  put notifier -d into help text
845
    *  when searching for programs (find_file), ignore directories
846
    *  replace palatino with a standard font
847
    *  fast warning on; bring up appt menu; fast warning off -> core
848
    *  read_file ignores timezone setting
849
    *  repeat-every-n-days could slow down redrawing significantly
850
    *  if a user is added to the week view, pland sometimes died
851
852
NEW FEATURES:
929
853
930
====== 1.10 released 9.4.07 =======
854
    *  raise week and year window when user requests one
855
    *  -hhmm notation for appt length (until hhmm)
856
    *  +n notation for parsing dates
857
    *  if note begins with '-' or '=', remove from month/year/week or m/y view
858
    *  help-on-context buttons in the help window
859
    *  quit button for year view
860
    *  resource to put black frame into today's day box (for 1-bit graphics)
861
862
NEW PLATFORMS:
863
864
    *  Linux, by Dirk Melchers <dirk@merlin.nbg.sub.org>
865
    *  SunSoft Interactive (ISC) 4.0, by akf@august.com (Andrew Fullford)
931
866
932
FEATURES:
867
933
    * implemented limited read-only support for vCalendar/iCalendar (.ics)
868
====== 1.2 PL 3 release 11/21/93 =======
934
      files (Apple, Zimbra, Lotus, etc), which can be specified in File ->
935
      File list like other files. Repetition information is ignored.
936
    * added "make linux64" target. Some 64-bit Linux installations, notably
937
      OpenSUSE 10.2, omit 32-bit libraries or links, causing compilation errors
938
      for -lXt and others.
939
    * ported to MacOS X with X11 and OpenMotif. Requires X11 from the MacOS X
940
      install DVD, and OpenMotif from www.ist-inc.com/DOWNLOADS/motif_files/
941
      openmotif-compat-2.1.31_IST.macosx10.3.dmg . The X server must run, and
942
      DISPLAY must be set properly (like, localhost:0) or plan won't start up.
943
      This is not a proper Aqua/Cocoa/Carbon port, although I made some feeble
944
      attempts to fix the color scheme.
945
    * new Polish language file by Jaroslaw Arlet <j.arlet@awf-gorzow.edu.pl>
946
    * new command-line option -Y allows entering annual (yearly) appointments,
947
      by Steffen Pietsch <Steffen.Pietsch@berlinonline.de>
948
    * when alarms trigger, '%' codes in the short note text, message, and the
949
      script are expanded. (See the help text in plan's Message/Script help.)
950
      Eg., you can write message texts like "remember to see %U on %D at %T".
951
	  %N    the short note text
952
	  %M    the message text
953
	  %S    the script text
954
	  %D    the final trigger date
955
	  %T    the final trigger time
956
	  %L    the length in hours:minutes
957
	  %F    the file the appointment is stored in, or "private"
958
	  %U    your login name
959
	  %%	a percent sign, '%'
960
869
961
BUG FIXES:
870
BUG FIXES:
962
    * fixed a timezone bug that could make alarms go off exactly 24 hours late,
963
      Aaron Kaplan <kaplan@cs.rochester.edu>
964
    * manpage files were installed without the trailing ".1" and ".4"
965
    * fixed compiler errors under Cygwin because the symbol linux was not set.
966
    * added -m32 option for Linux; gcc 4 defaults to 64 bits but the required
967
      libraries are not usually installed.
968
    * entering a day of the month as a date will now correctly find the next
969
      date with that day. A bug caused it to switch to a random date in 2000.
970
    * fixed a language file read error that omitted a trailing null byte.
971
      By Julien Soula <jsoula@univ-lille2.fr>
972
    * an incomplete X resource file crashed plan. Now defaults are used; the
973
      resulting windows are not very usable but it doesn't crash.
974
871
872
    *  fixed repeat-until in recycling menu
975
873
976
====== 1.10.1 released 3.7.07 =======
874
875
====== 1.2 PL 2 release 11/10/93 =======
977
876
978
BUG FIXES:
877
BUG FIXES:
979
    * fixed "last weekday in month" expressions in holiday file, by Arnaud
878
980
      Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
879
    *  non-interactive mode no longer removes lockfile
981
    * fixed mother's day definition in French holiday file, by Arnaud Giersch
880
    *  minor cleanups in the help text
982
      <arnaud.giersch@iut-bm.univ-fcomte.fr>
881
882
883
====== 1.2 PL 1 release 10/16/93 =======
884
885
NEW PLATFORMS:
886
887
    *  BSDI386 and BSDI386 with gcc, by Tetsuji Rai <tetsuji@rai.juice.or.jp>
888
889
NEW FEATURES:
890
891
    *  time adjustment and timezone config menu
892
    *  use search paths for executables and help file
893
894
895
====== 1.2 PL 0 release 10/11/93 =======
896
897
NEW FEATURES:
898
899
    *  week views that graphs hours vs. weekdays
900
    *  reads other people's appointments and displays them in the week view
901
    *  show every instance of a repeating entry
902
    *  new syntax: "nth weekday before/after date" (Advent/Buss&Bettag)
903
    *  recycler: every/Nth/last <weekday> of the month
904
    *  distinguish private and public appointments
905
906
OTHER CHANGES:
907
908
    *  option to switch off time in icon
909
    *  parse TZ directly, don't use standard library for timezone calc
910
    *  if there is a /tmp/.planUID, check if it's valid
911
    *  added error popup for "another plan is running"
912
    *  display holiday at the top of the day menu
913
    *  scroll bars in help windows
914
    *  improved help messages
915
    *  year up/down now changes year menu too
916
    *  separate path for manpages
917
    *  documented important resources
918
919
920
====== 1.1.2 release 6/28/93 =======
921
922
NEW PLATFORMS:
923
924
    *  Another SNI Sinix 5.4x Makefile patch by Gerald Rinske
925
       <Gerald.Rinske@ap.mchp.sni.de>
926
    *  NCR, by Keith Shafer <kshafer@cheers.sandiego.NCR.COM>
927
    *  SCO Open Desktop/Open Server 3.0, Makefile patches by Nathan Peterson
928
       <nathan@sco.com>
929
    *  Solaris 2.2, by Jean-Claude Giese <Jean-Claude.Giese@loria.fr>
930
    *  USL's SVR4.2 V1 with mdev package, by Peter Lord <plord@uel.co.uk>
931
932
BUGFIXES:
933
934
    *  daemon now exits automatically when user logs out
935
    *  new French and Dutch holiday files
936
    *  fixed Makefile bug for Ultrix and sung (-DGMTOFF)
937
    *  fixed help button in holiday menu, it used to cancel the menu
938
939
940
====== 1.1.1 release 6/20/93 =======
941
942
NEW PLATFORMS:
943
944
    *  MIPS Magnum, by Milton Scritsmier <milton@gastric.arraytech.com>
945
    *  SNI SINIX 5.4, by Martin Kraemer <martin@deejai>
946
    *  Data General DG/UX, Makefile patches by Andy Dennie
947
       <adennie@mercury.hyperdesk.com>
948
949
BUGFIXES:
950
951
    *  fixed major bug that lost paths beginning with ~, like ~/.dayplan
952
    *  holiday parser: <Nth> <weekday> syntax didn't work correctly
953
    *  daemon didn't recycle appointments if plan wasn't running
954
    *  corrected and added German holidays
955
    *  new dutch holiday file, by Guido van Rossum <Guido.van.Rossum@cwi.nl>
956
    *  -iconic option doesn't cause popups to come up iconic any more
957
    *  dates in ~/.dayplan now stored with years in 4-digit format
958
    *  replaced caddr_t with XtPointer, some HPs wouldn't compile otherwise
959
    *  fixed undefined __DATE__ problem on Ultrix
960
    *  fixed bug in appointment list re-allocation
961
    *  new color resources to make the month view look like the year view
962
    *  repeat-until date fixed
963
964
965
====== 1.1 release 6/13/93 =======
966
967
NEW PLATFORMS:
968
969
    *  OSF1/AXP, by Dave Hill <ddhill@zk3.dec.com>
970
    *  IBM/AIX, by Johan Eksteen <johan@boer.ee.up.ac.za>
971
               and Vance R. Bass <vrbass@vnet.IBM.COM>
972
               and David W. Sanderson <dws@ssec.wisc.edu>
973
    *  HP/UX 9.01, by Sylvain Picard <lmcsypi@LMC.ericsson.se>
974
    *  NCR, by Keith Shafer <kshafer@cheers.sandiego.NCR.COM>
975
    *  SUN, by Dave Brennan <brennan@hal.com>
976
    *  ULTRIX 4.3, by Jeroen C. Kessels <jeroenk@cnplss7.cnps.philips.nl>
977
978
    [Note that some of the patches I received for these systems were
979
     mutually exclusive. I had to manually merge them into the baseline
980
     sources. I can't test them; if they don't work, complain to me and
981
     not to the authors listed above. thomas@bitrot.in-berlin.de]
982
983
NEW FEATURES:
984
985
    *  fancy holiday parser
986
    *  optional fast advance-warning column in list menus
987
    *  new -K option of pland to kill daemon (for ~/.logout)
988
    *  new option: don't show expired entries in today's day box
989
    *  appointments without time field added (for birthdays etc)
990
    *  snoozing alarms for 5 minutes
991
992
MAJOR BUGFIXES:
993
994
    *  pland no longer crashes if database becomes empty
995
    *  plan no longer crashes when there are more than 100 entries
996
    *  months outside the current DST zone were sometimes one day off;
997
       rewrote time conversion routines to not use localtime and mktime
998
    *  recycle ending date didn't work
999
    *  readfile now avoids feof(), it seems to be broken on some systems
1000
    *  if colors cannot be allocated, use black&white rather than exiting
1001
1002
OTHER CHANGES:
1003
1004
    *  added time display in month calendar menu
1005
    *  if appts don't fit in day box, print three dots
1006
    *  in year view, click month to see that month
1007
    *  -s option does not start daemon, and now does not print warnings
1008
    *  notifier now beeps
1009
    *  Done button is now always the rightmost button, Quit renamed to Done
1010
    *  use tzset() to ensure that DST is interpreted correctly
1011
    *  multiple expose events mostly eliminated
1012
    *  notifier now deals correctly with empty messages, no more warnings
1013
    *  new Makefile option to remove all pulldown menu separator lines
1014
    *  help messages and other typos fixed
1015
    *  bottom day box note was incorrectly clipped
1016
    *  fflushed stdout after printing resources
1017
    *  fixed list locking problem in sublist.c
1018
    *  fixed keyword search for single-character search strings
1019
    *  it's no longer necessary to press Return in keyword search
1020
    *  X resources are now correctly propagated to submenus
1021
    *  sometimes day boxes stayed shaded yellow after the day menu exits
1022
1023
1024
====== 1.0 release 5/16/93 =======
(-)a/holiday/holiday_bavarian (-2 / +2 lines)
Lines 18-24 Link Here
18
: Spargel...
18
: Spargel...
19
:  wird bis höchstens JOHANNI gestochen.
19
:  wird bis höchstens JOHANNI gestochen.
20
: Regen...
20
: Regen...
21
:  Wenns ans SIEBENSCHLÄFER regnet, so regnet's sieben Wochen.
21
:  Wenns ans SIEBENSCHLÄFER regnet, so regnets sieben Wochen.
22
:
22
:
23
23
24
:
24
:
Lines 46-52 small "Weihnachten" weekend on 25.12. length 2 days Link Here
46
small        "Sylvester"                   on 31.12.
46
small        "Sylvester"                   on 31.12.
47
47
48
: 
48
: 
49
: 3) Devil's Grandmothers Days
49
: 3) Devils Grandmothers Days
50
: 
50
: 
51
      blue   "Sommerzeit"                  on last sunday in march
51
      blue   "Sommerzeit"                  on last sunday in march
52
      blue   "Winterzeit"                  on last sunday in october
52
      blue   "Winterzeit"                  on last sunday in october
(-)a/language/plan.lang.spanish (-65 / +65 lines)
Lines 1-5 Link Here
1
\n(Tentativa de acceso al fichero "%s".)
1
\n(Tentativa de acceso al fichero "%s".)
2
\nPlanificadir versión %s\nCompilado %s\n\nAutor: Thomas Driemeyer\n<thomas@bitrot.de, thomas@bitrot.in-berlin.de>\n\nSuscripciones en majordomo@bitrot.de. \n  O visita la Web:\n\nhttp://www.bitrot.de\nhttp://www.in-berlin.de/User/bitrot\n\nLos fuentes estan disponibles en: \nftp://bitrot.in-berlin.de/pub/plan\nftp://plan.ftp.fu-berlin.de\n
2
\nPlanificador versión %s\nCompilado %s\n\nAutor: Thomas Driemeyer\n<thomas@bitrot.de, thomas@bitrot.in-berlin.de>\n\nSuscripciones en majordomo@bitrot.de. \n  O visita la Web:\n\nhttp://www.bitrot.de\nhttp://www.in-berlin.de/User/bitrot\n\nLos fuentes estan disponibles en: \nftp://bitrot.in-berlin.de/pub/plan\nftp://plan.ftp.fu-berlin.de\n
3
 (propietario)
3
 (propietario)
4
 (solo lectura)
4
 (solo lectura)
5
 (alerta)
5
 (alerta)
Lines 7-25 Link Here
7
%d de las %d citas de la base grok\n%s han sido ignoradas\npor una fecha/hora no valida.
7
%d de las %d citas de la base grok\n%s han sido ignoradas\npor una fecha/hora no valida.
8
%s es una\nbase de datos grok, no soportada
8
%s es una\nbase de datos grok, no soportada
9
%s es una\nbase de datos xmbase-grok, no es posible escribir en el fichero
9
%s es una\nbase de datos xmbase-grok, no es posible escribir en el fichero
10
%s: %s en la lineas %d en %s\n
10
%s: %s en la líneas %d en %s\n
11
%s: %s: linea no valida:\n%s
11
%s: %s: línea no válida:\n%s
12
%s: %s: no encontrado\n
12
%s: %s: no encontrado\n
13
%s: CUIDADO : Imposible de encontrar %s\n
13
%s: CUIDADO : Imposible de encontrar %s\n
14
%s: CUIDADO : No se puede leer el nombre del usuario.\n%s
14
%s: CUIDADO : No se puede leer el nombre del usuario.\n%s
15
%s: WARNING: can't signal daemon: 
15
%s: CUIDADO : No se puede avisar al demonio: 
16
%s: CUIDADO : Imposible iniciar %s: 
16
%s: CUIDADO : Imposible iniciar %s: 
17
%s: CUIDADO : El fichero %s es la versión 
17
%s: CUIDADO : El fichero %s es la versión 
18
%s: CUIDADO : fork imposible\n
18
%s: CUIDADO : fork imposible\n
19
%s: impossible registrar el color %s\n
19
%s: imposible registrar el color %s\n
20
%s: impossible crear %s: 
20
%s: imposible crear %s: 
21
%s: impossible la evaluación ~%s en %s, utilización de .\n
21
%s: imposible la evaluación ~%s en %s, utilización de .\n
22
%s: impossible escribir en %s: 
22
%s: imposible escribir en %s: 
23
%s: creación del fichero llave imposible
23
%s: creación del fichero llave imposible
24
%s: apertura del fichero llave imposible
24
%s: apertura del fichero llave imposible
25
%s: lectura del fichero llave imposible
25
%s: lectura del fichero llave imposible
Lines 29-38 Link Here
29
%s: fracaso en la terminacion del proceso %d propietario del fichero llave %s\n
29
%s: fracaso en la terminacion del proceso %d propietario del fichero llave %s\n
30
%s: Imposible bloquear la base depués de 3 minutos, no obstante se permite el acceso\n
30
%s: Imposible bloquear la base depués de 3 minutos, no obstante se permite el acceso\n
31
%s: generación del script "%s"\n
31
%s: generación del script "%s"\n
32
%s: script sín seguridad ignorado
32
%s: script sin seguridad ignorado
33
%s: Terminando con la señal %d\n
33
%s: Terminando con la señal %d\n
34
%s: Desconexión, me callo...
34
%s: Desconexión, me callo...
35
%s: Ningun mailer definido\n
35
%s: Ningun correo definido\n
36
%s: Falta memoria ¿ Como es eso ?
36
%s: Falta memoria ¿ Como es eso ?
37
%s: demonio plan calendar, versión %s.\n
37
%s: demonio plan calendar, versión %s.\n
38
%s: relectura de la base de datos\n
38
%s: relectura de la base de datos\n
Lines 48-54 Link Here
48
-K\tsolo mata el demonio existente\n
48
-K\tsolo mata el demonio existente\n
49
-L es por defecto. Intenta -l si has iniciado demasiados pland.\n
49
-L es por defecto. Intenta -l si has iniciado demasiados pland.\n
50
-L\tno verifica utmp (utmp tiene errores a menudo)\n
50
-L\tno verifica utmp (utmp tiene errores a menudo)\n
51
-d\tdebug: en primer plano, mostrara todas las acciones\n
51
-d\tdebug: en primer plano, mostrará todas las acciones\n
52
-k\tmata el demonio existente y continua\n
52
-k\tmata el demonio existente y continua\n
53
-l es por defecto. Intenta -d o -L si pland ya existia antes.\n
53
-l es por defecto. Intenta -d o -L si pland ya existia antes.\n
54
-l\tvigila utmp y sale cuando el usuario se deconecta\n
54
-l\tvigila utmp y sale cuando el usuario se deconecta\n
Lines 57-64 Link Here
57
Formato de tiempo 12h am/pm
57
Formato de tiempo 12h am/pm
58
<desconocido>
58
<desconocido>
59
ALARMA a %d:%02d%c
59
ALARMA a %d:%02d%c
60
A proposito
60
A propósito
61
A proposito...
61
A propósito...
62
Añadir
62
Añadir
63
Ajustar la hora
63
Ajustar la hora
64
Ajustar la hora...
64
Ajustar la hora...
Lines 74-87 Color del texto de la cita: Link Here
74
Abril
74
Abril
75
Agosto
75
Agosto
76
Auto borrado de las entradas pasadas
76
Auto borrado de las entradas pasadas
77
Ventanas redimensionadas automaticamente
77
Ventanas redimensionadas automáticamente
78
DST automatico en el calendario Juliano
78
DST automático en el calendario Juliano
79
Ficheros disponibles :
79
Ficheros disponibles:
80
Ficheros disponibles, seleccionar y añadir:
80
Ficheros disponibles, seleccionar y añadir:
81
Iniciar la vista en
81
Iniciar la vista en
82
Recorrer
82
Recorrer
83
Recorrer el servidor
83
Recorrer el servidor
84
Parametrado de la vista del calendario
84
Ajustar la vista del calendario
85
Vistas del calendario...
85
Vistas del calendario...
86
Imposible encontrar un fichero/esqueleto Postcript\n "%s"
86
Imposible encontrar un fichero/esqueleto Postcript\n "%s"
87
Anular
87
Anular
Lines 89-129 Imposible cambiar el grupo del propietario Link Here
89
Imposible cambiar el camino del propietario
89
Imposible cambiar el camino del propietario
90
Conexión imposible al \nserveur netplan %s
90
Conexión imposible al \nserveur netplan %s
91
Imposible suprimir el fichero del propietario
91
Imposible suprimir el fichero del propietario
92
Imposible modificar los apuntes de %s porque\nfueron leidos de una base de datos grok. Salvar no esta\nimplementado para bases de datos grok. El fichero es\n%s
92
Imposible modificar los apuntes de %s porque\nfueron leídos de una base de datos grok. Salvar no esta\nimplementado para bases de datos grok. El fichero es\n%s
93
No puedo modificar apuntes de %s,\nno tengo permiso de escritura para %s\ o bien %s/.dayplan.\n\nRe-verifica los permisos con Fichero->Releer datos.\nNo puede deshabilitar apuntes individuales, pero puede\ndeshabilitar todos con Configuración->Usuario popup lista.
93
No puedo modificar apuntes de %s,\nno tengo permiso de escritura para %s\ o bien %s/.dayplan.\n\nRe-verifica los permisos con Fichero->Releer datos.\nNo puede deshabilitar apuntes individuales, pero puede\ndeshabilitar todos con Configuración->Usuario popup lista.
94
No puedo modificar apuntes de %s,\nservidor en %s deniega permiso de escritura.\nRe-verifica los permisos con Fichero->Releer datos.\nNo puede deshabilitar apuntes individuales, pero tu\npuedes deshabilitarlos todos con Configuración->Usuario popup lista.
94
No puedo modificar apuntes de %s,\nservidor en %s deniega permiso de escritura.\nRe-verifica los permisos con Fichero->Releer datos.\nNo puede deshabilitar apuntes individuales, pero tu\npuedes deshabilitarlos todos con Configuración->Usuario popup lista.
95
Imposible desplazarse a ese lugar, abandono.
95
Imposible desplazarse a ese lugar, abandono.
96
Imposible redirigir la apertura hacia ")%s"
96
Imposible redirigir la apertura hacia ")%s"
97
Imposible recortar una entrada que comporta una repetición no diaria
97
Imposible recortar una entrada que comporta una repetición no diaria
98
Borrar
98
Limpiar
99
Impresión color
99
Impresión color
100
Fondo coloreado para los otros ficheros
100
Fondo coloreado para los otros ficheros
101
Parametros
101
Parámetros
102
Confirmar
102
Confirmar
103
Contexto
103
Contexto
104
Continuar
104
Continuar
105
Continuar sín demonio
105
Continuar sin demonio
106
Acceso a base de datos
106
Acceso a base de datos
107
Fecha
107
Fecha
108
Fecha a mostrar :
108
Fecha a mostrar:
109
Día
109
Día
110
Vista del día
110
Vista del día
111
Ajustes DST son
111
Ajustes DST son
112
Diciembre
112
Diciembre
113
Defecto
113
Defecto
114
Alertas por defecto :
114
Alertas por defecto:
115
Definir festivos...
115
Definir feriados...
116
Borrar
116
Borrar
117
Borrar los apuntes pasados
117
Borrar los apuntes pasados
118
Ignorar
118
Salir
119
Mostrar :
119
Mostrar:
120
No mostrar citas en la vista diaria
120
No mostrar citas en la vista diaria
121
No mostrar citas en la vista del mes
121
No mostrar citas en la vista del mes
122
No mostrar citas en la vista de la semana
122
No mostrar citas en la vista de la semana
123
No mostrar citas en la vista del año
123
No mostrar citas en la vista del año
124
No mostrar citas en la vista del año
124
No mostrar citas en la vista del año
125
No mostrar citas pasadas en la vista del día
125
No mostrar citas pasadas en la vista del día
126
Terminado
126
Aceptar
127
Duplicar
127
Duplicar
128
ERROR :\n\n
128
ERROR :\n\n
129
Pre-alarma:
129
Pre-alarma:
Lines 156-163 La primera semana debe ser completa Link Here
156
La primera semana debe contener un jueves
156
La primera semana debe contener un jueves
157
Vie
157
Vie
158
Obtener ayuda
158
Obtener ayuda
159
Opciones globales :
159
Opciones globales:
160
Ir a la fecha
160
Ir a la fecha:
161
Ir a hoy
161
Ir a hoy
162
Ir a...
162
Ir a...
163
Ventana verde
163
Ventana verde
Lines 165-171 Grupo Link Here
165
Selección del grupo
165
Selección del grupo
166
Estimar
166
Estimar
167
Ayuda
167
Ayuda
168
Festivos
168
Feriados
169
Introducción
169
Introducción
170
Enero
170
Enero
171
Julio
171
Julio
Lines 175-228 Terminar Link Here
175
Idioma
175
Idioma
176
Idiomas
176
Idiomas
177
Mes extendido
177
Mes extendido
178
Raya larga para los apuntes de semana sín hora
178
Raya larga para los apuntes de semana sin hora
179
Ultimo
179
Ultimo
180
Ultimo día : no repetir el
180
Ultimo día: no repetir el
181
Post-Alarma:
181
Post-Alarma:
182
Irrompible
182
Irrompible
183
Rompible
183
Rompible
184
Camino local
184
Camino local
185
Conexión perdida con el servidor netplan %s.\n\nVuelve a iniciar la SVO, y elije\n`Fichero->Releer ficheros' para reconectarte.\nPuedes haber perdido tus más recientes modificaciones.
185
Conexión perdida con el servidor Netplan %s.\n\nVuelve a iniciar la SVO, y elije\n`Fichero->Releer ficheros' para reconectarte.\nPuedes haber perdido tus más recientes modificaciones.
186
Correo:
186
Correo:
187
Marzo
187
Marzo
188
Mayo
188
Mayo
189
Mensaje
189
Mensaje
190
Lun
190
Lun
191
Mes
191
Mes
192
Opciones de vistas por mes :
192
Opciones de vistas por mes:
193
Formato de fecha mes/dia/año
193
Formato de fecha mes/día/año
194
Nombre
194
Nombre
195
El nombre no es único, rechazado
195
El nombre no es único, rechazado
196
Redes
196
Redes
197
Siguiente
197
Siguiente
198
Próxima semana
198
Próxima semana
199
Sín alarma el
199
Sin alarma el
200
Ninguno
200
Ninguno
201
Nota
201
Nota
202
Noviembre
202
Noviembre
203
Octubre
203
Octubre
204
Omitir todas las citas
204
Omitir todas las citas
205
Omitir las citas de los demás
205
Omitir las citas de los demás
206
Omitir las ditas privadas
206
Omitir las citas privadas
207
Ayuda contextual
207
Ayuda contextual
208
Un fichero...
208
Un fichero...
209
Solo el propietario puede escribir ficheros de citas
209
Sólo el propietario puede escribir ficheros de citas
210
Opciones :
210
Opciones:
211
Otro
211
Otro
212
Propietario
212
Propietario
213
Solo propietario
213
Solo propietario
214
Solo propietario
214
Solo propietario
215
El camino no es único, rechazado
215
El camino no es único, rechazado
216
Fijar
216
Fijar
217
Ingresar la fecho u hora primero
217
Ingresar la fecha u hora primero
218
Por Favor, termina de definir la lista de fichero\ny la red, antes de realizar apuntes.
218
Por Favor, termina de definir la lista de fichero\ny la red, antes de realizar apuntes.
219
Prcd.
219
Anterior
220
Imprimir
220
Imprimir
221
fallo en la impresión, abandono com error %d\nVerifica el comando de impresión.
221
fallo en la impresión, abandono com error %d\nVerifica el comando de impresión.
222
Modo de impresión :
222
Modo de impresión:
223
Imprimir...
223
Imprimir...
224
Privado
224
Privado
225
Problemas con el fichero festivos %s:\n%.80s linea %d
225
Problemas con el fichero feriados %s:\n%.80s linea %d
226
Salir
226
Salir
227
Ventana roja
227
Ventana roja
228
Expresión regular
228
Expresión regular
Lines 232-239 Repetir cada a Link Here
232
Repetir el
232
Repetir el
233
Repetir el
233
Repetir el
234
Releer los ficheros
234
Releer los ficheros
235
Ejecutar los scripts netplan (¡ La seguridad puede estar comprometida !)
235
Ejecutar los scripts Netplan (¡La seguridad puede estar comprometida!)
236
Sab
236
Sáb
237
Planificador
237
Planificador
238
Planificador de reciclado
238
Planificador de reciclado
239
Buscar
239
Buscar
Lines 253-291 Shell Script Link Here
253
Mostrar las fechas Julianas
253
Mostrar las fechas Julianas
254
Mostrar las horas de las alarmas adelantadas
254
Mostrar las horas de las alarmas adelantadas
255
Nombres de ficheros de fichero en la barra de los labeles
255
Nombres de ficheros de fichero en la barra de los labeles
256
Mostrar las dictas de un solo día
256
Mostrar las citas de un solo día
257
Mostrar los números de la semana
257
Mostrar los números de la semana
258
Mes reducido
258
Mes reducido
259
Otro usuario esta editandoi este apunto. Reintentalo más tarde.
259
Otro usuario esta editando este apunte. Reintentar más tarde.
260
Lo siento, no existe ayuda
260
Lo siento, no existe ayuda
261
Lo siento, no existe ayuda,\n%s no ha sido encontrado
261
Lo siento, no existe ayuda,\n%s no ha sido encontrado
262
Elegir
262
Elegir
263
Desligar
263
Desconec.
264
Orden impresión :
264
Orden impresión:
265
Iniciar el demonio
265
Iniciar el demonio
266
Error de conversion de cadena de caracteres.\n
266
Error de conversion de cadena de caracteres.\n
267
Dom
267
Dom
268
Sincro
268
Sincro.
269
El primer fichero de la lista\n(%s)\nno debe sr una base de datos grok!\nDe intentar continuar podrias perder datos.
269
El primer fichero de la lista\n(%s)\nno debe ser una base de datos grok!\nDe intentar continuar podrias perder datos.
270
El servidor netplan reporta un error\ncuando este registro es guardado. Mira\nlos permisos de acceso.\n
270
El servidor netplan reporta un error\ncuando se guarda este registro. Mira\nlos permisos de acceso.\n
271
La nueva fecha es posterior a la fecha de disparo,\n %s. La última fecha disparo ha sido deshabilitada.
271
La nueva fecha es posterior a la fecha inicial,\n %s. La última fecha inicial ha sido deshabilitada.
272
El nuevo idioma sera actrivo\ndespués de reiniciar plan.
272
El nuevo idioma se activara\ndespués de reiniciar Plan.
273
La nueva fecha disparo es anterior a la\nfecha disparo, %s. Ignorado.
273
La nueva fecha inicial es anterior a la\nfecha inicial, %s. Ignorado.
274
El otro programa no ha acabado.\n
274
El otro programa no ha terminado.\n
275
Mes actual
275
Mes actual
276
Semana actual
276
Semana actual
277
Jue
277
Jue
278
Hora
278
Hora
279
El huso horario es GMT
279
El huso horario es GMT
280
Hoy
280
Hoy
281
Manaña
281
Mañana
282
Demasiados errores, abandono.\n
282
Demasiados errores, abandono.\n
283
Problemas
283
Problemas
284
Prueba utilizar la opción -L.\n
284
Prueba utilizar la opción -L.\n
285
Mar
285
Mar
286
Deshacer
286
Deshacer
287
Uso: pland [-dkKlL]\n
287
Uso: pland [-dkKlL]\n
288
Utzar los números de semana GPS
288
Usar los números de semana GPS
289
Mostrar las vistas en la ventana principal
289
Mostrar las vistas en la ventana principal
290
Utilizar el botón derecho para configurar el color
290
Utilizar el botón derecho para configurar el color
291
Fichero usuario %s en máquina %s: imposible conectar\n
291
Fichero usuario %s en máquina %s: imposible conectar\n
Lines 301-307 Cuidado: alarma a %d:%02d%c Link Here
301
CUIDADO: chmod 0600 imposible con la cita\nen la base %s
301
CUIDADO: chmod 0600 imposible con la cita\nen la base %s
302
CUIDADO: Ficheros de configuración y datos %s no son accesibles en escritura\n
302
CUIDADO: Ficheros de configuración y datos %s no son accesibles en escritura\n
303
CUIDADO: tu propio fichero de datos %s no es accesible en escritura\n
303
CUIDADO: tu propio fichero de datos %s no es accesible en escritura\n
304
Mie
304
Mié
305
Semana
305
Semana
306
Semana (Composición)
306
Semana (Composición)
307
Semana (Retrato)
307
Semana (Retrato)
Lines 315-322 A Link Here
315
Resumen del año
315
Resumen del año
316
Vista del año
316
Vista del año
317
Ventana amarilla
317
Ventana amarilla
318
Aqui tienes %d citas, y\n%d en el servidor %s. Salvado %s\nen %s desechado viejas\citas de %s.
318
Aquí tienes %d citas, y\n%d en el servidor %s. Salvado %s\nen %s desechado viejas\citas de %s.
319
Tu fichero de citas es de solo lectura seule !
319
Tu fichero de citas es de solo lectura!
320
YrOv
320
YrOv
321
Acercar
321
Acercar
322
aún inactivos
322
aún inactivos
Lines 331-338 acceso imposible Link Here
331
imposible conectar el servidor de identificación de %s\n
331
imposible conectar el servidor de identificación de %s\n
332
imposible terminat con el demonio %s 
332
imposible terminat con el demonio %s 
333
imposible abrir un socket para la identificación
333
imposible abrir un socket para la identificación
334
dias
334
días
335
dias:
335
días:
336
defecto
336
defecto
337
fin:
337
fin:
338
cada...
338
cada...
Lines 344-350 cuarto... Link Here
344
Respuesta recibida "%s"\n
344
Respuesta recibida "%s"\n
345
incompleto
345
incompleto
346
Ultimo...
346
Ultimo...
347
Dura.:
347
Durac.:
348
duración %d:%02d, hasta %d:%02d%c
348
duración %d:%02d, hasta %d:%02d%c
349
min:
349
min:
350
faltante
350
faltante
Lines 365-371 Fechados de m Link Here
365
Fechados de más de una semana
365
Fechados de más de una semana
366
Fechados de más de un año
366
Fechados de más de un año
367
opt:
367
opt:
368
proprio
368
propio
369
plan: conectado al servidor %s: %s
369
plan: conectado al servidor %s: %s
370
do.
370
do.
371
segundo...
371
segundo...
(-)a/misc/netplan.1 (-10 / +15 lines)
Lines 11-19 netplan \- IP server for plan(1) appointment lists Link Here
11
.B netplan
11
.B netplan
12
is an IP server that serves calendar data to
12
is an IP server that serves calendar data to
13
.BR plan (1)
13
.BR plan (1)
14
programs. It maintains a directory, by default /usr/local/lib/netplan.dir
14
programs. It maintains the /var/lib/plan/netplan.dir directory, that
15
or /usr/freeware/lib/netplan.dir (SGI) or /usr/lib/plan/netplan.dir
15
contains calendar files and an access list file.
16
(Debian Linux), that contains calendar files and an access list file.
17
.B plan
16
.B plan
18
users can name files and hosts in their file list dialog, which causes
17
users can name files and hosts in their file list dialog, which causes
19
.B plan
18
.B plan
Lines 50-65 clienthost support identd). If a client host that does not support identd Link Here
50
connects to a
49
connects to a
51
.B netplan
50
.B netplan
52
server run with -a, it will have no or restricted access. Also, if you
51
server run with -a, it will have no or restricted access. Also, if you
53
use -a, you must have a .netplan-acl file or no access is granted to
52
use -a, you must have a netplan-acl file or no access is granted to
54
anybody; see below.
53
anybody; see below.
55
54
56
.SH FILES
55
.SH FILES
57
.LP
56
.LP
58
All files accessible to
57
All files accessible to
59
.B netplan
58
.B netplan
60
are stored in a directory netplan.dir which resides in the directory LIB
59
are stored in the /var/lib/plan/netplan.dir directory.
61
as set in the Makefile, /usr/local/lib or /usr/freeware/lib (SGI) or
62
/usr/lib/plan (Debian Linux) by default.
63
.B netplan
60
.B netplan
64
will not access any files that are not in this directory or in subdirectories
61
will not access any files that are not in this directory or in subdirectories
65
of this directory. It will also refuse to access softlinks and files with
62
of this directory. It will also refuse to access softlinks and files with
Lines 67-81 multiple hard links. This prevents users from linking normally inaccessible Link Here
67
files to netplan.dir and accessing them through
64
files to netplan.dir and accessing them through
68
.B netplan .
65
.B netplan .
69
Finally, files beginning with a dot are rejected to prevent access
66
Finally, files beginning with a dot are rejected to prevent access
70
to .netplan-acl and other future configuration files.
67
to netplan-acl and other future configuration files.
71
68
72
.LP
69
.LP
73
netplan.dir may also contain a file .netplan-acl that controls which user
70
/etc/plan/ may also contain a file netplan-acl that controls which user
74
can access which file. If the file is missing, no restrictions are imposed
71
can access which file. If the file is missing, no restrictions are imposed
75
unless
72
unless
76
.B netplan
73
.B netplan
77
is started with the -a option, in which case no access to any file is
74
is started with the -a option, in which case no access to any file is
78
granted. The syntax for .netplan-acl file is a sequence of rules like this:
75
granted. The syntax for netplan-acl file is a sequence of rules like this:
79
76
80
.nf
77
.nf
81
    name | owner | * : [permit | deny] [read] [write] [delete]
78
    name | owner | * : [permit | deny] [read] [write] [delete]
Lines 199-204 no challenge-response encryption is used to guarantee secure transactions. Link Here
199
This may or may not change in future versions. In this version, access
196
This may or may not change in future versions. In this version, access
200
lists provide only a moderate protection.
197
lists provide only a moderate protection.
201
198
199
.SS DEBIAN NOTE
200
.LP
201
The location for /etc/plan/netplan-acl is specific to Debian
202
GNU/Linux.  For compliance with FSSTND/FHS, it has been moved there
203
from its traditional /var/lib/plan/netplan.dir/.netplan-acl location.
204
The program still accesses that file via a symlink located at the
205
traditional location.
206
202
.SS SEE ALSO
207
.SS SEE ALSO
203
.BR plan (1).
208
.BR plan (1).
204
209
(-)a/misc/netplan.boot (-1 / +12 lines)
Lines 4-9 Link Here
4
# Michel Bourget Mon Feb 17 10:57:14 EST 1997
4
# Michel Bourget Mon Feb 17 10:57:14 EST 1997
5
# "$Revision: 1.0 $"
5
# "$Revision: 1.0 $"
6
6
7
# Debian wants this to support systemctl
8
test -f /lib/lsb/init-functions && . /lib/lsb/init-functions
9
7
IS_ON=/sbin/chkconfig
10
IS_ON=/sbin/chkconfig
8
11
9
if $IS_ON verbose ; then       # For a verbose startup and shutdown
12
if $IS_ON verbose ; then       # For a verbose startup and shutdown
Lines 60-66 case "$1" in Link Here
60
	$ECHO "Netplan: stopped."
63
	$ECHO "Netplan: stopped."
61
	;;
64
	;;
62
65
66
  'restart')
67
	$0 stop
68
	$0 start
69
	;;
70
71
  'force-reload')
72
	;;
73
63
  *)
74
  *)
64
	echo "usage: $0 {start|stop}"
75
	echo "usage: $0 {start|stop|restart}"
65
	;;
76
	;;
66
esac
77
esac
(-)a/misc/plan.1 (-47 / +36 lines)
Lines 12-23 notifier \- X/Motif text displayer for Link Here
12
[options]
12
[options]
13
.br
13
.br
14
.B plan
14
.B plan
15
[mmdd]hhmm [options] [\fImessage\fR]*
15
[[yyyy]mmdd]hhmm [options] [\fImessage\fR]*
16
.br
16
.br
17
.B pland
17
.B pland
18
[-d] -[kK] -[lL]
18
[-d] -[kK] -[lL]
19
.br
19
.br
20
.B notifier
20
.B /usr/lib/plan/notifier
21
[-hdv123] [-t\fItitle\fR] [-s\fIsubtitle\fR] [-i\fIicontitle\fR] [file]
21
[-hdv123] [-t\fItitle\fR] [-s\fIsubtitle\fR] [-i\fIicontitle\fR] [file]
22
22
23
.SH DESCRIPTION
23
.SH DESCRIPTION
Lines 65-76 Don't fork on startup. This is useful for debugging. Link Here
65
.IP \-k
65
.IP \-k
66
If there appears to be another
66
If there appears to be another
67
.B plan
67
.B plan
68
running, start up anyway. This is useful if a /tmp/.plan<uid> file got
68
running, start up anyway. This is useful if a ~/.plan.dir/lock.plan file got
69
accidentally left behind, and plan fails to check whether the older plan
69
accidentally left behind, and plan fails to check whether the older plan
70
still exists. This option is largely obsolete in version 1.2.
70
still exists. This option is largely obsolete in version 1.2.
71
71
72
.SS OPTIONS OF PLAN, APPEND MODE
72
.SS OPTIONS OF PLAN, APPEND MODE
73
.IP [mmdd]hhmm
73
.IP [[yyyy]mmdd]hhmm
74
Add an appointment at mm/dd hh:mm (month/day hours:minutes). If mmdd is not
74
Add an appointment at mm/dd hh:mm (month/day hours:minutes). If mmdd is not
75
specified, today's date is used. No menus will start up. No option may be
75
specified, today's date is used. No menus will start up. No option may be
76
specified. Instead of the mmddhhmm notation, a date and time may be specified,
76
specified. Instead of the mmddhhmm notation, a date and time may be specified,
Lines 97-103 example, "-D 2 -O 2 -O 4" means the 2nd and 4th Tuesdays of each month. Link Here
97
-O 6 means the last one.
97
-O 6 means the last one.
98
.IP \-e\ D
98
.IP \-e\ D
99
The new appointment stops repeating on date D. D is a string such as
99
The new appointment stops repeating on date D. D is a string such as
100
'31.12.' or '12/31'.
100
\'31.12.' or '12/31'.
101
.IP \-w\ N
101
.IP \-w\ N
102
Set the early warning time of the new appointment to N minutes.
102
Set the early warning time of the new appointment to N minutes.
103
.IP \-W\ N
103
.IP \-W\ N
Lines 190-196 in. If not, exit. This is the default on SGI, Sun, and other SYSV systems. Link Here
190
and running pland with the \-d options reports ``logout, exiting'' for no
190
and running pland with the \-d options reports ``logout, exiting'' for no
191
apparent reason. On many systems utmp is not reliable, and some programs
191
apparent reason. On many systems utmp is not reliable, and some programs
192
like xterm so not create utmp records unless configured properly. Use \-L
192
like xterm so not create utmp records unless configured properly. Use \-L
193
on such systems.
193
on such systems.  This has been made the default for Debian GNU/Linux,
194
as it is safer that \-l.
194
.IP \-k
195
.IP \-k
195
If another daemon exists, kill it and restart.
196
If another daemon exists, kill it and restart.
196
.IP \-K
197
.IP \-K
Lines 222-310 In addition to these options, plan and notifier support the usual X options Link Here
222
-iconic and -geometry.
223
-iconic and -geometry.
223
224
224
.SH FILES
225
.SH FILES
225
.LP
226
In Debian, all user files are located in the
226
Below, DIR and LIB refer to the installation directories specified at the
227
.I ~/.plan.dir/
227
beginning of the Makefile when the programs were compiled. By defauly,
228
directory, and slightly renamed.
228
they are /usr/local/bin and /usr/local/lib, or /usr/freeware/bin and
229
.IP ~/.plan.dir/dayplan
229
/usr/freeware/lib on SGI, or /usr/bin, /usr/sbin, and /usr/lib/plan on
230
Debian Linux, respectively. These are the directories where
231
.BR plan
232
and
233
.BR pland
234
first search for executables and plan.help (LIB first, then DIR). Next,
235
$PLAN_PATH and $PATH are searched, and finally, a built-in search path that
236
also contains "." as its last item.
237
.IP ~/.dayplan
238
Database with all public entries and configuration options of
230
Database with all public entries and configuration options of
239
.BR plan .
231
.BR plan .
240
See plan(4) for details.
232
See plan(4) for details.
241
.IP ~/.dayplan.priv
233
.IP ~/.plan.dir/dayplan.priv
242
Database with all private entries.
234
Database with all private entries.
243
.IP ~/.holiday
235
.IP ~/.plan.dir/holiday
244
Definition of holidays. See the help text for the "Define Holiday" popup
236
Definition of holidays. See the help text for the "Define Holiday" popup
245
menu that can be installed with the Holiday pulldown.
237
menu that can be installed with the Holiday pulldown.
246
.IP /tmp/.planUID
238
.IP ~/.plan.dir/lock.plan
247
Lockfile that contains the PID of
239
Lockfile that contains the PID of
248
.BR plan .
240
.BR plan .
249
Used to prevent multiple
241
Used to prevent multiple
250
.B plan
242
.B plan
251
instances, and to send HUP signals to if a non-interactive
243
instances, and to send HUP signals to if a non-interactive
252
.B plan
244
.B plan
253
invocation changed the database. UID is the user's numerical user ID.
245
invocation changed the database.
254
.IP /tmp/.plandUID
246
.IP ~/.plan.dir/lock.pland
255
Lockfile that contains the PID of the
247
Lockfile that contains the PID of the
256
.B pland
248
.B pland
257
daemon. Used to prevent multiple daemons, and to send HUP signals to if
249
daemon. Used to prevent multiple daemons, and to send HUP signals to if
258
the database changed for any reason. UID is the user's numerical user ID.
250
the database changed for any reason.
259
.IP DIR/plan
251
.IP /usr/bin/plan
260
.br
252
.br
261
The
253
The
262
.B plan
254
.B plan
263
program.
255
program.
264
.IP LIB/pland
256
.IP /usr/bin/pland
265
The
257
The
266
.B pland
258
.B pland
267
daemon. It must be in the DIR or LIB directory, or in one of the directories
259
daemon.
268
in one of the search paths.
260
.IP /usr/lib/plan/notifier
269
.IP LIB/notifier
270
The
261
The
271
.B notifier
262
.B notifier
272
program. It must be in the DIR or LIB directory, or in one of the directories
263
program.
273
in one of the search paths.
264
.IP /usr/share/plan/plan.help
274
.IP LIB/plan.help
275
The online help texts used by
265
The online help texts used by
276
.BR plan .
266
.BR plan .
277
It must be in the DIR or LIB directory, or in one of the directories
267
.IP /usr/lib/plan/plan.help.X
278
in one of the search paths.
279
.IP LIB/plan.help.X
280
This help file replaces plan.help if the language is set to X in the Config
268
This help file replaces plan.help if the language is set to X in the Config
281
Languages pulldown menu.
269
Languages pulldown menu.
282
.IP LIB/holiday
270
.IP /etc/plan/holiday
283
Definition of system standard holidays. They are read before ~/.holiday,
271
Definition of system standard holidays. They are read before ~/.holiday,
284
and can be overridden in ~/.holiday. They must be edited manually with a
272
and can be overridden in ~/.holiday. They must be edited manually with a
285
text editor.
273
text editor.  This files used to live in /usr/lib/plan/.
286
.IP LIB/plan_cal.ps
274
.IP /usr/lib/plan/plan_cal.ps
287
A PostScript skeleton file required for month and year calendar printouts.
275
A PostScript skeleton file required for month and year calendar printouts.
288
.IP LIB/plan.lang.english
276
.IP /usr/lib/plan/plan.lang.english
289
The standard message file. All messages used in
277
The standard message file. All messages used in
290
.B plan
278
.B plan
291
must be listed here in ASCII order. If this file is missing, only English
279
must be listed here in ASCII order. If this file is missing, only English
292
messages are supported.
280
messages are supported.
293
.IP LIB/plan.lang.X
281
.IP /usr/lib/plan/plan.lang.X
294
The message file for language X. At startup,
282
The message file for language X. At startup,
295
.B plan
283
.B plan
296
scans the LIB directory and puts every file X it finds into the Config
284
scans the /usr/lib/plan directory and puts every file X it finds into the Config
297
Language pulldown menu. A message is translated by first looking it up in the
285
Language pulldown menu. A message is translated by first looking it up in the
298
plan_cal_english file. If the message is found in line n, it is translated
286
plan_cal_english file. If the message is found in line n, it is translated
299
by using line n of plan.lang.X instead if X was selected with the Language
287
by using line n of plan.lang.X instead if X was selected with the Language
300
pulldown. See the Languages item in the online help menu for instructions
288
pulldown. See the Languages item in the online help menu for instructions
301
for creating new language files.
289
for creating new language files.
302
.LP
290
.LP
303
Note that previous versions put all executables into the DIR directory.
304
Beginning with 1.4.7, all executables except
305
.B plan
306
are in LIB. To avoid finding obsolete executables first, LIB is searched
307
befor DIR.
308
Note that, though
291
Note that, though
309
.BR netplan (8)
292
.BR netplan (8)
310
supports primitive access control (which requires editing a access
293
supports primitive access control (which requires editing a access
Lines 328-330 with the line "subscribe plan" (without the quotes) in the message body (not Link Here
328
the subject).
311
the subject).
329
.LP
312
.LP
330
See http://www.bitrot.de/plan.html for new releases.
313
See http://www.bitrot.de/plan.html for new releases.
314
315
.SS DEBIAN NOTE
316
.LP
317
Please note that the Debian GNU/Linux package does not install all
318
executables in the locations where the upstream author places them.
319
The locations documented in this manpage are the Debian ones.
(-)a/misc/plan.1.orig (-326 lines)
Lines 1-326 Link Here
1
.TH PLAN 1
2
.SH NAME
3
plan \- interactive X/Motif calendar and day planner
4
.br
5
pland \- daemon for
6
.I plan
7
.br
8
notifier \- X/Motif text displayer for
9
10
.SH SYNOPSIS
11
.B plan
12
[options]
13
.br
14
.B plan
15
[mmdd]hhmm [options] [\fImessage\fR]*
16
.br
17
.B pland
18
[-d] -[kK] -[lL]
19
.br
20
.B notifier
21
[-hdv123] [-t\fItitle\fR] [-s\fIsubtitle\fR] [-i\fIicontitle\fR] [file]
22
23
.SH DESCRIPTION
24
.B plan
25
is a schedule planner based on X/Motif. It displays a month calendar
26
similar to xcal, but every day box is large enough to show appointments
27
in small print. By pressing on a day box, the appointments for that day
28
can be listed and edited. This manual page describes the command line
29
options of
30
.BR plan .
31
For information on how to use
32
.BR plan ,
33
refer to the on-line help pages.
34
.LP
35
.B plan
36
has three modes: GUI, which starts up with a window in interactive mode,
37
append, which adds an appointment from the command line without windows,
38
and batch, which prints miscellaneous information without windows. Batch
39
mode is mainly useful for external scripts (CGI and otherwise) that process
40
appointment data.
41
.LP
42
.B pland
43
is a daemon that watches for appointment triggers. The daemon is normally
44
started from your .sgisession or .xsession file. It puts itself in the
45
background. If
46
.B plan
47
is started, it checks for the existence of the daemon, and offers to start
48
one if it can't find it.
49
.LP
50
.B notifier
51
displays the standard input in a window, with appropriate titles and
52
background colors. The only program that ever uses it is the daemon; it
53
is a separate program only to keep the daemon small.
54
55
.SS OPTIONS OF PLAN, GUI MODE
56
.IP \-s
57
Standalone, don't offer to start daemon if none exists. Without daemon, no
58
appointment alarms and warnings will trigger. If a daemon happens to exist,
59
it is notified when the database changes, but no warning is printed if it
60
doesn't.
61
.IP \-S
62
When plan starts up, silently start the daemon if it does not exist.
63
.IP \-f
64
Don't fork on startup. This is useful for debugging.
65
.IP \-k
66
If there appears to be another
67
.B plan
68
running, start up anyway. This is useful if a /tmp/.plan<uid> file got
69
accidentally left behind, and plan fails to check whether the older plan
70
still exists. This option is largely obsolete in version 1.2.
71
72
.SS OPTIONS OF PLAN, APPEND MODE
73
.IP [mmdd]hhmm
74
Add an appointment at mm/dd hh:mm (month/day hours:minutes). If mmdd is not
75
specified, today's date is used. No menus will start up. No option may be
76
specified. Instead of the mmddhhmm notation, a date and time may be specified,
77
such as '24.12. 12:34'.
78
.IP \-u\ U
79
add appointment to user file U instead of your own appointment file.
80
.IP \-l\ T
81
Set the length of the new appointment to N, in the form hours:minutes.
82
.IP \-n\ T
83
Set new appointment will have no time associated with it. This overrides
84
the time set with the [mmdd]hhmm option, which must be specified anyway.
85
.IP \-r\ N
86
The new appointment repeats every N days. N is an integer greater than zero.
87
.IP \-d\ N
88
The new appointment repeats on day N of the month. N is an integer between
89
1 and 31. There can be multiple -d options.
90
.IP \-D\ N
91
The new appointment repeats on weekday N. N=0 indicates Monday, 1 is Tuesday,
92
2 is Wednesday, 3 is Thursday, 4 is Friday, 5 is Saturday, and 6 is Sunday.
93
There can be multiple -D options.
94
.IP \-e\ D
95
The new appointment stops repeating on date D. D is a string such as
96
'31.12.' or '12/31'.
97
.IP \-w\ N
98
Set the early warning time of the new appointment to N minutes.
99
.IP \-W\ N
100
Set the late warning time of the new appointment to N minutes.
101
.IP [message]*
102
The note message associated with the new appointment. It should be quoted
103
if it contains shell metacharacters.
104
105
.SS OPTIONS OF PLAN, BATCH MODE
106
.IP \-h
107
List available options.
108
.IP \-d
109
Print fallback X resources and exit. The output can be appended directly
110
to the ~/.Xdefaults file for modification of the geometry, color, and font
111
defaults.
112
.IP \-v
113
Print the program version and patchlevel and exit.
114
.IP \-W\ [S]
115
Indicates that
116
.B plan
117
is not called by a user but by the web front-end. In this case, there
118
are no ``own'' appointments because the CGI script that executes
119
.B plan
120
is probably run by the pseudo-user ``nobody'' or ``httpd''. A dummy user
121
``webplan'' is substituted instead, whose home directory is assumed to
122
be /tmp. All database files from netplan server S will be read. If S is
123
omitted, ``localhost'' is assumed. This mode is possible only if there
124
is a netplan server running on S (or localhost). This option is also
125
available with -t mode and in non-interactive mode; in this case it
126
determines which files can be listed with -o -t, and which files can be
127
edited.
128
.IP \-F
129
Print a list of all appointment files found on a given netplan server.
130
By default the server on the local host is queried, unless a -W option
131
specifies another server host.
132
.IP \-H\ Y
133
Print all holidays in the year Y (1970..2037) to stdout and exit. This
134
is used by the web front-end.
135
.IP \-o
136
If used with -t or -T, also prints appointments of all users configured
137
with the Config->Users popup.
138
.IP \-u\ L
139
If used with -t or -T, prints appointments of all users named in the
140
comma-separated list L. The -o and -u options are mutually exclusive.
141
.IP \-t\ [D\ [n]]
142
Print a list of today's appointments to stdout. Don't start up interactive
143
windows. The exit status is 0 if there are appointments on the specified
144
date, and 1 otherwise. If a date D is specified, print appointments on that
145
date. All standard date specifiers work:
146
.RS
147
.IP -t\ +3 13
148
Print appointments in three days
149
.IP -t\ -1 13
150
Print yesterday's appointments
151
.IP -t\ tomorrow 13
152
Print appointments for tomorrow
153
.IP -t\ thursday 13
154
Print appointments for Thursday
155
.IP -t\ 25.12. 13
156
Print appointments for Christmas, if 24-hour mode is selected
157
.IP -t\ 12/25 13
158
Print appointments for Christmas, if 12-hour mode is selected.
159
12/24 hour mode is selected with the Config pulldown in the main window.
160
.LP
161
If a second argument n is given, n days are printed beginning with day D.
162
The default is 1. For example, "plan -t today 7" prints one week.
163
.RE
164
.IP \-T\ [D\ [n]]
165
Same as -t, but print the end time instead of the length (hi Vera).
166
.IP \-i
167
If used with the -t or -T options, print the data in a form that is easy
168
to parse for other programs. This is used by the web front-end.
169
.IP \-W\ [S]
170
switch to web front-end mode and read the files from the netplan server
171
on host S, or localhost if S is omitted. These files can then be chosen
172
from with -u. See above for details.
173
174
.SS OPTIONS OF PLAND
175
.IP \-d
176
Debug mode. Runs pland in the foreground without forking, and prints
177
debugging information. Recommended if pland seems to die unexpectedly.
178
(The most common cause of disappearing pland's is a nonfunctional utmp;
179
if -d is used pland recommends to recompile with the -DRABBITS option.)
180
This option must precede the other options.
181
.IP \-l
182
Periodically check the system utmp to see if the user is still logged
183
in. If not, exit. This is the default on SGI, Sun, and other SYSV systems.
184
.IP \-L
185
(capital L) Do not check utmp. Use this option if pland dies frequently,
186
and running pland with the \-d options reports ``logout, exiting'' for no
187
apparent reason. On many systems utmp is not reliable, and some programs
188
like xterm so not create utmp records unless configured properly. Use \-L
189
on such systems.
190
.IP \-k
191
If another daemon exists, kill it and restart.
192
.IP \-K
193
(capital K) If another daemon exists, kill it and exit.
194
195
.SS OPTIONS OF NOTIFIER
196
.IP \-h
197
List available options.
198
.IP \-d
199
Print fallback X resources and exit. The output can be appended directly
200
to the ~/.Xdefaults file for modification of the geometry, color, and font
201
defaults.
202
.IP \-v
203
Print the program version and patchlevel and exit.
204
.IP \-1
205
Set the window background color to green (early warning).
206
.IP \-2
207
Set the window background color to yellow (late warning).
208
.IP \-3
209
Set the window background color to red (alarm). This is the default.
210
.IP \-t\fItitle\fR
211
Set the title string above the message text (which is read from stdin).
212
.IP \-s\fIsubtitle\fR
213
Set the subtitle string below the main title, in a small font.
214
.IP \-i\fIicontitle\fR
215
Set the icon title string that is printed below the mwm/4Dwm icon.
216
.LP
217
In addition to these options, plan and notifier support the usual X options
218
-iconic and -geometry.
219
220
.SH FILES
221
.LP
222
Below, DIR and LIB refer to the installation directories specified at the
223
beginning of the Makefile when the programs were compiled. By defauly,
224
they are /usr/local/bin and /usr/local/lib, or /usr/freeware/bin and
225
/usr/freeware/lib on SGI, or /usr/bin, /usr/sbin, and /usr/lib/plan on
226
Debian Linux, respectively. These are the directories where
227
.BR plan
228
and
229
.BR pland
230
first search for executables and plan.help (LIB first, then DIR). Next,
231
$PLAN_PATH and $PATH are searched, and finally, a built-in search path that
232
also contains "." as its last item.
233
.IP ~/.dayplan
234
Database with all public entries and configuration options of
235
.BR plan .
236
See plan(4) for details.
237
.IP ~/.dayplan.priv
238
Database with all private entries.
239
.IP ~/.holiday
240
Definition of holidays. See the help text for the "Define Holiday" popup
241
menu that can be installed with the Holiday pulldown.
242
.IP /tmp/.planUID
243
Lockfile that contains the PID of
244
.BR plan .
245
Used to prevent multiple
246
.B plan
247
instances, and to send HUP signals to if a non-interactive
248
.B plan
249
invocation changed the database. UID is the user's numerical user ID.
250
.IP /tmp/.plandUID
251
Lockfile that contains the PID of the
252
.B pland
253
daemon. Used to prevent multiple daemons, and to send HUP signals to if
254
the database changed for any reason. UID is the user's numerical user ID.
255
.IP DIR/plan
256
.br
257
The
258
.B plan
259
program.
260
.IP LIB/pland
261
The
262
.B pland
263
daemon. It must be in the DIR or LIB directory, or in one of the directories
264
in one of the search paths.
265
.IP LIB/notifier
266
The
267
.B notifier
268
program. It must be in the DIR or LIB directory, or in one of the directories
269
in one of the search paths.
270
.IP LIB/plan.help
271
The online help texts used by
272
.BR plan .
273
It must be in the DIR or LIB directory, or in one of the directories
274
in one of the search paths.
275
.IP LIB/plan.help.X
276
This help file replaces plan.help if the language is set to X in the Config
277
Languages pulldown menu.
278
.IP LIB/holiday
279
Definition of system standard holidays. They are read before ~/.holiday,
280
and can be overridden in ~/.holiday. They must be edited manually with a
281
text editor.
282
.IP LIB/plan_cal.ps
283
A PostScript skeleton file required for month and year calendar printouts.
284
.IP LIB/plan.lang.english
285
The standard message file. All messages used in
286
.B plan
287
must be listed here in ASCII order. If this file is missing, only English
288
messages are supported.
289
.IP LIB/plan.lang.X
290
The message file for language X. At startup,
291
.B plan
292
scans the LIB directory and puts every file X it finds into the Config
293
Language pulldown menu. A message is translated by first looking it up in the
294
plan_cal_english file. If the message is found in line n, it is translated
295
by using line n of plan.lang.X instead if X was selected with the Language
296
pulldown. See the Languages item in the online help menu for instructions
297
for creating new language files.
298
.LP
299
Note that previous versions put all executables into the DIR directory.
300
Beginning with 1.4.7, all executables except
301
.B plan
302
are in LIB. To avoid finding obsolete executables first, LIB is searched
303
befor DIR.
304
Note that, though
305
.BR netplan (8)
306
supports primitive access control (which requires editing a access
307
list text file on the server host), no support for access control is
308
provided by the
309
.BR plan
310
front-end in this version. Refer to
311
.BR netplan (8)
312
for details.
313
314
.SS SEE ALSO
315
plan(4), netplan(8)
316
317
.SS AUTHOR
318
Thomas Driemeyer <thomas@bitrot.de>
319
.LP
320
Please send all complaints, comments, bug fixes, and porting experiences to
321
me. Always include your plan version as reported by "plan -v" in your mail.
322
To be added to the mailing list, send mail to majordomo@bitrot.de
323
with the line "subscribe plan" (without the quotes) in the message body (not
324
the subject).
325
.LP
326
See http://www.bitrot.de/plan.html for new releases.
(-)a/misc/plan.1cat (-2 / +2 lines)
Lines 10-16 NNAAMMEE Link Here
10
10
11
SSYYNNOOPPSSIISS
11
SSYYNNOOPPSSIISS
12
       ppllaann [options]
12
       ppllaann [options]
13
       ppllaann [mmdd]hhmm [options] [_m_e_s_s_a_g_e]*
13
       ppllaann [[yyyy]mmdd]hhmm [options] [_m_e_s_s_a_g_e]*
14
       ppllaanndd [-d] -[kK] -[lL]
14
       ppllaanndd [-d] -[kK] -[lL]
15
       nnoottiiffiieerr  [-hdv123]  [-t_t_i_t_l_e]  [-s_s_u_b_t_i_t_l_e] [-i_i_c_o_n_t_i_t_l_e]
15
       nnoottiiffiieerr  [-hdv123]  [-t_t_i_t_l_e]  [-s_s_u_b_t_i_t_l_e] [-i_i_c_o_n_t_i_t_l_e]
16
       [file]
16
       [file]
Lines 65-71 DDEESSCCRRIIPPTTIIOONN Link Here
65
65
66
66
67
   OOPPTTIIOONNSS OOFF PPLLAANN,, AAPPPPEENNDD MMOODDEE
67
   OOPPTTIIOONNSS OOFF PPLLAANN,, AAPPPPEENNDD MMOODDEE
68
       [mmdd]hhmm
68
       [[yyyy]mmdd]hhmm
69
              Add  an  appointment  at  mm/dd  hh:mm   (month/day
69
              Add  an  appointment  at  mm/dd  hh:mm   (month/day
70
              hours:minutes).  If  mmdd is not specified, today's
70
              hours:minutes).  If  mmdd is not specified, today's
71
              date is used. No menus will start up. No option may
71
              date is used. No menus will start up. No option may
(-)a/misc/plan.4 (-2 / +2 lines)
Lines 24-30 HEADER TYPES: Link Here
24
.IP o
24
.IP o
25
Options. The argument consists of 14 consecutive flag characters,
25
Options. The argument consists of 14 consecutive flag characters,
26
and five numerical arguments.
26
and five numerical arguments.
27
'-' means an option is off, everything else means the option is on.
27
\'-' means an option is off, everything else means the option is on.
28
In order, the flags are:
28
In order, the flags are:
29
.RS
29
.RS
30
.IP s
30
.IP s
Lines 116-122 flag is on. Link Here
116
.IP y
116
.IP y
117
Year overview options. There are 10 consecutive flag characters
117
Year overview options. There are 10 consecutive flag characters
118
and three numerical arguments.
118
and three numerical arguments.
119
'-' means an option is off, everything else means the option is on.
119
\'-' means an option is off, everything else means the option is on.
120
Only one flag is currently defined:
120
Only one flag is currently defined:
121
.RS
121
.RS
122
.IP s
122
.IP s
(-)a/src/Makefile (-5 / +15 lines)
Lines 143-150 FBSD_C = -ansi -I/usr/X11R6/include -DBSD -DNOLOCK -DNOREGEX -DRABBITS\ Link Here
143
	  -DSTDLIBMALLOC
143
	  -DSTDLIBMALLOC
144
OBSD_C	= -ansi -I/usr/X11R6/include -DBSD -DRABBITS -DNOLOCK -DNOREGEX\
144
OBSD_C	= -ansi -I/usr/X11R6/include -DBSD -DRABBITS -DNOLOCK -DNOREGEX\
145
	  -DNO_MOTIF -DSTDLIBMALLOC
145
	  -DNO_MOTIF -DSTDLIBMALLOC
146
LINUX_C	= -W -Wall -m32 -I/usr/X11R6/include -DNOLOCK -DLINUX -Dlinux
146
LINUX_C	= -W -Wall -m32 -I/usr/X11R6/include -I/usr/include/X11 \
147
LINUX64_C = -W -Wall -m64 -I/usr/X11R6/include -DNOLOCK -DLINUX -Dlinux
147
	  -DNOLOCK -DLINUX -Dlinux
148
LINUX64_C = -W -Wall -m64 -I/usr/X11R6/include -I/usr/include/X11 \
149
	  -DNOLOCK -DLINUX -Dlinux
150
DEBIAN_C = -W -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes \
151
	  -Wstrict-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -m32 \
152
	  -I/usr/X11R6/include -DNOLOCK -DLINUX -Dlinux -DRABBITS
148
SVR4_C	= -DSVR4 -DSYSV -DOLDTZ -DUSERAND -DPID_T=long -DNOMSEP
153
SVR4_C	= -DSVR4 -DSYSV -DOLDTZ -DUSERAND -DPID_T=long -DNOMSEP
149
NEWS_C	= -DNEWSOS4 -DNOMSEP -DSUN -DBSD -DRABBITS -DNGROUPS_MAX=16\
154
NEWS_C	= -DNEWSOS4 -DNOMSEP -DSUN -DBSD -DRABBITS -DNGROUPS_MAX=16\
150
	  -DPID_T="int" -Dconst=""
155
	  -DPID_T="int" -Dconst=""
Lines 227-232 OBSD_L1 = -L/usr/local/lib -lXm -L/usr/X11R6/lib -lXt -lX11 Link Here
227
OBSD_L2	= -lc
232
OBSD_L2	= -lc
228
LINUX_L1= -L/usr/X11R6/lib -L/usr/lib/X11R6/lib -lXm -lXt -lX11 -lXpm -lc -lXext -lICE -lX11
233
LINUX_L1= -L/usr/X11R6/lib -L/usr/lib/X11R6/lib -lXm -lXt -lX11 -lXpm -lc -lXext -lICE -lX11
229
LINUX_L2= -lc
234
LINUX_L2= -lc
235
DEBIAN_L1= -L/usr/X11R6/lib -L/usr/lib/X11R6/lib -lXm -lXt -lX11 -lXpm -lc -lXext -lICE -lX11
236
DEBIAN_L2= -lc
230
SLINUX_L1= -L/usr/X11R6/lib -L/usr/lib/X11R6/lib -lSM /usr/X11R6/lib/libXm.a -lXt -lX11 /usr/X11R6/lib/libXpm.a -lc -lXext -lSM -lICE -lX11
237
SLINUX_L1= -L/usr/X11R6/lib -L/usr/lib/X11R6/lib -lSM /usr/X11R6/lib/libXm.a -lXt -lX11 /usr/X11R6/lib/libXpm.a -lc -lXext -lSM -lICE -lX11
231
SLINUX_L2= -lc
238
SLINUX_L2= -lc
232
SVR4_L1	= -lXm -lXt -lX11 -lgen -lsocket -lnsl
239
SVR4_L1	= -lXm -lXt -lX11 -lgen -lsocket -lnsl
Lines 428-433 linux: Link Here
428
linux64:
435
linux64:
429
	env CF="$(LINUX64_C)" L1F="$(LINUX_L1)" L2F="$(LINUX_L2)" MYCC=gcc make all
436
	env CF="$(LINUX64_C)" L1F="$(LINUX_L1)" L2F="$(LINUX_L2)" MYCC=gcc make all
430
437
438
debian:
439
	env CF="$(DEBIAN_C)" L1F="$(DEBIAN_L1)" L2F="$(DEBIAN_L2)" MYCC=gcc make all
440
431
slinux:
441
slinux:
432
	env CF="$(LINUX_C)" L1F="$(SLINUX_L1)" L2F="$(SLINUX_L2)" MYCC=gcc make all
442
	env CF="$(LINUX_C)" L1F="$(SLINUX_L1)" L2F="$(SLINUX_L2)" MYCC=gcc make all
433
443
Lines 583-589 install: Link Here
583
	-(test x'$(JAPAN)' != x && cp ../misc/plan_calSJ.ps $(DESTDIR)$(LIB)) || exit 0
593
	-(test x'$(JAPAN)' != x && cp ../misc/plan_calSJ.ps $(DESTDIR)$(LIB)) || exit 0
584
	mkdir -p $(DESTDIR)$(HELP)
594
	mkdir -p $(DESTDIR)$(HELP)
585
	cp ../language/plan.help $(DESTDIR)$(HELP)
595
	cp ../language/plan.help $(DESTDIR)$(HELP)
586
	-strip $(DESTDIR)$(DIR)/plan $(DESTDIR)$(LIB)/pland $(DESTDIR)$(LIB)/notifier $(DESTDIR)$(SBIN)/netplan
596
#	-strip $(DESTDIR)$(DIR)/plan $(DESTDIR)$(LIB)/pland $(DESTDIR)$(LIB)/notifier $(DESTDIR)$(SBIN)/netplan
587
	-chmod 755 $(DESTDIR)$(DIR)/plan $(DESTDIR)$(LIB)/pland $(DESTDIR)$(LIB)/notifier $(DESTDIR)$(LIB)/netplan
597
	-chmod 755 $(DESTDIR)$(DIR)/plan $(DESTDIR)$(LIB)/pland $(DESTDIR)$(LIB)/notifier $(DESTDIR)$(LIB)/netplan
588
	-chmod 644 $(DESTDIR)$(HELP)/plan.help $(DESTDIR)$(LIB)/plan_cal.ps $(DESTDIR)$(LIB)/plan.lang.*
598
	-chmod 644 $(DESTDIR)$(HELP)/plan.help $(DESTDIR)$(LIB)/plan_cal.ps $(DESTDIR)$(LIB)/plan.lang.*
589
	-(test x'$(JAPAN)' != x && chmod 644 $(DESTDIR)$(LIB)/plan_calSJ.ps) || exit 0
599
	-(test x'$(JAPAN)' != x && chmod 644 $(DESTDIR)$(LIB)/plan_calSJ.ps) || exit 0
Lines 621-627 LDIR = /usr/X11R6/lib Link Here
621
BINDIR	= plan-$(VERSION)
631
BINDIR	= plan-$(VERSION)
622
gMYCC	= gcc
632
gMYCC	= gcc
623
gCF	= -m32 -I/usr/X11R6/include -D_POSIX_SOURCE -DNOLOCK -DLINUX -Dlinux
633
gCF	= -m32 -I/usr/X11R6/include -D_POSIX_SOURCE -DNOLOCK -DLINUX -Dlinux
624
gL1F	= -L$(LDIR) $(LDIR)/libXm.a -lXt -lX11 $(LDIR)/libXpm.a -lc -lXext -lICE -lXp -lX11
634
gL1F	= -L$(LDIR) $(LDIR)/libXm.a -lXt -lX11 $(LDIR)/libXpm.a -lc -lXext -lICE -lX11
625
gL2F	= -lc
635
gL2F	= -lc
626
636
627
linuxtar: $(P_OBJ) $(D_OBJ) $(N_OBJ) $(S_OBJ) $(MAKEFILE) README.linuxbin
637
linuxtar: $(P_OBJ) $(D_OBJ) $(N_OBJ) $(S_OBJ) $(MAKEFILE) README.linuxbin
Lines 646-649 tar: Link Here
646
	mv Makefile.save Makefile
656
	mv Makefile.save Makefile
647
657
648
rpm: tar
658
rpm: tar
649
	cd ..; rpmbuild -vv -ba plan-1.10-20070416.spec
659
	cd ..; rpmbuild -vv -ba plan-1.10.1-20070703.spec
(-)a/src/calmenu.c (-19 / +65 lines)
Lines 64-70 Widget mainview; /* area in main window below menubar */ Link Here
64
#define XM_VA_SEPARATOR XmVaSEPARATOR,
64
#define XM_VA_SEPARATOR XmVaSEPARATOR,
65
#endif
65
#endif
66
66
67
#define MAXLANGUAGES 20
67
#define MAXLANGUAGES 30
68
static char *language_name[MAXLANGUAGES];
68
static char *language_name[MAXLANGUAGES];
69
69
70
70
Lines 220-249 void create_cal_widgets( Link Here
220
	s[ 5] = XmStringCreateSimple(_("Year Overview"));
220
	s[ 5] = XmStringCreateSimple(_("Year Overview"));
221
	s[ 6] = XmStringCreateSimple(_("Goto today"));
221
	s[ 6] = XmStringCreateSimple(_("Goto today"));
222
	s[ 7] = XmStringCreateSimple(_("Goto..."));
222
	s[ 7] = XmStringCreateSimple(_("Goto..."));
223
	s[ 8] = XmStringCreateSimple("Ctrl-D");
223
	s[ 8] = XmStringCreateSimple("Goto January");
224
	s[ 9] = XmStringCreateSimple("Ctrl-W");
224
	s[ 9] = XmStringCreateSimple("Goto December");
225
	s[10] = XmStringCreateSimple("Ctrl-N");
225
	s[10] = XmStringCreateSimple("Goto previous month");
226
	s[11] = XmStringCreateSimple("Ctrl-M");
226
	s[11] = XmStringCreateSimple("Goto next month");
227
	s[12] = XmStringCreateSimple("Ctrl-Y");
227
	s[12] = XmStringCreateSimple("Ctrl-D");
228
	s[13] = XmStringCreateSimple("Ctrl-O");
228
	s[13] = XmStringCreateSimple("Ctrl-W");
229
	s[14] = XmStringCreateSimple("Ctrl-T");
229
	s[14] = XmStringCreateSimple("Ctrl-N");
230
	s[15] = XmStringCreateSimple("Ctrl-G");
230
	s[15] = XmStringCreateSimple("Ctrl-M");
231
	s[16] = XmStringCreateSimple("Ctrl-Y");
232
	s[17] = XmStringCreateSimple("Ctrl-O");
233
	s[18] = XmStringCreateSimple("Ctrl-T");
234
	s[19] = XmStringCreateSimple("Ctrl-G");
235
	s[20] = XmStringCreateSimple("Pos1");
236
	s[21] = XmStringCreateSimple("End");
237
	s[22] = XmStringCreateSimple("Prior");
238
	s[23] = XmStringCreateSimple("Next");
239
231
	menu = XmVaCreateSimplePulldownMenu(menubar, "view", 3,
240
	menu = XmVaCreateSimplePulldownMenu(menubar, "view", 3,
232
			(XtCallbackProc)view_callback,
241
			(XtCallbackProc)view_callback,
233
			FIX_MENUBAR
242
			FIX_MENUBAR
234
			XmVaPUSHBUTTON, s[0], 'D', "Ctrl<Key>D", s[8],
243
			XmVaPUSHBUTTON, s[0],  'D', "Ctrl<Key>D", s[12],
235
			XmVaPUSHBUTTON, s[1], 'W', "Ctrl<Key>W", s[9],
244
			XmVaPUSHBUTTON, s[1],  'W', "Ctrl<Key>W", s[13],
236
			XmVaPUSHBUTTON, s[2], 'S', "Ctrl<Key>N", s[10],
245
			XmVaPUSHBUTTON, s[2],  'S', "Ctrl<Key>N", s[14],
237
			XmVaPUSHBUTTON, s[3], 'M', "Ctrl<Key>M", s[11],
246
			XmVaPUSHBUTTON, s[3],  'M', "Ctrl<Key>M", s[15],
238
			XmVaPUSHBUTTON, s[4], 'Y', "Ctrl<Key>Y", s[12],
247
			XmVaPUSHBUTTON, s[4],  'Y', "Ctrl<Key>Y", s[16],
239
			XmVaPUSHBUTTON, s[5], 'O', "Ctrl<Key>O", s[13],
248
			XmVaPUSHBUTTON, s[5],  'O', "Ctrl<Key>O", s[17],
240
			XM_VA_SEPARATOR
249
			XM_VA_SEPARATOR
241
			XmVaPUSHBUTTON, s[6], 't', "Ctrl<Key>T", s[14],
250
			XmVaPUSHBUTTON, s[6],  't', "Ctrl<Key>T", s[18],
242
			XmVaPUSHBUTTON, s[7], 'G', "Ctrl<Key>G", s[15],
251
			XmVaPUSHBUTTON, s[7],  'G', "Ctrl<Key>G", s[19],
252
			XmVaPUSHBUTTON, s[8],  'j', "<Key>Home",  s[20],
253
			XmVaPUSHBUTTON, s[9],  'd', "<Key>End",   s[21],
254
			XmVaPUSHBUTTON, s[10], 'p', "<Key>Prior", s[22],
255
			XmVaPUSHBUTTON, s[11], 'n', "<Key>Next",  s[23],
243
			NULL);
256
			NULL);
244
	XtAddCallback(menu, XmNhelpCallback, (XtCallbackProc)help_callback,
257
	XtAddCallback(menu, XmNhelpCallback, (XtCallbackProc)help_callback,
245
			(XtPointer)"pd_view");
258
			(XtPointer)"pd_view");
246
	for (n=0; n < 16; n++)
259
	for (n=0; n < 24; n++)
247
		XmStringFree(s[n]);
260
		XmStringFree(s[n]);
248
261
249
	s[0] = XmStringCreateSimple(_("On context"));
262
	s[0] = XmStringCreateSimple(_("On context"));
Lines 695-701 static void search_callback( Link Here
695
		break;
708
		break;
696
709
697
	  case 7:						/* One file */
710
	  case 7:						/* One file */
698
		create_user_sel_popup(menubar, -1, (BOOL (*)())list_by_user);
711
		create_user_sel_popup(menubar, -1,
712
					(BOOL (*)(int))list_by_user);
699
		break;
713
		break;
700
714
701
	  case 8:						/* Search */
715
	  case 8:						/* Search */
Lines 760-765 static void view_callback( Link Here
760
	  case 7:						/* goto */
774
	  case 7:						/* goto */
761
		create_goto_popup();
775
		create_goto_popup();
762
		break;
776
		break;
777
778
	  case 8:						/* January */
779
		curr_month = 0;
780
		draw_month_year();
781
		redraw_all_views();
782
		break;
783
784
	  case 9:						/* December */
785
		curr_month = 11;
786
		draw_month_year();
787
		redraw_all_views();
788
		break;
789
790
	  case 10:				        	/* prev month*/
791
		if (curr_month == 0) {
792
		    curr_month = 11;
793
		    curr_year--;
794
		} else
795
		    curr_month--;
796
		draw_month_year();
797
		redraw_all_views();
798
		break;
799
800
	  case 11:					        /* next month*/
801
		if (curr_month == 11) {
802
		    curr_month = 0;
803
		    curr_year++;
804
		} else
805
		    curr_month++;
806
		draw_month_year();
807
		redraw_all_views();
808
		break;
763
	}
809
	}
764
}
810
}
765
811
(-)a/src/configure (-7 / +7 lines)
Lines 107-124 case ${in:-1} in Link Here
107
	MAN=/usr/share/man/man
107
	MAN=/usr/share/man/man
108
	CATMAN=NONE
108
	CATMAN=NONE
109
	PLANHOME=.plan.dir
109
	PLANHOME=.plan.dir
110
	PLANLOCK=
110
	PLANLOCK="~/.plan.dir/lock.plan"
111
	PLANDLOCK=
111
	PLANDLOCK="~/.plan.dir/lock.pland"
112
	INCDIR=
112
	INCDIR=
113
	LEX=lex
113
	LEX=lex
114
	YACC=yacc
114
	YACC=yacc
115
	NOB_UID=65534
115
	NOB_UID=63434
116
	NOB_GID=65534
116
	NOB_GID=63434
117
	CPP_PATH='/usr/bin/cpp -P -I$(HELP)'
117
	CPP_PATH='/usr/bin/cpp -P -I$(HELP)'
118
	DOFORK=FALSE
118
	DOFORK=FALSE
119
	JAPAN=
119
	JAPAN=
120
	DEBUG="-O2"
120
	DEBUG="-O2"
121
	DEFTARGET=linux
121
	DEFTARGET=debian
122
	HOLIDAY=NONE
122
	HOLIDAY=NONE
123
	;;
123
	;;
124
  5)	DIR=/usr/X11R6/bin		# SuSE Linux
124
  5)	DIR=/usr/X11R6/bin		# SuSE Linux
Lines 134-141 case ${in:-1} in Link Here
134
	INCDIR=
134
	INCDIR=
135
	LEX=lex
135
	LEX=lex
136
	YACC=yacc
136
	YACC=yacc
137
	NOB_UID=65534
137
	NOB_UID=63434
138
	NOB_GID=65534
138
	NOB_GID=63434
139
	CPP_PATH='/usr/bin/cpp -P -I$(HELP)'
139
	CPP_PATH='/usr/bin/cpp -P -I$(HELP)'
140
	DOFORK=FALSE
140
	DOFORK=FALSE
141
	JAPAN=
141
	JAPAN=
(-)a/src/daemon.c (-13 / +13 lines)
Lines 114-120 static time_t last_alarm; /* Last time alarm was checked for */ Link Here
114
int			curr_year;	/* dummy for DST calculating routines*/
114
int			curr_year;	/* dummy for DST calculating routines*/
115
Widget			mainwindow;	/* dummy for error popup in network.c*/
115
Widget			mainwindow;	/* dummy for error popup in network.c*/
116
					/* dummy functions, never used: */
116
					/* dummy functions, never used: */
117
int	  write_one_entry    (UNUSED int (*a)(), UNUSED struct entry *e)
117
int	  write_one_entry    (UNUSED int (*a)(char *), UNUSED struct entry *e)
118
							{return(0);}
118
							{return(0);}
119
XtInputId register_X_input   (UNUSED int a)		{return(0);}
119
XtInputId register_X_input   (UNUSED int a)		{return(0);}
120
void	  unregister_X_input (UNUSED XtInputId a)	{}
120
void	  unregister_X_input (UNUSED XtInputId a)	{}
Lines 1131-1137 void update_last_alarm(void) Link Here
1131
		fclose(fp);
1131
		fclose(fp);
1132
	} else
1132
	} else
1133
		if (debug)
1133
		if (debug)
1134
			printf(_("unable to update last alarm\n"));
1134
			printf("%s", _("unable to update last alarm\n"));
1135
}
1135
}
1136
1136
1137
1137
Lines 1156-1162 time_t read_last_alarm(void) Link Here
1156
	} else {
1156
	} else {
1157
		result = ANCIENT;
1157
		result = ANCIENT;
1158
		if (debug)
1158
		if (debug)
1159
			printf(_("last alarm not present\n"));
1159
			printf("%s", _("last alarm not present\n"));
1160
	}
1160
	}
1161
	return(result);
1161
	return(result);
1162
}
1162
}
Lines 1170-1185 static void usage(void) Link Here
1170
{
1170
{
1171
	fprintf(stderr, _("%s: plan calendar daemon, version %s.\n"),
1171
	fprintf(stderr, _("%s: plan calendar daemon, version %s.\n"),
1172
					progname, VERSION JAPANVERSION);
1172
					progname, VERSION JAPANVERSION);
1173
	fprintf(stderr, _("Usage: pland [-dkKtslL]\n"));
1173
	fprintf(stderr, "%s", _("Usage: pland [-dkKtslL]\n"));
1174
	fprintf(stderr, _("-d\tdebug: stay in foreground, print actions\n"));
1174
	fprintf(stderr, "%s", _("-d\tdebug: stay in foreground, print actions\n"));
1175
	fprintf(stderr, _("-k\tkill existing daemon, then continue\n"));
1175
	fprintf(stderr, "%s", _("-k\tkill existing daemon, then continue\n"));
1176
	fprintf(stderr, _("-K\tkill existing daemon only\n"));
1176
	fprintf(stderr, "%s", _("-K\tkill existing daemon only\n"));
1177
	fprintf(stderr, _("-t\tdon't pop up notifier windows, print to stdout\n"));
1177
	fprintf(stderr, "%s", _("-t\tdon't pop up notifier windows, print to stdout\n"));
1178
	fprintf(stderr, _("-s\twatch utmp and sleep while user is logged out\n"));
1178
	fprintf(stderr, "%s", _("-s\twatch utmp and sleep while user is logged out\n"));
1179
	fprintf(stderr, _("-l\twatch utmp and exit when user logs out\n"));
1179
	fprintf(stderr, "%s", _("-l\twatch utmp and exit when user logs out\n"));
1180
	fprintf(stderr, _("-L\tdon't watch utmp (utmp is often buggy)\n"));
1180
	fprintf(stderr, "%s", _("-L\tdon't watch utmp (utmp is often buggy)\n"));
1181
	fprintf(stderr, _("-p\treport missed alarms when starting.\n"));
1181
	fprintf(stderr, "%s", _("-p\treport missed alarms when starting.\n"));
1182
	fprintf(stderr,
1182
	fprintf(stderr, "%s",
1183
#	ifdef RABBITS
1183
#	ifdef RABBITS
1184
		_("-L is the default. Try -l if you get too many pland's.\n"));
1184
		_("-L is the default. Try -l if you get too many pland's.\n"));
1185
#	else
1185
#	else
(-)a/src/daymenu.c (-1 lines)
Lines 29-35 Link Here
29
#include <Xm/Protocols.h>
29
#include <Xm/Protocols.h>
30
#include "cal.h"
30
#include "cal.h"
31
31
32
extern MOUSE locate_in_day_calendar();
33
static void prev_callback(Widget, int, XmToggleButtonCallbackStruct *);
32
static void prev_callback(Widget, int, XmToggleButtonCallbackStruct *);
34
static void next_callback(Widget, int, XmToggleButtonCallbackStruct *);
33
static void next_callback(Widget, int, XmToggleButtonCallbackStruct *);
35
static void done_callback(Widget, int, XmToggleButtonCallbackStruct *);
34
static void done_callback(Widget, int, XmToggleButtonCallbackStruct *);
(-)a/src/edit.c (-1 / +1 lines)
Lines 162-168 void got_entry_press( Link Here
162
162
163
	  case SC_USER:
163
	  case SC_USER:
164
		create_user_sel_popup(lw->entry[y][x], name_to_user(ep->user),
164
		create_user_sel_popup(lw->entry[y][x], name_to_user(ep->user),
165
						(BOOL (*)())got_new_user);
165
						(BOOL (*)(int))got_new_user);
166
		break;
166
		break;
167
167
168
	  case SC_TIME:
168
	  case SC_TIME:
(-)a/src/file_r.c (-2 / +2 lines)
Lines 247-253 static int readfile( Link Here
247
			create_error_popup(0, 0,
247
			create_error_popup(0, 0,
248
			     _("%s is a\ngrok database, not supported"), path);
248
			     _("%s is a\ngrok database, not supported"), path);
249
#else
249
#else
250
			extern FORM *form_create();
250
			extern FORM *form_create(void);
251
			struct user *up = &user[u];
251
			struct user *up = &user[u];
252
			if (!u)
252
			if (!u)
253
				create_error_popup(0, 0, _("The first file in the file list\n(%s)\nmust not be a grok database!\nTrying to continue, you may lose data."), path);
253
				create_error_popup(0, 0, _("The first file in the file list\n(%s)\nmust not be a grok database!\nTrying to continue, you may lose data."), path);
Lines 596-602 void parse_file_line( Link Here
596
				tm.tm_year -= 1900;
596
				tm.tm_year -= 1900;
597
			ep->except[n] = tm_to_time(&tm);
597
			ep->except[n] = tm_to_time(&tm);
598
		} else
598
		} else
599
			fprintf(stderr,
599
			fprintf(stderr, "%s",
600
				_("too many exception dates for appt"));
600
				_("too many exception dates for appt"));
601
		break;
601
		break;
602
602
(-)a/src/file_w.c (-1 / +1 lines)
Lines 135-141 void write_mainlist(void) Link Here
135
 */
135
 */
136
136
137
static FILE *curr_fp;
137
static FILE *curr_fp;
138
static int write_to_file(line) char *line;
138
static int write_to_file(char *line)
139
	{ errno = 0; fprintf(curr_fp, "%s", line);
139
	{ errno = 0; fprintf(curr_fp, "%s", line);
140
	  return(errno && errno != ENOTTY); }
140
	  return(errno && errno != ENOTTY); }
141
141
(-)a/src/g_dbfile.c (-1 / +2 lines)
Lines 271-277 static int compare_name( Link Here
271
	MYCONST void	*u,
271
	MYCONST void	*u,
272
	MYCONST void	*v)
272
	MYCONST void	*v)
273
{
273
{
274
	return(strcmp(*(char **)u, *(char **)v));
274
	return(strcmp(*(MYCONST char * MYCONST *)u,
275
		      *(MYCONST char * MYCONST *)v));
275
}
276
}
276
277
277
static BOOL read_dir_or_file(
278
static BOOL read_dir_or_file(
(-)a/src/g_formop.c (+2 lines)
Lines 39-45 Link Here
39
#define YSNAP(y)	((y)-(y)%form->yg)
39
#define YSNAP(y)	((y)-(y)%form->yg)
40
40
41
#ifndef GROK
41
#ifndef GROK
42
void clone_chart_component(UNUSED CHART *to, UNUSED CHART *from);
42
void clone_chart_component(UNUSED CHART *to, UNUSED CHART *from) {}
43
void clone_chart_component(UNUSED CHART *to, UNUSED CHART *from) {}
44
void del_chart_component(UNUSED ITEM *item);
43
void del_chart_component(UNUSED ITEM *item) {}
45
void del_chart_component(UNUSED ITEM *item) {}
44
extern ITEM *item_clone(ITEM *);
46
extern ITEM *item_clone(ITEM *);
45
extern void item_delete(FORM *, int);
47
extern void item_delete(FORM *, int);
(-)a/src/holiday.c (+1 lines)
Lines 76-81 extern short monthlen[12]; Link Here
76
extern short	monthbegin[12];
76
extern short	monthbegin[12];
77
77
78
78
79
int yyerror(char *msg);
79
int yyerror(char *msg)
80
int yyerror(char *msg)
80
{
81
{
81
	fprintf(stderr, _("%s: %s in line %d of %s\n"), progname,
82
	fprintf(stderr, _("%s: %s in line %d of %s\n"), progname,
(-)a/src/main.c (-13 / +15 lines)
Lines 29-34 Link Here
29
#include <Xm/Text.h>
29
#include <Xm/Text.h>
30
#include <X11/StringDefs.h>
30
#include <X11/StringDefs.h>
31
#include <sys/stat.h>				  /* umask() */
31
#include <sys/stat.h>				  /* umask() */
32
#include <assert.h>
32
#include "cal.h"
33
#include "cal.h"
33
#include "version.h"
34
#include "version.h"
34
35
Lines 51-57 static void init_fonts (void); Link Here
51
static void init_daemon		(void);
52
static void init_daemon		(void);
52
static void timer_callback	(XtPointer, XtIntervalId *);
53
static void timer_callback	(XtPointer, XtIntervalId *);
53
static void socket_callback	(XtPointer, int *, XtInputId *);
54
static void socket_callback	(XtPointer, int *, XtInputId *);
54
extern void run_daemon		();
55
extern void run_daemon		(Widget);
55
#if !defined(SUN) && !defined(IBM)
56
#if !defined(SUN) && !defined(IBM)
56
static XtSignalId sig_id;
57
static XtSignalId sig_id;
57
static void sig_callback	(XtPointer, XtSignalId *);
58
static void sig_callback	(XtPointer, XtSignalId *);
Lines 324-330 static void non_interactive( Link Here
324
	struct tm	tm1;			/* for time conversion */
325
	struct tm	tm1;			/* for time conversion */
325
	time_t		trigger;		/* trigger date and time */
326
	time_t		trigger;		/* trigger date and time */
326
	char		msg[1024];		/* note from command line */
327
	char		msg[1024];		/* note from command line */
327
	int		n, i, j;		/* char and arg counters */
328
	int		n, i, j, l;		/* char and arg counters */
328
	char		lockfile[80];		/* plan lockfile, for sighup */
329
	char		lockfile[80];		/* plan lockfile, for sighup */
329
	char		*flags;			/* where to hide reminder */
330
	char		*flags;			/* where to hide reminder */
330
	FILE		*fp;			/* for reading lockfile */
331
	FILE		*fp;			/* for reading lockfile */
Lines 338-355 static void non_interactive( Link Here
338
	for (j=0; j < n; j++)
339
	for (j=0; j < n; j++)
339
		if (argv[1][j] < '0' || argv[1][j] > '9')
340
		if (argv[1][j] < '0' || argv[1][j] > '9')
340
			break;
341
			break;
341
	if (j == n) {				/* digits only: [mmdd]hhmm */
342
	if (j == n) {			/* digits only: [[yyyy]mmdd]hhmm */
342
		if (n != 4 && n != 8 && j == n)
343
		if (n != 4 && n != 8 && n != 12 && j == n)
343
			usage();
344
			usage();
344
		i = atoi(argv[1]);
345
		l = atoi(argv[1]);
345
		now = get_time();
346
		now = get_time();
346
		tm = time_to_tm(now);
347
		tm = time_to_tm(now);
347
		tm1.tm_sec   = 0;
348
		tm1.tm_sec   = 0;
348
		tm1.tm_min   = i % 100;
349
		tm1.tm_min   = l % 100;
349
		tm1.tm_hour  = (i/100) % 100;
350
		tm1.tm_hour  = (l/100) % 100;
350
		tm1.tm_mday  = n == 8 ? (i/10000)%100     : tm->tm_mday;
351
		tm1.tm_mday  = n==8 || n==12 ? (l/10000)%100     : tm->tm_mday;
351
		tm1.tm_mon   = n == 8 ? (i/1000000)%100-1 : tm->tm_mon;
352
		tm1.tm_mon   = n==8 || n==12 ? (l/1000000)%100-1 : tm->tm_mon;
352
		tm1.tm_year  = curr_year + (tm1.tm_mon < tm->tm_mon);
353
                tm1.tm_year  = n==12 ? ((l/100000000)%10000)-1900
354
                                     : curr_year + (tm1.tm_mon < tm->tm_mon);
353
		trigger = tm_to_time(&tm1);
355
		trigger = tm_to_time(&tm1);
354
	} else {				/* try free-form date+time */
356
	} else {				/* try free-form date+time */
355
		trigger = parse_datetimestring(argv[1]);
357
		trigger = parse_datetimestring(argv[1]);
Lines 632-638 static void usage(void) Link Here
632
	    "\t-k\t\tignore lock file and start up in any case\n");
634
	    "\t-k\t\tignore lock file and start up in any case\n");
633
	fprintf(stderr,
635
	fprintf(stderr,
634
	    "append usage: %s %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", progname,
636
	    "append usage: %s %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", progname,
635
	    "[mmdd]hhmm [options] [message]*\n",
637
	    "[[yyyy]mmdd]hhmm [options] [message]*\n",
636
	    "\tAdd appointment at mm/dd hh:mm (default is today).\n",
638
	    "\tAdd appointment at mm/dd hh:mm (default is today).\n",
637
	    "\tOptions:\n",
639
	    "\tOptions:\n",
638
	    "\t-u U\t\tapply to user U instead of own appointments\n",
640
	    "\t-u U\t\tapply to user U instead of own appointments\n",
Lines 753-760 static void init_resources(void) Link Here
753
    get_rsrc(&c->year_margin,    "yearMargin",     "YearMargin",   XtRInt, 0);
755
    get_rsrc(&c->year_margin,    "yearMargin",     "YearMargin",   XtRInt, 0);
754
    get_rsrc(&c->year_gap,	 "yearGap",        "YearGap",      XtRInt, 0);
756
    get_rsrc(&c->year_gap,	 "yearGap",        "YearGap",      XtRInt, 0);
755
    get_rsrc(&c->year_title,     "yearTitle",      "YearTitle",    XtRInt, 0);
757
    get_rsrc(&c->year_title,     "yearTitle",      "YearTitle",    XtRInt, 0);
756
    get_rsrc(&c->yearbox_xs,     "yearBoxWidth",   "YearBoxWidth", XtRInt, 80);
758
    get_rsrc(&c->yearbox_xs,     "yearBoxWidth",   "YearBoxWidth", XtRInt, 20);
757
    get_rsrc(&c->yearbox_ys,     "yearBoxHeight",  "YearBoxHeight",XtRInt, 40);
759
    get_rsrc(&c->yearbox_ys,     "yearBoxHeight",  "YearBoxHeight",XtRInt, 20);
758
    get_rsrc(&c->day_margin,     "dayMargin",      "dayMargin",    XtRInt, 0);
760
    get_rsrc(&c->day_margin,     "dayMargin",      "dayMargin",    XtRInt, 0);
759
    get_rsrc(&c->day_gap,        "dayGap",         "dayGap",       XtRInt, 0);
761
    get_rsrc(&c->day_gap,        "dayGap",         "dayGap",       XtRInt, 0);
760
    get_rsrc(&c->day_headline,   "dayHeadline",    "dayHeadline",  XtRInt, 0);
762
    get_rsrc(&c->day_headline,   "dayHeadline",    "dayHeadline",  XtRInt, 0);
(-)a/src/netplan.c (-10 / +28 lines)
Lines 42-54 typedef void *Widget; /* dummy for prototype declarations in config.h */ Link Here
42
42
43
#define ACLCHKINTER 60          /* interval (secs) for check of the acl file */
43
#define ACLCHKINTER 60          /* interval (secs) for check of the acl file */
44
44
45
void *allocate(int n);
46
void *reallocate(void *o, int n);
47
void release(void *p);
48
char *mystrdup(const char *s);
49
45
char			*progname;	/* name of this program, argv[0] */
50
char			*progname;	/* name of this program, argv[0] */
46
static BOOL		debug;		/* foreground, logging is enabled */
51
static BOOL		debug;		/* foreground, logging is enabled */
47
static BOOL		foregnd;	/* foreground without logging */
52
static BOOL		foregnd;	/* foreground without logging */
48
BOOL			verbose;	/* debug mode, don't daemonize */
53
BOOL			verbose;	/* debug mode, don't daemonize */
49
BOOL			to_syslog;	/* print to syslog, not stderr */
54
BOOL			to_syslog;	/* print to syslog, not stderr */
50
static BOOL		allow_all;	/* no access list, never deny */
55
static BOOL		allow_all;	/* no access list, never deny */
51
static int		nclients;	/* size of array */
56
static int		nclients;	/* max # of clients */
52
static unsigned int	row_id = 1;	/* next available row ID */
57
static unsigned int	row_id = 1;	/* next available row ID */
53
static int		max_files;	/* size of file_list array */
58
static int		max_files;	/* size of file_list array */
54
static struct pfile	*file_list;	/* array of open files */
59
static struct pfile	*file_list;	/* array of open files */
Lines 91-97 void *allocate(int n) Link Here
91
	{void *p = malloc(n); if (!p) fatal("no memory"); return(p);}
96
	{void *p = malloc(n); if (!p) fatal("no memory"); return(p);}
92
void *reallocate(void *o, int n)
97
void *reallocate(void *o, int n)
93
	{void *p = o ? realloc(o, n) : malloc(n);
98
	{void *p = o ? realloc(o, n) : malloc(n);
94
	 if (!p) fatal("no memory"); return(p);}
99
	 if (!p) {fatal("no memory");} return(p);}
95
void release(void *p)
100
void release(void *p)
96
	{if (p) free(p);}
101
	{if (p) free(p);}
97
char *mystrdup(const char *s)
102
char *mystrdup(const char *s)
Lines 129-135 int main( Link Here
129
	struct timeval	timeout;	/* for auto-sync after ten seconds */
134
	struct timeval	timeout;	/* for auto-sync after ten seconds */
130
	fd_set		rd, wr, ex;	/* returned fd masks from select */
135
	fd_set		rd, wr, ex;	/* returned fd masks from select */
131
	int		fd;		/* file descriptor/counter */
136
	int		fd;		/* file descriptor/counter */
132
	int		c, i, n, on;
137
	int		c, n, on;
133
	struct client	*cp;
138
	struct client	*cp;
134
	time_t          last_acl_check = 0;
139
	time_t          last_acl_check = 0;
135
	time_t          acl_mod_time = 0;
140
	time_t          acl_mod_time = 0;
Lines 265-270 int main( Link Here
265
			allow_all = TRUE;
270
			allow_all = TRUE;
266
		}
271
		}
267
	}
272
	}
273
        /* Assume 8 bit per char and one bit per file descriptor in
274
         * fd_set to get the capasity of fd_set and thus the max
275
         * number of clients. */
268
	nclients = sizeof(fd_set)*8;			/* max # of clients */
276
	nclients = sizeof(fd_set)*8;			/* max # of clients */
269
	client_list = allocate(nclients * sizeof(struct client));
277
	client_list = allocate(nclients * sizeof(struct client));
270
	memset(client_list, 0, nclients * sizeof(struct client));
278
	memset(client_list, 0, nclients * sizeof(struct client));
Lines 330-341 int main( Link Here
330
				memset(cp, 0, sizeof(struct client));
338
				memset(cp, 0, sizeof(struct client));
331
				memcpy(&cp->addr, &addr, len);
339
				memcpy(&cp->addr, &addr, len);
332
				cp->uid     = nobody_uid;
340
				cp->uid     = nobody_uid;
341
				cp->gids    = allocate(sizeof(*(cp->gids)));
342
				cp->gidcount= 1;
333
				cp->gids[0] = nobody_gid;
343
				cp->gids[0] = nobody_gid;
334
				cp->descr   = mystrdup(nobody);
344
				cp->descr   = mystrdup(nobody);
335
				cp->user    = mystrdup(nobody);
345
				cp->user    = mystrdup(nobody);
336
				cp->port    = netplan_port[c];
346
				cp->port    = netplan_port[c];
337
				for (i=1; i < NGROUPS_MAX; i++)
338
					cp->gids[i] = -1;
339
347
340
				logger("client %d (%.200s) connected from %s\n"
348
				logger("client %d (%.200s) connected from %s\n"
341
					       ,fd, cp->descr, ip_addr(&addr));
349
					       ,fd, cp->descr, ip_addr(&addr));
Lines 404-422 static void setup_gids( Link Here
404
	struct group	*gr;
412
	struct group	*gr;
405
	int		ngroups = 0;
413
	int		ngroups = 0;
406
	char		**p;
414
	char		**p;
415
	int             groupcount;
407
416
417
	/* Unspecified if the default gid is included or not, so add
418
	   one just in case. */
419
	groupcount = getgroups(0, NULL) + 1;
420
	cp->gids = allocate(groupcount * sizeof(*(cp->gids)));
408
	cp->gids[ngroups++] = gid;
421
	cp->gids[ngroups++] = gid;
409
	setgrent();
422
	setgrent();
410
	while ((gr = getgrent()))
423
	while ((gr = getgrent()))
411
		for (p=gr->gr_mem; *p; p++)
424
		for (p=gr->gr_mem; *p; p++)
412
			if (!strcmp(user, *p)) {
425
			if (!strcmp(user, *p)) {
413
				if (ngroups < NGROUPS_MAX)
426
				if (ngroups < groupcount)
414
					cp->gids[ngroups] = gr->gr_gid;
427
					cp->gids[ngroups] = gr->gr_gid;
415
				ngroups++;
428
				ngroups++;
416
				break;
429
				break;
417
			}
430
			}
418
	if (ngroups > NGROUPS_MAX)
431
	if (ngroups > groupcount) {
419
		logger("too many groups (%d, used %d)\n", ngroups,NGROUPS_MAX);
432
		logger("too many groups (%d, used %d)\n", ngroups, groupcount);
433
		cp->gidcount = groupcount;
434
	} else
435
		cp->gidcount = ngroups;
436
420
}
437
}
421
438
422
439
Lines 525-530 static void close_client( Link Here
525
542
526
	for (fid=0; fid < max_files; fid++)
543
	for (fid=0; fid < max_files; fid++)
527
		close_file(fid, fd);
544
		close_file(fid, fd);
545
	release(c->gids);
528
	release(c->descr);
546
	release(c->descr);
529
	release(c->user);
547
	release(c->user);
530
	release(c->in.data);
548
	release(c->in.data);
Lines 650-656 static void eval_message( Link Here
650
						"user %.100s, uid %d, gids",
668
						"user %.100s, uid %d, gids",
651
						fd, c->user, c->uid);
669
						fd, c->user, c->uid);
652
				p = buf + strlen(buf);
670
				p = buf + strlen(buf);
653
				for (i=0; i<NGROUPS_MAX && c->gids[i]>=0; i++){
671
				for (i=0; i<c->gidcount && c->gids[i]>=0; i++){
654
					sprintf(p, " %d", c->gids[i]);
672
					sprintf(p, " %d", c->gids[i]);
655
					p += strlen(p);
673
					p += strlen(p);
656
				}
674
				}
Lines 684-690 static void eval_message( Link Here
684
			sprintf(buf, "client %d is %.200s (uid %d, gids",
702
			sprintf(buf, "client %d is %.200s (uid %d, gids",
685
				 			fd, arg, c->uid);
703
				 			fd, arg, c->uid);
686
			p = buf + strlen(buf);
704
			p = buf + strlen(buf);
687
			for (i=0; i < NGROUPS_MAX && c->gids[i] >= 0; i++) {
705
			for (i=0; i < c->gidcount && c->gids[i] >= 0; i++) {
688
				sprintf(p, " %d", c->gids[i]);
706
				sprintf(p, " %d", c->gids[i]);
689
				p += strlen(p);
707
				p += strlen(p);
690
			}
708
			}
(-)a/src/netplan.h (-1 / +2 lines)
Lines 56-62 struct client { Link Here
56
	char		*descr;		/* client-provided self-description */
56
	char		*descr;		/* client-provided self-description */
57
	char            *user;          /* user name if authenticated */
57
	char            *user;          /* user name if authenticated */
58
	unsigned int	uid;	        /* client-provided user/group ID */
58
	unsigned int	uid;	        /* client-provided user/group ID */
59
	int             gids[NGROUPS_MAX];/* group access list */
59
	int             gidcount;       /* number of in group entries */
60
	int             *gids;          /* group access list */
60
	BOOL            auth_fail;	/* required identd check failed */
61
	BOOL            auth_fail;	/* required identd check failed */
61
	int		port;		/* accept socket to client */
62
	int		port;		/* accept socket to client */
62
	struct sockaddr_in addr;	/* contains IP addr and port */
63
	struct sockaddr_in addr;	/* contains IP addr and port */
(-)a/src/netplan_acl.c (-2 / +4 lines)
Lines 459-470 void acl_verify( Link Here
459
		  case aGROUP:
459
		  case aGROUP:
460
			if (c->auth_fail)
460
			if (c->auth_fail)
461
				continue;
461
				continue;
462
			for (found=FALSE, i=0; !found && i < acl->ndata;
462
			for (found=FALSE, i=0; !found && i < acl->ndata; ) {
463
								!found && i++)
464
				for (j=0; j<NGROUPS_MAX && c->gids[j]>=0; j++)
463
				for (j=0; j<NGROUPS_MAX && c->gids[j]>=0; j++)
465
					if ((found = (int)acl->ugid[i] ==
464
					if ((found = (int)acl->ugid[i] ==
466
						     (int)c->gids[j]))
465
						     (int)c->gids[j]))
467
						break;
466
						break;
467
				if (!found)
468
					i++;
469
			}
468
			break;
470
			break;
469
471
470
		  case aHOST:
472
		  case aHOST:
(-)a/src/network.c (-1 / +1 lines)
Lines 300-306 Full reply message in error was:\n%s"), Link Here
300
 */
300
 */
301
301
302
static int  host_fd;
302
static int  host_fd;
303
static BOOL write_to_net(line) char *line;
303
static BOOL write_to_net(char *line)
304
	{ puts_server(host_fd, line); return(TRUE); }
304
	{ puts_server(host_fd, line); return(TRUE); }
305
305
306
BOOL server_entry_op(
306
BOOL server_entry_op(
(-)a/src/notifier.c (-12 / +10 lines)
Lines 17-24 Link Here
17
#include <Xm/Xm.h>
17
#include <Xm/Xm.h>
18
#include <X11/StringDefs.h>
18
#include <X11/StringDefs.h>
19
#include "cal.h"
19
#include "cal.h"
20
#undef COL_RED
21
#undef NCOLS
22
#include "notifier.h"
20
#include "notifier.h"
23
#include "version.h"
21
#include "version.h"
24
#include "bm_noticon.h"
22
#include "bm_noticon.h"
Lines 44-51 static void init_colors (void); Link Here
44
Display			*display;		/* common server */
42
Display			*display;		/* common server */
45
GC			gc;			/* common graphics context */
43
GC			gc;			/* common graphics context */
46
char			*progname;		/* argv[0] */
44
char			*progname;		/* argv[0] */
47
Pixel			color[NCOLS];		/* colors: COL_* */
45
Pixel			color[N_NCOLS];		/* colors: N_COL_* */
48
Pixel			bkcolor = COL_RED;	/* background color (COL_*) */
46
Pixel			bkcolor = N_COL_RED;	/* background color (N_COL_*)*/
49
XtAppContext		app;			/* application handle */
47
XtAppContext		app;			/* application handle */
50
static Widget		toplevel;		/* widget tree */
48
static Widget		toplevel;		/* widget tree */
51
49
Lines 184-196 int main( Link Here
184
					i = -1;
182
					i = -1;
185
					break;
183
					break;
186
				  case '1':
184
				  case '1':
187
					bkcolor = COL_GREEN;
185
					bkcolor = N_COL_GREEN;
188
					break;
186
					break;
189
				  case '2':
187
				  case '2':
190
					bkcolor = COL_YELLOW;
188
					bkcolor = N_COL_YELLOW;
191
					break;
189
					break;
192
				  case '3':
190
				  case '3':
193
					bkcolor = COL_RED;
191
					bkcolor = N_COL_RED;
194
					break;
192
					break;
195
				  default:
193
				  default:
196
					usage();
194
					usage();
Lines 347-359 static void init_colors(void) Link Here
347
	char			*c, *n, class_name[256];
345
	char			*c, *n, class_name[256];
348
346
349
	cmap = DefaultColormap(display, DefaultScreen(display));
347
	cmap = DefaultColormap(display, DefaultScreen(display));
350
	for (i=0; i < NCOLS; i++) {
348
	for (i=0; i < N_NCOLS; i++) {
351
		switch (i) {
349
		switch (i) {
352
		  default:
350
		  default:
353
		  case COL_STD:		n = "colStd";		d = 1;	break;
351
		  case N_COL_STD:	n = "colStd";		d = 1;	break;
354
		  case COL_RED:		n = "colRedAlert";	d = 0;	break;
352
		  case N_COL_RED:	n = "colRedAlert";	d = 0;	break;
355
		  case COL_YELLOW:	n = "colYellowAlert";	d = 0;	break;
353
		  case N_COL_YELLOW:	n = "colYellowAlert";	d = 0;	break;
356
		  case COL_GREEN:	n = "colGreenAlert";	d = 0;	break;
354
		  case N_COL_GREEN:	n = "colGreenAlert";	d = 0;	break;
357
		}
355
		}
358
		strcpy(class_name, n);
356
		strcpy(class_name, n);
359
		class_name[0] &= ~('a'^'A');
357
		class_name[0] &= ~('a'^'A');
(-)a/src/notifier.h (-6 / +6 lines)
Lines 3-11 Link Here
3
 */
3
 */
4
4
5
				/* colors */
5
				/* colors */
6
#define COL_BACK	0		/* standard background */
6
#define N_COL_BACK	0		/* standard background */
7
#define COL_STD		1		/* standard foreground */
7
#define N_COL_STD	1		/* standard foreground */
8
#define COL_RED		2		/* background color for red alert */
8
#define N_COL_RED	2		/* background color for red alert */
9
#define COL_YELLOW	3		/* background color for yellow alert */
9
#define N_COL_YELLOW	3		/* background color for yellow alert */
10
#define COL_GREEN	4		/* background color for green alert */
10
#define N_COL_GREEN	4		/* background color for green alert */
11
#define NCOLS		5
11
#define N_NCOLS		5
(-)a/src/notmenu.c (-2 / +5 lines)
Lines 6-11 Link Here
6
6
7
#include <stdio.h>
7
#include <stdio.h>
8
#include <stdlib.h>
8
#include <stdlib.h>
9
#include <time.h>
9
#include <Xm/Xm.h>
10
#include <Xm/Xm.h>
10
#include <Xm/MainW.h>
11
#include <Xm/MainW.h>
11
#include <Xm/Form.h>
12
#include <Xm/Form.h>
Lines 14-19 Link Here
14
#include <Xm/PushBG.h>
15
#include <Xm/PushBG.h>
15
#include <Xm/Text.h>
16
#include <Xm/Text.h>
16
#include "notifier.h"
17
#include "notifier.h"
18
#include "config.h"
19
#include "cal.h"
17
20
18
#define SNOOZE_PERIOD	5*60*1000	/* snooze time in milliseconds */
21
#define SNOOZE_PERIOD	5*60*1000	/* snooze time in milliseconds */
19
22
Lines 29-36 static void snooze_callback (Widget, int, XmToggleButtonCallbackStruct *); Link Here
29
extern Display		*display;	/* everybody uses the same server */
32
extern Display		*display;	/* everybody uses the same server */
30
extern XtAppContext	app;		/* application handle for timer */
33
extern XtAppContext	app;		/* application handle for timer */
31
extern GC		gc;		/* everybody uses this context */
34
extern GC		gc;		/* everybody uses this context */
32
extern Pixel		color[NCOLS];	/* colors: COL_* */
35
extern Pixel		color[N_NCOLS];	/* colors: N_COL_* */
33
extern Pixel		bkcolor;	/* background color (COL_*) */
36
extern Pixel		bkcolor;	/* background color (N_COL_*) */
34
static Widget		mainwindow;	/* for popdown/popup by snooze */
37
static Widget		mainwindow;	/* for popdown/popup by snooze */
35
38
36
39
(-)a/src/parser.lex (-1 / +6 lines)
Lines 2-9 Link Here
2
#include "y.tab.h"
2
#include "y.tab.h"
3
#include "string.h"
3
#include "string.h"
4
#undef yywrap
4
#undef yywrap
5
int yywrap(void) { return(1); }
5
int yywrap(void);
6
int yywrap(void) {return(1);}
6
extern char *mystrdup(char *);
7
extern char *mystrdup(char *);
8
static void yyunput(int c, char *p);
9
static int input(void);
10
void fix_warnings2(void);
11
void fix_warnings2(void) {yyunput(0, 0); input();}
7
%}
12
%}
8
13
9
%%
14
%%
(-)a/src/parser.y (+6 lines)
Lines 7-12 Link Here
7
7
8
#ifdef linux
8
#ifdef linux
9
#define gettxt(a,b) b	/* for linux */
9
#define gettxt(a,b) b	/* for linux */
10
extern int yylex(void);
11
extern int yyerror(char *msg);
12
static void yyunput(int c, char *p) {(void)c; (void)p;}
13
static int input(void) {return 0;}
14
void fix_warnings1(void);
15
void fix_warnings1(void) {yyunput(0, 0); input();}
10
#endif
16
#endif
11
17
12
extern int	 parse_year;
18
extern int	 parse_year;
(-)a/src/proto.h (-2 / +25 lines)
Lines 174-179 extern void write_vcal_mainlist( Link Here
174
extern void help_callback(		/* print help for a topic */
174
extern void help_callback(		/* print help for a topic */
175
	Widget		parent,
175
	Widget		parent,
176
	char		*topic);
176
	char		*topic);
177
extern void destroy_help_popup(void);
177
178
178
/*---------------------------------------- holiday.c ------------*/
179
/*---------------------------------------- holiday.c ------------*/
179
180
Lines 222-227 extern int day_from_wday( Link Here
222
	int		num);
223
	int		num);
223
extern void dump_holiday(
224
extern void dump_holiday(
224
	int		year);
225
	int		year);
226
extern void reset_holidays(
227
	struct holiday	*hp);
225
228
226
/*---------------------------------------- util.c ------------*/
229
/*---------------------------------------- util.c ------------*/
227
230
Lines 249-254 void print_info_line(void); Link Here
249
char to_ascii(
252
char to_ascii(
250
	char		*str,		/* string to convert to ascii */
253
	char		*str,		/* string to convert to ascii */
251
	int		def);		/* default if string is empty */
254
	int		def);		/* default if string is empty */
255
char *to_octal(
256
	int		n);		/* ascii to convert to string */
252
257
253
/*---------------------------------------- xutil.c ------------*/
258
/*---------------------------------------- xutil.c ------------*/
254
259
Lines 268-278 extern void drag_init( Link Here
268
	int		view,		/* 'm', 'd', 'w', or 'o' */
273
	int		view,		/* 'm', 'd', 'w', or 'o' */
269
	Widget		canvas,		/* drawing area to initialize */
274
	Widget		canvas,		/* drawing area to initialize */
270
	Widget		info,		/* label widget for info messages */
275
	Widget		info,		/* label widget for info messages */
271
	void		(*rcb)(),	/* redraw callback */
276
	void		(*rcb)(Region),	/* redraw callback */
272
	MOUSE		(*lcb)());	/* locate position in canvas */
277
	MOUSE		(*lcb)(struct entry **,
278
			       BOOL *, time_t *,
279
			       time_t *, int *,
280
			       int *, int *, int *,
281
			       int, int));	/* locate position in canvas */
273
extern void drag_destroy(
282
extern void drag_destroy(
274
	int		view);		/* 'm', 'd', 'w', or 'o' */
283
	int		view);		/* 'm', 'd', 'w', or 'o' */
275
284
285
extern void set_cursor(
286
	Widget		w,		/* in which widget */
287
	int		n);		/* which cursor, one of M_* */
288
276
/*---------------------------------------- popup.c ------------*/
289
/*---------------------------------------- popup.c ------------*/
277
290
278
extern void create_about_popup(void);	/* create About info popup */
291
extern void create_about_popup(void);	/* create About info popup */
Lines 291-296 extern void create_error_popup( Link Here
291
/*---------------------------------------- print.c ------------*/
304
/*---------------------------------------- print.c ------------*/
292
305
293
extern void create_print_popup(void);	/* create a print popup */
306
extern void create_print_popup(void);	/* create a print popup */
307
extern void destroy_print_popup(void);
294
308
295
/*---------------------------------------- sublist.c ------------*/
309
/*---------------------------------------- sublist.c ------------*/
296
310
Lines 340-345 extern void destroy_day(void); /* release the day node trees. */ Link Here
340
/*---------------------------------------- adjmenu.c ------------*/
354
/*---------------------------------------- adjmenu.c ------------*/
341
355
342
extern void create_adjust_popup(void);	/* create an adjust popup */
356
extern void create_adjust_popup(void);	/* create an adjust popup */
357
extern void destroy_adjust_popup(void);
343
358
344
/*---------------------------------------- calmenu.c ------------*/
359
/*---------------------------------------- calmenu.c ------------*/
345
360
Lines 367-372 extern void set_widget_size( /* set the size of a widget */ Link Here
367
/*---------------------------------------- cnfmenu.c ------------*/
382
/*---------------------------------------- cnfmenu.c ------------*/
368
383
369
extern void create_config_popup(void);	/* create a config popup */
384
extern void create_config_popup(void);	/* create a config popup */
385
extern void destroy_config_popup(void);
370
386
371
/*---------------------------------------- cycmenu.c ------------*/
387
/*---------------------------------------- cycmenu.c ------------*/
372
388
Lines 404-413 extern void create_except_popup(void); /* create an exception */ Link Here
404
/*---------------------------------------- gotomenu.c ------------*/
420
/*---------------------------------------- gotomenu.c ------------*/
405
421
406
extern void create_goto_popup(void);	/* create a goto popup */
422
extern void create_goto_popup(void);	/* create a goto popup */
423
extern void destroy_goto_popup(void);
407
424
408
/*---------------------------------------- holmenu.c ------------*/
425
/*---------------------------------------- holmenu.c ------------*/
409
426
410
extern void create_holiday_popup(void);	/* create a holiday popup */
427
extern void create_holiday_popup(void);	/* create a holiday popup */
428
extern void destroy_holiday_popup(void);
411
429
412
/*---------------------------------------- keymenu.c ------------*/
430
/*---------------------------------------- keymenu.c ------------*/
413
431
Lines 446-451 extern BOOL all_files_served(void); /* all files read from IP servers? */ Link Here
446
extern void create_user_popup(void);	/* create user popup */
464
extern void create_user_popup(void);	/* create user popup */
447
extern void create_user_rows(void);	/* make enough rows in user menu list*/
465
extern void create_user_rows(void);	/* make enough rows in user menu list*/
448
extern void draw_user_row(int);		/* redraw a row in the user menu list*/
466
extern void draw_user_row(int);		/* redraw a row in the user menu list*/
467
extern void destroy_user_popup(BOOL);
449
468
450
/*---------------------------------------- servmenu.c ------------*/
469
/*---------------------------------------- servmenu.c ------------*/
451
470
Lines 476-481 extern void destroy_day_menu(void); Link Here
476
extern void create_day_menu(		/* create the day menu for curr_day */
495
extern void create_day_menu(		/* create the day menu for curr_day */
477
	Widget		parent);
496
	Widget		parent);
478
497
498
/*---------------------------------------- confmenu.c -----------*/
499
500
extern void destroy_calconfig_popup(void);
501
479
/*---------------------------------------- editdraw.c ------------*/
502
/*---------------------------------------- editdraw.c ------------*/
480
503
481
extern void draw_list(			/* draw or redraw a list of entries */
504
extern void draw_list(			/* draw or redraw a list of entries */
(-)a/src/sublist.c (-12 / +37 lines)
Lines 19-39 Link Here
19
19
20
#define CHUNK		100			/* sublist allocation unit */
20
#define CHUNK		100			/* sublist allocation unit */
21
21
22
#ifndef NOREGEX
23
#if defined(linux)
24
#include <regex.h>
25
#else
26
#define regex_t char
27
#endif
22
#if defined(SUN) && !defined(SOLARIS2)
28
#if defined(SUN) && !defined(SOLARIS2)
23
#define regcmp re_comp
29
#define regcmp re_comp
24
#define regex re_exec
30
#define regex re_exec
31
extern char		*regcmp(), *regex(), *__loc1;
25
#endif
32
#endif
26
#if defined(linux) || defined(__EMX__)
33
#if defined(__EMX__) || defined(__FreeBSD_kernel__)
27
#define regcmp regcomp
34
#define regcmp regcomp
28
#define regex regexec
35
#define regex regexec
29
#endif
30
#ifndef NOREGEX
31
extern char		*regcmp(), *regex(), *__loc1;
36
extern char		*regcmp(), *regex(), *__loc1;
32
#endif
37
#endif
38
#endif
33
extern int		search_mode;		/* 0=case, 1=lit, 2=regex */
39
extern int		search_mode;		/* 0=case, 1=lit, 2=regex */
34
extern struct user	*user;			/* user list (from file_r.c) */
40
extern struct user	*user;			/* user list (from file_r.c) */
35
static void		append_entry(struct sublist **, struct entry *);
41
static void		append_entry(struct sublist **, struct entry *);
36
static BOOL		keymatch(char *, char *);
42
static BOOL		keymatch(char *, regex_t *, char *);
37
43
38
44
39
/*
45
/*
Lines 85-106 void create_sublist( Link Here
85
				if (isupper(*k)) *k = tolower(*k);
91
				if (isupper(*k)) *k = tolower(*k);
86
		}
92
		}
87
#ifndef NOREGEX
93
#ifndef NOREGEX
88
		if (search_mode == 2)
94
		regex_t *preg = 0;
95
		if (search_mode == 2) {
96
#if defined(linux)
97
			preg = (regex_t *)malloc(sizeof(regex_t));
98
			if (regcomp(preg, key, 0)) {
99
#else
89
			if (!(key = regcmp(key, 0))) {
100
			if (!(key = regcmp(key, 0))) {
101
#endif
102
				free(preg);
90
				list->locked--;
103
				list->locked--;
91
				return;
104
				return;
92
			}
105
			}
106
		}
93
#endif
107
#endif
94
		for (ep=list->entry, i=0; i < list->nentries; i++, ep++)
108
		for (ep=list->entry, i=0; i < list->nentries; i++, ep++)
95
			if (((ep->message && keymatch(key, ep->message)) ||
109
		    if (((ep->message && keymatch(key, preg, ep->message)) ||
96
			     (ep->script  && keymatch(key, ep->script )) ||
110
			 (ep->script  && keymatch(key, preg, ep->script )) ||
97
			     (ep->note    && keymatch(key, ep->note   ))) &&
111
			 (ep->note    && keymatch(key, preg, ep->note   ))) &&
98
					      (!w->own_only || !ep->user ||
112
					  (!w->own_only || !ep->user ||
99
					      !strcmp(user[0].name, ep->user)))
113
					  !strcmp(user[0].name, ep->user)))
100
				append_entry(&w->sublist, ep);
114
			    append_entry(&w->sublist, ep);
101
#ifndef NOREGEX
115
#ifndef NOREGEX
102
		if (search_mode == 2)
116
		if (search_mode == 2) {
117
#if defined(linux)
118
			regfree(preg);
119
			free(preg);
120
#else
103
			free(key);
121
			free(key);
122
#endif
123
		}
104
#endif
124
#endif
105
		if (search_mode == 1)
125
		if (search_mode == 1)
106
			free(key);
126
			free(key);
Lines 158-163 void destroy_sublist( Link Here
158
178
159
static BOOL keymatch(
179
static BOOL keymatch(
160
	char		*key,		/* keyword to look for */
180
	char		*key,		/* keyword to look for */
181
	regex_t		*preg,		/* linux: compiled regex */
161
	char		*string)	/* text to look in */
182
	char		*string)	/* text to look in */
162
{
183
{
163
	char		*p;		/* fast string scan ptr */
184
	char		*p;		/* fast string scan ptr */
Lines 194-203 static BOOL keymatch( Link Here
194
215
195
#ifndef NOREGEX
216
#ifndef NOREGEX
196
	  case 2: {
217
	  case 2: {
218
#if defined(linux)
219
		return(regexec(preg, string, 0, 0, 0) == 0);
220
#else
197
		char dummy[1024];
221
		char dummy[1024];
198
		return(regex(key, string,
222
		return(regex(key, string,
199
				dummy, dummy, dummy, dummy, dummy,
223
				dummy, dummy, dummy, dummy, dummy,
200
				dummy, dummy, dummy, dummy, dummy) != 0);
224
				dummy, dummy, dummy, dummy, dummy) != 0);
225
#endif
201
		}
226
		}
202
#endif
227
#endif
203
	}
228
	}
(-)a/src/time.c (-3 / +3 lines)
Lines 172-179 void set_tzone(void) Link Here
172
#ifdef DEBUG
172
#ifdef DEBUG
173
static char *zone_time_string();
173
static char *zone_time_string();
174
#endif
174
#endif
175
static int get_zone_time();
175
static int get_zone_time(char **tzp, int zdefault);
176
static int julian_year_date();
176
static int julian_year_date(char **tzp);
177
177
178
void guess_tzone(void)
178
void guess_tzone(void)
179
{
179
{
Lines 350-356 static int get_zone_time( Link Here
350
 */
350
 */
351
351
352
extern int	curr_year;		/* year being displayed, since 1900 */
352
extern int	curr_year;		/* year being displayed, since 1900 */
353
time_t		date_to_time();
353
time_t		date_to_time(int, int, int, int *, int *, int *);
354
354
355
static int julian_year_date(
355
static int julian_year_date(
356
	char		**tzp)
356
	char		**tzp)
(-)a/src/usermenu.c (-3 / +4 lines)
Lines 894-902 static void delete_callback( Link Here
894
#endif
894
#endif
895
895
896
static int compare(CONST void *u, CONST void *v) {
896
static int compare(CONST void *u, CONST void *v) {
897
	return(  ((struct user *)u)->color == ((struct user *)v)->color
897
	CONST struct user *up = (CONST struct user *)u;
898
	? strcmp(((struct user *)u)->name,    ((struct user *)v)->name)
898
	CONST struct user *vp = (CONST struct user *)v;
899
	:        ((struct user *)u)->color -  ((struct user *)v)->color); }
899
	return(up->color == vp->color ? strcmp(up->name,   vp->name)
900
				      :        up->color - vp->color); }
900
901
901
/*ARGSUSED*/
902
/*ARGSUSED*/
902
static void sort_callback(
903
static void sort_callback(
(-)a/src/usersel.c (-1 / +1 lines)
Lines 61-67 void destroy_user_sel_popup(void) Link Here
61
void create_user_sel_popup(
61
void create_user_sel_popup(
62
	UNUSED Widget	widget,		/* install popup near this button */
62
	UNUSED Widget	widget,		/* install popup near this button */
63
	int		curr,		/* current user ID (default) */
63
	int		curr,		/* current user ID (default) */
64
	BOOL		(*callb)())	/* function to call with new user ID */
64
	BOOL		(*callb)(int))	/* function to call with new user ID */
65
{
65
{
66
	Widget		form, radio, w, done;
66
	Widget		form, radio, w, done;
67
	Arg		args[20];
67
	Arg		args[20];
(-)a/src/version.h (-1 / +1 lines)
Lines 2-8 Link Here
2
 * version string for schedule, daemon, and notifier
2
 * version string for schedule, daemon, and notifier
3
 */
3
 */
4
4
5
#define VERSION "V1.10.1"
5
#define VERSION "V1.12"
6
6
7
#ifdef JAPAN
7
#ifdef JAPAN
8
#define JAPANVERSION " Japanese"
8
#define JAPANVERSION " Japanese"
(-)a/src/xutil.c (-5 / +18 lines)
Lines 352-362 static struct dragc_s { Link Here
352
	int	view;			/* [0]='m', [1]='d', [2]='w', [3]='o'*/
352
	int	view;			/* [0]='m', [1]='d', [2]='w', [3]='o'*/
353
	Widget	canvas;			/* drawing area */
353
	Widget	canvas;			/* drawing area */
354
	Widget	info;			/* text widget for info msgs, or 0 */
354
	Widget	info;			/* text widget for info msgs, or 0 */
355
	void	(*expose_cb)();		/* expose callback */
355
	void	(*expose_cb)(Region);	/* expose callback */
356
	MOUSE	(*locate_cb)();		/* locate callback */
356
	MOUSE	(*locate_cb)(		/* locate callback */
357
		    struct entry **,
358
		    BOOL *, time_t *,
359
		    time_t *, int *,
360
		    int *, int *, int *,
361
		    int, int);
357
}		drag_context[NVIEWS];
362
}		drag_context[NVIEWS];
358
363
359
static void expose_callback();
364
static void expose_callback(
365
	UNUSED Widget			canvas,		/* drawing area */
366
	XtPointer			data,		/* view: 0..NVIEWS-1 */
367
	XmDrawingAreaCallbackStruct	*info);		/* what & where */
360
368
361
static String translations =
369
static String translations =
362
		"<Btn1Down>:	canvas(down)	ManagerGadgetArm()\n\
370
		"<Btn1Down>:	canvas(down)	ManagerGadgetArm()\n\
Lines 368-375 void drag_init( Link Here
368
	int		view,		/* 'm', 'd', 'w', or 'o' */
376
	int		view,		/* 'm', 'd', 'w', or 'o' */
369
	Widget		canvas,		/* drawing area to initialize */
377
	Widget		canvas,		/* drawing area to initialize */
370
	Widget		info,		/* label widget for info messages */
378
	Widget		info,		/* label widget for info messages */
371
	void		(*rcb)(),	/* redraw callback */
379
	void		(*rcb)(Region),	/* redraw callback */
372
	MOUSE		(*lcb)())	/* locate position in canvas */
380
	MOUSE		(*lcb)(		/* locate position in canvas */
381
				struct entry **,
382
				BOOL *, time_t *,
383
				time_t *, int *,
384
				int *, int *, int *,
385
				int, int))
373
{
386
{
374
	static BOOL	did_init = FALSE;
387
	static BOOL	did_init = FALSE;
375
	XtActionsRec	action;
388
	XtActionsRec	action;
(-)a/src/yovmenu.c (-1 / +1 lines)
Lines 498-502 static void other_callback( Link Here
498
	UNUSED int			item,
498
	UNUSED int			item,
499
	UNUSED XmToggleButtonCallbackStruct*data)
499
	UNUSED XmToggleButtonCallbackStruct*data)
500
{
500
{
501
	create_user_sel_popup(widget, config.yov_user, (BOOL (*)())callback);
501
	create_user_sel_popup(widget, config.yov_user,(BOOL (*)(int))callback);
502
}
502
}
(-)a/web/welcome.html (-1 / +11 lines)
Line 0 Link Here
0
- 
1
<HTML VERSION="2.0">
2
<HEAD>
3
</HEAD>
4
<BODY BGCOLOR="#ffffff">
5
<CENTER>
6
<FONT size=4>
7
Welcome to WebPlan 1.8
8
</FONT>
9
</CENTER>
10
</BODY>
11
</HTML>

Return to bug 739904