anchor.diff:  (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 (< *pdcurses-version-number* 3.9)
  +  (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))
   
  
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: 
  ;; pdcurses version information
  (cffi:defcstruct pdcversioninfo
    (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 (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)
        nil))
  (defvar *pdcurses-version-info*
    (cffi:with-foreign-object (ver-info '(:struct pdcversioninfo))
      (PDC-get-version ver-info)
  