Changes:      CHANGES     2.42     95/09/13

	Add new #define in xcal.h that permits users of the -u
	option to write to the files. This is a compilation define
	some people may NOT like the idea that their calendar files
	are writeable.		
	Fix some places which allowed editing of other people's files
	and then made xcal crash. 

	Correct the weekly file selection in AlarmFilePoll. It used
	today and not the argument that was given to it

	Initialise tm structure in CycleDays and CycleMonths (xcal.c)
	Apparently linux barfed on this. It's probably accident that this
	works OK on the other machines.

--------------------------- 4.1
	
	Remove the `marked' resource. First, it was broken anyway and
	second it got in the way of having different colours for each day.

	Add a lot of code to cope with different systems. Remove mmap
	from most programs except xcal_help.c. Some systems that
	purport to support mmap would do well to remove it (Ultrix
	seems one).

	Grateful thanks to the several people who worked on the beta
	releases for me.

--------------------------- 4.1 (beta version of new features)
	
	Add in a scroll bar for the date strip, so if it doesn't fit on
	the screen (or is larger than a named resource maxStripHeight)
	then you get a scroll bar appearing. This uses a viewport
	widget and has changed the widget structure of the date strip.
	I am a little dubious of the height arithmetic here.

	A nice thing to do would be to ensure that `today' was always in
	the centre of the viewport. This doesn't seem possible.
	------- 
	Alter the NAME of the form widget in the strip to be the Short name of
	the day. This allows resources to be used to change fonts and colours
	for days of the week, eg:

		XCal*Sat*Label*font: lucidasans-typewriterbold-12
	-------
	Regularise the use of dirent rather than the old 4.2 names. This may
	need some changes for SYSV based systems, I am unsure. However, let's
	start with clean code.
	-------
	Radically alter the way that date formats are done. 
	The toplevel widget is now driven by strftime() - and a user defined
	resource using standard time formats is used to set it. This is
	replicated for the memo window. The dates at the top of edit windows
	and strips are set by a modified version of strftime() - this one
	just deals in days, months and years. Again a resource is used to
	set it.
	-------
	Add the ability to insert a clock in the top level widget. Using the
	date format string to decide the format that is needed. The code also
	adapts the polling frequency depending on the clock that is needed.
	If the string does not mention seconds, then the clock will be
	pinged every minute. If you want the clock to tick every 30 secs,
	then the resource clockTick can be set.
	-------
	Add limited support for group usage. If called with
		-u user then it looks for the user's directory and
	reads files from it. I found that some sites are sharing
	calendars by using `cat', this is just a better interface than
	that.

	I don't want to make it setuid, so if there is no access
	permission for the directory (or the user has hidden it my
	moving it from the regular name) then it won't find the files.
	The program is constrained not to write any files in this mode.
	It will also not start any alarms.
	
	If a calendar file is read-only to the user, then the string
	'Private entry' is displayed. Not much - but something. There
	should be a private/public button on the edit box.

	The user is reminded that this invocation is not reading their
	files because the string (user) is added to various date
	titles. (Someday, proper group usage should be done).
	-------
	Fix from Ed Gould. Add a new resource execAlarms to inhibit the
	! and %cron commands from happening - even though the remaining
	alarms will fire.
	-------
	Respond to some observations by Jaap Akkerhuis. Now when most buttons
	are pressed they are made insensitive - so a further button press
	causes no action. Previously you could get many invocations of dialogs
	and questions - things could get messy when windows were removed in
	non-logical orders. Has this fixed everything? Well time will tell.
	The solution is perhaps a little messy. Still this is the trouble
	with altering the code rather than re-writing it.
	-------
	Act on an idea from Mac Pigman - there is now an edit button on
	the Memo panel that allows you to edit today's Calendar entry.
	-------
	Redo the way that help is done. Can now take the text from a file
	and/or compile it in. This should help non-English speaking users
	to have a local language help. A shell script is provided to take
	the help file and translate it into some C.
	-------
	Rework various button handling so that buttons are made insensitive
	when they are pressed. The main problem here is putting them back on
	safely. This has added perhaps too much code - but it works better
	--------
	Redo the manual page
	--------
	Make the title bar widgets adjust their offset from the outside world
	so that they are centred vertically
	--------
	Allow for the 12 hour clock in alarms. If the resource AlarmWarp is
	set true and the time of the alarm is between zero and the value
	in MinAlarmWarp then the time is taken as a pm time. This idea from
	Mark Pawliger.
	---------
	When the Cmd resource is set, the command that is executed takes the
	data from the remainder of the calendar line as an argument. Ensure
	that 1) this is passed as a quoted single argument to the system routine
	call. Cope with embedded single quotes.
	---------
	Fix memory leak when displaying the Weekly entry (leak spotted by
	chet@arc.uucp - be nice to have his real name)
	---------
	Make a number of changes to the alarm system to attempt to stop
	the races that happened when using ClockTick update polling. It turns
	out that various bits of the old code was done without real regard
	for the event driven nature of X applications. The code now appears
	to trigger alarms OK - and will not break when the control files are
	reloaded. While I was testing this the clocks went back an hour and
	that caused some confusion until I realised what had happened.
	
	It's still the case that alarms need one minute to trigger properly.
	----------
	Provide xcalev, this should go somewhere to meet the needs of the
	several people who mailed saying `it's great' but I cannot deal with
	regular events... so I won't be using it. Their loss I feel :-)
	----------
	Provide xcalpr, print calendar entries to a text terminal.
	Also generates input for the calendar program
	----------
	Put xcalev, xcalpr, xcal_cal into sub dirs, deal with the Imakefiles
	to do that.
	----------
	Remove AT&T code and replace with code from the NetII tape.

--------------------------- 3.4

	Add Xos.h as a define in xcal.c and xcal_edit.c.

	When the middle button is used to get a month/year selection
	box, if you just type the month name, you will get the next month
	with that name, not the month THIS year.

	Fix in xcal_alarm.c that was freeing a non freeable area.
	I bet this has caused some problems.
	Fix from Julian Bradfield <jcb@dcs.ed.ac.uk>
 
	Fix in xcal_strip.c which is causing widgets to be named
	incorrectly. Widgets were called `Day' rather than '1 Day' as
	advertised. Bug spotted by James Matthew Farrow <matty@cs.su.oz.au>.
	(This later removed to allow days to be specified in resources)

	------- 
	(These from Miles O'Neal <meo@pencom.com>)

	Now builds for NeXTSTEP 3.0.

	Compiler warnings were cleaned up.

	Top level help now through button, not printed to tty.
	Help boxes are reused, not created and destroyed every
	time they are accessed.  This also prvents multiple
	copies of the same help box from existing simultaneoulsy.

	Added the calendar icon from bricons.
	--------
	I guess I have changed my C bracketing style in the last two
	years. Ran the code through indent so I would feel a little happier.
	--------
	Well, I had this idea two years ago.

	If you now make a selection using the mouse - select some text
	on the screen - then it can be appended into a day file by
	simply clicking with the MIDDLE mouse button on the day of your
	choice. This makes it easy to set groups of dates up using the
	mouse.


--------------------------- 3.3

	Implement the ability to deal with regular weekly events.
	This is part of the memo system. Today's current events are
	shown as part of the memo panel. They can be edited by hitting
	a button and bringing up a special strip with an entry for
	each day. These regular event files are integrated into
	the alarm system.

	Allow today's name: Monday, Tuesday etc to appear in the top
	level widget, the header of an edit window and the title of
	the memo box. This is controlled by the Order and Format
	resources and so previous behaviour can be maintained. Beware
	that this redefines the names of the days so
		Sunday maps to Sunday
	and a new short name is used for the abbreviated form
		Sun maps to Sun
	used in date strips.

	Ensure that middle and right button translations work in the
	memo button in the top level widget (suggested by Casey
	Leedom).

	New Imakefile from Casey Leedom. This has support for pscal.
	New pscal/Imakefile.

	Add initialMemo resource so the memo box can popup at startup
	time - (suggested by G. W. Pigman III)

	Steven Plite pointed out that the year display is
	inconsistent. To allow choice, add three new resources:
		dateYearIsTwoDigits
		memoYearIsTwoDigits
		editYearIsTwoDigits
	You can now choose how you would like to have your year
	displayed in the various places.
	Defaults to showing four digits.

	System V release 4 fixes from Dave McCraken.
	Alters: xcal_alarm.c, xcal_cal.c, *.bm xcal.c

	The memo box quit button causes a Save File
	dialogue box to be popped if the memo data has been
	altered and not saved. The behaviour of this was wrong
	when there was no memo data.	Reported by Greg Bond.
	Fixed by changing tests in xcal_memo.c.

	Proper length of a directory entry under SYSV is 
	strlen(dp->d_name) not strlen(dp->d_name)+1.
	Changed xcal_edit.c 			(Dave McCraken)

	Eliminated double definition of GetMemoFile() and incorrect
	definition of MemoHelp() in xcal_memo.c (David C Lawrence)

--------------------------- 3.2 

Xcal - Version 3.2 Issued to comp.sources.x

	Fixes some stupid bugs
	Ensures that update code works properly

---------------------------- 3.1

Xcal - Version 3.1 Issued to comp.sources.x (un-intentionally)

	Adds the memo functionality and the Stick/Unpin feature
	for alarms.

---------------------------- 2.1

Xcal - Version 2.1 Issued privately

	Two main differences between version 1.1 and version 2.1
	a)	Version 2.1 has alarms so that xcal can poll you
		during the day - idea contributed by Mark Majhor, Sequent
		and then unashame-edly hacked by me.
	b)	Version 2.1 has a support program supplied by Ed Gould
		from Mt Xinu allowing you to set up a file suitable for
		driving UNIX's calendar program.

---------------------------- 1.6

pscal/pscal.sh	Fix to make sed work better to truncate the calendar file
		when printing.
		From Gregory Bond, Burdett Buckeridge & Young Ltd, Melbourne, Australia
		Internet: gnb@melba.bby.oz.au    non-MX: gnb%melba.bby.oz@uunet.uu.net

---------------------------- 1.5

xcal.h		Add initialCalendar/initialEdit switches
		Support for better start-up options... from
		From: Rod Whitby <rwhitby@adl.austek.oz.au>

xcal.c		Add hooks and code to perform startuo

Imakefile	Corrected

xcal.man	Add new lines supporting initialCalendar/initialEdit

---------------------------- 1.4
xcal_edit.c	Fix bug where colour mapping on days failed to change when
		data is deleted or added.

xcal.h/xcal.c/xcal_strip.c
		Add a new resource minStripWidth intended to allow
		users to widen the strip to some value which seems
		sensible. If zero the resource is unused.

XCal.ad		Add colour map from wade@cs.utk.edu

xcal_edit.c	Changes to XBell calls due to typo
		Steve Alexander, Software Technologies Group
		INTERACTIVE Systems Corporation, Naperville, IL
		 ...!{sun,ico}!laidbak!stevea
		stevea@i88.isc.com


	
Xcal - Version 1.1 Issued to the net comp.sources.x. 
		xcal: Volume 7, Issue 1-2

