diff --git a/compiler/proclaim.lisp b/compiler/proclaim.lisp
index ebc0d99b66f939a2bc7c4e6cac65b2e444e56d53..adf770e45ab408374d912e11d80de3f3f57f2482 100644
--- a/compiler/proclaim.lisp
+++ b/compiler/proclaim.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/proclaim.lisp,v 1.26.1.2 1993/01/23 14:39:22 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/proclaim.lisp,v 1.26.1.3 1993/01/27 12:57:09 ram Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -22,7 +22,8 @@
 (in-package "EXTENSIONS")
 (export '(inhibit-warnings freeze-type optimize-interface constant-function))
 (in-package "KERNEL")
-(export '(note-name-defined *type-system-initialized*))
+(export '(note-name-defined define-function-name undefine-function-name
+			    *type-system-initialized* %note-type-defined))
 (in-package "LISP")
 (export '(declaim proclaim))
 (in-package "C")
@@ -238,6 +239,28 @@
   name)
 
 
+;;; UNDEFINE-FUNCTION-NAME  --  Interface
+;;;
+;;;    Make Name no longer be a function name: clear everything back to the
+;;; default.
+;;;
+(defun undefine-function-name (name)
+  (when name
+    (macrolet ((frob (type &optional val)
+		 `(unless (eq (info function ,type name) ,val)
+		    (setf (info function ,type name) ,val))))
+      (frob info)
+      (frob type (specifier-type 'function))
+      (frob where-from :assumed)
+      (frob inlinep)
+      (frob kind)
+      (frob accessor-for)
+      (frob inline-expansion)
+      (frob source-transform)
+      (frob assumed-type)))
+  (undefined-value))
+
+
 ;;; Process-Optimize-Declaration  --  Interface
 ;;;
 ;;;    Return a new cookie containing the policy information represented by the
@@ -324,8 +347,8 @@
       (freeze-type
        (dolist (type args)
 	 (specifier-type type); Give undefined type warnings...
-	 (when (eq (info type kind type) :structure)
-	   (freeze-structure-type type))))
+	 (when (eq (info type kind type) :instance)
+	   (setf (class-state (find-class type)) :sealed))))
       (function
        ;;
        ;; Handle old-style FUNCTION declaration, which is a shorthand for