ECL accepts FTYPE proclamations for SETF-functions.
authorJuan Jose Garcia Ripoll <jjgarcia@jjgr-2.local>
Mon, 8 Feb 2010 10:47:30 +0000 (11:47 +0100)
committerJuan Jose Garcia Ripoll <jjgarcia@jjgr-2.local>
Mon, 8 Feb 2010 10:47:30 +0000 (11:47 +0100)
src/CHANGELOG
src/cmp/cmpenv.lsp
src/new-cmp/cmpenv.lsp

index 6ae3d70..87e09f5 100755 (executable)
@@ -37,6 +37,8 @@ ECL 10.2.1:
    in B, then ECL signaled an error in the compiled version of A even after
    this one had required B.lsp.
 
+ - ECL accepts FTYPE proclamations for SETF-functions.
+
 * Visible changes:
 
  - Significant speedup in access to hash tables of up to 30% by writing
index e62f576..2552ca8 100644 (file)
@@ -95,7 +95,7 @@
         (t (type-filter (car return-types)))))
 
 (defun add-function-proclamation (fname decl)
-  (if (symbolp fname)
+  (if (si:valid-function-name-p fname)
       (let* ((arg-types '*)
             (return-types '*)
             (l decl))
index 326c9e6..e6d0be0 100644 (file)
@@ -44,7 +44,7 @@
         (t (c-types:type-filter (car return-types)))))
 
 (defun add-function-proclamation (fname decl)
-  (if (symbolp fname)
+  (if (si:valid-function-name-p fname)
       (let* ((arg-types '*)
             (return-types '*)
             (l decl))
              (t (warn "The function proclamation ~s ~s is not valid."
                       fname decl)))
        (if (eq arg-types '*)
-           (sys:rem-sysprop fname 'PROCLAIMED-ARG-TYPES)
-           (sys:put-sysprop fname 'PROCLAIMED-ARG-TYPES arg-types))
+           (rem-sysprop fname 'PROCLAIMED-ARG-TYPES)
+           (put-sysprop fname 'PROCLAIMED-ARG-TYPES arg-types))
        (if (eq return-types '*)
-           (sys:rem-sysprop fname 'PROCLAIMED-RETURN-TYPE)
-           (sys:put-sysprop fname 'PROCLAIMED-RETURN-TYPE return-types)))
+           (rem-sysprop fname 'PROCLAIMED-RETURN-TYPE)
+           (put-sysprop fname 'PROCLAIMED-RETURN-TYPE return-types)))
       (warn "The function proclamation ~s ~s is not valid." fname decl)))
 
 (defun add-function-declaration (fname arg-types return-types env)