Skip to content
  • Raymond Toy's avatar
    Fix ticket ##104: Source location for define-condition · 3b8bd838
    Raymond Toy authored
    This is the patch from the ticket except that the boot file name has
    been changed to conform to the usual naming rules.
    
    To test it, try (c::info :source-location :class 'error). This should
    return something like
    
    #S(C::FILE-SOURCE-LOCATION :FORM-NUMBERS 52 :PATHNAME "target:code/error.lisp")
    
    Notes:
    * compiler/globaldb.lisp: New info-type source-location/class.  As
    class names can theoretically also be variable names it seemed
    reasonable to introduce this instead of using the existing
    source-location/defvar.
    
    * code/error.lisp (%compiler-define-condition): Take
    source-location as argument and store it in the infodb.
    (define-condition): Pass source-location along.
    
    * bootfiles/20e/boot-2014-06-1.lisp: New bootfile needed
    because error.lisp is compiled before globaldb.lisp.
    3b8bd838