January 18, 2005
	make src/libthread/pthread.c compile
	add threadspawnl, fsseek.
	add link to web interface in cvs(1).
	remove hard-coded path in fixurls
	preliminary x86-64 support
	explain nptl in src/libthread/README.Linux
	libventi bug fixes
	add threadgetname to libthread
	bigger chunking in sort(1)
	bug fix in acid
	add LOCAL.INSTALL
	extract command line from elf cores
	initial core(1) command
	fix race in libthread proccreate
	do not use -Wl,-rpath on Darwin
	do not translate man pages in lib/moveplan9.sh

January 17, 2005
	thread.c tries to warn about bad pthreads on Linux
	vacfs posts vacfs.basename
	fix nil deref in acid
	change 9c, 9l to detect nptl properly (not relying on running kernel version)
	change psu to use 9 ps
	do not call exits in threaded programs

January 16, 2005
	bring fds from daemonize down to high 20s from high 90s for NetBSD.
	use -Wl,-rpath in gcc in 9l for NetBSD.
	make vacfs work (patch from Lucho)
	make vacfs use EARGF
	add note about signal masks in TODO
		(Taj Khattra notes that acme doesn't ^Z well)
	add note about _x.black and _x.white in TODO
		(noted by David Leimbach)
	remove unixisms from dist/fixurls
	fix bugs in dist/main.html
	noteenable, notedisable, notifyon, notifyoff return old setting.
	update manual indices
	troff2html handles section (9p).
	add note in libthread/thread.c about stack-based pthreads
	make tmac.an's .HR better
	tweaks to unix mkfiles

January 15, 2005
	tcolors now uses threadexitsall
	syminit bug in mk.  (why does syminit exist?)
	
January 14, 2005
	man page updates - fixurls, manweb, rio.1, cvs.1, 0intro.1.
	add note about makecontext to TODO file (noted by Axel)

January 12, 2005
	First fully-documented release.

