anchor.diff:  
         (bind field #\newline 'de.anvi.croatoan::debug-print-field-buffer)
         
  -      ;; pressing ^A (for "accept") exits the edit mode for now
  -      (edit field)
  -
  -      (clear scr)
  -      ;; display the contents of the input buffer of the field
  -      (format t "buffer: ~A~%" (buffer field))
  -      (format t "string: ~A" (value field))
  +      ;; pressing ^A (for "accept") exits the edit mode (for now)
  +      ;; the field variables are not reset when edit is exited, we can access them after the edit.
  +      (if (edit field)
  +          ;; accept returns t
  +          (progn
  +            (clear scr)
  +            ;; display the contents of the input buffer of the field
  +            (format t "buffer: ~A~%" (buffer field))
  +            (format t "string: ~A" (value field)))
  +          ;; when cancel returns nil
  +          (progn
  +            (clear scr)
  +            (format t "field edit canceled.")))
  +          
         (refresh scr)
   
         ;; wait for keypress, then exit
  
positive.code:         (refresh scr)
  
          (setf (callback button1) 'reset-form)
          (setf (callback button2) 'cancel-form)
          (setf (callback button3) 'accept-form)
  
          (if (edit form)
              (setq value (pairlis (list (title field1) (title field2))
  
negative.code:            ;; a window is associated with the parent form, and can be accessed by the elements.           
             (form (make-instance 'form :elements (list field1 field2 field3 button1 button2 button3) :window scr)))
  
        ;; for debugging, return prints the content of the buffer and then deletes the buffer
        (bind form :f4 'de.anvi.croatoan::debug-print-field-buffer)
        (bind (find-keymap 'field-map) :f3 'de.anvi.croatoan::debug-print-field-buffer)
  
        ;; Functions to be called when the button is activated by #\newline or #\space.
        (setf (callback button1) (lambda (b e) (save-excursion scr (move scr 0 0) (format scr "Hello there"))))
        (setf (callback button2) 'accept)
        (setf (callback button3) 'cancel)
  
        ;; pressing ^A or C-a (for "accept") exits the edit mode
        ;; TAB, up and down cycles the fields and buttons
  