anchor.diff:            input-key
             self-insert
             lem
  -          lem-save-error))
  +          lem-save-error
  +          restore
  +          dump))
   
   (defvar *lem-error-file* "~/.lem-error")
   (defvar *init-flag* nil)
  
positive.code:   (cl-charms/low-level:raw)
    (cl-charms/low-level:nonl)
    (cl-charms/low-level:refresh)
    (unless *init-flag*
      (setq *init-flag* t)
      (window-init)
      (minibuf-init)
      (with-error-handler ()
        (load-init-file)))
    (dolist (arg args)
      (find-file arg)))
  
  (defun lem-finallize ()
    (cl-charms/low-level:endwin))
  
  (defun lem-internal (args debug-p)
    (unwind-protect
      (progn
        (lem-init args)
        (lem-main debug-p))
      (lem-finallize)))
  
  (defun lem (&rest args)
    (lem-internal args nil))
  
  (defun lem-save-error (&rest args)
    (lem-internal args t))
  
  (defun save-error (condition)
    (with-open-file (out *lem-error-file*
  
negative.code:   (bt:join-thread *main-thread*)
    (bt:destroy-thread *input-thread*))
  
  (defun lem-init (args restore-p)
    #-sbcl (declare (ignore restore-p))
    (cl-charms/low-level:initscr)
    (attr-init)
    (cl-charms/low-level:noecho)
  