sbcl.git
15 years ago1.0.23.49: Eliminate FCN as function moniker.
Thiemo Seufer [Wed, 17 Dec 2008 20:36:18 +0000 (20:36 +0000)]
1.0.23.49: Eliminate FCN as function moniker.

15 years ago1.0.23.48: REPL recovers from *READ-SUPPRESS* T with a warning
Nikodemus Siivola [Wed, 17 Dec 2008 17:34:17 +0000 (17:34 +0000)]
1.0.23.48: REPL recovers from *READ-SUPPRESS* T with a warning

 * Reported by Daniel Herring.

15 years ago1.0.23.47: binaries built on now Leopard run on Tiger as well
Nikodemus Siivola [Wed, 17 Dec 2008 17:12:57 +0000 (17:12 +0000)]
1.0.23.47: binaries built on now Leopard run on Tiger as well

 * -mmacosx-version-min=10.4 needed in LINKFLAGS as well.

15 years ago1.0.23.46: Remove redundant uses of zero-tn in the MIPS backend.
Thiemo Seufer [Wed, 17 Dec 2008 14:43:26 +0000 (14:43 +0000)]
1.0.23.46: Remove redundant uses of zero-tn in the MIPS backend.

15 years ago1.0.23.45: Remove superfluous register :offsets in the MIPS backend.
Thiemo Seufer [Wed, 17 Dec 2008 14:42:15 +0000 (14:42 +0000)]
1.0.23.45: Remove superfluous register :offsets in the MIPS backend.

15 years ago1.0.23.44: Nicer code for MIPS, lifted from the SPARC backend.
Thiemo Seufer [Wed, 17 Dec 2008 14:39:28 +0000 (14:39 +0000)]
1.0.23.44: Nicer code for MIPS, lifted from the SPARC backend.

  * Add some :note annotations.

  * Kill a few magic constants.

15 years ago1.0.23.43: More consistent coding style for mips/array.lisp
Thiemo Seufer [Wed, 17 Dec 2008 14:36:11 +0000 (14:36 +0000)]
1.0.23.43: More consistent coding style for mips/array.lisp

15 years ago1.0.23.42: don't grab *WORLD-LOCK* in CLASSOID-TYPEP
Nikodemus Siivola [Tue, 16 Dec 2008 16:37:07 +0000 (16:37 +0000)]
1.0.23.42: don't grab *WORLD-LOCK* in CLASSOID-TYPEP

 * A shoddy bandaid to make Slime less prone to deadlock against the
   compiler when using :SPAWN.

 * Proper fix is to be much, much more principled about grabbing the
   *WORLD-LOCK* in the compiler: we should only ever grab it in places
   where we cannot end up calling arbitary user code while holding
   it.

15 years ago1.0.23.41: fix DX-COMBINATION-P
Nikodemus Siivola [Mon, 15 Dec 2008 09:40:07 +0000 (09:40 +0000)]
1.0.23.41: fix DX-COMBINATION-P

 * Punt on multiple result-uses. Reported by Pascal Costanza and
   Thiemo Seufer.

 * Also check for clean arg flow all cases.

15 years ago1.0.23.40: export page sizes to C with LU suffix
Nikodemus Siivola [Sat, 13 Dec 2008 10:52:07 +0000 (10:52 +0000)]
1.0.23.40: export page sizes to C with LU suffix

 * Rename GENCGC-PAGE-SIZE and *BACKEND-PAGE-SIZE* to
   GENCGC-PAGE-BYTES and *BACKEND-PAGE-BYTES* respectively.

 * Clean up constant.h generation: instead of guessing when to add an
   U suffix, specify when the value is "large", and then add an LU
   suffix.

 * Without the LU suffix some C compilers chose to truncate results of
   some operations where these quantities featured, leading at least
   to an upper limit of #xffff0000 bytes in dynamic space on certain
   64 bit systems.

15 years ago1.0.23.39: Red Hat Enterprise 3 mmap randomization workaround
Nikodemus Siivola [Fri, 12 Dec 2008 15:51:28 +0000 (15:51 +0000)]
1.0.23.39: Red Hat Enterprise 3 mmap randomization workaround

 * Patch by Thomas Burdick: RHEL 3 suffers from the randomized mmap
   nonesense, and reports kernel version 2.4.21. With the attached
   patch, it SBCL runs correctly on these machines.

15 years ago1.0.23.38: fix bug 430 (stack alloc by nested defstruct constructors)
Nikodemus Siivola [Fri, 12 Dec 2008 13:05:23 +0000 (13:05 +0000)]
1.0.23.38: fix bug 430 (stack alloc by nested defstruct constructors)

 * Mark lambdas introduced by the compiler as such, so that
   LAMBDA-SYSTEM-LAMBDA-P returns true for them.

 * Allow USE-GOOD-FOR-DX-P to inspect COMBINATIONs with CLAMBDA
   functionals: if the return value of the function always originates
   from a known DX-capable combination, and the arguments of the
   original combination are used only by the DX-capable combination,
   consider the original combination good for DX.

 * Allow USE-GOOD-FOR-DX-P to inspect REFs to LAMBDA-VARs: if the var
   is bound by a system lambda, has no other refs, is never set, gets
   its value from a single-value combination, and the LVAR it gets its
   value from is good for DX ... then the REF is good for DX as well.

 * HANDLE-NESTED-DYNAMIC-EXTENT-LVARS handles REFs as well by
   recursing on the lvar the REF gets its value from.

15 years ago1.0.23.37: more CLOS and classoid thread safety
Nikodemus Siivola [Fri, 12 Dec 2008 12:27:00 +0000 (12:27 +0000)]
1.0.23.37: more CLOS and classoid thread safety

 * Rename *BIG-COMPILER-LOCK* as *WORLD-LOCK*.

 * Use it to protect classoids, layouts/wrappers, obsolete instance
   updating, etc.

 * Rename sevaral functions which assume their callers are holding the
   lock to have % prefix. Perhaps we should have a separate prefix
   convention for "requires called to lock"? Or a nifty macro layer?
   (Actually there are probably places where read/write locks (or
   STM!)  would be a win...)

 * ENSURE-CLASS-USING-CLASS needs to set up type translations only
   while PCL is being build.

 * DEFCLASS and ENSURE-CLASS-USING-CLASS are now expected to be thread
   safe.

 * Test-case for parallel defclass and make-instance.

15 years ago1.0.23.36: typecheck :ALLOCATION :CLASS slot initforms in safe code
Nikodemus Siivola [Fri, 12 Dec 2008 10:57:52 +0000 (10:57 +0000)]
1.0.23.36: typecheck :ALLOCATION :CLASS slot initforms in safe code

 * Initforms for shared slots are not applied at make-instance, but at
   class definition time. (See CLHS 4.3.6 and 7.1.) Reported by Didier
   Verna.

15 years ago1.0.23.35: CLOS tweaking
Nikodemus Siivola [Fri, 12 Dec 2008 10:55:34 +0000 (10:55 +0000)]
1.0.23.35: CLOS tweaking

 * Muffle undefined function style-warning for slot-accessors. The
   slot-accessor name is an internal detail, and defining functions
   accessing slots before classes with such slots are defined is fine.

 * Don't double-fetch slot-definition-initfunction in
   SHARED-INITIALIZE (SLOT-OBJECT).

 * Don't double-fetch various slot-definition properties in
   COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS, and declare
   type-check-functions as functions.

15 years ago1.0.23.34: A nicer register dump for ldb.
Thiemo Seufer [Thu, 11 Dec 2008 20:38:32 +0000 (20:38 +0000)]
1.0.23.34: A nicer register dump for ldb.

15 years ago1.0.23.33: Stack-allocatable vectors for MIPS.
Thiemo Seufer [Thu, 11 Dec 2008 20:28:13 +0000 (20:28 +0000)]
1.0.23.33: Stack-allocatable vectors for MIPS.

15 years ago1.0.23.32: Flush icache for MIPS alien callback stub.
Thiemo Seufer [Thu, 11 Dec 2008 20:26:00 +0000 (20:26 +0000)]
1.0.23.32: Flush icache for MIPS alien callback stub.

15 years ago1.0.23.31: NFP is not a descriptor-reg.
Thiemo Seufer [Wed, 10 Dec 2008 22:11:51 +0000 (22:11 +0000)]
1.0.23.31: NFP is not a descriptor-reg.

15 years ago1.0.23.30: Don't export storage class names.
Thiemo Seufer [Wed, 10 Dec 2008 22:09:59 +0000 (22:09 +0000)]
1.0.23.30: Don't export storage class names.

15 years ago1.0.23.29: Specify the required double-stack alignment for MIPS.
Thiemo Seufer [Wed, 10 Dec 2008 22:07:06 +0000 (22:07 +0000)]
1.0.23.29: Specify the required double-stack alignment for MIPS.

15 years ago1.0.23.28: defconstant -> def!constant in the MIPS backend.
Thiemo Seufer [Wed, 10 Dec 2008 22:04:13 +0000 (22:04 +0000)]
1.0.23.28: defconstant -> def!constant in the MIPS backend.

15 years ago1.0.23.27: Less magic constants in the MIPS backend.
Thiemo Seufer [Wed, 10 Dec 2008 22:01:07 +0000 (22:01 +0000)]
1.0.23.27: Less magic constants in the MIPS backend.

15 years ago1.0.23.26: AMOPly correct defaulting of direct superclasses
Nikodemus Siivola [Fri, 5 Dec 2008 13:47:37 +0000 (13:47 +0000)]
1.0.23.26: AMOPly correct defaulting of direct superclasses

  "The class standard-object is the default direct superclass of the
  class standard-class. When an instance of the class standard-class
  is created, and no direct superclasses are explicitly specified, it
  defaults to the class standard-object."

  "The same is true for funcallable-standard-class and
  funcallable-standard-object."

  * Add :DEFAULT-INITARGS to that effect.

15 years ago1.0.23.25: better errors for bogus RECURSIVE-P in reader
Nikodemus Siivola [Fri, 5 Dec 2008 13:22:50 +0000 (13:22 +0000)]
1.0.23.25: better errors for bogus RECURSIVE-P in reader

 * When RECURSIVE-P was true in a non-recursive context, we used to
   signal an unbound-variable error. Now signal a sensible
   reader-error instead.

 * Patch by Tobias Rittweiler. Also apologies for constant mistyping
   of his name: mentally s/Ritter/Ritt/ in historical commit
   messages...

15 years ago1.0.23.24: fix bad test for ARRAY-STORAGE-VECTOR
Nikodemus Siivola [Fri, 5 Dec 2008 13:16:21 +0000 (13:16 +0000)]
1.0.23.24: fix bad test for ARRAY-STORAGE-VECTOR

 * How many problems can a trivial change have? Moral: don't do manual
   cherry-picking. It always goes wrong.

15 years ago1.0.23.23: properly rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR
Nikodemus Siivola [Fri, 5 Dec 2008 12:58:51 +0000 (12:58 +0000)]
1.0.23.23: properly rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR

 * Missed package-data-list.lisp-expr from last commit.

15 years ago1.0.23.22: rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR
Nikodemus Siivola [Fri, 5 Dec 2008 11:31:39 +0000 (11:31 +0000)]
1.0.23.22: rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR

 * Allow fething the underlying vector of any non-displaced array.

15 years ago1.0.23.21: Stack allocated conses for MIPS.
Thiemo Seufer [Fri, 5 Dec 2008 07:01:39 +0000 (07:01 +0000)]
1.0.23.21: Stack allocated conses for MIPS.

15 years ago1.0.23.20: check for standard readtable modification
Nikodemus Siivola [Thu, 4 Dec 2008 19:02:08 +0000 (19:02 +0000)]
1.0.23.20: check for standard readtable modification

 * CLHS says that frobbing the standard readtable is undefined.

 * Patch by Tobias Ritterweiler.

15 years ago1.0.23.19 deja vu
Nikodemus Siivola [Thu, 4 Dec 2008 18:50:24 +0000 (18:50 +0000)]
1.0.23.19 deja vu

 (missing version.lisp-expr update for last commit)

15 years ago1.0.23.19: cosmetic reader changes
Nikodemus Siivola [Thu, 4 Dec 2008 18:18:22 +0000 (18:18 +0000)]
1.0.23.19: cosmetic reader changes

 * Patch by Tobias Ritterweiler, slightly mangled by yours truly.
    ** Convert macros to functions.
    ** Remove various FIXMEs.
    ** Update comments.

15 years ago1.0.23.18: SET-[DISPATCH-]MACRO-CHARACTER fixes
Nikodemus Siivola [Thu, 4 Dec 2008 16:50:14 +0000 (16:50 +0000)]
1.0.23.18: SET-[DISPATCH-]MACRO-CHARACTER fixes

 * Patch by Tobias Ritterweiler, plus tests and making S-D-M-C return T.

15 years ago1.0.23.17: new function: SIMPLE-ARRAY-VECTOR
Nikodemus Siivola [Thu, 4 Dec 2008 10:01:04 +0000 (10:01 +0000)]
1.0.23.17: new function: SIMPLE-ARRAY-VECTOR

 * For users to extract the underlying vector from a multidimensional
   array. Warn about implementation-detail nature of this.

 * Add Miscellaneuous Extensions section to Beyond ANSI chapter in the
   manual.

15 years ago1.0.23.16: more generic assembly op optimizations on x86 and x86-64
Nikodemus Siivola [Wed, 3 Dec 2008 16:31:10 +0000 (16:31 +0000)]
1.0.23.16: more generic assembly op optimizations on x86 and x86-64

 * Cleanup: replace bunch of magic numbers with fixnum-tag-mask and
   n-fixnum-tag-bits.

 * More cases of "one test to check both argument types against fixnum".

 * Use CMOV where appropriate. (Thanks to Vitaly Mayatskikh)

15 years ago1.0.23.15: GET-MUTEX to set new mutex owner unithreaded platforms
Nikodemus Siivola [Wed, 3 Dec 2008 13:13:07 +0000 (13:13 +0000)]
1.0.23.15: GET-MUTEX to set new mutex owner unithreaded platforms

 * Can't believe no-one has complained about this...

15 years ago1.0.23.14: fix CheyneyGC build
Nikodemus Siivola [Tue, 2 Dec 2008 19:15:30 +0000 (19:15 +0000)]
1.0.23.14: fix CheyneyGC build

 * Tested on PPC/Darwin.

15 years ago1.0.23.13: missing declaration from Cheyney GC port (broken by recent GC changes)
Nikodemus Siivola [Tue, 2 Dec 2008 17:43:34 +0000 (17:43 +0000)]
1.0.23.13: missing declaration from Cheyney GC port (broken by recent GC changes)

 * Thanks to Larry Valkama

15 years ago1.0.23.12: release checklist
Nikodemus Siivola [Tue, 2 Dec 2008 09:43:23 +0000 (09:43 +0000)]
1.0.23.12: release checklist

 * From WHN via CSR & kreuter.

15 years ago1.0.23.11: Typecheck late-bound calls too
Paul Khuong [Tue, 2 Dec 2008 04:36:13 +0000 (04:36 +0000)]
1.0.23.11: Typecheck late-bound calls too

 * Ensures that the compiler can't be confused into IR2 converting
   bad `late-bound' calls like (funcall 'cons 1).

   Reported by madnificient on #lisp

15 years ago1.0.23.10: allocate code objects using allocation CODE_PAGE_FLAG
Nikodemus Siivola [Mon, 1 Dec 2008 20:08:52 +0000 (20:08 +0000)]
1.0.23.10: allocate code objects using allocation CODE_PAGE_FLAG

 (Code and data separation 5.)

 * CODE_PAGE_FLAG == BOXED_PAGE_FLAG|UNBOXED_PAGE_FLAG, which may or
   may not be better then having a separate bit for it -- but seemed
   easier to implement and doesn't seem too horrible.

 * Define page predicates instead of manually open coding things all
   over the place. Also a convenient way to make sure we catch all the
   places where == needs to be changed to & when checking for boxed
   pages, etc.

 * trans_code_header keeps code objects on code pages.

 * Take separated code pages into account when pinning: since
   code-objects live on their own pages, we get most of the accuracy
   benefit of the scanning by just checking for code_page_p.

   Similarly, there is no need to do a full scan unless
   is_lisp_pointer is true.

15 years ago1.0.23.9: extend pa_alloc to accept a page_type_flag
Nikodemus Siivola [Mon, 1 Dec 2008 20:01:39 +0000 (20:01 +0000)]
1.0.23.9: extend pa_alloc to accept a page_type_flag

 (Code and data separation 4/5.)

 * Define alloc() and pa_alloc() in terms of a new function,
   general_alloc(), which accepts a page_type_flag.

   Guts of old alloc() are now called general_alloc_internal(), called
   by general_alloc() after selecting the region to use, and locking
   if using a non-thread-local region.

15 years ago1.0.23.8: factor out similar code from gc_alloc_large and gc_alloc_update_page_tables
Nikodemus Siivola [Mon, 1 Dec 2008 19:51:22 +0000 (19:51 +0000)]
1.0.23.8: factor out similar code from gc_alloc_large and gc_alloc_update_page_tables

 (Code and data separation 3/5.)

 * New functions: generation_alloc_start_page and set_generation_alloc_start_page.

15 years ago1.0.23.7: introduce page type flags
Nikodemus Siivola [Mon, 1 Dec 2008 19:41:06 +0000 (19:41 +0000)]
1.0.23.7: introduce page type flags

 (Code and data separation 2/5.)

 * Use page_type_flag instead of unboxed/boxed booleans in
   gc_find_freeish_pages, gc_alloc_new_region, gc_alloc_large,
   gc_alloc_with_region, and gc_alloc_update_page_tables.

 * Similarly use page_type_flag instead of unboxed/boxed boolean in
   gc_general_alloc. Also make it static inline on GENCGC platforms,
   and move to gc-internal.h (since the page_type_flag is constant in
   every call by inlining we get rid of the branch to select the
   region, whoopee.)

15 years ago1.0.23.6: move code-object allocation to C side on x86 and x86-64
Nikodemus Siivola [Mon, 1 Dec 2008 19:32:33 +0000 (19:32 +0000)]
1.0.23.6: move code-object allocation to C side on x86 and x86-64

 (Code and data separation 1/5.)

 * Replace VOPs with alloc_code in alloc.c.

15 years ago1.0.23.5: Make sb-grovel's generated files not need it at runtime.
Richard M Kreuter [Mon, 1 Dec 2008 17:35:36 +0000 (17:35 +0000)]
1.0.23.5: Make sb-grovel's generated files not need it at runtime.

15 years ago1.0.23.4: fix error signalling from (SETF FILL-POINTER)
Nikodemus Siivola [Mon, 1 Dec 2008 15:44:41 +0000 (15:44 +0000)]
1.0.23.4: fix error signalling from (SETF FILL-POINTER)

 * Thanks to Stas Boukarev.

15 years ago1.0.23.3: faster generic arithmetic dispatch on x86 and x86-64
Nikodemus Siivola [Mon, 1 Dec 2008 15:32:21 +0000 (15:32 +0000)]
1.0.23.3: faster generic arithmetic dispatch on x86 and x86-64

 * Single branch to check if both arguments are fixnums, rerorder fixnum branch to
   be the fallthru.

15 years ago1.0.23.2: STRING->UTF8 did not handle the start argument correctly
Nikodemus Siivola [Mon, 1 Dec 2008 15:28:35 +0000 (15:28 +0000)]
1.0.23.2: STRING->UTF8 did not handle the start argument correctly

 * Thank to Luis Oliveira.

15 years ago1.0.23.1: declaring the type of a bound variable gives :DECLARED as LEAF-WHERE-FROM
Nikodemus Siivola [Mon, 1 Dec 2008 15:25:36 +0000 (15:25 +0000)]
1.0.23.1: declaring the type of a bound variable gives :DECLARED as LEAF-WHERE-FROM

 * Makes SB-CLTL2 do the right thing with local declarations. Reported
   by Larry D'Anna.

15 years ago1.0.23: release, will be tagged as sbcl_1_0_23.
Richard M Kreuter [Mon, 1 Dec 2008 15:04:33 +0000 (15:04 +0000)]
1.0.23: release, will be tagged as sbcl_1_0_23.

15 years ago1.0.22.22: (SETF FIND-CLASSOID) to drop DEFTYPE lambda-lists and source-locations
Nikodemus Siivola [Mon, 1 Dec 2008 07:40:08 +0000 (07:40 +0000)]
1.0.22.22: (SETF FIND-CLASSOID) to drop DEFTYPE lambda-lists and source-locations

 * Going in despite the freeze, as this is a regression of sorts as of
   1.0.22.8.

 * Don't store early source-locations for defined types: use
   WITH-SOURCE-LOCATION to ensure we convert them to proper
   source-locations.

 Thanks to Tobias Ritterweiler for the heads-up.

15 years ago1.0.22.21: Fix return value from DEFTYPE, broken in 1.0.22.20.
Richard M Kreuter [Mon, 1 Dec 2008 03:26:24 +0000 (03:26 +0000)]
1.0.22.21: Fix return value from DEFTYPE, broken in 1.0.22.20.

15 years ago1.0.22.20: Make a stab at having DEFTYPE types replace structure types.
Richard M Kreuter [Sun, 30 Nov 2008 20:37:22 +0000 (20:37 +0000)]
1.0.22.20: Make a stab at having DEFTYPE types replace structure types.

* Probably a still bit wrong around the edges, but seems to work.

15 years ago1.0.22.19: Canonicalize whitespace in .asd files.
Richard M Kreuter [Mon, 24 Nov 2008 15:56:11 +0000 (15:56 +0000)]
1.0.22.19: Canonicalize whitespace in .asd files.

15 years ago1.0.22.18: select() and EAGAIN
Gabor Melis [Fri, 14 Nov 2008 14:07:46 +0000 (14:07 +0000)]
1.0.22.18: select() and EAGAIN

On at least x86 linux 2.6.26 select() can return EAGAIN under load. I
guess this is what the commit message of 1.0.21.8 refers to as "what
happens in the wild" as EAGAIN is not mentioned in the select man
page.

15 years ago1.0.22.17: fix cross-compile from CMUCL 19e
Brian Mastenbrook [Fri, 7 Nov 2008 15:01:36 +0000 (15:01 +0000)]
1.0.22.17: fix cross-compile from CMUCL 19e

15 years ago1.0.22.16: mkdtemp is unimplemented on Solaris
Brian Mastenbrook [Wed, 5 Nov 2008 03:46:46 +0000 (03:46 +0000)]
1.0.22.16: mkdtemp is unimplemented on Solaris

 * ... so don't fail SB-POSIX tests because it's not there.

15 years ago1.0.22.15: 16 byte align assembly routines on x86 and x86-64
Nikodemus Siivola [Tue, 4 Nov 2008 18:56:27 +0000 (18:56 +0000)]
1.0.22.15: 16 byte align assembly routines on x86 and x86-64

 * Modern processors like it that way, and x86-64 was mostly there
   already.

 * Also fix a stupid typo in bug 419.

15 years ago1.0.22.14: fix a bug in PPC alien function calls
Brian Mastenbrook [Mon, 3 Nov 2008 21:44:31 +0000 (21:44 +0000)]
1.0.22.14: fix a bug in PPC alien function calls

 * On SVR4 ABI systems (Linux and NetBSD), fix a bogus situation where
   the proper alignment would not be set when a SAP is passed before a
   long long argument.

15 years ago1.0.22.13: fixed bug 426: nested inline expansion failure
Nikodemus Siivola [Mon, 3 Nov 2008 18:09:38 +0000 (18:09 +0000)]
1.0.22.13: fixed bug 426: nested inline expansion failure

 * In RECOGNIZE-KNOWN-CALL, if an inline function has already been
   converted in the component, replace the REF-LEAF with the
   functional.

 * Test cases.

15 years ago1.0.22.12: fix DEFTYPE regression revealed by ansi tests
Nikodemus Siivola [Mon, 3 Nov 2008 17:23:35 +0000 (17:23 +0000)]
1.0.22.12: fix DEFTYPE regression revealed by ansi tests

 * DEFTYPE body can be empty.

15 years ago1.0.22.11: name *pcl-lock*
Nikodemus Siivola [Mon, 3 Nov 2008 15:11:53 +0000 (15:11 +0000)]
1.0.22.11: name *pcl-lock*

 * For your debugging pleasure.

15 years ago1.0.22.10: detect infinite recursion during wrapper validation
Nikodemus Siivola [Mon, 3 Nov 2008 14:33:27 +0000 (14:33 +0000)]
1.0.22.10: detect infinite recursion during wrapper validation

 * Patch by Attila Lendvai. ...still hoping for a test-case, so this
   could be fixed properly.

15 years ago1.0.22.9: SB-INTROSPECT regression from 1.0.22.8
Nikodemus Siivola [Mon, 3 Nov 2008 14:19:33 +0000 (14:19 +0000)]
1.0.22.9: SB-INTROSPECT regression from 1.0.22.8

 * Don't signal an error if no TYPE exists when FIND-DEFINITION-SOURCES-BY-NAME
   is called with :TYPE as the second argument.

15 years ago1.0.22.8: DEFTYPE tweaking
Nikodemus Siivola [Mon, 3 Nov 2008 13:34:32 +0000 (13:34 +0000)]
1.0.22.8: DEFTYPE tweaking

 * If the expansion is a quoted contant, T, or NIL use a closure as
   the expander instead of compiling a separate expander.

 * When using a closure as above, save the source location separately.

 * Use the space saved to the store the DEFTYPE lmabda-list, and make
   DESCRIBE report it.

15 years ago1.0.22.7: Update to ASDF 1.130
Richard M Kreuter [Fri, 31 Oct 2008 20:47:40 +0000 (20:47 +0000)]
1.0.22.7: Update to ASDF 1.130

* Includes fix for circular dependency detection.

15 years ago1.0.22.6: some ANSI-STREAM cleanups & micro-optimization
Nikodemus Siivola [Fri, 31 Oct 2008 18:12:44 +0000 (18:12 +0000)]
1.0.22.6: some ANSI-STREAM cleanups & micro-optimization

 * Make WRITE-LINE dispatch on the type of the stream only once -- not
   for both writing the string and the newline separately.

 * ANSI-STREAM-WRITE-LINE checks the START and END parameters, so
   callers of %WRITE-LINE don't need to.

 * Remove some redundant type checks from WRITE-LINE and WRITE-STRING
   code paths.

 * SB-IMPL::INDENTING-STREAM was unused, delete it. (Note: update your
   Slime!)

15 years ago1.0.22.5: teach DISASSEMBLE about %METHOD-FUNCTIONs
Nikodemus Siivola [Fri, 31 Oct 2008 16:57:36 +0000 (16:57 +0000)]
1.0.22.5: teach DISASSEMBLE about %METHOD-FUNCTIONs

 * Disassemble both the %METHOD-FUNCTION object itself, and the
   associated fast-function.

 * Clarify the disassembler output slightly by prepending it with
   ; disassembly for <function name>.

15 years ago1.0.22.4: symbol macros and type declarations in PCL
Nikodemus Siivola [Fri, 31 Oct 2008 12:52:46 +0000 (12:52 +0000)]
1.0.22.4: symbol macros and type declarations in PCL

* When PCL walks the method body, doing permutation vector
   optimizations, take into account type declarations for symbol
   macros, to get the benefit of the declaration in

   (WITH-SLOTS (X) OBJECT ... (DECLARE (FIXNUM X)) ... (FOO X) ...)

   which currently happens only in DEFUN, where permuation vector
   optimizations do not occur.

15 years ago1.0.22.3: use EQ instead of EQL to check *GC-EPOCH*
Nikodemus Siivola [Fri, 31 Oct 2008 12:46:10 +0000 (12:46 +0000)]
1.0.22.3: use EQ instead of EQL to check *GC-EPOCH*

15 years ago1.0.22.2: optimize output under *PRINT-PRETTY*
Nikodemus Siivola [Fri, 31 Oct 2008 12:43:44 +0000 (12:43 +0000)]
1.0.22.2: optimize output under *PRINT-PRETTY*

 * Don't construct the pretty stream when it is not needed.

15 years ago1.0.22.1: run-sbcl.sh improvements
Gabor Melis [Fri, 31 Oct 2008 09:56:15 +0000 (09:56 +0000)]
1.0.22.1: run-sbcl.sh improvements

- make run-sbcl.sh executable
- don't require it to be started from the top of the source dir

... so that "~/sbcl/run-sbcl.sh" is a drop in replacement for "sbcl".

15 years ago1.0.22: release, will be tagged sbcl_1_0_22.
Richard M Kreuter [Thu, 30 Oct 2008 21:58:46 +0000 (21:58 +0000)]
1.0.22: release, will be tagged sbcl_1_0_22.

15 years ago1.0.21.38: lisp-side %ASIN, %ACOS, %SINH, %TANH, and %HYPOT
Nikodemus Siivola [Thu, 30 Oct 2008 14:47:42 +0000 (14:47 +0000)]
1.0.21.38: lisp-side %ASIN, %ACOS, %SINH, %TANH, and %HYPOT

 * For Win32 build robustness: on some toolchains asin &co were not
   getting linked to the runtime as we'd like to.

   Caveat: %HYPOT is stupid about under/overflows unlike hypot().

15 years ago1.0.21.37:
Brian Mastenbrook [Wed, 29 Oct 2008 16:09:27 +0000 (16:09 +0000)]
1.0.21.37:
  Use /**/ instead of ## to concatenate symbols on PPC/Darwin

15 years ago1.0.21.36: Fix a bug in one path through RUN-PROGRAM.
Richard M Kreuter [Tue, 28 Oct 2008 21:49:41 +0000 (21:49 +0000)]
1.0.21.36: Fix a bug in one path through RUN-PROGRAM.

* Ensure that the template buffer for sb_mkstemp is null-terminated.

15 years ago1.0.21.35: fix build / SAVE-LISP-AND-DIE on non-GENCGC platforms
Nikodemus Siivola [Mon, 27 Oct 2008 16:01:09 +0000 (16:01 +0000)]
1.0.21.35: fix build / SAVE-LISP-AND-DIE on non-GENCGC platforms

 * Move back SAVE outside the WHEN in SAVE-LISP-AND-DIE. Thanks to
   Bruce O'Neel.

15 years ago1.0.21.34: fix build on x86/x86-64 lutex platforms
Gabor Melis [Tue, 21 Oct 2008 14:41:59 +0000 (14:41 +0000)]
1.0.21.34: fix build on x86/x86-64 lutex platforms

15 years ago1.0.21.33: fix lack of null termination bug in mk{d,s}temp
Gabor Melis [Mon, 20 Oct 2008 12:05:21 +0000 (12:05 +0000)]
1.0.21.33: fix lack of null termination bug in mk{d,s}temp

15 years ago1.0.21.32: hack around truncated backtraces with lost frames
Gabor Melis [Mon, 20 Oct 2008 12:00:51 +0000 (12:00 +0000)]
1.0.21.32: hack around truncated backtraces with lost frames

On :C-STACK-IS-THE-CONTROL-STACK platforms when calling an alien
function stash the current frame pointer and return address away so
that no matter how the alien stack frames are laid out the debugger
can find its way back to lisp land.

15 years ago1.0.21.31: fix bad PROGV and RESTRICT-COMPILER-POLICY interaction
Nikodemus Siivola [Sat, 18 Oct 2008 15:26:06 +0000 (15:26 +0000)]
1.0.21.31: fix bad PROGV and RESTRICT-COMPILER-POLICY interaction

 * Reported by Matthias Andreas Benkard Matthias Andreas Benkard.

 * Patch by Juho Snellman.

15 years ago1.0.21.30: more files in .gitignore
Nikodemus Siivola [Sat, 18 Oct 2008 14:40:31 +0000 (14:40 +0000)]
1.0.21.30: more files in .gitignore

 * Patch by Michael Weber.

15 years ago1.0.21.29: handle alien record type redefinitions (bug 431)
Nikodemus Siivola [Sat, 18 Oct 2008 14:11:19 +0000 (14:11 +0000)]
1.0.21.29: handle alien record type redefinitions (bug 431)

 * Make PARSE-ALIEN-RECORD-FIELD return the parsed values instead of
   frobbing the type object.

 * In PARSE-ALIEN-RECORD-TYPE use that to parse the new fields so that
   we can compare them to the old ones -- signal a continuable error
   if there is a mismatch.

15 years ago1.0.21.28: implement UNLOAD-SHARED-OBJECT
Nikodemus Siivola [Sat, 18 Oct 2008 11:58:43 +0000 (11:58 +0000)]
1.0.21.28: implement UNLOAD-SHARED-OBJECT

 * Mostly for CFFI.

 * Add a missing call to TRANSLATE-LOGICAL-PATHNAME to
   TRY-REOPEN-SHARED-OBJECT.

15 years ago1.0.21.27: no more &OPTIONAL-DISPATCH debug names
Nikodemus Siivola [Sat, 18 Oct 2008 10:27:58 +0000 (10:27 +0000)]
1.0.21.27: no more &OPTIONAL-DISPATCH debug names

 * IR1-CONVERT-HAIRY-LAMBDA used to give optional dispatch entry points
   `(&OPTIONAL-DISPATCH ,(OR <DEBUG-NAME> <SOURCE-NAME>)) as debug-name.

   Don't do that -- just use the provided DEBUG-NAME directly (it's
   NIL in the cases we most care about, leaving the functional with
   just a source-name). This fixes two issues:

   1. Functions with non-required arguments didn't get the derived
      type information saved in the infodb. FINALIZE-XEP-DEFINITION
      didn't set the INFO entries properly because
        (eq (leaf-source-name leaf) (functional-debug-name leaf))
      was false -- it's true only if there is no separate debug-name.

   2. Functions with non-required arguments printed as
        #<FUNCTION (SB-C::&OPTIONAL-DISPATCH READ-LINE) {10AD8345}>
      because non-NIL debug-name is preferred over the source-name.

 * Test-cases.

15 years ago1.0.21.26: bullet-proof (?) use of LOAD-SHARED-OBJECT in tests
Nikodemus Siivola [Sat, 18 Oct 2008 08:22:16 +0000 (08:22 +0000)]
1.0.21.26: bullet-proof (?) use of LOAD-SHARED-OBJECT in tests

 * Previously LOAD-SHARED-OBJECT looked for the shared object first
   in the current directory, and if it existed there, it passed the
   absolute pathname to dlopen().

   New version passes the native namestring of the designated pathname,
   absolute or relative -- which leads to dlopen() on some platforms not
   looking in the current directory unless "." is in LD_LIBRARY_PATH.

   So add TRUENAME calls to the test-suite when the .so lives there.

 * Mention the change of semantics in NEWS.

 * Delete trailing whitespace.

15 years ago1.0.21.25: LOAD-SHARED-OBJECT and logical pathnames
Nikodemus Siivola [Fri, 17 Oct 2008 21:36:34 +0000 (21:36 +0000)]
1.0.21.25: LOAD-SHARED-OBJECT and logical pathnames

 * Unlike UNIX-NAMESTRING, NATIVE-NAMESTRING doesn't deal with logical
   pathnames,

15 years ago1.0.21.24: saving runtime options in executables
Nikodemus Siivola [Fri, 17 Oct 2008 12:49:35 +0000 (12:49 +0000)]
1.0.21.24: saving runtime options in executables

 * SAVE-LISP-AND-DIE argument :SAVE-RUNTIME-OPTIONS causes the values
   of --dynamic-space-size and --control-stack-size used in the
   current invocation of SBCL to be saved in the executable core, which
   will then reuse them instead of doing normal runtime option processing.

 * Thanks to Zach Beane.

15 years ago1.0.21.23: fix external-format.impure.lisp
Nikodemus Siivola [Fri, 17 Oct 2008 12:34:36 +0000 (12:34 +0000)]
1.0.21.23: fix external-format.impure.lisp

 * Misnamed variable.

15 years ago1.0.21.22: COMPILE-FILE and toplevel symbols
Nikodemus Siivola [Fri, 17 Oct 2008 11:57:32 +0000 (11:57 +0000)]
1.0.21.22: COMPILE-FILE and toplevel symbols

 * The fopcompiler elided unused symbol references completely: warn
   and dump the appropriate SYMBOL-VALUE form even if the value is
   unused is the variable is undefined.

 * This reveals a missing start of a block comment in
   src/pcl/dfun.lisp -- fix it. Did you realize that ||# reads as a
   symbol? I didn't. One strike against using the "emacs friendly"
   #||...||# instead of #|...|#.

 * Also fix on #-sb-unicode issue in the test-suite.

15 years ago1.0.21.21: manpage "improvements"
Nikodemus Siivola [Fri, 17 Oct 2008 10:43:25 +0000 (10:43 +0000)]
1.0.21.21: manpage "improvements"

 * Describe what SBCL is in terms of its capabilities, not ancestry.
   (A little hype never hurts...)

 * Join the DESCRIPTION and LICENCING sections to save vertical space.

 * Simplify the language in RUNNING SBCL, and stick in a pointer to
   SAVE-LISP-AND-DIE with reference to standalone executables.

 * Move the COMMAND LINE SYNTAX section waaay up, so that one doesn't
   have to scroll several screenfulls to get to it.

 * Move the DIFFERENCES FROM CMU CL waaay down, and delete the list of
   deleted extensions.

 * Remove the FUD about CLOS efficiency from known bugs.

15 years ago1.0.21.20: package qualify LOAD-SHARED-OBJECT in SB-POSIX on Win32
Nikodemus Siivola [Fri, 17 Oct 2008 10:37:42 +0000 (10:37 +0000)]
1.0.21.20: package qualify LOAD-SHARED-OBJECT in SB-POSIX on Win32

 * Patch by Pedro Kroger.

 (Also bump version.lisp-expr by two...)

15 years ago1.0.21.19: Eagerly find a stream's external-format when a coding-error occurs.
Richard M Kreuter [Thu, 16 Oct 2008 21:28:46 +0000 (21:28 +0000)]
1.0.21.19: Eagerly find a stream's external-format when a coding-error occurs.

* Patch and test contributed by Zach Beane.

15 years ago1.0.21.18: delete unused argument introduced by .17
Nikodemus Siivola [Sat, 11 Oct 2008 16:45:08 +0000 (16:45 +0000)]
1.0.21.18: delete unused argument introduced by .17

 * Leftover from early life of the patch, noticed by Kevin "Hawkeye"
   Reid.

15 years ago1.0.21.17: --script commandline argument
Nikodemus Siivola [Sat, 11 Oct 2008 13:34:44 +0000 (13:34 +0000)]
1.0.21.17: --script commandline argument

 * Works as both runtime and toplevel argument (which may imply the
   separation between the two is suspect?):

 * As a runtime argument it implies --noinform and the end of runtime
   arguments.

 * As a toplevel argument it implies --disable-debugger and the end of
   toplevel arguments. It additionally inhibits sysinit and userinit
   processing unless an explicit --userinit or --sysinit option is
   given before it.

   Then SBCL loads the specified specified file with :VERBOSE NIL and
   :PRINT NIL, discarding the first line if it start with #!.

   When the script file has been processed, SBCL exits without
   entering the REPL.

 * Documentation & a test.

 * Based loosely on an earlier patch by Kevin Reid.

15 years ago1.0.21.16: document the earlier change to --disable-debugger handling
Nikodemus Siivola [Sat, 11 Oct 2008 12:42:20 +0000 (12:42 +0000)]
1.0.21.16: document the earlier change to --disable-debugger handling

15 years ago1.0.21.15: LOAD-SHARED-OBJECT :DONT-SAVE and related
Nikodemus Siivola [Thu, 9 Oct 2008 20:48:24 +0000 (20:48 +0000)]
1.0.21.15: LOAD-SHARED-OBJECT :DONT-SAVE and related

 * Add &key :DONT-SAVE to control interaction with SAVE-LISP-AND-DIE.

 * Better documentation, including mention of LD_LIBRARY_PATH.

 * Refactor the OAOOM mess between win32-foreign-load.lisp and
   foreign-load.lisp: add unix-foreign-load.lisp, and move the shared
   code to foreign-load.lisp.

 * The "try another pathname" restart in TRY-RELOAD-SHARED-OBJECT
   changed the pathname but did not reload. Fix that.

15 years ago1.0.21.14: fix CHECK-FASL-HEADER buglet
Nikodemus Siivola [Thu, 9 Oct 2008 10:41:24 +0000 (10:41 +0000)]
1.0.21.14: fix CHECK-FASL-HEADER buglet

 * Problems with signaling and reporting INVALID-FASL-HEADER: it's
   :BYTE-NR 0, not :FIRST-BYTE t these days, and expected and actual
   bytes wre reversed in error output.

15 years ago1.0.21.13: fix NATIVE-NAMESTRING on Windows
Nikodemus Siivola [Thu, 9 Oct 2008 10:18:51 +0000 (10:18 +0000)]
1.0.21.13: fix NATIVE-NAMESTRING on Windows

 * Support for pathnames with directory NIL was broken.