Emacs Lisp Static Analysis and Systematic Renaming.

Summary: This is an Emacs tool that facilitates static analysis and systematic renaming of definitions in a set of Emacs Lisp files.

Context: As a long-time Emacs Lisp programmer I have written a substantial amount of Emacs Lisp code for a variety of purposes. It has resulted in many useful functions (organized in a number of libraries) which tend to be reused over and over. The tool described here helps you (re)organize a large code base of Emacs Lisp code. In particular, it helps you with distribution of your software to other people.

Mission: Given the context from above. It is sometimes useful to be able to make a single self-contained file (or a set of self-contained files) which holds all the necessary definitions from a number of different source files. It is also useful to make systematic renamings that prevent name clashes with definition from other packages. The tool described below provides a solution.

How to get and install the tool: In case you want to use the tool, you must download a zip file and carry our a few things in your .emacs file. Details.

How to use the tool: When you have loaded the tool, it manifests itself as a number of menu entries in Tools> Emacs Lisp Analysis. Read the text in Tools> Emacs Lisp Analysis > Help for a brief user manual.

Improving the tool: I am aware that the tool is not perfect yet. Believe me - it is not an easy task to analyze and rename as described above! I would like to receive suggestions for improvements, especially aspects of Emacs Lisp which are not yet handled (or aspects that are not handled correctly).

Practical use of the tool: The tool has been used to prepare all my public Emacs Lisp packages for distribution.


Disclaimer: Aalborg University and Kurt Nørmark shall NOT be responsible for any harm caused by the use of this tool.

Kurt Nørmark