Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • rtoy's avatar
    620750d0
    Slight reimplemention of how tracing of local functions is done. We · 620750d0
    rtoy authored
    don't do the hackish list-of-name to find local debug function
    anymore.  This change allows us to retrace local functions when the
    function is redefined.
    
    code/debug-int.lisp:
    o Add :LOCAL-NAME keyword parameter to tell us to look for the local
      function within the given FUN.  The bizarre hack using a list as the
      FUN to do this is now gone.
    
    code/ntrace.lisp:
    o Change TRACE-FDEFINITION to return a fourth value if the function is
      a local function.  The fourth value is the name of the local
      function.
    
    o TRACE-1 recognizes the extra value from TRACE-FDEFINITION to
      determine if this is a local function that needs to be traced.
      Also, if DEFINITION is given, we process that carefully so we can
      trace the new definition with a local function.
    
    o UNTRACE-1 likewise updated to recognize and handle local functions.
    
    o TRACE-REFINED-UPDATE modified so that when a function is redefined,
      we retrace the function itself if it was traced (as before).  But we
      also look through the traced functions to see if we need to retrace
      the local definitions in this new function.
    620750d0
    History
    Slight reimplemention of how tracing of local functions is done. We
    rtoy authored
    don't do the hackish list-of-name to find local debug function
    anymore.  This change allows us to retrace local functions when the
    function is redefined.
    
    code/debug-int.lisp:
    o Add :LOCAL-NAME keyword parameter to tell us to look for the local
      function within the given FUN.  The bizarre hack using a list as the
      FUN to do this is now gone.
    
    code/ntrace.lisp:
    o Change TRACE-FDEFINITION to return a fourth value if the function is
      a local function.  The fourth value is the name of the local
      function.
    
    o TRACE-1 recognizes the extra value from TRACE-FDEFINITION to
      determine if this is a local function that needs to be traced.
      Also, if DEFINITION is given, we process that carefully so we can
      trace the new definition with a local function.
    
    o UNTRACE-1 likewise updated to recognize and handle local functions.
    
    o TRACE-REFINED-UPDATE modified so that when a function is redefined,
      we retrace the function itself if it was traced (as before).  But we
      also look through the traced functions to see if we need to retrace
      the local definitions in this new function.