Ignore:
Timestamp:
May 26, 2009, 6:47:21 PM (10 years ago)
Author:
gb
Message:

Allow any type specifier to be used as a declaration identifier.
(I'm not sure if PROCLAIM/DECLAIM/DECLARE are all consistent about
whether the check for a valid type specifier happens before or
after the declaration is passed to the TYPE handler.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/l1-utils.lisp

    r12069 r12131  
    519519
    520520;; Redefined in sysutils.
    521 (%fhave 'type-specifier-p
    522         (qlfun bootstrapping-type-specifier-p (name)
     521(%fhave 'specifier-type-if-known
     522        (qlfun bootstrapping-type-specifier-p (name &optional env &key &allow-other-keys)
     523          (declare (ignore env))
    523524          (memq name *cl-types*)))
     525
     526
    524527
    525528(defun proclaim (spec)
     
    538541    (t (unless (memq (%car spec) *nx-known-declarations*)
    539542         ;; Any type name is now (ANSI CL) a valid declaration.  Any symbol could become a type.
    540          (if (symbolp (%car spec))
     543         (if (specifier-type-if-known (%car spec))
    541544           (apply #'proclaim-type spec)
    542545           (warn "Unknown declaration specifier(s) in ~S" spec))))))
Note: See TracChangeset for help on using the changeset viewer.