anchor.diff:      ;; acs takes a keyword :ulcorner, translates it to a char #\l,
       ;; ncurses translates it at run-time to a terminal-dependent
       ;; integer value that doesnt correspond to a char code.
  -    (format scr "~A ~A ~A " #\l (char-code #\l) (acs :ulcorner))
  +    (format scr "~A ~A ~A " #\l (char-code #\l) (acs :upper-left-corner))
       ;; We cant output it in a string, but have to use add-char.
       (add-char scr 4194412)
       (terpri scr)
  
positive.code:     (unwind-protect
           (progn
  
  (add-string scr "ACS_ULCORNER ") (add-char scr (acs :ulcorner)) (add-string scr " upper left corner") (new-line scr) 
  (add-string scr "ACS_LLCORNER ") (add-char scr (acs :llcorner)) (add-string scr " lower left corner ") (new-line scr)
  (add-string scr "ACS_URCORNER ") (add-char scr (acs :urcorner)) (add-string scr " upper right corner ") (new-line scr)
  (add-string scr "ACS_LRCORNER ") (add-char scr (acs :lrcorner)) (add-string scr " lower right corner ") (new-line scr)
  (add-string scr "ACS_LTEE     ") (add-char scr (acs :ltee    )) (add-string scr " tee pointing right ") (new-line scr)
  (add-string scr "ACS_RTEE     ") (add-char scr (acs :rtee    )) (add-string scr " tee pointing left ") (new-line scr)
  (add-string scr "ACS_BTEE     ") (add-char scr (acs :btee    )) (add-string scr " tee pointing up ") (new-line scr)
  (add-string scr "ACS_TTEE     ") (add-char scr (acs :ttee    )) (add-string scr " tee pointing down ") (new-line scr)
  (add-string scr "ACS_HLINE    ") (add-char scr (acs :hline   )) (add-string scr " horizontal line ") (new-line scr)
  (add-string scr "ACS_VLINE    ") (add-char scr (acs :vline   )) (add-string scr " vertical line ") (new-line scr)
  (add-string scr "ACS_PLUS     ") (add-char scr (acs :plus    )) (add-string scr " large plus or crossover ") (new-line scr)
  (add-string scr "ACS_S1       ") (add-char scr (acs :s1      )) (add-string scr " scan line 1 ") (new-line scr)
  (add-string scr "ACS_S9       ") (add-char scr (acs :s9      )) (add-string scr " scan line 9 ") (new-line scr)
  (add-string scr "ACS_DIAMOND  ") (add-char scr (acs :diamond )) (add-string scr " diamond ") (new-line scr)
  (add-string scr "ACS_CKBOARD  ") (add-char scr (acs :ckboard )) (add-string scr " checker board (stipple) ") (new-line scr)
  (add-string scr "ACS_DEGREE   ") (add-char scr (acs :degree  )) (add-string scr " degree symbol ") (new-line scr)
  (add-string scr "ACS_PLMINUS  ") (add-char scr (acs :plminus )) (add-string scr " plus/minus ") (new-line scr)
  (add-string scr "ACS_BULLET   ") (add-char scr (acs :bullet  )) (add-string scr " bullet ") (new-line scr)
  (add-string scr "ACS_LARROW   ") (add-char scr (acs :larrow  )) (add-string scr " arrow pointing left ") (new-line scr)
  (add-string scr "ACS_RARROW   ") (add-char scr (acs :rarrow  )) (add-string scr " arrow pointing right ") (new-line scr)
  (add-string scr "ACS_DARROW   ") (add-char scr (acs :darrow  )) (add-string scr " arrow pointing down ") (new-line scr)
  (add-string scr "ACS_UARROW   ") (add-char scr (acs :uarrow  )) (add-string scr " arrow pointing up ") (new-line scr)
  (add-string scr "ACS_BOARD    ") (add-char scr (acs :board   )) (add-string scr " board of squares ") (new-line scr)
  (add-string scr "ACS_LANTERN  ") (add-char scr (acs :lantern )) (add-string scr " lantern symbol ") (new-line scr)
  (add-string scr "ACS_BLOCK    ") (add-char scr (acs :block   )) (add-string scr " solid square block ") (new-line scr)
  (add-string scr "ACS_S3       ") (add-char scr (acs :s3      )) (add-string scr " scan line 3 ") (new-line scr)
  (add-string scr "ACS_S7       ") (add-char scr (acs :s7      )) (add-string scr " scan line 7 ") (new-line scr)
  (add-string scr "ACS_LEQUAL   ") (add-char scr (acs :lequal  )) (add-string scr " less/equal ") (new-line scr)
  (add-string scr "ACS_GEQUAL   ") (add-char scr (acs :gequal  )) (add-string scr " greater/equal ") (new-line scr)
  (add-string scr "ACS_PI       ") (add-char scr (acs :pi      )) (add-string scr " Pi ") (new-line scr)
  (add-string scr "ACS_NEQUAL   ") (add-char scr (acs :nequal  )) (add-string scr " not equal ") (new-line scr)
  (add-string scr "ACS_STERLING ") (add-char scr (acs :sterling)) (add-string scr " UK pound sign") (new-line scr)
  
             (get-char scr))
        (close scr))))
  
negative.code: ;; http://melvilletheatre.com/articles/ncurses-extended-characters/index.html
  (defun t12a ()
    (with-screen (scr)
      (add-char scr :upper-left-corner    ) (format scr " ACS_ULCORNER / upper left corner      ~%")
      (add-char scr :lower-left-corner    ) (format scr " ACS_LLCORNER / lower left corner      ~%")
      (add-char scr :upper-right-corner   ) (format scr " ACS_URCORNER / upper right corner     ~%")
      (add-char scr :lower-right-corner   ) (format scr " ACS_LRCORNER / lower right corner     ~%")   
      (add-char scr :tee-pointing-right   ) (format scr " ACS_LTEE     / tee pointing right     ~%")
      (add-char scr :tee-pointing-left    ) (format scr " ACS_RTEE     / tee pointing left      ~%")   
      (add-char scr :tee-pointing-up      ) (format scr " ACS_BTEE     / tee pointing up        ~%")
      (add-char scr :tee-pointing-down    ) (format scr " ACS_TTEE     / tee pointing down      ~%")
      (add-char scr :horizontal-line      ) (format scr " ACS_HLINE    / horizontal line        ~%")   
      (add-char scr :vertical-line        ) (format scr " ACS_VLINE    / vertical line          ~%")
      (add-char scr :crossover-plus       ) (format scr " ACS_PLUS     / large plus or crossover~%")
      (add-char scr :scan-line-1          ) (format scr " ACS_S1       / scan line 1            ~%")
      (add-char scr :scan-line-3          ) (format scr " ACS_S3       / scan line 3            ~%")
      (add-char scr :scan-line-7          ) (format scr " ACS_S7       / scan line 7            ~%")
      (add-char scr :scan-line-9          ) (format scr " ACS_S9       / scan line 9            ~%")
      (add-char scr :diamond-symbol       ) (format scr " ACS_DIAMOND  / diamond                ~%")
      (add-char scr :board                ) (format scr " ACS_BOARD    / board of squares       ~%")
      (add-char scr :checker-board        ) (format scr " ACS_CKBOARD  / checker board (stipple)~%")
      (add-char scr :degree-symbol        ) (format scr " ACS_DEGREE   / degree symbol          ~%")
      (add-char scr :plus-minus           ) (format scr " ACS_PLMINUS  / plus/minus             ~%")
      (add-char scr :bullet-symbol        ) (format scr " ACS_BULLET   / bullet                 ~%")
      (add-char scr :arrow-pointing-left  ) (format scr " ACS_LARROW   / arrow pointing left    ~%")
      (add-char scr :arrow-pointing-right ) (format scr " ACS_RARROW   / arrow pointing right   ~%")
      (add-char scr :arrow-pointing-down  ) (format scr " ACS_DARROW   / arrow pointing down    ~%")
      (add-char scr :arrow-pointing-up    ) (format scr " ACS_UARROW   / arrow pointing up      ~%")
      (add-char scr :lantern-symbol       ) (format scr " ACS_LANTERN  / lantern symbol         ~%")
      (add-char scr :solid-square-block   ) (format scr " ACS_BLOCK    / solid square block     ~%")
      (add-char scr :less-than-or-equal   ) (format scr " ACS_LEQUAL   / less/equal             ~%")
      (add-char scr :greater-than-or-equal) (format scr " ACS_GEQUAL   / greater/equal          ~%")
      (add-char scr :pi                   ) (format scr " ACS_PI       / Pi                     ~%")
      (add-char scr :not-equal            ) (format scr " ACS_NEQUAL   / not equal              ~%")
      (add-char scr :uk-pound-sterling    ) (format scr " ACS_STERLING / UK pound sign          ~%")
  
      (refresh scr)
      (get-char scr)))
  