Skip to content
Snippets Groups Projects
Commit d86aae34 authored by gerd's avatar gerd
Browse files

* src/pcl/macros.lisp (pcl-internal-function-name-p): New

	function.
	* src/pcl/boot.lisp (set-arg-info1): Use it instead of
	relying on valid-function-name-p to return nil as second
	value for PCL-internal functions.
parent b9130bc6
No related branches found
No related tags found
No related merge requests found
......@@ -25,7 +25,7 @@
;;; *************************************************************************
(file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/boot.lisp,v 1.58 2003/05/19 10:40:28 gerd Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/boot.lisp,v 1.59 2003/05/23 11:05:16 gerd Exp $")
(in-package :pcl)
......@@ -1561,10 +1561,7 @@ work during bootstrapping.
(setf (gf-info-simple-accessor-type arg-info) t))))
;;
;; Let dfuns and emfs be pre-computed for "normal" PCL methods, not
;; the ones generated in the course of optimizations. This
;; implementation depends on the fact that the latter methods result
;; in NIL being returned as second value of
;; EXT:VALID-FUNCTION-NAME-P.
;; the ones generated in the course of optimizations.
(unless was-valid-p
(let ((name (if (eq *boot-state* 'complete)
(generic-function-name gf)
......@@ -1572,7 +1569,8 @@ work during bootstrapping.
(setf (gf-precompute-dfun-and-emf-p arg-info)
(multiple-value-bind (valid sym)
(valid-function-name-p name)
(and valid sym
(and valid
(not (pcl-internal-function-name-p name))
(symbolp sym)
(let ((pkg (symbol-package sym))
(pcl *the-pcl-package*))
......
......@@ -26,7 +26,7 @@
;;;
(file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/macros.lisp,v 1.27 2003/05/07 17:00:09 gerd Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/macros.lisp,v 1.28 2003/05/23 11:05:16 gerd Exp $")
;;;
;;; Macros global variable definitions, and other random support stuff used
;;; by the rest of the system.
......@@ -69,6 +69,12 @@
(define-function-name-syntax effective-method (name)
(valid-function-name-p (cadr name))))
(defun pcl-internal-function-name-p (name)
(and (consp name)
(memq (car name)
'(class-predicate slot-accessor
method fast-method effective-method))))
(import '(cl::make-keyword))
(defmacro posq (item list)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment