anchor.diff:    (defun get-event ()
       (tagbody :start
         (return-from get-event
  -        (let ((code (charms/ll:getch)))
  +        (let ((code (getch)))
             (cond ((= code -1) (go :start))
                   ((= code resize-code) :resize)
                   ((= code abort-code) :abort)
                   ((= code escape-code)
                    (charms/ll:timeout (variable-value 'escape-delay))
  -                 (let ((code (prog1 (charms/ll:getch)
  +                 (let ((code (prog1 (getch)
                                  (charms/ll:timeout -1))))
                      (cond ((= code -1)
                             (get-key-from-name "escape"))
                            ((= code #.(char-code #\[))
  -                          (case (charms/ll:getch)
  +                          (case (getch)
                               (#.(char-code #\<)
                                  ;;sgr(1006)
                                  (uiop:symbol-call :lem-mouse-sgr1006 :parse-mouse-event))
  
positive.code:                   (#.(char-code #\F) (make-key :shift t :sym "End"))
                    (#.(char-code #\H) (make-key :shift t :sym "Home"))))
               (#.(char-code #\3)
                  (case (charms/ll:getch)
                    (#.(char-code #\A) (make-key :meta t :sym "Up"))
                    (#.(char-code #\B) (make-key :meta t :sym "Down"))
                    (#.(char-code #\C) (make-key :meta t :sym "Right"))
  
negative.code:                    (let ((vec (make-array nbytes :element-type '(unsigned-byte 8))))
                       (setf (aref vec 0) code)
                       (loop :for i :from 1 :below nbytes
                             :do (setf (aref vec i) (getch)))
                       (handler-case (schar (babel:octets-to-string vec) 0)
                         (babel-encodings:invalid-utf8-continuation-byte ()
                           (code-char code)))))))
  