anchor.diff:                     (("elif" "else" "endif")
                       (if (plusp (context-if-level context))
                           (return)
  -                        (cpp-error (second line) "#~A without #if" (token-text (second line)))))
  +                        (cpp-error (second line) "#~A without #if" (token-text (second line))))
  +                    (uiop/image:print-backtrace))
                      (("line")    (cpp-line context))
                      (("pragma")  (pragma           context))
                      (("error")   (cpp-error-line   context))
  
positive.code:           (cpp-e "tests/substitute.c" '("tests/"))
            (cpp-e "tests/trigraphs.c" '("tests/"))
            (cpp-e "tests/errors.c" '("tests/"))
  
  
            ;; bugged
            (cpp-e "tests/recursive.c" '("tests/"))
            (cpp-e "tests/empty-macro.c" '("tests/"))
            
            
            (let ((file "tests/define.h"))
  
negative.code:                                                                   '() '() :allow-defined '())))))))
  
  (defmethod cpp-if ((context context))
    (incf (context-if-level context))
    (unwind-protect
         (if (cpp-evaluate-expression context (cddr (context-current-line context)))
             (process-branch-and-skip context)
             (skip-branch-and-process context))
      (decf (context-if-level context))))
  
  
  ;;; --------------------
  