Index: /trunk/ccl/level-1/l1-error-signal.lisp
===================================================================
--- /trunk/ccl/level-1/l1-error-signal.lisp	(revision 281)
+++ /trunk/ccl/level-1/l1-error-signal.lisp	(revision 282)
@@ -78,5 +78,5 @@
                  (call-special-operator-or-macro
                   (make-condition condition-name
-                                  :function-name (car errargs)
+                                  :name (car errargs)
                                   :function-arguments (cadr errargs)))
                  (sequence-index-type-error
Index: /trunk/ccl/level-1/l1-error-system.lisp
===================================================================
--- /trunk/ccl/level-1/l1-error-system.lisp	(revision 281)
+++ /trunk/ccl/level-1/l1-error-system.lisp	(revision 282)
@@ -176,7 +176,9 @@
 
 (defun signal-program-error (string &rest args)
-  (error (make-condition 'simple-program-error
-                         :format-control (if (fixnump string) (%rsc-string string) string)
-                         :format-arguments args)))
+  (let* ((e #'error))
+    (funcall e
+	     (make-condition 'simple-program-error
+			     :format-control (if (fixnump string) (%rsc-string string) string)
+			     :format-arguments args))))
 
 (define-condition simple-destructuring-error (simple-program-error))
@@ -327,5 +329,10 @@
 (define-condition stream-error (error)
   ((stream :initarg :stream :reader stream-error-stream)))
-(define-condition parse-error (stream-error) ())
+(define-condition parse-error (error) ())
+(define-condition parse-integer-not-integer-string (parse-error)
+  ((string :initarg :string))
+  (:report (lambda (c s)
+	     (format s "Not an integer string: ~s" (slot-value c 'string)))))
+
 (define-condition reader-error (parse-error) ())
 (define-condition end-of-file (stream-error) ()
@@ -383,13 +390,12 @@
   ((error-type :initform "Undefined function")))
 (define-condition undefined-function-call (control-error undefined-function)
-  ((function-name :initarg :function-name :reader undefined-function-call-name)
-   (function-arguments :initarg :function-arguments :reader undefined-function-call-arguments))
+  ((function-arguments :initarg :function-arguments :reader undefined-function-call-arguments))
   (:report (lambda (c s) (format s "Undefined function ~S called with arguments ~:S ."
-                                 (undefined-function-call-name c)
+                                 (cell-error-name c)
                                  (undefined-function-call-arguments c)))))
 
 (define-condition call-special-operator-or-macro (undefined-function-call)
   ()
-  (:report (lambda (c s) (format s "Special operator or global macro-function ~s can't be FUNCALLed or APPLYed" (undefined-function-call-name c)))))
+  (:report (lambda (c s) (format s "Special operator or global macro-function ~s can't be FUNCALLed or APPLYed" (cell-error-name c)))))
 
   
@@ -823,5 +829,5 @@
     (dbg function-name))   ; user should never see this
   (let ((condition (make-condition 'undefined-function-call
-                                   :function-name function-name
+                                   :name function-name
                                    :function-arguments args)))
     (restart-case (%error condition nil frame-ptr)
