X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-signal.el;h=522e5a42c2610e9844727ebd20c00e2494053af5;hp=21918259aa8d108d9fc5389f78974a16c0e1ccb2;hb=9813a6f38fd73e13df920134f25109940917d27c;hpb=746d11ce06a249baa220475bf970a53924881d61 diff --git a/lisp/riece-signal.el b/lisp/riece-signal.el index 2191825..522e5a4 100644 --- a/lisp/riece-signal.el +++ b/lisp/riece-signal.el @@ -30,6 +30,7 @@ ;;; Code: (require 'riece-options) +(require 'riece-debug) (defvar riece-signal-slot-obarray (make-vector 31 0)) @@ -103,22 +104,14 @@ This function is for internal use only." (setq signal (riece-make-signal signal-name args) slots (symbol-value symbol)) (while slots - (condition-case error - (if (or (null (riece-slot-filter (car slots))) - (condition-case error - (funcall (riece-slot-filter (car slots)) signal) - (error - (if riece-debug - (message - "Error in signal filter for \"%S\": %S" - signal-name error))) - nil)) - (funcall (riece-slot-function (car slots)) - signal (riece-slot-handback (car slots)))) - (error - (if riece-debug - (message "Error in slot function for \"%S\": %S" - signal-name error)))) + (riece-ignore-errors (format "slot function for \"%S\"" + signal-name) + (if (or (null (riece-slot-filter (car slots))) + (riece-ignore-errors (format "signal filter for \"%S\"" + symbol-name) + (funcall (riece-slot-filter (car slots)) signal))) + (funcall (riece-slot-function (car slots)) + signal (riece-slot-handback (car slots))))) (setq slots (cdr slots)))))) (provide 'riece-signal)