emacs.rst
changeset 18 e35491992b62
child 19 2230f25e0375
equal deleted inserted replaced
17:a0c29be69a91 18:e35491992b62
       
     1 -*- mode: outline -*-
       
     2 
       
     3 * How debug?
       
     4 
       
     5 When your InitFile has a bug, or when you load external files that cause
       
     6 errors, the bug is often hard to find, because the Emacs Lisp reader does not
       
     7 know about line numbers and files – it just knows an error happened, and
       
     8 that’s it.
       
     9 
       
    10 You have several options:
       
    11 
       
    12   * Binary Search – select half of the file in a region, and M-x eval-region.
       
    13   Depending on whether that causes the error or not, split this half or the
       
    14   other half again, and repeat.
       
    15 
       
    16   * Simplified Binary Search – add (error “No error until here”) in the
       
    17   middle of your file. If you get the error “No error until here” when
       
    18   reloading the file, move the expression towards the back of the file,
       
    19   otherwise towards the front of the file.
       
    20 
       
    21   * Use a keyboard macro that moves forward one expression (sexp) and
       
    22   evaluates it.
       
    23 
       
    24   * Try the CommandLine? switch --debug-init.
       
    25 
       
    26   * Shouldn’t (setq debug-on-error t) help?