anchor.diff:  ;; Use the cchar type for convert-to-foreign via a plist.
   ;; cchar-chars isnt a pointer to an integer array here, but an integer.
   (defun ut02 ()
  +  "Display russian chars ш and Љ as cchar_t without creating it with setcchar."
  +  (setlocale +LC-ALL+ "")
     (let ((scr (initscr)))
   
       ;; %add-wch
       ;; Add #\CYRILLIC_SMALL_LETTER_SHA = #\ш to the stdscr.
  -    (cffi:with-foreign-object (ptr '(:struct cchar))
  +    (cffi:with-foreign-object (ptr '(:struct cchar_t))
         (setf ptr (cffi:convert-to-foreign (list 'cchar-attr 0 'cchar-chars (char-code #\ш))
                                       '(:struct cchar)))
         (add-wch ptr))
   
       ;; %wadd-wch
       ;; #\CYRILLIC_CAPITAL_LETTER_LJE = #\Љ
  -    (cffi:with-foreign-object (ptr '(:struct cchar))
  +    (cffi:with-foreign-object (ptr '(:struct cchar_t))
         (setf ptr (cffi:convert-to-foreign (list 'cchar-attr #x00020000 'cchar-chars (char-code #\Љ))
                                       '(:struct cchar)))
         (wadd-wch scr ptr))
  
positive.code:       (setcchar ptr wch 0 0 (cffi:null-pointer))
  
        ;; TODO 200404 works with ncurses 6.1 but not with 6.2
        ;; manually replacing line 209: SetChar2(*cp, CharOf(new_char));
        ;; with: win->_line[y].text[x] = win->_nc_bkgd;
        ;; from ncurses 6.1 is an ugly, but working solution for wbkgrnd
        ;; in ncurses-6.2-20200404/ncurses/base/lib_bkgd.c.
        (wbkgrnd scr ptr)
        
        (wrefresh scr)
        (wgetch scr)
  
negative.code: ;; Unicode strings are supported by the default non-unicode ncurses API (addstr) as long as libncursesw is used.
  ;; Special wide-char string functions (addwstr, add_wchstr) do not have to be used.
  (defun ut01 ()
    (setlocale +LC-ALL+ "")
    (initscr)
  
    (mvaddstr 2 2 "ččććššđđžž")
  