Tags give the ability to mark specific points in history as being important
-
-
sbcl.1.0.48
bdb254ea · · -
sbcl_1_0_48
bdb254ea · ·changes in sbcl-1.0.48 relative to sbcl-1.0.47: * incompatible change: SB!KERNEL:INSTANCE-LAMBDA, deprecated for over five years, is now no longer supported. * enhancement: read() and write() have been added to SB-POSIX. * enhancement: types of DEFSTRUCT constructors are proclaimed more accurately, allowing better typechecking of call-sites. * enhancement: errors during compile-time-too processing (i.e. EVAL-WHEN) are no longer caught. (reverted to pre 1.0.34 behaviour) * optimization: slightly faster ISQRT. (lp#713343) * bug fix: better support for Solaris /bin/sh in sh-based tests. * bug fix: TRACE behaves better when attempting to trace undefined functions. (lp#740717) * bug fix: missed optimizations for (FUNCALL (LAMBDA ...) ...) in comparison to (FUNCALL #'(LAMBDA ...) ...). * bug fix: ((LAMBDA ...) ...) forms with invalid argument counts resulted in a compile-time error. (lp#720382) * bug fix: forms such as (FUNCALL (FUNCTION NAME OOPS) ...) were compiled without complaints. * bug fix: less verbose source forms for functions from EVAL. (lp#747485) * bug fix: sense of SLOT-BOUNDP-USING-CLASS was inverted in a MAKE-INSTANCE optimization. (regression from 1.0.45.18/1.0.46.15) * bug fix: package locks did not protects against compile-time side-effects of DEFUN. (lp#675584) * bug fix: --dynamic-space-size argument is validated more carefully. (lp#721457) * bug fix: memory fault from printing a malformed simple-condition. (lp#705690) * bug fix: redefining classes so that slot-definition classes change now engages the obsolete instance protocol. (lp#766271) * bug fix: constant improper lists could break source coverage recording. (lp#767959) * bug fix: compiling calls to eg. MEMBER with massive constant list arguments could exhaust stack. -
-
-
sbcl.1.0.47
abd7e18d · · -
sbcl_1_0_47
abd7e18d · ·changes in sbcl-1.0.47 relative to sbcl-1.0.46: * bug fix: fix mach port rights leaks in mach exception handling code on darwin/x86 and /x86-64. (thanks to Willem Oudshoorn for motivation and the initial patch) * enhancement: --script muffles style-warnings and compiler notes. (lp#677779) * enhancement: redefinition warnings for macros from different files. (lp#434657) * enhancement: better MACHINE-VERSION on Darwin x86 and x86-64. (lp#668332) * enhancement: (FORMAT "foo" ...) and similar signal a compile-time warning. (lp#327223) * enhancement: no more "in: LAMBDA NIL" messages from the compiler for forms processed using EVAL -- now the appropriate toplevel form is reported instead. * enhancement: more legible style-warnings for inappropriate IGNORE and IGNORABLE declarations. (lp#726331) * enhancement: :NOT-NULL option has been added to alien C-STRING type to indicate that NIL/NULL is excluded from the type. * enhancement: SB-INTROSPECT:MAP-ROOT allows mapping over pointers contained in arbitrary objects. * optimization: SLOT-VALUE &co are faster in the presence of SLOT-VALUE-USING-CLASS and its compatriots. * optimization: core startup time is reduced by 30% on x86-64. (lp#557357) * bug fix: SB-DEBUG:BACKTRACE-AS-LIST guards against potentially leaking stack-allocated values out of their dynamic-extent. (lp#310175) * bug fix: attempts to use SB-SPROF for wallclock profiling on threaded x86-64 builds caused a type-error. * bug fix: calling COMPILE with something else than a lambda-expression as the second argument reports a more sensible error. (lp#718905) * bug fix: invalid combinations of :PREDICATE and :TYPE options in DEFSTRUCT are detected. (lp#520607) * bug fix: constant keyword argument checking didn't take :ALLOW-OTHER-KEYS into account. * bug fix: SLOT-BOUNDP information is correct during MAKE-INSTANCE in the presence of (SETF SLOT-VALUE-USING-CLASS) and SLOT-BOUNDP-USING-CLASS methods. (regression from 1.0.45.18) * bug fix: INITIALIZE-INSTANCE :AROUND methods supplying initargs via CALL-NEXT-METHOD work correctly. (regression from 1.0.45.19) * bug fix: several foreign functions accepting string also accepted NIL and consequently caused a memory fault at 0 now signal a type-error instead. (lp#721087) * bug fix: under rare circumstances, constraint propagation could rewrite a variable reference to refer to a variable not in scope, causing an error during physical environment analysis when attempting to close over the variable. (lp#551227) * bug fix: SIMPLE-CONDITION :FORMAT-CONTROL defaults to NIL. -
-
sbcl.1.0.46
dc7f848b · · -
sbcl_1_0_46
dc7f848b · ·changes in sbcl-1.0.46 relative to sbcl-1.0.45: * enhancement: largefile support on Solaris. * enhancement: SB-PROFILE:REPORT now supports :LIMIT and :PRINT-NO-CALL-LIST arguments (lp#710017) * enhancement: SB-PCL:+SLOT-UNBOUND+ is exported, making it possible to distinguish unbound instance slots when using STANDARD-INSTANCE-ACCESS &co. (lp#718039) * optimization: ERROR and CERROR are approximately 5 times faster. * optimization: optimized constructors are used for MAKE-INSTANCE of classes with applicable non-standard (SETF SLOT-VALUE-USING-CLASS), SLOT-BOUNDP-USING-CLASS, and INITIALIZE-INSTANCE :AROUND methods, speeding up instance creation in those cases. * optimization: arithmetic operations with multiple constant arguments in now have them reduced at compile-time. (lp#676414) * optimization: determining current character position on string-streams for pretty-printing was overly slow. * bug fix: local tail calls to DYNAMIC-EXTENT functions can no longer cause lifetime analysis to overwrite closed-over variables (lp#681092). * bug fix: encoding errors from some multibyte external formats such as EUC-JP were not handled correctly (lp#713063). * bug fix: printing waitqueue objects without setting *PRINT-CIRCLE* to T is now safe (lp#673630). * bug fix: Solaris/x86-64 wasn't getting built with lutex support by mistake. (lp#667297). * bug fix: CONSTANTLY generated functions had bogus lambda-lists. (lp#713626) * bug fix: RUN-PROGRAM :PTY option was racy on OpenBSD. (lp#669485) * bug fix: UNINTERN takes a symbol, not a symbol designator -- could previously unintern the wrong symbol with the same name. (lp#693796) * bug fix: COPY-PPRINT-DISPATCH always has access to a pristine table, making it possible to restore the initial table if it has been messed up. (lp#678409) -
-
sbcl.1.0.45
8cc24bbe · · -
sbcl_1_0_45
8cc24bbe · ·changes in sbcl-1.0.45 relative to sbcl-1.0.44: * enhancement: ~/ and ~user/ are treated specially in pathnames. Refer to documentation for details. * enhancement: ASDF has been updated to version 2.010. * optimization: mutated closed-over variables that are only accessed by DYNAMIC-EXTENT closures (currently only FLET and LABELS functions declared to be DYNAMIC-EXTENT) are stored directly in their containing stack frame, rather than allocating a VALUE-CELL (lp#586103). * optimization: UNWIND-PROTECT cleanup functions are now declared DYNAMIC-EXTENT. * bug fix: backtracing function with &REST arguments now shows the full argument list. (lp#310173) * bug fix: return types for functions with complex lambda-lists are now derived properly (lp#384892) * bug fix: when SPEED > SPACE compiling CONCATENATE 'STRING with constant long string arguments slowed the compiler down to a crawl. * bug fix: closure VALUE-CELLs are no longer stack-allocated (lp#308934). * bug fix: non-standard MAKE-METHOD-LAMBDA methods could break RETURN-FROM in the DEFMETHOD body. * bug fix: #<SB-C::DEFINED-FUN ...> should no longer appear in compiler messages, being instead replaced with the corresponding function name. * bug fix: don't derive overly complex unions of numeric types for arithmetic operators. (lp#309448) -
sbcl.1.0.44
37df3b7a · · -
sbcl_1_0_44
37df3b7a · ·changes in sbcl-1.0.44 relative to sbcl-1.0.43: * enhancement: RUN-PROGRAM accepts :EXTERNAL-FORMAT argument to select the external-format for its :INPUT, :OUTPUT, AND :ERROR :STREAMs. * enhancement: ALLOCATION-INFORMATION also provides the page the object resides on. * enhancement: default dynamic-space size can be configured at build-time without touching source, using the --dynamic-space-size argument to make.sh. * enhancement: DESCRIBE recognizes symbols naming optimization policy qualities, and mentions ALWAYS-BOUND declarations. * enhancement: ATOMIC-INCF now supports AREF of (SIMPLE-ARRAY SB-EXT:WORD (*)) as a place. * enhancement: ASDF has been updated to 2.009. * enhancement: the system detects known type-erros in calls better, signalling a full warning about violated proclaimed FTYPEs and violations of derived FTYPEs within the same file, including self-calls. * enhancement: new function: SB-EXT:DELETE-DIRECTORY is now provided. * optimization: constant-folding exploits numeric and character types, in addition member types. * optimization: numeric, character and member types that are inhabited by exactly one value are tested with EQL. * optimization: more conditional branches are eliminated during IR1. Branches are simplified before performing if/if-conversion, and simple equivalent branches (that only read the same constant or variable) are merged. * improvements to the Windows port: ** change: canonical unparsing form for pathname namestrings now uses / as directory separator. NATIVE-NAMESTRING still uses \ as the separator. ** bug fix: stackoverwriting due to incorrect usage of PeekConsoleInput on Windows. (thanks to Kalyanov Dmitry) ** bug fix: build now works on cygwin with GCC 4.x installed. (thanks to Kalyanov Dmitry) ** bug fix: run-sbcl.sh now works on Cygwin. (thanks to Kalyanov Dmitry) * bug fix: compiler failed to derive the result-type of MAKE-ARRAY as (AND VECTOR (NOT SIMPLE-ARRAY)) when appropriate. (lp#309130) * bug fix: (THE (VALUES ...)) in LOAD-TIME-VALUE caused a compiler-error. (lp#646796) * bug fix: interrupts arriving during CL:OPEN caused an error. * bug fix: overeager character buffering could cause input to block spuriously when reading from a pipe (lp#643686) * bug fix: more efficient timer expiry should avoid starvation on systems where number of SIGALRMs per second is restricted. (lp#375515) * bug fix: non-unicode builds no longer fail (broken since 1.0.36.15). * bug fix: compile-times no longer scale linearly with the size of quoted lists in source-code. (lp#654289) * bug fix: better errors for unknown external-formats in OPEN. (lp#561974) * bug fix: DEBUG>SPEED no longer degrades ALIEN-FUNCALL performance quite so badly. (lp#654485) * bug fix: SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME no longer signals an error for eg. STRUCTURE. (lp#458015) * bug fix: LOOP WITH NIL = ... signalled an unused variable style-warning. (lp#613871, thanks to Roman Marynchak) * bug fix: more reliable &REST list type derivation. (lp#655203) * bug fix: PPRINT-LOGICAL-BLOCK multiply-evaluated :PER-LINE-PREFIX, and issued pointles code-deletion notes for it, :PREFIX, and :SUFFIX. * bug fix: the compiler didn't utilize the proclaimed ftype for functions also declared NOTINLINE. (lp#655581) * bug fix: the compiler could attempt to emit constant left shifts of greater value than n-word-bits. (lp#309063) * bug fix: (SETF SYMBOL-FUNCTION) and (SETF FDEFINITION) clear derived type information for the function being set. (lp#659220) * bug fix: the system used to signal bogus STYLE-WARNINGs when functions containing self-calls were recompiled with a new signature, and failed to warn when a self-call using the old signature was left in. (lp#655126) * bug fix: incorrect FILE-POSITION on streams opened using :EXTERNAL-FORMAT :DEFAULT when the default external had character size other than 8 bits. (lp#657183) * bug fix: derived types of functions in the same file were implicitly trusted, leading to potential heap corruption when those function were defined incompatibly. (lp#657499) * bug fix: existing ASDF source registries are ignored when building contribs (lp#659105) * bug fix: short-form DEFSETF checks that the second argument is a symbol (lp#655824, thanks to Roman Marynchak) * bug fix: (SETF MACRO-FUNCTION) clobbered macro-definitions before package-lock violation was detected. (lp#660752) * bug fix: the system can store different docstrings for a single function under different names. (lp#661631, regression from 1.0.29.24) * bug fix: source-locations of DEFGENERIC forms weren't getting recorded properly. (lp#384801) * bug fix: (COERCE X '(SIMPLE-VECTOR 5)) and similar coercions to vectors of specified length could confuse the type derivation in unsafe code. (lp#655872) * bug fix: SB-POSIX:FORK now signals an error if an attempt to fork with multiple Lisp threads running is made on every platform, not just Darwin. (lp#451111) * bug fix: SB-BSD-SOCKETS and SB-SIMPLE-STREAMS could leave stale finalizers around when core was saved, which could cause undefined behaviour when the core was reified. * bug fix: Allow UNTRACE of functions that are no longer defined (lp#667657, thanks to Attila Lendvai) * bug fix: MAKE-ARRAY calls with invalid keyword argument lists now signal a compile-time warning (lp#664373, thanks to Stas Boukarev) -
-
sbcl.1.0.43
a7afb656 · · -
sbcl_1_0_43
a7afb656 · ·changes in sbcl-1.0.43 relative to sbcl-1.0.42: * incompatible change: FD-STREAMS no longer participate in the serve-event event-loop by default. (lp#316072) ** In addition to streams created by explicit calls to MAKE-FD-STREAM this affects streams from CL:OPEN. ** Streams from SOCKET-MAKE-STREAM still participate in serve-event by default, but this is liable to change: applications needing serve-event for socket streams should explicitly request it using :SERVE-EVENTS T in the call. * enhancement: SB-EXT:WORD type is provided for use with SB-EXT:ATOMIC-INCF &co. * enhancement: CLOS effective method functions and defclass slot typechecking function now have debug names for use in backtraces and profiles. * enhancement: ASDF has been updated to version 2.004. (lp#605260, thanks to Faré Rideau) * enhancement: symbols are printed using fully qualified names in several error and warning messages which are often associated with package conflicts or mixups (lp#622789, thanks to Attila Lendvai) * bug fix: SB-BSD-SOCKETS:SOCKET-CONNECT was not thread safe. (lp#505497, thanks to Andrew Golding) * bug fix: reading /proc files on Linux works. (lp#425199) * bug fix: DOTIMES accepted literal non-integer reals. (lp#619393, thanks to Roman Marynchak) * bug fix: WRITE-TO-STRING compiler macro binding special variable names, breaking code that tried to write the value of a printer control variable. (lp#581564, thanks to Stas Boukarev) * bug fix: WRITE compiler macro did not handle output stream designators correctly. (lp#598374, thanks to Stas Boukarev) * bug fix: better availability of names of foreign functions in backtraces on Linux. (lp#626962, thanks to Stas Boukarev) * bug fix: scripting and build for Solaris and FreeBSD. (lp#615497, lp#627581, thanks to Josh Elsasser and Jim Wise) * bug fix: build fixes for OpenBSD -current and 4.8 (lp#615489, lp#615492, thanks to Josh Elsasser) * bug fix: using aliases for builtin classes as defmethod specializers without adding DEFTYPEs for them works. (lp#618387) * bug fix: timetravel by getrusage() no longer causes type-errors during GC. (lp#544421) * bug fix: legally dynamic-extent lists and vectors used as initialization arguments to MAKE-ARRAY can be stack allocated. (lp#586105) * bug fix: inline-expansion creating references to dead lambda-variables (lp#454681, thanks to Alexey Dejneka) * bug fix: better error message for bogus numerical arguments to RANDOM. (lp#598986, thanks to Stas Boukarev) * bug fix: the compiler occasionally inlined references from incompatible environments occurs. (lp#308951) * bug fix: the compiler threw an error when trying to compile a local function (labels or flet) known to take a specialized complex argument. (not in launchpad, reported by sykopomp in #lispgames) * bug fix: package-locks failed to protect against compile-time effects of DEFUN when the symbol previously had a macro definition. (lp#576637) * bug fix: spurious ignore warnings even given (DECLARE IGNORE) in methods when parameter bindings mutated. (reported by Faré Rideau; lp #611361) * bug fix: workaround for compiler hang in ORDER-UVL-SETS (lp#308914) * bug fix: evaluation in debugger REPL works using the global context when in frames that do not have sufficient debug information. * bug fix: exceeding FD_SETSIZE limit now results in an sensible error (lp#316068) * bug fix: (SETF DOCUMENTATION) of a macro works properly. (lp#643958, thanks to Stas Boukarev) * bug fix: interrupt taking longer than the requested period caused SLEEP to hang on Darwin. (lp#640516, thanks to Joe Lebroco for the analysis) -
sbcl.1.0.42
a8ec0d53 · · -
sbcl_1_0_42
a8ec0d53 · ·changes in sbcl-1.0.42 relative to sbcl-1.0.41 * build changes ** Cross-compilation host is now specified to make.sh using command-line argument --xc-host=<command> instead of a positional argument. (thanks to Daniel Herring) ** Install location can be specified to make.sh using command-line argument --prefix=<path>. (lp#550889s, thanks to Daniel Herring) * optimization: The default implementation of COMPUTE-DISCRIMINATING-FUNCTION does much less wasted work. * enhancement: Explicit memory barrier operations are now available for use by multithreaded code. See documentation for details. * enhancement: Experimental support for threading on Linux/PPC. * bug fix: RENAME-PACKAGE returns the package. (Thanks to Eric Marsden) * bug fix: EXPT signals an error if first argument is a zero and second argument is a floating point zero. (lp#571581, thanks to Roman Marynchak) * bug fix: DEFTYPE signals an error for non-list lambda-lists. (lp#576594, thanks to Roman Marynchak) * bug fix: make ASDF-INSTALL compatible with the now-included ASDF2. (lp#612998, reported by Phil Hargett; patch from Jim Wise)