X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcondition.lisp;h=c0f051debcc1cf9533960454c3c830a8a53067ca;hb=31f072311935e32751508ecf824905c6b58a1d95;hp=a9f9fe86c21a7ee78816c2e64a3dc73d6852b9dd;hpb=7a961398d8faa8f25725405c882245f498ff5117;p=sbcl.git diff --git a/src/code/condition.lisp b/src/code/condition.lisp index a9f9fe8..c0f051d 100644 --- a/src/code/condition.lisp +++ b/src/code/condition.lisp @@ -392,10 +392,14 @@ (condition-writer-function condition new-value slot-name)))) (defun %define-condition (name parent-types layout slots documentation - report default-initargs all-readers all-writers) + report default-initargs all-readers all-writers + source-location) (with-single-package-locked-error (:symbol name "defining ~A as a condition") (%compiler-define-condition name parent-types layout all-readers all-writers) + (sb!c:with-source-location (source-location) + (setf (layout-source-location layout) + source-location)) (let ((class (find-classoid name))) (setf (condition-classoid-slots class) slots) (setf (condition-classoid-report class) report) @@ -564,7 +568,8 @@ ,report (list ,@default-initargs) ',(all-readers) - ',(all-writers))))))) + ',(all-writers) + (sb!c:source-location))))))) ;;;; DESCRIBE on CONDITIONs