diff options
| author | Jan D | 2015-04-26 13:55:01 +0200 |
|---|---|---|
| committer | Jan D | 2015-04-26 13:55:01 +0200 |
| commit | f92ac2e82ed199d6f25d2a59508e08addb1150ac (patch) | |
| tree | d7d7756e3dbce10d8f73c27815d815499f78c2bd /admin | |
| parent | 5a094119ce79723108abd90a1fcc33721e964823 (diff) | |
| parent | a40869789fc5502e3d4e393b7c31d78cb7f29aa1 (diff) | |
| download | emacs-f92ac2e82ed199d6f25d2a59508e08addb1150ac.tar.gz emacs-f92ac2e82ed199d6f25d2a59508e08addb1150ac.zip | |
Merge branch 'master' into cairo
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/ChangeLog.1 (renamed from admin/ChangeLog) | 0 | ||||
| -rw-r--r-- | admin/admin.el | 19 | ||||
| -rw-r--r-- | admin/authors.el | 14 | ||||
| -rw-r--r-- | admin/make-tarball.txt | 78 | ||||
| -rwxr-xr-x | admin/merge-gnulib | 2 | ||||
| -rw-r--r-- | admin/notes/repo | 54 | ||||
| -rw-r--r-- | admin/unidata/unidata-gen.el | 14 |
7 files changed, 122 insertions, 59 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog.1 index d3fabd4c811..d3fabd4c811 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog.1 | |||
diff --git a/admin/admin.el b/admin/admin.el index 9bf503ef142..93e9124ce8d 100644 --- a/admin/admin.el +++ b/admin/admin.el | |||
| @@ -28,10 +28,6 @@ | |||
| 28 | 28 | ||
| 29 | (defvar add-log-time-format) ; in add-log | 29 | (defvar add-log-time-format) ; in add-log |
| 30 | 30 | ||
| 31 | ;; Does this information need to be in every ChangeLog, as opposed to | ||
| 32 | ;; just the top-level one? Only if you allow changes the same | ||
| 33 | ;; day as the release. | ||
| 34 | ;; http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00161.html | ||
| 35 | (defun add-release-logs (root version &optional date) | 31 | (defun add-release-logs (root version &optional date) |
| 36 | "Add \"Version VERSION released.\" change log entries in ROOT. | 32 | "Add \"Version VERSION released.\" change log entries in ROOT. |
| 37 | Root must be the root of an Emacs source tree. | 33 | Root must be the root of an Emacs source tree. |
| @@ -203,6 +199,7 @@ Optional argument TYPE is type of output (nil means all)." | |||
| 203 | (ps-dir (expand-file-name "ps" dest)) | 199 | (ps-dir (expand-file-name "ps" dest)) |
| 204 | (pdf-dir (expand-file-name "pdf" dest)) | 200 | (pdf-dir (expand-file-name "pdf" dest)) |
| 205 | (emacs (expand-file-name "doc/emacs/emacs.texi" root)) | 201 | (emacs (expand-file-name "doc/emacs/emacs.texi" root)) |
| 202 | (emacs-xtra (expand-file-name "doc/emacs/emacs-xtra.texi" root)) | ||
| 206 | (elisp (expand-file-name "doc/lispref/elisp.texi" root)) | 203 | (elisp (expand-file-name "doc/lispref/elisp.texi" root)) |
| 207 | (eintr (expand-file-name "doc/lispintro/emacs-lisp-intro.texi" root)) | 204 | (eintr (expand-file-name "doc/lispintro/emacs-lisp-intro.texi" root)) |
| 208 | (misc (manual-misc-manuals root))) | 205 | (misc (manual-misc-manuals root))) |
| @@ -216,10 +213,14 @@ Optional argument TYPE is type of output (nil means all)." | |||
| 216 | (manual-html-node emacs (expand-file-name "emacs" html-node-dir))) | 213 | (manual-html-node emacs (expand-file-name "emacs" html-node-dir))) |
| 217 | (if (member type '(nil "emacs" "emacs-mono")) | 214 | (if (member type '(nil "emacs" "emacs-mono")) |
| 218 | (manual-html-mono emacs (expand-file-name "emacs.html" html-mono-dir))) | 215 | (manual-html-mono emacs (expand-file-name "emacs.html" html-mono-dir))) |
| 219 | (if (member type '(nil "emacs" "emacs-pdf" "pdf")) | 216 | (when (member type '(nil "emacs" "emacs-pdf" "pdf")) |
| 220 | (manual-pdf emacs (expand-file-name "emacs.pdf" pdf-dir))) | 217 | (manual-pdf emacs (expand-file-name "emacs.pdf" pdf-dir)) |
| 221 | (if (member type '(nil "emacs" "emacs-ps" "ps")) | 218 | ;; emacs-xtra exists only in pdf/ps format. |
| 222 | (manual-ps emacs (expand-file-name "emacs.ps" ps-dir))) | 219 | ;; In other formats it is included in the Emacs manual. |
| 220 | (manual-pdf emacs-xtra (expand-file-name "emacs-xtra.pdf" pdf-dir))) | ||
| 221 | (when (member type '(nil "emacs" "emacs-ps" "ps")) | ||
| 222 | (manual-ps emacs (expand-file-name "emacs.ps" ps-dir)) | ||
| 223 | (manual-ps emacs-xtra (expand-file-name "emacs-xtra.ps" ps-dir))) | ||
| 223 | (if (member type '(nil "elisp" "elisp-node")) | 224 | (if (member type '(nil "elisp" "elisp-node")) |
| 224 | (manual-html-node elisp (expand-file-name "elisp" html-node-dir))) | 225 | (manual-html-node elisp (expand-file-name "elisp" html-node-dir))) |
| 225 | (if (member type '(nil "elisp" "elisp-mono")) | 226 | (if (member type '(nil "elisp" "elisp-mono")) |
| @@ -601,7 +602,7 @@ style=\"text-align:left\">") | |||
| 601 | (copy-file "../doc/misc/texinfo.tex" stem) | 602 | (copy-file "../doc/misc/texinfo.tex" stem) |
| 602 | (or (equal type "emacs") (copy-file "../doc/emacs/emacsver.texi" stem)) | 603 | (or (equal type "emacs") (copy-file "../doc/emacs/emacsver.texi" stem)) |
| 603 | (dolist (file (directory-files (format "../doc/%s" type) t)) | 604 | (dolist (file (directory-files (format "../doc/%s" type) t)) |
| 604 | (if (or (string-match-p "\\(\\.texi\\'\\|/ChangeLog\\|/README\\'\\)" file) | 605 | (if (or (string-match-p "\\(\\.texi\\'\\|/README\\'\\)" file) |
| 605 | (and (equal type "lispintro") | 606 | (and (equal type "lispintro") |
| 606 | (string-match-p "\\.\\(eps\\|pdf\\)\\'" file))) | 607 | (string-match-p "\\.\\(eps\\|pdf\\)\\'" file))) |
| 607 | (copy-file file stem))) | 608 | (copy-file file stem))) |
diff --git a/admin/authors.el b/admin/authors.el index 1e4af9bbace..c7ec3bcfdd6 100644 --- a/admin/authors.el +++ b/admin/authors.el | |||
| @@ -27,6 +27,9 @@ | |||
| 27 | ;; Use M-x authors RET to create an *Authors* buffer that can used as | 27 | ;; Use M-x authors RET to create an *Authors* buffer that can used as |
| 28 | ;; or merged with Emacs's AUTHORS file. | 28 | ;; or merged with Emacs's AUTHORS file. |
| 29 | 29 | ||
| 30 | ;; FIXME: This needs to modernized in the light of current practice, | ||
| 31 | ;; which generates a single top-level ChangeLog file from commit logs. | ||
| 32 | |||
| 30 | ;;; Code: | 33 | ;;; Code: |
| 31 | 34 | ||
| 32 | (defvar authors-coding-system 'utf-8 | 35 | (defvar authors-coding-system 'utf-8 |
| @@ -76,7 +79,7 @@ files.") | |||
| 76 | ("Gerd Möllmann" "Gerd Moellmann") | 79 | ("Gerd Möllmann" "Gerd Moellmann") |
| 77 | ("Hallvard B. Furuseth" "Hallvard B Furuseth" "Hallvard Furuseth") | 80 | ("Hallvard B. Furuseth" "Hallvard B Furuseth" "Hallvard Furuseth") |
| 78 | ("Hrvoje Nikšić" "Hrvoje Niksic") | 81 | ("Hrvoje Nikšić" "Hrvoje Niksic") |
| 79 | ;; lisp/org/ChangeLog 2010-11-11. | 82 | ;; lisp/org/ChangeLog.1 2010-11-11. |
| 80 | (nil "aaa bbb") | 83 | (nil "aaa bbb") |
| 81 | (nil "Code Extracted") ; lisp/newcomment.el's "Author:" header | 84 | (nil "Code Extracted") ; lisp/newcomment.el's "Author:" header |
| 82 | ("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn") | 85 | ("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn") |
| @@ -650,6 +653,7 @@ Changes to files in this list are not listed.") | |||
| 650 | "calc/calc-maint.el" | 653 | "calc/calc-maint.el" |
| 651 | "emacs-lisp/cl-specs.el" | 654 | "emacs-lisp/cl-specs.el" |
| 652 | "emacs-lisp/eieio-comp.el" | 655 | "emacs-lisp/eieio-comp.el" |
| 656 | "emacs-lisp/eieio-generic.el" | ||
| 653 | "erc-hecomplete.el" | 657 | "erc-hecomplete.el" |
| 654 | "eshell/esh-maint.el" | 658 | "eshell/esh-maint.el" |
| 655 | "language/persian.el" | 659 | "language/persian.el" |
| @@ -800,6 +804,7 @@ in the repository.") | |||
| 800 | ("play/yow.el" . "yow.el") | 804 | ("play/yow.el" . "yow.el") |
| 801 | ("patcomp.el" . "patcomp.el") | 805 | ("patcomp.el" . "patcomp.el") |
| 802 | ("emulation/ws-mode.el" . "ws-mode.el") | 806 | ("emulation/ws-mode.el" . "ws-mode.el") |
| 807 | ("vc/vc-arch.el" . "vc-arch.el") | ||
| 803 | ;; From lisp to etc/forms. | 808 | ;; From lisp to etc/forms. |
| 804 | ("forms-d2.el" . "forms-d2.el") | 809 | ("forms-d2.el" . "forms-d2.el") |
| 805 | ("forms-pass.el" . "forms-pass.el") | 810 | ("forms-pass.el" . "forms-pass.el") |
| @@ -811,6 +816,9 @@ in the repository.") | |||
| 811 | ("eshell/esh-test.el" . "automated/eshell.el") | 816 | ("eshell/esh-test.el" . "automated/eshell.el") |
| 812 | ("automated/cl-lib.el" . "automated/cl-lib-tests.el") | 817 | ("automated/cl-lib.el" . "automated/cl-lib-tests.el") |
| 813 | ("automated/package-x-test.el" . "automated/package-test.el") | 818 | ("automated/package-x-test.el" . "automated/package-test.el") |
| 819 | ("indent/js-indent-first-initialiser-t.js" . "indent/js-indent-init-t.js") | ||
| 820 | ("indent/js-indent-first-initialiser-dynamic.js" . | ||
| 821 | "indent/js-indent-init-dynamic.js") | ||
| 814 | ;; INSTALL-CVS -> .CVS -> .BZR -> .REPO | 822 | ;; INSTALL-CVS -> .CVS -> .BZR -> .REPO |
| 815 | ("INSTALL-CVS" . "INSTALL.REPO") | 823 | ("INSTALL-CVS" . "INSTALL.REPO") |
| 816 | ("INSTALL.CVS" . "INSTALL.REPO") | 824 | ("INSTALL.CVS" . "INSTALL.REPO") |
| @@ -971,10 +979,8 @@ Elements with LAX non-nil are only used in `authors-lax-changelogs'.") | |||
| 971 | ;; Eg the progmodes/ (etc) directories did not exist before 1997. | 979 | ;; Eg the progmodes/ (etc) directories did not exist before 1997. |
| 972 | ;; Also, lib-src/ did not exist, the files were in etc/. | 980 | ;; Also, lib-src/ did not exist, the files were in etc/. |
| 973 | ;; And various other things. | 981 | ;; And various other things. |
| 974 | ;; Maybe this should just be any ChangeLog with a . extension, | ||
| 975 | ;; assuming we always fix logs fully before rotating them? | ||
| 976 | (defconst authors-lax-changelogs | 982 | (defconst authors-lax-changelogs |
| 977 | '("erc/ChangeLog\\.0[1-8]\\'" | 983 | '("erc/ChangeLog\\.1\\'" |
| 978 | "gnus/ChangeLog\\.[1-2]\\'" | 984 | "gnus/ChangeLog\\.[1-2]\\'" |
| 979 | "lisp/ChangeLog\\.\\([1-9]\\|1[0-5]\\)\\'" | 985 | "lisp/ChangeLog\\.\\([1-9]\\|1[0-5]\\)\\'" |
| 980 | "mh-e/ChangeLog\\.1\\'" | 986 | "mh-e/ChangeLog\\.1\\'" |
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt index 8f8b031ba2f..d326282b950 100644 --- a/admin/make-tarball.txt +++ b/admin/make-tarball.txt | |||
| @@ -31,30 +31,45 @@ General steps (for each step, check for possible errors): | |||
| 31 | M-x authors RET | 31 | M-x authors RET |
| 32 | 32 | ||
| 33 | If there is an "*Authors Errors*" buffer, address the issues. | 33 | If there is an "*Authors Errors*" buffer, address the issues. |
| 34 | If there was a ChangeLog typo, fix it. If a file was deleted or | 34 | If there was a ChangeLog typo, run "make change-history" and then |
| 35 | renamed, consider adding an appropriate entry to authors-ignored-files, | 35 | fix the newest ChangeLog history file. If a file was deleted or |
| 36 | authors-valid-file-names, or authors-renamed-files-alist. | 36 | renamed, consider adding an appropriate entry to |
| 37 | authors-ignored-files, authors-valid-file-names, or | ||
| 38 | authors-renamed-files-alist. | ||
| 37 | 39 | ||
| 38 | If necessary, repeat M-x authors after making those changes. | 40 | If necessary, repeat M-x authors after making those changes. |
| 39 | Save the "*Authors*" buffer as etc/AUTHORS. | 41 | Save the "*Authors*" buffer as etc/AUTHORS. |
| 40 | Check the diff looks reasonable. Maybe add entries to | 42 | Check the diff looks reasonable. Maybe add entries to |
| 41 | authors-ambiguous-files or authors-aliases, and repeat. | 43 | authors-ambiguous-files or authors-aliases, and repeat. |
| 42 | Commit any fixes to ChangeLogs or authors.el. | 44 | Commit any fixes to authors.el. |
| 43 | 45 | ||
| 44 | 3. Set the version number (M-x load-file RET admin/admin.el RET, then | 46 | 3. Set the version number (M-x load-file RET admin/admin.el RET, then |
| 45 | M-x set-version RET). For a release, add released ChangeLog | 47 | M-x set-version RET). For a release, add released ChangeLog |
| 46 | entries (M-x add-release-logs RET). | 48 | entries (create a ChangeLog symlink a la vc-dwim, then run M-x |
| 49 | add-release-logs RET, then run the shell command 'vc-dwim --commit'). | ||
| 47 | 50 | ||
| 48 | For a pretest, start at version .90. After .99, use .990 (so that | 51 | For a pretest, start at version .90. After .99, use .990 (so that |
| 49 | it sorts). | 52 | it sorts). |
| 50 | 53 | ||
| 51 | The final pretest should be a release candidate. Set the version | 54 | The final pretest should be a release candidate. Set the version |
| 52 | number to that of the actual release. Pick a date about a week | 55 | number to that of the actual release. Pick a date about a week |
| 53 | from now when you intend to make the release. Use M-x add-release-logs | 56 | from now when you intend to make the release. Use vc-dwim and |
| 54 | to add the ChangeLog entries for that date to the tar file (but | 57 | M-x add-release-logs as described above to add commit messages |
| 55 | not yet to the repository). Name the tar file as | 58 | that will appear in the tarball's automatically-generated ChangeLog |
| 56 | emacs-XX.Y-rc1.tar. If all goes well in the following week, you | 59 | file as entries for that date. |
| 57 | can simply rename the file and use it for the actual release. | 60 | |
| 61 | Name the tar file as emacs-XX.Y-rc1.tar. If all goes well in the | ||
| 62 | following week, you can simply rename the file and use it for the | ||
| 63 | actual release. If you need another release candidate, remember | ||
| 64 | to adjust the ChangeLog entries. | ||
| 65 | |||
| 66 | If you need to change only a file(s) that cannot possibly affect | ||
| 67 | the build (README, ChangeLog, NEWS, etc.) then rather than doing | ||
| 68 | an entirely new build, it is better to unpack the existing | ||
| 69 | tarfile, modify the file(s), and tar it back up again. | ||
| 70 | |||
| 71 | Never replace an existing tarfile! If you need to fix something, | ||
| 72 | always upload it with a different name. | ||
| 58 | 73 | ||
| 59 | 4. autoreconf -i -I m4 --force | 74 | 4. autoreconf -i -I m4 --force |
| 60 | make bootstrap | 75 | make bootstrap |
| @@ -65,8 +80,7 @@ General steps (for each step, check for possible errors): | |||
| 65 | 5. Copy lisp/loaddefs.el to lisp/ldefs-boot.el. | 80 | 5. Copy lisp/loaddefs.el to lisp/ldefs-boot.el. |
| 66 | 81 | ||
| 67 | Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed | 82 | Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed |
| 68 | by M-x set-version. For a release, also commit the ChangeLog | 83 | by M-x set-version. |
| 69 | files in all directories. | ||
| 70 | 84 | ||
| 71 | If someone else made a commit between step 1 and now, | 85 | If someone else made a commit between step 1 and now, |
| 72 | you need to repeat from step 4 onwards. (You can commit the files | 86 | you need to repeat from step 4 onwards. (You can commit the files |
| @@ -154,8 +168,38 @@ General steps (for each step, check for possible errors): | |||
| 154 | of past announcements. The first pretest announcement, and the | 168 | of past announcements. The first pretest announcement, and the |
| 155 | release announcement, should have more detail. | 169 | release announcement, should have more detail. |
| 156 | 170 | ||
| 157 | 12. For a release, update the Emacs homepage emacs.html in the web repository. | 171 | 12. After a release, update the Emacs pages as below. |
| 158 | Also update history.html, and add the new NEWS file as news/NEWS.xx.y. | 172 | |
| 159 | Regenerate the html manuals (use make-manuals from admin.el). | 173 | |
| 160 | If there are new manuals, add appropriate index pages. | 174 | UPDATING THE EMACS WEB PAGES AFTER A RELEASE |
| 161 | Delete any old manual pages that are no longer present. | 175 | |
| 176 | As soon as possible after a release, the Emacs web pages should be updated. | ||
| 177 | Anyone with write access to the Emacs code repository can do this. | ||
| 178 | For instructions, see <http://savannah.gnu.org/cvs/?group=emacs>. | ||
| 179 | Changes go live more or less as soon as they are committed. | ||
| 180 | |||
| 181 | The pages to update are: | ||
| 182 | |||
| 183 | emacs.html (for a new major release, a more thorough update is needed) | ||
| 184 | history.html | ||
| 185 | add the new NEWS file as news/NEWS.xx.y | ||
| 186 | |||
| 187 | Use M-x make-manuals from admin/admin.el to regenerate the html | ||
| 188 | manuals in manual/. If there are new manuals, add appropriate index | ||
| 189 | pages in manual/ and add them to manual/index.html. In the | ||
| 190 | manual/html_node directory, delete any old manual pages that are no | ||
| 191 | longer present. | ||
| 192 | |||
| 193 | Tar up the generated html_node/emacs/ and elisp/ directories and update | ||
| 194 | the files manual/elisp.html_node.tar.gz and emacs.html_node.tar.gz. | ||
| 195 | |||
| 196 | Use M-x make-manuals-dist from from admin/admin.el to update the | ||
| 197 | manual/texi/ tarfiles. | ||
| 198 | |||
| 199 | Add compressed copies of the main info pages from the tarfile to manual/info/. | ||
| 200 | |||
| 201 | Update the refcards/pdf/ and ps/ directories, and also | ||
| 202 | refcards/emacs-refcards.tar.gz (use make -C etc/refcards pdf ps dist). | ||
| 203 | |||
| 204 | Browsing <http://web.cvs.savannah.gnu.org/viewvc/?root=emacs> is one | ||
| 205 | way to check for any files that still need updating. | ||
diff --git a/admin/merge-gnulib b/admin/merge-gnulib index 9e2b10dc4ce..e63422b0d5e 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib | |||
| @@ -31,7 +31,7 @@ GNULIB_MODULES=' | |||
| 31 | crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 | 31 | crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 |
| 32 | dtoastr dtotimespec dup2 environ execinfo faccessat | 32 | dtoastr dtotimespec dup2 environ execinfo faccessat |
| 33 | fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync | 33 | fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync |
| 34 | getloadavg getopt-gnu gettime gettimeofday | 34 | getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog |
| 35 | intprops largefile lstat | 35 | intprops largefile lstat |
| 36 | manywarnings memrchr mkostemp mktime | 36 | manywarnings memrchr mkostemp mktime |
| 37 | pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat | 37 | pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat |
diff --git a/admin/notes/repo b/admin/notes/repo index 4f9dc59eb0f..f38fd2cc3a8 100644 --- a/admin/notes/repo +++ b/admin/notes/repo | |||
| @@ -10,10 +10,10 @@ instructions. | |||
| 10 | * Install changes only on one branch, let them get merged elsewhere if needed. | 10 | * Install changes only on one branch, let them get merged elsewhere if needed. |
| 11 | 11 | ||
| 12 | In particular, install bug-fixes only on the release branch (if there | 12 | In particular, install bug-fixes only on the release branch (if there |
| 13 | is one) and let them get synced to the trunk; do not install them by | 13 | is one) and let them get synced to the master; do not install them by |
| 14 | hand on the trunk as well. E.g. if there is an active "emacs-24" branch | 14 | hand on the master as well. E.g. if there is an active "emacs-24" branch |
| 15 | and you have a bug-fix appropriate for the next emacs-24.x release, | 15 | and you have a bug-fix appropriate for the next emacs-24.x release, |
| 16 | install it only on the emacs-24 branch, not on the trunk as well. | 16 | install it only on the emacs-24 branch, not on the master as well. |
| 17 | 17 | ||
| 18 | Installing things manually into more than one branch makes merges more | 18 | Installing things manually into more than one branch makes merges more |
| 19 | difficult. | 19 | difficult. |
| @@ -21,10 +21,10 @@ difficult. | |||
| 21 | http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01124.html | 21 | http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01124.html |
| 22 | 22 | ||
| 23 | The exception is, if you know that the change will be difficult to | 23 | The exception is, if you know that the change will be difficult to |
| 24 | merge to the trunk (eg because the trunk code has changed a lot). | 24 | merge to the master (eg because the master code has changed a lot). |
| 25 | In that case, it's helpful if you can apply the change to both trunk | 25 | In that case, it's helpful if you can apply the change to both master |
| 26 | and branch yourself (when committing the branch change, indicate | 26 | and branch yourself (when committing the branch change, indicate |
| 27 | in the commit log that it should not be merged to the trunk, by | 27 | in the commit log that it should not be merged to the master, by |
| 28 | including the phrase "Not to be merged to master", or any other phrase | 28 | including the phrase "Not to be merged to master", or any other phrase |
| 29 | that matches "merge"). | 29 | that matches "merge"). |
| 30 | 30 | ||
| @@ -32,14 +32,14 @@ that matches "merge"). | |||
| 32 | 32 | ||
| 33 | If your branch has only a single commit, or many different real | 33 | If your branch has only a single commit, or many different real |
| 34 | commits, it is fine to do a merge. If your branch has only a very | 34 | commits, it is fine to do a merge. If your branch has only a very |
| 35 | small number of "real" commits, but several "merge from trunks", it is | 35 | small number of "real" commits, but several "merge from masters", it is |
| 36 | preferred that you take your branch's diff, apply it to the trunk, and | 36 | preferred that you take your branch's diff, apply it to the master, and |
| 37 | commit directly, not merge. This keeps the history cleaner. | 37 | commit directly, not merge. This keeps the history cleaner. |
| 38 | 38 | ||
| 39 | In general, when working on some feature in a separate branch, it is | 39 | In general, when working on some feature in a separate branch, it is |
| 40 | preferable not to merge from trunk until you are done with the | 40 | preferable not to merge from master until you are done with the |
| 41 | feature. Unless you really need some change that was done on the | 41 | feature. Unless you really need some change that was done on the |
| 42 | trunk while you were developing on the branch, you don't really need | 42 | master while you were developing on the branch, you don't really need |
| 43 | those merges; just merge once, when you are done with the feature, and | 43 | those merges; just merge once, when you are done with the feature, and |
| 44 | Bazaar will take care of the rest. Bazaar is much better in this than | 44 | Bazaar will take care of the rest. Bazaar is much better in this than |
| 45 | CVS, so interim merges are unnecessary. | 45 | CVS, so interim merges are unnecessary. |
| @@ -66,22 +66,14 @@ variable in admin/merge-gnulib before running it. | |||
| 66 | If you remove a gnulib module, or if a gnulib module | 66 | If you remove a gnulib module, or if a gnulib module |
| 67 | removes a file, then remove the corresponding files by hand. | 67 | removes a file, then remove the corresponding files by hand. |
| 68 | 68 | ||
| 69 | * How to merge changes from emacs-24 to trunk | 69 | * How to merge changes from emacs-24 to master |
| 70 | 70 | ||
| 71 | [The section on git merge procedure has not yet been written] | 71 | [The section on git merge procedure has not yet been written.] |
| 72 | |||
| 73 | Inspect the change log entries (e.g. in case too many entries have been | ||
| 74 | included or whitespace between entries needs fixing). If someone made | ||
| 75 | multiple change log entries on different days in the branch, you may | ||
| 76 | wish to collapse them all to a single entry for that author in the | ||
| 77 | trunk (because in the trunk they all appear under the same date). | ||
| 78 | Obviously, if there are multiple changes to the same file by different | ||
| 79 | authors, don't break the logical ordering in doing this. | ||
| 80 | 72 | ||
| 81 | You may see conflicts in autoload md5sums in comments. Strictly | 73 | You may see conflicts in autoload md5sums in comments. Strictly |
| 82 | speaking, the right thing to do is merge everything else, resolve the | 74 | speaking, the right thing to do is merge everything else, resolve the |
| 83 | conflict by choosing either the trunk or branch version, then run | 75 | conflict by choosing either the master or branch version, then run |
| 84 | `make -C lisp autoloads' to update the md5sums to the correct trunk | 76 | `make -C lisp autoloads' to update the md5sums to the correct master |
| 85 | value before committing. | 77 | value before committing. |
| 86 | 78 | ||
| 87 | * Re-adding a file that has been removed from the repository | 79 | * Re-adding a file that has been removed from the repository |
| @@ -124,3 +116,21 @@ again. | |||
| 124 | 116 | ||
| 125 | This is a semi-automated way to find the revision that introduced a bug. | 117 | This is a semi-automated way to find the revision that introduced a bug. |
| 126 | Browse `git help bisect' for technical instructions. | 118 | Browse `git help bisect' for technical instructions. |
| 119 | |||
| 120 | * Maintaining ChangeLog history | ||
| 121 | |||
| 122 | Older ChangeLog entries are kept in history files named ChangeLog.1, | ||
| 123 | ChangeLog.2, etc., and can be edited just as any other source files | ||
| 124 | can. Newer ChangeLog entries are stored in the repository as commit | ||
| 125 | messages, which cannot be edited directly. | ||
| 126 | |||
| 127 | 'make ChangeLog' copies newer ChangeLog entries into a file | ||
| 128 | 'ChangeLog' that is intended to be put into the distribution tarball. | ||
| 129 | This ChangeLog file is not put into the repository. | ||
| 130 | |||
| 131 | 'make change-history' copies all newer ChangeLog entries into the | ||
| 132 | start of the newest ChangeLog history file. These ChangeLog entries | ||
| 133 | are thereafter considered to be old, so later uses of 'make ChangeLog' | ||
| 134 | and/or 'make change-history' will no longer copy the entries. To | ||
| 135 | alter ChangeLog history, run 'make change-history', then edit | ||
| 136 | the ChangeLog history files manually and commit your changes. | ||
diff --git a/admin/unidata/unidata-gen.el b/admin/unidata/unidata-gen.el index 8af6fa0dd72..583d492495c 100644 --- a/admin/unidata/unidata-gen.el +++ b/admin/unidata/unidata-gen.el | |||
| @@ -102,7 +102,8 @@ | |||
| 102 | (tail table) | 102 | (tail table) |
| 103 | (block-names '(("^<CJK Ideograph" . CJK\ IDEOGRAPH) | 103 | (block-names '(("^<CJK Ideograph" . CJK\ IDEOGRAPH) |
| 104 | ("^<Hangul Syllable" . HANGUL\ SYLLABLE) | 104 | ("^<Hangul Syllable" . HANGUL\ SYLLABLE) |
| 105 | ("^<.*Surrogate" . nil) | 105 | ("^<.*High Surrogate" . HIGH\ SURROGATE) |
| 106 | ("^<.*Low Surrogate" . LOW\ SURROGATE) | ||
| 106 | ("^<.*Private Use" . PRIVATE\ USE))) | 107 | ("^<.*Private Use" . PRIVATE\ USE))) |
| 107 | val char name) | 108 | val char name) |
| 108 | (setq unidata-text-file (expand-file-name unidata-text-file unidata-dir)) | 109 | (setq unidata-text-file (expand-file-name unidata-text-file unidata-dir)) |
| @@ -137,11 +138,8 @@ | |||
| 137 | (if (string-match (caar l) block-name) | 138 | (if (string-match (caar l) block-name) |
| 138 | (setq name (cdar l) l nil) | 139 | (setq name (cdar l) l nil) |
| 139 | (setq l (cdr l)))) | 140 | (setq l (cdr l)))) |
| 140 | (if (not name) | 141 | (setcar val (cons first char)) |
| 141 | ;; As this is a surrogate pair range, ignore it. | 142 | (setcar (cdr val) name))) |
| 142 | (setq val nil) | ||
| 143 | (setcar val (cons first char)) | ||
| 144 | (setcar (cdr val) name)))) | ||
| 145 | 143 | ||
| 146 | (when val | 144 | (when val |
| 147 | (setcdr tail (list val)) | 145 | (setcdr tail (list val)) |
| @@ -783,6 +781,10 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." | |||
| 783 | (format "%s-%04X" sym char)) | 781 | (format "%s-%04X" sym char)) |
| 784 | ((eq sym 'CJK\ COMPATIBILITY\ IDEOGRAPH) | 782 | ((eq sym 'CJK\ COMPATIBILITY\ IDEOGRAPH) |
| 785 | (format "%s-%04X" sym char)) | 783 | (format "%s-%04X" sym char)) |
| 784 | ((eq sym 'HIGH\ SURROGATE) | ||
| 785 | (format "%s-%04X" sym char)) | ||
| 786 | ((eq sym 'LOW\ SURROGATE) | ||
| 787 | (format "%s-%04X" sym char)) | ||
| 786 | ((eq sym 'VARIATION\ SELECTOR) | 788 | ((eq sym 'VARIATION\ SELECTOR) |
| 787 | (format "%s-%d" sym (+ (- char #xe0100) 17)))))))) | 789 | (format "%s-%d" sym (+ (- char #xe0100) 17)))))))) |
| 788 | 790 | ||