aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes
diff options
context:
space:
mode:
Diffstat (limited to 'admin/notes')
-rw-r--r--admin/notes/bug-triage12
-rw-r--r--admin/notes/bugtracker82
-rw-r--r--admin/notes/copyright33
-rw-r--r--admin/notes/documentation12
-rw-r--r--admin/notes/elpa32
-rw-r--r--admin/notes/emba100
-rw-r--r--admin/notes/font-backend69
-rw-r--r--admin/notes/git-workflow47
-rw-r--r--admin/notes/hydra6
-rw-r--r--admin/notes/multi-tty12
-rw-r--r--admin/notes/nextstep3
-rw-r--r--admin/notes/repo4
-rw-r--r--admin/notes/spelling11
-rw-r--r--admin/notes/tags2
-rw-r--r--admin/notes/unicode130
-rw-r--r--admin/notes/versioning2
-rw-r--r--admin/notes/www40
-rw-r--r--admin/notes/years34
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.
11The goal of this triage is to prune down the list of old bugs, closing 11The goal of this triage is to prune down the list of old bugs, closing
12the ones that are not reproducible on the current release. 12the 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
83The goal of the new bug triage process is similar to the backlog triage process, 87The goal of the new bug triage process is similar to the backlog triage process,
84except that the focus is on prioritizing the bug, and making sure it is has 88except that the focus is on prioritizing the bug, and making sure it has
85necessary information for others to act on. 89necessary information for others to act on.
86 90
87For each new bug, ask the following questions: 91For 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?
10Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org. 10Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org.
11If you want to Cc someone, use an "X-Debbugs-CC" header (or 11If you want to Cc someone, use an "X-Debbugs-Cc" header (or
12pseudo-header, see below) instead. 12pseudo-header, see below) instead.
13 13
14** How do I read a bug?
15Visit https://debbugs.gnu.org/123 in your web browser or try this in
16Emacs: 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?
15Reply to a mail on the bug-gnu-emacs list in the normal way. 19Reply to a mail on the bug-gnu-emacs list in the normal way.
16Or send a mail to 123@debbugs.gnu.org. 20Or send a mail to 123@debbugs.gnu.org.
@@ -29,7 +33,7 @@ By mailing commands to control@debbugs.gnu.org. Place commands at the
29start of the message body, one per line. 33start of the message body, one per line.
30 34
31severity 123 serious|important|normal|minor|wishlist 35severity 123 serious|important|normal|minor|wishlist
32tags 123 moreinfo|unreproducible|wontfix|patch 36tags 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.
53ii) Optionally, you can set some database parameters when you first 57ii) Optionally, you can set some database parameters when you first
54report a bug (see "Setting bug parameters" below). 58report a bug (see "Setting bug parameters" below).
55 59
56iii) If you want to CC: someone, use X-Debbugs-CC: (note this only 60iii) If you want to Cc someone, use X-Debbugs-Cc: (note this only
57applies to _new_ reports, not followups). 61applies to _new_ reports, not followups).
58 62
59Once your report is filed and assigned a number, it is sent out to the 63Once 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?
65Reply to 123@debbugs.gnu.org, replacing 123 with the number 69Reply to 123@debbugs.gnu.org, replacing 123 with the number
66of the bug you are interested in. NB this only sends mail to the 70of the bug you are interested in. NB this only sends mail to the
67bug-list, it does NOT send a CC to the original bug submitter. 71bug-list, it does NOT send a Cc to the original bug submitter.
68So you need to explicitly CC him/her (and anyone else you like). 72So 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
70don't assume anyone who posts to a list is subscribed to it, so we 74don't assume anyone who posts to a list is subscribed to it, so we
71cc everyone on replies.) 75cc 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
74to subsequent discussion, but this does not seem to be implemented. 78to subsequent discussion, but this does not seem to be implemented.
75See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=37078 79See https://bugs.debian.org/37078
76See also https://debbugs.gnu.org/5439 ) 80See also https://debbugs.gnu.org/5439 )
77 81
78Do NOT send a separate copy to the bug list address, since this may 82Do 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
80address is to create a new report. 84address is to create a new report.
81 85
82Gnus users can add the following to message-dont-reply-to-names; 86Gnus users can add the following to message-dont-reply-to-names;
83similarly with Rmail and rmail-dont-reply-to-names: 87similarly 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.
98Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a 102Instead, use "X-Debbugs-Cc:". This ensures the Cc address(es) will get a
99mail with the bug report number in. If you do not do this, each reply 103mail with the bug report number in. If you do not do this, each reply
100in the subsequent discussion might end up creating a new bug. 104in the subsequent discussion might end up creating a new bug.
101This is annoying. (So annoying that a form of message-id tracking has 105This is annoying. (So annoying that a form of message-id tracking has
102been implemented to hopefully stop this happening, but it is still 106been implemented to hopefully stop this happening, but it is still
103better to use X-Debbugs-CC.) 107better to use X-Debbugs-Cc.)
108
109If you want to send copies to more than one address, add them
110comma-separated in only one X-Debbugs-Cc line.
104 111
105Like any X-Debbugs- header, this one can also be specified in the 112Like any X-Debbugs- header, this one can also be specified in the
106pseudo-header (see below), if your mail client does not let you add 113pseudo-header (see below), if your mail client does not let you add
107"X-" headers. 114"X-" headers.
108 115
109If a new report contains X-Debbugs-CC in the input, this is 116If a new report contains X-Debbugs-Cc in the input, this is
110converted to a real Cc header in the output. (See Bug#1780,5384) 117converted to a real Cc header in the output. (See Bug#1780,5384)
111It is also merged into the Resent-CC header (see below). 118It 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:
117address is altered as follows. Any "bug-gnu-emacs", 124address 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
119123@debbugs in the mail that gets sent out. (This also applies to any 126123@debbugs in the mail that gets sent out. (This also applies to any
120Cc: header, though you should be using X-Debbugs-CC instead in new 127Cc: header, though you should be using X-Debbugs-Cc instead in new
121reports). The original header is stored as X-Debbugs-Original-To, if 128reports). The original header is stored as X-Debbugs-Original-To, if
122it was changed. Any X-Debbugs-CC is merged into the Cc. 129it was changed. Any X-Debbugs-Cc is merged into the Cc.
123 130
124Mails arriving at the bug list have the following Resent-* headers: 131Mails arriving at the bug list have the following Resent-* headers:
125 132
126Resent-From: person who submitted the bug 133Resent-From: person who submitted the bug
127Resent-To: owner@debbugs.gnu.org 134Resent-To: owner@debbugs.gnu.org
128Resent-CC: maintainer email address, plus any X-Debbugs-CC: entries 135Resent-Cc: maintainer email address, plus any X-Debbugs-Cc: entries
129 136
130The "maintainer email address" is "bug-gnu-emacs@gnu.org" in most cases. 137The "maintainer email address" is "bug-gnu-emacs@gnu.org" in most cases.
131 138
@@ -148,7 +155,7 @@ Package: emacs
148Version: 23.0.60 155Version: 23.0.60
149Severity: minor 156Severity: minor
150 157
151Remember to fix FOO, as discussed on emacs-devel at http://... . 158Remember 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)?
154Discard mails matching: 161Discard mails matching:
@@ -178,7 +185,7 @@ Basically, reply only to the numbered bug address (and any individual
178people's addresses). Do not send mail direct to bug-gnu-emacs or 185people's addresses). Do not send mail direct to bug-gnu-emacs or
179emacs-pretest-bug unless you are reporting a new bug. 186emacs-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
183To: 123-done@debbugs.gnu.org 190To: 123-done@debbugs.gnu.org
184 191
@@ -236,23 +243,31 @@ The control server ignores anything after the last line above. So you
236can place control commands at the beginning of a reply to a bug 243can place control commands at the beginning of a reply to a bug
237report, and Bcc: the control server (note the commands have no effect 244report, and Bcc: the control server (note the commands have no effect
238if you just send them to the bug-report number). Bcc: is better than Cc: 245if you just send them to the bug-report number). Bcc: is better than Cc:
239in case people use Reply-to-All in response. 246in case people use Reply-To-All in response.
247
248For the full documentation of control commands, see
249https://debbugs.gnu.org/server-control.html
240 250
241Some useful control commands: 251Some useful control commands:
242 252
253*** To close a bug and indicate in what Emacs version it was fixed
254close 123 VERSION
255
256where VERSION is XX.YY numerical version number, like 42.1.
257
243*** To reopen a closed bug: 258*** To reopen a closed bug:
244reopen 123 259reopen 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).
247The available tags are: 262The available tags are:
248patch wontfix moreinfo unreproducible fixed notabug 263patch wontfix moreinfo unreproducible fixed notabug help security confirmed easy
249See https://debbugs.gnu.org/Developer#tags 264See https://debbugs.gnu.org/Developer#tags
250The list of tags can be prefixed with +, - or =, meaning to add (the 265The list of tags can be prefixed with +, - or =, meaning to add (the
251default), remove, or reset the tags. E.g.: 266default), remove, or reset the tags. E.g.:
252 267
253tags 123 + wontfix 268tags 123 + wontfix
254 269
255** URL shortcuts 270*** URL shortcuts
256 271
257https://debbugs.gnu.org/... 272https://debbugs.gnu.org/...
258 273
@@ -263,9 +278,9 @@ from:submitter@email.address
263severity:severity # all bugs of given severity 278severity:severity # all bugs of given severity
264tag:tag # all bugs with given tag 279tag:tag # all bugs with given tag
265 280
266** Usertags 281*** Usertags
267 282
268See <http://wiki.debian.org/bugs.debian.org/usertags> 283See <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
271to a bug. There are two differences between normal tags and user tags: 286to 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
2762) A usertag is associated with a specific user. This is normally 2912) A usertag is associated with a specific user. This is normally
277an email address (with an "@" sign and least 4 characters after the "@"), 292an email address (with an "@" sign and least 4 characters after the "@"),
278but on debbugs.gnu.org, the definition is less strict - anything with 293but on debbugs.gnu.org, it can also be a package name. For personal tags,
2795 or more alphanumeric characters will work. For personal tags,
280using an email address is still recommended. Please only use the 294using 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
283You set usertags in the same way as tags, by talking to the control server. 297You set usertags in the same way as tags, by talking to the control server.
284One difference is that you can also specify the associated user. 298One difference is that you can also specify the associated user.
@@ -292,7 +306,7 @@ a) In a control message:
292user emacs # or email@example.com 306user emacs # or email@example.com
293usertags 1234 any-tag-you-like 307usertags 1234 any-tag-you-like
294 308
295This will add a usertag "any-tag-you-like" to bug 1234. The tag will 309This will add a usertag "any-tag-you-like" to bug#1234. The tag will
296be associated with the user "emacs". If you omit the first line, 310be associated with the user "emacs". If you omit the first line,
297the tag will be associated with your email address. 311the tag will be associated with your email address.
298 312
@@ -370,7 +384,7 @@ will be assigned proper numbers).
370NB you cannot clone a merged bug. You'd think that trying to do so 384NB you cannot clone a merged bug. You'd think that trying to do so
371would just give you an unmerged copy of the specified bug number, but no: 385would just give you an unmerged copy of the specified bug number, but no:
372 386
373http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474742 387https://bugs.debian.org/474742
374 388
375You must unmerge, clone, then re-merge. 389You must unmerge, clone, then re-merge.
376 390
@@ -407,21 +421,21 @@ reassign 1234 emacs
407Note that reassigning clears the list of found versions, even if the 421Note that reassigning clears the list of found versions, even if the
408new packages includes the original one. 422new 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:
411reassign 123 spam 425reassign 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:
416retitle 123 Some New Title 430retitle 123 Some New Title
417 431
418** To change the submitter address: 432*** To change the submitter address:
419submitter 123 none@example.com 433submitter 123 none@example.com
420 434
421Note that it does not seem to work to specify "Submitter:" in the 435Note that it does not seem to work to specify "Submitter:" in the
422pseudo-header when first reporting a bug. 436pseudo-header when first reporting a bug.
423 437
424** How does archiving work? 438*** How does archiving work?
425You can still send mail to a bug after it is closed. After 28 days with 439You can still send mail to a bug after it is closed. After 28 days with
426no activity, the bug is archived, at which point no more changes can 440no activity, the bug is archived, at which point no more changes can
427be made. If you try to send mail to the bug after that (or merge with 441be 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
487https://lists.gnu.org/archive/html/emacs-devel/2009-11/msg00440.html 501https://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.
507Getting mail from the Emacs bug list into the tracker requires the 521Getting mail from the Emacs bug list into the tracker requires the
508assistance of sysadmin at gnu.org. The test tracker set-up was, I 522assistance of sysadmin at gnu.org. The test tracker set-up was, I
509think, [gnu.org #359140]: 523think, [gnu.org #359140]:
510https://lists.gnu.org/archive/html/savannah-hackers/2008-03/msg00074.html 524https://lists.gnu.org/r/savannah-hackers/2008-03/msg00074.html
511https://lists.gnu.org/archive/html/savannah-hackers/2008-04/msg00034.html 525https://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].
514There are two pieces (replace AT with @ in the following): 528There are two pieces (replace AT with @ in the following):
@@ -552,7 +566,7 @@ https://savannah.nongnu.org/projects/listhelper
552 566
553An "X-Debbugs-Envelope-To" header is used to keep track of where the 567An "X-Debbugs-Envelope-To" header is used to keep track of where the
554mail was actually bound for: 568mail was actually bound for:
555https://lists.gnu.org/archive/html/emacs-devel/2009-11/msg01211.html 569https://lists.gnu.org/r/emacs-devel/2009-11/msg01211.html
556 570
557** Mailing list recipient/sender filters. 571** Mailing list recipient/sender filters.
558The following mailman filters are useful to stop messages being 572The 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 @@
1Copyright (C) 2007-2017 Free Software Foundation, Inc. 1Copyright (C) 2007-2022 Free Software Foundation, Inc.
2See the end of the file for license conditions. 2See 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
86that we need not add notices to each image file individually, if they 86that we need not add notices to each image file individually, if they
87allow for that.). It is recommended to use the word "convert" to 87allow for that.). It is recommended to use the word "convert" to
88describe the automatic process of changing an image from one format to 88describe the automatic process of changing an image from one format to
89another (https://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00618.html). 89another (https://lists.gnu.org/r/emacs-devel/2007-02/msg00618.html).
90 90
91 91
92When installing a file with an "unusual" license (after checking first 92When installing a file with an "unusual" license (after checking first
@@ -159,10 +159,7 @@ etc/future-bug
159 159
160etc/letter.pbm,letter.xpm 160etc/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
164etc/FTP, ORDERS
165 - trivial (at time of writing), no license needed
166 163
167etc/HELLO 164etc/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
216lisp/cedet/semantic/imenu.el 213lisp/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
307should include a copy of it, so that they can be distributed 304should include a copy of it, so that they can be distributed
308separately. faq.texi has a different license, for some reason no-one 305separately. faq.texi has a different license, for some reason no-one
309can remember. 306can remember.
310https://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00583.html 307https://lists.gnu.org/r/emacs-devel/2007-04/msg00583.html
311https://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00618.html 308https://lists.gnu.org/r/emacs-devel/2007-04/msg00618.html
312 309
313doc/misc/mh-e.texi is dual-licensed (GPL and GFDL) per agreement with 310doc/misc/mh-e.texi is dual-licensed (GPL and GFDL) per agreement with
314FSF (reconfirmed by rms Aug 25 2008). Discussion with 311FSF (reconfirmed by rms Aug 25 2008). Discussion with
@@ -353,9 +350,7 @@ added or not, rms says (2007-02-25, "oldXmenu issues"):
353insque.c had no copyright notice until 2005. The version of insque.c 350insque.c had no copyright notice until 2005. The version of insque.c
354added to Emacs 1992-01-27 is essentially the same as insremque.c added 351added to Emacs 1992-01-27 is essentially the same as insremque.c added
355to glic three days later by Roland McGrath, with an FSF copyright and 352to glic three days later by Roland McGrath, with an FSF copyright and
356GPL, but no ChangeLog entry: 353GPL, but no ChangeLog entry.
357<http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/misc/insremque.c?\
358rev=1.1&cvsroot=glibc>
359To the best of his recollection, McGrath (who has a copyright 354To the best of his recollection, McGrath (who has a copyright
360assignment) was the author of this file (email from roland at frob.com 355assignment) was the author of this file (email from roland at frob.com
361to rms, 2007-02-23, "Where did insque.c come from?"). The FSF 356to 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
399src/unexhp9k800.c 394src/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
407lisp/progmodes/python.el 402lisp/progmodes/python.el
408Dave Love alerted us to a potential legal problem: 403Dave Love alerted us to a potential legal problem:
409https://lists.gnu.org/archive/html/emacs-pretest-bug/2007-04/msg00459.html 404https://lists.gnu.org/r/emacs-pretest-bug/2007-04/msg00459.html
410 405
411On consultation with a lawyer, we found there was no problem: 406On consultation with a lawyer, we found there was no problem:
412https://lists.gnu.org/archive/html/emacs-devel/2007-05/msg00466.html 407https://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.
527The EMACS_22_BASE branch was changed to GPLv3 (or later) 2007/07/25. 522The EMACS_22_BASE branch was changed to GPLv3 (or later) 2007/07/25.
528 523
529Some notes: 524Some 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
5321. There are some files in the Emacs tree which are not part of Emacs (eg 5271. There are some files in the Emacs tree which are not part of Emacs (eg
533those included from Gnulib). These are all copyright FSF and (at time 528those 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
8https://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00400.html 8https://lists.gnu.org/r/emacs-devel/2008-10/msg00400.html
9 9
10For example, this text: 10For 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
54https://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00414.html 54https://lists.gnu.org/r/emacs-devel/2008-10/msg00414.html
55 55
56In Emacs tradition, we treat "point" as a proper name when it refers 56In Emacs tradition, we treat "point" as a proper name when it refers
57to the current editing location. It should not have an article. 57to 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
68https://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00414.html 68https://lists.gnu.org/r/emacs-devel/2008-10/msg00414.html
69 69
70Documentation is clearer if it avoids the passive voice whenever 70Documentation is clearer if it avoids the passive voice whenever
71possible. For example, rather than saying "Point does not move", say 71possible. 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
83https://lists.gnu.org/archive/html/emacs-devel/2008-11/msg00893.html 83https://lists.gnu.org/r/emacs-devel/2008-11/msg00893.html
84 84
85The usefulness of Antinews is to help people who buy the printed 85The usefulness of Antinews is to help people who buy the printed
86manual and are still using the previous Emacs version. That's why we 86manual 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
94https://lists.gnu.org/archive/html/emacs-devel/2008-11/msg01054.html 94https://lists.gnu.org/r/emacs-devel/2008-11/msg01054.html
95 95
96Since the purpose of Antinews is to help people use the previous Emacs 96Since the purpose of Antinews is to help people use the previous Emacs
97version, there is usually no need to mention features that are simply 97version, 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
114the old version without some sort of help. 114the 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'.
117https://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00649.html 117https://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
11Changes to this branch propagate to elpa.gnu.org via a "deployment" script run 10That leaves the elpa/packages directory empty; you must check out the
12daily. This script (which is kept in elpa/admin/update-archive.sh) generates 11ones you want.
13the content visible at https://elpa.gnu.org/packages.
14 12
15A new package is released as soon as the "version number" of that package is 13If you wish to check out all the packages into the packages directory,
16changed. So you can use 'elpa' to work on a package without fear of releasing 14you can run the command:
17those changes prematurely. And once the code is ready, just bump the 15
18version number to make a new release of the package. 16 make worktrees
17
18You can check out a specific package <pkgname> into the packages
19directory with:
20
21 make packages/<pkgname>
22
23
24Changes to this repository propagate to elpa.gnu.org via a
25"deployment" script run daily. This script generates the content
26visible at https://elpa.gnu.org/packages.
27
28A new package is released as soon as the "version number" of that
29package is changed. So you can use 'elpa' to work on a package
30without fear of releasing those changes prematurely. And once the
31code is ready, just bump the version number to make a new release of
32the package.
19 33
20It is easy to use the elpa branch to deploy a "local" copy of the 34It is easy to use the elpa branch to deploy a "local" copy of the
21package archive. For details, see the README file in the elpa branch. 35package 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
3Copyright (C) 2019-2022 Free Software Foundation, Inc.
4See the end of the file for license conditions.
5
6NOTES FOR EMACS CONTINUOUS BUILD ON EMBA
7
8A continuous build for Emacs can be found at
9<https://emba.gnu.org/emacs/emacs>, a Gitlab instance. It watches the
10Emacs git repository and starts a pipeline (jobset) if there are new
11changes. This happens for all Emacs branches which belong to the
12defined workflow (see below).
13
14* Mail notifications
15
16In addition to the web interface, emba can send notifications by email
17when a job fails. It sends notifications about test status to
18<emacs-buildstatus@gnu.org>.
19
20If you want to receive these notifications, please subscribe at
21<https://lists.gnu.org/mailman/listinfo/emacs-buildstatus>.
22
23Alternatively, these notifications can be read via gmane at
24<nntp+news.gmane.org:gmane.emacs.buildstatus>.
25
26The 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
31The 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
36Only 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
40A jobset on Gitlab is called a pipeline. Emacs pipelines run through
41the stages 'build-images', 'platform-images' and 'native-comp-images'
42(create an Emacs instance by 'make bootstrap' with different
43configuration parameters) as well as 'normal', 'platforms' and
44'native-comp' (run respective test jobs based on the produced images).
45
46The 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
49resulting file should be pushed to the Emacs git repository afterwards.
50
51Every job runs in a Debian docker container. It uses the local clone
52of the Emacs git repository to perform a bootstrap and test of Emacs.
53This could happen for several jobs with changed configuration, compile,
54and test parameters.
55
56The 'build-image-*' jobs of the different '*-images' stages run only
57if there are severe changes in the Emacs sources, like in Makefiles
58etc. Otherwise they are skipped, and the corresponding 'test-*' jobs
59run just 'make -C test ...' in the respective Docker image from a
60previous build run.
61
62Jobs in the 'build-images' and 'normal' stages are triggered by
63changes of respective files in the Emacs git repository. All other
64jobs run scheduled in a pipeline every 8 hours.
65
66The log files for every test job are kept on the server for a week.
67They can be downloaded from the server, visiting the URL
68<https://emba.gnu.org/emacs/emacs/-/pipelines>, and selecting the job
69in question.
70
71Every pipeline generates a JUnit test report for the respective test
72jobs, which can be inspected on the pipeline web page. This test
73report counts completed ERT tests, aborted tests are not counted.
74
75* Emba configuration
76
77The emba configuration files are hosted on
78<https://gitlab.com/emacs-ci/emba-ansible>.
79
80* Identifying emba
81
82Lisp packages, Makefiles, scripts, and other software could determine
83whether they run on emba by checking for the environment variable
84EMACS_EMBA_CI.
85
86
87This file is part of GNU Emacs.
88
89GNU Emacs is free software: you can redistribute it and/or modify
90it under the terms of the GNU General Public License as published by
91the Free Software Foundation, either version 3 of the License, or
92(at your option) any later version.
93
94GNU Emacs is distributed in the hope that it will be useful,
95but WITHOUT ANY WARRANTY; without even the implied warranty of
96MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
97GNU General Public License for more details.
98
99You should have received a copy of the GNU General Public License
100along 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 @@
1Copyright (C) 2002-2017 Free Software Foundation, Inc.
2See the end of the file for license conditions.
3
4
5New font handling mechanism with font backend method
6----------------------------------------------------
7
8The 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
27So we already have codes for X and w32. For Mac it seems that we need
28these files:
29 atmfont.c -- font-driver on mac using ATM fonts, corresponding
30 to xfont.c
31As 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
36But, as FreeType already supports BDF fonts, if FreeType and
37Fontconfig 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
41It may be interesting if Emacs supports a frame buffer directly and
42has these font driver.
43 ftfbfont.c -- font-driver on FB for FreeType fonts.
44 bdffbfont.c -- font-driver on FB for BDF fonts.
45
46Note: The fontset related codes are not yet matured to work well with
47the font backend method. So, for instance, even if you start Emacs
48as something like this:
49 % emacs -fn tahoma
50Non-ASCII Latin characters will not be displayed by the font "tahoma".
51In such a case, please try this:
52
53(set-fontset-font "fontset-default" 'latin '("tahoma" . "unicode-bmp"))
54
55
56This file is part of GNU Emacs.
57
58GNU Emacs is free software: you can redistribute it and/or modify
59it under the terms of the GNU General Public License as published by
60the Free Software Foundation, either version 3 of the License, or
61(at your option) any later version.
62
63GNU Emacs is distributed in the hope that it will be useful,
64but WITHOUT ANY WARRANTY; without even the implied warranty of
65MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
66GNU General Public License for more details.
67
68You should have received a copy of the GNU General Public License
69along 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
2neither git-new-workdir nor merge-changelog are in the Emacs
3distribution yet.)
4
5Setting up and using git for normal, simple bugfixing 1Setting up and using git for normal, simple bugfixing
6===================================================== 2=====================================================
7 3
@@ -12,22 +8,22 @@ git config --global user.email "fchu@example.com"
12git config --global transfer.fsckObjects true 8git 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]
16for more details about why that last line is there.) 12for more details about why that last line is there.)
17 13
18Initial setup 14Initial setup
19============= 15=============
20 16
21Then we want to clone the repository. We normally want to have both 17Then we want to clone the repository. We normally want to have both
22the current master and the emacs-26 branch. 18the current master and (if there is one) the active release branch
19(eg emacs-28).
23 20
24mkdir ~/emacs 21mkdir ~/emacs
25cd ~/emacs 22cd ~/emacs
26git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master 23git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master
27(cd master; git config push.default current) 24cd master
28./master/admin/git-new-workdir master emacs-26 25git config push.default current
29cd emacs-26 26git worktree add ../emacs-28 emacs-28
30git checkout emacs-26
31 27
32You now have both branches conveniently accessible, and you can do 28You 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
57as described in ../../CONTRIBUTE. 53as described in ../../CONTRIBUTE.
58 54
59 55
60Backporting to emacs-26 56Backporting to release branch
61======================= 57=============================
62 58
63If you have applied a fix to the master, but then decide that it should 59If you have applied a fix to the master, but then decide that it should
64be applied to the emacs-26 branch, too, then 60be applied to the release branch, too, then
65 61
66cd ~/emacs/master 62cd ~/emacs/master
67git log 63git log
@@ -71,7 +67,7 @@ which will look like
71 67
72commit 958b768a6534ae6e77a8547a56fc31b46b63710b 68commit 958b768a6534ae6e77a8547a56fc31b46b63710b
73 69
74cd ~/emacs/emacs-26 70cd ~/emacs/emacs-28
75git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b 71git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b
76 72
77and add "Backport:" to the commit string. Then 73and add "Backport:" to the commit string. Then
@@ -79,17 +75,28 @@ and add "Backport:" to the commit string. Then
79git push 75git push
80 76
81 77
82Merging emacs-26 to the master 78Reverting on release branch
83============================== 79===========================
80
81If a commit is made to the release branch, and then it is later
82decided that this change should only be on the master branch, the
83simplest way to handle this is to revert the commit on the release
84branch, and include in the associated log entry "do not merge to master".
85(Otherwise, the reversion may get merged to master, and inadvertently
86clobber the change on master if it has been manually made there.)
87
88
89Merging release branch to the master
90====================================
84 91
85It is recommended to use the file gitmerge.el in the admin directory 92It is recommended to use the file gitmerge.el in the admin directory
86for merging 'emacs-26' into 'master'. It will take care of many 93for merging the release branch into 'master'. It will take care of many
87things which would otherwise have to be done manually, like ignoring 94things which would otherwise have to be done manually, like ignoring
88commits that should not land in master, fixing up ChangeLogs and 95commits that should not land in master, fixing up ChangeLogs and
89automatically dealing with certain types of conflicts. If you really 96automatically dealing with certain types of conflicts. If you really
90want to, you can do the merge manually, but then you're on your own. 97want to, you can do the merge manually, but then you're on your own.
91If you still choose to do that, make absolutely sure that you *always* 98If you still choose to do that, make absolutely sure that you *always*
92use the 'merge' command to transport commits from 'emacs-26' to 99use 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
94shouldn't manually do the merge in the first place; just use 101shouldn't manually do the merge in the first place; just use
95gitmerge.el instead. 102gitmerge.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
104You'll be asked for the branch to merge, which will default to 111You'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
106branch is discouraged, since it might not be up-to-date, or worse, 113branch is discouraged, since it might not be up-to-date, or worse,
107contain commits from you which are not yet pushed upstream. 114contain commits from you which are not yet pushed upstream.
108 115
109You will now see the list of commits from 'emacs-26' which are not yet 116You will now see the list of commits from the release branch that are not yet
110merged to 'master'. You might also see commits that are already 117merged to 'master'. You might also see commits that are already
111marked for "skipping", which means that they will be merged with a 118marked for "skipping", which means that they will be merged with a
112different merge strategy ('ours'), which will effectively ignore the 119different 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
3Copyright (C) 2013-2017 Free Software Foundation, Inc. 3Copyright (C) 2013-2022 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6NOTES FOR EMACS CONTINUOUS BUILD ON HYDRA 6NOTES 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.
12Sometimes jobs fail due to hydra problems rather than Emacs problems. 12Sometimes jobs fail due to hydra problems rather than Emacs problems.
13Eg it seems like the darwin build will never work again.
14https://lists.gnu.org/archive/html/hydra-users/2016-01/msg00000.html
15 13
16* Mail notifications 14* Mail notifications
17In addition to the web interface, Hydra can send notifications by 15In addition to the web interface, Hydra can send notifications by
@@ -22,6 +20,8 @@ Emacs trunk to emacs-buildstatus@gnu.org.
22If you want to receive these notifications, please subscribe at 20If you want to receive these notifications, please subscribe at
23https://lists.gnu.org/mailman/listinfo/emacs-buildstatus 21https://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
3Copyright (C) 2007-2017 Free Software Foundation, Inc. 3Copyright (C) 2007-2022 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6From README.multi-tty in the multi-tty branch. 6From README.multi-tty in the multi-tty branch.
@@ -171,7 +171,11 @@ preload-emacs "$name" wait
171name="$1" 171name="$1"
172waitp="$2" 172waitp="$2"
173screendir="/var/run/screen/S-$USER" 173screendir="/var/run/screen/S-$USER"
174serverdir="/tmp/emacs$UID" 174if [ "${XDG_RUNTIME_DIR+set}" ]; then
175 serverdir="$XDG_RUNTIME_DIR/emacs"
176else
177 serverdir="${TMPDIR-/tmp}/emacs$UID"
178fi
175emacs=/usr/bin/emacs-multi-tty # Or wherever you installed your multi-tty Emacs 179emacs=/usr/bin/emacs-multi-tty # Or wherever you installed your multi-tty Emacs
176 180
177if [ -z "$name" ]; then 181if [ -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:
65Currently ctrl-g is not detected in as many circumstances as other emacsen. 65Currently ctrl-g is not detected in as many circumstances as other emacsen.
66It is not certain whether this is due to the means of event loop integration, 66It is not certain whether this is due to the means of event loop integration,
67or errors of omission in the NS code. This is an area for improvement. 67or errors of omission in the NS code. This is an area for improvement.
68Also, see the article here and its containing thread:
69
70http://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.
11Installing things manually into more than one branch makes merges more 11Installing things manually into more than one branch makes merges more
12difficult. 12difficult.
13 13
14https://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01124.html 14https://lists.gnu.org/r/emacs-devel/2010-03/msg01124.html
15 15
16The exception is, if you know that the change will be difficult to 16The exception is, if you know that the change will be difficult to
17merge to the master (eg because the master code has changed a lot). 17merge to the master (eg because the master code has changed a lot).
@@ -40,7 +40,7 @@ so interim merges are unnecessary.
40Or use shelves; or rebase; or do something else. See the thread for 40Or use shelves; or rebase; or do something else. See the thread for
41yet another fun excursion into the exciting world of version control. 41yet another fun excursion into the exciting world of version control.
42 42
43https://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00086.html 43https://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 @@
1Re "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
3to several GNU projects. So many of them had no relevance to Emacs, 3to several GNU projects. So many of them had no relevance to Emacs,
4and hence were removed. See: 4and hence were removed. See:
5 5
6https://lists.gnu.org/archive/html/emacs-devel/2012-04/msg00042.html 6https://lists.gnu.org/r/emacs-devel/2012-04/msg00042.html
7 7
8In the unlikely event that you need them, the removed tags were: 8In 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
3Copyright (C) 2002-2017 Free Software Foundation, Inc. 3Copyright (C) 2002-2022 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6Importing a new Unicode Standard version into Emacs 6Importing 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
21First, the first 7 files need to be copied into admin/unidata/, and 28Emacs also uses the file emoji-test.txt which should be imported from
22then Emacs should be rebuilt for them to take effect. Rebuilding 29the Unicode's Public/emoji/ directory, and IdnaMappingTable.txt from
30the Public/idna/ directory.
31
32First, the first 14 files, emoji-test.txt and IdnaMappingTable.txt
33need to be copied into admin/unidata/, and the file
34https://www.unicode.org/copyright.html should be copied over
35copyright.html in admin/unidata (some of them might need trailing
36whitespace removed before they can be committed to the Emacs
37repository).
38
39Next, review the assignment of default values of the Bidi Class
40property to blocks in the file extracted/DerivedBidiClass.txt from the
41UCD (search for "unassigned" in that file). Any changes should be
42reflected in the unidata-gen.el file, where it sets up the default
43values around line 210.
44
45Then Emacs should be rebuilt for them to take effect. Rebuilding
23Emacs updates several derived files elsewhere in the Emacs source 46Emacs updates several derived files elsewhere in the Emacs source
24tree, mainly in lisp/international/. 47tree, mainly in lisp/international/.
25 48
@@ -28,7 +51,10 @@ files, pay attention to any warning or error messages. In particular,
28admin/unidata/unidata-gen.el will complain if UnicodeData.txt defines 51admin/unidata/unidata-gen.el will complain if UnicodeData.txt defines
29new bidirectional attributes of characters, because unidata-gen.el, 52new bidirectional attributes of characters, because unidata-gen.el,
30bidi.c and dispextern.h need to be updated in that case; failure to do 53bidi.c and dispextern.h need to be updated in that case; failure to do
31so will cause aborts in redisplay. 54so will cause aborts in redisplay. unidata-gen.el will also complain
55if the format of the Unicode Copyright notice in copyright.html
56changed in significant ways; in that case, update the regular
57expression in unidata-gen-file used to extract the copyright string.
32 58
33Next, review the changes in UnicodeData.txt vs the previous version 59Next, review the changes in UnicodeData.txt vs the previous version
34used by Emacs. Any changes, be it introduction of new scripts or 60used 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
41The setting of char-width-table around line 1200 of characters.el 67The setting of char-width-table around line 1200 of characters.el
42should be checked against the latest version of the Unicode file 68should be checked against the latest version of the Unicode file
43EastAsianWidth.txt, and any discrepancies fixed. 69EastAsianWidth.txt, and any discrepancies fixed: double-width
70characters are those marked with W or F in that file. Zero-width
71characters are not taken from EastAsianWidth.txt, they are those whose
72Unicode General Category property is one of Mn, Me, or Cf, and also
73Hangul jungseong and jongseong characters (a.k.a. "Jamo medial vowels"
74and "Jamo final consonants").
44 75
45Any new scripts added by UnicodeData.txt will also need updates to 76Any new scripts added by UnicodeData.txt will also need updates to
46script-representative-chars defined in fontset.el, and also the list 77script-representative-chars defined in fontset.el, and also the list
47of OTF script tags in otf-script-alist, whose source is on this page: 78of 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
51Other databases in fontset.el might also need to be updated as needed. 82Other databases in fontset.el might also need to be updated as needed.
83One notable place to check is the function setup-default-fontset,
84where new scripts will generally need some addition, most probably to
85the list of "simple" scripts (search for "Simple").
52 86
53The function 'ucs-names', defined in lisp/international/mule-cmds.el, 87The function 'ucs-names', defined in lisp/international/mule-cmds.el,
54might need to be updated because it knows about used and unused ranges 88might need to be updated because it knows about used and unused ranges
@@ -65,7 +99,51 @@ regarding failing lines.
65 99
66The file BidiCharacterTest.txt should be copied to the test suite, and 100The file BidiCharacterTest.txt should be copied to the test suite, and
67if its format has changed, the file biditest.el there should be 101if its format has changed, the file biditest.el there should be
68modified to follow suit. 102modified to follow suit. If there's trailing whitespace in
103BidiCharacterTest.txt, it should be removed before committing the new
104version.
105
106src/macuvs.h is a generated file, but if it has changed as a result
107of the updates, please commit it as well (see
108admin/unidata/Makefile.in for an explanation).
109
110Visit "emoji-data.txt" with the rebuilt Emacs, and check that an
111appropriate font is being used for the emoji (by default Emacs uses
112"Noto Color Emoji"). Running the following command in that buffer
113will give you an idea of which codepoints are not supported by
114whichever 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.
118This must be run from a buffer in the format of emoji-data.txt.
119FONT-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
136Visit "emoji-zwj-sequences.txt" and "emoji-sequences.txt" with the
137rebuilt Emacs, and check that the sample sequences are composed
138properly. Also check the Unicode style chart file available at
139https://unicode.org/emoji/charts/emoji-style.txt for any issues
140involving VS-15 and VS-16, if so you may need to update the value
141generated for auto-composition-emoji-eligible-codepoints by
142admin/unidata/emoji-zwj.awk. Note that your emoji font might not have
143glyphs for the newest codepoints yet.
144
145Finally, etc/NEWS should be updated to announce the support for the
146new Unicode version.
69 147
70Problems, fixmes and other unicode-related issues 148Problems, 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 @@
1GNU EMACS VERSIONING -*- org -*- 1GNU EMACS VERSIONING -*- org -*-
2 2
3Ref: https://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html 3Ref: https://lists.gnu.org/r/emacs-devel/2014-09/msg00872.html
4 4
5Emacs version numbers have the form 5Emacs 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
3Copyright (C) 2013-2017 Free Software Foundation, Inc. 3Copyright (C) 2013-2022 Free Software Foundation, Inc.
4See the end of the file for license conditions. 4See the end of the file for license conditions.
5 5
6NOTES FOR EMACS WWW PAGES 6NOTES FOR EMACS WWW PAGES
7 7
8* Access
9
10Anyone with write access to the Emacs code repository has the same
11access to the web pages. See <https://savannah.gnu.org/cvs/?group=emacs>
12for instructions. After you commit a change to the CVS repository,
13it normally appears automatically on www.gnu.org within a few minutes.
14The basic procedure is:
15
16Initial checkout:
17cvs -z3 -d:ext:<membername>@cvs.savannah.gnu.org:/web/emacs co emacs
18
19Update from repository:
20cvs up -dP
21
22You can use Emacs's VC mode to commit files without having to worry
23about knowing CVS syntax. You may find M-x cvs-examine a useful,
24more specialized, alternative to M-x vc-dir.
25
26* Manual pages
27
28The scripts admin/make-manuals, admin/upload-manuals can be used to do
29a complete update of the on-line manual pages (e.g. after a release).
30
8* Renaming pages, redirects 31* Renaming pages, redirects
9 32
10Sometimes you want to move a page to a new location. 33Sometimes 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
64single redirect for every given external manual, you can redirect 87single redirect for every given external manual, you can redirect
65html_node to hmtl_node and html_mono to html_mono. 88html_node to hmtl_node and html_mono to html_mono.
66 89
90* Why CVS?
91
92Savannah supports other VCS, and no-one is especially attached to CVS.
93Rather, CVS is the only supported mechanism for getting the changes
94onto www.gnu.org. See eg
95https://lists.gnu.org/r/bug-gnulib/2012-12/msg00072.html
96
97* CVS alternatives
98
99To use something other than CVS, convert the web-pages CVS repository
100to the other VCS, then set up a two-way sync between them.
101It needs to be two-way in case eg GNU webmasters make a change to the CVS.
102Ref e.g.
103https://github.com/mikjo/bigitr
104https://lists.gnu.org/r/savannah-hackers-public/2013-04/msg00022.html
67 105
68 106
69This file is part of GNU Emacs. 107This 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
3Maintaining copyright years is now very simple: every time a new year 3Maintaining copyright years is now very simple: every time a new year
4rolls around, add that year to every FSF (and AIST) copyright notice. 4rolls around, add that year to every FSF (and AIST) copyright notice.
5Do this by running the 'admin/update-copyright' script on a fresh repo 5Do this by running the 'admin/update-copyright' script on a fresh repo
6checkout. Inspect the results for plausibility, then commit them. 6checkout, redirecting its output to a file, so that you could later
7examine the files that don't have copyright notices. Inspect the
8results for plausibility, then commit them.
9
10A 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
27These files need to be updated by hand.
28
29Next, run "M-x set-copyright" from admin.el, which updates several
30copyright notices in the Emacs sources.
31
32You should also run the etags test suite in test/manual/etags/. It
33will most probably fail because the contents of the test files changes
34due to copyright years update, so you need to move each ETAGS and
35CTAGS file produced by the test runs into the corresponding
36ETAGS.good* and CTAGS.good files, and then commit the new test files.
7 37
8There's no need to worry about whether an individual file has changed 38There's no need to worry about whether an individual file has changed
9in a given year - it's sufficient that Emacs as a whole has changed. 39in 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>