diff options
| author | Yuuki Harano | 2021-11-11 00:39:53 +0900 |
|---|---|---|
| committer | Yuuki Harano | 2021-11-11 00:39:53 +0900 |
| commit | 4dd1f56f29fc598a8339a345c2f8945250600602 (patch) | |
| tree | af341efedffe027e533b1bcc0dbf270532e48285 /admin/notes | |
| parent | 4c49ec7f865bdad1629d2f125f71f4e506b258f2 (diff) | |
| parent | 810fa21d26453f898de9747ece7205dfe6de9d08 (diff) | |
| download | emacs-4dd1f56f29fc598a8339a345c2f8945250600602.tar.gz emacs-4dd1f56f29fc598a8339a345c2f8945250600602.zip | |
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs into feature/pgtk
Diffstat (limited to 'admin/notes')
| -rw-r--r-- | admin/notes/bugtracker | 2 | ||||
| -rw-r--r-- | admin/notes/emba | 22 | ||||
| -rw-r--r-- | admin/notes/git-workflow | 8 | ||||
| -rw-r--r-- | admin/notes/multi-tty | 2 | ||||
| -rw-r--r-- | admin/notes/unicode | 60 |
5 files changed, 73 insertions, 21 deletions
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker index 9eb65e1f864..deb06f552cc 100644 --- a/admin/notes/bugtracker +++ b/admin/notes/bugtracker | |||
| @@ -84,7 +84,7 @@ generate a new report. The only time to send mail to the bug list | |||
| 84 | address is to create a new report. | 84 | address is to create a new report. |
| 85 | 85 | ||
| 86 | Gnus users can add the following to message-dont-reply-to-names; | 86 | Gnus users can add the following to message-dont-reply-to-names; |
| 87 | similarly with Rmail and rmail-dont-reply-to-names: | 87 | similarly with Rmail and mail-dont-reply-to-names: |
| 88 | 88 | ||
| 89 | "\\(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\\|\ |
| 90 | \\(submit\\|control\\|owner\\)@debbugs\\.gnu\\.org" | 90 | \\(submit\\|control\\|owner\\)@debbugs\\.gnu\\.org" |
diff --git a/admin/notes/emba b/admin/notes/emba index 36b126e7735..4e500bc92cf 100644 --- a/admin/notes/emba +++ b/admin/notes/emba | |||
| @@ -31,20 +31,26 @@ The Emacs jobset is defined in the Emacs source tree, file | |||
| 31 | '.gitlab-ci.yml'. It could be adapted for every Emacs branch, see | 31 | '.gitlab-ci.yml'. It could be adapted for every Emacs branch, see |
| 32 | <https://emba.gnu.org/help/ci/yaml/README.md>. | 32 | <https://emba.gnu.org/help/ci/yaml/README.md>. |
| 33 | 33 | ||
| 34 | A jobset on Gitlab is called pipeline. Emacs pipelines run through | ||
| 35 | the stages 'build-images', 'platform-images' and 'native-comp-images' | ||
| 36 | (create an Emacs instance by 'make bootstrap' with different | ||
| 37 | configuration parameters) as well as 'normal', 'slow', 'platforms' and | ||
| 38 | 'native-comp' (run respective test jobs based on the produced images). | ||
| 39 | |||
| 34 | Every job runs in a Debian docker container. It uses the local clone | 40 | Every job runs in a Debian docker container. It uses the local clone |
| 35 | of the Emacs git repository to perform a bootstrap and test of Emacs. | 41 | of the Emacs git repository to perform a bootstrap and test of Emacs. |
| 36 | This could happen for several jobs with changed configuration, compile | 42 | This could happen for several jobs with changed configuration, compile |
| 37 | and test parameters. | 43 | and test parameters. |
| 38 | 44 | ||
| 39 | There are different types of jobs: 'prep-image-base' is responsible to | 45 | The 'build-image-*' jobs of the different '*-images' stages run only |
| 40 | prepare the environment for the following jobs. 'build-image-*' jobs | 46 | if there are severe changes in the Emacs sources, like in Makefiles |
| 41 | are responsible to compile Emacs in different configuration. The | 47 | etc. Otherwise they are skipped, and the corresponding 'test-*' jobs |
| 42 | corresponding 'test-*' jobs run the ert tests. | 48 | run just 'make -C test ...' in the respective Docker image from a |
| 49 | previous build run. | ||
| 43 | 50 | ||
| 44 | A special job is 'test-all-inotify', which runs 'make check-expensive'. | 51 | Jobs in the 'build-images' and 'normal' stages are triggered by |
| 45 | While most of the jobs run as soon as a respective file has been | 52 | changes of respective files in the Emacs git repository. All other |
| 46 | committed into the Emacs git repository, this test job runs scheduled, | 53 | jobs run scheduled in a pipeline every 8 hours. |
| 47 | every 8 hours. | ||
| 48 | 54 | ||
| 49 | The log files for every test job are kept on the server for a week. | 55 | The log files for every test job are kept on the server for a week. |
| 50 | They can be downloaded from the server, visiting the URL | 56 | They can be downloaded from the server, visiting the URL |
diff --git a/admin/notes/git-workflow b/admin/notes/git-workflow index d109cdaa354..265a106bad5 100644 --- a/admin/notes/git-workflow +++ b/admin/notes/git-workflow | |||
| @@ -16,14 +16,14 @@ Initial setup | |||
| 16 | 16 | ||
| 17 | Then we want to clone the repository. We normally want to have both | 17 | Then we want to clone the repository. We normally want to have both |
| 18 | the current master and (if there is one) the active release branch | 18 | the current master and (if there is one) the active release branch |
| 19 | (eg emacs-27). | 19 | (eg emacs-28). |
| 20 | 20 | ||
| 21 | mkdir ~/emacs | 21 | mkdir ~/emacs |
| 22 | cd ~/emacs | 22 | cd ~/emacs |
| 23 | git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master | 23 | git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master |
| 24 | cd master | 24 | cd master |
| 25 | git config push.default current | 25 | git config push.default current |
| 26 | git worktree add ../emacs-27 emacs-27 | 26 | git worktree add ../emacs-28 emacs-28 |
| 27 | 27 | ||
| 28 | You now have both branches conveniently accessible, and you can do | 28 | You now have both branches conveniently accessible, and you can do |
| 29 | "git pull" in them once in a while to keep updated. | 29 | "git pull" in them once in a while to keep updated. |
| @@ -67,7 +67,7 @@ which will look like | |||
| 67 | 67 | ||
| 68 | commit 958b768a6534ae6e77a8547a56fc31b46b63710b | 68 | commit 958b768a6534ae6e77a8547a56fc31b46b63710b |
| 69 | 69 | ||
| 70 | cd ~/emacs/emacs-27 | 70 | cd ~/emacs/emacs-28 |
| 71 | git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b | 71 | git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b |
| 72 | 72 | ||
| 73 | and add "Backport:" to the commit string. Then | 73 | and add "Backport:" to the commit string. Then |
| @@ -109,7 +109,7 @@ up-to-date by doing a pull. Then start Emacs with | |||
| 109 | emacs -l admin/gitmerge.el -f gitmerge | 109 | emacs -l admin/gitmerge.el -f gitmerge |
| 110 | 110 | ||
| 111 | You'll be asked for the branch to merge, which will default to | 111 | You'll be asked for the branch to merge, which will default to |
| 112 | (eg) 'origin/emacs-27', which you should accept. Merging a local tracking | 112 | (eg) 'origin/emacs-28', which you should accept. Merging a local tracking |
| 113 | branch is discouraged, since it might not be up-to-date, or worse, | 113 | branch is discouraged, since it might not be up-to-date, or worse, |
| 114 | contain commits from you which are not yet pushed upstream. | 114 | contain commits from you which are not yet pushed upstream. |
| 115 | 115 | ||
diff --git a/admin/notes/multi-tty b/admin/notes/multi-tty index 1a337b9d799..fa4df820ae4 100644 --- a/admin/notes/multi-tty +++ b/admin/notes/multi-tty | |||
| @@ -474,7 +474,7 @@ THINGS TO DO | |||
| 474 | definition. | 474 | definition. |
| 475 | 475 | ||
| 476 | Exceptions found so far: x-select-text and | 476 | Exceptions found so far: x-select-text and |
| 477 | x-cut-buffer-or-selection-value. | 477 | x-selection-value (old name: x-cut-buffer-or-selection-value). |
| 478 | 478 | ||
| 479 | ** Have a look at fatal_error_hook. | 479 | ** Have a look at fatal_error_hook. |
| 480 | 480 | ||
diff --git a/admin/notes/unicode b/admin/notes/unicode index bcede9c6ed1..be51d09d37a 100644 --- a/admin/notes/unicode +++ b/admin/notes/unicode | |||
| @@ -12,17 +12,23 @@ Emacs uses the following files from the Unicode Character Database | |||
| 12 | . UnicodeData.txt | 12 | . UnicodeData.txt |
| 13 | . Blocks.txt | 13 | . Blocks.txt |
| 14 | . BidiBrackets.txt | 14 | . BidiBrackets.txt |
| 15 | . BidiCharacterTest.txt | ||
| 16 | . BidiMirroring.txt | 15 | . BidiMirroring.txt |
| 17 | . IVD_Sequences.txt | 16 | . IVD_Sequences.txt |
| 18 | . NormalizationTest.txt | 17 | . NormalizationTest.txt |
| 19 | . SpecialCasing.txt | 18 | . SpecialCasing.txt |
| 19 | . emoji-data.txt | ||
| 20 | . emoji-zwj-sequences.txt | ||
| 21 | . emoji-sequences.txt | ||
| 22 | . BidiCharacterTest.txt | ||
| 23 | |||
| 24 | Emacs also uses the file emoji-test.txt which should be imported from | ||
| 25 | the Unicode's Public/emoji/ directory. | ||
| 20 | 26 | ||
| 21 | First, the first 7 files need to be copied into admin/unidata/, and | 27 | First, the first 10 files and emoji-test.txt need to be copied into |
| 22 | the file https://www.unicode.org/copyright.html should be copied over | 28 | admin/unidata/, and the file https://www.unicode.org/copyright.html |
| 23 | copyright.html in admin/unidata (that file might need trailing | 29 | should be copied over copyright.html in admin/unidata (some of them |
| 24 | whitespace removed before it can be committed to the Emacs | 30 | might need trailing whitespace removed before they can be committed to |
| 25 | repository). | 31 | the Emacs repository). |
| 26 | 32 | ||
| 27 | Then Emacs should be rebuilt for them to take effect. Rebuilding | 33 | Then Emacs should be rebuilt for them to take effect. Rebuilding |
| 28 | Emacs updates several derived files elsewhere in the Emacs source | 34 | Emacs updates several derived files elsewhere in the Emacs source |
| @@ -81,7 +87,47 @@ regarding failing lines. | |||
| 81 | 87 | ||
| 82 | The file BidiCharacterTest.txt should be copied to the test suite, and | 88 | The file BidiCharacterTest.txt should be copied to the test suite, and |
| 83 | if its format has changed, the file biditest.el there should be | 89 | if its format has changed, the file biditest.el there should be |
| 84 | modified to follow suit. | 90 | modified to follow suit. If there's trailing whitespace in |
| 91 | BidiCharacterTest.txt, it should be removed before committing the new | ||
| 92 | version. | ||
| 93 | |||
| 94 | Visit "emoji-data.txt" with the rebuilt Emacs, and check that an | ||
| 95 | appropriate font is being used for the emoji (by default Emacs uses | ||
| 96 | "Noto Color Emoji"). Running the following command in that buffer | ||
| 97 | will give you an idea of which codepoints are not supported by | ||
| 98 | whichever font Emacs is using. | ||
| 99 | |||
| 100 | (defun check-emoji-coverage (font-name-regexp) | ||
| 101 | "Display a buffer containing emoji codepoints for which FONT-NAME is not used. | ||
| 102 | This must be run from a buffer in the format of emoji-data.txt. | ||
| 103 | FONT-NAME-REGEXP is checked using `string-match'." | ||
| 104 | (interactive "MFont Name: ") | ||
| 105 | (save-excursion | ||
| 106 | (goto-char (point-min)) | ||
| 107 | (let (res char name ifont) | ||
| 108 | (while (re-search-forward "; Emoji_Presentation [^(]+(\\(.\\)[).]" nil t) | ||
| 109 | (setq char (aref (match-string 1) 0)) | ||
| 110 | (setq ifont (car (internal-char-font nil char))) | ||
| 111 | (when ifont | ||
| 112 | (setq name (font-xlfd-name ifont))) | ||
| 113 | (if (or (not ifont) (not (string-match font-name-regexp name))) | ||
| 114 | (setq res (concat (string char) res)))) | ||
| 115 | (when res | ||
| 116 | (with-output-to-temp-buffer "*Check-Emoji-Coverage*" | ||
| 117 | (princ (format "Font not matching '%s' was used for the following characters:\n%s" | ||
| 118 | font-name-regexp (reverse res)))))))) | ||
| 119 | |||
| 120 | Visit "emoji-zwj-sequences.txt" and "emoji-sequences.txt" with the | ||
| 121 | rebuilt Emacs, and check that the sample sequences are composed | ||
| 122 | properly. Also check the Unicode style chart file available at | ||
| 123 | https://unicode.org/emoji/charts/emoji-style.txt for any issues | ||
| 124 | involving VS-15 and VS-16, if so you may need to update the value | ||
| 125 | generated for auto-composition-emoji-eligible-codepoints by | ||
| 126 | admin/unidata/emoji-zwj.awk. Note that your emoji font might not have | ||
| 127 | glyphs for the newest codepoints yet. | ||
| 128 | |||
| 129 | Finally, etc/NEWS should be updated to announce the support for the | ||
| 130 | new Unicode version. | ||
| 85 | 131 | ||
| 86 | Problems, fixmes and other unicode-related issues | 132 | Problems, fixmes and other unicode-related issues |
| 87 | ------------------------------------------------------------- | 133 | ------------------------------------------------------------- |