From 9d1b7c8f7d9db84695f3d07c0d35e19f4acd643f Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Mon, 8 Feb 2010 11:47:30 +0100 Subject: [PATCH] ECL accepts FTYPE proclamations for SETF-functions. --- src/CHANGELOG | 2 ++ src/cmp/cmpenv.lsp | 2 +- src/new-cmp/cmpenv.lsp | 10 +++++----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/CHANGELOG b/src/CHANGELOG index 6ae3d7028..87e09f5b8 100755 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -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 diff --git a/src/cmp/cmpenv.lsp b/src/cmp/cmpenv.lsp index e62f57648..2552ca829 100644 --- a/src/cmp/cmpenv.lsp +++ b/src/cmp/cmpenv.lsp @@ -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)) diff --git a/src/new-cmp/cmpenv.lsp b/src/new-cmp/cmpenv.lsp index 326c9e6ec..e6d0be0e2 100644 --- a/src/new-cmp/cmpenv.lsp +++ b/src/new-cmp/cmpenv.lsp @@ -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)) @@ -59,11 +59,11 @@ (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)