cvs2git [Sat, 3 Sep 2011 15:04:41 +0000]
This commit was manufactured by cvs2svn to create tag 'snapshot-2011-09'.
rtoy [Sat, 3 Sep 2011 15:04:39 +0000]
Regenerated from current sources.
rtoy [Sat, 3 Sep 2011 05:19:03 +0000]
Fix rounding for large numbers.
Bug was pointed by Christophe in private email. Fix is based on his
suggested solution. Some examples that should work now:
(round
100000000002.9d0) ->
100000000003
(round (+ most-positive-fixnum 1.5w0)) ->
536870912
rtoy [Sat, 3 Sep 2011 04:46:34 +0000]
Cleanup sigbus handler for stack overflow.
We don't need sigbus_handler_tramp; sigbus_handle_now is good enough.
Print out the PC too when we get a real sigbus.
rtoy [Thu, 1 Sep 2011 16:53:46 +0000]
Insert line breaks in the yellow-zone message.
rtoy [Thu, 1 Sep 2011 16:16:49 +0000]
Oops. Need to check for gc write barrier before handling the sigbus.
rtoy [Thu, 1 Sep 2011 05:18:26 +0000]
Add os_init0 to allow for some really early OS inits.
On Linux, os_init can re-exec lisp to set up the correct personality.
Not normally a problem, but if any output happens before os_init is
called, the output appears to happen twice. So add os_init0 to do
this early on, before any output. This is a bit of a kludge.
lisp/lisp.c:
o Call os_init0 early in main.
lisp/Linux-os.c:
o Move the personality stuff from os_init to os_init0.
lisp/Darwin-os.c:
lisp/FreeBSD-os.c:
lisp/NetBSD-os.c:
lisp/OpenBSD-os.c:
lisp/hpux-os.c:
lisp/irix-os.c:
lisp/mach-os.c:
lisp/osf1-os.c:
lisp/solaris-os.c:
lisp/sunos-os.c:
o Add dummy implementation of os_init0. These OSes don't (currently)
need anything special.
lisp/os.h:
o Declare os_init0.
rtoy [Thu, 1 Sep 2011 04:39:56 +0000]
Make the stack checking feature actually work on Darwin. Previously,
stack overflows would crash lisp.
Darwin-os.c:
o Need to check for stack overflow in the sigbus handler. (Without
that, it's treated as a regular bus error.)
o Add the rest of the infrastructure to handle the stack overflow.
release-20c.txt:
o Update
rtoy [Tue, 23 Aug 2011 04:16:04 +0000]
contrib/asdf/asdf.lisp
general-info/release-20c.txt
o Update to asdf2 2.017.
rtoy [Sun, 21 Aug 2011 15:16:01 +0000]
Improve type progagation for LOAD-TIME-VALUE.
Patch from Helmut Eller, cmucl-imp 2011-06-11.
rtoy [Sun, 21 Aug 2011 07:43:39 +0000]
Reduce consing of SAPs in ROOM.
Patch from Helmut Eller, cmucl-imp 2011-08-11.
rtoy [Tue, 12 Jul 2011 17:24:26 +0000]
Update from logs.
rtoy [Tue, 12 Jul 2011 17:19:50 +0000]
Don't call dgettext with a NIL doc.
rtoy [Wed, 29 Jun 2011 00:58:41 +0000]
o Trac #43 fixed again.
o Add note about build-all.sh.
rtoy [Wed, 29 Jun 2011 00:55:04 +0000]
Fix Trac #43 again.
stream.lisp:
o Remove the old code that was the first attempt at fixing issue #43.
This was wrong.
fd-stream.lisp:
o Fix issue #43. Even if we have a string-buffer, we need to take
into account any octets in the in-buffer (if it exists) that have
not been processed. This happens if the in-buffer does not have
enough octets at the end to form a complete character for the given
encoding.
o Some debugging prints added, but disabled.
rtoy [Tue, 28 Jun 2011 19:20:09 +0000]
Regenerated from current sources.
rtoy [Mon, 27 Jun 2011 15:47:53 +0000]
Update from logs.
o Unicode updated to version 6.0.0.
o Trac #43 repoened because that change was reverted.
rtoy [Mon, 27 Jun 2011 15:45:19 +0000]
Usability and internal restructuring.
o Add usage message.
o Don't include the emacs-style backup files that are sometimes
created for the pot files.
rtoy [Mon, 27 Jun 2011 15:18:14 +0000]
Regenerated for Unicode 6.0.0.
rtoy [Mon, 27 Jun 2011 15:11:30 +0000]
Update to Unicode 6.0.0.
code/unidata.lisp:
o Update unicode version to 6.0.0
o Add pointer to build-unidata.lisp.
tools/build-unidata.lisp:
o Update unicode version to 6.0.0
o Print out directory path so we can see where we're getting the data
from.
i18n/CaseFolding.txt
i18n/CompositionExclusions.txt
i18n/DerivedNormalizationProps.txt
i18n/NameAliases.txt
i18n/NormalizationCorrections.txt
i18n/SpecialCasing.txt
i18n/UnicodeData.txt
i18n/WordBreakProperty.txt
i18n/tests/NormalizationTest.txt
i18n/tests/WordBreakTest.txt:
o Update with new files from unicode.org.
rtoy [Mon, 27 Jun 2011 15:05:27 +0000]
Revert last change to fix Trac #43.
That changes causes the Unicode normalization and word-break tests to
fail. I do not know why this causes the tests to fail, but it causes
the test program to suck in the entire file into a string instead of
just one line.
rtoy [Fri, 10 Jun 2011 19:34:58 +0000]
o Update for recent change.
o Update the version number for ASDF.
rtoy [Fri, 10 Jun 2011 19:32:31 +0000]
Allow specifying a core with an executable image.
There's no reason why this shouldn't work and tests show that it does
work. So instead of disallowing it, just print a warning that it is
unusual. Fred also said this should work; it's just a bit odd running
a 30MB executable with a 30MB core.
rtoy [Fri, 10 Jun 2011 17:38:27 +0000]
Add function to load all unicode data into memory.
This makes it easy to make an executable image that doesn't need
unidata.bin around. (Should we do this for normal cores? It seems to
add about 1 MB to the core size.)
code/unidata.lisp:
o Add LOAD-ALL-UNICODE-DATA to load all unicode data.
o Add UNICODE-DATA-LOADED-P to check that unicode data has been
loaded.
code/print.lisp:
o If unicode data is loaded, don't check for existence of
*unidata-path*, because we don't need it.
code/exports.lisp:
o Export LOAD-ALL-UNICODE-DATA.
general-info/release-20c.txt:
o Update info
rtoy [Wed, 8 Jun 2011 15:56:55 +0000]
(require "asdf") loads asdf now.
This change need to support the new recommended way of loading asdf2
with require. This is a backward compatible change.
rtoy [Wed, 8 Jun 2011 15:42:22 +0000]
Update to release 2.016.
rtoy [Mon, 6 Jun 2011 19:28:10 +0000]
Regenerated from current sources.
rtoy [Sun, 5 Jun 2011 20:39:04 +0000]
Update from logs.
rtoy [Tue, 31 May 2011 13:26:41 +0000]
Add -unidata option to specify unidata.bin file.
This change requires a cross-compile. Use boot-2011-04-01-cross.lisp
as the cross-compile script.
bootfiles/20b/boot-2011-04-01-cross.lisp:
o New cross-compile bootstrap file
lisp/lisp.c:
o Recognize -unidata option and setup *UNIDATA-PATH* appropriately.
code/commandline.lisp:
o Add defswitch for unidata so we don't get complaints about unknown
switch.
code/unidata.lisp:
o Rename +UNIDATA-PATH+ to *UNIDATA-PATH*, since it's not a constant
anymore.
o Update code to use new name.
code/print.lisp:
o Update code to use *UNIDATA-PATH*
compiler/sparc/parms.lisp:
o Add *UNIDATA-PATH* to list of static symbols.
o Add back in spare-9 and spare-8 static symbols since we need to do a
cross-compile for this change anyway.
compiler/x86/parms.lisp:
o Add *UNIDATA-PATH* to list of static symbols.
o Reorder the static symbols in a more logical arrangment so that the
spare symbols are at the end.
i18n/local/cmucl.pot:
o Update
rtoy [Tue, 31 May 2011 13:18:37 +0000]
Add :CMUCL to *FEATURES*.
(Even though I (rtoy) should know better, I still find myself writing
:cmucl instead of :cmu in feature tests.)
rtoy [Tue, 31 May 2011 13:14:39 +0000]
Ignore shell wildcards when determining next version.
Comment from Paul Foley:
Problem: FD-OPEN calls NEXT-VERSION with the namestring;
NEXT-VERSION calls EXTRACT-NAME-TYPE-AND-VERSION, which builds a
"pattern" when it sees globbing characters in the name, and
NEXT-VERSION promptly crashes when it tries to concatenate strings.
Fix: Bind *IGNORE-WILDCARDS* to T in NEXT-VERSION (in
fd-stream.lisp)
rtoy [Wed, 11 May 2011 14:20:27 +0000]
Add short description for build.sh.
rtoy [Tue, 12 Apr 2011 01:55:14 +0000]
Update so we can cross-compile from linux to solaris too.
rtoy [Mon, 11 Apr 2011 16:34:49 +0000]
Automatically select arch and os on FreeBSD, if none given.
rtoy [Mon, 11 Apr 2011 16:32:56 +0000]
Update so that linux can be used to cross-compile to freebsd.
rtoy [Sun, 3 Apr 2011 15:19:14 +0000]
Order the header in the same order as what the tools tend to produce
(at least on my Mac).
rtoy [Sun, 3 Apr 2011 15:01:24 +0000]
Regenerate piglatin translation.
rtoy [Sat, 2 Apr 2011 20:15:43 +0000]
Regenerated po files from current sources.
rtoy [Sat, 2 Apr 2011 20:11:31 +0000]
Remove extra right parenthesis.
rtoy [Sat, 2 Apr 2011 19:27:41 +0000]
Update from logs
rtoy [Wed, 30 Mar 2011 04:27:50 +0000]
Update to asdf 2.014.1 to fix an issue with SUBDIRECTORIES function on
cmucl.
rtoy [Mon, 28 Mar 2011 17:23:39 +0000]
Update to asdf 2.014.
rtoy [Mon, 28 Mar 2011 12:07:34 +0000]
Second return value of compile-file should be true if style-warnings
exist.
Issue noted by Douglas Crosher, cmucl-imp, 2011-03-23.
rtoy [Thu, 24 Mar 2011 16:40:59 +0000]
Update to upstream released version 2.013.
rtoy [Thu, 3 Mar 2011 16:43:51 +0000]
Fix Trac #43: unread-char doesn't change file-position
rtoy [Thu, 3 Mar 2011 16:43:28 +0000]
Fix Trac #43: unread-char doesn't change file-position
The issue is caused by FAST-READ-CHAR-STRING-REFILL. In some
situations the number of octets converted is not exactly the same as
the length of the buffer because the last octets in the buffer don't
hold a complete encoded character. This is ok, but we didn't update
the ibuf-head pointer to indicate that some octets haven't actually
been converted. This confuses FILE-POSITION.
rtoy [Tue, 1 Mar 2011 04:40:13 +0000]
Update from logs.
Also, Solaris/x86 supports both sse2 and x87 now.
rtoy [Tue, 1 Mar 2011 04:32:58 +0000]
Remove commented-out DEFAULT-DIRECTORY written by fmg.
Don't need this anymore since the issue appears to be fixed.
rtoy [Mon, 28 Feb 2011 17:14:45 +0000]
Need to define %sqrt for x86/sse2 so the compiler can constant-fold
SQRT.
rtoy [Wed, 23 Feb 2011 03:02:33 +0000]
Fix bug where cmucl was no longer recognizing things like
#\latin_small_letter_a. This failure is caused by the new
SEARCH-DICTIONARY function that does partial completion, and
UNICODE-NAME-TO-CODEPOINT function wan't aware of the new way.
We could change UNICODE-NAME-TO-CODEPOINT to do the appropriate thing
with the new way, but I (rtoy) decided it would be nice to have the
old function around too. Hence, restore the old version and use it.
rtoy [Tue, 22 Feb 2011 22:56:15 +0000]
Make the test for flet/labels functions more explicit. We were
catching setf functions previously.
rtoy [Thu, 17 Feb 2011 02:55:45 +0000]
Fix ansi-test failure OPEN.IO.28:
(OPEN PN :DIRECTION :IO :IF-DOES-NOT-EXIST NIL)
no longer signals an error.
code/fd-stream.lisp:
o Don't try to create a new version if there's no existing file
general-info/release-20c.txt:
o Update.
rtoy [Thu, 17 Feb 2011 02:47:22 +0000]
The :OUTPUT-FILE for COMPILE-FILE can be a stream.
This fixes ansi-test COMPILE-FILE.14.
compiler/fndb.lisp:
o Tell compiler that :OUTPUT-FILE can also be a stream.
general-info/release-20c.txt:
o Update.
rtoy [Wed, 2 Feb 2011 13:08:25 +0000]
Update from logs.
rtoy [Wed, 2 Feb 2011 13:07:57 +0000]
Don't dump fdefinitions for local flet/labels functions. Suggested by
Helmut Eller, cmucl-imp 2011-01-19.
rtoy [Wed, 2 Feb 2011 13:06:28 +0000]
Recognize i86pc from uname -m.
rtoy [Wed, 2 Feb 2011 12:51:27 +0000]
Fix typo. We wanted to export the function DESCRIBE-EXTERNAL-FORMAT,
not the random symbol DESCRIBE-EXTERNAL-FORMATS.
rtoy [Tue, 1 Feb 2011 15:35:00 +0000]
Fix typo. The check for whether we were trying to use encapsulation
to trace a local function was checking for the wrong thing.
rtoy [Thu, 27 Jan 2011 00:49:32 +0000]
Micro optimization: In SET-CMT-ENTRY, if the char-code is above
attribute-table-limit and if the newvalue is #'read-token, we don't
actually add the entry to the character-macro-hash-table, because that
is the default value for the hash-table. This helps to keep the
hash-table size small.
rtoy [Fri, 21 Jan 2011 15:44:58 +0000]
For Darwin, we need to specify -arch i386 if we need to run ld so that
we produce 32-bit binaries instead of the default 64-bit (on 10.6 and
later).
rtoy [Wed, 12 Jan 2011 00:41:34 +0000]
Transform (EQ foo NIL) to the equivalent (IF foo NIL T). Optimization
suggested by Helmut Eller on cmucl-imp, 2011-01-08.
rtoy [Sun, 9 Jan 2011 00:12:36 +0000]
Changes to support building on Mac OS X 10.6. When compiled on 10.6,
the resulting binary still works on 10.5.
lisp/Config.x86_darwin:
o Add -m32 flag to build and link a 32-bit binary.
lisp/Darwin-os.h:
o Include <sys/ucontext.h> instead of <ucontext.h> to get rid of the
error about deprecated functions in ucontext.h.
lisp/gencgc.h:
o Mac OS X defines PAGE_SIZE in a header and that conflicts with our
name. Rename our PAGE_SIZE to GC_PAGE_SIZE.
lisp/gencgc.c:
o Rename PAGE_SIZE to GC_PAGE_SIZE.
rtoy [Fri, 7 Jan 2011 23:43:58 +0000]
Oops. Forgot to tell getopts about the -B option.
rtoy [Fri, 7 Jan 2011 03:46:42 +0000]
Fix typo in unix-uname. We want to use "uname" everywhere except on
freebsd and solaris/x86.
rtoy [Mon, 27 Dec 2010 02:05:31 +0000]
NetBSD has a working dladdr, so we can use the fancy
FIND-FOREIGN-FUNCTION-NAME.
rtoy [Mon, 27 Dec 2010 01:46:46 +0000]
o The latest openmotif from macports appears to be linked against the
macports X11 libs, so search for that first. Without that, motifd
crashes.
o Add -g to enable debugging.
rtoy [Sun, 26 Dec 2010 23:14:21 +0000]
Solaris/x86 has a working dladdr, so we can use the fancy
FIND-FOREIGN-FUNCTION-NAME.
rswindells [Sun, 26 Dec 2010 16:04:43 +0000]
Add a test for whether the operating system supports use of the SSE2
registers. The test is a stub on everything except NetBSD for now.
rtoy [Sun, 26 Dec 2010 15:17:59 +0000]
Update from logs.
rtoy [Sun, 26 Dec 2010 14:54:33 +0000]
Allow more than one keyword constructor for defstruct. Bug and fix
from Rob Warnock.
rtoy [Sun, 26 Dec 2010 14:03:48 +0000]
Unintern removes the wrong symbol. See
https://bugs.launchpad.net/sbcl/+bug/693796.
rtoy [Fri, 24 Dec 2010 06:01:34 +0000]
Document why SC_EFLAGS doesn't seem to work on Solaris/x86.
rtoy [Thu, 23 Dec 2010 23:02:58 +0000]
The address computation for x87 registers was wrong. Fix them so.
Among other things, this makes tracing work with x87 floating-point
values.
rtoy [Thu, 23 Dec 2010 22:57:35 +0000]
Use -xM1 so we don't include dependencies to /usr/include.
rtoy [Thu, 23 Dec 2010 22:56:26 +0000]
Add implementation of SC_EFLAGS for Solaris/x86, but disable for now
because it makes breakpoints not work for some reason.
rtoy [Thu, 23 Dec 2010 22:55:31 +0000]
Fix typo.
rtoy [Thu, 23 Dec 2010 22:23:48 +0000]
Fix tracing for NetBSD. Function end breakpoints didn't seem to be
working when tracing, for example
(declaim (ftype (function (double-float) double-float) fact))
(defun fact (x)
(declare (double-float x))
(if (= x 1)
1d0
(* x (fact (1- x)))))
lisp/x86-lispregs.h
o NetBSD has access to the eflags register
lisp/x86-arch.c:
o Add some debugging prints (disabled).
o The stuff near line 262 about pc-9 pointing to the pushf instruction
should be conditioned on SC_EFLAGS because that's what decides
whether we insert the pushf instructions for single stepping.
rtoy [Thu, 23 Dec 2010 17:38:05 +0000]
o Oops. We want the xmm registers if index >= 8.
o Add some debugging prints.
rtoy [Thu, 23 Dec 2010 04:50:02 +0000]
Fix os_sigcontext_fpu_reg to return the correct address for SSE2
registers. This works. We also try to get the correct data for the
x87 registers, but this is not tested.
rtoy [Thu, 23 Dec 2010 03:20:27 +0000]
Add support for NetBSD for the new executable image implementation.
lisp/Config_x86_netbsd:
o Define EXEC_FINAL_OBJ, like other x86 ports.
lisp/elf.c:
o Use the new linker.sh command script to link the executable.
lisp/lisp.c:
o Use new method of getting the initial_function.
rtoy [Thu, 23 Dec 2010 03:17:43 +0000]
Recognize NetBSD defaults.
rtoy [Thu, 23 Dec 2010 03:16:56 +0000]
Support NetBSD.
rtoy [Thu, 23 Dec 2010 02:14:57 +0000]
Solaris/sparc and Solaris/x86 both use the same executable style so
get the initial_function from the initial_function_addr, not the
address of initial_function_addr.
rtoy [Wed, 22 Dec 2010 20:17:24 +0000]
Update conditionals so we choose the correct compiler for Solaris/x86
(where we only support Sun C now).
rtoy [Wed, 22 Dec 2010 20:16:29 +0000]
Update conditionals so this does the right thing on Solaris/x86 so
that the correct object files are dumped and so that we can link them
all together.
However, the resulting exectable does not work on Solaris/x86.
rtoy [Wed, 22 Dec 2010 05:55:22 +0000]
Set maxima dynamic space size to 2.304 GB.
rtoy [Wed, 22 Dec 2010 02:15:39 +0000]
Oops. nuname is for Solaris/x86, not Solaris/sparc.
rtoy [Wed, 22 Dec 2010 02:12:52 +0000]
Merge changes from cross-sol-x86-2010-12-20 which adds support for
Solaris/x86. There should be no functional changes for either other
x86 ports or for the sparc port.
rtoy [Sun, 19 Dec 2010 03:01:47 +0000]
Oops. If the domain-entry-encoding is NIL, we just want to return
NIL. (From Paul Foley.)
rtoy [Sat, 18 Dec 2010 16:16:47 +0000]
On Darwin, SIGSTKSZ is 128K, not 8K like on most other systems.
Adjust the CONTROL_STACK_SIZE and SIGNAL_STACK_START appropriately.
rtoy [Tue, 14 Dec 2010 21:22:27 +0000]
Don't call dgettext if there's no documentation string. This used to
work, but doesn't anymore because the domain won't normally be NIL
anymore.
rtoy [Tue, 14 Dec 2010 00:26:43 +0000]
compiler/generic/new-genesis.lisp:
o More cleanups. Basically back to rev 1.93 with a couple more
cleanups, but this works on sparc.
bootfiles/20b/boot-2010-12.lisp:
o Use this to bootstrap the necessary values in the compiler backend
for the foreign-linkage-space.
rtoy [Mon, 13 Dec 2010 00:19:38 +0000]
Revert previous change. Instead of caching probe-file, have
LOAD-DOMAIN return an appropriate entry instead of returning NIL.
This still gets rid of all the stats.
Solution from Paul Foley.
rtoy [Sat, 11 Dec 2010 22:39:46 +0000]
Speed up building on sparc. Time taken is now almost half! This was
caused by all the calls to stat in PROBE-FILE in LOCATE-DOMAIN-FILE
for files that did not exist. The default locale was C, so every
message lookup was causing many stat's to non-exist files. (There
were over 1000 calls/sec on a 750 MHz sparc!)
So we cache all the calls to PROBE-FILE in LOCATE-DOMAIN-FILE. But
just in case, we also allow the user to get at the hash table to
examine it (GET-DOMAIN-FILE-CACHE) and also allow the user to clear it
(CLEAR-DOMAIN-FILE-CACHE) in case new translations are added without
restarting lisp.
rtoy [Sat, 11 Dec 2010 15:07:08 +0000]
Revert some of the previous cleanups. They were preventing building
on sparc for some reason. We keep the unicode and non-unicode fops
separate for now.
rtoy [Thu, 9 Dec 2010 14:01:01 +0000]
Export some UNIX symbols for FreeBSD to get rid of a build warning.
rtoy [Thu, 9 Dec 2010 05:13:50 +0000]
SUBSEQ was sometimes crashing lisp when the end index was less than
the start. This was due to one of two things: The result sequence
was created with a negative length, creating invalid objects, or
accessing the invalid object would cause a segfault.
code/seq.lisp:
o Declare the type of LENGTH in MAKE-SEQUENCE-OF-TYPE better. It's
not a fixnum, but an index (non-negative fixnum). This should catch
any mistakes where we try to create sequences of negative length.
o Explicitly catch invalid START and END indices in VECTOR-SUBSEQ* and
LIST-SUBSEQ* and signal an error
general-info/release-20c.txt:
o Document bugfix.
rtoy [Wed, 8 Dec 2010 23:57:02 +0000]
Update to version 2.011.
rtoy [Sun, 5 Dec 2010 15:55:53 +0000]
No functional changes. Just update examples.
o Fix typo in callback examples.
o Add package qualifiers so the examples can be used in CL-USER.
rtoy [Sun, 5 Dec 2010 14:28:49 +0000]
Minor change to allow the script to work for cross-compiling
non-unicode sparc from x86 OSX.