aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Belaïche2016-05-25 23:44:18 +0200
committerVincent Belaïche2016-05-25 23:44:18 +0200
commit6c12c53949acafbfcad2e08b1ac5cbe283d71597 (patch)
tree736a336f1b3cecaee73344c237d84545c1a57503
parent0be672542ad60e6c73d36b7fdc1b6786786595ad (diff)
parent853b9b92072e9eff11aff9c0110380c9a93864ca (diff)
downloademacs-6c12c53949acafbfcad2e08b1ac5cbe283d71597.tar.gz
emacs-6c12c53949acafbfcad2e08b1ac5cbe283d71597.zip
Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
-rw-r--r--admin/admin.el19
-rw-r--r--admin/authors.el32
-rw-r--r--admin/make-tarball.txt15
-rwxr-xr-xbuild-aux/gitlog-to-emacslog22
-rw-r--r--doc/misc/texinfo.tex56
5 files changed, 79 insertions, 65 deletions
diff --git a/admin/admin.el b/admin/admin.el
index a3d56277918..4af1ff9003a 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -43,12 +43,19 @@ Optional argument DATE is the release date, default today."
43 (setq root (expand-file-name root)) 43 (setq root (expand-file-name root))
44 (unless (file-exists-p (expand-file-name "src/emacs.c" root)) 44 (unless (file-exists-p (expand-file-name "src/emacs.c" root))
45 (user-error "%s doesn't seem to be the root of an Emacs source tree" root)) 45 (user-error "%s doesn't seem to be the root of an Emacs source tree" root))
46 ;; FIXME this does not check that a ChangeLog that exists is not 46 (let ((clog (expand-file-name "ChangeLog" root)))
47 ;; your own personal one. Perhaps we should move any existing file 47 (if (file-exists-p clog)
48 ;; and unconditionally call make ChangeLog? 48 ;; Basic check that a ChangeLog that exists is not your personal one.
49 ;; Or make ChangeLog CHANGELOG=temp and compare with the existing? 49 ;; TODO Perhaps we should move any existing file and unconditionally
50 (unless (file-exists-p (expand-file-name "ChangeLog" root)) 50 ;; call make ChangeLog? Or make ChangeLog CHANGELOG=temp and compare
51 (user-error "No top-level ChangeLog - run \"make ChangeLog\" first")) 51 ;; with the existing?
52 (with-temp-buffer
53 (insert-file-contents clog)
54 (or (re-search-forward "^[ \t]*Copyright.*Free Software" nil t)
55 (user-error "ChangeLog looks like a personal one - remove it?")))
56 (or
57 (zerop (call-process "make" nil nil nil "-C" root "ChangeLog"))
58 (error "Problem generating ChangeLog"))))
52 (require 'add-log) 59 (require 'add-log)
53 (or date (setq date (funcall add-log-time-format nil t))) 60 (or date (setq date (funcall add-log-time-format nil t)))
54 (let* ((logs (process-lines "find" root "-name" "ChangeLog")) 61 (let* ((logs (process-lines "find" root "-name" "ChangeLog"))
diff --git a/admin/authors.el b/admin/authors.el
index f1aa2fa4428..b93c9b251ca 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -1361,24 +1361,36 @@ and changed by AUTHOR."
1361 (cons (list author wrote-list cowrote-list changed-list) 1361 (cons (list author wrote-list cowrote-list changed-list)
1362 authors-author-list))))) 1362 authors-author-list)))))
1363 1363
1364(defun authors (root) 1364(defun authors (root &optional nologupdate)
1365 "Extract author information from change logs and Lisp source files. 1365 "Extract author information from change logs and Lisp source files.
1366ROOT is the root directory under which to find the files. If called 1366ROOT is the root directory under which to find the files.
1367interactively, ROOT is read from the minibuffer. 1367Interactively, read ROOT from the minibuffer.
1368Result is a buffer *Authors* containing authorship information, and a 1368Accurate author information requires up-to-date change logs, so this
1369buffer *Authors Errors* containing references to unknown files." 1369first updates them, unless optional prefix argument NOLOGUPDATE is non-nil.
1370 (interactive "DEmacs source directory: ") 1370The result is a buffer *Authors* containing authorship information,
1371and a buffer *Authors Errors* containing references to unknown files."
1372 (interactive "DEmacs source directory: \nP")
1371 (setq root (expand-file-name root)) 1373 (setq root (expand-file-name root))
1374 (unless (file-exists-p (expand-file-name "src/emacs.c" root))
1375 (unless (y-or-n-p
1376 (format "Not the root directory of Emacs: %s, continue? " root))
1377 (user-error "Not the root directory")))
1378 ;; May contain your personal entries.
1379 (or (not (file-exists-p (expand-file-name "ChangeLog" root)))
1380 (y-or-n-p "Unversioned ChangeLog present, continue?")
1381 (user-error "Unversioned ChangeLog may have irrelevant entries"))
1382 (or nologupdate
1383 ;; There are likely to be things that need fixing, so we update
1384 ;; the versioned ChangeLog.N rather than the unversioned ChangeLog.
1385 (zerop (call-process "make" nil nil nil
1386 "-C" root "change-history-nocommit"))
1387 (error "Problem updating ChangeLog"))
1372 (let ((logs (process-lines find-program root "-name" "ChangeLog*")) 1388 (let ((logs (process-lines find-program root "-name" "ChangeLog*"))
1373 (table (make-hash-table :test 'equal)) 1389 (table (make-hash-table :test 'equal))
1374 (buffer-name "*Authors*") 1390 (buffer-name "*Authors*")
1375 authors-checked-files-alist 1391 authors-checked-files-alist
1376 authors-invalid-file-names) 1392 authors-invalid-file-names)
1377 (authors-add-fixed-entries table) 1393 (authors-add-fixed-entries table)
1378 (unless (file-exists-p (expand-file-name "src/emacs.c" root))
1379 (unless (y-or-n-p
1380 (format "Not the root directory of Emacs: %s, continue? " root))
1381 (error "Not the root directory")))
1382 (dolist (log logs) 1394 (dolist (log logs)
1383 (when (string-match "ChangeLog\\(.[0-9]+\\)?$" log) 1395 (when (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
1384 (message "Scanning %s..." log) 1396 (message "Scanning %s..." log)
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index af18ff6a2e6..77486cc6399 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -37,14 +37,15 @@ General steps (for each step, check for possible errors):
37 M-: (require 'authors) RET 37 M-: (require 'authors) RET
38 M-x authors RET 38 M-x authors RET
39 39
40 (This first updates the current versioned ChangeLog.N)
41
40 If there is an "*Authors Errors*" buffer, address the issues. 42 If there is an "*Authors Errors*" buffer, address the issues.
41 If there was a ChangeLog typo, run "make change-history" and then 43 If there was a ChangeLog typo, fix the relevant entry.
42 fix the newest ChangeLog history file. If a file was deleted or 44 If a file was deleted or renamed, consider adding an appropriate
43 renamed, consider adding an appropriate entry to 45 entry to authors-ignored-files, authors-valid-file-names, or
44 authors-ignored-files, authors-valid-file-names, or
45 authors-renamed-files-alist. 46 authors-renamed-files-alist.
46 47
47 If necessary, repeat M-x authors after making those changes. 48 If necessary, repeat 'C-u M-x authors' after making those changes.
48 Save the "*Authors*" buffer as etc/AUTHORS. 49 Save the "*Authors*" buffer as etc/AUTHORS.
49 Check the diff looks reasonable. Maybe add entries to 50 Check the diff looks reasonable. Maybe add entries to
50 authors-ambiguous-files or authors-aliases, and repeat. 51 authors-ambiguous-files or authors-aliases, and repeat.
@@ -85,8 +86,8 @@ General steps (for each step, check for possible errors):
85 86
865. Copy lisp/loaddefs.el to lisp/ldefs-boot.el. 875. Copy lisp/loaddefs.el to lisp/ldefs-boot.el.
87 88
88 Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed 89 Commit ChangeLog.N, etc/AUTHORS, lisp/ldefs-boot.el, and the
89 by M-x set-version. 90 files changed by M-x set-version.
90 91
91 If someone else made a commit between step 1 and now, 92 If someone else made a commit between step 1 and now,
92 you need to repeat from step 4 onwards. (You can commit the files 93 you need to repeat from step 4 onwards. (You can commit the files
diff --git a/build-aux/gitlog-to-emacslog b/build-aux/gitlog-to-emacslog
index 5c187f5eae0..345c37f63da 100755
--- a/build-aux/gitlog-to-emacslog
+++ b/build-aux/gitlog-to-emacslog
@@ -81,7 +81,7 @@ test -d .git || {
81 --ignore-line='^; ' --format='%B' \ 81 --ignore-line='^; ' --format='%B' \
82 "$gen_origin..$new_origin" >"ChangeLog.tmp" || exit 82 "$gen_origin..$new_origin" >"ChangeLog.tmp" || exit
83 83
84if test -s "ChangeLog.tmp"; then 84if test -e "ChangeLog.tmp"; then
85 85
86 # Fix up bug references. 86 # Fix up bug references.
87 # This would be better as eg a --transform option to gitlog-to-changelog, 87 # This would be better as eg a --transform option to gitlog-to-changelog,
@@ -99,7 +99,7 @@ if test -s "ChangeLog.tmp"; then
99 ` 99 `
100 start_year= 100 start_year=
101 end_year= 101 end_year=
102 for year in $years; do 102 for year in ${years:-`date +%Y`}; do
103 : ${start_year:=$year} 103 : ${start_year:=$year}
104 end_year=$year 104 end_year=$year
105 done 105 done
@@ -110,13 +110,19 @@ if test -s "ChangeLog.tmp"; then
110 year_range=$start_year-$end_year 110 year_range=$start_year-$end_year
111 fi 111 fi
112 112
113 # Update gen_origin and append a proper copyright notice. 113 # Update gen_origin
114 sed -n ' 114 if test "$gen_origin" != "$new_origin"; then
115 1i\ 115 sed -n '
116 1i\
117
118 /^This file records repository revisions/p
119 s/^commit [0-9a-f]* (exclusive)/commit '"$gen_origin"' (exclusive)/p
120 s/^commit [0-9a-f]* (inclusive)/commit '"$new_origin"' (inclusive)/p
121 ' <ChangeLog.$nmax >>"ChangeLog.tmp" || exit
122 fi
116 123
117 /^This file records repository revisions/p 124 # Append a proper copyright notice.
118 s/^commit [0-9a-f]* (exclusive)/commit '"$gen_origin"' (exclusive)/p 125 sed -n '
119 s/^commit [0-9a-f]* (inclusive)/commit '"$new_origin"' (inclusive)/p
120 /^See ChangeLog.[0-9]* for earlier/,${ 126 /^See ChangeLog.[0-9]* for earlier/,${
121 s/ChangeLog\.[0-9]*/ChangeLog.'$nmax'/ 127 s/ChangeLog\.[0-9]*/ChangeLog.'$nmax'/
122 s/\(Copyright[ (C)]*\)[0-9]*-[0-9]*/\1'"$year_range"'/ 128 s/\(Copyright[ (C)]*\)[0-9]*-[0-9]*/\1'"$year_range"'/
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index 314063cafe1..37e2de896ec 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,7 +3,7 @@
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2016-05-07.20} 6\def\texinfoversion{2016-04-14.07}
7% 7%
8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -67,10 +67,6 @@
67\everyjob{\message{[Texinfo version \texinfoversion]}% 67\everyjob{\message{[Texinfo version \texinfoversion]}%
68 \catcode`+=\active \catcode`\_=\active} 68 \catcode`+=\active \catcode`\_=\active}
69 69
70% LaTeX's \typeout. This ensures that the messages it is used for
71% are identical in format to the corresponding ones from latex/pdflatex.
72\def\typeout{\immediate\write17}%
73
74\chardef\other=12 70\chardef\other=12
75 71
76% We never want plain's \outer definition of \+ in Texinfo. 72% We never want plain's \outer definition of \+ in Texinfo.
@@ -1538,6 +1534,7 @@ output) for that.)}
1538 % 1534 %
1539 % PDF outline support 1535 % PDF outline support
1540 % 1536 %
1537 \pdfmakepagedesttrue \relax
1541 % Emulate the primitive of pdfTeX 1538 % Emulate the primitive of pdfTeX
1542 \def\pdfdest name#1 xyz{% 1539 \def\pdfdest name#1 xyz{%
1543 \special{pdf:dest (name#1) [@thispage /XYZ @xpos @ypos]}% 1540 \special{pdf:dest (name#1) [@thispage /XYZ @xpos @ypos]}%
@@ -3273,8 +3270,8 @@ end
3273% @{ @} @lbracechar{} @rbracechar{} all generate brace characters. 3270% @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
3274% Unless we're in typewriter, use \ecfont because the CM text fonts do 3271% Unless we're in typewriter, use \ecfont because the CM text fonts do
3275% not have braces, and we don't want to switch into math. 3272% not have braces, and we don't want to switch into math.
3276\def\mylbrace{{\ifmonospace\char123\else\ensuremath\lbrace\fi}} 3273\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
3277\def\myrbrace{{\ifmonospace\char125\else\ensuremath\rbrace\fi}} 3274\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
3278\let\{=\mylbrace \let\lbracechar=\{ 3275\let\{=\mylbrace \let\lbracechar=\{
3279\let\}=\myrbrace \let\rbracechar=\} 3276\let\}=\myrbrace \let\rbracechar=\}
3280\begingroup 3277\begingroup
@@ -4756,7 +4753,7 @@ end
4756\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} 4753\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
4757\def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}} 4754\def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}}
4758 4755
4759% Used when writing an index entry out to an index file to prevent 4756% Used when writing an index entry out to an index file, to prevent
4760% expansion of Texinfo commands that can appear in an index entry. 4757% expansion of Texinfo commands that can appear in an index entry.
4761% 4758%
4762\def\indexdummies{% 4759\def\indexdummies{%
@@ -4892,9 +4889,12 @@ end
4892 % 4889 %
4893 % We want to disable all macros so that they are not expanded by \write. 4890 % We want to disable all macros so that they are not expanded by \write.
4894 \macrolist 4891 \macrolist
4895 \definedummyword\value
4896 % 4892 %
4897 \normalturnoffactive 4893 \normalturnoffactive
4894 %
4895 % Handle some cases of @value -- where it does not contain any
4896 % (non-fully-expandable) commands.
4897 \makevalueexpandable
4898} 4898}
4899 4899
4900% \commondummiesnofonts: common to \commondummies and \indexnofonts. 4900% \commondummiesnofonts: common to \commondummies and \indexnofonts.
@@ -5159,10 +5159,9 @@ end
5159 \ifx\suffix\indexisfl\def\suffix{f1}\fi 5159 \ifx\suffix\indexisfl\def\suffix{f1}\fi
5160 % Open the file 5160 % Open the file
5161 \immediate\openout\csname#1indfile\endcsname \jobname.\suffix 5161 \immediate\openout\csname#1indfile\endcsname \jobname.\suffix
5162 % Using \immediate above here prevents an object entering into the current 5162 % Using \immediate here prevents an object entering into the current box,
5163 % box, which could confound checks such as those in \safewhatsit for 5163 % which could confound checks such as those in \safewhatsit for preceding
5164 % preceding skips. 5164 % skips.
5165 \typeout{Writing index file \jobname.\suffix}%
5166\fi} 5165\fi}
5167\def\indexisfl{fl} 5166\def\indexisfl{fl}
5168 5167
@@ -5370,7 +5369,6 @@ end
5370 % index. The easiest way to prevent this problem is to make sure 5369 % index. The easiest way to prevent this problem is to make sure
5371 % there is some text. 5370 % there is some text.
5372 \putwordIndexNonexistent 5371 \putwordIndexNonexistent
5373 \typeout{No file \jobname.\indexname s.}%
5374 \else 5372 \else
5375 \catcode`\\ = 0 5373 \catcode`\\ = 0
5376 % 5374 %
@@ -6684,14 +6682,7 @@ end
6684 % 1 and 2 (the page numbers aren't printed), and so are the first 6682 % 1 and 2 (the page numbers aren't printed), and so are the first
6685 % two pages of the document. Thus, we'd have two destinations named 6683 % two pages of the document. Thus, we'd have two destinations named
6686 % `1', and two named `2'. 6684 % `1', and two named `2'.
6687 \ifpdf 6685 \ifpdf \global\pdfmakepagedesttrue \fi
6688 \global\pdfmakepagedesttrue
6689 \else
6690 \ifx\XeTeXrevision\thisisundefined
6691 \else
6692 \global\pdfmakepagedesttrue
6693 \fi
6694 \fi
6695} 6686}
6696 6687
6697 6688
@@ -8871,7 +8862,6 @@ end
8871 % include an _ in the xref name, etc. 8862 % include an _ in the xref name, etc.
8872 \indexnofonts 8863 \indexnofonts
8873 \turnoffactive 8864 \turnoffactive
8874 \def\value##1{##1}%
8875 \expandafter\global\expandafter\let\expandafter\Xthisreftitle 8865 \expandafter\global\expandafter\let\expandafter\Xthisreftitle
8876 \csname XR#1-title\endcsname 8866 \csname XR#1-title\endcsname
8877 }% 8867 }%
@@ -9012,14 +9002,14 @@ end
9012 \fi\fi\fi 9002 \fi\fi\fi
9013} 9003}
9014 9004
9015% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX 9005% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
9016% is output afterwards if non-empty. 9006% If its value is nonempty, SUFFIX is output afterward.
9007%
9017\def\refx#1#2{% 9008\def\refx#1#2{%
9018 \requireauxfile 9009 \requireauxfile
9019 {% 9010 {%
9020 \indexnofonts 9011 \indexnofonts
9021 \otherbackslash 9012 \otherbackslash
9022 \def\value##1{##1}%
9023 \expandafter\global\expandafter\let\expandafter\thisrefX 9013 \expandafter\global\expandafter\let\expandafter\thisrefX
9024 \csname XR#1\endcsname 9014 \csname XR#1\endcsname
9025 }% 9015 }%
@@ -9044,18 +9034,16 @@ end
9044 #2% Output the suffix in any case. 9034 #2% Output the suffix in any case.
9045} 9035}
9046 9036
9047% This is the macro invoked by entries in the aux file. Define a control 9037% This is the macro invoked by entries in the aux file. Usually it's
9048% sequence for a cross-reference target (we prepend XR to the control sequence 9038% just a \def (we prepend XR to the control sequence name to avoid
9049% name to avoid collisions). The value is the page number. If this is a float 9039% collisions). But if this is a float type, we have more work to do.
9050% type, we have more work to do.
9051% 9040%
9052\def\xrdef#1#2{% 9041\def\xrdef#1#2{%
9053 {% Expand the node or anchor name to remove control sequences. 9042 {% The node name might contain 8-bit characters, which in our current
9054 % \turnoffactive stops 8-bit characters being changed to commands 9043 % implementation are changed to commands like @'e. Don't let these
9055 % like @'e. \refx does the same to retrieve the value in the definition. 9044 % mess up the control sequence name.
9056 \indexnofonts 9045 \indexnofonts
9057 \turnoffactive 9046 \turnoffactive
9058 \def\value##1{##1}%
9059 \xdef\safexrefname{#1}% 9047 \xdef\safexrefname{#1}%
9060 }% 9048 }%
9061 % 9049 %