diff options
| author | Paul Eggert | 2016-04-11 09:07:15 -0700 |
|---|---|---|
| committer | Paul Eggert | 2016-04-11 09:07:15 -0700 |
| commit | ff2c76476479c43607825df01c78d8f239caefb5 (patch) | |
| tree | 9eb72adddeab4fb7b0cebf49df81ab31f3bf8a13 | |
| parent | d6ea6453f3d1696b9e6cd0a0222fc77dc646365c (diff) | |
| parent | 80128a784912096c6b0ee46b76b068e019cff057 (diff) | |
| download | emacs-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.texi | 14 | ||||
| -rw-r--r-- | doc/misc/texinfo.tex | 78 | ||||
| -rw-r--r-- | etc/NEWS | 4 | ||||
| -rw-r--r-- | lib/stddef.in.h | 6 | ||||
| -rw-r--r-- | lisp/cedet/mode-local.el | 4 | ||||
| -rw-r--r-- | lisp/emacs-lisp/package.el | 26 | ||||
| -rw-r--r-- | m4/stdint.m4 | 29 | ||||
| -rw-r--r-- | test/lisp/sort-tests.el | 6 |
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 | |||
| 1302 | in. | 1302 | in. |
| 1303 | 1303 | ||
| 1304 | The value has the form @code{(@var{offset} @var{name})}. Here | 1304 | The 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 |
| 1307 | second element, @var{name}, is a string giving the name of the time | 1307 | second element, @var{name}, is a string giving the name of the time |
| 1308 | zone. Both elements change when daylight saving time begins or ends; | 1308 | zone. 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 |
| 1321 | The default time zone is determined by the @env{TZ} environment | 1321 | The default time zone is determined by the @env{TZ} environment |
| 1322 | variable. @xref{System Environment}. For example, you can tell Emacs | 1322 | variable. @xref{System Environment}. For example, you can tell Emacs |
| 1323 | to default to universal time with @code{(setenv "TZ" "UTC0")}. If | 1323 | to 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, |
| 1325 | which is a platform-dependent default time zone. | 1325 | which 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 |
| 1346 | 32 bits of information in their seconds component; these systems | 1346 | 32 bits of information in their seconds component; these systems |
| 1347 | typically handle only the times from 1901-12-13 20:45:52 UTC through | 1347 | typically handle only the times from 1901-12-13 20:45:52 through |
| 1348 | 2038-01-19 03:14:07 UTC@. However, 64-bit and some 32-bit operating | 1348 | 2038-01-19 03:14:07 Universal Time. However, 64-bit and some 32-bit operating |
| 1349 | systems have larger seconds components, and can represent times far in | 1349 | systems have larger seconds components, and can represent times far in |
| 1350 | the past or future. | 1350 | the 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 |
| 1390 | An integer indicating the UTC offset in seconds, i.e., the number of | 1390 | An integer indicating the Universal Time offset in seconds, i.e., the number of |
| 1391 | seconds east of Greenwich. | 1391 | seconds 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 | |||
| 1556 | representation of numbers, instead of the ordinary decimal digits. This | 1556 | representation of numbers, instead of the ordinary decimal digits. This |
| 1557 | is allowed with most letters, all the ones that output numbers. | 1557 | is allowed with most letters, all the ones that output numbers. |
| 1558 | 1558 | ||
| 1559 | If @var{universal} is non-@code{nil}, that means to describe the time as | ||
| 1560 | Universal Time; @code{nil} means describe it using what Emacs believes | ||
| 1561 | is the local time zone (see @code{current-time-zone}). | ||
| 1562 | |||
| 1563 | This function uses the C library function @code{strftime} | 1559 | This 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 |
| 1565 | Manual}) to do most of the work. In order to communicate with that | 1561 | Manual}) 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} |
| @@ -2119,8 +2119,8 @@ function 'encode-time', which already accepted a simple time zone rule | |||
| 2119 | argument, has been extended to accept all the new forms. | 2119 | argument, 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'. |
| 2122 | Previously, any non-nil argument was interpreted as a UTC time zone. | 2122 | Previously, any non-nil argument was interpeted as specifying Universal Time. |
| 2123 | This is no longer true; packages that want UTC time zone should pass t | 2123 | This is no longer true; packages that want Universal Time should pass t |
| 2124 | as the third argument. | 2124 | as 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 |
| 2 | dnl Copyright (C) 2001-2016 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2016 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl 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 | ] |
| 223 | gl_STDINT_INCLUDES | 227 | gl_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 | ] | ||
| 296 | gl_STDINT_INCLUDES | ||
| 297 | [ | ||
| 298 | intmax_t im = INTMAX_MAX; | ||
| 299 | int32_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 | ||