;; Used to temporarily bind contexts in such a way as to not cause ;; the context garbage collector to run. Used when you don't want to ;; stash away contexts for later use, but simply want to run a piece ;; of code in a new context which will be destroyed when the code finishes. ;; Note that this code COULD use an unwind-protect to be safe but since ;; it will not cause out and out errors we leave it out. (defmacro with-new-context (sub-context &rest forms) `(let ((context (context ,@sub-context))) (prog1 ,@forms (context-unwinder))))
0 件のコメント:
コメントを投稿