diff --git a/code/error.lisp b/code/error.lisp
index 1a5aa0cb71da12fc0092cdd601362c50f6e26d47..6d60c40918c8a479fbfc45dd78d877cc4be5945a 100644
--- a/code/error.lisp
+++ b/code/error.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/error.lisp,v 1.52 1998/08/14 07:16:58 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/error.lisp,v 1.53 1998/12/19 15:52:07 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -20,7 +20,8 @@
 
 (in-package "KERNEL")
 (export '(layout-invalid condition-function-name simple-control-error
-	  simple-file-error simple-program-error simple-style-warning))
+	  simple-file-error simple-program-error simple-style-warning
+	  simple-undefined-function))
 
 (in-package "LISP")
 (export '(break error warn cerror
@@ -522,9 +523,17 @@
 	 (class (typecase thing
 		  (condition-class thing)
 		  (class
-		   (error "~S is not a condition class." thing))
+		   (error 'simple-type-error
+			  :datum thing
+			  :expected-type 'condition-class
+			  :format-control "~S is not a condition class."
+			  :format-arguments (list thing)))
 		  (t
-		   (error "Bad thing for class arg:~%  ~S" thing))))
+		   (error 'simple-type-error
+			  :datum thing
+			  :expected-type 'condition-class
+			  :format-control "Bad thing for class arg:~%  ~S"
+			  :format-arguments (list thing)))))
 	 (res (make-condition-object args)))
     (setf (%instance-layout res) (class-layout class))
     ;;
@@ -932,6 +941,9 @@
 	     (condition-function-name condition)
 	     (cell-error-name condition)))))
 
+(define-condition simple-undefined-function (simple-condition
+					     undefined-function) ())
+
 (define-condition arithmetic-error (error)
   ((operation :reader arithmetic-error-operation :initarg :operation
 	      :initform nil)
diff --git a/code/exports.lisp b/code/exports.lisp
index 5d8318513aa56936fc6d3310eef1a022bb2eb4d7..cdfcb3b4c8658af806a1e62da64515e7b4f3040c 100644
--- a/code/exports.lisp
+++ b/code/exports.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/exports.lisp,v 1.158 1998/10/04 07:37:24 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/exports.lisp,v 1.159 1998/12/19 15:52:06 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1663,6 +1663,7 @@
 	   "MAKE-UNDEFINED-CLASS" "%COMPILER-ONLY-DEFSTRUCT"
 	   "CLASS-DIRECT-SUPERCLASSES" "MAKE-LAYOUT" "SIMPLE-CONTROL-ERROR"
 	   "SIMPLE-FILE-ERROR" "SIMPLE-PROGRAM-ERROR" "SIMPLE-STYLE-WARNING"
+	   "SIMPLE-UNDEFINED-FUNCTION"
 	   "BYTE-FUNCTION-TYPE" "SLOT-CLASS-PRINT-FUNCTION"
 	   "REDEFINE-LAYOUT-WARNING" "SLOT-CLASS" "INSURED-FIND-CLASS"
 	   "CONDITION-FUNCTION-NAME"))