Homepage: https://github.com/emacsorphanage/elisp-depend
Author: Michael Heerdegen
Updated:
Parse depend libraries of elisp file
Parse depend libraries of elisp file.
This packages is parse current elisp file and get
depend libraries that need.
Default, it will use function `symbol-file' to get
depend file with current symbol.
And then use `featurep' to test this file whether
write `provide' sentences for feature reference.
If `featurep' return t, generate depend information
as "(require 'foo)" format.
If `featurep' return nil, generate depend
as "(autoload 'foo "FooFile")" format.
This packages will always return depend information as `autoload'
format if a feature not write `provide' information in source code.
Below are commands you can use:
`elisp-depend-insert-require' insert depends code.
`elisp-depend-insert-comment' insert depends comment.
Installation:
Put elisp-depend.el to your load-path.
The load-path is usually ~/elisp/.
It's set in your ~/.emacs like this:
(add-to-list 'load-path (expand-file-name "~/elisp"))
And the following to your ~/.emacs startup file.
(require 'elisp-depend)
NOTE:
Default, if your Emacs is install at "/usr/share/emacs/",
You can ignore below setup.
Otherwise you need setup your Emacs directory with
option `elisp-depend-directory-list', like below:
(setq elisp-depend-directory-list '("YourEmacsDirectory"))
Customize:
`elisp-depend-directory-list' the install directory of emacs.
Or you can add others directory that you want filter.
All of the above can customize by:
M-x customize-group RET elisp-depend RET
Change log:
2012/04/20
* Switched to `read' instead of parsing the file mnaually.
2010/05/10
* Bugfix: Fixed error if file didn't start with a comment.
2010/05/08
* Added require for `thingatpt'
* Now slash-style module names are treated correctly.
2009/02/11
* Add new option `built-in' to function `elisp-depend-map'
for debug.
2009/01/18
* Complete all check work.
Now can generate exact depend information.
* Modified some code to compatibility Emacs 20.
Thanks "Drew Adams" advice.
* Fix doc.
2009/01/17
* Don't include user init file in depend information,
filter by variable `user-init-file'.
2009/01/11
* First released.
Acknowledgements:
Drew Adams
For advice for compatibility Emacs 20.
TODO
Fix local-variable problem:
If the some local-variable (such as lambda sentence)
have same name with function, will got unnecessary depend
information.