| Allegro CL version 9.0 Moderately revised from 8.2. 8.2 version |
Arguments: function-name
This function uncompiles the function named by function-name (which must be a symbol). That is, it replaces the compiled function object with an interpreted function object. This replacement will only succeed if the interpreted function information is available. (That is, this function does not analyze the compiled code and infer the Lisp source which produced it. Instead, it finds the original source code if it can, and uses that. If it cannot find the original source code, it will not succeed.)
This function will work if the following two conditions are true:
*save-function-lambda-expression*
was true when the compilation was done.
(The initial value of that
variable is nil
so unless the
value is changed, uncompile
may not work.)
uncompile will also succeed
if source debug information for the function has been stored, which
will happen if the compiler switch save-source-level-debug-info-switch
was
true when the function was compiled. For functions de3fined in files,
if source file recording was not enabled when the fasl file associated
with the function was loaded, the user might be prompted for the
source file location. If source file information (and source level
debugging information) were enabled, the system will find the source
(assuming the necessary files still exist and are accessible). Source
file recording is enabled when *record-source-file-info*
and *load-source-file-info*
are both true.
uncompile only works for function-names that are symbols, not function-specs.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page has had moderate revisions compared to the 8.2 page.
Created 2019.8.20.
| Allegro CL version 9.0 Moderately revised from 8.2. 8.2 version |