April 19, 2004

	lots of man page updates.

	fix bug in comm, reported by Taj Khattra.

	add libmach, db, acid

April 18, 2004

	add utf-8 input support from david tolpin.

	pick up rog's acme fixes w.r.t. cut and paste

	small fixes to ps, B, web

	more types in u.h

	man page nits

	make gzip, bzip2 work with gnu tar

	add fmt, tweak

	change misc/ding checkboxes to be smaller


April 17, 2004

	make 9term work a bit better w.r.t. terminal modes

April 14, 2004

	add look.  thanks to Taj Khattra.
	add plot, graph.  thanks to Taj Khattra.
	add gzip, bzip2.  thanks to Taj Khattra.

April 8, 2004

	speed up ls

	import htmlfmt from wkj

April 5, 2004

	Fixes to rio from Axel.

	Add atoll, etc.

April 2, 2004

	Add missing unsharps to dict.  Reported by Robby (plan9@blueyonder)

March 30, 2004

	Change label to use nawk on SunOS.

	Change libdraw to elide mouse motion events when they
		pile up.
	
March 29, 2004

	Add window resizing by dragging borders to rio.
	Code from Axel Belinfante.

	Added code to make 9term fade itself when it loses
	focus running under rio.

March 26, 2004

	Fix 9term chording paste bug reported by Sam.

	Fix libdraw resize bug reported by Axel Belinfante.

	Handle interrupts better in rc - don't kill background procs.
	Reported by Sam.

	9term OpenBSD support from Markus Friedl.

	More appeasement of Sun C compiler.

March 25, 2004

	Change putenv not to free the string after calling real putenv.
	Apparently BSDs copy the string but Linux and others use the
	one you pass in.

	Add Indent command to acme listing.  Reported by Rob Pike.

	Define clock to plumbclock in plumber/fsys.c to avoid name clash on SunOS.
	Reported by Axel Belinfante and Markus Friedl.

	Expanded NOTES to discuss CVS some more.

	Change one instance of ulong in rio to unsigned long.

	Tweak SunOS ps from Axel Belinfante.

	Change diff not to mention the dirty word "stdout" anymore.
	Reported by Taj Khattra et al.

	Change 9l to add -lpthread on OpenBSD.
	Reported by Markus Friedl.

	Change 9l to add -Rfoo for each -Lfoo on the command line
	on SunOS.  Avoids need to maintain LD_LIBRARY_PATH.
	Reported by Axel Belinfante.

	#define time to p9time in libc.h for systems where time_t != long (OpenBSD).
	Reported by Markus Friedl.

	Add SHAPE support and bitmapped grey background back to rio.
	Reported by Markus Friedl.

	Add various OpenBSD-specific files from Markus Friedl.

	Change rcmain to use "test" rather than "/bin/test" to accomodate
	systems where test is in /usr/bin.   Reported by Sam.

	Silence "unknown id '' in attach" message from acme.
	There are just more attaches than there were in Plan 9, and not
	all of them are for windows.

	Change 9term to handle "send" a little better.

	Add grep.  Reported by Taj Khattra.

	Split lib9.h into u.h and libc.h, so that programs can
	include u.h, then unix headers, then libc.h.  Then changed
	lib9 to do this.
	Fixes many warnings on SunOS reported by Axel Belinfante.

	Change 9term not to misfree when plumbing empty string.
	Fix reported by Taj Khattra.

	Fix threadexecl to process vararg list with va_list etc. rather 
	than using &f+1.  The &f+1 trick fails on SunOS.  Reported by
	Axel Belinfate.

	Change x11-init to handle SunOS 24-bit colormapped screen
	properly?  Fix reported by Axel Belinfante.  Let's just play along.

	Add awd.  Suggested by Sam.

	9term no longer aborts without plumber.

	Remove _p9translate from guts of various calls.
	Instead, callers who want #9 or #d paths explicitly call unsharp
	to translate them.

	Added ^F completion to 9term.

	Change win to use a real pty, so that things like rubout work.

	Change 9term, win to handle rubout even when output
		is streaming in.

	Start recording changes.

