Douglas Katzman | 25 May 07:19 2015
Picon
Picon

master: Drop two slots from ll-kwds and fix CCL-hosted build.

The branch "master" has been updated in SBCL:
       via  1a858eddae05d91998592c453787ffeec36f579e (commit)
      from  53fc0efd797f9ba14f7ba126f625038f5d56ddd8 (commit)

- Log -----------------------------------------------------------------
commit 1a858eddae05d91998592c453787ffeec36f579e
Author: Douglas Katzman <dougk <at> google.com>
Date:   Mon May 25 01:14:19 2015 -0400

    Drop two slots from ll-kwds and fix CCL-hosted build.

    Not using a struct works better because EQ on a global constant
    that is not EQL-comparable is unreliable on other Lisps.
---
 contrib/sb-introspect/test-driver.lisp |    2 +-
 package-data-list.lisp-expr            |    4 ++--
 src/code/defstruct.lisp                |    5 ++++-
 src/code/early-type.lisp               |    2 +-
 src/code/full-eval.lisp                |    3 +--
 src/compiler/early-c.lisp              |   24 ++++++++----------------
 src/compiler/parse-lambda-list.lisp    |   29 ++++++++++++-----------------
 tests/type.before-xc.lisp              |    3 +++
 8 files changed, 32 insertions(+), 40 deletions(-)

diff --git a/contrib/sb-introspect/test-driver.lisp b/contrib/sb-introspect/test-driver.lisp
index b65bb3e..d42440f 100644
--- a/contrib/sb-introspect/test-driver.lisp
+++ b/contrib/sb-introspect/test-driver.lisp
 <at>  <at>  -252,7 +252,7  <at>  <at> 
                 (member 'm1.k-Z keys)
(Continue reading)

Douglas Katzman | 20 May 06:52 2015
Picon
Picon

master: Return values from PARSE-LAMBDA-LIST in a less bewildering way.

The branch "master" has been updated in SBCL:
       via  53fc0efd797f9ba14f7ba126f625038f5d56ddd8 (commit)
      from  5938b87a6e4c3674a30a737db5286461d0df0921 (commit)

- Log -----------------------------------------------------------------
commit 53fc0efd797f9ba14f7ba126f625038f5d56ddd8
Author: Douglas Katzman <dougk <at> google.com>
Date:   Wed May 20 00:36:15 2015 -0400

    Return values from PARSE-LAMBDA-LIST in a less bewildering way.

    With %SPLIT-ARGLIST existing only to reduce the number of values,
    and a comment saying that there were twelve values when there
    were in fact thirteen, it was pretty clearly inconvenient.

    Also make it accept &ENVIRONMENT because DEFSETF will need it.
---
 contrib/sb-introspect/test-driver.lisp |   13 +-
 package-data-list.lisp-expr            |    3 +-
 src/code/cas.lisp                      |   23 +--
 src/code/defstruct.lisp                |   21 ++-
 src/code/early-type.lisp               |   24 ++--
 src/code/full-eval.lisp                |    8 +-
 src/code/interr.lisp                   |    3 +-
 src/compiler/early-c.lisp              |   17 ++
 src/compiler/ir1tran-lambda.lisp       |   40 ++---
 src/compiler/macros.lisp               |   14 +-
 src/compiler/parse-lambda-list.lisp    |  302 +++++++++++++++-----------------
 src/pcl/boot.lisp                      |   32 +---
 src/pcl/methods.lisp                   |   29 +---
(Continue reading)

Christophe Rhodes | 18 May 12:23 2015
Picon
Picon

master: add my reproducible build comparison script

The branch "master" has been updated in SBCL:
       via  5938b87a6e4c3674a30a737db5286461d0df0921 (commit)
      from  e42e950a27560c19739d7689cb9f52a612df95f0 (commit)

- Log -----------------------------------------------------------------
commit 5938b87a6e4c3674a30a737db5286461d0df0921
Author: Christophe Rhodes <csr21 <at> cantab.net>
Date:   Mon May 18 11:23:03 2015 +0100

    add my reproducible build comparison script

    very much for my own use only at the moment, but might be useful
    to someone else someday
---
 build-comparison.sh |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/build-comparison.sh b/build-comparison.sh
new file mode 100644
index 0000000..c39c1da
--- /dev/null
+++ b/build-comparison.sh
 <at>  <at>  -0,0 +1,12  <at>  <at> 
+OUT=$(mktemp -d)
+mkdir $OUT/sbcl $OUT/ccl32 $OUT/ccl64 $OUT/clisp
+
+./make.sh --arch=x86 --xc-host='sbcl' "$ <at> " && tar cf - run-sbcl.sh src/runtime/sbcl obj/from-xc
output | tar -C $OUT/sbcl -xf -
+
+./make.sh --arch=x86 --xc-host='/home/csr21/src/lisp/ccl/lx86cl -b' "$ <at> " && tar cf - run-sbcl.sh
(Continue reading)

Christophe Rhodes | 18 May 12:23 2015
Picon
Picon

master: simplify **baseline-policy** initialization slightly

The branch "master" has been updated in SBCL:
       via  e42e950a27560c19739d7689cb9f52a612df95f0 (commit)
      from  1e4f28c308ed58ba3ee8f7a1c237f883f21af65e (commit)

- Log -----------------------------------------------------------------
commit e42e950a27560c19739d7689cb9f52a612df95f0
Author: Christophe Rhodes <csr21 <at> cantab.net>
Date:   Mon May 18 11:21:36 2015 +0100

    simplify **baseline-policy** initialization slightly

    (I spent too long trying to work out why the magic constant was
    28 bits wide)
---
 src/compiler/policy.lisp |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/compiler/policy.lisp b/src/compiler/policy.lisp
index 158a096..629a81c 100644
--- a/src/compiler/policy.lisp
+++ b/src/compiler/policy.lisp
 <at>  <at>  -207,10 +207,8  <at>  <at>  EXPERIMENTAL INTERFACE: Subject to change."
 ;;; OPTIMIZE forms have messed with it.
 (defun !policy-cold-init-or-resanify ()
   (setq **baseline-policy**
-        ;; Compute this by starting with #b01 in each bitfield,
-        ;; and mask off the extraneous bits.
-        (make-policy (logand (1- (ash 1 (* 2 n-policy-primary-qualities)))
-                             #x5555555))
+        (make-policy (loop for i below n-policy-primary-qualities
(Continue reading)

Douglas Katzman | 18 May 09:37 2015
Picon
Picon

master: Get rid of a lonely-looking NIL in expansion of (SETF (GETF ...)).

The branch "master" has been updated in SBCL:
       via  1e4f28c308ed58ba3ee8f7a1c237f883f21af65e (commit)
      from  f313cf0284432dc0fd53648740c499ab9ea9195f (commit)

- Log -----------------------------------------------------------------
commit 1e4f28c308ed58ba3ee8f7a1c237f883f21af65e
Author: Douglas Katzman <dougk <at> google.com>
Date:   Mon May 18 03:36:39 2015 -0400

    Get rid of a lonely-looking NIL in expansion of (SETF (GETF ...)).

    Also fix innocuous bug re. misuse of name-hints in collecting temps.
---
 src/code/setf.lisp     |  128 +++++++++++++++++++++++++-----------------------
 tests/setf.impure.lisp |   15 ++++++
 2 files changed, 82 insertions(+), 61 deletions(-)

diff --git a/src/code/setf.lisp b/src/code/setf.lisp
index 5fee23e..0e6aadd 100644
--- a/src/code/setf.lisp
+++ b/src/code/setf.lisp
 <at>  <at>  -504,68 +504,77  <at>  <at> 
     (t
      (error "Ill-formed DEFSETF for ~S" access-fn))))

-;; Much of the SETF framework shares logic to assemble the first two values
-;; for GET-SETF-EXPANSION while eschewing bindings for constant arguments.
-(flet ((collect-call-temps (place-subforms environment name-hints)
-         (collect ((temp-vars) (temp-vals) (call-arguments))
-           (dolist (form place-subforms
(Continue reading)

Douglas Katzman | 18 May 09:23 2015
Picon
Picon

master: More efficient representation of compilation policies.

The branch "master" has been updated in SBCL:
       via  f313cf0284432dc0fd53648740c499ab9ea9195f (commit)
      from  c502d6c344451f0dbe08872169565b8b8e995b87 (commit)

- Log -----------------------------------------------------------------
commit f313cf0284432dc0fd53648740c499ab9ea9195f
Author: Douglas Katzman <dougk <at> google.com>
Date:   Mon May 18 02:52:41 2015 -0400

    More efficient representation of compilation policies.

    Making POLICY a struct rather than list avoids sorting
    and is a huge win for expressions involving the POLICY macro.
    Various tests including self-rebuild showed an overall speedup
    in COMPILE-FILE of around 3.5%
---
 NEWS                              |    3 +
 contrib/asdf/uiop.lisp            |    2 +-
 contrib/sb-cltl2/env.lisp         |   11 +-
 src/code/defmacro.lisp            |    2 +-
 src/code/describe-policy.lisp     |   12 +-
 src/code/describe.lisp            |    6 +-
 src/code/full-eval.lisp           |   18 ++-
 src/code/macros.lisp              |    2 +-
 src/compiler/ir1-translators.lisp |    4 +-
 src/compiler/ir1opt.lisp          |    2 +-
 src/compiler/ir1util.lisp         |    2 +-
 src/compiler/lexenv.lisp          |    2 +-
 src/compiler/ltv.lisp             |    4 +-
 src/compiler/main.lisp            |    8 +-
(Continue reading)

Douglas Katzman | 18 May 08:40 2015
Picon
Picon

master: Fix problem with assigning macro guard function names.

The branch "master" has been updated in SBCL:
       via  c502d6c344451f0dbe08872169565b8b8e995b87 (commit)
      from  93a0c7ca73a9690c4414a7b8f221344952cadbbb (commit)

- Log -----------------------------------------------------------------
commit c502d6c344451f0dbe08872169565b8b8e995b87
Author: Douglas Katzman <dougk <at> google.com>
Date:   Mon May 18 02:40:08 2015 -0400

    Fix problem with assigning macro guard function names.
---
 src/code/target-misc.lisp |    5 ++---
 tests/symbol.pure.lisp    |   15 ++++++++++++++-
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/code/target-misc.lisp b/src/code/target-misc.lisp
index b11703f..cec5b06 100644
--- a/src/code/target-misc.lisp
+++ b/src/code/target-misc.lisp
 <at>  <at>  -51,7 +51,7  <at>  <at> 
 (defun %fun-type (function)
   (%simple-fun-type (%fun-fun function)))

-(defglobal *closure-name-marker* (make-symbol ".CLOSURE-NAME."))
+(!defglobal *closure-name-marker* (make-symbol ".CLOSURE-NAME."))
 (defun closure-name (closure)
   (declare (closure closure))
   (let ((len (get-closure-length closure)))
 <at>  <at>  -88,8 +88,7  <at>  <at> 
                                         (ash ,index sb!vm:word-shift)))))
(Continue reading)

Douglas Katzman | 14 May 22:05 2015
Picon
Picon

master: Cross-reference to a bug number in comment.

The branch "master" has been updated in SBCL:
       via  93a0c7ca73a9690c4414a7b8f221344952cadbbb (commit)
      from  d0b83d3046da3f46aebd62235cb07b9c55c62ba7 (commit)

- Log -----------------------------------------------------------------
commit 93a0c7ca73a9690c4414a7b8f221344952cadbbb
Author: Douglas Katzman <dougk <at> google.com>
Date:   Thu May 14 16:04:39 2015 -0400

    Cross-reference to a bug number in comment.
---
 src/compiler/ir1tran.lisp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/compiler/ir1tran.lisp b/src/compiler/ir1tran.lisp
index e23744a..dc21d55 100644
--- a/src/compiler/ir1tran.lisp
+++ b/src/compiler/ir1tran.lisp
 <at>  <at>  -1248,7 +1248,7  <at>  <at> 
                            (lambda-var-specvar var))
                       (process-var it nil))))
             (cons
-             ;; FIXME: non-ANSI weirdness
+             ;; FIXME: non-ANSI weirdness. [See lp#309122]
              (aver (eq (car var) 'macro))
              (new-vars `(,var-name . (macro . (the ,(first decl)
                                                 ,(cdr var))))))

-----------------------------------------------------------------------

(Continue reading)

Douglas Katzman | 13 May 14:04 2015
Picon
Picon

master: Fix sharp-+/- reader to conform to CLHS 2.4.8.17

The branch "master" has been updated in SBCL:
       via  d0b83d3046da3f46aebd62235cb07b9c55c62ba7 (commit)
      from  0c2ae6522682ad8a55b4a1521557eae8189bde3d (commit)

- Log -----------------------------------------------------------------
commit d0b83d3046da3f46aebd62235cb07b9c55c62ba7
Author: Douglas Katzman <dougk <at> google.com>
Date:   Wed May 13 07:58:30 2015 -0400

    Fix sharp-+/- reader to conform to CLHS 2.4.8.17

    Per the spec, "the syntax is #+test expression"
---
 NEWS                   |    2 ++
 src/code/sharpm.lisp   |   31 ++++++++++++-------------------
 src/cold/shebang.lisp  |   26 +++++++++++---------------
 tests/reader.pure.lisp |    4 ++++
 4 files changed, 29 insertions(+), 34 deletions(-)

diff --git a/NEWS b/NEWS
index 58ce746..a3d6f4a 100644
--- a/NEWS
+++ b/NEWS
 <at>  <at>  -16,6 +16,8  <at>  <at>  changes relative to sbcl-1.2.11:
   * bug fix: Reading "#()" with a positive numeric argument signals a
     reader error. As specified, reading "#1()" has undefined consequences,
     so correct portable code should be indifferent to this. (lp#1252100)
+  * bug fix: Malformed reader conditionals such as "(#-no-such-feature)"
+    and "(#+sbcl)" no longer parse as NIL. (lp#1454400)

(Continue reading)

Douglas Katzman | 13 May 04:31 2015
Picon
Picon

master: Report stream position on error in the EVAL calls from LOAD.

The branch "master" has been updated in SBCL:
       via  0c2ae6522682ad8a55b4a1521557eae8189bde3d (commit)
      from  1387a7fce24788d85bfcdced9321d8a22de5d4e2 (commit)

- Log -----------------------------------------------------------------
commit 0c2ae6522682ad8a55b4a1521557eae8189bde3d
Author: Douglas Katzman <dougk <at> google.com>
Date:   Tue May 12 22:30:36 2015 -0400

    Report stream position on error in the EVAL calls from LOAD.
---
 NEWS                      |    2 ++
 src/code/target-load.lisp |   28 ++++++++++++++++++++++++++--
 tests/data/wonky4.lisp    |   19 +++++++++++++++++++
 tests/load.pure.lisp      |    9 ++++++++-
 4 files changed, 55 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 40f6bb0..58ce746 100644
--- a/NEWS
+++ b/NEWS
 <at>  <at>  -2,6 +2,8  <at>  <at> 
 changes relative to sbcl-1.2.11:
   * enhancement: The input stream for COMPILE-FILE implements
     STREAM-LINE-COLUMN.
+  * enhancement: EVAL errors that occur by way of LOAD report the starting
+    line and column number of the erring toplevel form. (lp#565247)
   * optimization: better MAP and MAP-INTO on known vector result types.
   * bug fix: Read/modify/write macros accessing a place which is a
     composition of CAR+CDR operations, such as (SHIFTF (CADR X) (ELT V 0)),
(Continue reading)

Douglas Katzman | 13 May 02:43 2015
Picon
Picon

master: Don't allow reading #n() for positive n. Fixes lp#1252100

The branch "master" has been updated in SBCL:
       via  1387a7fce24788d85bfcdced9321d8a22de5d4e2 (commit)
      from  0ab5ca4a3114dc8f43344a6a8eed1d6ee03fcb83 (commit)

- Log -----------------------------------------------------------------
commit 1387a7fce24788d85bfcdced9321d8a22de5d4e2
Author: Douglas Katzman <dougk <at> google.com>
Date:   Tue May 12 20:42:09 2015 -0400

    Don't allow reading #n() for positive n. Fixes lp#1252100
---
 NEWS                   |    3 +++
 src/code/sharpm.lisp   |    3 +++
 tests/reader.pure.lisp |    6 ++++++
 3 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/NEWS b/NEWS
index 32b6ab4..40f6bb0 100644
--- a/NEWS
+++ b/NEWS
 <at>  <at>  -11,6 +11,9  <at>  <at>  changes relative to sbcl-1.2.11:
     regarding argument evaluation order. (lp#1452539)
   * bug fix: POP works as specified in CLHS if the setter for its
     argument has a side-effect on the existing CAR value. (lp#1454021)
+  * bug fix: Reading "#()" with a positive numeric argument signals a
+    reader error. As specified, reading "#1()" has undefined consequences,
+    so correct portable code should be indifferent to this. (lp#1252100)

 changes in sbcl-1.2.11 relative to sbcl-1.2.10:
   * enhancement: SET-PPRINT-DISPATCH will warn when given an expression in
(Continue reading)


Gmane