[Ecls-list] patch: inline declarations and proclamations for setf functions

Josh Elsasser josh at elsasser.org
Sat Aug 30 20:54:29 UTC 2008


The following patch allows inline and notinline declarations for setf
functions, and prevents notinline declamations and proclamations for
setf functions from being ignored.

--- src/cmp/cmpenv.lsp
+++ src/cmp/cmpenv.lsp
@@ -166,7 +166,7 @@
   (not (or ; (compiler-<push-events)
 	;(>= *debug* 2) Breaks compilation of STACK-PUSH-VALUES
 	(member fname *notinline* :test #'same-fname-p)
-	(and (symbolp fname) (get-sysprop fname 'CMP-NOTINLINE)))))
+	(get-sysprop fname 'CMP-NOTINLINE))))
 
 #-:CCL
 (defun proclaim (decl &aux decl-name)
@@ -407,13 +407,13 @@
       (INLINE
        (push decl dl)
        (dolist (fun (cdr decl))
-	 (if (symbolp fun)
+	 (if (si::valid-function-name-p fun)
 	   (setq *notinline* (remove fun *notinline*))
 	   (cmperr "Not a valid function name ~s in declaration ~s" fun decl))))
       (NOTINLINE
        (push decl dl)
        (dolist (fun (cdr decl))
-	 (if (symbolp fun)
+	 (if (si::valid-function-name-p fun)
 	   (push fun *notinline*)
 	   (cmperr "Not a valid function name ~s in declaration ~s" fun decl))))
       (DECLARATION




More information about the ecl-devel mailing list