anchor.diff:             (move-by win 0 1)))
           (#\newline ; RET key, C-j, C-m
              (when (> n 0) ; only print when the line is not empty.
  -             (let* ((strin (extract-string win :n n :y 0 :x 0)) 
  +             (let* ((strin (extract-wide-string win :n n :y 0 :x 0)) 
                       (strout (eval (read-from-string strin))))
                  (princ strin)
                  (terpri)
  -               (format t "=> ~A~%~%" strout))
  +               (add-string wout (format nil "=> ~A~%~%" strout)))
                (setf n 0)
                (clear win) ; empty the input line after evaluation.
                (refresh wout)))
  
positive.code:          (clear scr)
           ;; display the human-readable version of a wide char by using the utf-8 %waddch interface.
           ;; adding both attributes and colors works this way.
           (add-wide-char scr ch :attributes (list :underline :bold) :color-pair (list :red :yellow) :y 0 :x 0)
           ;; extract the wide char added by the utf-8 %waddch interface.
           (let ((ch2 (extract-wide-char scr :y 0 :x 0)))
             ;; display the lisp-readable version of the extracted wide char
             (move scr 1 0)
             (prin1 (.simple-char ch2) scr)
             ;; print the slots of the extracted complex wide char
             (add-wide-char scr ch2 :y 2 :x 0)
             (princ (.attributes ch2) scr)
             (princ (.color-pair ch2) scr)))))
  
  ;; take a function given as symbol name and display its docstring. press q to exit.
  ;; Example: (a:t04 'cdr)
  
negative.code:          ;; this is the place for no-event code.
           ;; instead of doing nothing, set blocking to t.
           nil)
          ;; non-function keys, i.e. normal character keys
          (otherwise
           (when (and (characterp event)
                      (< (cadr (.cursor-position win)) (1- (.width win))))
             (incf n)
             (add-wide-char win event))))
        (close win)
        (close wout))))
  
  