anchor.diff:      :initform      nil
       :type          boolean
       :documentation "Draw (t) or don't draw (nil, default) a shadow behind the panel.")
  -   
  +
      (shadow-win
       :initform      nil
       :type          (or null window)
  
positive.code:     :initform      t
      :type          boolean
      :documentation
      "If t (default), the #\return character (CR ^M \r) is automatically translated to newline (NL) on input, 
       and NL is translated to CR LF on output. 
       NL is the standard, system independent, portable way to end a line.
       It can be either #\linefeed (LF ^J \n) on Linux, carriage #\return on MacOS, CRLF \r\n on Windows.
       Setting newline translation to nil is necessary to be able to detect the #\return key.")
  
negative.code:   (list (ncurses:getcury (slot-value win 'winptr))
          (ncurses:getcurx (slot-value win 'winptr))))
  
  ;; we can move the cursor by doing this, or by calling "move".
  ;; both will use ncurses:wmove in the background.
  ;; note that incf and decf dont work.
  (defgeneric (setf cursor-position) (position window))
  