Apr 9, 2008, 11:48:46 PM (13 years ago)

Add CCL:TEST-CCL - runs the gcl test suite (checking it out into ccl:tests;
if necessary). This will print out a bunch of warnings early on (for now),
then sit there for a while (about 3 mins on a MacBook? Pro) and finally
report "No tests failed".

Propagate assorted small fixes from trunk:

r8996 - fix case of spurious defvar warning
r9027 - check arg count before deciding to use builtin-call
r9046 - small fix for ~@:C
r9047 - report a TYPE-ERROR when make-broadcast-stream is given a non-output-stream
r9048 - Make make-file-stream rejected wildcarded pathnames. Various tweaks to make

meta-. work when using pathnames relative to the file system's "current directory".

r9049 - make defclass check for illegal class options
r9052 - Don't constant-fold if arg count is obviously wrong.
r9059 - Try harder to do function calls as function calls when (OPTIMIZE (SAFETY 3))

is in effect.

r9060, r9061 - CTYPE-SUBTYPE: try harder in some cases.
r9068, r9069, r9103, r9104 - PPC2-REF-SYMBOL-VALUE: force boundp checks unless

*ppc2-reckless* (same policy as x86; the per-thread binding lookup is generally
more expensive than boundp trap these days.). Unless skipping boundp check, don't
ignore unused result (so we can error when safety is 3, mostly.)

1 edited


  • branches/working-0711/ccl/lib/macros.lisp

    r8982 r9117  
    661661(defmacro %defvar-init (var initform doc)
    662662  `(unless (%defvar ',var ,doc)
    663      (setq ,var ,initform)))
     663    (set ',var ,initform)))
    665665(defmacro defvar (&environment env var &optional (value () value-p) doc)
    19501950        (let* ((direct-superclasses superclasses)
    19511951               (direct-slot-specs (mapcar #'canonicalize-slot-spec slots))
    1952                (other-options (apply #'append (mapcar #'canonicalize-defclass-option class-options ))))
     1952               (other-options (apply #'append (mapcar #'canonicalize-defclass-option class-options )))
     1953               (keyvect (class-keyvect class-name other-options)))
     1954          (when (vectorp keyvect)
     1955            (let ((illegal (loop for arg in other-options by #'cddr
     1956                              as key = (if (quoted-form-p arg) (%cadr arg) arg)
     1957                              unless (or (eq key :metaclass) (find key keyvect)) collect key)))
     1958              (when illegal
     1959                (signal-program-error "Class option~p~{ ~s~} is not one of ~s"
     1960                                      (length illegal) illegal keyvect))))
    19531961          `(progn
    19541962            (eval-when (:compile-toplevel)
Note: See TracChangeset for help on using the changeset viewer.