emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 6c12c53 2/2: Merge branch 'emacs-25' of git.sv.gn


From: Vincent Belaïche
Subject: [Emacs-diffs] emacs-25 6c12c53 2/2: Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
Date: Wed, 25 May 2016 21:44:40 +0000 (UTC)

branch: emacs-25
commit 6c12c53949acafbfcad2e08b1ac5cbe283d71597
Merge: 0be6725 853b9b9
Author: Vincent Belaïche <address@hidden>
Commit: Vincent Belaïche <address@hidden>

    Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
---
 admin/admin.el               |   19 +++++++++-----
 admin/authors.el             |   32 ++++++++++++++++--------
 admin/make-tarball.txt       |   15 +++++------
 build-aux/gitlog-to-emacslog |   22 +++++++++++------
 doc/misc/texinfo.tex         |   56 +++++++++++++++++-------------------------
 5 files changed, 79 insertions(+), 65 deletions(-)

diff --git a/admin/admin.el b/admin/admin.el
index a3d5627..4af1ff9 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -43,12 +43,19 @@ Optional argument DATE is the release date, default today."
   (setq root (expand-file-name root))
   (unless (file-exists-p (expand-file-name "src/emacs.c" root))
     (user-error "%s doesn't seem to be the root of an Emacs source tree" root))
-  ;; FIXME this does not check that a ChangeLog that exists is not
-  ;; your own personal one.  Perhaps we should move any existing file
-  ;; and unconditionally call make ChangeLog?
-  ;; Or make ChangeLog CHANGELOG=temp and compare with the existing?
-  (unless (file-exists-p (expand-file-name "ChangeLog" root))
-    (user-error "No top-level ChangeLog - run \"make ChangeLog\" first"))
+  (let ((clog (expand-file-name "ChangeLog" root)))
+    (if (file-exists-p clog)
+        ;; Basic check that a ChangeLog that exists is not your personal one.
+        ;; TODO Perhaps we should move any existing file and unconditionally
+        ;; call make ChangeLog?  Or make ChangeLog CHANGELOG=temp and compare
+        ;; with the existing?
+        (with-temp-buffer
+          (insert-file-contents clog)
+          (or (re-search-forward "^[ \t]*Copyright.*Free Software" nil t)
+              (user-error "ChangeLog looks like a personal one - remove it?")))
+      (or
+       (zerop (call-process "make" nil nil nil "-C" root "ChangeLog"))
+       (error "Problem generating ChangeLog"))))
   (require 'add-log)
   (or date (setq date (funcall add-log-time-format nil t)))
   (let* ((logs (process-lines "find" root "-name" "ChangeLog"))
diff --git a/admin/authors.el b/admin/authors.el
index f1aa2fa..b93c9b2 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -1361,24 +1361,36 @@ and changed by AUTHOR."
            (cons (list author wrote-list cowrote-list changed-list)
                  authors-author-list)))))
 
-(defun authors (root)
+(defun authors (root &optional nologupdate)
   "Extract author information from change logs and Lisp source files.
-ROOT is the root directory under which to find the files.  If called
-interactively, ROOT is read from the minibuffer.
-Result is a buffer *Authors* containing authorship information, and a
-buffer *Authors Errors* containing references to unknown files."
-  (interactive "DEmacs source directory: ")
+ROOT is the root directory under which to find the files.
+Interactively, read ROOT from the minibuffer.
+Accurate author information requires up-to-date change logs, so this
+first updates them, unless optional prefix argument NOLOGUPDATE is non-nil.
+The result is a buffer *Authors* containing authorship information,
+and a buffer *Authors Errors* containing references to unknown files."
+  (interactive "DEmacs source directory: \nP")
   (setq root (expand-file-name root))
+  (unless (file-exists-p (expand-file-name "src/emacs.c" root))
+    (unless (y-or-n-p
+             (format "Not the root directory of Emacs: %s, continue? " root))
+      (user-error "Not the root directory")))
+  ;; May contain your personal entries.
+  (or (not (file-exists-p (expand-file-name "ChangeLog" root)))
+      (y-or-n-p "Unversioned ChangeLog present, continue?")
+      (user-error "Unversioned ChangeLog may have irrelevant entries"))
+  (or nologupdate
+      ;; There are likely to be things that need fixing, so we update
+      ;; the versioned ChangeLog.N rather than the unversioned ChangeLog.
+      (zerop (call-process "make" nil nil nil
+                           "-C" root "change-history-nocommit"))
+      (error "Problem updating ChangeLog"))
   (let ((logs (process-lines find-program root "-name" "ChangeLog*"))
        (table (make-hash-table :test 'equal))
        (buffer-name "*Authors*")
        authors-checked-files-alist
        authors-invalid-file-names)
     (authors-add-fixed-entries table)
-    (unless (file-exists-p (expand-file-name "src/emacs.c" root))
-      (unless (y-or-n-p
-              (format "Not the root directory of Emacs: %s, continue? " root))
-       (error "Not the root directory")))
     (dolist (log logs)
       (when (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
        (message "Scanning %s..." log)
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index af18ff6..77486cc 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -37,14 +37,15 @@ General steps (for each step, check for possible errors):
       M-: (require 'authors) RET
       M-x authors RET
 
+    (This first updates the current versioned ChangeLog.N)
+
     If there is an "*Authors Errors*" buffer, address the issues.
-    If there was a ChangeLog typo, run "make change-history" and then
-    fix the newest ChangeLog history file.  If a file was deleted or
-    renamed, consider adding an appropriate entry to
-    authors-ignored-files, authors-valid-file-names, or
+    If there was a ChangeLog typo, fix the relevant entry.
+    If a file was deleted or renamed, consider adding an appropriate
+    entry to authors-ignored-files, authors-valid-file-names, or
     authors-renamed-files-alist.
 
-    If necessary, repeat M-x authors after making those changes.
+    If necessary, repeat 'C-u M-x authors' after making those changes.
     Save the "*Authors*" buffer as etc/AUTHORS.
     Check the diff looks reasonable.  Maybe add entries to
     authors-ambiguous-files or authors-aliases, and repeat.
@@ -85,8 +86,8 @@ General steps (for each step, check for possible errors):
 
 5.  Copy lisp/loaddefs.el to lisp/ldefs-boot.el.
 
-    Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed
-    by M-x set-version.
+    Commit ChangeLog.N, etc/AUTHORS, lisp/ldefs-boot.el, and the
+    files changed by M-x set-version.
 
     If someone else made a commit between step 1 and now,
     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 5c187f5..345c37f 100755
--- a/build-aux/gitlog-to-emacslog
+++ b/build-aux/gitlog-to-emacslog
@@ -81,7 +81,7 @@ test -d .git || {
   --ignore-line='^; ' --format='%B' \
   "$gen_origin..$new_origin" >"ChangeLog.tmp" || exit
 
-if test -s "ChangeLog.tmp"; then
+if test -e "ChangeLog.tmp"; then
 
   # Fix up bug references.
   # This would be better as eg a --transform option to gitlog-to-changelog,
@@ -99,7 +99,7 @@ if test -s "ChangeLog.tmp"; then
   `
   start_year=
   end_year=
-  for year in $years; do
+  for year in ${years:-`date +%Y`}; do
     : ${start_year:=$year}
     end_year=$year
   done
@@ -110,13 +110,19 @@ if test -s "ChangeLog.tmp"; then
     year_range=$start_year-$end_year
   fi
 
-  # Update gen_origin and append a proper copyright notice.
-  sed -n '
-    1i\
+  # Update gen_origin
+  if test "$gen_origin" != "$new_origin"; then
+      sed -n '
+        1i\
+
+        /^This file records repository revisions/p
+        s/^commit [0-9a-f]* (exclusive)/commit '"$gen_origin"' (exclusive)/p
+        s/^commit [0-9a-f]* (inclusive)/commit '"$new_origin"' (inclusive)/p
+      ' <ChangeLog.$nmax >>"ChangeLog.tmp" || exit
+  fi
 
-    /^This file records repository revisions/p
-    s/^commit [0-9a-f]* (exclusive)/commit '"$gen_origin"' (exclusive)/p
-    s/^commit [0-9a-f]* (inclusive)/commit '"$new_origin"' (inclusive)/p
+  # Append a proper copyright notice.
+  sed -n '
     /^See ChangeLog.[0-9]* for earlier/,${
        s/ChangeLog\.[0-9]*/ChangeLog.'$nmax'/
        s/\(Copyright[ (C)]*\)[0-9]*-[0-9]*/\1'"$year_range"'/
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index 314063c..37e2de8 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2016-05-07.20}
+\def\texinfoversion{2016-04-14.07}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -67,10 +67,6 @@
 \everyjob{\message{[Texinfo version \texinfoversion]}%
   \catcode`+=\active \catcode`\_=\active}
 
-% LaTeX's \typeout.  This ensures that the messages it is used for
-% are identical in format to the corresponding ones from latex/pdflatex.
-\def\typeout{\immediate\write17}%
-
 \chardef\other=12
 
 % We never want plain's \outer definition of \+ in Texinfo.
@@ -1538,6 +1534,7 @@ output) for that.)}
   %
   % PDF outline support
   %
+  \pdfmakepagedesttrue \relax
   % Emulate the primitive of pdfTeX
   \def\pdfdest name#1 xyz{%
     \special{pdf:dest (name#1) address@hidden /XYZ @xpos @ypos]}%
@@ -3273,8 +3270,8 @@ end
 % @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
 % Unless we're in typewriter, use \ecfont because the CM text fonts do
 % not have braces, and we don't want to switch into math.
-\def\mylbrace{{\ifmonospace\char123\else\ensuremath\lbrace\fi}}
-\def\myrbrace{{\ifmonospace\char125\else\ensuremath\rbrace\fi}}
+\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
+\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
 \let\{=\mylbrace \let\lbracechar=\{
 \let\}=\myrbrace \let\rbracechar=\}
 \begingroup
@@ -4756,7 +4753,7 @@ end
 \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
 \def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}}
 
-% Used when writing an index entry out to an index file to prevent
+% Used when writing an index entry out to an index file, to prevent
 % expansion of Texinfo commands that can appear in an index entry.
 %
 \def\indexdummies{%
@@ -4892,9 +4889,12 @@ end
   %
   % We want to disable all macros so that they are not expanded by \write.
   \macrolist
-  \definedummyword\value
   %
   \normalturnoffactive
+  %
+  % Handle some cases of @value -- where it does not contain any
+  % (non-fully-expandable) commands.
+  \makevalueexpandable
 }
 
 % \commondummiesnofonts: common to \commondummies and \indexnofonts.
@@ -5159,10 +5159,9 @@ end
   \ifx\suffix\indexisfl\def\suffix{f1}\fi
   % Open the file
   \immediate\openout\csname#1indfile\endcsname \jobname.\suffix
-  % Using \immediate above here prevents an object entering into the current 
-  % box, which could confound checks such as those in \safewhatsit for
-  % preceding skips.
-  \typeout{Writing index file \jobname.\suffix}%
+  % Using \immediate here prevents an object entering into the current box,
+  % which could confound checks such as those in \safewhatsit for preceding
+  % skips.
 \fi}
 \def\indexisfl{fl}
 
@@ -5370,7 +5369,6 @@ end
     % index.  The easiest way to prevent this problem is to make sure
     % there is some text.
     \putwordIndexNonexistent
-    \typeout{No file \jobname.\indexname s.}%
   \else
     \catcode`\\ = 0
     %
@@ -6684,14 +6682,7 @@ end
   % 1 and 2 (the page numbers aren't printed), and so are the first
   % two pages of the document.  Thus, we'd have two destinations named
   % `1', and two named `2'.
-  \ifpdf
-    \global\pdfmakepagedesttrue
-  \else
-    \ifx\XeTeXrevision\thisisundefined
-    \else
-      \global\pdfmakepagedesttrue
-    \fi
-  \fi
+  \ifpdf \global\pdfmakepagedesttrue \fi
 }
 
 
@@ -8871,7 +8862,6 @@ end
     % include an _ in the xref name, etc.
     \indexnofonts
     \turnoffactive
-    \def\value##1{##1}%
     \expandafter\global\expandafter\let\expandafter\Xthisreftitle
       \csname XR#1-title\endcsname
   }%
@@ -9012,14 +9002,14 @@ end
   \fi\fi\fi
 }
 
-% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME.  SUFFIX 
-% is output afterwards if non-empty.
+% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
+% If its value is nonempty, SUFFIX is output afterward.
+%
 \def\refx#1#2{%
   \requireauxfile
   {%
     \indexnofonts
     \otherbackslash
-    \def\value##1{##1}%
     \expandafter\global\expandafter\let\expandafter\thisrefX
       \csname XR#1\endcsname
   }%
@@ -9044,18 +9034,16 @@ end
   #2% Output the suffix in any case.
 }
 
-% This is the macro invoked by entries in the aux file.  Define a control 
-% sequence for a cross-reference target (we prepend XR to the control sequence 
-% name to avoid collisions).  The value is the page number.  If this is a 
float 
-% type, we have more work to do.
+% This is the macro invoked by entries in the aux file.  Usually it's
+% just a \def (we prepend XR to the control sequence name to avoid
+% collisions).  But if this is a float type, we have more work to do.
 %
 \def\xrdef#1#2{%
-  {% Expand the node or anchor name to remove control sequences.
-   % \turnoffactive stops 8-bit characters being changed to commands
-   % like @'e.  \refx does the same to retrieve the value in the definition.
+  {% The node name might contain 8-bit characters, which in our current
+   % implementation are changed to commands like @'e.  Don't let these
+   % mess up the control sequence name.
     \indexnofonts
     \turnoffactive
-    \def\value##1{##1}%
     \xdef\safexrefname{#1}%
   }%
   %



reply via email to

[Prev in Thread] Current Thread [Next in Thread]