[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Tool for ELISP code analysis
From: |
Johan Bockgård |
Subject: |
Re: Tool for ELISP code analysis |
Date: |
Tue, 06 Mar 2007 01:37:42 +0100 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.93 (gnu/linux) |
Marc Tfardy <m-t-o___CUT__IT___@web.de> writes:
> I try to understand some (complicated) ELISP code with many lines of
> code and many functions. It is not easy to keep overview of the
> function calls and dependecies between functions/variables. Is there
> maybe a Emacs tool for ELISP code analysis?
,----[ C-h v byte-compile-generate-call-tree RET ]
| byte-compile-generate-call-tree is a variable defined in `bytecomp.el'.
| Its value is nil
|
|
| Documentation:
| *Non-nil means collect call-graph information when compiling.
| This records which functions were called and from where.
| If the value is t, compilation displays the call graph when it finishes.
| If the value is neither t nor nil, compilation asks you whether to display
| the graph.
|
| The call tree only lists functions called, not macros used. Those functions
| which the byte-code interpreter knows about directly (eq, cons, etc.) are
| not reported.
|
| The call tree also lists those functions which are not known to be called
| (that is, to which no calls have been compiled). Functions which can be
| invoked interactively are excluded from this list.
|
| You can customize this variable.
|
| [back]
`----
,----[ C-h v byte-compile-call-tree-sort RET ]
| byte-compile-call-tree-sort is a variable defined in `bytecomp.el'.
| Its value is name
|
|
| Documentation:
| *If non-nil, sort the call tree.
| The values `name', `callers', `calls', `calls+callers'
| specify different fields to sort on.
|
| You can customize this variable.
|
| [back]
`----
,----[ C-h f display-call-tree RET ]
| display-call-tree is an interactive compiled Lisp function in `bytecomp.el'.
| (display-call-tree &optional FILENAME)
|
| Display a call graph of a specified file.
| This lists which functions have been called, what functions called
| them, and what functions they call. The list includes all functions
| whose definitions have been compiled in this Emacs session, as well as
| all functions called by those functions.
|
| The call graph does not include macros, inline functions, or
| primitives that the byte-code interpreter knows about directly (eq,
| cons, etc.).
|
| The call tree also lists those functions which are not known to be called
| (that is, to which no calls have been compiled), and which cannot be
| invoked interactively.
|
| [back]
`----
Also http://whome.phys.au.dk/~harder/who-calls.el