sbcl Log


Commit Date  
[f192f8] by Stas Boukarev Stas Boukarev

Fix raw-instance-slots-equalp on SPARC.

Some slots have to be aligned or they will cause a bus error. Take
alignment into account on #-(or x86 x86-64 ppc).

2013-11-03 21:18:01 Tree
[cc67ba] by Stas Boukarev Stas Boukarev

Fix EQUALP on structures with raw slots.

It always incremented the index by 1, even if slot takes up more than
one word. Increment by raw-slot-data-n-words.

2013-11-03 19:40:06 Tree
[9c9d6d] by Christophe Rhodes Christophe Rhodes

fix LET* environment semantics in sexp-based evaluator

2013-11-03 16:33:26 Tree
[e51821] by Stas Boukarev Stas Boukarev

Fix undefined function error on SPARC.

Adjust the register encoding in sparc-assem.S.

Thanks to John Long for providing access to a SPARC machine.

2013-11-03 15:09:31 Tree
[c6bbd0] by Stas Boukarev Stas Boukarev

Fix run-tests.sh on Solaris.

2013-11-03 10:57:06 Tree
[bd494c] by Stas Boukarev Stas Boukarev

Adjust the recent defmethod change.

(compile-or-load-defgeneric name) doesn't need the full eval-when
repertoire, only :compile-toplevel and :execute. :compile-toplevel for
subsequent forms and :execute for references within the body of
defmethod to itself. :load-toplevel is not needed since when the FASLs
are loaded no further processing is performed, this avoids the size
increase of the resulting FASLs.

2013-11-02 13:39:50 Tree
[8e6a4a] by Stas Boukarev Stas Boukarev

Add --help to run-tests.sh.

2013-11-01 12:47:38 Tree
[c0f931] by Stas Boukarev Stas Boukarev

tests: better reports when /bin/ed is not present.

When /bin/ed is not present the test failed with a confusing "unhandled
error".
* Wrap the whole run-program-ed test into with-test, renaming it to run-program-/bin/ed.
* Add before it a test named :is-/bin/ed-installed?.

Making the report more self-describing:
Failure: run-program.impure.lisp / IS-/BIN/ED-INSTALLED?
Failure: run-program.impure.lisp / RUN-PROGRAM-/BIN/ED

2013-11-01 12:34:27 Tree
[572860] by Stas Boukarev Stas Boukarev

defmethod: make the function known at compile time.

(defmethod gf ())
(defun f () (gf))
Produced a warning about an undefined function, even though it would
be implicitly created by defmethod.
Fixes lp#503095.

2013-11-01 11:50:55 Tree
[5f8917] by Stas Boukarev Stas Boukarev

Remove *static-foreign-symbols* from #+sb-dynamic-core builds.

2013-10-31 18:57:24 Tree
[adcb5a] by Stas Boukarev Stas Boukarev

Fix defmethod arglists leaking into make-method-lambda.

defmethod communicates to make-method-lambda using special variables,
but make-method-lambda then performs code-walking which expands
macros, and if a macro calls another make-method-lambda directly, this
make-method-lambda will receive incorrect information which may cause
problems with wrong lambda lists.
Reported and diagnosed by Attila Lendvai.

2013-10-31 14:48:26 Tree
[062283] by Stas Boukarev Stas Boukarev

describe: show the same information about functions for 'x and #'x.

Declared type and information about inlining were not shown when used
as #'function.

2013-10-31 14:48:26 Tree
[24e3d8] by Christophe Rhodes Christophe Rhodes

Fix install/binary-distribution scripts for new contrib arrangements

Everything has moved, which led the binary-distribution script not to
include test-passed files, and the install script to look for them in
the wrong place anyway.

2013-10-31 14:45:17 Tree
[7f1e94] (sbcl-1.1.13) by Christophe Rhodes Christophe Rhodes

1.1.13: will be tagged as "sbcl-1.1.13"

2013-10-31 10:42:43 Tree
[441dfe] by Paul Khuong Paul Khuong

Make sure quantifiers don't cons

Quantifiers like SOME and EVERY are implemented in terms of (MAP NIL)
of a wrapper function with early RETURN. If type information does not
enable MAP to be open coded, declarations are necessary to avoid
consing up a closure and a value cell for the return.

DX functions really shouldn't cause value cells for return blocks.

Also, revert d0f65b07a30adc989e36a82ddc0ed54d135d638e which is
now mostly redundant.

2013-10-26 17:47:53 Tree
[d0f65b] by Stas Boukarev Stas Boukarev

Reduce consing during SUBTYPEP on classes.

sb-pcl::class-has-a-forward-referenced-superclass-p, used in the
implementation of subtypep on classes, conses because SOME can't
perform the required inlining when used on the sequences of unknown
type. (See lp#1070635)

2013-10-26 14:42:22 Tree
[69e6ae] by Jan Moringen Jan Moringen , pushed by Christophe Rhodes Christophe Rhodes

Use new MAP-RESTARTS in FIND-RESTART, COMPUTE-RESTARTS; fix FIND-RESTART

* Both FIND-RESTART and COMPUTE-RESTARTS traverse, filter and select
active restarts, potentially for a particular condition and
potentially calling restart test functions. This common behavior has
been factored into the new function MAP-RESTARTS.

* Remove *CONDITION-RESTARTS*; use new slot ASSOCIATED-CONDITIONS in
RESTART structure instead.

* As stated in bug 774410, when given a RESTART instance, FIND-RESTART
did not test whether the restart was still active and whether the
restart had been associated to a different condition in the
meantime. This behavior has been changed by calling MAP-RESTARTS which
checks activity and association to conditions (sadly, making

(find-restart RESTART-INSTANCE CONDITION-OBJECT)

a bit slower than before).

* INVOKE-RESTART is also affected by the changes for bug
774410. However, it does not respect restart test functions when
called with a RESTART instance (This is underspecified in CLHS and
other implementations behave in various ways. However, behaving
differently would make some restarts un-invokable).

* As suggested in bug 769615, (find-restart SYMBOL ...) now calls
MAP-RESTARTS instead of COMPUTE-RESTARTS, consing less and executing
faster in many cases.

* New (find-restart :recheck-conditions-and-tests :bug-774410) test from
Jean-Philippe Paradis from original bug report in
tests/condition.impure.lisp checks the new behavior.

Fixes lp#769615, lp#774410

2013-10-22 19:26:22 Tree
[657ded] by Jan Moringen Jan Moringen , pushed by Christophe Rhodes Christophe Rhodes

Make some RESTART slots read-only

The RESTART slots FUNCTION, REPORT-FUNCTION, INTERACTIVE-FUNCTION and
TEST-FUNCTION are never mutated and can thus be read-only.

2013-10-22 10:30:20 Tree
[2fcf36] by Jan Moringen Jan Moringen , pushed by Christophe Rhodes Christophe Rhodes

Comments and rearrangements in {defboot,target-error}.lisp

Add and/or extend explanatory comments for the special
variables *HANDLER-CLUSTERS*, *RESTART-CLUSTERS*
and *CONDITION-RESTARTS*.

Slightly rearranged RESTART-NAME and RESTART-REPORT.

2013-10-22 10:30:20 Tree
[15cd75] by Jan Moringen Jan Moringen , pushed by Christophe Rhodes Christophe Rhodes

Silence some unused variable warnings in tests/condition.[im]pure.lisp

2013-10-22 10:30:20 Tree
[9d5be5] by Christophe Rhodes Christophe Rhodes

fix symlink handling (generally and on OS X) in run-sbcl.sh

Patch from Stelian Ionescu, lp#1242643

2013-10-21 11:41:35 Tree
[885a95] by Christophe Rhodes Christophe Rhodes

signal errors for bad initialization of slot definitions

In order to get slot definition initialization right, move the
readers/writers slots to direct slot definitions, and write code to
detect all the bad cases documented in the MOP dictionary at
initialization time. Condition slots also need changing, to have
separate initform and initfunction information. Moving the slots
breaks metacircle resolution, naturally, so rewrite that to find the
relevant reader/writer information from the direct slots at runtime.
The irony of having to rewrite metacircle detection and resolution for
a bug tagged "easy" on launchpad is not lost on me.

Originally reported by Bruno Haible at some point in prehistory,
probably around December 2004, lp#309072.

2013-10-21 11:15:04 Tree
[519396] by Paul Khuong Paul Khuong

Warn when wrapping constants with THE of multiple value types

IR1 translation was too eager in eliminating redundant THE forms
when the value is a constant. We now also make sure that the
asserted type accepts single values.

Reported by Nathan Trapuzzano on sbcl-help.

2013-10-19 21:47:47 Tree
[cee8ef] by Stas Boukarev Stas Boukarev

Remove duplicate implementations of (setf aref/sbit/bit).

Since (setf aref/sbit/bit) have to work with
(setf (apply #'aref array subscripts)), they had both a setf expander
and a setf-function, but it can be implemented with just a
setf-function. All other accessors are still done using
(defsetf accessor %setaccessor), I haven't found a technical reason to
prefer one to another, other than (setf accessor) being a nicer name.

Fixes lp#1241095.

2013-10-18 11:18:36 Tree
[c58678] by Stas Boukarev Stas Boukarev

Add some missing FNDB declarations.

2013-10-17 16:53:18 Tree
Older >