The GNU Emacs Lisp Reference Manual is a very enjoyable read and will prepare you for everything you need to contribute to any Emacs package.
We have some suggested hacks for Emacs Lisp that you may enjoy.
Try setting the following and reading the documentation of what each does (recall you can do this with
C-h v over any variable in Emacs)
(setq debug-on-error t debug-on-quit t ensime-log-events t ensime--debug-messages t)
First, clone the git repo hosted at github.com/ensime/ensime-emacs. If you pick up a ticket, please comment on it to let us know so that we can help (and also to avoid overlapping with somebody else). Feel free to ask questions on the github issue tracker or gitter.im/ensime/ensime-emacs.
.drone.yml describes what our CI does and this can be followed for your local development.
You must install Cask, the excellent build tool for Emacs Lisp projects and then initialise the repository and install the dependencies with:
cask pkg-file cask install
It all starts with a test.
To run the old tests, run the hacky
To run the new, preferred style, tests, type
cask exec ert-runner and
cask exec ecukes.
If you think the client side is suffering performance problems, use
M-x profiler-start, edit some code and experience the slowdown,
M-x profiler-report. Once you find the cause, you can stop profiling with