aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes
diff options
context:
space:
mode:
authorYuuki Harano2021-11-11 00:39:53 +0900
committerYuuki Harano2021-11-11 00:39:53 +0900
commit4dd1f56f29fc598a8339a345c2f8945250600602 (patch)
treeaf341efedffe027e533b1bcc0dbf270532e48285 /admin/notes
parent4c49ec7f865bdad1629d2f125f71f4e506b258f2 (diff)
parent810fa21d26453f898de9747ece7205dfe6de9d08 (diff)
downloademacs-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/bugtracker2
-rw-r--r--admin/notes/emba22
-rw-r--r--admin/notes/git-workflow8
-rw-r--r--admin/notes/multi-tty2
-rw-r--r--admin/notes/unicode60
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
84address is to create a new report. 84address is to create a new report.
85 85
86Gnus users can add the following to message-dont-reply-to-names; 86Gnus users can add the following to message-dont-reply-to-names;
87similarly with Rmail and rmail-dont-reply-to-names: 87similarly 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
34A jobset on Gitlab is called pipeline. Emacs pipelines run through
35the stages 'build-images', 'platform-images' and 'native-comp-images'
36(create an Emacs instance by 'make bootstrap' with different
37configuration parameters) as well as 'normal', 'slow', 'platforms' and
38'native-comp' (run respective test jobs based on the produced images).
39
34Every job runs in a Debian docker container. It uses the local clone 40Every job runs in a Debian docker container. It uses the local clone
35of the Emacs git repository to perform a bootstrap and test of Emacs. 41of the Emacs git repository to perform a bootstrap and test of Emacs.
36This could happen for several jobs with changed configuration, compile 42This could happen for several jobs with changed configuration, compile
37and test parameters. 43and test parameters.
38 44
39There are different types of jobs: 'prep-image-base' is responsible to 45The 'build-image-*' jobs of the different '*-images' stages run only
40prepare the environment for the following jobs. 'build-image-*' jobs 46if there are severe changes in the Emacs sources, like in Makefiles
41are responsible to compile Emacs in different configuration. The 47etc. Otherwise they are skipped, and the corresponding 'test-*' jobs
42corresponding 'test-*' jobs run the ert tests. 48run just 'make -C test ...' in the respective Docker image from a
49previous build run.
43 50
44A special job is 'test-all-inotify', which runs 'make check-expensive'. 51Jobs in the 'build-images' and 'normal' stages are triggered by
45While most of the jobs run as soon as a respective file has been 52changes of respective files in the Emacs git repository. All other
46committed into the Emacs git repository, this test job runs scheduled, 53jobs run scheduled in a pipeline every 8 hours.
47every 8 hours.
48 54
49The log files for every test job are kept on the server for a week. 55The log files for every test job are kept on the server for a week.
50They can be downloaded from the server, visiting the URL 56They 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
17Then 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
18the current master and (if there is one) the active release branch 18the current master and (if there is one) the active release branch
19(eg emacs-27). 19(eg emacs-28).
20 20
21mkdir ~/emacs 21mkdir ~/emacs
22cd ~/emacs 22cd ~/emacs
23git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master 23git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master
24cd master 24cd master
25git config push.default current 25git config push.default current
26git worktree add ../emacs-27 emacs-27 26git worktree add ../emacs-28 emacs-28
27 27
28You now have both branches conveniently accessible, and you can do 28You 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
68commit 958b768a6534ae6e77a8547a56fc31b46b63710b 68commit 958b768a6534ae6e77a8547a56fc31b46b63710b
69 69
70cd ~/emacs/emacs-27 70cd ~/emacs/emacs-28
71git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b 71git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b
72 72
73and add "Backport:" to the commit string. Then 73and 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
111You'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
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
113branch 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,
114contain commits from you which are not yet pushed upstream. 114contain 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
24Emacs also uses the file emoji-test.txt which should be imported from
25the Unicode's Public/emoji/ directory.
20 26
21First, the first 7 files need to be copied into admin/unidata/, and 27First, the first 10 files and emoji-test.txt need to be copied into
22the file https://www.unicode.org/copyright.html should be copied over 28admin/unidata/, and the file https://www.unicode.org/copyright.html
23copyright.html in admin/unidata (that file might need trailing 29should be copied over copyright.html in admin/unidata (some of them
24whitespace removed before it can be committed to the Emacs 30might need trailing whitespace removed before they can be committed to
25repository). 31the Emacs repository).
26 32
27Then Emacs should be rebuilt for them to take effect. Rebuilding 33Then Emacs should be rebuilt for them to take effect. Rebuilding
28Emacs updates several derived files elsewhere in the Emacs source 34Emacs updates several derived files elsewhere in the Emacs source
@@ -81,7 +87,47 @@ regarding failing lines.
81 87
82The file BidiCharacterTest.txt should be copied to the test suite, and 88The file BidiCharacterTest.txt should be copied to the test suite, and
83if its format has changed, the file biditest.el there should be 89if its format has changed, the file biditest.el there should be
84modified to follow suit. 90modified to follow suit. If there's trailing whitespace in
91BidiCharacterTest.txt, it should be removed before committing the new
92version.
93
94Visit "emoji-data.txt" with the rebuilt Emacs, and check that an
95appropriate font is being used for the emoji (by default Emacs uses
96"Noto Color Emoji"). Running the following command in that buffer
97will give you an idea of which codepoints are not supported by
98whichever 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.
102This must be run from a buffer in the format of emoji-data.txt.
103FONT-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
120Visit "emoji-zwj-sequences.txt" and "emoji-sequences.txt" with the
121rebuilt Emacs, and check that the sample sequences are composed
122properly. Also check the Unicode style chart file available at
123https://unicode.org/emoji/charts/emoji-style.txt for any issues
124involving VS-15 and VS-16, if so you may need to update the value
125generated for auto-composition-emoji-eligible-codepoints by
126admin/unidata/emoji-zwj.awk. Note that your emoji font might not have
127glyphs for the newest codepoints yet.
128
129Finally, etc/NEWS should be updated to announce the support for the
130new Unicode version.
85 131
86Problems, fixmes and other unicode-related issues 132Problems, fixmes and other unicode-related issues
87------------------------------------------------------------- 133-------------------------------------------------------------