mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
New file.
This commit is contained in:
parent
70314b54e4
commit
d1208b8bfa
122
CONTRIBUTE
Normal file
122
CONTRIBUTE
Normal file
@ -0,0 +1,122 @@
|
||||
|
||||
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
|
||||
conclusion 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
|
||||
|
||||
|
||||
o Copyright Assignment
|
||||
|
||||
Before we can accept code contributions from you, we need a
|
||||
copyright assignment form filled out and filed with the FSF.
|
||||
|
||||
See some documentation by the FSF for details and contact us
|
||||
via the Emacs mailing list to obtain the relevant
|
||||
forms.
|
||||
|
||||
Small changes can be accepted without a copyright assignment
|
||||
form on file.
|
||||
|
||||
Ref: http://www.gnu.org/prep/maintain.html#SEC6
|
||||
|
||||
|
||||
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., .texi files).
|
||||
|
||||
The patch itself. If you are accessing the CVS repository use
|
||||
"cvs update; cvs diff -cp"; else, use "diff -cp OLD NEW" or
|
||||
"diff -up 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 patches and related discussion should be sent to the
|
||||
emacs-pretest-bug mailinglist.
|
||||
|
||||
|
||||
o Please read your patch before submitting it.
|
||||
|
||||
A patch containing several unrelated changes or
|
||||
arbitrary reformats will be returned with a request
|
||||
to re-formatting / split it.
|
||||
|
||||
|
||||
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 there is also a node "GNU Emacs Internals" in the Appendix
|
||||
of the Emacs Lisp Reference Manual that may help.
|
||||
|
||||
The file DEBUG describes how to debug Emacs.
|
||||
|
||||
Avoid using `defadvice' or `eval-after-load' for lisp
|
||||
code to be included in Emacs.
|
Loading…
Reference in New Issue
Block a user