summaryrefslogtreecommitdiff
path: root/Lisp/method-definition.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 17:06:02 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 17:06:02 +0100
commit3c28fcb9acb8b742050409b360ec3d7b9e006216 (patch)
tree99318cd0106d912f521ea3196367052aa7a66269 /Lisp/method-definition.lisp
parentcb2858af09521a572ba8d222f1d1b21324ab6f44 (diff)
Add a note about exception handling to ADD-METHOD (OBJECTIVE-C-GENERIC-FUNCTION OBJECTIVE-C-METHOD).
darcs-hash:5504ab9f0855575e5475118f7e95de779369d0e8
Diffstat (limited to 'Lisp/method-definition.lisp')
-rw-r--r--Lisp/method-definition.lisp11
1 files changed, 11 insertions, 0 deletions
diff --git a/Lisp/method-definition.lisp b/Lisp/method-definition.lisp
index 6df7feb..7e71f31 100644
--- a/Lisp/method-definition.lisp
+++ b/Lisp/method-definition.lisp
@@ -131,6 +131,17 @@
;; Leave the second argument (the
;; selector) out.
,@(list* (car arguments) (cddr arguments)))
+ ;; FIXME: We may want to wrap signalled
+ ;; SERIOUS-CONDITIONS in some kind of
+ ;; Objective-C exception object and put
+ ;; it into *OBJCL-CURRENT-EXCEPTION*. Or
+ ;; maybe we don't, assuming the Lisp
+ ;; system can handle a few layers of C
+ ;; functions between a condition's
+ ;; signalling and handling, in which case
+ ;; we'd only destroy the restart
+ ;; mechanism by pseudo-handling
+ ;; conditions in this way.
(%objcl-acquire-lock *objcl-current-exception-lock*))))))
(let ((callback (get-callback callback-name)))
(with-foreign-object (arg-typestring-buffer :string