Emacs switched the version control system from Bazaar to git yesterday, so now is the time to start hacking away at Emacs.
Emacs: The Best Thing Since Sliced Bread If It Wasn’t For The Fact That Emacs Was Actually Invented Before Sliced Bread.
This is a very short how-to guide on building and then contributing to Emacs.
Depending on what OS you’re running, you should install some libraries and stuff. On Debian/Ubuntu you’d say something like
sudo apt build-dep emacs
(See the end of this post for instructions for other operating systems.)
Then you need to get the Emacs sources and build Emacs. Here’s how on most Linux systems:
git clone git://git.savannah.gnu.org/emacs.git cd emacs make ./src/emacs &
And you’re off! If you know what you want to add to Emacs, just start hacking away. If not, you should have a look at the wishlist in the Emacs bug tracker. Starting with a new feature can be less daunting than starting with a bug, since it’s more open ended. And more fun.
First we need to get the bug tracker into Emacs.
M-x package-install RET debbugs RET
Ready for action!
M-x debbugs-gnu RET C-a C-k wishlist RET
Emacs requires a copyright assignment on all bits that are larger than 15 lines. Send an email to copyright-clerk@fsf.org saying you wish to assign your Emacs code to the FSF, and they’ll get back to you on the paperwork, which is very un-daunting.
If you’re fixing lots of bugs and adding lots of new code, just ask for commit rights to the Emacs repository, and your code will fly out a lot faster.
Go forth and Emacs!
——————–
Appendix:
If apt-get build-dep doesn’t work for you on Debian/Ubuntu, you could say something like
sudo apt-get install gcc automake autotools libmagick++-dev \ libgtk2.0-dev libxft-dev libgnutls-dev libdbus-1-dev libgif-dev
On Fedora you’d say
sudo dnf install -y git make sudo dnf builddep -y emacs
If you have instructions for other OS-es, or these instructions here are wrong, please leave a comment.
If you need more information on the git flow for Emacs developers, have a peek here.