October 16, 2004
	fix bug in latin1 keyboard data for superscript 1,2,3.

	bug in acme handling of arrow keys in Zeroxed windows fix from rob

	add " and ""

	add clumsy way to get at buffer contents in 9term

	add ulimit and umask as rc builtins [sic]

	print out signalled exits in rc.  need to think more about this.

September 28, 2004
	autoindent fixes from rob for acme

	fix bug in __fmtcpy reported by rob


September 22, 2004
	add stringn builtin to acid

	remove 64-bit constants from nan.c

	keep fighting with pthreads.

	good thing about pthreads: no more 9proc.

September 20, 2004
	bug fix in download - read right files

	more pthreads futzing

September 17, 2004
	more changes for pthreads.  note that this means binaries compiled
	for linux 2.6 will *not* work on linux 2.4.  the 2.4 binaries may well
	work on 2.6, though.  it also means that at the moment, threaded programs
	on linux 2.6 cannot be fully inspected with acid (grr).

September 16, 2004
	change ports to use pthreads, remove ported rendezvous
	in favor of using the new primitives _procsleep and _procwakeup

August 22, 2004
	powerpc linux support from ericvh - mostly va_copy and an sprint bug

	add -swap to psv

	call wmail to send mail in plumbing rules

August 17, 2004
	fix major bug in lex introduced by trying to satisfy gcc.

August 16, 2004
	handle grap.defines properly

August 13, 2004
	better handing of top/active in rio
	better mask handling in rio

August 10, 2004

	try to be more consistent about _exit and _exits in libthread

	change plumbing rule for html to send to editor

July 3, 2004
	Add missing parameter to smprint in libdraw/x11-init.c.  From rob.
	Add missing parameter type in samterm/main.c.  Also from rob.
	Teach web about vanilla Mozilla.
	Make 9term more clever about terminal echo. From Axel Belinfante.

June 20, 2004

	x11 geometry fixes, from Peter Canning

June 9, 2004

	#define PLAN9PORT when compiling (sorry)

	handle local files better in web

	rewrite malloc, realloc, calloc, free, strdup to p9*

	various venti library fixes

	update plumbing rules to handle urls better

	add mouse wheel scrolling to acme, libdraw, from rob

	add mouse wheel scrolling to 9term

	add page up, pagedown, etc. work in sam

	better plumbing in sam, from presotto

	fix race in rendez-signal.

	quiet httpd a bit

	fix race in libthread - call _exit not exit

	first try at making delete work in rio for gv, from wkj

	make top windows active more often in rio

May 18, 2004

        merge troff and friends from wkj and Taj Khattra

May 14, 2004

	more small bug fixes

	acme: make arrows work in tags, from rob

	sam: make sam -r machine files work, from presotto

May 11, 2004

	more small bug fixes

May 9, 2004

	don't reference data below stack pointer in sha1, md5


May 5, 2004

	various bug fixes

April 29, 2004

	add -W to specify window size

	minor fixes

April 27, 2004

	add threadspawn

April 25, 2004

	add gview, image viewer, scat

	fix note groups in rc

	fix mc, remove Dotfiles from acme in favor of Getdir

	fix extraneous flush in Bprint

	add block device size for linux

	make astro work on suns

April 23, 2004

	fix B to handle non-existent files properly

	add stats

	various 9term/rio fixes from axel belinfante

	reformat sunos compiler errors to use file:line format

April 21, 2004

	add bc, units, mtime, primes, news

	add registers to acid stack traces

	add acid man page (forgotten before)

	add proper support for long names in archives to mk
	change mksyslib, mklib to use mk's magic archive powers

	add jpg, map, pr, p.

	rename Bwait to E (thanks to rob for the name).

	add -m flag to mkdir

	fix acid's handling of infinite includes

	rename yacc to 9yacc so that we can be sure to find it.

	stop malloc'ing in signal handlers.
	in fact, stop locking anything.

	add rfork(RFNOWAIT) support.  

	add libsunrpc.

	back out funny graphics in 9term menu.

	import assembler routines for libmp and libsec
		on x86 from william josephson's tree

	add truerand which uses /dev/random to seed PRG

	add aescbc, astro, lex, and tcs

	import man9 from william josephson's version of the port

April 20, 2004

	make 9term handle \r kind of.

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.

