author | Camm Maguire <camm@debian.org> | 2013年11月18日 15:42:55 +0000 |
---|---|---|
committer | Camm Maguire <camm@debian.org> | 2013年11月18日 15:44:42 +0000 |
commit | 2576d4ecadba236c964b364df3363497658c9671 (patch) | |
tree | e284abef65c602e0a50cc102893becb91ef414a3 | |
parent | 7694d84316d542d3b37100d64f41dca4fb48e7e3 (diff) | |
download | gcl-2576d4ecadba236c964b364df3363497658c9671.tar.gz |
-rwxr-xr-x | gcl/clcs/gcl_clcs_top_patches.lisp | 13 |
diff --git a/gcl/clcs/gcl_clcs_top_patches.lisp b/gcl/clcs/gcl_clcs_top_patches.lisp index d9b95664e..662794757 100755 --- a/gcl/clcs/gcl_clcs_top_patches.lisp +++ b/gcl/clcs/gcl_clcs_top_patches.lisp @@ -28,11 +28,14 @@ (defun processed-error-p (x) (or (stringp x) (conditionp x))) (defun process-error (datum args function-name &optional (default-type 'conditions::simple-error)) - (when (symbolp datum) - (setq datum (if (conditions::simple-condition-class-p datum) - (conditions::symcat "INTERNAL-" datum) - (conditions::symcat "INTERNAL-SIMPLE-" datum)) - args `(,@args :function-name ,(ihs-fname *current-ihs*)))) + (let ((internal (when (symbolp datum) + (find-class + (conditions::symcat + (if (conditions::simple-condition-class-p datum) "INTERNAL-" "INTERNAL-SIMPLE-") + datum) + nil)))) + (when internal + (setq datum (class-name internal) args `(,@args :function-name ,(ihs-fname *current-ihs*))))) (or (conditions::coerce-to-condition datum args default-type function-name) (coerce-to-string datum args))) (defun process-warning (datum args function-name &optional (default-type 'conditions::simple-warning)) |