aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2016-04-11 09:07:15 -0700
committerPaul Eggert2016-04-11 09:07:15 -0700
commitff2c76476479c43607825df01c78d8f239caefb5 (patch)
tree9eb72adddeab4fb7b0cebf49df81ab31f3bf8a13
parentd6ea6453f3d1696b9e6cd0a0222fc77dc646365c (diff)
parent80128a784912096c6b0ee46b76b068e019cff057 (diff)
downloademacs-ff2c76476479c43607825df01c78d8f239caefb5.tar.gz
emacs-ff2c76476479c43607825df01c78d8f239caefb5.zip
Merge from origin/emacs-25
80128a7 Fix stability confusion in sort-tests 1e4aa42 Avoid describe-key error with lambdas a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag... f501116 Sync with gnulib c4963f9 Fix doc for Universal Time
-rw-r--r--doc/lispref/os.texi14
-rw-r--r--doc/misc/texinfo.tex78
-rw-r--r--etc/NEWS4
-rw-r--r--lib/stddef.in.h6
-rw-r--r--lisp/cedet/mode-local.el4
-rw-r--r--lisp/emacs-lisp/package.el26
-rw-r--r--m4/stdint.m429
-rw-r--r--test/lisp/sort-tests.el6
8 files changed, 133 insertions, 34 deletions
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 3428c2973f0..03d04ba3cf3 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -1302,7 +1302,7 @@ This function returns a list describing the time zone that the user is
1302in. 1302in.
1303 1303
1304The value has the form @code{(@var{offset} @var{name})}. Here 1304The value has the form @code{(@var{offset} @var{name})}. Here
1305@var{offset} is an integer giving the number of seconds ahead of UTC 1305@var{offset} is an integer giving the number of seconds ahead of Universal Time
1306(east of Greenwich). A negative value means west of Greenwich. The 1306(east of Greenwich). A negative value means west of Greenwich. The
1307second element, @var{name}, is a string giving the name of the time 1307second element, @var{name}, is a string giving the name of the time
1308zone. Both elements change when daylight saving time begins or ends; 1308zone. Both elements change when daylight saving time begins or ends;
@@ -1320,7 +1320,7 @@ defaults to the current time zone rule.
1320@vindex TZ, environment variable 1320@vindex TZ, environment variable
1321The default time zone is determined by the @env{TZ} environment 1321The default time zone is determined by the @env{TZ} environment
1322variable. @xref{System Environment}. For example, you can tell Emacs 1322variable. @xref{System Environment}. For example, you can tell Emacs
1323to default to universal time with @code{(setenv "TZ" "UTC0")}. If 1323to default to Universal Time with @code{(setenv "TZ" "UTC0")}. If
1324@env{TZ} is not in the environment, Emacs uses system wall clock time, 1324@env{TZ} is not in the environment, Emacs uses system wall clock time,
1325which is a platform-dependent default time zone. 1325which is a platform-dependent default time zone.
1326 1326
@@ -1344,8 +1344,8 @@ calendrical information and vice versa.
1344 1344
1345 Many 32-bit operating systems are limited to system times containing 1345 Many 32-bit operating systems are limited to system times containing
134632 bits of information in their seconds component; these systems 134632 bits of information in their seconds component; these systems
1347typically handle only the times from 1901-12-13 20:45:52 UTC through 1347typically handle only the times from 1901-12-13 20:45:52 through
13482038-01-19 03:14:07 UTC@. However, 64-bit and some 32-bit operating 13482038-01-19 03:14:07 Universal Time. However, 64-bit and some 32-bit operating
1349systems have larger seconds components, and can represent times far in 1349systems have larger seconds components, and can represent times far in
1350the past or future. 1350the past or future.
1351 1351
@@ -1387,7 +1387,7 @@ Sunday.
1387@item dst 1387@item dst
1388@code{t} if daylight saving time is effect, otherwise @code{nil}. 1388@code{t} if daylight saving time is effect, otherwise @code{nil}.
1389@item utcoff 1389@item utcoff
1390An integer indicating the UTC offset in seconds, i.e., the number of 1390An integer indicating the Universal Time offset in seconds, i.e., the number of
1391seconds east of Greenwich. 1391seconds east of Greenwich.
1392@end table 1392@end table
1393 1393
@@ -1556,10 +1556,6 @@ based on the Japanese Emperors' reigns. @samp{E} is allowed in
1556representation of numbers, instead of the ordinary decimal digits. This 1556representation of numbers, instead of the ordinary decimal digits. This
1557is allowed with most letters, all the ones that output numbers. 1557is allowed with most letters, all the ones that output numbers.
1558 1558
1559If @var{universal} is non-@code{nil}, that means to describe the time as
1560Universal Time; @code{nil} means describe it using what Emacs believes
1561is the local time zone (see @code{current-time-zone}).
1562
1563This function uses the C library function @code{strftime} 1559This function uses the C library function @code{strftime}
1564(@pxref{Formatting Calendar Time,,, libc, The GNU C Library Reference 1560(@pxref{Formatting Calendar Time,,, libc, The GNU C Library Reference
1565Manual}) to do most of the work. In order to communicate with that 1561Manual}) to do most of the work. In order to communicate with that
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index 9437a4d3e31..75017af5035 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-03-22.15} 6\def\texinfoversion{2016-03-25.17}
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,
@@ -1645,6 +1645,32 @@ output) for that.)}
1645 /Subtype /Link /A << /S /URI /URI (#1) >> >>}% 1645 /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
1646 \endgroup} 1646 \endgroup}
1647 \def\endlink{\setcolor{\maincolor}\special{pdf:eann}} 1647 \def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
1648 \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
1649 \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
1650 \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
1651 \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
1652 \def\maketoks{%
1653 \expandafter\poptoks\the\toksA|ENDTOKS|\relax
1654 \ifx\first0\adn0
1655 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
1656 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
1657 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
1658 \else
1659 \ifnum0=\countA\else\makelink\fi
1660 \ifx\first.\let\next=\done\else
1661 \let\next=\maketoks
1662 \addtokens{\toksB}{\the\toksD}
1663 \ifx\first,\addtokens{\toksB}{\space}\fi
1664 \fi
1665 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
1666 \next}
1667 \def\makelink{\addtokens{\toksB}%
1668 {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
1669 \def\pdflink#1{%
1670 \special{pdf:bann << /Border [0 0 0]
1671 /Type /Annot /Subtype /Link /A << /S /GoTo /D (name#1) >> >>}%
1672 \setcolor{\linkcolor}#1\endlink}
1673 \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
1648% 1674%
1649 % 1675 %
1650 % @image support 1676 % @image support
@@ -2857,6 +2883,7 @@ end
2857 \setbox0 = \hbox{\ignorespaces #2}% look for second arg 2883 \setbox0 = \hbox{\ignorespaces #2}% look for second arg
2858 \ifdim\wd0 > 0pt 2884 \ifdim\wd0 > 0pt
2859 \ifpdf 2885 \ifpdf
2886 % For pdfTeX and LuaTeX
2860 \ifurefurlonlylink 2887 \ifurefurlonlylink
2861 % PDF plus option to not display url, show just arg 2888 % PDF plus option to not display url, show just arg
2862 \unhbox0 2889 \unhbox0
@@ -2866,7 +2893,19 @@ end
2866 \unhbox0\ (\urefcode{#1})% 2893 \unhbox0\ (\urefcode{#1})%
2867 \fi 2894 \fi
2868 \else 2895 \else
2869 \unhbox0\ (\urefcode{#1})% DVI, always show arg and url 2896 \ifx\XeTeXrevision\thisisundefined
2897 \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
2898 \else
2899 % For XeTeX
2900 \ifurefurlonlylink
2901 % PDF plus option to not display url, show just arg
2902 \unhbox0
2903 \else
2904 % PDF, normally display both arg and url for consistency,
2905 % visibility, if the pdf is eventually used to print, etc.
2906 \unhbox0\ (\urefcode{#1})%
2907 \fi
2908 \fi
2870 \fi 2909 \fi
2871 \else 2910 \else
2872 \urefcode{#1}% only url given, so show it 2911 \urefcode{#1}% only url given, so show it
@@ -2967,7 +3006,18 @@ end
2967 \endlink 3006 \endlink
2968 \endgroup} 3007 \endgroup}
2969\else 3008\else
2970 \let\email=\uref 3009 \ifx\XeTeXrevision\thisisundefined
3010 \let\email=\uref
3011 \else
3012 \def\email#1{\doemail#1,,\finish}
3013 \def\doemail#1,#2,#3\finish{\begingroup
3014 \unsepspaces
3015 \pdfurl{mailto:#1}%
3016 \setbox0 = \hbox{\ignorespaces #2}%
3017 \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
3018 \endlink
3019 \endgroup}
3020 \fi
2971\fi 3021\fi
2972 3022
2973% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), 3023% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
@@ -5479,7 +5529,14 @@ end
5479 % preserve coloured links across page boundaries. Otherwise the marks 5529 % preserve coloured links across page boundaries. Otherwise the marks
5480 % would get in the way of \lastbox in \insertindexentrybox. 5530 % would get in the way of \lastbox in \insertindexentrybox.
5481 \else 5531 \else
5482 \hskip\skip\thinshrinkable #1% 5532 \ifx\XeTeXrevision\thisisundefined
5533 \hskip\skip\thinshrinkable #1%
5534 \else
5535 \pdfgettoks#1.%
5536 \bgroup\let\domark\relax
5537 \hskip\skip\thinshrinkable\the\toksA
5538 \egroup
5539 \fi
5483 \fi 5540 \fi
5484 \fi 5541 \fi
5485 \egroup % end \boxA 5542 \egroup % end \boxA
@@ -5614,7 +5671,11 @@ end
5614 \ifpdf 5671 \ifpdf
5615 \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. 5672 \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
5616 \else 5673 \else
5617 #2 5674 \ifx\XeTeXrevision\thisisundefined
5675 #2
5676 \else
5677 \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
5678 \fi
5618 \fi 5679 \fi
5619 \par 5680 \par
5620}} 5681}}
@@ -11029,6 +11090,13 @@ directory should work if nowhere else does.}
11029 % whatever layout pdftex was dumped with. 11090 % whatever layout pdftex was dumped with.
11030 \pdfhorigin = 1 true in 11091 \pdfhorigin = 1 true in
11031 \pdfvorigin = 1 true in 11092 \pdfvorigin = 1 true in
11093 \else
11094 \ifx\XeTeXrevision\thisisundefined
11095 \else
11096 \pdfpageheight #7\relax
11097 \pdfpagewidth #8\relax
11098 % XeTeX does not have \pdfhorigin and \pdfvorigin.
11099 \fi
11032 \fi 11100 \fi
11033 % 11101 %
11034 \setleading{\textleading} 11102 \setleading{\textleading}
diff --git a/etc/NEWS b/etc/NEWS
index 6ec82f8333c..0152593de8f 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2119,8 +2119,8 @@ function 'encode-time', which already accepted a simple time zone rule
2119argument, has been extended to accept all the new forms. 2119argument, has been extended to accept all the new forms.
2120 2120
2121*** Incompatible change in the third argument of 'format-time-string'. 2121*** Incompatible change in the third argument of 'format-time-string'.
2122Previously, any non-nil argument was interpreted as a UTC time zone. 2122Previously, any non-nil argument was interpeted as specifying Universal Time.
2123This is no longer true; packages that want UTC time zone should pass t 2123This is no longer true; packages that want Universal Time should pass t
2124as the third argument. 2124as the third argument.
2125 2125
2126*** Time-related functions now consistently accept numbers 2126*** Time-related functions now consistently accept numbers
diff --git a/lib/stddef.in.h b/lib/stddef.in.h
index c6d2317ca2d..f4c4a1070d5 100644
--- a/lib/stddef.in.h
+++ b/lib/stddef.in.h
@@ -81,8 +81,10 @@
81# define wchar_t int 81# define wchar_t int
82#endif 82#endif
83 83
84/* Some platforms lack max_align_t. */ 84/* Some platforms lack max_align_t. The check for _GCC_MAX_ALIGN_T is
85#if !@HAVE_MAX_ALIGN_T@ 85 a hack in case the configure-time test was done with g++ even though
86 we are currently compiling with gcc. */
87#if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T)
86/* On the x86, the maximum storage alignment of double, long, etc. is 4, 88/* On the x86, the maximum storage alignment of double, long, etc. is 4,
87 but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8, 89 but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
88 and the C11 standard allows this. Work around this problem by 90 and the C11 standard allows this. Work around this problem by
diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el
index c7e6615e0df..4f424313ab7 100644
--- a/lisp/cedet/mode-local.el
+++ b/lisp/cedet/mode-local.el
@@ -638,7 +638,7 @@ SYMBOL is a function that can be overridden."
638 638
639(defun describe-mode-local-overload (symbol) 639(defun describe-mode-local-overload (symbol)
640 "For `help-fns-describe-function-functions'; add overloads for SYMBOL." 640 "For `help-fns-describe-function-functions'; add overloads for SYMBOL."
641 (when (get symbol 'mode-local-overload) 641 (when (function-overload-p symbol)
642 (let ((default (or (intern-soft (format "%s-default" (symbol-name symbol))) 642 (let ((default (or (intern-soft (format "%s-default" (symbol-name symbol)))
643 symbol)) 643 symbol))
644 (override (with-current-buffer describe-function-orig-buffer 644 (override (with-current-buffer describe-function-orig-buffer
@@ -684,7 +684,7 @@ SYMBOL is a function that can be overridden."
684(defun xref-mode-local-overload (symbol) 684(defun xref-mode-local-overload (symbol)
685 "For `elisp-xref-find-def-functions'; add overloads for SYMBOL." 685 "For `elisp-xref-find-def-functions'; add overloads for SYMBOL."
686 ;; Current buffer is the buffer where xref-find-definitions was invoked. 686 ;; Current buffer is the buffer where xref-find-definitions was invoked.
687 (when (get symbol 'mode-local-overload) 687 (when (function-overload-p symbol)
688 (let* ((symbol-file (find-lisp-object-file-name symbol (symbol-function symbol))) 688 (let* ((symbol-file (find-lisp-object-file-name symbol (symbol-function symbol)))
689 (default (intern-soft (format "%s-default" (symbol-name symbol)))) 689 (default (intern-soft (format "%s-default" (symbol-name symbol))))
690 (default-file (when default (find-lisp-object-file-name default (symbol-function default)))) 690 (default-file (when default (find-lisp-object-file-name default (symbol-function default))))
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 869c1549658..4da66d2fabf 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -2027,17 +2027,21 @@ If some packages are not installed propose to install them."
2027 ;; gets installed). 2027 ;; gets installed).
2028 (if (not package-selected-packages) 2028 (if (not package-selected-packages)
2029 (message "`package-selected-packages' is empty, nothing to install") 2029 (message "`package-selected-packages' is empty, nothing to install")
2030 (cl-loop for p in package-selected-packages 2030 (let* ((not-installed (seq-remove #'package-installed-p package-selected-packages))
2031 unless (package-installed-p p) 2031 (available (seq-filter (lambda (p) (assq p package-archive-contents)) not-installed))
2032 collect p into lst 2032 (difference (- (length not-installed) (length available))))
2033 finally 2033 (cond
2034 (if lst 2034 (available
2035 (when (y-or-n-p 2035 (when (y-or-n-p
2036 (format "%s packages will be installed:\n%s, proceed?" 2036 (format "%s packages will be installed:\n%s, proceed?"
2037 (length lst) 2037 (length available)
2038 (mapconcat #'symbol-name lst ", "))) 2038 (mapconcat #'symbol-name available ", ")))
2039 (mapc #'package-install lst)) 2039 (mapc (lambda (p) (package-install p 'dont-select)) available)))
2040 (message "All your packages are already installed"))))) 2040 ((> difference 0)
2041 (message "%s packages are not available (the rest already installed), maybe you need to `M-x package-refresh-contents'"
2042 difference))
2043 (t
2044 (message "All your packages are already installed"))))))
2041 2045
2042 2046
2043;;; Package Deletion 2047;;; Package Deletion
diff --git a/m4/stdint.m4 b/m4/stdint.m4
index 0f40ce803b7..0b4b9060dbb 100644
--- a/m4/stdint.m4
+++ b/m4/stdint.m4
@@ -1,4 +1,4 @@
1# stdint.m4 serial 43 1# stdint.m4 serial 44
2dnl Copyright (C) 2001-2016 Free Software Foundation, Inc. 2dnl Copyright (C) 2001-2016 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -70,6 +70,8 @@ AC_DEFUN_ONCE([gl_STDINT_H],
70 AC_COMPILE_IFELSE([ 70 AC_COMPILE_IFELSE([
71 AC_LANG_PROGRAM([[ 71 AC_LANG_PROGRAM([[
72#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ 72#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
73#define __STDC_CONSTANT_MACROS 1
74#define __STDC_LIMIT_MACROS 1
73#include <stdint.h> 75#include <stdint.h>
74/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */ 76/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
75#if !(defined WCHAR_MIN && defined WCHAR_MAX) 77#if !(defined WCHAR_MIN && defined WCHAR_MAX)
@@ -218,6 +220,8 @@ struct s {
218 AC_RUN_IFELSE([ 220 AC_RUN_IFELSE([
219 AC_LANG_PROGRAM([[ 221 AC_LANG_PROGRAM([[
220#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ 222#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
223#define __STDC_CONSTANT_MACROS 1
224#define __STDC_LIMIT_MACROS 1
221#include <stdint.h> 225#include <stdint.h>
222] 226]
223gl_STDINT_INCLUDES 227gl_STDINT_INCLUDES
@@ -279,6 +283,29 @@ static const char *macro_values[] =
279 ]) 283 ])
280 fi 284 fi
281 if test "$gl_cv_header_working_stdint_h" = yes; then 285 if test "$gl_cv_header_working_stdint_h" = yes; then
286 dnl Now see whether the system <stdint.h> works without
287 dnl __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defined.
288 AC_CACHE_CHECK([whether stdint.h predates C++11],
289 [gl_cv_header_stdint_predates_cxx11_h],
290 [gl_cv_header_stdint_predates_cxx11_h=yes
291 AC_COMPILE_IFELSE([
292 AC_LANG_PROGRAM([[
293#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
294#include <stdint.h>
295]
296gl_STDINT_INCLUDES
297[
298intmax_t im = INTMAX_MAX;
299int32_t i32 = INT32_C (0x7fffffff);
300 ]])],
301 [gl_cv_header_stdint_predates_cxx11_h=no])])
302
303 if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then
304 AC_DEFINE([__STDC_CONSTANT_MACROS], [1],
305 [Define to 1 if the system <stdint.h> predates C++11.])
306 AC_DEFINE([__STDC_LIMIT_MACROS], [1],
307 [Define to 1 if the system <stdint.h> predates C++11.])
308 fi
282 STDINT_H= 309 STDINT_H=
283 else 310 else
284 dnl Check for <sys/inttypes.h>, and for 311 dnl Check for <sys/inttypes.h>, and for
diff --git a/test/lisp/sort-tests.el b/test/lisp/sort-tests.el
index 52973297818..f3a182cdc14 100644
--- a/test/lisp/sort-tests.el
+++ b/test/lisp/sort-tests.el
@@ -40,8 +40,10 @@
40 (funcall function reverse (point-min) (point-max)) 40 (funcall function reverse (point-min) (point-max))
41 (let ((sorted-words 41 (let ((sorted-words
42 (mapconcat #'identity 42 (mapconcat #'identity
43 (let ((x (sort (copy-sequence words) less-predicate))) 43 (sort (copy-sequence words)
44 (if reverse (reverse x) x)) 44 (if reverse
45 (lambda (a b) (funcall less-predicate b a))
46 less-predicate))
45 separator))) 47 separator)))
46 (should (string= (substring (buffer-string) 0 -1) sorted-words))))) 48 (should (string= (substring (buffer-string) 0 -1) sorted-words)))))
47 49