anchor.diff:  
   ;; pdcurses version information
   (cffi:defcstruct pdcversioninfo
  -  (flags :short)
  -  (build :short)
  -  (major :unsigned-char)
  -  (minor :unsigned-char)
  -  (csize :unsigned-char)
  -  (bsize :unsigned-char))
  +  (flags  :short)
  +  (build  :short)
  +  (major  :unsigned-char)
  +  (minor  :unsigned-char)
  +  (csize  :unsigned-char)
  +  (bsize  :unsigned-char)
  +  ;; workaround for PDCursesMod (even though it doesn't work well ...)
  +  (dummy1 :unsigned-char)
  +  (dummy2 :int))
   ;;(define-exported-cfuns ("PDC_get_version") :void (ver-info :pointer))
   (defun PDC-get-version (ver-info)
  +  (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'flags)  0)
  +  (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'build)  0)
  +  (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'major)  0)
  +  (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'minor)  0)
  +  (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'csize)  0)
  +  (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'bsize)  0)
  +  (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'dummy1) 0)
  +  (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'dummy2) 0)
     ;; PDC_get_version has been added in pdcurses version 3.8
     ;;(if (cffi:foreign-symbol-pointer "PDC_get_version")
     (if (and (>= *pdcurses-version-number* 3.8)
  -           ;; workaround for PDCursesMod 4.1.0 (even though it doesn't work well ...)
  +           ;; workaround for PDCursesMod (even though it doesn't work well ...)
              (not (and (>= *pdcurses-version-number* 4.0)
                        (<  *pdcurses-version-number* 4.2))))
         (cffi:foreign-funcall "PDC_get_version" :pointer ver-info :void)
  -      (progn
  -        (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'flags) 0)
  -        (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'build) 0)
  -        (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'major) 0)
  -        (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'minor) 0)
  -        (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'csize) 0)
  -        (setf (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'bsize) 0)
  -        nil)))
  +      nil))
   (defvar *pdcurses-version-info*
     (cffi:with-foreign-object (ver-info '(:struct pdcversioninfo))
       (PDC-get-version ver-info)
  
positive.code:           (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'major)
            (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'minor)
            (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'csize)
            (cffi:foreign-slot-value ver-info '(:struct pdcversioninfo) 'bsize))))
  
  ;; enable modifier keys
  (define-exported-constant PDC_KEY_MODIFIER_SHIFT   1)
  
negative.code: (defun PDC-save-key-modifiers (flag)
    ;; PDC_save_key_modifiers has been removed in pdcurses version 3.9
    ;;(if (cffi:foreign-symbol-pointer "PDC_save_key_modifiers")
    (if (or (< *pdcurses-version-number* 3.9)
            ;; workaround for PDCursesMod (even though it doesn't work well ...)
            (and (>= *pdcurses-version-number* 4.0)
                 (<  *pdcurses-version-number* 4.2)))
        (cffi:foreign-funcall "PDC_save_key_modifiers" bool flag :int)
        0))
  
  