mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-05 03:20:39 -08:00
122 lines
4 KiB
Text
122 lines
4 KiB
Text
|
|
Contributing to Emacs
|
|
|
|
Emacs is a collaborative project and one which wants to encourage new
|
|
development. You may wish to fix Emacs bugs, improve testing, port
|
|
Emacs to a new platform, update documentation, add new Emacs features,
|
|
and the like. To help with this, there is a lot of documentation
|
|
available. In addition to the user guide and Lisp Reference Manual in
|
|
the Emacs distribution, the Emacs web pages also contain much
|
|
information.
|
|
|
|
You may also want to submit your change so that can be considered for
|
|
inclusion in a future version of Emacs (see below).
|
|
|
|
If you don't feel up to hacking Emacs, there are still plenty of ways to
|
|
help! You can answer questions on the mailing lists, write
|
|
documentation, find bugs, create a Emacs related website (contribute to
|
|
the official Emacs web site), or create a Emacs related software
|
|
package. We welcome all of the above and feel free to ask on the Emacs
|
|
mailing lists if you are looking for feedback or for people to review a
|
|
work in progress.
|
|
|
|
Ref: http://www.gnu.org/software/emacs/
|
|
|
|
Finally, there are certain legal requirements and style issues which
|
|
all contributors need to be aware of:
|
|
|
|
|
|
o Coding Standards
|
|
|
|
All contributions must conform to the GNU Coding Standard.
|
|
Submissions which do not conform to the standards will be
|
|
returned with a request to reformat the changes.
|
|
|
|
Emacs has certain additional coding requirements.
|
|
|
|
Ref: http://www.gnu.org/prep/standards_toc.html
|
|
Ref: Standards Info Manual
|
|
|
|
|
|
o Copyright Assignment
|
|
|
|
Before we can accept code contributions from you, we need a
|
|
copyright assignment form filled out and filed with the FSF.
|
|
|
|
Contact us via the Emacs mailing list to obtain the relevant
|
|
forms.
|
|
|
|
Small changes can be accepted without a copyright assignment
|
|
form on file.
|
|
|
|
|
|
o Getting the Source Code
|
|
|
|
The latest version of Emacs can be downloaded using CVS or Arch
|
|
from the Savannah web site. It is important that you submit
|
|
your patch using this version, as any bug in a released version
|
|
of Emacs may already be fixed. It also makes it easier for
|
|
others to test your patch.
|
|
|
|
Ref: http://savannah.gnu.org/projects/emacs
|
|
|
|
|
|
o Submitting Patches
|
|
|
|
Every patch must have several pieces of information before we
|
|
can properly evaluate it.
|
|
|
|
For bug fixes, a description of the bug and how your patch fixes
|
|
this bug.
|
|
|
|
For new features, a description of the feature and your
|
|
implementation.
|
|
|
|
A ChangeLog entry as plaintext (separate from the patch); see
|
|
the various ChangeLog files for format and content. Note that,
|
|
unlike some other projects, we do require ChangeLogs also for
|
|
documentation i.e. texinfo files.
|
|
|
|
Ref: Change Log Concepts node of the Standards Info Manual
|
|
|
|
The patch itself. If you are accessing the CVS repository use
|
|
"cvs update; cvs diff -cp"; else, use "diff -cp OLD NEW". If
|
|
your version of diff does not support these options, then get
|
|
the latest version of GNU diff.
|
|
|
|
We accept patches as plain text (preferred for the compilers
|
|
themselves), MIME attachments (preferred for the web pages), or
|
|
as uuencoded gzipped text.
|
|
|
|
When you have all these pieces, bundle them up in a mail message
|
|
and send it to emacs-pretest-bug@gnu.org or emacs-devel@gnu.org.
|
|
All subsequent discussion should also be sent to the mailing
|
|
list.
|
|
|
|
|
|
o Please read your patch before submitting it.
|
|
|
|
A patch containing several unrelated changes reformats will be
|
|
returned with a request to send them separately.
|
|
|
|
|
|
o Supplemental information for Emacs Developers:
|
|
|
|
If you wish to contribute to Emacs on a regular basis then you
|
|
may be given write access to the CVS repository.
|
|
|
|
Discussion about Emacs development takes place on
|
|
emacs-devel@gnu.org.
|
|
|
|
Think carefully about whether your change requires updating the
|
|
documentation. If it does, you can either do this yourself or
|
|
add an item to the NEWS file.
|
|
|
|
The best way to understand Emacs Internals is to read the code
|
|
but the nodes "Tips" and "GNU Emacs Internals" in the Appendix
|
|
of the Emacs Lisp Reference Manual may also help.
|
|
|
|
The file DEBUG describes how to debug Emacs.
|
|
|
|
Avoid using `defadvice' or `eval-after-load' for lisp
|
|
code to be included in Emacs.
|