Index: main/form.lisp
===================================================================
--- main/form.lisp	(revision main,63)
+++ main/form.lisp	(revision main,64)
@@ -3,6 +3,6 @@
 (defpackage #:tui-form
   (:use #:cl #:dso-util #:tui-input #:tui-widget #:tui-window)
-  (:export #:form-value #:defform #:create-form #:destroy-form #:scroll
-           #:activate))
+  (:export #:form-value #:defform #:create-form #:destroy-form #:with-form
+           #:scroll #:activate))
 
 (in-package #:tui-form)
@@ -224,4 +224,9 @@
         (setf (aref peers i) nil)))))
 
+(defmacro with-form ((var name data-table window) &body body)
+  `(let ((,var (create-form ,name ,data-table ,window)))
+     (unwind-protect (progn ,@body)
+       (destroy-form ,var))))
+
 
 
