anchor.diff:    (check-init)
     (lem-1 args))
   
  -(defun save-error (condition)
  -  (with-open-file (out *lem-error-file*
  -                       :direction :output
  -                       :if-exists :supersede
  -                       :if-does-not-exist :create)
  -    (let ((*print-circle* t))
  -      (format out "~&~%~%~%~%~a~%" condition)
  -      (format out "~s~%"
  -              (lem.queue:queue-to-list *input-history*))
  -      (uiop/image:print-backtrace :stream out :count 100)
  -      (exit-editor
  -       (with-output-to-string (stream)
  -         (princ condition stream)
  -         (uiop/image:print-backtrace
  -          :stream stream
  -          :condition condition))))))
  +(defun bailout (condition)
  +  (exit-editor
  +   (with-output-to-string (stream)
  +     (princ condition stream)
  +     (uiop/image:print-backtrace
  +      :stream stream
  +      :condition condition))))
   
   (defun dired-buffer (filename)
     (save-excursion
  
positive.code: 
  (in-package :lem)
  
  (export '(*lem-error-file*
            macro-running-p
            exit-lem
            find-keybind
            describe-key
  
negative.code: 
  (defmacro with-error-handler (() &body body)
    `(handler-case-bind (#'(lambda (condition)
                             (handler-bind ((error #'bailout))
                               (popup-backtrace condition)))
                         ,@body)
                        ((condition) (declare (ignore condition)))))
  
  