лисперы, а если ли способ получить бэктрейс прилетевшего condition'а? Например в виде строки (лучше, конечно, списка). Лучше переносимо, но сгодится и sbcl-way. Чтот пока не нахожу. trivial-backtrace дает бэктрейсы точки вызова (print-backtrace err), а не точки выброса этого самого err.
*cl
Sectoid
04.10.2012 23:21
octocat
08.07.2011 19:24
На коленке воспроизвел жутко секретный (sic!) стандартный макрос defun. Оказалось что он еще и работает похоже на оригинал. Что не может не радовать.
(defmacro custom-defun (name params &rest body)
`(progn (defvar ,name nil) (setf ,name #'(lambda (,@params) ,@body))))
ЗЫ Зато slime опять сломался, скотина :(
octocat
28.06.2011 21:05
CL-USER> (macroexpand-1 'defun)
DEFUN
NIL
Хм, а еще говорят, что defun — макрос... обида :)