diff options
Diffstat (limited to 'admin/notes')
| -rw-r--r-- | admin/notes/bug-triage | 12 | ||||
| -rw-r--r-- | admin/notes/bugtracker | 82 | ||||
| -rw-r--r-- | admin/notes/copyright | 33 | ||||
| -rw-r--r-- | admin/notes/documentation | 12 | ||||
| -rw-r--r-- | admin/notes/elpa | 32 | ||||
| -rw-r--r-- | admin/notes/emba | 100 | ||||
| -rw-r--r-- | admin/notes/font-backend | 69 | ||||
| -rw-r--r-- | admin/notes/git-workflow | 47 | ||||
| -rw-r--r-- | admin/notes/hydra | 6 | ||||
| -rw-r--r-- | admin/notes/multi-tty | 12 | ||||
| -rw-r--r-- | admin/notes/nextstep | 3 | ||||
| -rw-r--r-- | admin/notes/repo | 4 | ||||
| -rw-r--r-- | admin/notes/spelling | 11 | ||||
| -rw-r--r-- | admin/notes/tags | 2 | ||||
| -rw-r--r-- | admin/notes/unicode | 130 | ||||
| -rw-r--r-- | admin/notes/versioning | 2 | ||||
| -rw-r--r-- | admin/notes/www | 40 | ||||
| -rw-r--r-- | admin/notes/years | 34 |
18 files changed, 417 insertions, 214 deletions
diff --git a/admin/notes/bug-triage b/admin/notes/bug-triage index 2974eee1792..3d9a275c9d2 100644 --- a/admin/notes/bug-triage +++ b/admin/notes/bug-triage | |||
| @@ -11,7 +11,11 @@ interface via org-mode. | |||
| 11 | The goal of this triage is to prune down the list of old bugs, closing | 11 | The goal of this triage is to prune down the list of old bugs, closing |
| 12 | the ones that are not reproducible on the current release. | 12 | the ones that are not reproducible on the current release. |
| 13 | 13 | ||
| 14 | 1. To start, enter debbugs mode (either debbugs-gnu, debbugs-org, or via the | 14 | 0. To start, check the most relevant bugs blocking a release by |
| 15 | calling debbugs-gnu-emacs-release-blocking-reports. If you want | ||
| 16 | to check this for another Emacs version but the next-to-be-released-one, | ||
| 17 | use the "C-u" prefix. | ||
| 18 | 1. After that, enter debbugs mode (either debbugs-gnu, debbugs-org, or via the | ||
| 15 | web browser), and accept the default list option of bugs that have severity | 19 | web browser), and accept the default list option of bugs that have severity |
| 16 | serious, important, or normal. | 20 | serious, important, or normal. |
| 17 | 2. For each bug, we want to primarily make sure it is still | 21 | 2. For each bug, we want to primarily make sure it is still |
| @@ -20,7 +24,7 @@ the ones that are not reproducible on the current release. | |||
| 20 | suggested checklist to follow for handling these bugs, along with | 24 | suggested checklist to follow for handling these bugs, along with |
| 21 | example replies. Closing, tagging, etc., are done | 25 | example replies. Closing, tagging, etc., are done |
| 22 | with debbugs control messages, which in debbugs-gnu is initiated | 26 | with debbugs control messages, which in debbugs-gnu is initiated |
| 23 | with a "C". | 27 | with a "C" or "E". |
| 24 | [ ] Read the mail thread for the bug. Find out if anyone has | 28 | [ ] Read the mail thread for the bug. Find out if anyone has |
| 25 | been able to reproduce this on the current release. If | 29 | been able to reproduce this on the current release. If |
| 26 | someone has been able to, then your work is finished for this | 30 | someone has been able to, then your work is finished for this |
| @@ -81,13 +85,13 @@ the ones that are not reproducible on the current release. | |||
| 81 | * New bug triage process | 85 | * New bug triage process |
| 82 | 86 | ||
| 83 | The goal of the new bug triage process is similar to the backlog triage process, | 87 | The goal of the new bug triage process is similar to the backlog triage process, |
| 84 | except that the focus is on prioritizing the bug, and making sure it is has | 88 | except that the focus is on prioritizing the bug, and making sure it has |
| 85 | necessary information for others to act on. | 89 | necessary information for others to act on. |
| 86 | 90 | ||
| 87 | For each new bug, ask the following questions: | 91 | For each new bug, ask the following questions: |
| 88 | 92 | ||
| 89 | 1. Is the bug report written in a way to be easy to reproduce (starts from | 93 | 1. Is the bug report written in a way to be easy to reproduce (starts from |
| 90 | emacs -Q, etc.)? If not, ask the reporter to try and reproduce it on an | 94 | "emacs -Q", etc.)? If not, ask the reporter to try and reproduce it on an |
| 91 | emacs without customization. | 95 | emacs without customization. |
| 92 | 2. Is the bug report written against the latest emacs? If not, try to | 96 | 2. Is the bug report written against the latest emacs? If not, try to |
| 93 | reproduce on the latest version, and if it can't be reproduced, ask the | 97 | reproduce on the latest version, and if it can't be reproduced, ask the |
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker index dfca809dc46..deb06f552cc 100644 --- a/admin/notes/bugtracker +++ b/admin/notes/bugtracker | |||
| @@ -8,9 +8,13 @@ This is 95% of all you will ever need to know. | |||
| 8 | 8 | ||
| 9 | ** How do I report a bug? | 9 | ** How do I report a bug? |
| 10 | Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org. | 10 | Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org. |
| 11 | If you want to Cc someone, use an "X-Debbugs-CC" header (or | 11 | If you want to Cc someone, use an "X-Debbugs-Cc" header (or |
| 12 | pseudo-header, see below) instead. | 12 | pseudo-header, see below) instead. |
| 13 | 13 | ||
| 14 | ** How do I read a bug? | ||
| 15 | Visit https://debbugs.gnu.org/123 in your web browser or try this in | ||
| 16 | Emacs: M-x gnus-read-ephemeral-emacs-bug-group. | ||
| 17 | |||
| 14 | ** How do I comment on a bug? | 18 | ** How do I comment on a bug? |
| 15 | Reply to a mail on the bug-gnu-emacs list in the normal way. | 19 | Reply to a mail on the bug-gnu-emacs list in the normal way. |
| 16 | Or send a mail to 123@debbugs.gnu.org. | 20 | Or send a mail to 123@debbugs.gnu.org. |
| @@ -29,7 +33,7 @@ By mailing commands to control@debbugs.gnu.org. Place commands at the | |||
| 29 | start of the message body, one per line. | 33 | start of the message body, one per line. |
| 30 | 34 | ||
| 31 | severity 123 serious|important|normal|minor|wishlist | 35 | severity 123 serious|important|normal|minor|wishlist |
| 32 | tags 123 moreinfo|unreproducible|wontfix|patch | 36 | tags 123 moreinfo|unreproducible|wontfix|patch|notabug |
| 33 | 37 | ||
| 34 | * More detailed information | 38 | * More detailed information |
| 35 | 39 | ||
| @@ -53,7 +57,7 @@ i) Your report will be assigned a number and generate an automatic reply. | |||
| 53 | ii) Optionally, you can set some database parameters when you first | 57 | ii) Optionally, you can set some database parameters when you first |
| 54 | report a bug (see "Setting bug parameters" below). | 58 | report a bug (see "Setting bug parameters" below). |
| 55 | 59 | ||
| 56 | iii) If you want to CC: someone, use X-Debbugs-CC: (note this only | 60 | iii) If you want to Cc someone, use X-Debbugs-Cc: (note this only |
| 57 | applies to _new_ reports, not followups). | 61 | applies to _new_ reports, not followups). |
| 58 | 62 | ||
| 59 | Once your report is filed and assigned a number, it is sent out to the | 63 | Once your report is filed and assigned a number, it is sent out to the |
| @@ -64,15 +68,15 @@ quiet@debbugs.gnu.org. | |||
| 64 | ** How do I reply to an existing bug report? | 68 | ** How do I reply to an existing bug report? |
| 65 | Reply to 123@debbugs.gnu.org, replacing 123 with the number | 69 | Reply to 123@debbugs.gnu.org, replacing 123 with the number |
| 66 | of the bug you are interested in. NB this only sends mail to the | 70 | of the bug you are interested in. NB this only sends mail to the |
| 67 | bug-list, it does NOT send a CC to the original bug submitter. | 71 | bug-list, it does NOT send a Cc to the original bug submitter. |
| 68 | So you need to explicitly CC him/her (and anyone else you like). | 72 | So you need to explicitly Cc him/her (and anyone else you like). |
| 69 | (This works the same way as all the Emacs mailing lists. We generally | 73 | (This works the same way as all the Emacs mailing lists. We generally |
| 70 | don't assume anyone who posts to a list is subscribed to it, so we | 74 | don't assume anyone who posts to a list is subscribed to it, so we |
| 71 | cc everyone on replies.) | 75 | cc everyone on replies.) |
| 72 | 76 | ||
| 73 | (Many people think the submitter SHOULD be automatically subscribed | 77 | (Many people think the submitter SHOULD be automatically subscribed |
| 74 | to subsequent discussion, but this does not seem to be implemented. | 78 | to subsequent discussion, but this does not seem to be implemented. |
| 75 | See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=37078 | 79 | See https://bugs.debian.org/37078 |
| 76 | See also https://debbugs.gnu.org/5439 ) | 80 | See also https://debbugs.gnu.org/5439 ) |
| 77 | 81 | ||
| 78 | Do NOT send a separate copy to the bug list address, since this may | 82 | Do NOT send a separate copy to the bug list address, since this may |
| @@ -80,7 +84,7 @@ generate a new report. The only time to send mail to the bug list | |||
| 80 | address is to create a new report. | 84 | address is to create a new report. |
| 81 | 85 | ||
| 82 | Gnus users can add the following to message-dont-reply-to-names; | 86 | Gnus users can add the following to message-dont-reply-to-names; |
| 83 | similarly with Rmail and rmail-dont-reply-to-names: | 87 | similarly with Rmail and mail-dont-reply-to-names: |
| 84 | 88 | ||
| 85 | "\\(emacs-pretest-bug\\|bug-gnu-emacs\\|bug-\\(e\\|gnu\\)macs\\)@gnu\\.org\\|\ | 89 | "\\(emacs-pretest-bug\\|bug-gnu-emacs\\|bug-\\(e\\|gnu\\)macs\\)@gnu\\.org\\|\ |
| 86 | \\(submit\\|control\\|owner\\)@debbugs\\.gnu\\.org" | 90 | \\(submit\\|control\\|owner\\)@debbugs\\.gnu\\.org" |
| @@ -95,20 +99,23 @@ normal bug reporting.) | |||
| 95 | 99 | ||
| 96 | ** When reporting a new bug, to send a Cc to another address | 100 | ** When reporting a new bug, to send a Cc to another address |
| 97 | (e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header. | 101 | (e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header. |
| 98 | Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a | 102 | Instead, use "X-Debbugs-Cc:". This ensures the Cc address(es) will get a |
| 99 | mail with the bug report number in. If you do not do this, each reply | 103 | mail with the bug report number in. If you do not do this, each reply |
| 100 | in the subsequent discussion might end up creating a new bug. | 104 | in the subsequent discussion might end up creating a new bug. |
| 101 | This is annoying. (So annoying that a form of message-id tracking has | 105 | This is annoying. (So annoying that a form of message-id tracking has |
| 102 | been implemented to hopefully stop this happening, but it is still | 106 | been implemented to hopefully stop this happening, but it is still |
| 103 | better to use X-Debbugs-CC.) | 107 | better to use X-Debbugs-Cc.) |
| 108 | |||
| 109 | If you want to send copies to more than one address, add them | ||
| 110 | comma-separated in only one X-Debbugs-Cc line. | ||
| 104 | 111 | ||
| 105 | Like any X-Debbugs- header, this one can also be specified in the | 112 | Like any X-Debbugs- header, this one can also be specified in the |
| 106 | pseudo-header (see below), if your mail client does not let you add | 113 | pseudo-header (see below), if your mail client does not let you add |
| 107 | "X-" headers. | 114 | "X-" headers. |
| 108 | 115 | ||
| 109 | If a new report contains X-Debbugs-CC in the input, this is | 116 | If a new report contains X-Debbugs-Cc in the input, this is |
| 110 | converted to a real Cc header in the output. (See Bug#1780,5384) | 117 | converted to a real Cc header in the output. (See Bug#1780,5384) |
| 111 | It is also merged into the Resent-CC header (see below). | 118 | It is also merged into the Resent-Cc header (see below). |
| 112 | 119 | ||
| 113 | ** How does Debbugs send out mails? | 120 | ** How does Debbugs send out mails? |
| 114 | 121 | ||
| @@ -117,15 +124,15 @@ header is unchanged. In new reports only (at present), the To: | |||
| 117 | address is altered as follows. Any "bug-gnu-emacs", | 124 | address is altered as follows. Any "bug-gnu-emacs", |
| 118 | "emacs-pretest-bug", or "submit@debbugs" address is replaced by | 125 | "emacs-pretest-bug", or "submit@debbugs" address is replaced by |
| 119 | 123@debbugs in the mail that gets sent out. (This also applies to any | 126 | 123@debbugs in the mail that gets sent out. (This also applies to any |
| 120 | Cc: header, though you should be using X-Debbugs-CC instead in new | 127 | Cc: header, though you should be using X-Debbugs-Cc instead in new |
| 121 | reports). The original header is stored as X-Debbugs-Original-To, if | 128 | reports). The original header is stored as X-Debbugs-Original-To, if |
| 122 | it was changed. Any X-Debbugs-CC is merged into the Cc. | 129 | it was changed. Any X-Debbugs-Cc is merged into the Cc. |
| 123 | 130 | ||
| 124 | Mails arriving at the bug list have the following Resent-* headers: | 131 | Mails arriving at the bug list have the following Resent-* headers: |
| 125 | 132 | ||
| 126 | Resent-From: person who submitted the bug | 133 | Resent-From: person who submitted the bug |
| 127 | Resent-To: owner@debbugs.gnu.org | 134 | Resent-To: owner@debbugs.gnu.org |
| 128 | Resent-CC: maintainer email address, plus any X-Debbugs-CC: entries | 135 | Resent-Cc: maintainer email address, plus any X-Debbugs-Cc: entries |
| 129 | 136 | ||
| 130 | The "maintainer email address" is "bug-gnu-emacs@gnu.org" in most cases. | 137 | The "maintainer email address" is "bug-gnu-emacs@gnu.org" in most cases. |
| 131 | 138 | ||
| @@ -148,7 +155,7 @@ Package: emacs | |||
| 148 | Version: 23.0.60 | 155 | Version: 23.0.60 |
| 149 | Severity: minor | 156 | Severity: minor |
| 150 | 157 | ||
| 151 | Remember to fix FOO, as discussed on emacs-devel at http://... . | 158 | Remember to fix FOO, as discussed on emacs-devel at https://... . |
| 152 | 159 | ||
| 153 | ** Not interested in tracker control messages (tags being set, etc)? | 160 | ** Not interested in tracker control messages (tags being set, etc)? |
| 154 | Discard mails matching: | 161 | Discard mails matching: |
| @@ -178,7 +185,7 @@ Basically, reply only to the numbered bug address (and any individual | |||
| 178 | people's addresses). Do not send mail direct to bug-gnu-emacs or | 185 | people's addresses). Do not send mail direct to bug-gnu-emacs or |
| 179 | emacs-pretest-bug unless you are reporting a new bug. | 186 | emacs-pretest-bug unless you are reporting a new bug. |
| 180 | 187 | ||
| 181 | ** To close bug #123 (for example), send mail | 188 | ** To close bug#123 (for example), send mail |
| 182 | 189 | ||
| 183 | To: 123-done@debbugs.gnu.org | 190 | To: 123-done@debbugs.gnu.org |
| 184 | 191 | ||
| @@ -236,23 +243,31 @@ The control server ignores anything after the last line above. So you | |||
| 236 | can place control commands at the beginning of a reply to a bug | 243 | can place control commands at the beginning of a reply to a bug |
| 237 | report, and Bcc: the control server (note the commands have no effect | 244 | report, and Bcc: the control server (note the commands have no effect |
| 238 | if you just send them to the bug-report number). Bcc: is better than Cc: | 245 | if you just send them to the bug-report number). Bcc: is better than Cc: |
| 239 | in case people use Reply-to-All in response. | 246 | in case people use Reply-To-All in response. |
| 247 | |||
| 248 | For the full documentation of control commands, see | ||
| 249 | https://debbugs.gnu.org/server-control.html | ||
| 240 | 250 | ||
| 241 | Some useful control commands: | 251 | Some useful control commands: |
| 242 | 252 | ||
| 253 | *** To close a bug and indicate in what Emacs version it was fixed | ||
| 254 | close 123 VERSION | ||
| 255 | |||
| 256 | where VERSION is XX.YY numerical version number, like 42.1. | ||
| 257 | |||
| 243 | *** To reopen a closed bug: | 258 | *** To reopen a closed bug: |
| 244 | reopen 123 | 259 | reopen 123 |
| 245 | 260 | ||
| 246 | *** Bugs can be tagged in various ways (eg wontfix, patch, etc). | 261 | *** Bugs can be tagged in various ways (eg wontfix, patch, etc). |
| 247 | The available tags are: | 262 | The available tags are: |
| 248 | patch wontfix moreinfo unreproducible fixed notabug | 263 | patch wontfix moreinfo unreproducible fixed notabug help security confirmed easy |
| 249 | See https://debbugs.gnu.org/Developer#tags | 264 | See https://debbugs.gnu.org/Developer#tags |
| 250 | The list of tags can be prefixed with +, - or =, meaning to add (the | 265 | The list of tags can be prefixed with +, - or =, meaning to add (the |
| 251 | default), remove, or reset the tags. E.g.: | 266 | default), remove, or reset the tags. E.g.: |
| 252 | 267 | ||
| 253 | tags 123 + wontfix | 268 | tags 123 + wontfix |
| 254 | 269 | ||
| 255 | ** URL shortcuts | 270 | *** URL shortcuts |
| 256 | 271 | ||
| 257 | https://debbugs.gnu.org/... | 272 | https://debbugs.gnu.org/... |
| 258 | 273 | ||
| @@ -263,9 +278,9 @@ from:submitter@email.address | |||
| 263 | severity:severity # all bugs of given severity | 278 | severity:severity # all bugs of given severity |
| 264 | tag:tag # all bugs with given tag | 279 | tag:tag # all bugs with given tag |
| 265 | 280 | ||
| 266 | ** Usertags | 281 | *** Usertags |
| 267 | 282 | ||
| 268 | See <http://wiki.debian.org/bugs.debian.org/usertags> | 283 | See <https://wiki.debian.org/bugs.debian.org/usertags> |
| 269 | 284 | ||
| 270 | "Usertags" are very similar to tags: a set of labels that can be added | 285 | "Usertags" are very similar to tags: a set of labels that can be added |
| 271 | to a bug. There are two differences between normal tags and user tags: | 286 | to a bug. There are two differences between normal tags and user tags: |
| @@ -275,10 +290,9 @@ limited, predefined set of normal tags are available (see above). | |||
| 275 | 290 | ||
| 276 | 2) A usertag is associated with a specific user. This is normally | 291 | 2) A usertag is associated with a specific user. This is normally |
| 277 | an email address (with an "@" sign and least 4 characters after the "@"), | 292 | an email address (with an "@" sign and least 4 characters after the "@"), |
| 278 | but on debbugs.gnu.org, the definition is less strict - anything with | 293 | but on debbugs.gnu.org, it can also be a package name. For personal tags, |
| 279 | 5 or more alphanumeric characters will work. For personal tags, | ||
| 280 | using an email address is still recommended. Please only use the | 294 | using an email address is still recommended. Please only use the |
| 281 | "emacs" user, or other short users, for "official" tags. | 295 | "emacs" user for "official" tags. |
| 282 | 296 | ||
| 283 | You set usertags in the same way as tags, by talking to the control server. | 297 | You set usertags in the same way as tags, by talking to the control server. |
| 284 | One difference is that you can also specify the associated user. | 298 | One difference is that you can also specify the associated user. |
| @@ -292,7 +306,7 @@ a) In a control message: | |||
| 292 | user emacs # or email@example.com | 306 | user emacs # or email@example.com |
| 293 | usertags 1234 any-tag-you-like | 307 | usertags 1234 any-tag-you-like |
| 294 | 308 | ||
| 295 | This will add a usertag "any-tag-you-like" to bug 1234. The tag will | 309 | This will add a usertag "any-tag-you-like" to bug#1234. The tag will |
| 296 | be associated with the user "emacs". If you omit the first line, | 310 | be associated with the user "emacs". If you omit the first line, |
| 297 | the tag will be associated with your email address. | 311 | the tag will be associated with your email address. |
| 298 | 312 | ||
| @@ -370,7 +384,7 @@ will be assigned proper numbers). | |||
| 370 | NB you cannot clone a merged bug. You'd think that trying to do so | 384 | NB you cannot clone a merged bug. You'd think that trying to do so |
| 371 | would just give you an unmerged copy of the specified bug number, but no: | 385 | would just give you an unmerged copy of the specified bug number, but no: |
| 372 | 386 | ||
| 373 | http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474742 | 387 | https://bugs.debian.org/474742 |
| 374 | 388 | ||
| 375 | You must unmerge, clone, then re-merge. | 389 | You must unmerge, clone, then re-merge. |
| 376 | 390 | ||
| @@ -407,21 +421,21 @@ reassign 1234 emacs | |||
| 407 | Note that reassigning clears the list of found versions, even if the | 421 | Note that reassigning clears the list of found versions, even if the |
| 408 | new packages includes the original one. | 422 | new packages includes the original one. |
| 409 | 423 | ||
| 410 | ** To remove spam from the tracker, move it to the 'spam' pseudo-package: | 424 | *** To remove spam from the tracker, move it to the 'spam' pseudo-package: |
| 411 | reassign 123 spam | 425 | reassign 123 spam |
| 412 | 426 | ||
| 413 | (Should not be necessary any more, now that the input is moderated.) | 427 | (Should not be necessary any more, now that the input is moderated.) |
| 414 | 428 | ||
| 415 | ** To change the title of a bug: | 429 | *** To change the title of a bug: |
| 416 | retitle 123 Some New Title | 430 | retitle 123 Some New Title |
| 417 | 431 | ||
| 418 | ** To change the submitter address: | 432 | *** To change the submitter address: |
| 419 | submitter 123 none@example.com | 433 | submitter 123 none@example.com |
| 420 | 434 | ||
| 421 | Note that it does not seem to work to specify "Submitter:" in the | 435 | Note that it does not seem to work to specify "Submitter:" in the |
| 422 | pseudo-header when first reporting a bug. | 436 | pseudo-header when first reporting a bug. |
| 423 | 437 | ||
| 424 | ** How does archiving work? | 438 | *** How does archiving work? |
| 425 | You can still send mail to a bug after it is closed. After 28 days with | 439 | You can still send mail to a bug after it is closed. After 28 days with |
| 426 | no activity, the bug is archived, at which point no more changes can | 440 | no activity, the bug is archived, at which point no more changes can |
| 427 | be made. If you try to send mail to the bug after that (or merge with | 441 | be made. If you try to send mail to the bug after that (or merge with |
| @@ -484,7 +498,7 @@ the bug web-pages. | |||
| 484 | 498 | ||
| 485 | *** Debian stuff | 499 | *** Debian stuff |
| 486 | 500 | ||
| 487 | https://lists.gnu.org/archive/html/emacs-devel/2009-11/msg00440.html | 501 | https://lists.gnu.org/r/emacs-devel/2009-11/msg00440.html |
| 488 | 502 | ||
| 489 | ** Gnus-specific voodoo | 503 | ** Gnus-specific voodoo |
| 490 | 504 | ||
| @@ -507,8 +521,8 @@ reference, you don't need to read these as a user of the system. | |||
| 507 | Getting mail from the Emacs bug list into the tracker requires the | 521 | Getting mail from the Emacs bug list into the tracker requires the |
| 508 | assistance of sysadmin at gnu.org. The test tracker set-up was, I | 522 | assistance of sysadmin at gnu.org. The test tracker set-up was, I |
| 509 | think, [gnu.org #359140]: | 523 | think, [gnu.org #359140]: |
| 510 | https://lists.gnu.org/archive/html/savannah-hackers/2008-03/msg00074.html | 524 | https://lists.gnu.org/r/savannah-hackers/2008-03/msg00074.html |
| 511 | https://lists.gnu.org/archive/html/savannah-hackers/2008-04/msg00034.html | 525 | https://lists.gnu.org/r/savannah-hackers/2008-04/msg00034.html |
| 512 | 526 | ||
| 513 | ** The debbugs.gnu.org setup was handled in [gnu.org #510605]. | 527 | ** The debbugs.gnu.org setup was handled in [gnu.org #510605]. |
| 514 | There are two pieces (replace AT with @ in the following): | 528 | There are two pieces (replace AT with @ in the following): |
| @@ -552,7 +566,7 @@ https://savannah.nongnu.org/projects/listhelper | |||
| 552 | 566 | ||
| 553 | An "X-Debbugs-Envelope-To" header is used to keep track of where the | 567 | An "X-Debbugs-Envelope-To" header is used to keep track of where the |
| 554 | mail was actually bound for: | 568 | mail was actually bound for: |
| 555 | https://lists.gnu.org/archive/html/emacs-devel/2009-11/msg01211.html | 569 | https://lists.gnu.org/r/emacs-devel/2009-11/msg01211.html |
| 556 | 570 | ||
| 557 | ** Mailing list recipient/sender filters. | 571 | ** Mailing list recipient/sender filters. |
| 558 | The following mailman filters are useful to stop messages being | 572 | The following mailman filters are useful to stop messages being |
diff --git a/admin/notes/copyright b/admin/notes/copyright index f4c8b847a57..6f7cb153345 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | Copyright (C) 2007-2017 Free Software Foundation, Inc. | 1 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 2 | See the end of the file for license conditions. | 2 | See the end of the file for license conditions. |
| 3 | 3 | ||
| 4 | 4 | ||
| @@ -86,7 +86,7 @@ in a README file in each directory with images. (Legal advice says | |||
| 86 | that we need not add notices to each image file individually, if they | 86 | that we need not add notices to each image file individually, if they |
| 87 | allow for that.). It is recommended to use the word "convert" to | 87 | allow for that.). It is recommended to use the word "convert" to |
| 88 | describe the automatic process of changing an image from one format to | 88 | describe the automatic process of changing an image from one format to |
| 89 | another (https://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00618.html). | 89 | another (https://lists.gnu.org/r/emacs-devel/2007-02/msg00618.html). |
| 90 | 90 | ||
| 91 | 91 | ||
| 92 | When installing a file with an "unusual" license (after checking first | 92 | When installing a file with an "unusual" license (after checking first |
| @@ -159,10 +159,7 @@ etc/future-bug | |||
| 159 | 159 | ||
| 160 | etc/letter.pbm,letter.xpm | 160 | etc/letter.pbm,letter.xpm |
| 161 | - trivial, no notice needed. | 161 | - trivial, no notice needed. |
| 162 | <https://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00324.html> | 162 | <https://lists.gnu.org/r/emacs-devel/2007-02/msg00324.html> |
| 163 | |||
| 164 | etc/FTP, ORDERS | ||
| 165 | - trivial (at time of writing), no license needed | ||
| 166 | 163 | ||
| 167 | etc/HELLO | 164 | etc/HELLO |
| 168 | standard notices. Just a note that although the file itself is not | 165 | standard notices. Just a note that although the file itself is not |
| @@ -196,14 +193,14 @@ lib-src/etags.c | |||
| 196 | After some investigation in Feb 2007, then to the best of our | 193 | After some investigation in Feb 2007, then to the best of our |
| 197 | knowledge we believe that the original 1984 Emacs version was based | 194 | knowledge we believe that the original 1984 Emacs version was based |
| 198 | on the version in BSD4.2. See for example this 1985 post from Ken Arnold: | 195 | on the version in BSD4.2. See for example this 1985 post from Ken Arnold: |
| 199 | <http://groups.google.com/group/mod.sources/browse_thread/thread/ffe5c55845a640a9> | 196 | <https://groups.google.com/group/mod.sources/browse_thread/thread/ffe5c55845a640a9> |
| 200 | I have received enough requests for the current source to ctags | 197 | I have received enough requests for the current source to ctags |
| 201 | to post it. Here is the latest version (what will go out with | 198 | to post it. Here is the latest version (what will go out with |
| 202 | 4.3, modulo any bugs fixed during the beta period). It is the | 199 | 4.3, modulo any bugs fixed during the beta period). It is the |
| 203 | 4.2 ctags with recognition of yacc and lex tags added. | 200 | 4.2 ctags with recognition of yacc and lex tags added. |
| 204 | 201 | ||
| 205 | See also a 1984 version of ctags (no copyright) posted to net.sources: | 202 | See also a 1984 version of ctags (no copyright) posted to net.sources: |
| 206 | <http://groups.google.com/group/net.sources/msg/a21b6c21be12a98d> | 203 | <https://groups.google.com/group/net.sources/msg/a21b6c21be12a98d> |
| 207 | Version of etags.c in emacs-16.56 duplicates comment typos. | 204 | Version of etags.c in emacs-16.56 duplicates comment typos. |
| 208 | 205 | ||
| 209 | Accordingly, in Feb 2007 we added a 1984 copyright for the | 206 | Accordingly, in Feb 2007 we added a 1984 copyright for the |
| @@ -214,7 +211,7 @@ lib-src/etags.c | |||
| 214 | from a legal point of view. | 211 | from a legal point of view. |
| 215 | 212 | ||
| 216 | lisp/cedet/semantic/imenu.el | 213 | lisp/cedet/semantic/imenu.el |
| 217 | - See https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00410.html | 214 | - See https://lists.gnu.org/r/emacs-devel/2010-03/msg00410.html |
| 218 | in which Eric Ludlam established that the remaining contributions | 215 | in which Eric Ludlam established that the remaining contributions |
| 219 | from authors other than himself were negligible. | 216 | from authors other than himself were negligible. |
| 220 | 217 | ||
| @@ -223,7 +220,7 @@ lisp/play/tetris.el | |||
| 223 | (2007/1) there is no problem with our use of the name "tetris" or | 220 | (2007/1) there is no problem with our use of the name "tetris" or |
| 224 | the concept. | 221 | the concept. |
| 225 | rms: "My understanding is that game rules as such are not copyrightable." | 222 | rms: "My understanding is that game rules as such are not copyrightable." |
| 226 | <https://lists.gnu.org/archive/html/emacs-devel/2007-01/msg00960.html> | 223 | <https://lists.gnu.org/r/emacs-devel/2007-01/msg00960.html> |
| 227 | rms: Legal advice is that we are ok and need not worry about this. | 224 | rms: Legal advice is that we are ok and need not worry about this. |
| 228 | 225 | ||
| 229 | 226 | ||
| @@ -307,8 +304,8 @@ doc/*/*.texi - All manuals should be under GFDL (but see below), and | |||
| 307 | should include a copy of it, so that they can be distributed | 304 | should include a copy of it, so that they can be distributed |
| 308 | separately. faq.texi has a different license, for some reason no-one | 305 | separately. faq.texi has a different license, for some reason no-one |
| 309 | can remember. | 306 | can remember. |
| 310 | https://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00583.html | 307 | https://lists.gnu.org/r/emacs-devel/2007-04/msg00583.html |
| 311 | https://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00618.html | 308 | https://lists.gnu.org/r/emacs-devel/2007-04/msg00618.html |
| 312 | 309 | ||
| 313 | doc/misc/mh-e.texi is dual-licensed (GPL and GFDL) per agreement with | 310 | doc/misc/mh-e.texi is dual-licensed (GPL and GFDL) per agreement with |
| 314 | FSF (reconfirmed by rms Aug 25 2008). Discussion with | 311 | FSF (reconfirmed by rms Aug 25 2008). Discussion with |
| @@ -353,9 +350,7 @@ added or not, rms says (2007-02-25, "oldXmenu issues"): | |||
| 353 | insque.c had no copyright notice until 2005. The version of insque.c | 350 | insque.c had no copyright notice until 2005. The version of insque.c |
| 354 | added to Emacs 1992-01-27 is essentially the same as insremque.c added | 351 | added to Emacs 1992-01-27 is essentially the same as insremque.c added |
| 355 | to glic three days later by Roland McGrath, with an FSF copyright and | 352 | to glic three days later by Roland McGrath, with an FSF copyright and |
| 356 | GPL, but no ChangeLog entry: | 353 | GPL, but no ChangeLog entry. |
| 357 | <http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/misc/insremque.c?\ | ||
| 358 | rev=1.1&cvsroot=glibc> | ||
| 359 | To the best of his recollection, McGrath (who has a copyright | 354 | To the best of his recollection, McGrath (who has a copyright |
| 360 | assignment) was the author of this file (email from roland at frob.com | 355 | assignment) was the author of this file (email from roland at frob.com |
| 361 | to rms, 2007-02-23, "Where did insque.c come from?"). The FSF | 356 | to rms, 2007-02-23, "Where did insque.c come from?"). The FSF |
| @@ -397,7 +392,7 @@ lisp/term/README | |||
| 397 | Accordingly, FSF copyright was added. | 392 | Accordingly, FSF copyright was added. |
| 398 | 393 | ||
| 399 | src/unexhp9k800.c | 394 | src/unexhp9k800.c |
| 400 | https://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00138.html | 395 | https://lists.gnu.org/r/emacs-devel/2007-02/msg00138.html |
| 401 | - briefly removed due to legal uncertainly Jan-Mar 2007. The | 396 | - briefly removed due to legal uncertainly Jan-Mar 2007. The |
| 402 | relevant assignment is under "hp9k800" in copyright.list. File was | 397 | relevant assignment is under "hp9k800" in copyright.list. File was |
| 403 | written by John V. Morris at HP, and disclaimed by the author and | 398 | written by John V. Morris at HP, and disclaimed by the author and |
| @@ -406,10 +401,10 @@ src/unexhp9k800.c | |||
| 406 | 401 | ||
| 407 | lisp/progmodes/python.el | 402 | lisp/progmodes/python.el |
| 408 | Dave Love alerted us to a potential legal problem: | 403 | Dave Love alerted us to a potential legal problem: |
| 409 | https://lists.gnu.org/archive/html/emacs-pretest-bug/2007-04/msg00459.html | 404 | https://lists.gnu.org/r/emacs-pretest-bug/2007-04/msg00459.html |
| 410 | 405 | ||
| 411 | On consultation with a lawyer, we found there was no problem: | 406 | On consultation with a lawyer, we found there was no problem: |
| 412 | https://lists.gnu.org/archive/html/emacs-devel/2007-05/msg00466.html | 407 | https://lists.gnu.org/r/emacs-devel/2007-05/msg00466.html |
| 413 | 408 | ||
| 414 | 409 | ||
| 415 | ** Issues that are "fixed" for the release of Emacs 22, but we may | 410 | ** Issues that are "fixed" for the release of Emacs 22, but we may |
| @@ -527,7 +522,7 @@ None known. | |||
| 527 | The EMACS_22_BASE branch was changed to GPLv3 (or later) 2007/07/25. | 522 | The EMACS_22_BASE branch was changed to GPLv3 (or later) 2007/07/25. |
| 528 | 523 | ||
| 529 | Some notes: | 524 | Some notes: |
| 530 | (see https://lists.gnu.org/archive/html/emacs-devel/2007-07/msg01431.html) | 525 | (see https://lists.gnu.org/r/emacs-devel/2007-07/msg01431.html) |
| 531 | 526 | ||
| 532 | 1. There are some files in the Emacs tree which are not part of Emacs (eg | 527 | 1. There are some files in the Emacs tree which are not part of Emacs (eg |
| 533 | those included from Gnulib). These are all copyright FSF and (at time | 528 | those included from Gnulib). These are all copyright FSF and (at time |
diff --git a/admin/notes/documentation b/admin/notes/documentation index fc9c720bd08..d894175e212 100644 --- a/admin/notes/documentation +++ b/admin/notes/documentation | |||
| @@ -5,7 +5,7 @@ Some documentation tips culled from emacs-devel postings. | |||
| 5 | 5 | ||
| 6 | ** Manual indices | 6 | ** Manual indices |
| 7 | 7 | ||
| 8 | https://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00400.html | 8 | https://lists.gnu.org/r/emacs-devel/2008-10/msg00400.html |
| 9 | 9 | ||
| 10 | For example, this text: | 10 | For example, this text: |
| 11 | 11 | ||
| @@ -51,7 +51,7 @@ combine them into a single entry, e.g.: | |||
| 51 | 51 | ||
| 52 | ** Point is a proper name | 52 | ** Point is a proper name |
| 53 | 53 | ||
| 54 | https://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00414.html | 54 | https://lists.gnu.org/r/emacs-devel/2008-10/msg00414.html |
| 55 | 55 | ||
| 56 | In Emacs tradition, we treat "point" as a proper name when it refers | 56 | In Emacs tradition, we treat "point" as a proper name when it refers |
| 57 | to the current editing location. It should not have an article. | 57 | to the current editing location. It should not have an article. |
| @@ -65,7 +65,7 @@ referring to point, please fix it. | |||
| 65 | 65 | ||
| 66 | ** Don't use passive verbs | 66 | ** Don't use passive verbs |
| 67 | 67 | ||
| 68 | https://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00414.html | 68 | https://lists.gnu.org/r/emacs-devel/2008-10/msg00414.html |
| 69 | 69 | ||
| 70 | Documentation is clearer if it avoids the passive voice whenever | 70 | Documentation is clearer if it avoids the passive voice whenever |
| 71 | possible. For example, rather than saying "Point does not move", say | 71 | possible. For example, rather than saying "Point does not move", say |
| @@ -80,7 +80,7 @@ often provides important information which makes the text clearer, too. | |||
| 80 | 80 | ||
| 81 | *** Why Antinews is useful | 81 | *** Why Antinews is useful |
| 82 | 82 | ||
| 83 | https://lists.gnu.org/archive/html/emacs-devel/2008-11/msg00893.html | 83 | https://lists.gnu.org/r/emacs-devel/2008-11/msg00893.html |
| 84 | 84 | ||
| 85 | The usefulness of Antinews is to help people who buy the printed | 85 | The usefulness of Antinews is to help people who buy the printed |
| 86 | manual and are still using the previous Emacs version. That's why we | 86 | manual and are still using the previous Emacs version. That's why we |
| @@ -91,7 +91,7 @@ Of course, we try to make it amusing as well. | |||
| 91 | 91 | ||
| 92 | *** Don't mention in Antinews too many features absent in old versions | 92 | *** Don't mention in Antinews too many features absent in old versions |
| 93 | 93 | ||
| 94 | https://lists.gnu.org/archive/html/emacs-devel/2008-11/msg01054.html | 94 | https://lists.gnu.org/r/emacs-devel/2008-11/msg01054.html |
| 95 | 95 | ||
| 96 | Since the purpose of Antinews is to help people use the previous Emacs | 96 | Since the purpose of Antinews is to help people use the previous Emacs |
| 97 | version, there is usually no need to mention features that are simply | 97 | version, there is usually no need to mention features that are simply |
| @@ -114,4 +114,4 @@ In those cases, the user might have trouble figuring out how to use | |||
| 114 | the old version without some sort of help. | 114 | the old version without some sort of help. |
| 115 | 115 | ||
| 116 | ** To indicate possession, write Emacs's rather than Emacs'. | 116 | ** To indicate possession, write Emacs's rather than Emacs'. |
| 117 | https://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00649.html | 117 | https://lists.gnu.org/r/emacs-devel/2012-02/msg00649.html |
diff --git a/admin/notes/elpa b/admin/notes/elpa index ea6c132fe19..1e9e7a9f52b 100644 --- a/admin/notes/elpa +++ b/admin/notes/elpa | |||
| @@ -5,17 +5,31 @@ repository named "elpa", hosted on Savannah. To check it out: | |||
| 5 | 5 | ||
| 6 | git clone git://git.sv.gnu.org/emacs/elpa | 6 | git clone git://git.sv.gnu.org/emacs/elpa |
| 7 | cd elpa | 7 | cd elpa |
| 8 | git remote set-url --push origin git+ssh://git.sv.gnu.org/srv/git/emacs/elpa | 8 | make setup |
| 9 | [create task branch for edits, etc.] | ||
| 10 | 9 | ||
| 11 | Changes to this branch propagate to elpa.gnu.org via a "deployment" script run | 10 | That leaves the elpa/packages directory empty; you must check out the |
| 12 | daily. This script (which is kept in elpa/admin/update-archive.sh) generates | 11 | ones you want. |
| 13 | the content visible at https://elpa.gnu.org/packages. | ||
| 14 | 12 | ||
| 15 | A new package is released as soon as the "version number" of that package is | 13 | If you wish to check out all the packages into the packages directory, |
| 16 | changed. So you can use 'elpa' to work on a package without fear of releasing | 14 | you can run the command: |
| 17 | those changes prematurely. And once the code is ready, just bump the | 15 | |
| 18 | version number to make a new release of the package. | 16 | make worktrees |
| 17 | |||
| 18 | You can check out a specific package <pkgname> into the packages | ||
| 19 | directory with: | ||
| 20 | |||
| 21 | make packages/<pkgname> | ||
| 22 | |||
| 23 | |||
| 24 | Changes to this repository propagate to elpa.gnu.org via a | ||
| 25 | "deployment" script run daily. This script generates the content | ||
| 26 | visible at https://elpa.gnu.org/packages. | ||
| 27 | |||
| 28 | A new package is released as soon as the "version number" of that | ||
| 29 | package is changed. So you can use 'elpa' to work on a package | ||
| 30 | without fear of releasing those changes prematurely. And once the | ||
| 31 | code is ready, just bump the version number to make a new release of | ||
| 32 | the package. | ||
| 19 | 33 | ||
| 20 | It is easy to use the elpa branch to deploy a "local" copy of the | 34 | It is easy to use the elpa branch to deploy a "local" copy of the |
| 21 | package archive. For details, see the README file in the elpa branch. | 35 | package archive. For details, see the README file in the elpa branch. |
diff --git a/admin/notes/emba b/admin/notes/emba new file mode 100644 index 00000000000..4c8c27dfeaa --- /dev/null +++ b/admin/notes/emba | |||
| @@ -0,0 +1,100 @@ | |||
| 1 | -*- mode: outline; coding: utf-8 -*- | ||
| 2 | |||
| 3 | Copyright (C) 2019-2022 Free Software Foundation, Inc. | ||
| 4 | See the end of the file for license conditions. | ||
| 5 | |||
| 6 | NOTES FOR EMACS CONTINUOUS BUILD ON EMBA | ||
| 7 | |||
| 8 | A continuous build for Emacs can be found at | ||
| 9 | <https://emba.gnu.org/emacs/emacs>, a Gitlab instance. It watches the | ||
| 10 | Emacs git repository and starts a pipeline (jobset) if there are new | ||
| 11 | changes. This happens for all Emacs branches which belong to the | ||
| 12 | defined workflow (see below). | ||
| 13 | |||
| 14 | * Mail notifications | ||
| 15 | |||
| 16 | In addition to the web interface, emba can send notifications by email | ||
| 17 | when a job fails. It sends notifications about test status to | ||
| 18 | <emacs-buildstatus@gnu.org>. | ||
| 19 | |||
| 20 | If you want to receive these notifications, please subscribe at | ||
| 21 | <https://lists.gnu.org/mailman/listinfo/emacs-buildstatus>. | ||
| 22 | |||
| 23 | Alternatively, these notifications can be read via gmane at | ||
| 24 | <nntp+news.gmane.org:gmane.emacs.buildstatus>. | ||
| 25 | |||
| 26 | The messages contain a URL to the log file of the failed job, like | ||
| 27 | <https://emba.gnu.org/emacs/emacs/-/jobs/739/raw>. | ||
| 28 | |||
| 29 | * Emacs jobset | ||
| 30 | |||
| 31 | The Emacs jobset is defined in the Emacs source tree, file | ||
| 32 | '.gitlab-ci.yml'. All related files are located in directory | ||
| 33 | 'test/infra'. They could be adapted for every Emacs branch, see | ||
| 34 | <https://emba.gnu.org/help/ci/yaml/README.md>. | ||
| 35 | |||
| 36 | Only branches whose name starts with 'master', 'emacs', 'feature', or | ||
| 37 | 'fix' are considered. This is declared in the workflow rules of file | ||
| 38 | 'test/infra/gitlab-ci.yml'. | ||
| 39 | |||
| 40 | A jobset on Gitlab is called a pipeline. Emacs pipelines run through | ||
| 41 | the stages 'build-images', 'platform-images' and 'native-comp-images' | ||
| 42 | (create an Emacs instance by 'make bootstrap' with different | ||
| 43 | configuration parameters) as well as 'normal', 'platforms' and | ||
| 44 | 'native-comp' (run respective test jobs based on the produced images). | ||
| 45 | |||
| 46 | The jobs for stage 'normal' are contained in the file | ||
| 47 | 'test/infra/test-jobs.yml'. This file is generated by calling 'make | ||
| 48 | -C test generate-test-jobs' in the Emacs source tree, and the | ||
| 49 | resulting file should be pushed to the Emacs git repository afterwards. | ||
| 50 | |||
| 51 | Every job runs in a Debian docker container. It uses the local clone | ||
| 52 | of the Emacs git repository to perform a bootstrap and test of Emacs. | ||
| 53 | This could happen for several jobs with changed configuration, compile, | ||
| 54 | and test parameters. | ||
| 55 | |||
| 56 | The 'build-image-*' jobs of the different '*-images' stages run only | ||
| 57 | if there are severe changes in the Emacs sources, like in Makefiles | ||
| 58 | etc. Otherwise they are skipped, and the corresponding 'test-*' jobs | ||
| 59 | run just 'make -C test ...' in the respective Docker image from a | ||
| 60 | previous build run. | ||
| 61 | |||
| 62 | Jobs in the 'build-images' and 'normal' stages are triggered by | ||
| 63 | changes of respective files in the Emacs git repository. All other | ||
| 64 | jobs run scheduled in a pipeline every 8 hours. | ||
| 65 | |||
| 66 | The log files for every test job are kept on the server for a week. | ||
| 67 | They can be downloaded from the server, visiting the URL | ||
| 68 | <https://emba.gnu.org/emacs/emacs/-/pipelines>, and selecting the job | ||
| 69 | in question. | ||
| 70 | |||
| 71 | Every pipeline generates a JUnit test report for the respective test | ||
| 72 | jobs, which can be inspected on the pipeline web page. This test | ||
| 73 | report counts completed ERT tests, aborted tests are not counted. | ||
| 74 | |||
| 75 | * Emba configuration | ||
| 76 | |||
| 77 | The emba configuration files are hosted on | ||
| 78 | <https://gitlab.com/emacs-ci/emba-ansible>. | ||
| 79 | |||
| 80 | * Identifying emba | ||
| 81 | |||
| 82 | Lisp packages, Makefiles, scripts, and other software could determine | ||
| 83 | whether they run on emba by checking for the environment variable | ||
| 84 | EMACS_EMBA_CI. | ||
| 85 | |||
| 86 | |||
| 87 | This file is part of GNU Emacs. | ||
| 88 | |||
| 89 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 90 | it under the terms of the GNU General Public License as published by | ||
| 91 | the Free Software Foundation, either version 3 of the License, or | ||
| 92 | (at your option) any later version. | ||
| 93 | |||
| 94 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 95 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 96 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 97 | GNU General Public License for more details. | ||
| 98 | |||
| 99 | You should have received a copy of the GNU General Public License | ||
| 100 | along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | ||
diff --git a/admin/notes/font-backend b/admin/notes/font-backend deleted file mode 100644 index 65c37a483bc..00000000000 --- a/admin/notes/font-backend +++ /dev/null | |||
| @@ -1,69 +0,0 @@ | |||
| 1 | Copyright (C) 2002-2017 Free Software Foundation, Inc. | ||
| 2 | See the end of the file for license conditions. | ||
| 3 | |||
| 4 | |||
| 5 | New font handling mechanism with font backend method | ||
| 6 | ---------------------------------------------------- | ||
| 7 | |||
| 8 | The new files are: | ||
| 9 | font.h -- header providing font-backend related structures | ||
| 10 | (most important ones are "struct font" and "struct | ||
| 11 | font_driver"), macros, and etc. | ||
| 12 | font.c -- main font handling code. | ||
| 13 | xfont.c -- font-driver on X for X core fonts. | ||
| 14 | ftfont.c -- generic font-driver for FreeType fonts providing | ||
| 15 | device-independent methods of struct font_driver. | ||
| 16 | xftfont.c -- font-driver on X using Xft for FreeType fonts | ||
| 17 | utilizing methods provided by ftfont.c. | ||
| 18 | ftxfont.c -- font-driver on X directly using FreeType fonts | ||
| 19 | utilizing methods provided by ftfont.c. | ||
| 20 | w32font.c -- font driver on w32 using Windows native fonts, | ||
| 21 | corresponding to xfont.c | ||
| 22 | w32uniscribe.c -- font driver on w32, using the uniscribe API | ||
| 23 | to provide complex script support for opentype fonts on | ||
| 24 | Windows 2000 and later, or earlier versions of Windows | ||
| 25 | with uniscribe installed as an add-on. | ||
| 26 | |||
| 27 | So we already have codes for X and w32. For Mac it seems that we need | ||
| 28 | these files: | ||
| 29 | atmfont.c -- font-driver on mac using ATM fonts, corresponding | ||
| 30 | to xfont.c | ||
| 31 | As BDF fonts are currently used on w32, we may also implement these: | ||
| 32 | bdffont.c -- generic font-driver for BDF fonts, corresponding to | ||
| 33 | ftfont.c | ||
| 34 | bdfw32font.c -- font-driver on w32 using BDF fonts, | ||
| 35 | corresponding to ftxfont.c | ||
| 36 | But, as FreeType already supports BDF fonts, if FreeType and | ||
| 37 | Fontconfig are also available on w32, what we need may be: | ||
| 38 | ftw32font.c -- font-driver on w32 directly using FreeType fonts | ||
| 39 | utilizing methods provided by ftfont.c. | ||
| 40 | |||
| 41 | It may be interesting if Emacs supports a frame buffer directly and | ||
| 42 | has these font driver. | ||
| 43 | ftfbfont.c -- font-driver on FB for FreeType fonts. | ||
| 44 | bdffbfont.c -- font-driver on FB for BDF fonts. | ||
| 45 | |||
| 46 | Note: The fontset related codes are not yet matured to work well with | ||
| 47 | the font backend method. So, for instance, even if you start Emacs | ||
| 48 | as something like this: | ||
| 49 | % emacs -fn tahoma | ||
| 50 | Non-ASCII Latin characters will not be displayed by the font "tahoma". | ||
| 51 | In such a case, please try this: | ||
| 52 | |||
| 53 | (set-fontset-font "fontset-default" 'latin '("tahoma" . "unicode-bmp")) | ||
| 54 | |||
| 55 | |||
| 56 | This file is part of GNU Emacs. | ||
| 57 | |||
| 58 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 59 | it under the terms of the GNU General Public License as published by | ||
| 60 | the Free Software Foundation, either version 3 of the License, or | ||
| 61 | (at your option) any later version. | ||
| 62 | |||
| 63 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 64 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 65 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 66 | GNU General Public License for more details. | ||
| 67 | |||
| 68 | You should have received a copy of the GNU General Public License | ||
| 69 | along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | ||
diff --git a/admin/notes/git-workflow b/admin/notes/git-workflow index cb10638af82..265a106bad5 100644 --- a/admin/notes/git-workflow +++ b/admin/notes/git-workflow | |||
| @@ -1,7 +1,3 @@ | |||
| 1 | (This is a draft. The method here won't actually work yet, because | ||
| 2 | neither git-new-workdir nor merge-changelog are in the Emacs | ||
| 3 | distribution yet.) | ||
| 4 | |||
| 5 | Setting up and using git for normal, simple bugfixing | 1 | Setting up and using git for normal, simple bugfixing |
| 6 | ===================================================== | 2 | ===================================================== |
| 7 | 3 | ||
| @@ -12,22 +8,22 @@ git config --global user.email "fchu@example.com" | |||
| 12 | git config --global transfer.fsckObjects true | 8 | git config --global transfer.fsckObjects true |
| 13 | 9 | ||
| 14 | (See the thread "Recommend these .gitconfig settings for git integrity." | 10 | (See the thread "Recommend these .gitconfig settings for git integrity." |
| 15 | [https://lists.gnu.org/archive/html/emacs-devel/2016-01/threads.html#01802] | 11 | [https://lists.gnu.org/r/emacs-devel/2016-01/threads.html#01802] |
| 16 | for more details about why that last line is there.) | 12 | for more details about why that last line is there.) |
| 17 | 13 | ||
| 18 | Initial setup | 14 | Initial setup |
| 19 | ============= | 15 | ============= |
| 20 | 16 | ||
| 21 | Then we want to clone the repository. We normally want to have both | 17 | Then we want to clone the repository. We normally want to have both |
| 22 | the current master and the emacs-26 branch. | 18 | the current master and (if there is one) the active release branch |
| 19 | (eg emacs-28). | ||
| 23 | 20 | ||
| 24 | mkdir ~/emacs | 21 | mkdir ~/emacs |
| 25 | cd ~/emacs | 22 | cd ~/emacs |
| 26 | git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master | 23 | git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master |
| 27 | (cd master; git config push.default current) | 24 | cd master |
| 28 | ./master/admin/git-new-workdir master emacs-26 | 25 | git config push.default current |
| 29 | cd emacs-26 | 26 | git worktree add ../emacs-28 emacs-28 |
| 30 | git checkout emacs-26 | ||
| 31 | 27 | ||
| 32 | You now have both branches conveniently accessible, and you can do | 28 | You now have both branches conveniently accessible, and you can do |
| 33 | "git pull" in them once in a while to keep updated. | 29 | "git pull" in them once in a while to keep updated. |
| @@ -57,11 +53,11 @@ you commit your change locally and then send a patch file as a bug report | |||
| 57 | as described in ../../CONTRIBUTE. | 53 | as described in ../../CONTRIBUTE. |
| 58 | 54 | ||
| 59 | 55 | ||
| 60 | Backporting to emacs-26 | 56 | Backporting to release branch |
| 61 | ======================= | 57 | ============================= |
| 62 | 58 | ||
| 63 | If you have applied a fix to the master, but then decide that it should | 59 | If you have applied a fix to the master, but then decide that it should |
| 64 | be applied to the emacs-26 branch, too, then | 60 | be applied to the release branch, too, then |
| 65 | 61 | ||
| 66 | cd ~/emacs/master | 62 | cd ~/emacs/master |
| 67 | git log | 63 | git log |
| @@ -71,7 +67,7 @@ which will look like | |||
| 71 | 67 | ||
| 72 | commit 958b768a6534ae6e77a8547a56fc31b46b63710b | 68 | commit 958b768a6534ae6e77a8547a56fc31b46b63710b |
| 73 | 69 | ||
| 74 | cd ~/emacs/emacs-26 | 70 | cd ~/emacs/emacs-28 |
| 75 | git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b | 71 | git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b |
| 76 | 72 | ||
| 77 | and add "Backport:" to the commit string. Then | 73 | and add "Backport:" to the commit string. Then |
| @@ -79,17 +75,28 @@ and add "Backport:" to the commit string. Then | |||
| 79 | git push | 75 | git push |
| 80 | 76 | ||
| 81 | 77 | ||
| 82 | Merging emacs-26 to the master | 78 | Reverting on release branch |
| 83 | ============================== | 79 | =========================== |
| 80 | |||
| 81 | If a commit is made to the release branch, and then it is later | ||
| 82 | decided that this change should only be on the master branch, the | ||
| 83 | simplest way to handle this is to revert the commit on the release | ||
| 84 | branch, and include in the associated log entry "do not merge to master". | ||
| 85 | (Otherwise, the reversion may get merged to master, and inadvertently | ||
| 86 | clobber the change on master if it has been manually made there.) | ||
| 87 | |||
| 88 | |||
| 89 | Merging release branch to the master | ||
| 90 | ==================================== | ||
| 84 | 91 | ||
| 85 | It is recommended to use the file gitmerge.el in the admin directory | 92 | It is recommended to use the file gitmerge.el in the admin directory |
| 86 | for merging 'emacs-26' into 'master'. It will take care of many | 93 | for merging the release branch into 'master'. It will take care of many |
| 87 | things which would otherwise have to be done manually, like ignoring | 94 | things which would otherwise have to be done manually, like ignoring |
| 88 | commits that should not land in master, fixing up ChangeLogs and | 95 | commits that should not land in master, fixing up ChangeLogs and |
| 89 | automatically dealing with certain types of conflicts. If you really | 96 | automatically dealing with certain types of conflicts. If you really |
| 90 | want to, you can do the merge manually, but then you're on your own. | 97 | want to, you can do the merge manually, but then you're on your own. |
| 91 | If you still choose to do that, make absolutely sure that you *always* | 98 | If you still choose to do that, make absolutely sure that you *always* |
| 92 | use the 'merge' command to transport commits from 'emacs-26' to | 99 | use the 'merge' command to transport commits from the release branch to |
| 93 | 'master'. *Never* use 'cherry-pick'! If you don't know why, then you | 100 | 'master'. *Never* use 'cherry-pick'! If you don't know why, then you |
| 94 | shouldn't manually do the merge in the first place; just use | 101 | shouldn't manually do the merge in the first place; just use |
| 95 | gitmerge.el instead. | 102 | gitmerge.el instead. |
| @@ -102,11 +109,11 @@ up-to-date by doing a pull. Then start Emacs with | |||
| 102 | emacs -l admin/gitmerge.el -f gitmerge | 109 | emacs -l admin/gitmerge.el -f gitmerge |
| 103 | 110 | ||
| 104 | You'll be asked for the branch to merge, which will default to | 111 | You'll be asked for the branch to merge, which will default to |
| 105 | 'origin/emacs-26', which you should accept. Merging a local tracking | 112 | (eg) 'origin/emacs-28', which you should accept. Merging a local tracking |
| 106 | branch is discouraged, since it might not be up-to-date, or worse, | 113 | branch is discouraged, since it might not be up-to-date, or worse, |
| 107 | contain commits from you which are not yet pushed upstream. | 114 | contain commits from you which are not yet pushed upstream. |
| 108 | 115 | ||
| 109 | You will now see the list of commits from 'emacs-26' which are not yet | 116 | You will now see the list of commits from the release branch that are not yet |
| 110 | merged to 'master'. You might also see commits that are already | 117 | merged to 'master'. You might also see commits that are already |
| 111 | marked for "skipping", which means that they will be merged with a | 118 | marked for "skipping", which means that they will be merged with a |
| 112 | different merge strategy ('ours'), which will effectively ignore the | 119 | different merge strategy ('ours'), which will effectively ignore the |
diff --git a/admin/notes/hydra b/admin/notes/hydra index a0c46df08e4..0987e7be820 100644 --- a/admin/notes/hydra +++ b/admin/notes/hydra | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | -*- mode: outline; coding: utf-8 -*- | 1 | -*- mode: outline; coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | Copyright (C) 2013-2017 Free Software Foundation, Inc. | 3 | Copyright (C) 2013-2022 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | NOTES FOR EMACS CONTINUOUS BUILD ON HYDRA | 6 | NOTES FOR EMACS CONTINUOUS BUILD ON HYDRA |
| @@ -10,8 +10,6 @@ https://hydra.nixos.org/jobset/gnu/emacs-trunk | |||
| 10 | 10 | ||
| 11 | * It builds Emacs on various platforms. | 11 | * It builds Emacs on various platforms. |
| 12 | Sometimes jobs fail due to hydra problems rather than Emacs problems. | 12 | Sometimes jobs fail due to hydra problems rather than Emacs problems. |
| 13 | Eg it seems like the darwin build will never work again. | ||
| 14 | https://lists.gnu.org/archive/html/hydra-users/2016-01/msg00000.html | ||
| 15 | 13 | ||
| 16 | * Mail notifications | 14 | * Mail notifications |
| 17 | In addition to the web interface, Hydra can send notifications by | 15 | In addition to the web interface, Hydra can send notifications by |
| @@ -22,6 +20,8 @@ Emacs trunk to emacs-buildstatus@gnu.org. | |||
| 22 | If you want to receive these notifications, please subscribe at | 20 | If you want to receive these notifications, please subscribe at |
| 23 | https://lists.gnu.org/mailman/listinfo/emacs-buildstatus | 21 | https://lists.gnu.org/mailman/listinfo/emacs-buildstatus |
| 24 | 22 | ||
| 23 | (This feature seems to have been broken for ages.) | ||
| 24 | |||
| 25 | * The Emacs jobset consists of the following jobs: | 25 | * The Emacs jobset consists of the following jobs: |
| 26 | 26 | ||
| 27 | ** The 'tarball' job | 27 | ** The 'tarball' job |
diff --git a/admin/notes/multi-tty b/admin/notes/multi-tty index 0969daf9d07..84bc1b77d4e 100644 --- a/admin/notes/multi-tty +++ b/admin/notes/multi-tty | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | -*- coding: utf-8; mode: text; -*- | 1 | -*- coding: utf-8; mode: text; -*- |
| 2 | 2 | ||
| 3 | Copyright (C) 2007-2017 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | From README.multi-tty in the multi-tty branch. | 6 | From README.multi-tty in the multi-tty branch. |
| @@ -171,7 +171,11 @@ preload-emacs "$name" wait | |||
| 171 | name="$1" | 171 | name="$1" |
| 172 | waitp="$2" | 172 | waitp="$2" |
| 173 | screendir="/var/run/screen/S-$USER" | 173 | screendir="/var/run/screen/S-$USER" |
| 174 | serverdir="/tmp/emacs$UID" | 174 | if [ "${XDG_RUNTIME_DIR+set}" ]; then |
| 175 | serverdir="$XDG_RUNTIME_DIR/emacs" | ||
| 176 | else | ||
| 177 | serverdir="${TMPDIR-/tmp}/emacs$UID" | ||
| 178 | fi | ||
| 175 | emacs=/usr/bin/emacs-multi-tty # Or wherever you installed your multi-tty Emacs | 179 | emacs=/usr/bin/emacs-multi-tty # Or wherever you installed your multi-tty Emacs |
| 176 | 180 | ||
| 177 | if [ -z "$name" ]; then | 181 | if [ -z "$name" ]; then |
| @@ -305,7 +309,7 @@ THINGS TO DO | |||
| 305 | multidisplay (and don't mind core dumps), you can edit src/config.h | 309 | multidisplay (and don't mind core dumps), you can edit src/config.h |
| 306 | and define HAVE_GTK_MULTIDISPLAY there by hand. | 310 | and define HAVE_GTK_MULTIDISPLAY there by hand. |
| 307 | 311 | ||
| 308 | http://bugzilla.gnome.org/show_bug.cgi?id=85715 | 312 | https://gitlab.gnome.org/GNOME/gtk/issues/221 |
| 309 | 313 | ||
| 310 | Update: Han reports that GTK+ version 2.8.9 almost gets display | 314 | Update: Han reports that GTK+ version 2.8.9 almost gets display |
| 311 | disconnects right. GTK will probably be fully fixed by the time | 315 | disconnects right. GTK will probably be fully fixed by the time |
| @@ -470,7 +474,7 @@ THINGS TO DO | |||
| 470 | definition. | 474 | definition. |
| 471 | 475 | ||
| 472 | Exceptions found so far: x-select-text and | 476 | Exceptions found so far: x-select-text and |
| 473 | x-cut-buffer-or-selection-value. | 477 | x-selection-value. |
| 474 | 478 | ||
| 475 | ** Have a look at fatal_error_hook. | 479 | ** Have a look at fatal_error_hook. |
| 476 | 480 | ||
diff --git a/admin/notes/nextstep b/admin/notes/nextstep index a2e5ce2c9b0..b053294880b 100644 --- a/admin/notes/nextstep +++ b/admin/notes/nextstep | |||
| @@ -65,9 +65,6 @@ functions are: | |||
| 65 | Currently ctrl-g is not detected in as many circumstances as other emacsen. | 65 | Currently ctrl-g is not detected in as many circumstances as other emacsen. |
| 66 | It is not certain whether this is due to the means of event loop integration, | 66 | It is not certain whether this is due to the means of event loop integration, |
| 67 | or errors of omission in the NS code. This is an area for improvement. | 67 | or errors of omission in the NS code. This is an area for improvement. |
| 68 | Also, see the article here and its containing thread: | ||
| 69 | |||
| 70 | http://article.gmane.org/gmane.emacs.devel/92021/match=handling%5fsignal | ||
| 71 | 68 | ||
| 72 | 69 | ||
| 73 | 70 | ||
diff --git a/admin/notes/repo b/admin/notes/repo index 827d6ed1b98..f6004a97db1 100644 --- a/admin/notes/repo +++ b/admin/notes/repo | |||
| @@ -11,7 +11,7 @@ install it only on the emacs-24 branch, not on the master as well. | |||
| 11 | Installing things manually into more than one branch makes merges more | 11 | Installing things manually into more than one branch makes merges more |
| 12 | difficult. | 12 | difficult. |
| 13 | 13 | ||
| 14 | https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01124.html | 14 | https://lists.gnu.org/r/emacs-devel/2010-03/msg01124.html |
| 15 | 15 | ||
| 16 | The exception is, if you know that the change will be difficult to | 16 | The exception is, if you know that the change will be difficult to |
| 17 | merge to the master (eg because the master code has changed a lot). | 17 | merge to the master (eg because the master code has changed a lot). |
| @@ -40,7 +40,7 @@ so interim merges are unnecessary. | |||
| 40 | Or use shelves; or rebase; or do something else. See the thread for | 40 | Or use shelves; or rebase; or do something else. See the thread for |
| 41 | yet another fun excursion into the exciting world of version control. | 41 | yet another fun excursion into the exciting world of version control. |
| 42 | 42 | ||
| 43 | https://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00086.html | 43 | https://lists.gnu.org/r/emacs-devel/2010-04/msg00086.html |
| 44 | 44 | ||
| 45 | * Installing changes from gnulib | 45 | * Installing changes from gnulib |
| 46 | 46 | ||
diff --git a/admin/notes/spelling b/admin/notes/spelling new file mode 100644 index 00000000000..b20f68bf624 --- /dev/null +++ b/admin/notes/spelling | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | Re "behavior" vs "behaviour", etc. | ||
| 2 | |||
| 3 | - GNU Emacs originated in the US. | ||
| 4 | |||
| 5 | - If there is a choice between US vs UK spelling for a word | ||
| 6 | for new text (code, docs), choose the US variant. | ||
| 7 | |||
| 8 | - It's probably (IMHO --ttn, 2017-10-13) not a high priority to | ||
| 9 | change existing text; use your best judgment (ask if unsure). | ||
| 10 | |||
| 11 | - https://lists.gnu.org/r/emacs-devel/2005-06/msg00489.html | ||
diff --git a/admin/notes/tags b/admin/notes/tags index 16565ea00de..1e2a38347da 100644 --- a/admin/notes/tags +++ b/admin/notes/tags | |||
| @@ -3,7 +3,7 @@ Apparently these date from ye olden days, when tags were common | |||
| 3 | to several GNU projects. So many of them had no relevance to Emacs, | 3 | to several GNU projects. So many of them had no relevance to Emacs, |
| 4 | and hence were removed. See: | 4 | and hence were removed. See: |
| 5 | 5 | ||
| 6 | https://lists.gnu.org/archive/html/emacs-devel/2012-04/msg00042.html | 6 | https://lists.gnu.org/r/emacs-devel/2012-04/msg00042.html |
| 7 | 7 | ||
| 8 | In the unlikely event that you need them, the removed tags were: | 8 | In the unlikely event that you need them, the removed tags were: |
| 9 | 9 | ||
diff --git a/admin/notes/unicode b/admin/notes/unicode index bc7279150a9..014bfb9b0d5 100644 --- a/admin/notes/unicode +++ b/admin/notes/unicode | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | -*-mode: text; coding: utf-8;-*- | 1 | -*-mode: text; coding: utf-8;-*- |
| 2 | 2 | ||
| 3 | Copyright (C) 2002-2017 Free Software Foundation, Inc. | 3 | Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | Importing a new Unicode Standard version into Emacs | 6 | Importing a new Unicode Standard version into Emacs |
| @@ -11,15 +11,38 @@ Emacs uses the following files from the Unicode Character Database | |||
| 11 | 11 | ||
| 12 | . UnicodeData.txt | 12 | . UnicodeData.txt |
| 13 | . Blocks.txt | 13 | . Blocks.txt |
| 14 | . BidiMirroring.txt | ||
| 15 | . BidiBrackets.txt | 14 | . BidiBrackets.txt |
| 15 | . BidiMirroring.txt | ||
| 16 | . IVD_Sequences.txt | 16 | . IVD_Sequences.txt |
| 17 | . NormalizationTest.txt | 17 | . NormalizationTest.txt |
| 18 | . PropertyValueAliases.txt | ||
| 19 | . ScriptExtensions.txt | ||
| 20 | . Scripts.txt | ||
| 18 | . SpecialCasing.txt | 21 | . SpecialCasing.txt |
| 22 | . confusables.txt | ||
| 23 | . emoji-data.txt | ||
| 24 | . emoji-zwj-sequences.txt | ||
| 25 | . emoji-sequences.txt | ||
| 19 | . BidiCharacterTest.txt | 26 | . BidiCharacterTest.txt |
| 20 | 27 | ||
| 21 | First, the first 7 files need to be copied into admin/unidata/, and | 28 | Emacs also uses the file emoji-test.txt which should be imported from |
| 22 | then Emacs should be rebuilt for them to take effect. Rebuilding | 29 | the Unicode's Public/emoji/ directory, and IdnaMappingTable.txt from |
| 30 | the Public/idna/ directory. | ||
| 31 | |||
| 32 | First, the first 14 files, emoji-test.txt and IdnaMappingTable.txt | ||
| 33 | need to be copied into admin/unidata/, and the file | ||
| 34 | https://www.unicode.org/copyright.html should be copied over | ||
| 35 | copyright.html in admin/unidata (some of them might need trailing | ||
| 36 | whitespace removed before they can be committed to the Emacs | ||
| 37 | repository). | ||
| 38 | |||
| 39 | Next, review the assignment of default values of the Bidi Class | ||
| 40 | property to blocks in the file extracted/DerivedBidiClass.txt from the | ||
| 41 | UCD (search for "unassigned" in that file). Any changes should be | ||
| 42 | reflected in the unidata-gen.el file, where it sets up the default | ||
| 43 | values around line 210. | ||
| 44 | |||
| 45 | Then Emacs should be rebuilt for them to take effect. Rebuilding | ||
| 23 | Emacs updates several derived files elsewhere in the Emacs source | 46 | Emacs updates several derived files elsewhere in the Emacs source |
| 24 | tree, mainly in lisp/international/. | 47 | tree, mainly in lisp/international/. |
| 25 | 48 | ||
| @@ -28,7 +51,10 @@ files, pay attention to any warning or error messages. In particular, | |||
| 28 | admin/unidata/unidata-gen.el will complain if UnicodeData.txt defines | 51 | admin/unidata/unidata-gen.el will complain if UnicodeData.txt defines |
| 29 | new bidirectional attributes of characters, because unidata-gen.el, | 52 | new bidirectional attributes of characters, because unidata-gen.el, |
| 30 | bidi.c and dispextern.h need to be updated in that case; failure to do | 53 | bidi.c and dispextern.h need to be updated in that case; failure to do |
| 31 | so will cause aborts in redisplay. | 54 | so will cause aborts in redisplay. unidata-gen.el will also complain |
| 55 | if the format of the Unicode Copyright notice in copyright.html | ||
| 56 | changed in significant ways; in that case, update the regular | ||
| 57 | expression in unidata-gen-file used to extract the copyright string. | ||
| 32 | 58 | ||
| 33 | Next, review the changes in UnicodeData.txt vs the previous version | 59 | Next, review the changes in UnicodeData.txt vs the previous version |
| 34 | used by Emacs. Any changes, be it introduction of new scripts or | 60 | used by Emacs. Any changes, be it introduction of new scripts or |
| @@ -40,15 +66,23 @@ and see if any changes in admin/unidata/blocks.awk are required. | |||
| 40 | 66 | ||
| 41 | The setting of char-width-table around line 1200 of characters.el | 67 | The setting of char-width-table around line 1200 of characters.el |
| 42 | should be checked against the latest version of the Unicode file | 68 | should be checked against the latest version of the Unicode file |
| 43 | EastAsianWidth.txt, and any discrepancies fixed. | 69 | EastAsianWidth.txt, and any discrepancies fixed: double-width |
| 70 | characters are those marked with W or F in that file. Zero-width | ||
| 71 | characters are not taken from EastAsianWidth.txt, they are those whose | ||
| 72 | Unicode General Category property is one of Mn, Me, or Cf, and also | ||
| 73 | Hangul jungseong and jongseong characters (a.k.a. "Jamo medial vowels" | ||
| 74 | and "Jamo final consonants"). | ||
| 44 | 75 | ||
| 45 | Any new scripts added by UnicodeData.txt will also need updates to | 76 | Any new scripts added by UnicodeData.txt will also need updates to |
| 46 | script-representative-chars defined in fontset.el, and also the list | 77 | script-representative-chars defined in fontset.el, and also the list |
| 47 | of OTF script tags in otf-script-alist, whose source is on this page: | 78 | of OTF script tags in otf-script-alist, whose source is on this page: |
| 48 | 79 | ||
| 49 | https://www.microsoft.com/typography/otspec/scripttags.htm | 80 | https://docs.microsoft.com/en-us/typography/opentype/spec/scripttags |
| 50 | 81 | ||
| 51 | Other databases in fontset.el might also need to be updated as needed. | 82 | Other databases in fontset.el might also need to be updated as needed. |
| 83 | One notable place to check is the function setup-default-fontset, | ||
| 84 | where new scripts will generally need some addition, most probably to | ||
| 85 | the list of "simple" scripts (search for "Simple"). | ||
| 52 | 86 | ||
| 53 | The function 'ucs-names', defined in lisp/international/mule-cmds.el, | 87 | The function 'ucs-names', defined in lisp/international/mule-cmds.el, |
| 54 | might need to be updated because it knows about used and unused ranges | 88 | might need to be updated because it knows about used and unused ranges |
| @@ -65,7 +99,51 @@ regarding failing lines. | |||
| 65 | 99 | ||
| 66 | The file BidiCharacterTest.txt should be copied to the test suite, and | 100 | The file BidiCharacterTest.txt should be copied to the test suite, and |
| 67 | if its format has changed, the file biditest.el there should be | 101 | if its format has changed, the file biditest.el there should be |
| 68 | modified to follow suit. | 102 | modified to follow suit. If there's trailing whitespace in |
| 103 | BidiCharacterTest.txt, it should be removed before committing the new | ||
| 104 | version. | ||
| 105 | |||
| 106 | src/macuvs.h is a generated file, but if it has changed as a result | ||
| 107 | of the updates, please commit it as well (see | ||
| 108 | admin/unidata/Makefile.in for an explanation). | ||
| 109 | |||
| 110 | Visit "emoji-data.txt" with the rebuilt Emacs, and check that an | ||
| 111 | appropriate font is being used for the emoji (by default Emacs uses | ||
| 112 | "Noto Color Emoji"). Running the following command in that buffer | ||
| 113 | will give you an idea of which codepoints are not supported by | ||
| 114 | whichever font Emacs is using. | ||
| 115 | |||
| 116 | (defun check-emoji-coverage (font-name-regexp) | ||
| 117 | "Display a buffer containing emoji codepoints for which FONT-NAME is not used. | ||
| 118 | This must be run from a buffer in the format of emoji-data.txt. | ||
| 119 | FONT-NAME-REGEXP is checked using `string-match'." | ||
| 120 | (interactive "MFont Name: ") | ||
| 121 | (save-excursion | ||
| 122 | (goto-char (point-min)) | ||
| 123 | (let (res char name ifont) | ||
| 124 | (while (re-search-forward "; Emoji_Presentation [^(]+(\\(.\\)[).]" nil t) | ||
| 125 | (setq char (aref (match-string 1) 0)) | ||
| 126 | (setq ifont (car (internal-char-font nil char))) | ||
| 127 | (when ifont | ||
| 128 | (setq name (font-xlfd-name ifont))) | ||
| 129 | (if (or (not ifont) (not (string-match font-name-regexp name))) | ||
| 130 | (setq res (concat (string char) res)))) | ||
| 131 | (when res | ||
| 132 | (with-output-to-temp-buffer "*Check-Emoji-Coverage*" | ||
| 133 | (princ (format "Font not matching '%s' was used for the following characters:\n%s" | ||
| 134 | font-name-regexp (reverse res)))))))) | ||
| 135 | |||
| 136 | Visit "emoji-zwj-sequences.txt" and "emoji-sequences.txt" with the | ||
| 137 | rebuilt Emacs, and check that the sample sequences are composed | ||
| 138 | properly. Also check the Unicode style chart file available at | ||
| 139 | https://unicode.org/emoji/charts/emoji-style.txt for any issues | ||
| 140 | involving VS-15 and VS-16, if so you may need to update the value | ||
| 141 | generated for auto-composition-emoji-eligible-codepoints by | ||
| 142 | admin/unidata/emoji-zwj.awk. Note that your emoji font might not have | ||
| 143 | glyphs for the newest codepoints yet. | ||
| 144 | |||
| 145 | Finally, etc/NEWS should be updated to announce the support for the | ||
| 146 | new Unicode version. | ||
| 69 | 147 | ||
| 70 | Problems, fixmes and other unicode-related issues | 148 | Problems, fixmes and other unicode-related issues |
| 71 | ------------------------------------------------------------- | 149 | ------------------------------------------------------------- |
| @@ -85,7 +163,7 @@ regard to completeness. | |||
| 85 | code (keymap.c and print.c). | 163 | code (keymap.c and print.c). |
| 86 | 164 | ||
| 87 | * Rationalize character syntax and its relationship to the Unicode | 165 | * Rationalize character syntax and its relationship to the Unicode |
| 88 | database. (Applies mainly to symbol an punctuation syntax.) | 166 | database. (Applies mainly to symbol and punctuation syntax.) |
| 89 | 167 | ||
| 90 | * Fontset handling and customization needs work. We want to relate | 168 | * Fontset handling and customization needs work. We want to relate |
| 91 | fonts to scripts, probably based on the Unicode blocks. The | 169 | fonts to scripts, probably based on the Unicode blocks. The |
| @@ -230,36 +308,15 @@ nontrivial changes to the build process. | |||
| 230 | 308 | ||
| 231 | admin/charsets/mapfiles/cns2ucsdkw.txt | 309 | admin/charsets/mapfiles/cns2ucsdkw.txt |
| 232 | 310 | ||
| 233 | * iso-2022-7bit | 311 | * iso-2022-jp |
| 234 | |||
| 235 | This file switches between CJK charsets, which is not encoded in UTF-8. | ||
| 236 | 312 | ||
| 237 | etc/HELLO | 313 | This contains just one CJK charset, but Emacs currently has no |
| 238 | 314 | easy way to specify set-charset-priority on a per-file basis, so | |
| 239 | Each of these files contains just one CJK charset, but Emacs | 315 | converting this file to UTF-8 might change the file's appearance |
| 240 | currently has no easy way to specify set-charset-priority on a | 316 | when viewed by an Emacs that is operating in some other language |
| 241 | per-file basis, so converting any of these files to UTF-8 might | 317 | environment. |
| 242 | change the file's appearance when viewed by an Emacs that is | ||
| 243 | operating in some other language environment. | ||
| 244 | 318 | ||
| 245 | etc/tutorials/TUTORIAL.ja | 319 | etc/tutorials/TUTORIAL.ja |
| 246 | lisp/international/ja-dic-cnv.el | ||
| 247 | lisp/international/ja-dic-utl.el | ||
| 248 | lisp/international/kinsoku.el | ||
| 249 | lisp/international/kkc.el | ||
| 250 | lisp/international/titdic-cnv.el | ||
| 251 | lisp/language/japan-util.el | ||
| 252 | lisp/language/japanese.el | ||
| 253 | lisp/leim/quail/cyril-jis.el | ||
| 254 | lisp/leim/quail/hanja-jis.el | ||
| 255 | lisp/leim/quail/japanese.el | ||
| 256 | lisp/leim/quail/py-punct.el | ||
| 257 | lisp/leim/quail/pypunct-b5.el | ||
| 258 | |||
| 259 | This file contains just Chinese characters, and has same problem. | ||
| 260 | Also, it contains characters that cannot be encoded in UTF-8. | ||
| 261 | |||
| 262 | lisp/international/titdic-cnv.el | ||
| 263 | 320 | ||
| 264 | * utf-8-emacs | 321 | * utf-8-emacs |
| 265 | 322 | ||
| @@ -272,6 +329,7 @@ nontrivial changes to the build process. | |||
| 272 | lisp/language/tibetan.el | 329 | lisp/language/tibetan.el |
| 273 | lisp/leim/quail/ethiopic.el | 330 | lisp/leim/quail/ethiopic.el |
| 274 | lisp/leim/quail/tibetan.el | 331 | lisp/leim/quail/tibetan.el |
| 332 | lisp/international/titdic-cnv.el | ||
| 275 | 333 | ||
| 276 | * binary files | 334 | * binary files |
| 277 | 335 | ||
diff --git a/admin/notes/versioning b/admin/notes/versioning index dbd563cdc75..9428dc76710 100644 --- a/admin/notes/versioning +++ b/admin/notes/versioning | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | GNU EMACS VERSIONING -*- org -*- | 1 | GNU EMACS VERSIONING -*- org -*- |
| 2 | 2 | ||
| 3 | Ref: https://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html | 3 | Ref: https://lists.gnu.org/r/emacs-devel/2014-09/msg00872.html |
| 4 | 4 | ||
| 5 | Emacs version numbers have the form | 5 | Emacs version numbers have the form |
| 6 | 6 | ||
diff --git a/admin/notes/www b/admin/notes/www index 8e5bfb68d7a..d1a8f0637ff 100644 --- a/admin/notes/www +++ b/admin/notes/www | |||
| @@ -1,10 +1,33 @@ | |||
| 1 | -*- outline -*- | 1 | -*- outline -*- |
| 2 | 2 | ||
| 3 | Copyright (C) 2013-2017 Free Software Foundation, Inc. | 3 | Copyright (C) 2013-2022 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | NOTES FOR EMACS WWW PAGES | 6 | NOTES FOR EMACS WWW PAGES |
| 7 | 7 | ||
| 8 | * Access | ||
| 9 | |||
| 10 | Anyone with write access to the Emacs code repository has the same | ||
| 11 | access to the web pages. See <https://savannah.gnu.org/cvs/?group=emacs> | ||
| 12 | for instructions. After you commit a change to the CVS repository, | ||
| 13 | it normally appears automatically on www.gnu.org within a few minutes. | ||
| 14 | The basic procedure is: | ||
| 15 | |||
| 16 | Initial checkout: | ||
| 17 | cvs -z3 -d:ext:<membername>@cvs.savannah.gnu.org:/web/emacs co emacs | ||
| 18 | |||
| 19 | Update from repository: | ||
| 20 | cvs up -dP | ||
| 21 | |||
| 22 | You can use Emacs's VC mode to commit files without having to worry | ||
| 23 | about knowing CVS syntax. You may find M-x cvs-examine a useful, | ||
| 24 | more specialized, alternative to M-x vc-dir. | ||
| 25 | |||
| 26 | * Manual pages | ||
| 27 | |||
| 28 | The scripts admin/make-manuals, admin/upload-manuals can be used to do | ||
| 29 | a complete update of the on-line manual pages (e.g. after a release). | ||
| 30 | |||
| 8 | * Renaming pages, redirects | 31 | * Renaming pages, redirects |
| 9 | 32 | ||
| 10 | Sometimes you want to move a page to a new location. | 33 | Sometimes you want to move a page to a new location. |
| @@ -64,6 +87,21 @@ work; see manual/.htaccess in the repository. You only have to add a | |||
| 64 | single redirect for every given external manual, you can redirect | 87 | single redirect for every given external manual, you can redirect |
| 65 | html_node to hmtl_node and html_mono to html_mono. | 88 | html_node to hmtl_node and html_mono to html_mono. |
| 66 | 89 | ||
| 90 | * Why CVS? | ||
| 91 | |||
| 92 | Savannah supports other VCS, and no-one is especially attached to CVS. | ||
| 93 | Rather, CVS is the only supported mechanism for getting the changes | ||
| 94 | onto www.gnu.org. See eg | ||
| 95 | https://lists.gnu.org/r/bug-gnulib/2012-12/msg00072.html | ||
| 96 | |||
| 97 | * CVS alternatives | ||
| 98 | |||
| 99 | To use something other than CVS, convert the web-pages CVS repository | ||
| 100 | to the other VCS, then set up a two-way sync between them. | ||
| 101 | It needs to be two-way in case eg GNU webmasters make a change to the CVS. | ||
| 102 | Ref e.g. | ||
| 103 | https://github.com/mikjo/bigitr | ||
| 104 | https://lists.gnu.org/r/savannah-hackers-public/2013-04/msg00022.html | ||
| 67 | 105 | ||
| 68 | 106 | ||
| 69 | This file is part of GNU Emacs. | 107 | This file is part of GNU Emacs. |
diff --git a/admin/notes/years b/admin/notes/years index 268ef85c5d4..3df8139f9b9 100644 --- a/admin/notes/years +++ b/admin/notes/years | |||
| @@ -3,7 +3,37 @@ HOW TO MAINTAIN COPYRIGHT YEARS FOR GNU EMACS | |||
| 3 | Maintaining copyright years is now very simple: every time a new year | 3 | Maintaining copyright years is now very simple: every time a new year |
| 4 | rolls around, add that year to every FSF (and AIST) copyright notice. | 4 | rolls around, add that year to every FSF (and AIST) copyright notice. |
| 5 | Do this by running the 'admin/update-copyright' script on a fresh repo | 5 | Do this by running the 'admin/update-copyright' script on a fresh repo |
| 6 | checkout. Inspect the results for plausibility, then commit them. | 6 | checkout, redirecting its output to a file, so that you could later |
| 7 | examine the files that don't have copyright notices. Inspect the | ||
| 8 | results for plausibility, then commit them. | ||
| 9 | |||
| 10 | A few known problems with the build-aux/update-copyright script: | ||
| 11 | |||
| 12 | . it doesn't update config.bat, msdos/depfiles.bat, | ||
| 13 | nt/configure.bat, etc/tutorials/TUTORIAL.cn, and | ||
| 14 | etc/tutorials/TUTORIAL.he because the "Copyright" statement begins | ||
| 15 | in these files after a prefix that is more than 5 characters long | ||
| 16 | . it doesn't update etc/tutorials/TUTORIAL.nl and | ||
| 17 | etc/tutorials/TUTORIAL.ro for some reason | ||
| 18 | . it doesn't update the second Copyright notice, the one that gets | ||
| 19 | output into PDF and PS, in etc/refcards/ru-refcard.tex | ||
| 20 | . it doesn't update etc/refcards/gnus-refcard.tex and | ||
| 21 | doc/misc/org.org because their Copyright statements have a | ||
| 22 | non-standard format | ||
| 23 | . several README and XPM files under etc/images/, and also | ||
| 24 | etc/refcards/README, msdos/README, and nt/icons/README aren't | ||
| 25 | updated either | ||
| 26 | |||
| 27 | These files need to be updated by hand. | ||
| 28 | |||
| 29 | Next, run "M-x set-copyright" from admin.el, which updates several | ||
| 30 | copyright notices in the Emacs sources. | ||
| 31 | |||
| 32 | You should also run the etags test suite in test/manual/etags/. It | ||
| 33 | will most probably fail because the contents of the test files changes | ||
| 34 | due to copyright years update, so you need to move each ETAGS and | ||
| 35 | CTAGS file produced by the test runs into the corresponding | ||
| 36 | ETAGS.good* and CTAGS.good files, and then commit the new test files. | ||
| 7 | 37 | ||
| 8 | There's no need to worry about whether an individual file has changed | 38 | There's no need to worry about whether an individual file has changed |
| 9 | in a given year - it's sufficient that Emacs as a whole has changed. | 39 | in a given year - it's sufficient that Emacs as a whole has changed. |
| @@ -37,4 +67,4 @@ but should keep the full list in a comment in the source. | |||
| 37 | --RMS, 2005-07-13 | 67 | --RMS, 2005-07-13 |
| 38 | 68 | ||
| 39 | [1] Note that this includes 2001 - see | 69 | [1] Note that this includes 2001 - see |
| 40 | <https://lists.gnu.org/archive/html/emacs-pretest-bug/2006-12/msg00119.html> | 70 | <https://lists.gnu.org/r/emacs-pretest-bug/2006-12/msg00119.html> |