William Harold Newman [Thu, 23 Aug 2001 22:11:58 +0000 (22:11 +0000)]
 
0.pre7.14.flaky4.10:
	fixed FLOAT-RADIX problem in float.pure.lisp
	found bug 120a/120b in the #!-SB-INTERPRETER case of
		POSSIBLY-AN-INTERPRETED-FRAME, and rewrote it to
		work around the bug
	made INTERNAL-EVAL go on to call the function even when
		FAILURE-P, since that's the right thing to do when
		e.g. there are type mismatch errors on code paths
		which turn out never to be executed
	similarly, made COMPILE set FDEFINITION even when FAILURE-P
	also fixed bug in COMPILE (and added test case): it's
		supposed to set MACRO-FUNCTION when NAME names a macro
William Harold Newman [Thu, 23 Aug 2001 14:09:01 +0000 (14:09 +0000)]
 
0.pre7.14.flaky4.9:
	(This version builds itself without :SB-INTERPRETER. Still a
		few regression tests commented out, though..)
	I looked at nlx stuff in byte-comp.lisp for a while, without
		getting much insight. So I mailed in a bug report to
		cmucl-imp@cons.org, in hopes that they'll fix it (or
		maybe even have already fixed it since 18c). Meanwhile
		I made a workaround, adding declarations to force the
		ARRAY translator to be compiled to native code.
William Harold Newman [Thu, 23 Aug 2001 01:15:32 +0000 (01:15 +0000)]
 
0.pre7.14.flaky4.8:
	(This version presumably builds itself, because I didn't make
		any very exciting changes since the last version that
		built itself; but I haven't actually tested.)
	We no longer need the distinction between PARSE-ALIEN-TYPE and
		%PARSE-ALIEN-TYPE, and it obscured the
		couldn't-byte-compile-FIND-ESCAPE-FRAME bug, so I
		eliminated it.
	I didn't fix the couldn't-byte-compile-FIND-ESCAPED-FRAME bug,
		but I find a much simpler test case which exercises
		the underlying bug, now recorded in BUGS as 119.
William Harold Newman [Wed, 22 Aug 2001 12:52:02 +0000 (12:52 +0000)]
 
0.pre7.14.flaky4.7:
	rewrote UNIX-FAST-SELECT as an inline function (and
		resurrected all the old argument DECLAREs)
	fixed weirdness in DISASSEMBLE..
	..Why does it use a different output format for
		(DISASSEMBLE (SB-DEBUG:ARG 0)) from the debugger
		prompt (where it properly inserts a space between
		bytecode and translation) and display of the
		same function with
		(DISASSEMBLE (SB-XC:MACRO-FUNCTION 'SB!EXT:WITH-ALIEN))
		from the main command prompt? I think it's weirdness
		with "~12T" in DISASSEM-BYTE-SAP. Try changing to
		" ~14T" instead.
	..Why does it stop output from disassembly of byte-compiled
		WITH-ALIEN at byte 83, when that looks like a
		completely unnatural stopping point? It seems to be
		that *PRINT-LINES* is rebound to a small value, and
		then the outer PPRINT-LOGICAL-BLOCK (used to prepend
		#\; to each line of output) tests the current
		dynamical value and bails out. So make PRETTY-STREAM
		grab the *PRINT-LINES* value at ctor time and use that,
		rather than the dynamic value, when deciding whether
		to truncate output
	bumped fasl file version number since PRETTY-STREAM layout
		changed
William Harold Newman [Wed, 22 Aug 2001 00:10:25 +0000 (00:10 +0000)]
 
0.pre7.14.flaky4.6:
	(This version can bootstrap itself without :SB-INTERPRETER.
		However, it can't pass all the original regression
		tests, and I even had to disable some code in
		debug-int.lisp in order to get it to build, so more
		work is needed before it becomes unflaky.)
	I wasn't making much progress on figuring out why the system
		can't cross-compile FIND-ESCAPED-FRAME when
		bootstrapping itself without :SB-INTERPRETER, so I
		I just stubbed out FIND-ESCAPED-FRAME.
	deleted unused 'find . | xargs egrep tty-process-group' stuff
	deleted unused SIGMASK macro
	deleted unused UNIX-SIGBLOCK and UNIX-SIGPAUSE functions
	moved F(sigsetmask) out of __*BSD__ conditionalization in
		undefineds.h so that GENESIS could find it (I dunno
		how it found it before. Perhaps old references
		to sigblock or sigpause caused sigsetmask to be
		slurped in too?)
William Harold Newman [Tue, 21 Aug 2001 19:58:13 +0000 (19:58 +0000)]
 
0.pre7.14.flaky4.5:
	(Oops: In the previous version, I worked on "reimplemented
		ONCE-ONLY so it expands into a single LET, so that
		DECLAREs inside work as they should" enough that I
		put it into the commit notes, but then I realized
		that using an inline function is a nice way to solve
		the UNIX-FAST-SELECT problemm, so I undid the ONCE-ONLY
		changes, but forgot to clean up the commit notes.)
	(This version builds under sbcl-0.6.13 with :SB-SHOW, and
		without :SB-INTERPRETER, in target *FEATURES*. Now
		maybe I can use the result to figure out why it can't
		build itself.)
	Maybe we don't need the extra space in DISASSEM-BYTE-COMPONENT
		after all.
	added :IGNORE-FAILURE-P for src/cold/cold-init in order to
		build with :SB-SHOW
	got rid of various early /SHOWs (before the definition of
		UNWIND in assem-rtns.lisp is loaded) so that the system
		could cold init
	chopped make-target-2.sh *PRINT-LEVEL* back down to 5 so that
		/SHOW statements terminate before hell freezes over
William Harold Newman [Mon, 20 Aug 2001 23:05:35 +0000 (23:05 +0000)]
 
0.pre7.14.flaky4.4:
	(This version still can't build itself, dying in
		cross-compilation of debug-int.lisp.)
	revised FUNCALL-IN-MACROLET-LEXENV to look more like
		FUNCALL-IN-SYMBOL-MACROLET-LEXENV
	reimplemented ONCE-ONLY so it expands into a single LET,
		so that DECLAREs inside work as they should
	commented out bogus macroexpansion-time DECLAREs in
		UNIX-FAST-SELECT
William Harold Newman [Mon, 20 Aug 2001 19:56:23 +0000 (19:56 +0000)]
 
0.pre7.14.flaky4.3:
	(This version builds under sbcl-0.6.12.1, but can't build
		itself, dying in cross-compilation of string.lisp.)
	added missing space in NEXT-BYTE in DISASSEM-BYTE-SAP
	removed bogus DECLAIM (TYPE SYMBOL *SHEBANG-FEATURES*)
	reenabled COMPILE 'IN-HOST-COMPILATION-MODE
William Harold Newman [Mon, 20 Aug 2001 18:09:16 +0000 (18:09 +0000)]
 
0.pre7.14.flaky4.2:
	don't need to load src/cold/shared.lisp twice in make-host-1.sh
	corrected the sense of #!-SB-INTERPRETER case of
		INTERNAL-APPLY-LOOP hack in debug-int.lisp
William Harold Newman [Mon, 20 Aug 2001 16:54:04 +0000 (16:54 +0000)]
 
0.pre7.14.flaky4.1:
	(This version builds under older versions of SBCL, but can't
		build under itself, dying somewhere in
		defun-load-or-cload-xcompiler.lisp.)
	fixed (FUNCALL (COMPILE NIL (LAMBDA (X) (+ X 2))) 3) problem
		under new #!-SB-INTERPRETER implementation of EVAL..
	..should usually be quoted, (COMPILE NIL '(LAMBDA ..))
	..When it's not quoted, so that under the new EVAL the LAMBDA
		will be a (byte-)compiled function, COMPILE shouldn't
		fail, it should pass the compiled function through.
	deleted unused *BACKEND-INFO-ENVIRONMENT*
William Harold Newman [Mon, 20 Aug 2001 14:28:33 +0000 (14:28 +0000)]
 
0.pre7.14.flaky4:
	(This version builds without :SB-INTERPRETER, and sort of
		works (after commenting out half a dozen regression
		tests) but can't bootstrap itself because of its
		inability to FUNCALL a COMPILEd function in the
		interpreter. The debugger is also broken.)
	trying to get things to work better without :SB-INTERPRETER..
	..redid EVAL-WHEN handling....
	....moved all top-level-EVAL-WHEN handling into
		PROCESS-TOP-LEVEL-FORM
	....made DEF-IR1-TRANSLATOR EVAL-WHEN handle only the
		(trivial) non-top-level-form case
	....deleted DO-EVAL-WHEN-STUFF
	....added COMPILE-TIME-TOO-P arguments to
		PROCESS-TOP-LEVEL-FORM and friends
	....wrote PARSE-EVAL-WHEN-SITUATIONS
	deleted unused %%DEFCONSTANT reference in byte-comp.lisp
	Now that EVAL-WHEN is handled differently, we end up in
		DEFUN %DEFUN instead of DEF-IR1-TRANSLATOR %DEFUN
		at cross-compile time. Now that EVAL-WHEN is
		becoming sane, the day may be approaching that those
		can become the same, but for now, I just decorated
		DEFUN %DEFUN with readmacros so it won't try to do
		impossible things at cross-compilation time.
	moved *UNIVERSAL-FUNCTION-TYPE* into SB!KERNEL exports
	renamed PROCESS-SOURCE to SUB-SUB-COMPILE-FILE
	set *TOP-LEVEL-LAMBDA-MAX* to 1 so the %COMPILER-DEFSTRUCT
		hack in PROCESS-TOP-LEVEL-FORM can go away
	Now that EVAL-WHEN is handled differently, the system stumbles
		over other new problems. Debugging non-ANSI cruft is
		no fun, so try to ANSIfy out of the problem, rushing
		boldly where no angel has tread before..
	..made PROCESS-TOP-LEVEL-FORM handle SYMBOL-MACROLET
	..factored handle-SYMBOL-MACROLET logic into
		DO-SYMBOL-MACROLET-STUFF (analogous to
		DO-MACROLET-STUFF) to support this
	..renamed DO-SYMBOL-MACROLET-STUFF and
		DO-MACROLET-STUFF to
		FUNCALL-IN-SYMBOL-MACROLET-LEXENV and
		FUNCALL-IN-MACROLET-LEXENV
	..redid PROCESS-TOP-LEVEL-LOCALLY so that it can be used to
		help implement MACROLET and SYMBOL-MACROLET
	Messing with EVAL-WHEN situations isn't a very understandable
		way to suppress enclosed EVAL-WHEN magic. Instead,
		use an enclosing LET to suppress top-level-formness.
	hacked globaldb.lisp so the cross-compiler won't nuke its own
		*INFO-CLASSES* and *INFO-TYPES* while cross-compiling
		the target compiler
	For some reason, (FLOAT-RADIX "notfloat") => 2, as in the bad
		old days. For now, suppress that regression test and
		go on. (Getting the happy path to work again is more
		urgent than getting error handling right.)
	commented out a time.pure.lisp test too, since interpreted
		FUNCALL and COMPILE aren't playing nicely right now
	commented out a map-tests.impure.lisp test too, since it
		trips over what looks like it might be an obscure
		byte compiler problem and I hope I can get other stuff
		to work OK without it before returning to it
	commented out a pathnames.impure.lisp test too, since
		interpreted ASSERT isn't working right
	commented out some tests in type.impure.lisp for similar reasons
	commented out walk.impure.lisp test (Maybe the common theme
		in many of these problems is inability to handle
		IGNORE-ERRORS in the new interpreter?)
William Harold Newman [Fri, 17 Aug 2001 15:10:47 +0000 (15:10 +0000)]
 
0.pre7.14:
	(Oops, I was wrong before -- I made a typo when I thought I
		was deleting :SB-INTERPRETER from target *FEATURES*,
		so I didn't test what I thought I tested, and
		0.pre7.13 didn't actually work without
		:SB-INTERPRETER.)
	So, now to make things actually work without :SB-INTERPRETER..
	..saved a few things
			* CL:LAMBDA-PARAMETERS-LIMIT
			* CL:MULTIPLE-VALUES-LIMIT
			* CL:CALL-ARGUMENTS-LIMIT
		from src/compiler/eval.lisp in early-c.lisp
	..SB!EVAL can't be conditional on :SB-INTERPRETER, since it's
		the home of stuff like the 'eval stack' (also used
		by the byte interpreter).
	..made INTERPRETED-FUNCTION-NAME hacking conditional on
		:SB-INTERPRETER
	..made other SB!EVAL:FOO stuff conditional on :SB-INTERPRETER
	..s/#+!sb-show/#!+sb-show/ (Isn't it Perl that Lispers slam
		for accepting line noise as valid input?)
	..raised make-target-2.sh *PRINT-LENGTH* and *PRINT-LEVEL* to
		10 so that
compilation aborted because of input error:
  #S(SB-C::INPUT-ERROR-IN-COMPILE-FILE
     :ACTUAL-INITARGS (ERROR
                       #S(READER-ERROR
                          :ACTUAL-INITARGS (STREAM # FORMAT-CONTROL
                                            no dispatch function defined for ~S
                                            FORMAT-ARGUMENTS ...)
                          :ASSIGNED-SLOTS NIL))
     :ASSIGNED-SLOTS NIL)
		would no longer have key information elided
	..s/failed-aver-type/failed-enforce-type/
	..(This version still doesn't work without :SB-INTERPRETER,
		but it does have some progress, and at least it still
		works with :SB-INTERPRETER, so I'm checking it in.)
William Harold Newman [Thu, 16 Aug 2001 19:40:49 +0000 (19:40 +0000)]
 
0.pre7.13:
	preparing to delete IR1 interpreter..
	..defined #!-SB-INTERPRETER implementation of INTERNAL-EVAL
	..(Now the system builds and runs and builds itself even
		when :SB-INTERPRETER is suppressed in
		customize-target-features.lisp.)
William Harold Newman [Thu, 16 Aug 2001 13:59:55 +0000 (13:59 +0000)]
 
0.pre7.12:
	redid DEFCONSTANT-EQX to be less needlessly arcane
William Harold Newman [Tue, 14 Aug 2001 14:03:01 +0000 (14:03 +0000)]
 
0.pre7.11:
	sbcl.1 fixes from Christophe Rhodes
	other sbcl.1 tweaking
William Harold Newman [Sat, 11 Aug 2001 23:36:57 +0000 (23:36 +0000)]
 
0.pre7.10:
	added DEFKNOWN .. NIL for DO-ARG-COUNT-ERROR, to suppress
		lotso undefined warnings and to let the compiler
		identify lotso dead code
	bumped default GC interval up to 4M bytes (from 2M bytes)
William Harold Newman [Fri, 10 Aug 2001 18:50:46 +0000 (18:50 +0000)]
 
0.pre7.9:
	merged Dan Barlow patch from sbcl-devel 2001-08-10 (fix for
		TRACE on Alpha, fix for os_flush_icache() on Alpha,
		fix for environ in shared libs, and misc. tidying)
William Harold Newman [Fri, 10 Aug 2001 14:43:17 +0000 (14:43 +0000)]
 
0.pre7.8:
	(The old CMU CL documentation is now available from
		<ftp://sbcl.sourceforge.net/pub/sbcl/cmucl-docs.tar.bz2>.)
	tweaked docs/.cvsignore so that if you like keeping the old
		CMU CL documentation in the old place, CVS doesn't
		pester you about it
William Harold Newman [Thu, 9 Aug 2001 13:41:40 +0000 (13:41 +0000)]
 
0.pre7.7:
	deleted old CMU CL documentation (so now when I screw up my
		working copy and have to "cvs checkout" again, it goes
		faster:-)
William Harold Newman [Thu, 9 Aug 2001 02:43:54 +0000 (02:43 +0000)]
 
0.pre7.6:
	removed REMOVEME stuff
	more LOOP cleanups..
	..LOOP-GENTEMP looks no better than GENTEMP. Use GENSYM instead.
	..removed old Genera-only HIDE-VARIABLE-REFERENCE and
		HIDE-VARIABLE-REFERENCES stuff in loop.lisp
	..converted *LOOP-REAL-DATA-TYPE* to 'REAL
William Harold Newman [Wed, 8 Aug 2001 22:46:16 +0000 (22:46 +0000)]
 
0.pre7.5:
	moved remaining contrib/*-extras.lisp stuff to main system
	deleted unused *CHAR=-FUNCTIONS*
	Since some of the new transforms use LOOP, and are used in
		cross-compilation, it'd be nice if LOOP worked more
		correctly in cross-compilation..
	..changed SUBTYPEP to SB!XC:SUBTYPEP in loop.lisp
	..changed TYPEP to SB!XC:TYPEP in loop.lisp
	Now that LOOP calls SB!XC:TYPEP, CROSS-TYPEP needs to be smart
		enough to type-expand its arguments, so that e.g.
		(SB!XC:TYPEP 0 'INDEX) works.
	moved definition of INDEX-OR-MINUS-1 type alongside INDEX
	deleted obsolute LOOP NODECLARE stuff
	miscellaneous other tidying in loop.lisp
	added various bug 117 workarounds so SBCL code builds without
		bogus WARNINGs from FIND/POSITION inline expansions
William Harold Newman [Wed, 8 Aug 2001 17:21:59 +0000 (17:21 +0000)]
 
0.pre7.4:
	moved more contrib/*-extras.lisp stuff to main system..
	..TRUNCATE, FLOOR, and CEILING
	..SORT
	..VECTOR-PUSH-EXTEND
	tweaked TRUNCATE, FLOOR, and CEILING DEFTRANSFORMs so that
		they work when &OPTIONAL argument is missing
William Harold Newman [Wed, 8 Aug 2001 15:06:17 +0000 (15:06 +0000)]
 
0.pre7.3:
	moved more contrib/*-extras.lisp stuff to main system..
	..INDEX-OR-MINUS-1
	..FILL
	..COERCE
William Harold Newman [Wed, 8 Aug 2001 02:38:01 +0000 (02:38 +0000)]
 
0.pre7.2:
	converted WITH-ARRAY-DATA and %WITH-ARRAY-DATA-MACRO from
		DEFMACRO to DEF!MACRO so that they (and the
		soon-to-be-merged DEFTRANSFORMs which use them) can be
		used arbitrarily early in the target build sequence
William Harold Newman [Wed, 8 Aug 2001 01:55:55 +0000 (01:55 +0000)]
 
0.pre7.1:
	moved new WITH-ARRAY-DATA stuff from contrib/*-extras.lisp
		to main SBCL system
William Harold Newman [Mon, 6 Aug 2001 18:02:54 +0000 (18:02 +0000)]
 
0.6.13:
	"We release no software before its time.":-| (Hopefully the
		interval between 0.6.13 and 0.7.0 will be shorter
		than the interval between 0.6.12 and 0.6.13..)
William Harold Newman [Sun, 5 Aug 2001 16:27:39 +0000 (16:27 +0000)]
 
0.6.12.65:
	removed redundant-in-SBCL FBOUNDP 'COMPILE test in
		pprint.lisp's COMPUTE-TEST-FN
	merged MNA INSPECT patches (sbcl-devel 2001-08-02)
	renamed INSPECT-related service functions from DESCRIBE-FOO
		to INSPECTED-FOO
	renamed SHOW-HELP, INPUT-LOOP, and stuff to be more
		INSPECT-related
	rewrote the CONS method so that (INSPECT '(1 . 2)) works
	renamed NUMBERED-PARTS to NAMED-P
	redid the list return value from INSPECTED-PARTS as multiple
		VALUES
	made INSPECT work recursively instead of maintaining an
		explicit *INSPECT-OBJECT-STACK*
	defined SB-EXT:*INSPECTED*
	removed 'redisplay'/'recompute' distinction in INSPECT,
		since I can't see what it's good for (but I'd
		cheerfully restore it if someone can explain)
William Harold Newman [Sat, 4 Aug 2001 23:52:15 +0000 (23:52 +0000)]
 
0.6.12.64:
	removed duplicate DEFKNOWNs for other compiler/x86/system.lisp
		stuff following the same approach as in 0.6.12.63
	removed other duplicate DEFKNOWNs by simple deletion
	tweaked DEF!MACRO DEFKNOWN so that it now handles duplicate
		DEFKNOWNs with CERROR instead of WARN
William Harold Newman [Thu, 2 Aug 2001 18:29:46 +0000 (18:29 +0000)]
 
0.6.12.63:
	added code to report what's being overwritten by a duplicate
		DEFKNOWN
	removed duplicate DEFKNOWN for
		(SETF %FUNCALLABLE-INSTANCE-FUNCTION), at the cost of
		much entrail-reading and a lengthy KLUDGE note
William Harold Newman [Thu, 2 Aug 2001 14:18:09 +0000 (14:18 +0000)]
 
0.6.12.62:
	made DEFMACRO DEFKNOWN check for duplicate DEFKNOWNs
	(I want to remove the duplicate DEFKNOWNs, but currently doing
		that makes make.sh die in src/pcl/walk.lisp. So I've
		put the duplicate DEFKNOWNs back, and things work
		again. Since by now I have a strong conditioned reflex
		"working version"=>"CVS checkin", I'll check this in
		before going on to try to figure out which duplicate
		DEFKNOWNs are important and why.)
William Harold Newman [Wed, 1 Aug 2001 18:02:29 +0000 (18:02 +0000)]
 
0.6.12.61:
	copied transforms for TRUNCATE, FLOOR, and CEILING from
		CMU CL 18c. (Like various other efficiency fixes,
		they're in contrib/compiler-extras.lisp instead
		of the main system. My plan is to merge all the
		contrib/*-extra.lisp stuff into the main system
		in version 0.7.x.)
William Harold Newman [Wed, 1 Aug 2001 17:39:39 +0000 (17:39 +0000)]
 
0.6.12.60:
	merged MNA clean-up-PCL-code-walker patch
William Harold Newman [Wed, 1 Aug 2001 02:06:18 +0000 (02:06 +0000)]
 
0.6.12.59:
	simplified *N-BYTES-FREED-OR-PURIFIED-PCOUNTER* to
		*N-BYTES-FREED-OR-PURIFIED*, an ordinary UNSIGNED-BYTE
	cleared *N-BYTES-FREED-OR-PURIFIED* on program startup
William Harold Newman [Mon, 30 Jul 2001 19:30:33 +0000 (19:30 +0000)]
 
0.6.12.49:
	made verbose GC output report GET-INTERNAL-RUN-TIME when each
		GC happens, so that when you reading a log containing
		many verbose GC messages, you have a better chance of
		grokking what happened
	fixed POSIX-GETENV doc string after Alexey Dejneka pointed out
		that it was wrong
0.6.12.50:
	removed some #+OpenBSD stubifications, since FILE-LENGTH is no
		longer completely broken on OpenBSD now
	fixed the skip-trailing-whitespace logic in READ so it no
		longer requires a second Ctrl-D char to return EOF
0.6.12.51:
	merged MNA HANDLER-CASE patch: Since the compiler seems to be
		smart enough to handle it now, use lexical scoping
		again instead of the previous dynamic scoping
		workaround; and also do #+X86 (FLOAT-WAIT).
0.6.12.52:
	quasimerged MNA fix-GCC-warnings patch (sbcl-devel
		2001-07-17), editing the source by hand
	also made other tweaks to fix GCC warnings
	fixed memory leak in wrapped_readlink()
0.6.12.53:
	merged MNA port of rtoy COERCE and ARRAY-ELEMENT-TYPE
		DEFOPTIMIZERs from CMU CL (sbcl-devel 2001-07-16)
	merged MNA port of rtoy irrational math fixes (sbcl-devel
		2001-07-16)
	added MNA regression tests of irrational functions
0.6.12.54:
	merged MNA port of cachopo COPY-READTABLE fix (sbcl-devel
		2001-07-17)
	merged MNA port of mai DESCRIBE-a-class fix (sbcl-devel
		2001-07-17)
0.6.12.55:
	added distclean.sh to remove stuff like
		customize-target-features.lisp
	DEFCONSTANT *FOO* now issues a STYLE-WARNING.
	factored out LOOKS-LIKE-NAME-OF-SPECIAL-VAR-P to support this
	removed call to no-longer-defined OUTPUT-INTERPRETED-FUNCTION
		in PRINT-OBJECT method for INTERPRETED-FUNCTION (which
		will hopefully go away real soon anyway)
0.6.12.56:
	fixed bug 26: ARRAY-DISPLACEMENT now returns (VALUES NIL 0)
		for undisplaced arrays.
	fixed bug 55: DEFMACRO-MUNDANELY no longer ignores DOC.
	DEFMACRO-MUNDANELY should be in SB-INT.
0.6.12.57:
	set default for *DERIVE-FUNCTION-TYPES* to NIL (i.e. ANSI
		behavior)
	overrode the default within the cross-compiler, so that SBCL
		itself is still built the old static efficient way
0.6.12.58:
	fixed the DCONSING carry case in PROFILE
	ported CMU CL fix to FILL-POINTER-OUCH (Tim Moore's fix
		to Janne Rinta-Manty's bug report)
	added MNA fix for FIX-CORE-SOURCE-INFO
William Harold Newman [Mon, 30 Jul 2001 16:15:21 +0000 (16:15 +0000)]
 
0.6.12.49:
	made verbose GC output report GET-INTERNAL-RUN-TIME when each
		GC happens, so that when you reading a log containing
		many verbose GC messages, you have a better chance of
		grokking what happened
	fixed POSIX-GETENV doc string after Alexey Dejneka pointed out
		that it was wrong
William Harold Newman [Sat, 14 Jul 2001 04:25:14 +0000 (04:25 +0000)]
 
0.6.12.48:
	made ldb conditional on :SB-LDB in *FEATURES*. (Dan Barlow
		likes having the system stop on an ldb> prompt even
		when running as a batch program, but for me it's a
		nuisance. I want sh make.sh to terminate when it hits
		an error, period, since typically I make it beep when
		it's done. And since ldb isn't really appropriate for
		the problems that ordinary users have to deal with,
		it should be reasonable to suppress it by default,
		which is an overkill way to keep my system from
		stopping on an ldb> prompt.)
	more gencgc tidying..
	..hardwired enable_pointer_filter conditionalization to
		always be enabled
	..renamed the PTR() and Pointerp() macros to
		native_pointer() and is_lisp_pointer() inline
		functions
William Harold Newman [Fri, 13 Jul 2001 03:39:38 +0000 (03:39 +0000)]
 
0.6.12.47:
	more poking around in gencgc, tweaking comments and formatting
		and names
	deleted "#ifdef CONTROL_STACKS" stuff
William Harold Newman [Thu, 12 Jul 2001 23:15:12 +0000 (23:15 +0000)]
 
0.6.12.46:
	(got confused, thought GENCGC was excessively conservative,
		tried to fix it, then backed out)
	tweaked a lot of comments and some names in gencgc.c
	made GENESIS systematically propagate *SHEBANG-FEATURES*
		entries into #define's in sbcl.h. (This isn't currently
		used for anything -- I wrote it to support my confused
		make-GENCGC-less-conservative effort, which no longer
		exists. However, it seems harmless and could be useful
		e.g. for making C-level code depend on SB-SHOW, so I
		left it in.)
William Harold Newman [Wed, 11 Jul 2001 00:03:02 +0000 (00:03 +0000)]
 
0.6.12.45:
	(This version/commit actually includes some stuff from the Dave
		MacDonald patch logged in the 0.6.12.44 message, since
		CVS got stuck somehow and didn't finish that commit.)
		(and also left a stale lock in place for days..)
	some *EVAL-STACK* fixes..
	..removed CURRENT-STACK-POINTER macro, since (1) its name is
		confusing (suggesting the system stack, not the eval
		stack; especially since the CURRENT-STACK-POINTER vop
		*does* refer to the system stack!) and (2) abstracting
		away the fact that this is a special variable is,
		given the INTERPRETER-GC-HOOK hack to scrub the eval
		stack, an unfortunate invitation to subtle GC bugs
	..renamed STACK-COPY to EVAL-STACK-COPY
	..made *EVAL-STACK-TRACE* stuff dependent on #!+SB-SHOW
	..renamed EVAL-STACK-SET-TOP to EVAL-STACK-RESET-TOP
	I also made *INTERNAL-APPLY-NODE-TRACE* stuff dependent on
		#!+SB-SHOW, even though in retrospect that was
		probably silly, since it's only in IR1 interpreter
		code, which I hope to blow away next month anyway.
William Harold Newman [Fri, 6 Jul 2001 13:30:59 +0000 (13:30 +0000)]
 
0.6.12.44:
	merged Dave MacDonald patch (sbcl-devel 2001-07-04): cleanup
		of COMPILE-FILE cruft left over from transition to
		compiling only one file at a time; plus a few
		WHN modifications..
	..INDEX isn't actually ignored in FIND-SOURCE-ROOT
	..(IF (PATHNAMEP X) X (PATHNAME X)) => (PATHNAME X)
	..more-explicit names in general
	..expanded remaining FIND-FILE-INFO call into something which
		still works now that DEFUN FIND-FILE-INFO is gone
	Also, while I'm at it, SOURCE-INFO-FILE-INFO is a better
		name than SOURCE-INFO-FILE.
William Harold Newman [Sat, 30 Jun 2001 21:47:55 +0000 (21:47 +0000)]
 
0.6.12.43:
	made PEEK-CHAR check its argument type explicitly, so
		it will issue a TYPE-ERROR on e.g.
			(WITH-INPUT-FROM-STRING (S "SZ[19]")
			    (PEEK-CHAR S))
		instead doing PEEK-CHAR on *STANDARD-INPUT*
	fixed completely-broken bignum-sized-consing code path in
		profile.lisp (Code coverage testing? What's that?:-)
	merged MNA/CMUCL compiler bug collection (sbcl-devel
		2001-06-25) to BUGS
William Harold Newman [Mon, 25 Jun 2001 16:05:39 +0000 (16:05 +0000)]
 
0.6.12.42:
	more profiling stuff..
	..rearranged DCONSING arithmetic in profile wrappers so that
		accounting for small amounts of wrapped consing almost
		always works without extra consing overhead in the
		wrapper
	..made calibrate-PROFILE-overhead code run longer
	MNA pointed out that bug 59 was fixed a while ago.
	MNA comment clarifications sbcl-devel 2001-06-25
	removed bogus QUIT from stream.pure.lisp, so that the
		subsequent *.pure.lisp tests get executed
William Harold Newman [Sun, 24 Jun 2001 15:54:39 +0000 (15:54 +0000)]
 
0.6.12.41:
	removed various REMOVEME stuff
	more profiling/PCOUNTER stuff..
	..restored "grep ';.*decla.*type'" stuff in profile.lisp,
		and did other un-fluidifications of pcounter.lisp
		and profile.lisp
	..converted various PCOUNTER-related DECLAIMs to DEFKNOWNs
William Harold Newman [Sun, 24 Jun 2001 13:13:42 +0000 (13:13 +0000)]
 
0.6.12.40:
	fixed bug 107: (WRITE #*101 :RADIX T :BASE 36) now does
		the right thing.
William Harold Newman [Sun, 24 Jun 2001 01:32:55 +0000 (01:32 +0000)]
 
0.6.12.39:
	removed some stuff checking for profile monotonicity (since
		now I know that OpenBSD get-internal-run-time *isn't*
		monotonic, since OpenBSD getrusage() isn't monotonic:
		bug kernel/1065. I've now patched my OpenBSD 2.9 to
		fix this enough to make GET-INTERNAL-RUN-TIME
		monotonic, and I'll submit the patch to the OpenBSD
		maintainers once I straighten out how to diff against
		the patch branch.)
	tweaked GET-BYTES-CONSED (aiming to minimize consing in
		profile.lisp)..
	..replaced *TOTAL-BYTES-CONSED* with
		*N-BYTES-FREED-OR-PURIFIED-PCOUNTER*
	..deleted *LAST-BYTES-IN-USE*
	..added DEFKNOWN GET-BYTES-CONSED
	..incompatible change: made GET-BYTES-CONSED return the
		number of bytes consed since the system was started,
		not since the first time the function was called
	..renamed GC-COLD-INIT-OR-REINIT, since it's only actually
		called at reinit time
	fixed *BYTES-CONSED-BETWEEN-GCS* FIXME; and now
		DEFAULT-BYTES-CONSED-BETWEEN-GCS no longer needs
		to be a named definition
	deleted unused *GC-INHIBIT-HOOK*
William Harold Newman [Sat, 23 Jun 2001 16:26:55 +0000 (16:26 +0000)]
 
0.6.12.38:
	tweaked PCOUNTER stuff in anticipation of future changes
		in GET-BYTES-CONSED..
	..moved PCOUNTER code from profile.lisp to new pcounter.lisp
	..exported PCOUNTER stuff from SB-INT
William Harold Newman [Fri, 22 Jun 2001 23:34:21 +0000 (23:34 +0000)]
 
0.6.12.37;
	fixed bug 24: COMPILE-FILE handles READER-ERROR now, instead
		of dropping you into the debugger.
	READ-FOR-COMPILE-FILE now fills the role of the old
		CAREFUL-READ code.
	deleted now-unused NORMAL-READ-ERROR, IGNORE-ERROR-FORM,
		and UNEXPECTED-EOF-ERROR
	made slam.sh use a crude make-ish timestamp hack to choose
		which files to re-cross-compile
William Harold Newman [Fri, 22 Jun 2001 16:21:22 +0000 (16:21 +0000)]
 
0.6.12.36:
	fixed DIRECTORY/TRUENAME/symlink failure as proposed by DB
		(sbcl-devel 2001-06-13, plus following discussion),
		mostly by tweaking UNIX-READ-LINKS
	In tweaking UNIX-READ-LINKS, I also redid it so that it would
		handle pathnames of any length.
	rewrote UNIX-READLINK to use wrapped_readlink(), handling
		paths of any length
	incompatible change: The old CMU-CL-style DIRECTORY options
		(:ALL, :FOLLOW-LINKS, and :CHECK-FOR-SUBDIRS) are no
		longer supported, so DIRECTORY always does the abstract
		Common-Lisp-y thing, i.e. :ALL T :FOLLOW-LINKS T
		:CHECK-FOR-SUBDIRS T.
	added some DIRECTORY and TRUENAME test cases
	fixed stupid gross errors in 0.6.12.35 test cases (Evidently I
		neglected to run them before..)
William Harold Newman [Sat, 16 Jun 2001 13:18:13 +0000 (13:18 +0000)]
 
0.6.12.35:
	null-*PRINT-LENGTH* bugfix in structure printing (from Alexey
		Dejneka sbcl-devel 2001-06-14)
	merged Eric Marsden ANSI compliance fixes (from cmucl-imp
		2001-06-15); except that I skipped the ones in
		eval-comp.lisp because I hope to get rid of the IR1
		interpreter completely sometime in the next few months,
		and I skipped COMPILER-ERROR-is-PROGRAM-ERROR because
		(1) I think not all compiler errors are program errors
		(e.g. type errors or i/o errors) and (2) SBCL mostly
		handles COMPILER-ERRORs before the user sees them
		anyway, so I couldn't think of a test case where this
		matters
William Harold Newman [Wed, 13 Jun 2001 17:19:45 +0000 (17:19 +0000)]
 
0.6.12.34:
	belatedly bumped fasl file version number because the inline
		type test patches changed the layout of STREAM
	Bug 23 is fixed, so delete it from BUGS.
	merged MNA fixes for tests/interface.lisp (sbcl-devel
		2001-06-12)
William Harold Newman [Tue, 12 Jun 2001 19:24:47 +0000 (19:24 +0000)]
 
0.6.12.33:
	added a few more type test regression tests
	merged MNA port of DTC CMU CL inline type test patches
		(sbcl-devel 2001-05-28)
William Harold Newman [Tue, 12 Jun 2001 17:08:45 +0000 (17:08 +0000)]
 
0.6.12.32:
	fixed REMOVEME problem in filesys.lisp by preinitializing
		*DEFAULT-PATHNAME-DEFAULTS* just before the #'PATHNAME
		call used to truly initialize it
	deleted src/pcl/structure-class.lisp, since MNA pointed out
		that it's unused
William Harold Newman [Tue, 12 Jun 2001 02:12:50 +0000 (02:12 +0000)]
 
0.6.12.31:
	finished getting rid of %PRIMITIVE SB!C:BYTE-BLT in favor of
		SB!KERNEL:%BYTE-BLT
	Now there are no primitive translators, so everything
		"grep -i primitive.translator" can go away.
	deleted not-much-use stuff related to %SP-STRING-SEARCH,
		%SP-FIND-CHARACTER, and %SP-REVERSE-FIND-CHARACTER
	deleted unused %SP-SKIP-CHARACTER, %SP-REVERSE-SKIP-CHARACTER,
		and MAYBE-SAP-MAYBE-STRING
William Harold Newman [Mon, 11 Jun 2001 20:56:45 +0000 (20:56 +0000)]
 
0.6.12.30:
	fixed another overflow for big buffers (in GENESIS, when
		#!+SB-SHOW, when reading)
	started getting rid of %PRIMITIVE SB!C:BYTE-BLT in favor of
		SB!KERNEL:%BYTE-BLT
	deleted unused %SP-REVERSE-FIND-CHARACTER-WITH-ATTRIBUTE,
		%SP-BYTE-BLT, and %SP-FIND-CHARACTER-WITH-ATTRIBUTE
	merged MNA prepare-for-inline-type-tests patches (sbcl-devel
		2001-06-11)
William Harold Newman [Mon, 11 Jun 2001 13:44:07 +0000 (13:44 +0000)]
 
0.6.12.29:
	cleanups pending from flaky2_branch and SB!FASL-package
		adventures, part II (more deleting)..
	..!COLD-INIT doesn't need to be a static symbol.
	..Does FDEFINITION-OBJECT need to be a static symbol? No.
	..Do we need the mysterious COLD-SETs of function
		values at the beginning of FINISH-SYMBOLS
		in genesis.lisp? No.
	..fasl version number change since !COLD-INIT is gone from
		*STATIC-SYMBOLS*
William Harold Newman [Sun, 10 Jun 2001 18:28:19 +0000 (18:28 +0000)]
 
0.6.12.28:
	cleanups pending from flaky2_branch and SB!FASL-package
		adventures, part I (deleting stale stuff)..
	..deleted "blue bag" stuff
	..deleted WANT_CGC and ibmrt stuff
	..deleted x86-cgc stuff
	..deleted "grep -i 'spare-[0-9]'" stuff
	..deleted *SCAVENGE-READ-ONLY-SPACE*
	..bumped fasl version number since *SCAVENGE-READ-ONLY-SPACE*
		is gone from *STATIC-SYMBOLS*
William Harold Newman [Fri, 8 Jun 2001 16:37:07 +0000 (16:37 +0000)]
 
(Oops!):
	(I screwed up the attributions in two earlier commits. The
		inline type test stuff referred to in the 0.6.12.24
		commit message was originally due to Douglas Thomas
		Crosher, not Pierre Mai; and although two of the bug
		fixes in the PCL patch merged in 0.6.12.25 were
		originally due to Pierre Mai and only ported by
		Martin Atzmueller, most of that patch was original
		work by Martin Atzmueller.)
0.6.12.27:
	DB's bugfix for CIRCULAR-LIST-P sbcl-devel 2001-06-08
	minor profiling fixes
	(The SIGILL problem above seems to've been SBCL/OpenBSD's way
		of reporting an infinite recursion error. It *would*
		be nice to catch infinite recursion cleanly someday..)
William Harold Newman [Thu, 7 Jun 2001 20:27:34 +0000 (20:27 +0000)]
 
0.6.12.26:
	(This version has some REMOVEME stuff in it to help me
		debug a PROFILE failure which seemed to be related to
		nonmonotonicity of GET-INTERNAL-RUN-TIME, and which
		then morphed into a SIGILL problem (all on OpenBSD).
		I don't think those should cause any failures for
		other systems, so I left 'em in for now.)
	deleted old SPARC-only UNIX-TIMES implementation of
		GET-INTERNAL-RUN-TIME
	munged the code in profile.lisp hunting, so far unsuccessfully,
		for "-1 is not UNSIGNED-BYTE" problem
	added temporary test for monotonicity of GET-INTERNAL-RUN-TIME
	moved the definition of *BEFORE-SAVE-INITIALIZATIONS*
		earlier so things should work for the right reason
	deleted unused INDENTING-FURTHER
	separated x86 SIGILL handling from SIGTRAP handling
William Harold Newman [Thu, 7 Jun 2001 19:22:26 +0000 (19:22 +0000)]
 
0.6.12.25:
	merged MNA port of Pierre Mai fixes for PCL stuff (sbcl-devel
		2001-05-30)
	renamed tests/pcl.impure.lisp to tests/clos.impure.lisp, to be
		consistent with tests/clos.test.sh
	reverted the part of the patch which nuked the
		INFORM-TYPE-SYSTEM-ABOUT-STD-CLASS call, as per
		my sbcl-devel mail 2001-06-07
William Harold Newman [Thu, 7 Jun 2001 17:15:54 +0000 (17:15 +0000)]
 
0.6.12.24:
	added a few tests as examples of what I'd like to have before
		merging the Mai/Atzmueller inline type test patches
	merged DB Alpha-dynamic-loading patches (sbcl-devel 2001-05-11)
William Harold Newman [Thu, 7 Jun 2001 13:01:24 +0000 (13:01 +0000)]
 
0.6.12.23:
	merged flaky2_branch back into main branch
William Harold Newman [Wed, 6 Jun 2001 22:59:07 +0000 (22:59 +0000)]
 
0.6.12.21.flaky2.2:
	(This version seems not to be flaky any more. I'm just
		checking it in as a halfway step to merging it
		back into the main branch.
	tweaked scavenge() argument handling so that it's easier to see
		what was going on when we look at it with gdb
	deleted unused undocumented DIRECT_SCAV stuff
	deleted unused undocumented SC_NS_GEN_CK stuff
	stopped tests/interface.pure.lisp from generating un-GC-able
		nonsense values when a SYMBOL-FUNCTION is a closure;
		and tried to make it more accurately check for
		undocumented external functions as well
William Harold Newman [Wed, 6 Jun 2001 21:45:48 +0000 (21:45 +0000)]
 
(no version):
	updating/committing again to get CVS to recognize deletion
		of early-load and addition of early-fasl
William Harold Newman [Wed, 6 Jun 2001 21:43:50 +0000 (21:43 +0000)]
 
0.6.12.22:
	DB logical pathname and COMPILE-FILE-PATHNAME patch from
		sbcl-devel 2001-06-01
	made FASL file version number independent of CPU type; also
		made byte FASL file version number the same
	many many changes more or less related to changing the FASL
		file version number..
	..created SB!FASL package to hold stuff like +FASL-FILE-VERSION+
		which is common to loading and dumping
	..renamed early-load.lisp to early-fasl.lisp
	..renamed FASL-FILE stuff to FASL-OUTPUT
	..*LAP-OUTPUT-FILE* doesn't need to be special (and so is
		renamed to LAP-FASL-OUTPUT).
	..exported FAST-READ stuff from SB-INT, so that it's visible
		in SB-FASL
	..deleted old stale load-related variables
		*LOAD-BYTE-COMPILED-CODE-TO-DYNAMIC-SPACE*
		*LOAD-X86-TLF-TO-DYNAMIC-SPACE*
		*ENABLE-DYNAMIC-SPACE-CODE*
		(hardwiring code which referred to them to use their
		effectively-constant values T, NIL, T instead). (Now
		we no longer need to worry about what package they're
		in..)
	..made some symbols external to SB-KERNEL so that
		now-in-SB-FASL code could find them (and so that
		some of the old :: prefixes could go away):
		*FREE-INTERRUPT-CONTEXT-INDEX*,
		*!INITIAL-FOO* for all FOO,
		*CURRENT-CATCH-BLOCK*,
		*CURRENT-UNWIND-PROTECT-BLOCK*,
		*PSEUDO-ATOMIC-ATOMIC*, *PSEUDO-ATOMIC-INTERRUPTED*
	..deleted unneeded "SB!IMPL::" prefixes for various
		other *STATIC-SYMBOLS*-related symbols which're
		exported (mostly from SB-KERNEL) already
	..deleted unused %INITIAL-FUNCTION (smashing Alpha
		*STATIC-SYMBOLS* indices)
	suppressed some stuff in side-effectful-pathnames.test.sh
		until we merge the DB cleanups from flaky2_branch
William Harold Newman [Sun, 3 Jun 2001 14:58:59 +0000 (14:58 +0000)]
 
0.6.12.21.flaky2.1:
	Since enabling QSHOW and QSHOW_SIGNALS showed that a relatively
		early symptom of the memory-corruption problem is
		dereferencing a 0 pointer, I added special handling
		for not-our-responsibility SIGSEGV/SIGBUS in
		gencgc.c.
William Harold Newman [Thu, 31 May 2001 21:12:04 +0000 (21:12 +0000)]
 
0.6.12.21.flaky2:
	(This version has a flaky GC/memory-corruption problem. It's
		perfectly repeatable both on my OpenBSD box and on
		my Linux box -- just "sh run-tests.sh" -- which is
		why I thought it was worth saving this before I
		messed with it too much. But it's flaky in that all
		sorts of little harmless-looking program or test
		changes made while trying to isolate the problem can
		cause it to vanish.)
	Dan Barlow's logical pathname tests sbcl-devel 2001-05-31
	added DEFUN SANE-DEFAULT-PATHNAME-DEFAULTS
	made all relative-to-absolute conversions go through
		*DEFAULT-PATHNAME-DEFAULTS*, so Unix current directory
		is only used to initialize *DEFAULT-PATHNAME-DEFAULTS*
		(and thus UNIX-MAYBE-PREPEND-CURRENT-DIRECTORY goes
		away)
William Harold Newman [Wed, 30 May 2001 23:02:35 +0000 (23:02 +0000)]
 
0.6.12.21:
	(realized I was confused about DEFAULT-DIRECTORY ('cause it's
		in SB-INT, not SB-INT) so it doesn't need to be
		marked deprecated after all. As I get older, perhaps I
		should work on smaller systems..)
	deleted unused %SET-DEFAULT-DIRECTORY stuff
	deleted related Unix chdir() stuff
	rewrote UNIX-CURRENT-DIRECTORY to use getcwd() and do its
		own error-handling; got rid of DEFAULT-DIRECTORY
	deleted related Unix getwd() stuff
	restored SIZE-T (but this time through grovel_headers.c)
		in order to interface to getcwd() more cleanly
	deleted commented-out clutter in ldso-stubs.S
	renamed UNIX-CURRENT-DIRECTORY to POSIX-GETCWD, and made
		POSIX-GETCWD/ variant to do the old CMU-CL-style
		trailing #\/ thing
William Harold Newman [Wed, 30 May 2001 01:19:51 +0000 (01:19 +0000)]
 
0.6.12.20:
	made monitor.c quit() command read from the same stream
		as the other ldb commands
	renamed monitor.c devtty stuff to ldb_in
	miscellaneous other tidying up in monitor.c
William Harold Newman [Wed, 30 May 2001 00:01:23 +0000 (00:01 +0000)]
 
0.6.12.19:
	deprecated #'SB-EXT:DEFAULT-DIRECTORY, since
		*DEFAULT-PATHNAME-DEFAULTS* is the ANSI way to do it
	failed to get rid of DEFVAR *DEFAULT-PATHNAME-DEFAULTS*
		initialization, since someone is using this var
		too early in cold init. Maybe next time..
	removed stale (SEARCH-LIST "default:") stuff
	deleted unused CADDR-T, DADDR-T, QADDR-T, QUAD-T, UQUAD-T,
		SIZE-T, SSIZE-T, +MAX-S-LONG+, +MAX-U-LONG+, SWBLK-T
William Harold Newman [Mon, 28 May 2001 23:44:10 +0000 (23:44 +0000)]
 
0.6.12.18:
	added code to initialize *DEFAULT-PATHNAME-DEFAULTS*,
		to start making it a little more ANSI
	started documenting visible-in-the-interface variables
		whose old values are discarded when a core is saved
		and loaded (e.g. *DEFAULT-PATHNAME-DEFAULTS*)
	tweaked side-effectful-pathnames.test.sh so it
		accepts the new more-ANSI behavior of
		*DEFAULT-PATHNAME-DEFAULTS*
	hacked LOAD to physicalize pathnames before merging them,
		to work around apparent MERGE-PATHNAMES problems
		and let tests/filesys.pure.lisp work with new
		nontrivial *DEFAULT-PATHNAME-DEFAULTS*; also
		hacked COMPILE-FILE-PATHNAME similarly
	factored out DEFUN PHYSICALIZE-PATHNAME
	made FILE-LENGTH "work" (up to 32 bits) on OpenBSD again
William Harold Newman [Sun, 27 May 2001 15:20:15 +0000 (15:20 +0000)]
 
0.6.12.17:
	revised address map for OpenBSD (fixing memory corruption
		problem)
William Harold Newman [Sun, 27 May 2001 13:02:55 +0000 (13:02 +0000)]
 
0.6.12.16:
	made LOAD handle EXTERNAL-FORMAT just the same way as
		COMPILE-FILE already did, refusing any value other
		than :DEFAULT
	removed unused (and deprecated on OpenBSD) setregid/setreuid
		stuff
	converted "i386" to "__i386__" at various
		"egrep 'def.*[^_]i386'" locations
	added src/runtime/trymap.c (and noted that trymap fails for
		the mapped area which the OpenBSD port uses for its
		control stack, so now the mystery is no longer why
		the OpenBSD port now complains about memory faults,
		but why the OpenBSD port ever worked in the past)
William Harold Newman [Sat, 26 May 2001 20:33:48 +0000 (20:33 +0000)]
 
0.6.12.15:
	turned interrupt_install_low_level_handler() into
		undoably_install_low_level_interrupt_handler(), which
		uses atexit() to arrange for the handler to be removed
		at exit, for tidiness in general and specifically
		because without the the interaction between the GC
		and the exit()-time segfaults caused by memory
		corruption is making it tricky to debug the
		OpenBSD port
William Harold Newman [Fri, 25 May 2001 22:52:31 +0000 (22:52 +0000)]
 
0.6.12.14:
	fixes from Arthur Lemmens' 2001-05-05 sbcl-devel message I..
	..wrapped an EVAL-WHEN around the definition of +EMPTY-HT-SLOT+
	..removed irrelevant COUNT term in in LOOP form in
		compiler/x86/call.lisp
	..moved DEFCONDITION SIMPLE-TYPE-ERROR from error.lisp to
		late-target-error.lisp
	..moved DEFUN DO-PENDING-INTERRUPT from signal.lisp to
		target-signal.lisp, since its definition ("magically
		converted to a BREAK instruction") only makes sense
		to Python (and causes a warning in Lispworks)
William Harold Newman [Wed, 23 May 2001 14:00:15 +0000 (14:00 +0000)]
 
0.6.12.13:
	set up :SB-AFTER-XC-CORE feature so slam.sh is more convenient
	The various core address mismatch states should be fatal
		errors, not just fprintf()s.
William Harold Newman [Tue, 22 May 2001 16:10:46 +0000 (16:10 +0000)]
 
0.6.12.12:
	(I went hunting unsuccessfully OpenBSD GC problems, didn't
		find them, and made small cleanups instead.)
	Dan Barlow's way of dealing with 64-bit slots in wrapped_stat
		is better than mine, and it's possible that mine is
		even responsible for my OpenBSD memory corruption
		problems, so convert the wrapped_st_size slot to
		32 bits.
	also renamed DB's my_dev_t to more-explicit ffi_dev_t
William Harold Newman [Sun, 20 May 2001 19:34:35 +0000 (19:34 +0000)]
 
0.6.12.11:
	added #\% prefixes for names of helper functions in hash table
		stuff, so they won't look so friendly and supportedish
	bumped fasl file version number for the new hash table forms
	restored support for compiler trace output (inspired by
		MNA's patch, but controlled by the CMU-CL-style
		&KEY arg interface, not a special variable)
	tweaked other &KEY options of COMPILE-FILE: no more
		:ENTRY-POINTS, and anticipating deprecating other stuff
William Harold Newman [Sun, 20 May 2001 12:53:51 +0000 (12:53 +0000)]
 
0.6.12.10:
	MNA sbcl-devel 2001-05-12 "logical pathname patch & readable
		hashtables" patch
William Harold Newman [Sat, 19 May 2001 19:59:08 +0000 (19:59 +0000)]
 
0.6.12.9:
	merged MNA port sbcl-devel 2001-05-11 of Tim Moore CMU CL
		improved disassembly patch
	miscellaneous other SBCLification and modernization of
		target-disassem.lisp
William Harold Newman [Sat, 19 May 2001 01:03:02 +0000 (01:03 +0000)]
 
0.6.12.8:
	merged flaky1 branch back into main branch, now that it's
		stable again.
	(Dan Barlow's email on sbcl-devel warned that one problem
		with branches is that useful checkin comments
		end up being hard to find when they're stuck on
		branches. I'll check the cvs2cl.pl output
		after this checkin, and if it doesn't include
		the notes for the various checkins on
		the flaky1 branch, I'll make another checkin
		below just as an excuse to add log notes which
		copy or summarize them.)
	The flaky1 branch was rather a lot of work for what turned
		out to be not very many fixes. ("The discipline of
		refactoring is hard to learn and easy to
		lose sight of, even if only for a moment. I
		still lose sight more often than I care to admit.
		I'll do two or three refactorings in a row without
		rerunning the test cases. Of course I can get away
		with it. I'm confident. I've practiced. Boom! A
		test fails, and I can't see which of my changes
		caused the problem. At this moment, you will be
		mightily tempted to just debug your way out of
		trouble. After all, you got those tests to run
		in the first place. How hard could it be to get
		them running again? Stop. You are out of control,
		and you have no idea what it will take to get back
		in control by going forward. Go back to your
		last known good configuration after each one."
		-- Kent Beck, on pp. 410-411 in Martin Fowler's
		_Refactoring_)
William Harold Newman [Sat, 19 May 2001 00:13:14 +0000 (00:13 +0000)]
 
0.6.12.7.flaky1.2:
	(This version seems not to be flaky any more, and so should
		be the end of the flaky1 branch: I'm just checking
		it in in preparation for "cvs update -j flaky1" or some
		such thing to merge the changes back into the main
		branch.)
	tweaked run-tests.sh machinery to use an absolute path for
		SBCL, on general principles and specifically so that
		Dan Barlow's new ENSURE-DIRECTORIES-EXIST tests can run
	made (UNIX-NAMESTRING "") equivalent to (UNIX-NAMESTRING "."),
		as the simplest way to make ENSURE-DIRECTORIES-EXIST
		work for relative pathnames. (As per Dan's 2001-05-18
		sbcl-devel mail, it can't be ANSI conforming until
		*DEFAULT-PATHNAME-DEFAULTS* is made ANSI, and that's
		too messy for now, so just do the simple thing.)
	dropped search list support from UNIX-NAMESTRING while I was
		at it, since search lists ain't supported no more
	removed undocumented hardly-used EXECUTABLE-ONLY arg from
		UNIX-NAMESTRING, moving the "is it executable?" test
		into run-program.lisp
	removed REMOVEME stuff
William Harold Newman [Fri, 18 May 2001 13:22:50 +0000 (13:22 +0000)]
 
0.6.12.7.flaky1.1:
	(As per Daniel Barlow sbcl-devel 2001-05-17, the removal of
		the mysterious "" special case in UNIX-STAT will
		probably keep this version from building itself,
		so I didn't even try. It does, however, at least
		do "sh run-tests.sh" successfully.)
	fixed declaration in %EXTRACT-STAT-RESULTS so that the
		system won't have to interpret the alien reference
		at runtime on every call to the function
	I found how to fix the boot/gencgc/purify problem which was
		leaving initial-function unmapped -- I could copy
		current_region_free_pointer into
		boxed_region.free_pointer just before
		gc_alloc_update_page_pages() in save.c. However,
		that left me with other flaky GC problems. So I gave
		up my GC hacking in this version as a bad job, and
		copied original 0.6.12.7 GC-related files over
		the modified versions: gencgc.c, save.c, purify.c,
		gc.lisp, save.lisp
	made %EXTRACT-STAT-RESULTS inline to suppress an apparent
		memory corruption bug
William Harold Newman [Tue, 15 May 2001 14:08:31 +0000 (14:08 +0000)]
 
0.6.12.7.flaky1:
	(This system state is seriously screwed up. It did build,
		both on Linux and on OpenBSD, but signalled an
		error after writing out sbcl.core on OpenBSD, and
		although it runs a little both on Linux and on
		OpenBSD, it hangs in the regression tests. It
		also has some temporary hacks marked REMOVEME,
		including one which suppresses PURIFY when
		building the system (!).)
	made the system build on OpenBSD again..
	..stubbed stuff out as a quick fix to the problem of FFI to
		64-bit stat.st_size
	tried to make the system run on OpenBSD again..
	..initialized current_dynamic_space, since it's now used
		instead of DYNAMIC_SPACE_START in PURIFY
	..added new assertions about GENCGC alloc_region stuff being
		reset when it should be
	renamed Lisp-level struct stat stuff to struct wrapped_stat
	tried to tidy up Lisp-level stat stuff; removed mysterious
		(STRING= NAME "") behavior from UNIX-STAT
	added slam.sh to help in low-level compile-and-try cycle
	pulled alloc_region-is-reset logic out into separate
		functions, and added more assertions on it (hunting
		for a bug which broke the old assertions)
	renamed gc_alloc_large to gc_alloc_possibly_large, and
		gc_quick_alloc_large_unboxed to
		gc_quick_alloc_unboxed_possibly_large
	enabled various GC checks, e.g. gencgc_zero_check=1
	deleted unused (and bizarre..) gencgc_verify_zero_fill()
	turned off PURIFY in order to get the system to build, since
		PURIFY seems to be misbehaving (leaving INIT-FUNCTION
		above the cutoff address..)
William Harold Newman [Thu, 10 May 2001 15:18:02 +0000 (15:18 +0000)]
 
0.6.12.7:
	Make sure that we "mkdir output/" before we use it in the build
		process. (MNA pointed out that we used it before we
		made it.)
	Use "uname -m" to figure out sbcl_arch default.
	merged MNA PCL fixes from sbcl-devel 2001-05-09 (including
		port of Pierre Mai's method combination fixes from
		cmucl-imp 2001-04-26)
	added regression test for method combination fix
	Bug 14 was mostly fixed already: the problem with
		INVALID-METHOD-ERROR complaining about being outside
		a method combination function went away some time ago.
		The MNA/Mai patch above improves method combination
		error reporting further, so it's definitely time
		to retire 14 from BUGS.
William Harold Newman [Wed, 9 May 2001 19:20:18 +0000 (19:20 +0000)]
 
0.6.12.6:
	merged Dan Barlow's patches sbcl-devel 2001-05-08 and
		2001-05-09
William Harold Newman [Wed, 9 May 2001 00:02:00 +0000 (00:02 +0000)]
 
0.6.12.5:
	made tests/foreign.test.sh more OpenBSD-friendly
	more Alpha patch tweaking..
	..removed extra "#define QSHOW 1" so that C-level
		describe_internal_error() becomes a debugging-only
		thing again
	..copied boilerplate text into the head of the new files
		(and moved some information from the head of the new
		files to CREDITS)
	..lotso cosmetic formatting changes
	..deleted src/compiler/alpha/print.lisp, since it's
		redundant with src/compiler/alpha/show.lisp
	..deleted "dead file" src/runtime/alpha-validate.h
	..removed in-the-flow-of-control EXPORTs and USE-PACKAGEs
		(in favor of centralized control in
		package-data.lisp-expr)
William Harold Newman [Tue, 8 May 2001 00:13:54 +0000 (00:13 +0000)]
 
0.6.12.4:
	made grovel-headers.c run automatically as part of the build
		process (so that the automatically-generated file
		output/stuff-groveled-from-headers.lisp replaced the
		old symlink src/code/target-os-types.lisp)
	redid grovel_headers.c DEFCONSTANT macro as function
	removed 'ln -sf $sbcl_arch-linux-types.lisp' stuff (from
		src/runtime/make-config.sh??)
	redid the definition of a stem in stems-and-flags.lisp,
		as a relative path from SBCL base directory instead
		of from the src/ subdirectory, so that it can now
		refer to "output/stuff-groveled-from-headers.lisp
William Harold Newman [Mon, 7 May 2001 20:16:21 +0000 (20:16 +0000)]
 
0.6.12.3:
	NOTE: This is a slightly screwed-up checkin, which won't
		quite build as is, because the checked-in changes from
		the Alpha port expect various src/code/*types.lisp
		files (e.g. src/code/x86-linux-types.lisp) which
		Daniel Barlow created by hand once and for all. Those
		are in my working directory but I didn't check them in
		because almost immediately, probably 0.6.12.4, I
		expect to rearrange things so that the build
		process generates a types file on every run of
		make.sh. So since CVS add/delete is a little mixed up,
		I thought I'd just skip it, even though it means that
		this version isn't quite buildable unless you grab
		those files from DB's patch.
	merged Daniel Barlow's port to the Alpha CPU sbcl-devel
		2001-05-04
	moved CIRCULAR-LIST-P to early-extensions.lisp (since it
		logically belongs there, and DB's new definition,
		unlike the old one, doesn't have a physical dependence
		on IGNORE-ERRORS which prevents it from being there)
	merged boot-extensions.lisp, early-extensions.lisp, and
		late-extensions.lisp, since there's no longer any
		distinction between the files
	deleted CVS files from sbcl-alpha-extra-files.tar, since
		they were probably an oversight, I think
	also src/compiler/alpha/z050.pdf:-|
	The patch change
			-  (/hexstr arguments)
			+  #!+sb-show (/hexstr arguments)
		shouldn't be necessary because /SHOW, like all the
		/FOO macros, is already conditional on SB-SHOW. So I
		undid this change (and added some comments in
		src/code/show.lisp explaining the intended behavior
		of /FOO macros).
	merged stat_wrapper.c into the relatively new, related
		wrap.c file; deleted stat_wrapper.h since stat wrappers
		seem never intended to be used by C code anyway
	renamed build-tools/ to tools-for-build/ in the interest of
		unambiguous (even painfully unambiguous)
		globally-visible names
	tweaked tests/alien.impure.lisp so that the test uses a
		non-GENCGC-dependent variable (instead of having to
		have the test conditional on #+GENCGC).
William Harold Newman [Mon, 7 May 2001 01:37:00 +0000 (01:37 +0000)]
 
0.6.12.2:
	MNA port of DTC VALUES declarations patch
		sbcl-devel/2001-05-04
William Harold Newman [Sun, 6 May 2001 18:37:58 +0000 (18:37 +0000)]
 
0.6.12.1:
	MNA dumping-a-logical-host patch sbcl-devel/2001-05-02
	MNA catch-init-file-errors patch sbcl-devel/2001-05-03
	MNA port of DTC UNREAD-CHAR/CLEAR-INPUT patch for
		encapsulated streams sbcl-devel/2001-05-03
William Harold Newman [Sat, 5 May 2001 02:44:44 +0000 (02:44 +0000)]
 
0.6.12:
	removed a little REMOVEME stuff, otherwise like 0.6.11.45
William Harold Newman [Thu, 3 May 2001 22:17:59 +0000 (22:17 +0000)]
 
0.6.11.45:
	more MNA byte-compilation patches (sbcl-devel 2001-04-30 and
		2001-05-02)
William Harold Newman [Fri, 27 Apr 2001 19:11:34 +0000 (19:11 +0000)]
 
0.6.11.43:
	MNA warm init byte-compilation patch (sbcl-devel 2001-04-14);
		except that I didn't clobber the DEFKNOWNs for
		funcallable instance accessors
	fixed the byte-compile-time warning problem in describe.lisp
		by redefining SB-PCL::GET-SLOTS-OR-NIL as a function
	merged pcl/fin.lisp into pcl/low.lisp in order to unscrew
		some assumed-to-be-function-but-then-defined-as-macro
		problems, and because now that our PCL is SBCL-specific
		pcl/fin.lisp stuff can mostly wither away anyway
	inlined CLOS-SLOTS-REF and (SETF CLOS-SLOTS-REF)
	deleted DOCTOR-DFUN-FOR-THE-DEBUGGER and
		RECORD-DEFINITION
William Harold Newman [Thu, 26 Apr 2001 15:47:52 +0000 (15:47 +0000)]
 
0.6.11.42:
	MNA port (sbcl-devel 2001-04-14) of DTC cmucl-imp patch: Use
		VALUE-CELL objects rather than conses for the
		interpreter's value cells.
	more ANSI compliance: BREAK binds *DEBUGGER-HOOK* to NIL
		before calling INVOKE-DEBUGGER.
	SIGINT handling no longer uses CL:BREAK (which rebinds
		*DEBUGGER-HOOK* before doing INVOKE-DEBUGGER, screwing
		up --noprogrammer handling) but instead calls
		INVOKE-DEBUGGER more directly.
	NOPROGRAMMER-DEBUG-HOOK-FUN now terminates "normally"
		(calling Unix exit(3), not falling into infinite
		recursion in Lisp-level error trapping) even
		when shell/pipeline/SIGINT or other mischief hoses
		its low-level output streams.
	renamed FASLOAD and SLOLOAD to LOAD-AS-FASL and LOAD-AS-SOURCE,
		so that users have a better chance of understanding
		them when they appears in BACKTRACE
William Harold Newman [Tue, 17 Apr 2001 20:50:30 +0000 (20:50 +0000)]
 
0.6.11.41:
	moved Unix opendir/readdir/closedir iteration down to C level
		so that cruft can be read directly from #include files
	replaced old *UNIX-ERROR* cruft with STRERROR and
		SIMPLE-PERROR and a few DEFCONSTANTs
	increased ANSIness of error reporting in fd-stream.lisp
William Harold Newman [Tue, 17 Apr 2001 14:43:42 +0000 (14:43 +0000)]
 
0.6.11.40:
	added code to support coming changes in (probably) 0.6.11.41..
	..moving Unix opendir/readdir/closedir iteration down to the C
		level, so that all structure layouts and whatnot can be
		read directly from #include files, so that directory
		operations become inherently portable (or at least as
		much as C/Unix ever is:-) and work on OpenBSD
	..replacing old *UNIX-ERROR* cruft with STRERROR and
		SIMPLE-PERROR
	GET-ERRNO belongs in SB-C-CALL, it's not Unix-specific.
William Harold Newman [Mon, 16 Apr 2001 16:33:07 +0000 (16:33 +0000)]
 
0.6.11.39:
	trivial changes syncing my OpenBSD and Linux checkouts
William Harold Newman [Mon, 16 Apr 2001 14:05:41 +0000 (14:05 +0000)]
 
0.6.11.38:
	got rid of CONDITION-FUNCTION-NAME logic, since it was messy
		and it didn't work very well and, given BACKTRACE, it
		seemed mostly redundant
	bumped fasl file version since CONDITION layout changed
	renamed FIND-CALLER-NAME to FIND-CALLER-NAME-AND-FRAME
	used BREAK's *STACK-TOP-HINT* idiom in ERROR and CERROR too
	removed PRINT-SIMPLE-ERROR stuff, so that SIMPLE-ERROR just
		prints as SIMPLE-CONDITION
	WHITESPACE-CHAR-P belongs in target-char.lisp (and in SB!INT).
William Harold Newman [Sun, 15 Apr 2001 16:42:05 +0000 (16:42 +0000)]
 
0.6.11.37:
	MNA 2001-04-13 CHECK-TYPE/STORE-VALUE patch
	replaced CHECK-TYPE calls with lighter-weight stuff
	rewrote CHECK-TYPE-VAR with lighter-weight stuff
	redid STREAM-ASSOCIATED-WITH-FILE-P
	renamed PARSE-OPERANDS to !PARSE-VOP-OPERANDS, and
		GROVEL-OPERANDS to !GROVEL-VOP-OPERANDS, and
		PARSE-OPERAND-TYPES to !PARSE-VOP-OPERAND-TYPES
		(and queued up various FOO -> !FOO renamings for
		after Alpha port is merged)
	made INVALID-METHOD-ERROR and METHOD-COMBINATION-ERROR
		stop screwing around with DEFVARs
	added *DEBUG-BEGINNER-HELP-P*
William Harold Newman [Sun, 15 Apr 2001 00:24:44 +0000 (00:24 +0000)]
 
0.6.11.36:
	added support for --noprogrammer command line option
	tweaked tests/*.test.sh stuff to use the most recently built
		SBCL in the current tree (as other tests/* stuff does)
	renamed some FD-STREAM stuff to be more explicit
	PICK-BACKUP-NAME and ENSURE-ONE-OF needn't be so general.
	reduced generality of BEEP too
	ENSURE-ONE-OF should signal a TYPE-ERROR.
	converted some other CERRORs to ERRORs; redid OPEN errors
	rearranged error output to use pretty printer more