X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fearly-extensions.lisp;h=c342e862ddfbbbfff11fa6ee7f4089664d38f134;hb=e38cf29945f9ff0cfbf614c0c216be60e2515175;hp=a23f10faf60a63603b8f0610532c777e8d7a4680;hpb=7ce2c42adf3d62f03086de940adaee48e6161a40;p=sbcl.git diff --git a/src/code/early-extensions.lisp b/src/code/early-extensions.lisp index a23f10f..c342e86 100644 --- a/src/code/early-extensions.lisp +++ b/src/code/early-extensions.lisp @@ -605,7 +605,8 @@ (defun legal-fun-name-p (name) (or (symbolp name) (and (consp name) - (eq (car name) 'setf) + (or (eq (car name) 'setf) + (eq (car name) 'sb!pcl::class-predicate)) (consp (cdr name)) (symbolp (cadr name)) (null (cddr name))))) @@ -619,8 +620,14 @@ :format-control "invalid function name: ~S" :format-arguments (list name)))) -;;; Given a function name, return the name for the BLOCK which -;;; encloses its body (e.g. in DEFUN, DEFINE-COMPILER-MACRO, or FLET). +;;; Given a function name, return the symbol embedded in it. +;;; +;;; The ordinary use for this operator (and the motivation for the +;;; name of this operator) is to convert from a function name to the +;;; name of the BLOCK which encloses its body. +;;; +;;; Occasionally the operator is useful elsewhere, where the operator +;;; name is less mnemonic. (Maybe it should be changed?) (declaim (ftype (function ((or symbol cons)) symbol) fun-name-block-name)) (defun fun-name-block-name (fun-name) (cond ((symbolp fun-name)