diff options
| author | Bill Wohler | 2014-02-23 18:04:35 -0800 |
|---|---|---|
| committer | Bill Wohler | 2014-02-23 18:04:35 -0800 |
| commit | 3e93bafb95608467e438ba7f725fd1f020669f8c (patch) | |
| tree | f2f90109f283e06a18caea3cb2a2623abcfb3a92 /admin/notes | |
| parent | 791c0d7634e44bb92ca85af605be84ff2ae08963 (diff) | |
| parent | e918e27fdf331e89268fc2c9d7cf838d3ecf7aa7 (diff) | |
| download | emacs-3e93bafb95608467e438ba7f725fd1f020669f8c.tar.gz emacs-3e93bafb95608467e438ba7f725fd1f020669f8c.zip | |
Merge from trunk; up to 2014-02-23T23:41:17Z!lekktu@gmail.com.
Diffstat (limited to 'admin/notes')
| -rw-r--r-- | admin/notes/bugtracker | 30 | ||||
| -rw-r--r-- | admin/notes/bzr | 82 | ||||
| -rw-r--r-- | admin/notes/changelogs | 2 | ||||
| -rw-r--r-- | admin/notes/commits | 9 | ||||
| -rw-r--r-- | admin/notes/copyright | 2 | ||||
| -rw-r--r-- | admin/notes/elpa | 25 | ||||
| -rw-r--r-- | admin/notes/font-backend | 2 | ||||
| -rw-r--r-- | admin/notes/hydra | 66 | ||||
| -rw-r--r-- | admin/notes/lel-TODO | 2 | ||||
| -rw-r--r-- | admin/notes/multi-tty | 2 | ||||
| -rw-r--r-- | admin/notes/unicode | 140 | ||||
| -rw-r--r-- | admin/notes/www | 82 | ||||
| -rw-r--r-- | admin/notes/years | 6 |
13 files changed, 412 insertions, 38 deletions
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker index ee385f4dd75..7947b17973b 100644 --- a/admin/notes/bugtracker +++ b/admin/notes/bugtracker | |||
| @@ -8,7 +8,8 @@ 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 instead. | 11 | If you want to Cc someone, use an "X-Debbugs-CC" header (or |
| 12 | pseudo-header, see below) instead. | ||
| 12 | 13 | ||
| 13 | ** How do I comment on a bug? | 14 | ** How do I comment on a bug? |
| 14 | Reply to a mail on the bug-gnu-emacs list in the normal way. | 15 | Reply to a mail on the bug-gnu-emacs list in the normal way. |
| @@ -52,8 +53,8 @@ i) Your report will be assigned a number and generate an automatic reply. | |||
| 52 | ii) Optionally, you can set some database parameters when you first | 53 | ii) Optionally, you can set some database parameters when you first |
| 53 | report a bug (see "Setting bug parameters" below). | 54 | report a bug (see "Setting bug parameters" below). |
| 54 | 55 | ||
| 55 | iii) If you want to CC: someone, use X-Debbugs-CC: (this is important; | 56 | iii) If you want to CC: someone, use X-Debbugs-CC: (note this only |
| 56 | see below). | 57 | applies to _new_ reports, not followups). |
| 57 | 58 | ||
| 58 | Once your report is filed and assigned a number, it is sent out to the | 59 | Once your report is filed and assigned a number, it is sent out to the |
| 59 | bug mailing list. In some cases, it may be appropriate to just file a | 60 | bug mailing list. In some cases, it may be appropriate to just file a |
| @@ -92,18 +93,21 @@ but create duplicates and errors. (It is possible, but unlikely, that | |||
| 92 | you might want to have a dialog with the owner address, outside of | 93 | you might want to have a dialog with the owner address, outside of |
| 93 | normal bug reporting.) | 94 | normal bug reporting.) |
| 94 | 95 | ||
| 95 | ** When reporting a bug, to send a Cc to another address | 96 | ** When reporting a new bug, to send a Cc to another address |
| 96 | (e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header. | 97 | (e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header. |
| 97 | Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a | 98 | Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a |
| 98 | mail with the bug report number in. If you do not do this, each reply | 99 | mail with the bug report number in. If you do not do this, each reply |
| 99 | in the subsequent discussion will end up creating a new bug. | 100 | in the subsequent discussion might end up creating a new bug. |
| 100 | This is annoying. | 101 | 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 | ||
| 103 | better to use X-Debbugs-CC.) | ||
| 101 | 104 | ||
| 102 | (So annoying that a form of message-id tracking has been implemented | 105 | Like any X-Debbugs- header, this one can also be specified in the |
| 103 | to hopefully stop this happening, but it is still better to use X-Debbugs-CC.) | 106 | pseudo-header (see below), if your mail client does not let you add |
| 107 | "X-" headers. | ||
| 104 | 108 | ||
| 105 | If a new report contains X-Debbugs-CC in the input, this is | 109 | If a new report contains X-Debbugs-CC in the input, this is |
| 106 | converted to a real Cc header in the output. (See Bug#1720). | 110 | converted to a real Cc header in the output. (See Bug#1780,5384) |
| 107 | It is also merged into the Resent-CC header (see below). | 111 | It is also merged into the Resent-CC header (see below). |
| 108 | 112 | ||
| 109 | ** How does Debbugs send out mails? | 113 | ** How does Debbugs send out mails? |
| @@ -218,8 +222,8 @@ Package: emacs | |||
| 218 | Version: 23.0.60 | 222 | Version: 23.0.60 |
| 219 | Severity: minor | 223 | Severity: minor |
| 220 | 224 | ||
| 221 | This can also include tags. Some things (e.g. submitter) don't seem to | 225 | This can also include tags, or any X-Debbugs- setting. |
| 222 | work here. | 226 | Some things (e.g. submitter) don't seem to work here. |
| 223 | 227 | ||
| 224 | Otherwise, send mail to the control server, control@debbugs.gnu.org. | 228 | Otherwise, send mail to the control server, control@debbugs.gnu.org. |
| 225 | At the start of the message body, supply the desired commands, one per | 229 | At the start of the message body, supply the desired commands, one per |
| @@ -627,7 +631,9 @@ following headers: | |||
| 627 | 631 | ||
| 628 | 1) The leading envelope From line. | 632 | 1) The leading envelope From line. |
| 629 | 2) Message-ID (get it from /var/log/mailman/vette). | 633 | 2) Message-ID (get it from /var/log/mailman/vette). |
| 630 | 3) X-Debbugs-Envelope-To: submit | 634 | 3) X-Debbugs-Envelope-To: xxx |
| 635 | For a new report, xxx = submit; for a control message, xxx = control; | ||
| 636 | for a reply to bug#123, xxx = 123 | ||
| 631 | 637 | ||
| 632 | Then pipe it to receive as above. | 638 | Then pipe it to receive as above. |
| 633 | 639 | ||
diff --git a/admin/notes/bzr b/admin/notes/bzr index f35ff95f9d6..a3a125cd675 100644 --- a/admin/notes/bzr +++ b/admin/notes/bzr | |||
| @@ -316,3 +316,85 @@ When finished, use | |||
| 316 | bzr bisect reset | 316 | bzr bisect reset |
| 317 | 317 | ||
| 318 | or simply delete the entire branch if you created it just for this. | 318 | or simply delete the entire branch if you created it just for this. |
| 319 | |||
| 320 | * Commit emails | ||
| 321 | |||
| 322 | ** Old method: bzr-hookless-email | ||
| 323 | https://launchpad.net/bzr-hookless-email | ||
| 324 | |||
| 325 | Runs hourly via cron. Must ask Savannah admins to enable/disable it | ||
| 326 | for each branch. Stores the last revision that it mailed as | ||
| 327 | last_revision_mailed in branch.conf on the server. Breaks with bzr 2.6: | ||
| 328 | |||
| 329 | http://lists.gnu.org/archive/html/savannah-hackers-public/2013-05/msg00000.html | ||
| 330 | |||
| 331 | Fix from https://bugs.launchpad.net/bzr-hookless-email/+bug/988195 | ||
| 332 | only partially works. Breaks again on every merge commit: | ||
| 333 | |||
| 334 | https://lists.ubuntu.com/archives/bazaar/2013q2/075520.html | ||
| 335 | http://lists.gnu.org/archive/html/savannah-hackers-public/2013-05/msg00024.html | ||
| 336 | |||
| 337 | You can force it to skip the merge commit by changing the value for | ||
| 338 | last_revision_mailed, eg: | ||
| 339 | |||
| 340 | bzr config last_revision_mailed=xfq.free@gmail.com-20130603233720-u1aumaxvf3o0rlai -d bzr+ssh://USERNAME@bzr.savannah.gnu.org/emacs/trunk/ | ||
| 341 | |||
| 342 | ** New method: bzr-email plugin | ||
| 343 | https://launchpad.net/bzr-email | ||
| 344 | http://lists.gnu.org/archive/html/savannah-hackers-public/2013-06/msg00007.html | ||
| 345 | |||
| 346 | Runs on commit. Projects can enable it themselves by using `bzr | ||
| 347 | config' to set post_commit_to option for a branch. See `bzr help email' | ||
| 348 | (if you have the plugin installed) for other options. | ||
| 349 | |||
| 350 | The From: address will be that of your Savannah account, rather than | ||
| 351 | your `bzr whoami' information. | ||
| 352 | |||
| 353 | Note: if you have the bzr-email plugin installed locally, then when | ||
| 354 | you commit to the Emacs repository it will also try to send a commit | ||
| 355 | email from your local machine. If your machine is not configured to | ||
| 356 | send external mail, this will just fail. In any case, you may prefer | ||
| 357 | to either remove the plugin from your machine, or disable it for Emacs | ||
| 358 | branches. You can do this either by editing branch.conf in your Emacs | ||
| 359 | branches, to override the server setting (untested; not sure this | ||
| 360 | works), or by adding an entry to ~/.bazaar/locations.conf: | ||
| 361 | |||
| 362 | [bzr+ssh://USERNAME@bzr.savannah.gnu.org/emacs/*/] | ||
| 363 | post_commit_to = "" | ||
| 364 | |||
| 365 | You have to use locations.conf rather than bazaar.conf because the | ||
| 366 | latter has a lower priority than branch.conf. | ||
| 367 | |||
| 368 | * Using git-bzr | ||
| 369 | |||
| 370 | ** initially | ||
| 371 | |||
| 372 | You can use Git locally to talk to the Bazaar repo as a "remote" repo | ||
| 373 | via git-bzr (aka git-remote-bzr). Initial clone: | ||
| 374 | |||
| 375 | git clone bzr::bzr+ssh://USER@bzr.sv.gnu.org/emacs/trunk e | ||
| 376 | |||
| 377 | This creates the working dir e/ (with subdir .git, etc). Disk usage | ||
| 378 | is 13G (as of early 2014), so you will probably want to repack: | ||
| 379 | |||
| 380 | git repack -a -d -f --window=250 --depth=250 --window-memory=N | ||
| 381 | |||
| 382 | where N is chosen to avoid swapping. E.g., given 512MB RAM, N="200m" | ||
| 383 | results in "du -sh .git" => 559M, about double the smallest reported | ||
| 384 | value (obtained with "deprecated" command "git gc --aggressive"). | ||
| 385 | |||
| 386 | ** steady-state | ||
| 387 | |||
| 388 | Use "fetch", "pull" and other remote-to-local commands as usual. | ||
| 389 | |||
| 390 | For "push", the Emacs Bazaar repo is configured with | ||
| 391 | |||
| 392 | append_revisions_only = True | ||
| 393 | |||
| 394 | so some versions of git-remote-bzr may raise AppendRevisionsOnlyViolation | ||
| 395 | (in func do_export) instead of displaying a "non fast-forward" message | ||
| 396 | and skipping the branch. See: | ||
| 397 | |||
| 398 | http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00436.html | ||
| 399 | |||
| 400 | which includes a provisional patch to git-remote-bzr to do that. | ||
diff --git a/admin/notes/changelogs b/admin/notes/changelogs index 2e954570ce8..1025cfc217f 100644 --- a/admin/notes/changelogs +++ b/admin/notes/changelogs | |||
| @@ -5,6 +5,8 @@ entry in their name, not yours. | |||
| 5 | http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00793.html | 5 | http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00793.html |
| 6 | There is no need to make change log entries for files such as NEWS, | 6 | There is no need to make change log entries for files such as NEWS, |
| 7 | MAINTAINERS, and FOR-RELEASE. | 7 | MAINTAINERS, and FOR-RELEASE. |
| 8 | "There is no need" means you don't have to, but you can if you want to. | ||
| 9 | |||
| 8 | 10 | ||
| 9 | http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg01135.html | 11 | http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg01135.html |
| 10 | There is no need to indicate regeneration of files such as configure | 12 | There is no need to indicate regeneration of files such as configure |
diff --git a/admin/notes/commits b/admin/notes/commits index 2c6f80c56f0..f33c6905d4c 100644 --- a/admin/notes/commits +++ b/admin/notes/commits | |||
| @@ -45,6 +45,15 @@ Date: Tue, 31 Mar 2009 12:21:20 +0900 | |||
| 45 | for modern source-control systems with a global log, it's better to | 45 | for modern source-control systems with a global log, it's better to |
| 46 | have something like "Regenerate configure". | 46 | have something like "Regenerate configure". |
| 47 | 47 | ||
| 48 | (4) (Added in 2014) In commit comments, and ChangeLog files, it is best | ||
| 49 | to use ways of identifying revisions that are not dependent on a | ||
| 50 | particular version control system. (At time of writing Emacs is | ||
| 51 | about to move to its fourth VCS and another move in the future is | ||
| 52 | not impossible.) An excellent way to identify commits is by | ||
| 53 | quoting their summary line. Another is with an action stamp - an | ||
| 54 | RFC3339 date followed by ! followed by the committer's email - for | ||
| 55 | example, "2014-01-16T05:43:35Z!esr@thyrsus.com". Often, "my | ||
| 56 | previous commit" will suffice. | ||
| 48 | 57 | ||
| 49 | Followup discussion: | 58 | Followup discussion: |
| 50 | http://lists.gnu.org/archive/html/emacs-devel/2010-01/msg00897.html | 59 | http://lists.gnu.org/archive/html/emacs-devel/2010-01/msg00897.html |
diff --git a/admin/notes/copyright b/admin/notes/copyright index 3a404b69678..a54bcb6108b 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | Copyright (C) 2007-2013 Free Software Foundation, Inc. | 1 | Copyright (C) 2007-2014 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 | ||
diff --git a/admin/notes/elpa b/admin/notes/elpa index db14456fe32..469a0ca8bd1 100644 --- a/admin/notes/elpa +++ b/admin/notes/elpa | |||
| @@ -1,24 +1,21 @@ | |||
| 1 | NOTES ON THE EMACS PACKAGE ARCHIVE | 1 | NOTES ON THE EMACS PACKAGE ARCHIVE |
| 2 | 2 | ||
| 3 | The GNU Emacs package archive, at elpa.gnu.org, is managed using a Bzr | 3 | The GNU Emacs package archive, at elpa.gnu.org, is managed using a Git |
| 4 | branch named "elpa", hosted on Savannah. To check it out: | 4 | repository named "elpa", hosted on Savannah. To check it out: |
| 5 | 5 | ||
| 6 | bzr branch bzr+ssh://USER@bzr.savannah.gnu.org/emacs/elpa elpa | 6 | git clone git://bzr.sv.gnu.org/emacs/elpa |
| 7 | cd elpa | 7 | cd elpa |
| 8 | echo "public_branch = bzr+ssh://USER@bzr.savannah.gnu.org/emacs/elpa" >> .bzr/branch/branch.conf | 8 | git remote set-url --push origin git+ssh://bzr.sv.gnu.org/srv/git/emacs/elpa |
| 9 | bzr bind bzr+ssh://USERNAME@bzr.savannah.gnu.org/emacs/elpa | ||
| 10 | [create task branch for edits, etc.] | 9 | [create task branch for edits, etc.] |
| 11 | 10 | ||
| 12 | Changes to this branch propagate to elpa.gnu.org in a semi-manual way. | 11 | Changes to this branch propagate to elpa.gnu.org via a "deployment" script run |
| 13 | There exists a copy of the elpa branch on that machine. Someone with | 12 | daily. This script (which is kept in elpa/admin/update-archive.sh) generates |
| 14 | access logs in, pulls the latest changes from Savannah, and runs a | 13 | the content visible at http://elpa.gnu.org/packages. |
| 15 | "deployment" script. This script (which is itself kept in the Bzr | ||
| 16 | branch) generates the content visible at http://elpa.gnu.org/packages. | ||
| 17 | 14 | ||
| 18 | The reason we set things up this way, instead of using the package | 15 | A new package is released as soon as the "version number" of that package is |
| 19 | upload commands in package-x.el, is to let Emacs hackers conveniently | 16 | changed. So you can use `elpa' to work on a package without fear of releasing |
| 20 | edit the contents of the "elpa" branch. (In particular, multi-file | 17 | those changes prematurely. And once the code is ready, just bump the |
| 21 | packages are stored on the branch in source form, not as tarfiles.) | 18 | version number to make a new release of the package. |
| 22 | 19 | ||
| 23 | It is easy to use the elpa branch to deploy a "local" copy of the | 20 | It is easy to use the elpa branch to deploy a "local" copy of the |
| 24 | package archive. For details, see the README file in the elpa branch. | 21 | package archive. For details, see the README file in the elpa branch. |
diff --git a/admin/notes/font-backend b/admin/notes/font-backend index cdf2001580d..5c36cf08c62 100644 --- a/admin/notes/font-backend +++ b/admin/notes/font-backend | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | Copyright (C) 2002-2013 Free Software Foundation, Inc. | 1 | Copyright (C) 2002-2014 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 | ||
diff --git a/admin/notes/hydra b/admin/notes/hydra new file mode 100644 index 00000000000..3b6bc87a2f6 --- /dev/null +++ b/admin/notes/hydra | |||
| @@ -0,0 +1,66 @@ | |||
| 1 | -*- outline -*- | ||
| 2 | |||
| 3 | Copyright (C) 2013-2014 Free Software Foundation, Inc. | ||
| 4 | See the end of the file for license conditions. | ||
| 5 | |||
| 6 | NOTES FOR EMACS CONTINUOUS BUILD ON HYDRA | ||
| 7 | |||
| 8 | A continuous build for Emacs can be found at | ||
| 9 | http://hydra.nixos.org/jobset/gnu/emacs-trunk | ||
| 10 | http://hydra.nixos.org/jobset/gnu/emacs-24 | ||
| 11 | |||
| 12 | * It builds Emacs on various platforms. | ||
| 13 | Sometimes jobs fail due to hydra problems rather than Emacs problems. | ||
| 14 | Eg it seems like the cygwin build will never work again. | ||
| 15 | http://lists.gnu.org/archive/html/hydra-users/2013-08/msg00000.html | ||
| 16 | |||
| 17 | * Mail notifications | ||
| 18 | In addition to the web interface, Hydra can send notifications by | ||
| 19 | email when the build status of a project changes—e.g., from | ||
| 20 | `SUCCEEDED' to `FAILED'. It sends notifications about build status in | ||
| 21 | Emacs trunk to emacs-buildstatus@gnu.org. | ||
| 22 | |||
| 23 | If you want to receive these notifications, please subscribe at | ||
| 24 | http://lists.gnu.org/mailman/listinfo/emacs-buildstatus | ||
| 25 | |||
| 26 | * The Emacs jobset consists of the following jobs: | ||
| 27 | |||
| 28 | ** The `tarball' job | ||
| 29 | which gets a checkout from bzr, and does a bootstrap followed | ||
| 30 | by running make-dist to create a tarball. If this job fails, all the | ||
| 31 | others will too (because they use the tarball as input). | ||
| 32 | |||
| 33 | ** The `build' job | ||
| 34 | which starts from the tarball and does a normal build | ||
| 35 | |||
| 36 | ** The 'coverage' job | ||
| 37 | does a gcov build and then runs `make check'. Fails if any test fails. | ||
| 38 | |||
| 39 | * Nix expressions | ||
| 40 | The recipe for GNU Emacs are available via Git: | ||
| 41 | http://git.savannah.gnu.org/cgit/hydra-recipes.git/tree/emacs | ||
| 42 | |||
| 43 | To modify the build job, email the patch to hydra-users@gnu.org. The | ||
| 44 | build recipes are written in the Nix language. | ||
| 45 | |||
| 46 | * Other Information | ||
| 47 | For a list of other GNU packages that have a continuous build on | ||
| 48 | Hydra, see http://hydra.nixos.org/project/gnu | ||
| 49 | |||
| 50 | See http://www.gnu.org/software/devel.html#Hydra for more information. | ||
| 51 | |||
| 52 | |||
| 53 | This file is part of GNU Emacs. | ||
| 54 | |||
| 55 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 56 | it under the terms of the GNU General Public License as published by | ||
| 57 | the Free Software Foundation, either version 3 of the License, or | ||
| 58 | (at your option) any later version. | ||
| 59 | |||
| 60 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 61 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 62 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 63 | GNU General Public License for more details. | ||
| 64 | |||
| 65 | You should have received a copy of the GNU General Public License | ||
| 66 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
diff --git a/admin/notes/lel-TODO b/admin/notes/lel-TODO index 2c6d86a4ffd..4a4ccb5e6e8 100644 --- a/admin/notes/lel-TODO +++ b/admin/notes/lel-TODO | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | Some lisp/emacs-lisp/ Features and Where They Are Documented | 1 | Some lisp/emacs-lisp/ Features and Where They Are Documented |
| 2 | 2 | ||
| 3 | Copyright (C) 2007-2013 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2014 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 | 6 | ||
diff --git a/admin/notes/multi-tty b/admin/notes/multi-tty index c4edd3abc93..dff788351a9 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-2013 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2014 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. |
diff --git a/admin/notes/unicode b/admin/notes/unicode index 21704c78a00..654580639f7 100644 --- a/admin/notes/unicode +++ b/admin/notes/unicode | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | -*-mode: text; coding: latin-1;-*- | 1 | -*-mode: text; coding: utf-8;-*- |
| 2 | 2 | ||
| 3 | Copyright (C) 2002-2013 Free Software Foundation, Inc. | 3 | Copyright (C) 2002-2014 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 | Problems, fixmes and other unicode-related issues | 6 | Problems, fixmes and other unicode-related issues |
| @@ -12,9 +12,9 @@ regard to completeness. | |||
| 12 | 12 | ||
| 13 | * SINGLE_BYTE_CHAR_P returns true for Latin-1 characters, which has | 13 | * SINGLE_BYTE_CHAR_P returns true for Latin-1 characters, which has |
| 14 | undesirable effects. E.g.: | 14 | undesirable effects. E.g.: |
| 15 | (multibyte-string-p (let ((s "x")) (aset s 0 ?£) s)) => nil | 15 | (multibyte-string-p (let ((s "x")) (aset s 0 ?£) s)) => nil |
| 16 | (multibyte-string-p (concat [?£])) => nil | 16 | (multibyte-string-p (concat [?£])) => nil |
| 17 | (text-char-description ?£) => "M-#" | 17 | (text-char-description ?£) => "M-#" |
| 18 | 18 | ||
| 19 | These examples are all fixed by the change of 2002-10-14, but | 19 | These examples are all fixed by the change of 2002-10-14, but |
| 20 | there still exist questionable SINGLE_BYTE_CHAR_P in the | 20 | there still exist questionable SINGLE_BYTE_CHAR_P in the |
| @@ -77,7 +77,7 @@ regard to completeness. | |||
| 77 | spelling and calendar, but that's not a Unicode issue.) | 77 | spelling and calendar, but that's not a Unicode issue.) |
| 78 | 78 | ||
| 79 | * Handle Unicode combining characters usefully, e.g. diacritics, and | 79 | * Handle Unicode combining characters usefully, e.g. diacritics, and |
| 80 | handle more scripts specifically (à la Devanagari). There are | 80 | handle more scripts specifically (Ã la Devanagari). There are |
| 81 | issues with canonicalization. | 81 | issues with canonicalization. |
| 82 | 82 | ||
| 83 | * We need tabular input methods, e.g. for maths symbols. (Not | 83 | * We need tabular input methods, e.g. for maths symbols. (Not |
| @@ -98,6 +98,134 @@ regard to completeness. | |||
| 98 | * Old auto-save files, and similar files, such as Gnus drafts, | 98 | * Old auto-save files, and similar files, such as Gnus drafts, |
| 99 | containing non-ASCII characters probably won't be re-read correctly. | 99 | containing non-ASCII characters probably won't be re-read correctly. |
| 100 | 100 | ||
| 101 | |||
| 102 | Source file encoding | ||
| 103 | -------------------- | ||
| 104 | |||
| 105 | Most Emacs source files are encoded in UTF-8 (or in ASCII, which is a | ||
| 106 | subset), but there are a few exceptions, listed below. Perhaps | ||
| 107 | someday many of these files will be converted to UTF-8, for | ||
| 108 | convenience when using tools like 'grep -r', but this might need | ||
| 109 | nontrivial changes to the build process. | ||
| 110 | |||
| 111 | * chinese-big5 | ||
| 112 | |||
| 113 | These are verbatim copies of files taken from external sources. | ||
| 114 | They haven't been converted to UTF-8. | ||
| 115 | |||
| 116 | leim/CXTERM-DIC/4Corner.tit | ||
| 117 | leim/CXTERM-DIC/ARRAY30.tit | ||
| 118 | leim/CXTERM-DIC/ECDICT.tit | ||
| 119 | leim/CXTERM-DIC/ETZY.tit | ||
| 120 | leim/CXTERM-DIC/PY-b5.tit | ||
| 121 | leim/CXTERM-DIC/Punct-b5.tit | ||
| 122 | leim/CXTERM-DIC/QJ-b5.tit | ||
| 123 | leim/CXTERM-DIC/ZOZY.tit | ||
| 124 | leim/MISC-DIC/CTLau-b5.html | ||
| 125 | leim/MISC-DIC/cangjie-table.b5 | ||
| 126 | |||
| 127 | * chinese-iso-8bit | ||
| 128 | |||
| 129 | These are verbatim copies of files taken from external sources. | ||
| 130 | They haven't been converted to UTF-8. | ||
| 131 | |||
| 132 | leim/CXTERM-DIC/CCDOSPY.tit | ||
| 133 | leim/CXTERM-DIC/Punct.tit | ||
| 134 | leim/CXTERM-DIC/QJ.tit | ||
| 135 | leim/CXTERM-DIC/SW.tit | ||
| 136 | leim/CXTERM-DIC/TONEPY.tit | ||
| 137 | leim/MISC-DIC/pinyin.map | ||
| 138 | leim/MISC-DIC/CTLau.html | ||
| 139 | leim/MISC-DIC/ziranma.cin | ||
| 140 | |||
| 141 | * cp850 | ||
| 142 | |||
| 143 | This file contains non-ASCII characters in unibyte strings. When | ||
| 144 | editing a keyboard layout it's more convenient to see 'é' than | ||
| 145 | '\202', and the MS-DOS compiler requires the single byte if a | ||
| 146 | backslash escape is not being used. | ||
| 147 | |||
| 148 | src/msdos.c | ||
| 149 | |||
| 150 | * iso-2022-cn-ext | ||
| 151 | |||
| 152 | This file is externally generated from leim/MISC-DIC/cangjie-table.b5 | ||
| 153 | by Big5->CNS converter. It hasn't been converted to UTF-8. | ||
| 154 | |||
| 155 | leim/MISC-DIC/cangjie-table.cns | ||
| 156 | |||
| 157 | * iso-latin-2 | ||
| 158 | |||
| 159 | These files are processed by csplain, a program that requires | ||
| 160 | Latin-2 input. In 2012 the csplain maintainers started | ||
| 161 | recommending UTF-8, but these files haven't been converted yet. | ||
| 162 | |||
| 163 | etc/refcards/cs-dired-ref.tex | ||
| 164 | etc/refcards/cs-refcard.tex | ||
| 165 | etc/refcards/cs-survival.tex | ||
| 166 | etc/refcards/sk-dired-ref.tex | ||
| 167 | etc/refcards/sk-refcard.tex | ||
| 168 | etc/refcards/sk-survival.tex | ||
| 169 | |||
| 170 | * japanese-iso-8bit | ||
| 171 | |||
| 172 | SKK-JISYO.L is a verbatim copy of a file taken from an external source. | ||
| 173 | It hasn't been converted to UTF-8. | ||
| 174 | |||
| 175 | leim/SKK-DIC/SKK-JISYO.L | ||
| 176 | |||
| 177 | * japanese-shift-jis | ||
| 178 | |||
| 179 | This is a verbatim copy of a file taken from an external source. | ||
| 180 | It hasn't been converted to UTF-8. | ||
| 181 | |||
| 182 | admin/charsets/mapfiles/cns2ucsdkw.txt | ||
| 183 | |||
| 184 | * no-conversion | ||
| 185 | |||
| 186 | This file purposely contains arbitrary bytes interspersed within text, | ||
| 187 | to test whether the Emacs distribution is corrupted. | ||
| 188 | |||
| 189 | lib-src/testfile | ||
| 190 | |||
| 191 | * iso-2022-7bit | ||
| 192 | |||
| 193 | This file switches between CJK charsets, which is not encoded in UTF-8. | ||
| 194 | |||
| 195 | etc/HELLO | ||
| 196 | |||
| 197 | Each of these files contains just one CJK charset, but Emacs | ||
| 198 | currently has no easy way to specify set-charset-priority on a | ||
| 199 | per-file basis, so converting any of these files to UTF-8 might | ||
| 200 | change the file's appearance when viewed by an Emacs that is | ||
| 201 | operating in some other language environment. | ||
| 202 | |||
| 203 | etc/tutorials/TUTORIAL.ja | ||
| 204 | leim/quail/cyril-jis.el | ||
| 205 | leim/quail/hanja-jis.el | ||
| 206 | leim/quail/japanese.el | ||
| 207 | leim/quail/py-punct.el | ||
| 208 | leim/quail/pypunct-b5.el | ||
| 209 | lisp/international/ja-dic-cnv.el | ||
| 210 | lisp/international/ja-dic-utl.el | ||
| 211 | lisp/international/kinsoku.el | ||
| 212 | lisp/international/kkc.el | ||
| 213 | lisp/international/titdic-cnv.el | ||
| 214 | lisp/language/japan-util.el | ||
| 215 | lisp/language/japanese.el | ||
| 216 | lisp/term/x-win.el | ||
| 217 | |||
| 218 | * utf-8-emacs | ||
| 219 | |||
| 220 | These files contain characters that cannot be encoded in UTF-8. | ||
| 221 | |||
| 222 | leim/quail/tibetan.el | ||
| 223 | leim/quail/ethiopic.el | ||
| 224 | lisp/international/titdic-cnv.el | ||
| 225 | lisp/language/tibetan.el | ||
| 226 | lisp/language/tibet-util.el | ||
| 227 | lisp/language/ind-util.el | ||
| 228 | |||
| 101 | 229 | ||
| 102 | This file is part of GNU Emacs. | 230 | This file is part of GNU Emacs. |
| 103 | 231 | ||
diff --git a/admin/notes/www b/admin/notes/www new file mode 100644 index 00000000000..4d092ca7fa0 --- /dev/null +++ b/admin/notes/www | |||
| @@ -0,0 +1,82 @@ | |||
| 1 | -*- outline -*- | ||
| 2 | |||
| 3 | Copyright (C) 2013-2014 Free Software Foundation, Inc. | ||
| 4 | See the end of the file for license conditions. | ||
| 5 | |||
| 6 | NOTES FOR EMACS WWW PAGES | ||
| 7 | |||
| 8 | * Renaming pages, redirects | ||
| 9 | |||
| 10 | Sometimes you want to move a page to a new location. | ||
| 11 | If the old location might be referenced somewhere else, you should add | ||
| 12 | some form of redirect to the new location. There are several ways to | ||
| 13 | do this: | ||
| 14 | |||
| 15 | ** Use a refresh directive in the old file | ||
| 16 | https://www.gnu.org/server/standards/README.webmastering.html#htaccess | ||
| 17 | |||
| 18 | Change the entire contents of the old file to be something like: | ||
| 19 | |||
| 20 | <meta http-equiv="refresh" content="0; url=/software/emacs/manual/elisp.html"> | ||
| 21 | |||
| 22 | I can't think of any reason to use this method. | ||
| 23 | |||
| 24 | ** Use a .symlinks file | ||
| 25 | https://www.gnu.org/server/standards/README.webmastering.html#symlinks | ||
| 26 | |||
| 27 | This is really an interface to mod_rewrite rules, but it acts like | ||
| 28 | symlinks. Remove old-page.html altogether, and create a ".symlinks" | ||
| 29 | file in the relevant directory, with contents of the form: | ||
| 30 | |||
| 31 | # This is a comment line. | ||
| 32 | old-page.html new-page.html | ||
| 33 | |||
| 34 | Anyone visiting old-page.html will be shown the contents of new-page.html. | ||
| 35 | Note that changes to .symlinks file are only updated periodically on | ||
| 36 | the server via cron (twice an hour?). So there will be a delay (of up | ||
| 37 | to 30 minutes?) before you see your changes take effect. | ||
| 38 | |||
| 39 | This method is ok, but: | ||
| 40 | i) a person visiting old-page.html has no idea that the page has moved. | ||
| 41 | They still see old-page.html in their address bar. (In other words, | ||
| 42 | the mod_rewrite rule does not use the [R] flag.) Sometimes this is | ||
| 43 | what you want, sometimes not. | ||
| 44 | |||
| 45 | ii) it doesn't work right if the new page is in a different directory | ||
| 46 | to the old page: relative links from the visited page will break. | ||
| 47 | |||
| 48 | ** Use a .htaccess file | ||
| 49 | |||
| 50 | Remove old-page.html altogether, and create a ".htaccess" file in the | ||
| 51 | relevant directory, with contents of the form: | ||
| 52 | |||
| 53 | # This is a comment line. | ||
| 54 | Redirect 301 /software/emacs/old-page.html /software/emacs/dir/new-page.html | ||
| 55 | |||
| 56 | Use "301" for a permanent redirection, otherwise you can omit the number. | ||
| 57 | Note that paths must (?) be relative to the top-level www.gnu.org. | ||
| 58 | |||
| 59 | I think this is the best method. You can specify temporary or | ||
| 60 | permanent redirects, and changes go live more-or-less straight away. | ||
| 61 | |||
| 62 | This method is useful for making cross-references to non-Emacs manuals | ||
| 63 | work; see manual/.htaccess in the repository. You only have to add a | ||
| 64 | single redirect for every given external manual, you can redirect | ||
| 65 | html_node to hmtl_node and html_mono to html_mono. | ||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | This file is part of GNU Emacs. | ||
| 70 | |||
| 71 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 72 | it under the terms of the GNU General Public License as published by | ||
| 73 | the Free Software Foundation, either version 3 of the License, or | ||
| 74 | (at your option) any later version. | ||
| 75 | |||
| 76 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 77 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 78 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 79 | GNU General Public License for more details. | ||
| 80 | |||
| 81 | You should have received a copy of the GNU General Public License | ||
| 82 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
diff --git a/admin/notes/years b/admin/notes/years index e6b38c5aefd..342fe9e2307 100644 --- a/admin/notes/years +++ b/admin/notes/years | |||
| @@ -2,6 +2,8 @@ HOW TO MAINTAIN COPYRIGHT YEARS FOR GNU EMACS | |||
| 2 | 2 | ||
| 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 bzr | ||
| 6 | checkout. Inspect the results for plausibility, then commit them. | ||
| 5 | 7 | ||
| 6 | There's no need to worry about whether an individual file has changed | 8 | There's no need to worry about whether an individual file has changed |
| 7 | in a given year - it's sufficient that Emacs as a whole has changed. | 9 | in a given year - it's sufficient that Emacs as a whole has changed. |
| @@ -28,10 +30,10 @@ but should keep the full list in a comment in the source. | |||
| 28 | since Emacs 21 came out in 2001, all the subsequent years[1]. We don't | 30 | since Emacs 21 came out in 2001, all the subsequent years[1]. We don't |
| 29 | need to check whether *that file* was changed in those years. | 31 | need to check whether *that file* was changed in those years. |
| 30 | It's sufficient that *Emacs* was changed in those years (and it was!). | 32 | It's sufficient that *Emacs* was changed in those years (and it was!). |
| 31 | 33 | ||
| 32 | For those files that have been added since then, we should add | 34 | For those files that have been added since then, we should add |
| 33 | the year it was added to Emacs, and all subsequent years." | 35 | the year it was added to Emacs, and all subsequent years." |
| 34 | 36 | ||
| 35 | --RMS, 2005-07-13 | 37 | --RMS, 2005-07-13 |
| 36 | 38 | ||
| 37 | [1] Note that this includes 2001 - see | 39 | [1] Note that this includes 2001 - see |