Please consider contributing patches to Emacs, even if you’re an Emacs novice. Especially if you’re an Emacs novice—no-one is better qualified to judge the introductory documentation. Contribute now, before Stockholm syndrome sets in!
M-x report-emacs-bug will open a mail buffer with a template ready for you to
fill with information. You probably haven’t configured Emacs to be able to send
email, but you can copy from this buffer and paste into your favorite email
Do follow the instructions in that buffer. In particular, make sure you can
reproduce the bug having run Emacs with
emacs -Q (to confirm that it is a bug
in Emacs itself and not in your customizations or in a third-party package).
The documentation for
After reading that I still didn’t know what
C-j (at the
prompt) actually does. It turns out to mean “use whatever you’ve typed
verbatim” instead of using
ido’s fuzzy matching. I’ll submit a patch to the
~/.emacs.d/ido.el. To test the change, evaluate (
defun form you changed.
Generate a patch with
diff -cp ido.el.orig ido.el.
Ideally you’d make the patch against the latest (unreleased) version of the Emacs source code, instead of version 24.1. Someone else might even have fixed your problem already! The Emacs source code is hosted at savannah.gnu.org and you can grab the source code from the official Bazaar repository:
bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk
Or, if you prefer git, from the git mirror (which can allegedly be up to one day behind the Bazaar repo):
git clone git://git.savannah.gnu.org/emacs.git
Note that either one of the above commands will take quite a while, but you’ll only do it once. I’ll use git in the following instructions.
Create a private (local) branch for your changes:
git checkout -b ido-el-documentation --track master
Make the change on the source files directly. Test.
git commit -am "* ido.el: Documentation for C-j in ido-find-file and ido-switch-buffer."
git format-patch master
In future, before starting on another change you’ll want to pull the latest changes from upstream:
git checkout master
git pull --rebase
Try to find contribution guidelines on the package’s website: Where to email your patch, the preferred formatting of the patch and its changelog message, etc.
If the package is hosted on github, the package maintainers may be open to pull requests via github’s interface.
: The 21st century requires half a gig of disk space and a 30-minute download.
--rebase is to avoid complicated merges in the history if you have
local un-pushed commits on the master branch. Though if you’ve followed these
instructions, your local changes should only ever be on private branches, not