Index: main/textbox.lisp
===================================================================
--- main/textbox.lisp	(revision main,36)
+++ main/textbox.lisp	(revision main,37)
@@ -41,5 +41,6 @@
     (erase window)
     (add-clipped-string window 0 (- scroll) (text data))
-    (setf (cursor-position window) (list 0 (screen-cp textbox)))))
+    (setf (cursor-position window) (list 0 (screen-cp textbox)))
+    (refresh window)))
 
 (defmethod (setf insertion-point) :around (i (textbox textbox))
@@ -113,7 +114,8 @@
            (t
             (if (or (keywordp key) (member key '(#\Return #\Tab #\Esc)))
-                (when (funcall callback key)
-                  (setf (insertion-point textbox) 0)
-                  (return-from activate-textbox))
+                (let ((r (funcall callback key)))
+                  (when r
+                    (setf (insertion-point textbox) 0)
+                    (return-from activate-textbox r)))
                 (multiple-value-bind (left right) (split textbox)
                   (setf (text data)
