diff options
| author | Ken Raeburn | 2017-07-31 01:13:53 -0400 |
|---|---|---|
| committer | Ken Raeburn | 2017-07-31 01:13:53 -0400 |
| commit | 13f3370400031e2ac1c9be0932f411370fc6984e (patch) | |
| tree | 06f349b2b0f1cda9e36f7c4390d9d2d9bf49303c /CONTRIBUTE | |
| parent | cd0966b33c1fe975520e85e0e7af82c09e4754dc (diff) | |
| parent | dcfcaf40d577808d640016c886d4fae7280a7fd5 (diff) | |
| download | emacs-scratch/raeburn-startup.tar.gz emacs-scratch/raeburn-startup.zip | |
; Merge from branch 'master'scratch/raeburn-startup
Diffstat (limited to 'CONTRIBUTE')
| -rw-r--r-- | CONTRIBUTE | 170 |
1 files changed, 85 insertions, 85 deletions
diff --git a/CONTRIBUTE b/CONTRIBUTE index 3ed587c6918..365e4232499 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE | |||
| @@ -26,6 +26,7 @@ admin/notes/git-workflow. | |||
| 26 | 26 | ||
| 27 | ** Getting involved with development | 27 | ** Getting involved with development |
| 28 | 28 | ||
| 29 | Discussion about Emacs development takes place on emacs-devel@gnu.org. | ||
| 29 | You can subscribe to the emacs-devel@gnu.org mailing list, paying | 30 | You can subscribe to the emacs-devel@gnu.org mailing list, paying |
| 30 | attention to postings with subject lines containing "emacs-announce", | 31 | attention to postings with subject lines containing "emacs-announce", |
| 31 | as these discuss important events like feature freezes. See | 32 | as these discuss important events like feature freezes. See |
| @@ -35,11 +36,85 @@ own copy of the repository, and discuss proposed changes on the | |||
| 35 | mailing list. Frequent contributors to Emacs can request write access | 36 | mailing list. Frequent contributors to Emacs can request write access |
| 36 | there. | 37 | there. |
| 37 | 38 | ||
| 38 | ** Committing changes by others | 39 | Bug reports and fixes, feature requests and patches/implementations |
| 40 | should be sent to bug-gnu-emacs@gnu.org, the bug/feature list. This | ||
| 41 | is coupled to the http://debbugs.gnu.org tracker. It is best to use | ||
| 42 | the command 'M-x report-emacs-bug RET' to report issues to the tracker | ||
| 43 | (described below). Be prepared to receive comments and requests for | ||
| 44 | changes in your patches, following your submission. | ||
| 39 | 45 | ||
| 40 | If committing changes written by someone else, commit in their name, | 46 | The Savannah info page http://savannah.gnu.org/mail/?group=emacs |
| 41 | not yours. You can use 'git commit --author="AUTHOR"' to specify a | 47 | describes how to subscribe to the mailing lists, or see the list |
| 42 | change's author. | 48 | archives. |
| 49 | |||
| 50 | To email a patch you can use a shell command like 'git format-patch -1' | ||
| 51 | to create a file, and then attach the file to your email. This nicely | ||
| 52 | packages the patch's commit message and changes. To send just one | ||
| 53 | such patch without additional remarks, you can use a command like | ||
| 54 | 'git send-email --to=bug-gnu-emacs@gnu.org 0001-DESCRIPTION.patch'. | ||
| 55 | |||
| 56 | ** Issue tracker (a.k.a. "bug tracker") | ||
| 57 | |||
| 58 | The Emacs issue tracker at http://debbugs.gnu.org lets you view bug | ||
| 59 | reports and search the database for bugs matching several criteria. | ||
| 60 | Messages posted to the bug-gnu-emacs@gnu.org mailing list, mentioned | ||
| 61 | above, are recorded by the tracker with the corresponding bugs/issues. | ||
| 62 | |||
| 63 | GNU ELPA has a 'debbugs' package that allows accessing the tracker | ||
| 64 | database from Emacs. | ||
| 65 | |||
| 66 | Bugs needs regular attention. A large backlog of bugs is | ||
| 67 | disheartening to the developers, and a culture of ignoring bugs is | ||
| 68 | harmful to users, who expect software that works. Bugs have to be | ||
| 69 | regularly looked at and acted upon. Not all bugs are critical, but at | ||
| 70 | the least, each bug needs to be regularly re-reviewed to make sure it | ||
| 71 | is still reproducible. | ||
| 72 | |||
| 73 | The process of going through old or new bugs and acting on them is | ||
| 74 | called bug triage. This process is described in the file | ||
| 75 | admin/notes/bug-triage. | ||
| 76 | |||
| 77 | ** Documenting your changes | ||
| 78 | |||
| 79 | Any change that matters to end-users should have an entry in etc/NEWS. | ||
| 80 | |||
| 81 | Doc-strings should be updated together with the code. | ||
| 82 | |||
| 83 | Think about whether your change requires updating the manuals. If you | ||
| 84 | know it does not, mark the NEWS entry with "---". If you know | ||
| 85 | that *all* the necessary documentation updates have been made, mark | ||
| 86 | the entry with "+++". Otherwise do not mark it. | ||
| 87 | |||
| 88 | If your change requires updating the manuals to document new | ||
| 89 | functions/commands/variables/faces, then use the proper Texinfo | ||
| 90 | command to index them; for instance, use @vindex for variables and | ||
| 91 | @findex for functions/commands. For the full list of predefine indices, see | ||
| 92 | http://www.gnu.org/software/texinfo/manual/texinfo/html_node/Predefined-Indices.html | ||
| 93 | or run the shell command 'info "(texinfo)Predefined Indices"'. | ||
| 94 | |||
| 95 | For more specific tips on Emacs's doc style, see | ||
| 96 | http://www.gnu.org/software/emacs/manual/html_node/elisp/Documentation-Tips.html | ||
| 97 | Use 'checkdoc' to check for documentation errors before submitting a patch. | ||
| 98 | |||
| 99 | ** Testing your changes | ||
| 100 | |||
| 101 | Please test your changes before committing them or sending them to the | ||
| 102 | list. If possible, add a new test along with any bug fix or new | ||
| 103 | functionality you commit (of course, some changes cannot be easily | ||
| 104 | tested). | ||
| 105 | |||
| 106 | Emacs uses ERT, Emacs Lisp Regression Testing, for testing. See | ||
| 107 | http://www.gnu.org/software/emacs/manual/html_node/ert/ | ||
| 108 | or run 'info "(ert)"' for for more information on writing and running | ||
| 109 | tests. | ||
| 110 | |||
| 111 | If your test lasts longer than some few seconds, mark it in its | ||
| 112 | 'ert-deftest' definition with ":tags '(:expensive-test)". | ||
| 113 | |||
| 114 | To run tests on the entire Emacs tree, run "make check" from the | ||
| 115 | top-level directory. Most tests are in the directory "test/". From | ||
| 116 | the "test/" directory, run "make <filename>" to run the tests for | ||
| 117 | <filename>.el(c). See "test/README" for more information. | ||
| 43 | 118 | ||
| 44 | ** Commit messages | 119 | ** Commit messages |
| 45 | 120 | ||
| @@ -176,6 +251,12 @@ them right the first time, so here are guidelines for formatting them: | |||
| 176 | with Emacs commands like 'C-x 4 a', and commit the change using the | 251 | with Emacs commands like 'C-x 4 a', and commit the change using the |
| 177 | shell command 'vc-dwim --commit'. Type 'vc-dwim --help' for more. | 252 | shell command 'vc-dwim --commit'. Type 'vc-dwim --help' for more. |
| 178 | 253 | ||
| 254 | ** Committing changes by others | ||
| 255 | |||
| 256 | If committing changes written by someone else, commit in their name, | ||
| 257 | not yours. You can use 'git commit --author="AUTHOR"' to specify a | ||
| 258 | change's author. | ||
| 259 | |||
| 179 | ** Branches | 260 | ** Branches |
| 180 | 261 | ||
| 181 | Future development normally takes place on the master branch. | 262 | Future development normally takes place on the master branch. |
| @@ -218,87 +299,6 @@ This repository does not contain the Emacs Lisp package archive | |||
| 218 | (elpa.gnu.org). See admin/notes/elpa for how to access the GNU ELPA | 299 | (elpa.gnu.org). See admin/notes/elpa for how to access the GNU ELPA |
| 219 | repository. | 300 | repository. |
| 220 | 301 | ||
| 221 | ** Emacs Mailing lists. | ||
| 222 | |||
| 223 | Discussion about Emacs development takes place on emacs-devel@gnu.org. | ||
| 224 | |||
| 225 | Bug reports and fixes, feature requests and implementations should be | ||
| 226 | sent to bug-gnu-emacs@gnu.org, the bug/feature list. This is coupled | ||
| 227 | to the http://debbugs.gnu.org tracker. | ||
| 228 | |||
| 229 | The Savannah info page http://savannah.gnu.org/mail/?group=emacs | ||
| 230 | describes how to subscribe to the mailing lists, or see the list | ||
| 231 | archives. | ||
| 232 | |||
| 233 | To email a patch you can use a shell command like 'git format-patch -1' | ||
| 234 | to create a file, and then attach the file to your email. This nicely | ||
| 235 | packages the patch's commit message and changes. To send just one | ||
| 236 | such patch without additional remarks, you can use a command like | ||
| 237 | 'git send-email --to=bug-gnu-emacs@gnu.org 0001-DESCRIPTION.patch'. | ||
| 238 | |||
| 239 | ** Issue tracker (a.k.a. "bug tracker") | ||
| 240 | |||
| 241 | The Emacs issue tracker at http://debbugs.gnu.org lets you view bug | ||
| 242 | reports and search the database for bugs matching several criteria. | ||
| 243 | Messages posted to the bug-gnu-emacs@gnu.org mailing list, mentioned | ||
| 244 | above, are recorded by the tracker with the corresponding bugs/issues. | ||
| 245 | |||
| 246 | GNU ELPA has a 'debbugs' package that allows accessing the tracker | ||
| 247 | database from Emacs. | ||
| 248 | |||
| 249 | Bugs needs regular attention. A large backlog of bugs is | ||
| 250 | disheartening to the developers, and a culture of ignoring bugs is | ||
| 251 | harmful to users, who expect software that works. Bugs have to be | ||
| 252 | regularly looked at and acted upon. Not all bugs are critical, but at | ||
| 253 | the least, each bug needs to be regularly re-reviewed to make sure it | ||
| 254 | is still reproducible. | ||
| 255 | |||
| 256 | The process of going through old or new bugs and acting on them is | ||
| 257 | called bug triage. This process is described in the file | ||
| 258 | admin/notes/bug-triage. | ||
| 259 | |||
| 260 | ** Documenting your changes | ||
| 261 | |||
| 262 | Any change that matters to end-users should have an entry in etc/NEWS. | ||
| 263 | |||
| 264 | Doc-strings should be updated together with the code. | ||
| 265 | |||
| 266 | Think about whether your change requires updating the manuals. If you | ||
| 267 | know it does not, mark the NEWS entry with "---". If you know | ||
| 268 | that *all* the necessary documentation updates have been made, mark | ||
| 269 | the entry with "+++". Otherwise do not mark it. | ||
| 270 | |||
| 271 | If your change requires updating the manuals to document new | ||
| 272 | functions/commands/variables/faces, then use the proper Texinfo | ||
| 273 | command to index them; for instance, use @vindex for variables and | ||
| 274 | @findex for functions/commands. For the full list of predefine indices, see | ||
| 275 | http://www.gnu.org/software/texinfo/manual/texinfo/html_node/Predefined-Indices.html | ||
| 276 | or run the shell command 'info "(texinfo)Predefined Indices"'. | ||
| 277 | |||
| 278 | For more specific tips on Emacs's doc style, see | ||
| 279 | http://www.gnu.org/software/emacs/manual/html_node/elisp/Documentation-Tips.html | ||
| 280 | Use 'checkdoc' to check for documentation errors before submitting a patch. | ||
| 281 | |||
| 282 | ** Testing your changes | ||
| 283 | |||
| 284 | Please test your changes before committing them or sending them to the | ||
| 285 | list. If possible, add a new test along with any bug fix or new | ||
| 286 | functionality you commit (of course, some changes cannot be easily | ||
| 287 | tested). | ||
| 288 | |||
| 289 | Emacs uses ERT, Emacs Lisp Regression Testing, for testing. See | ||
| 290 | http://www.gnu.org/software/emacs/manual/html_node/ert/ | ||
| 291 | or run 'info "(ert)"' for for more information on writing and running | ||
| 292 | tests. | ||
| 293 | |||
| 294 | If your test lasts longer than some few seconds, mark it in its | ||
| 295 | 'ert-deftest' definition with ":tags '(:expensive-test)". | ||
| 296 | |||
| 297 | To run tests on the entire Emacs tree, run "make check" from the | ||
| 298 | top-level directory. Most tests are in the directory "test/". From | ||
| 299 | the "test/" directory, run "make <filename>" to run the tests for | ||
| 300 | <filename>.el(c). See "test/README" for more information. | ||
| 301 | |||
| 302 | ** Understanding Emacs internals | 302 | ** Understanding Emacs internals |
| 303 | 303 | ||
| 304 | The best way to understand Emacs internals is to read the code. Some | 304 | The best way to understand Emacs internals is to read the code. Some |