anchor.diff:    "Edit a single input field, not part of a form."
     (with-screen (scr :input-echoing nil :cursor-visibility t :enable-colors t :enable-fkeys t :input-blocking t)
       (let ((*standard-output* scr)
  -          (field (make-instance 'field :position (list 3 20) :width 20)))
  -
  +          (field (make-instance 'field :position (list 3 20) :width 10)))
  +
  +      ;; style = (fg bg selected-fg selected-bg)
  +      (setf (.style field)
  +            (list (make-instance 'complex-char :simple-char #\space :attributes '(:underline))
  +                  (make-instance 'complex-char :simple-char #\.)))
  +      
         (setf (.event-handlers scr) (get-keymap :field-default-keymap))
         (add-event-handler (scr #\newline)  'de.anvi.croatoan::debug-print-field-buffer)
   
  
positive.code: (defun t16f ()
    "Group several input fields to a form."
    (with-screen (scr :input-echoing nil :cursor-visibility t :enable-colors t :enable-fkeys t :input-blocking t)
      (let* ((field1 (make-instance 'field :position (list 3 20) :width 20))
             (field2 (make-instance 'field :position (list 5 20) :width 20))
             (field3 (make-instance 'field :position (list 7 20) :width 20))
             (form   (make-instance 'form :fields (list field1 field2 field3))))
  
        ;; before the form can be edited, a set of predefined event handlers from the default keymap
        ;; has to be associated with the window.
        (setf (.event-handlers scr) (get-keymap :form-default-keymap))
  
negative.code:       ;; display the contents of the input buffer of all fields of the form
        ;; use field-buffer-to-string to get the contents of the field buffer as a string instead of a list of chars.
        (loop for i in (.fields form) do
          (format scr "~A ~A ~%" (.buffer i) (.value i)))
  
        (refresh scr)
        ;; wait for keypress, then exit
  