diff options
Diffstat (limited to 'admin')
-rw-r--r-- | admin/CPP-DEFINES | 4 | ||||
-rw-r--r-- | admin/authors.el | 35 | ||||
-rwxr-xr-x | admin/automerge | 1 | ||||
-rw-r--r-- | admin/charsets/cp51932.awk | 13 | ||||
-rw-r--r-- | admin/charsets/eucjp-ms.awk | 14 | ||||
-rw-r--r-- | admin/gitmerge.el | 4 | ||||
-rwxr-xr-x | admin/make-manuals | 1 | ||||
-rwxr-xr-x | admin/merge-gnulib | 16 | ||||
-rw-r--r-- | admin/notes/git-workflow | 36 | ||||
-rw-r--r-- | admin/notes/unicode | 10 | ||||
-rw-r--r-- | admin/nt/dist-build/README-windows-binaries | 4 | ||||
-rwxr-xr-x | admin/nt/dist-build/build-dep-zips.py | 2 | ||||
-rw-r--r-- | admin/release-process | 13 | ||||
-rwxr-xr-x | admin/unidata/blocks.awk | 1 | ||||
-rw-r--r-- | admin/unidata/unidata-gen.el | 159 | ||||
-rwxr-xr-x | admin/update_autogen | 1 | ||||
-rwxr-xr-x | admin/upload-manuals | 1 |
17 files changed, 167 insertions, 148 deletions
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index ea99d50094f..a40b4302723 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES @@ -124,9 +124,7 @@ HAVE_DECL_STRTOIMAX HAVE_DECL_STRTOLL HAVE_DECL_STRTOULL HAVE_DECL_STRTOUMAX -HAVE_DECL_SYS_SIGLIST HAVE_DECL_TZNAME -HAVE_DECL___SYS_SIGLIST HAVE_DIALOGS HAVE_DIFFTIME HAVE_DUP2 @@ -201,7 +199,6 @@ HAVE_LIBXML2 HAVE_LIBXMU HAVE_LOCALTIME_R HAVE_LOCAL_SOCKETS -HAVE_LONG_LONG_INT HAVE_LRAND48 HAVE_LSTAT HAVE_LUTIMES @@ -322,7 +319,6 @@ HAVE_TM_ZONE HAVE_TOUCHLOCK HAVE_TZNAME HAVE_TZSET -HAVE_UNSIGNED_LONG_LONG_INT HAVE_UTIL_H HAVE_UTIMENSAT HAVE_UTIMES diff --git a/admin/authors.el b/admin/authors.el index a418efea44f..cf9cf9871e5 100644 --- a/admin/authors.el +++ b/admin/authors.el @@ -284,9 +284,9 @@ If REALNAME is nil, ignore that author.") (defvar authors-obsolete-files-regexps - '(".*loaddefs\\.el$" ; not obsolete, but auto-generated - "\\.\\(bzr\\|cvs\\|git\\)ignore$" ; obsolete or uninteresting - "\\.arch-inventory$" + '(".*loaddefs\\.el\\'" ; not obsolete, but auto-generated + "\\.\\(bzr\\|cvs\\|git\\)ignore\\'" ; obsolete or uninteresting + "\\.arch-inventory\\'" "ChangeLog\\(\\.[0-9]+\\)?\\'" "\\(automated\\|test\\)/data/" ; not interesting "cedet/tests/" @@ -366,7 +366,7 @@ Changes to files matching one of the regexps in this list are not listed.") "lib/stdarg.in.h" "lib/stdbool.in.h" "unidata/bidimirror.awk" "unidata/biditype.awk" "split-man" "Xkeymap.txt" "ms-7bkermit" "ulimit.hack" - "gnu-hp300" "refcard.bit" "ledit.l" "forms.README" "forms-d2.dat" + "gnu-hp300" "refcard.bit" "forms.README" "forms-d2.dat" "CXTERM-DIC/PY.tit" "CXTERM-DIC/ZIRANMA.tit" "CXTERM-DIC/CTLau.tit" "CXTERM-DIC/CTLauB.tit" "copying.paper" "celibacy.1" "condom.1" "echo.msg" "sex.6" @@ -474,6 +474,9 @@ Changes to files matching one of the regexps in this list are not listed.") ;; Replaced by lisp/thread.el "lisp/emacs-lisp/thread-list.el" "etc/images/slash.bmp" + "src/mini-gmp-emacs.c" + "lib/dosname.h" + "lib/putenv.c" ) "List of files and directories to ignore. Changes to files in this list are not listed.") @@ -610,7 +613,7 @@ Changes to files in this list are not listed.") ;; No longer distributed: lselect.el. ("Lucid, Inc." :changed "bytecode.c" "byte-opt.el" "byte-run.el" "bytecomp.el" "delsel.el" "disass.el" "faces.el" "font-lock.el" - "lmenu.el" "mailabbrev.el" "select.el" "xfaces.c" "xselect.c") + "mailabbrev.el" "select.el" "xfaces.c" "xselect.c") ;; MCC. No longer distributed: emacsserver.c. ("Microelectronics and Computer Technology Corporation" :changed "etags.c" "emacsclient.c" "movemail.c" @@ -774,7 +777,7 @@ Changes to files in this list are not listed.") "erc-hecomplete.el" "eshell/esh-maint.el" "language/persian.el" - "ledit.el" "meese.el" "iswitchb.el" "longlines.el" + "meese.el" "iswitchb.el" "longlines.el" "mh-exec.el" "mh-init.el" "mh-customize.el" "net/zone-mode.el" "xesam.el" "term/mac-win.el" "sup-mouse.el" @@ -878,7 +881,9 @@ Changes to files in this list are not listed.") "library-of-babel.org" "flymake-elisp.el" "flymake-ui.el" - "pinentry.el") + "pinentry.el" + "ledit.el" + "lmenu.el") "File names which are valid, but no longer exist (or cannot be found) in the repository.") @@ -1120,6 +1125,8 @@ in the repository.") ("gnus-news.texi" . "doc/misc/gnus.texi") ("lisp/multifile.el". "lisp/fileloop.el") ("lisp/emacs-lisp/thread.el". "lisp/thread.el") + ("src/mini-gmp.c" . "lib/mini-gmp.c") + ("src/mini-gmp.h" . "lib/mini-gmp.h") ) "Alist of files which have been renamed during their lifetime. Elements are (OLDNAME . NEWNAME).") @@ -1141,7 +1148,7 @@ Elements are (OLDNAME . NEWNAME).") \\(\\(cs\\|fr\\|sk\\)-\\)?survival\\)\\.tex\\'" "refcards/\\&") ("\\`refcard-\\(de\\|pl\\)\\.tex\\'" "refcards/\\1-refcard.tex") ("\\`\\(refcards/\\)?fr-drdref\\.tex\\'" "refcards/fr-dired-ref.tex") - ("^\\(TUTORIAL[^/]*\\)" "tutorials/\\1") + ("\\`\\(TUTORIAL[^/]*\\)" "tutorials/\\1") ("\\`themes/dev-\\(tsdh-\\(?:light\\|dark\\)-theme\\.el\\)\\'" "themes/\\1") ;; Moved from lisp/toolbar to etc/images. @@ -1166,9 +1173,9 @@ remove\\|run\\|until\\|up\\|watch\\)\\(\\.\\(?:pb\\|xp\\)m\\)\\'" ("\\`\\(toolbar/gud-\\|images/gud/\\)s\\(i\\)?\\(\\.\\(?:pb\\|xp\\)m\\)\\'" "images/gud/step\\2\\3") ("\\`toolbar/lc-\\([-a-z]+\\.xpm\\)\\'" "images/low-color/\\1") - ("^\\(tree-widget/\\(?:default\\|folder\\)/[-a-z]+\\.\\(png\\|xpm\\)\\)$" + ("\\`\\(tree-widget/\\(?:default\\|folder\\)/[-a-z]+\\.\\(png\\|xpm\\)\\)\\'" "images/\\1") - ("^\\(images/icons/\\)mac\\(emacs\\)_\\([0-9]+\\)\\(\\.png\\)" + ("\\`\\(images/icons/\\)mac\\(emacs\\)_\\([0-9]+\\)\\(\\.png\\)" "\\1\\2\\3_mac\\4") ("\\(images/icons/\\)emacs_\\([0-9][0-9]\\)\\.png" "\\1hicolor/\\2x\\2/apps/emacs.png") @@ -1199,10 +1206,10 @@ ediff\\|emerge\\|log-edit\\|log-view\\|pcvs\\|smerge-mode\\|vc\\)\\.el\\'" ;; Maybe not the exact new name, but disambiguates from lisp/. ("automated/\\([^/]*\\)\\.el\\'" "\\1-tests.el") ;; NB lax rules should come last. - ("^m/m-\\(.*\\.h\\)$" "m/\\1" t) - ("^m-\\(.*\\.h\\)$" "\\1" t) - ("^s/s-\\(.*\\.h\\)$" "s/\\1" t) - ("^s-\\(.*\\.h\\)$" "\\1" t) + ("\\`m/m-\\(.*\\.h\\)\\'" "m/\\1" t) + ("\\`m-\\(.*\\.h\\)\\'" "\\1" t) + ("\\`s/s-\\(.*\\.h\\)\\'" "s/\\1" t) + ("\\`s-\\(.*\\.h\\)\\'" "\\1" t) ("\\.\\(el\\|[ch]\\|x[pb]m\\|pbm\\)\\'" t t) ) "List of regexps and rewriting rules for renamed files. diff --git a/admin/automerge b/admin/automerge index f7717026b15..cd0f22c3f25 100755 --- a/admin/automerge +++ b/admin/automerge @@ -4,6 +4,7 @@ ## Copyright (C) 2018-2020 Free Software Foundation, Inc. ## Author: Glenn Morris <rgm@gnu.org> +## Maintainer: emacs-devel@gnu.org ## This file is part of GNU Emacs. diff --git a/admin/charsets/cp51932.awk b/admin/charsets/cp51932.awk index 6aac98815b5..c3555095249 100644 --- a/admin/charsets/cp51932.awk +++ b/admin/charsets/cp51932.awk @@ -43,13 +43,14 @@ BEGIN { END { print ")))"; - print " (mapc #'(lambda (x)"; - print " (setcar x (decode-char 'japanese-jisx0208 (car x))))"; - print " map)"; + print " (setq map (mapcar (lambda (x)"; + print " (cons (decode-char 'japanese-jisx0208 (car x))"; + print " (cdr x)))"; + print " map))"; print " (define-translation-table 'cp51932-decode map)"; - print " (mapc #'(lambda (x)"; - print " (let ((tmp (car x)))"; - print " (setcar x (cdr x)) (setcdr x tmp)))"; + print " (mapc (lambda (x)"; + print " (let ((tmp (car x)))"; + print " (setcar x (cdr x)) (setcdr x tmp)))"; print " map)"; print " (define-translation-table 'cp51932-encode map))"; print ""; diff --git a/admin/charsets/eucjp-ms.awk b/admin/charsets/eucjp-ms.awk index 0c9f94d0f48..f6a6748ce51 100644 --- a/admin/charsets/eucjp-ms.awk +++ b/admin/charsets/eucjp-ms.awk @@ -93,15 +93,17 @@ function write_entry (unicode) { END { print ")))"; - print " (mapc #'(lambda (x)"; + print " (setq map"; + print " (mapcar"; + print " (lambda (x)"; print " (let ((code (logand (car x) #x7F7F)))"; print " (if (integerp (cdr x))"; - print " (setcar x (decode-char 'japanese-jisx0208 code))"; - print " (setcar x (decode-char 'japanese-jisx0212 code))"; - print " (setcdr x (cadr x)))))"; - print " map)"; + print " (cons (decode-char 'japanese-jisx0208 code) (cdr x))"; + print " (cons (decode-char 'japanese-jisx0212 code)" + print " (cadr x)))))"; + print " map))"; print " (define-translation-table 'eucjp-ms-decode map)"; - print " (mapc #'(lambda (x)"; + print " (mapc (lambda (x)"; print " (let ((tmp (car x)))"; print " (setcar x (cdr x)) (setcdr x tmp)))"; print " map)"; diff --git a/admin/gitmerge.el b/admin/gitmerge.el index eeef4e3fc59..18da466aaa1 100644 --- a/admin/gitmerge.el +++ b/admin/gitmerge.el @@ -52,7 +52,7 @@ ;; caused false positives. --Stef (let ((skip "back[- ]?port\\|cherry picked from commit\\|\ \\(do\\( no\\|n['’]\\)t\\|no need to\\) merge\\|not to be merged\\|\ -bump \\(Emacs \\)?version\\|Auto-commit")) +bump Emacs version\\|Auto-commit")) (if noninteractive skip ;; "Regenerate" is quite prone to false positives. ;; We only want to skip merging things like AUTHORS and ldefs-boot. @@ -354,7 +354,7 @@ Returns non-nil if conflicts remain." ;; The conflict markers remain so we return non-nil. (message "Failed to fix NEWS conflict")))) ;; Generated files. - ((member file '("lisp/ldefs-boot.el")) + ((member file '("lisp/ldefs-boot.el" "etc/AUTHORS")) ;; We are in the file's buffer, so names are relative. (call-process "git" nil t nil "reset" "--" (file-name-nondirectory file)) diff --git a/admin/make-manuals b/admin/make-manuals index 1cb1c514331..13a8148bb3c 100755 --- a/admin/make-manuals +++ b/admin/make-manuals @@ -4,6 +4,7 @@ ## Copyright 2018-2020 Free Software Foundation, Inc. ## Author: Glenn Morris <rgm@gnu.org> +## Maintainer: emacs-devel@gnu.org ## This file is part of GNU Emacs. diff --git a/admin/merge-gnulib b/admin/merge-gnulib index 3dee0b72b32..164300e1db6 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib @@ -31,19 +31,19 @@ GNULIB_MODULES=' careadlinkat close-stream copy-file-range count-leading-zeros count-one-bits count-trailing-zeros crypto/md5-buffer crypto/sha1-buffer crypto/sha256-buffer crypto/sha512-buffer - d-type diffseq dosname double-slash-root dtoastr dtotimespec dup2 + d-type diffseq double-slash-root dtoastr dtotimespec dup2 environ execinfo explicit_bzero faccessat - fcntl fcntl-h fdopendir - filemode filevercmp flexmember fpieee fstatat fsusage fsync - getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog - ieee754-h ignore-value intprops largefile lstat + fchmodat fcntl fcntl-h fdopendir + filemode filename filevercmp flexmember fpieee fstatat fsusage fsync futimens + getloadavg getopt-gnu getrandom gettime gettimeofday gitlog-to-changelog + ieee754-h ignore-value intprops largefile libgmp lstat manywarnings memmem-simple mempcpy memrchr minmax mkostemp mktime nstrftime - pathmax pipe2 pselect pthread_sigmask putenv + pathmax pipe2 pselect pthread_sigmask qcopy-acl readlink readlinkat regex - sig2str socklen stat-time std-gnu11 stdalign stddef stdio + sig2str sigdescr_np socklen stat-time std-gnu11 stdalign stddef stdio stpcpy strnlen strtoimax symlink sys_stat sys_time tempname time time_r time_rz timegm timer-time timespec-add timespec-sub - update-copyright unlocked-io utimens + update-copyright unlocked-io utimensat vla warnings ' diff --git a/admin/notes/git-workflow b/admin/notes/git-workflow index 28b6f91a25d..d109cdaa354 100644 --- a/admin/notes/git-workflow +++ b/admin/notes/git-workflow @@ -15,14 +15,15 @@ Initial setup ============= Then we want to clone the repository. We normally want to have both -the current master and the emacs-26 branch. +the current master and (if there is one) the active release branch +(eg emacs-27). mkdir ~/emacs cd ~/emacs git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master cd master git config push.default current -git worktree add ../emacs-26 emacs-26 +git worktree add ../emacs-27 emacs-27 You now have both branches conveniently accessible, and you can do "git pull" in them once in a while to keep updated. @@ -52,11 +53,11 @@ you commit your change locally and then send a patch file as a bug report as described in ../../CONTRIBUTE. -Backporting to emacs-26 -======================= +Backporting to release branch +============================= If you have applied a fix to the master, but then decide that it should -be applied to the emacs-26 branch, too, then +be applied to the release branch, too, then cd ~/emacs/master git log @@ -66,7 +67,7 @@ which will look like commit 958b768a6534ae6e77a8547a56fc31b46b63710b -cd ~/emacs/emacs-26 +cd ~/emacs/emacs-27 git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b and add "Backport:" to the commit string. Then @@ -74,17 +75,28 @@ and add "Backport:" to the commit string. Then git push -Merging emacs-26 to the master -============================== +Reverting on release branch +=========================== + +If a commit is made to the release branch, and then it is later +decided that this change should only be on the master branch, the +simplest way to handle this is to revert the commit on the release +branch, and include in the associated log entry "do not merge to master". +(Otherwise, the reversion may get merged to master, and inadvertently +clobber the change on master if it has been manually made there.) + + +Merging release branch to the master +==================================== It is recommended to use the file gitmerge.el in the admin directory -for merging 'emacs-26' into 'master'. It will take care of many +for merging the release branch into 'master'. It will take care of many things which would otherwise have to be done manually, like ignoring commits that should not land in master, fixing up ChangeLogs and automatically dealing with certain types of conflicts. If you really want to, you can do the merge manually, but then you're on your own. If you still choose to do that, make absolutely sure that you *always* -use the 'merge' command to transport commits from 'emacs-26' to +use the 'merge' command to transport commits from the release branch to 'master'. *Never* use 'cherry-pick'! If you don't know why, then you shouldn't manually do the merge in the first place; just use gitmerge.el instead. @@ -97,11 +109,11 @@ up-to-date by doing a pull. Then start Emacs with emacs -l admin/gitmerge.el -f gitmerge You'll be asked for the branch to merge, which will default to -'origin/emacs-26', which you should accept. Merging a local tracking +(eg) 'origin/emacs-27', which you should accept. Merging a local tracking branch is discouraged, since it might not be up-to-date, or worse, contain commits from you which are not yet pushed upstream. -You will now see the list of commits from 'emacs-26' which are not yet +You will now see the list of commits from the release branch that are not yet merged to 'master'. You might also see commits that are already marked for "skipping", which means that they will be merged with a different merge strategy ('ours'), which will effectively ignore the diff --git a/admin/notes/unicode b/admin/notes/unicode index 6cb1b764c51..1e418590a68 100644 --- a/admin/notes/unicode +++ b/admin/notes/unicode @@ -256,11 +256,19 @@ nontrivial changes to the build process. etc/tutorials/TUTORIAL.ja + * iso-2022-7bit + + This file contains multiple Chinese charsets, and converting it + to UTF-8 would lose the charset property and would change the + code's behavior. Although this could be worked around by + propertizing the strings, that hasn't been done. + + lisp/international/titdic-cnv.el + * utf-8-emacs These files contain characters that cannot be encoded in UTF-8. - lisp/international/titdic-cnv.el lisp/language/ethio-util.el lisp/language/ethiopic.el lisp/language/ind-util.el diff --git a/admin/nt/dist-build/README-windows-binaries b/admin/nt/dist-build/README-windows-binaries index c8fb5797de9..01f7ed9da13 100644 --- a/admin/nt/dist-build/README-windows-binaries +++ b/admin/nt/dist-build/README-windows-binaries @@ -67,11 +67,11 @@ The dependencies. Unzipping this file on top of emacs-$VERSION-x86_64-no-deps.zip should result in the same install as emacs-$VERSION-x86_64.zip. -emacs-27-i686-deps.zip +emacs-$VERSION-i686-deps.zip The 32-bit version of the dependencies. -emacs-27-deps-mingw-w64-src.zip +emacs-$VERSION-deps-mingw-w64-src.zip The source for the dependencies. Source for Emacs itself is available in the main distribution tarball. These dependencies were produced diff --git a/admin/nt/dist-build/build-dep-zips.py b/admin/nt/dist-build/build-dep-zips.py index 0e5f1ae1dc6..7047d28346d 100755 --- a/admin/nt/dist-build/build-dep-zips.py +++ b/admin/nt/dist-build/build-dep-zips.py @@ -26,7 +26,7 @@ import re from subprocess import check_output ## Constants -EMACS_MAJOR_VERSION="27" +EMACS_MAJOR_VERSION="28" # This list derives from the features we want Emacs to compile with. PKG_REQ='''mingw-w64-x86_64-giflib diff --git a/admin/release-process b/admin/release-process index c3728b582f1..73879b13f08 100644 --- a/admin/release-process +++ b/admin/release-process @@ -200,21 +200,14 @@ sk Miroslav Vaško ** Check for modes which bind M-s that conflicts with a new global binding M-s and change key bindings where necessary. The current list of modes: -1. Gnus binds 'M-s' to 'gnus-summary-search-article-forward'. - -2. Minibuffer binds 'M-s' to 'next-matching-history-element' +1. Minibuffer binds 'M-s' to 'next-matching-history-element' (not useful any more since C-s can now search in the history). -3. 'center-line' in Text mode was already moved to the text formatting - keymap as 'M-o M-s' (thus this binding is not necessary any more - in 'nroff-mode-map' too and can be removed now from the nroff mode - because it can now use the global key binding 'M-o M-s' 'center-line'). - -4. PCL-CVS binds 'M-s' to 'cvs-status', and log-edit-mode binds it to +2. PCL-CVS binds 'M-s' to 'cvs-status', and log-edit-mode binds it to 'log-edit-comment-search-forward'. Perhaps search commands on the global key binding 'M-s' are useless in these modes. -5. Rmail binds '\es' to 'rmail-search'/'rmail-summary-search'. +3. Rmail binds '\es' to 'rmail-search'/'rmail-summary-search'. * DOCUMENTATION diff --git a/admin/unidata/blocks.awk b/admin/unidata/blocks.awk index 1e85eecb68f..70e96ed802d 100755 --- a/admin/unidata/blocks.awk +++ b/admin/unidata/blocks.awk @@ -3,6 +3,7 @@ ## Copyright (C) 2015-2020 Free Software Foundation, Inc. ## Author: Glenn Morris <rgm@gnu.org> +## Maintainer: emacs-devel@gnu.org ## This file is part of GNU Emacs. diff --git a/admin/unidata/unidata-gen.el b/admin/unidata/unidata-gen.el index 71959d633c5..73453cb9e47 100644 --- a/admin/unidata/unidata-gen.el +++ b/admin/unidata/unidata-gen.el @@ -1,4 +1,4 @@ -;; unidata-gen.el -- Create files containing character property data. +;; unidata-gen.el -- Create files containing character property data -*- lexical-binding:t -*- ;; Copyright (C) 2008-2020 Free Software Foundation, Inc. @@ -349,13 +349,10 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (n o c))))) ;; Functions to access the above data. -(defsubst unidata-prop-prop (proplist) (nth 0 proplist)) -(defsubst unidata-prop-index (proplist) (nth 1 proplist)) -(defsubst unidata-prop-generator (proplist) (nth 2 proplist)) -(defsubst unidata-prop-docstring (proplist) (nth 3 proplist)) -(defsubst unidata-prop-describer (proplist) (nth 4 proplist)) -(defsubst unidata-prop-default (proplist) (nth 5 proplist)) -(defsubst unidata-prop-val-list (proplist) (nth 6 proplist)) +(cl-defstruct (unidata-prop + (:type list) + (:constructor nil)) + prop index generator docstring describer default val-list) ;; SIMPLE TABLE @@ -383,11 +380,11 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." ;; 3rd: 0 (corresponding to uniprop_encode_character in chartab.c) ;; 4th to 5th: nil -(defun unidata-gen-table-character (prop prop-idx &rest ignore) +(defun unidata-gen-table-character (prop prop-idx &rest _ignore) (let ((table (make-char-table 'char-code-property-table)) (vec (make-vector 128 0)) (tail unidata-list) - elt range val idx slot) + elt range val) (if (functionp prop-idx) (setq tail (funcall prop-idx) prop-idx 1)) @@ -395,9 +392,9 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (setq elt (car tail) tail (cdr tail)) (setq range (car elt) val (nth prop-idx elt)) - (if (= (length val) 0) - (setq val nil) - (setq val (string-to-number val 16))) + (setq val (if (= (length val) 0) + nil + (string-to-number val 16))) (if (consp range) (if val (set-char-table-range table range val)) @@ -419,8 +416,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (setq first-index last-index))) (setq tail (cdr tail))) (when first-index - (let ((str (string 1 first-index)) - c) + (let ((str (string 1 first-index))) (while (<= first-index last-index) (setq str (format "%s%c" str (or (aref vec first-index) 0)) first-index (1+ first-index))) @@ -502,7 +498,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." ;; bidi.c:bidi_get_type and bidi.c:bidi_get_category. (bidi-warning "\ ** Found new bidi-class `%s', please update bidi.c and dispextern.h") - tail elt range val val-code idx slot + tail elt range val val-code prev-range-data) (setq val-list (cons nil (copy-sequence val-list))) (setq tail val-list val-code 0) @@ -510,9 +506,9 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (while tail (setcar tail (cons (car tail) val-code)) (setq tail (cdr tail) val-code (1+ val-code))) - (if (consp default-value) - (setq default-value (copy-sequence default-value)) - (setq default-value (list default-value))) + (setq default-value (if (consp default-value) + (copy-sequence default-value) + (list default-value))) (setcar default-value (unidata-encode-val val-list (car default-value))) (set-char-table-range table t (car default-value)) @@ -602,17 +598,17 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (if (= count 128) (if val (set-char-table-range table (cons start limit) val-code)) - (if (= val-code 0) - (set-char-table-range table (cons start limit) str) - (if (> count 2) - (setq str (concat str (string val-code (+ count 128)))) - (if (= count 2) - (setq str (concat str (string val-code val-code))) - (setq str (concat str (string val-code))))) - (set-char-table-range table (cons start limit) str)))))) + (set-char-table-range table (cons start limit) + (if (= val-code 0) + str + (concat str (if (> count 2) + (string val-code (+ count 128)) + (if (= count 2) + (string val-code val-code) + (string val-code)))))))))) (set-char-table-extra-slot table 0 prop) - (set-char-table-extra-slot table 4 (vconcat (mapcar 'car val-list))) + (set-char-table-extra-slot table 4 (vconcat (mapcar #'car val-list))) table)) (defun unidata-gen-table-symbol (prop index default-value val-list) @@ -679,8 +675,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (let ((beg 0) (end 0) (len1 (length l1)) - (len2 (length l2)) - result) + (len2 (length l2))) (when (< len1 16) (while (and l1 (eq (car l1) (car l2))) (setq beg (1+ beg) @@ -688,13 +683,13 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (while (and (< end len1) (< end len2) (eq (nth (- len1 end 1) l1) (nth (- len2 end 1) l2))) (setq end (1+ end)))) - (if (= (+ beg end) 0) - (setq result (list -1)) - (setq result (list (+ (* beg 16) (+ beg (- len1 end)))))) - (while (< end len2) - (setcdr result (cons (nth (- len2 end 1) l2) (cdr result))) - (setq end (1+ end))) - result)) + (let ((result (list (if (= (+ beg end) 0) + -1 + (+ (* beg 16) (+ beg (- len1 end))))))) + (while (< end len2) + (push (nth (- len2 end 1) l2) (cdr result)) + (setq end (1+ end))) + result))) ;; Return a compressed form of the vector VEC. Each element of VEC is ;; a list of symbols of which names can be concatenated to form a @@ -703,7 +698,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." ;; elements is usually small. (defun unidata-word-list-compress (vec) - (let (last-elt last-idx diff-head tail elt val) + (let (last-elt last-idx diff-head elt val) (dotimes (i 128) (setq elt (aref vec i)) (when elt @@ -768,7 +763,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (vec (make-vector 128 nil)) (idx 0) (case-fold-search nil) - c word-list tail-list last-list word diff-head) + c word-list tail-list last-list diff-head) (while (< i len) (setq c (aref val i)) (if (< c 3) @@ -784,7 +779,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (setq diff-head (prog1 (aref val i) (setq i (1+ i))))) (setq tail-list (nthcdr (% diff-head 16) last-list)) - (dotimes (i (/ diff-head 16)) + (dotimes (_ (/ diff-head 16)) (setq word-list (nconc word-list (list (car l))) l (cdr l)))))) (setq word-list @@ -808,7 +803,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (setcdr tail (cons elt (cdr tail))) (setcar tail " "))) (setq tail (cddr tail))) - (setq name (apply 'concat name)))) + (setq name (apply #'concat name)))) (aset table c name) (if (= c char) (setq val name)))) @@ -872,7 +867,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (vec (make-vector 128 nil)) (idx 0) (case-fold-search nil) - c word-list tail-list last-list word diff-head) + c word-list tail-list last-list diff-head) (while (< i len) (setq c (aref val i)) (if (< c 3) @@ -888,7 +883,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (setq diff-head (prog1 (aref val i) (setq i (1+ i))))) (setq tail-list (nthcdr (% diff-head 16) last-list)) - (dotimes (i (/ diff-head 16)) + (dotimes (_ (/ diff-head 16)) (setq word-list (nconc word-list (list (car l))) l (cdr l)))))) (setq word-list @@ -945,7 +940,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (word-list (list nil)) word-table block-list block-word-table block-end - tail elt range val idx slot) + tail elt range val idx) (setq tail unidata-list) (setq block-end -1) (while tail @@ -984,9 +979,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (push (list val range) block-list)))) (let* ((start (ash (ash range -7) 7)) (limit (+ start 127)) - (first tail) - (vec (make-vector 128 nil)) - c name len) + (vec (make-vector 128 nil))) (if (<= start block-end) ;; START overlap with the previous block. (aset table range (nth prop-idx elt)) @@ -1037,10 +1030,10 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (cdr (assq elt word-list)))) (setcar tail (string code)) (setq tail (cdr tail))) - (aset vec i (mapconcat 'identity (aref vec i) ""))))) + (aset vec i (mapconcat #'identity (aref vec i) ""))))) (set-char-table-range table (cons idx (+ idx 127)) - (mapconcat 'identity vec ""))))) + (mapconcat #'identity vec ""))))) (setq block-word-table (make-vector (length block-list) nil)) (setq idx 0) @@ -1086,19 +1079,18 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (or (byte-code-function-p (symbol-function fun)) (byte-compile fun)))) -(defun unidata-gen-table-name (prop index &rest ignore) +(defun unidata-gen-table-name (prop index &rest _ignore) (let* ((table (unidata-gen-table-word-list prop index 'unidata-split-name)) (word-tables (char-table-extra-slot table 4))) (unidata--ensure-compiled 'unidata-get-name 'unidata-put-name) (set-char-table-extra-slot table 1 (symbol-function 'unidata-get-name)) (set-char-table-extra-slot table 2 (symbol-function 'unidata-put-name)) - (if (eq prop 'name) - (set-char-table-extra-slot table 4 + (set-char-table-extra-slot table 4 + (if (eq prop 'name) (vector (car word-tables) (cdr word-tables) - unidata-name-jamo-name-table)) - (set-char-table-extra-slot table 4 + unidata-name-jamo-name-table) (vector (car word-tables)))) table)) @@ -1107,24 +1099,25 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." str (let ((len (length str)) (l nil) - (idx 0) - c) + (idx 0)) (if (= len 0) nil (dotimes (i len) - (setq c (aref str i)) - (if (= c 32) - (setq l (if (= (aref str idx) ?<) - (cons (intern (substring str (1+ idx) (1- i))) l) - (cons (string-to-number (substring str idx i) 16) l)) - idx (1+ i)))) - (if (= (aref str idx) ?<) - (setq l (cons (intern (substring str (1+ idx) (1- len))) l)) - (setq l (cons (string-to-number (substring str idx len) 16) l))) + (let ((c (aref str i))) + (when (= c ?\s) + (push (if (= (aref str idx) ?<) + (intern (substring str (1+ idx) (1- i))) + (string-to-number (substring str idx i) 16)) + l) + (setq idx (1+ i))))) + (push (if (= (aref str idx) ?<) + (intern (substring str (1+ idx) (1- len))) + (string-to-number (substring str idx len) 16)) + l) (nreverse l))))) -(defun unidata-gen-table-decomposition (prop index &rest ignore) +(defun unidata-gen-table-decomposition (prop index &rest _ignore) (let* ((table (unidata-gen-table-word-list prop index 'unidata-split-decomposition)) (word-tables (char-table-extra-slot table 4))) (unidata--ensure-compiled 'unidata-get-decomposition @@ -1167,7 +1160,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (forward-line))) result)) -(defun unidata-gen-table-special-casing (prop prop-idx &rest ignore) +(defun unidata-gen-table-special-casing (prop prop-idx &rest _ignore) (let ((table (make-char-table 'char-code-property-table))) (set-char-table-extra-slot table 0 prop) (mapc (lambda (entry) @@ -1175,7 +1168,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." ;; If character maps to a single character, the mapping is already ;; covered by regular casing property. Don’t store those. (when (/= (length v) 1) - (set-char-table-range table ch (apply 'string v))))) + (set-char-table-range table ch (apply #'string v))))) (or unidata-gen-table-special-casing--cache (setq unidata-gen-table-special-casing--cache (unidata-gen-table-special-casing--do-load)))) @@ -1353,7 +1346,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." ;; unidata-gen-table-special-casing--do-load and there is no other file ;; to compare those values with. This is why we’re skipping the check ;; for special casing properties. - (unless (eq generator 'unidata-gen-table-special-casing) + (unless (eq generator #'unidata-gen-table-special-casing) (setq table (progn (message "Generating %S table..." prop) (funcall generator prop index default-value val-list)) @@ -1369,19 +1362,21 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' (None)." (and (stringp val1) (= (length val1) 0) (setq val1 nil)) - (if val1 - (cond ((eq generator 'unidata-gen-table-symbol) - (setq val1 (intern val1))) - ((eq generator 'unidata-gen-table-integer) - (setq val1 (string-to-number val1))) - ((eq generator 'unidata-gen-table-character) - (setq val1 (string-to-number val1 16))) - ((eq generator 'unidata-gen-table-decomposition) - (setq val1 (unidata-split-decomposition val1)))) - (cond ((eq prop 'decomposition) - (setq val1 (list char))) - ((eq prop 'bracket-type) - (setq val1 'n)))) + (setq val1 + (if val1 + (cond ((eq generator #'unidata-gen-table-symbol) + (intern val1)) + ((eq generator #'unidata-gen-table-integer) + (string-to-number val1)) + ((eq generator #'unidata-gen-table-character) + (string-to-number val1 16)) + ((eq generator #'unidata-gen-table-decomposition) + (unidata-split-decomposition val1)) + (t val1)) + (cond ((eq prop 'decomposition) + (list char)) + ((eq prop 'bracket-type) + 'n)))) (setq val2 (aref table char)) (when decoder (setq val2 (funcall decoder char val2 table))) diff --git a/admin/update_autogen b/admin/update_autogen index af339a9e7ec..d60984e13f6 100755 --- a/admin/update_autogen +++ b/admin/update_autogen @@ -4,6 +4,7 @@ ## Copyright (C) 2011-2020 Free Software Foundation, Inc. ## Author: Glenn Morris <rgm@gnu.org> +## Maintainer: emacs-devel@gnu.org ## This file is part of GNU Emacs. diff --git a/admin/upload-manuals b/admin/upload-manuals index af1c8c18704..b7187971df0 100755 --- a/admin/upload-manuals +++ b/admin/upload-manuals @@ -5,6 +5,7 @@ ## Copyright 2018-2020 Free Software Foundation, Inc. ## Author: Glenn Morris <rgm@gnu.org> +## Maintainer: emacs-devel@gnu.org ## This file is part of GNU Emacs. |