diff options
| author | Kenichi Handa | 2013-10-13 20:55:00 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2013-10-13 20:55:00 +0900 |
| commit | 70c8ae6ebdad9265f793b91bc056204e0833682b (patch) | |
| tree | 464b1c03544f36da75b8a42ad8f3c8b1f7cfc9e2 | |
| parent | 85b64f021c189466eec8036df2996af409714666 (diff) | |
| parent | fc7f501bc04f23af297fda7b6cb17df493b59397 (diff) | |
| download | emacs-70c8ae6ebdad9265f793b91bc056204e0833682b.tar.gz emacs-70c8ae6ebdad9265f793b91bc056204e0833682b.zip | |
merge trunk
46 files changed, 538 insertions, 183 deletions
| @@ -1,3 +1,22 @@ | |||
| 1 | 2013-10-12 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Merge from gnulib, incorporating: | ||
| 4 | 2013-10-10 strtoumax: port to Solaris 8 | ||
| 5 | 2013-10-09 strtoimax, strtoumax: port to HP-UX 11.11 | ||
| 6 | * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. | ||
| 7 | * lib/inttypes.in.h, lib/strtoimax.c, m4/inttypes.m4, m4/strtoimax.m4: | ||
| 8 | * m4/strtoumax.m4: | ||
| 9 | Update from gnulib. | ||
| 10 | |||
| 11 | 2013-10-11 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 12 | |||
| 13 | * configure.ac (LIBGNUTLS): Don't set LIBGNUTLS_* back to the empty | ||
| 14 | string when gnutls2 is installed but gnutls3 is not. | ||
| 15 | |||
| 16 | 2013-10-11 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 17 | |||
| 18 | * configure.ac: Define HAVE_GNUTLS3 if GnuTLS v3 is found. | ||
| 19 | |||
| 1 | 2013-10-10 Barry Fishman <barry_fishman@acm.org> (tiny change) | 20 | 2013-10-10 Barry Fishman <barry_fishman@acm.org> (tiny change) |
| 2 | 21 | ||
| 3 | * configure.ac: Update for giflib 5. (Bug#15531) | 22 | * configure.ac: Update for giflib 5. (Bug#15531) |
diff --git a/autogen/config.in b/autogen/config.in index 930a7b4e3db..d57d1575119 100644 --- a/autogen/config.in +++ b/autogen/config.in | |||
| @@ -576,6 +576,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 576 | /* Define if using GnuTLS. */ | 576 | /* Define if using GnuTLS. */ |
| 577 | #undef HAVE_GNUTLS | 577 | #undef HAVE_GNUTLS |
| 578 | 578 | ||
| 579 | /* Define if using GnuTLS v3. */ | ||
| 580 | #undef HAVE_GNUTLS3 | ||
| 581 | |||
| 579 | /* Define to 1 if you have the gpm library (-lgpm). */ | 582 | /* Define to 1 if you have the gpm library (-lgpm). */ |
| 580 | #undef HAVE_GPM | 583 | #undef HAVE_GPM |
| 581 | 584 | ||
diff --git a/autogen/configure b/autogen/configure index d57fae081f3..ef21aa8cab2 100755 --- a/autogen/configure +++ b/autogen/configure | |||
| @@ -12253,11 +12253,69 @@ fi | |||
| 12253 | 12253 | ||
| 12254 | 12254 | ||
| 12255 | HAVE_GNUTLS=no | 12255 | HAVE_GNUTLS=no |
| 12256 | HAVE_GNUTLS3=no | ||
| 12256 | if test "${with_gnutls}" = "yes" ; then | 12257 | if test "${with_gnutls}" = "yes" ; then |
| 12257 | 12258 | ||
| 12258 | succeeded=no | 12259 | succeeded=no |
| 12259 | 12260 | ||
| 12260 | if test "$PKG_CONFIG" = "no" ; then | 12261 | if test "$PKG_CONFIG" = "no" ; then |
| 12262 | HAVE_GNUTLS3=no | ||
| 12263 | else | ||
| 12264 | PKG_CONFIG_MIN_VERSION=0.9.0 | ||
| 12265 | if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then | ||
| 12266 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls >= 3.0.0" >&5 | ||
| 12267 | $as_echo_n "checking for gnutls >= 3.0.0... " >&6; } | ||
| 12268 | |||
| 12269 | if "$PKG_CONFIG" --exists "gnutls >= 3.0.0" 2>&5 && | ||
| 12270 | LIBGNUTLS_CFLAGS=`"$PKG_CONFIG" --cflags "gnutls >= 3.0.0" 2>&5` && | ||
| 12271 | LIBGNUTLS_LIBS=`"$PKG_CONFIG" --libs "gnutls >= 3.0.0" 2>&5`; then | ||
| 12272 | edit_cflags=" | ||
| 12273 | s,///*,/,g | ||
| 12274 | s/^/ / | ||
| 12275 | s/ -I/ $isystem/g | ||
| 12276 | s/^ // | ||
| 12277 | " | ||
| 12278 | LIBGNUTLS_CFLAGS=`$as_echo "$LIBGNUTLS_CFLAGS" | sed -e "$edit_cflags"` | ||
| 12279 | LIBGNUTLS_LIBS=`$as_echo "$LIBGNUTLS_LIBS" | sed -e 's,///*,/,g'` | ||
| 12280 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes CFLAGS='$LIBGNUTLS_CFLAGS' LIBS='$LIBGNUTLS_LIBS'" >&5 | ||
| 12281 | $as_echo "yes CFLAGS='$LIBGNUTLS_CFLAGS' LIBS='$LIBGNUTLS_LIBS'" >&6; } | ||
| 12282 | succeeded=yes | ||
| 12283 | else | ||
| 12284 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
| 12285 | $as_echo "no" >&6; } | ||
| 12286 | LIBGNUTLS_CFLAGS="" | ||
| 12287 | LIBGNUTLS_LIBS="" | ||
| 12288 | ## If we have a custom action on failure, don't print errors, but | ||
| 12289 | ## do set a variable so people can do so. Do it in a subshell | ||
| 12290 | ## to capture any diagnostics in invoking pkg-config. | ||
| 12291 | LIBGNUTLS_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "gnutls >= 3.0.0") 2>&1` | ||
| 12292 | |||
| 12293 | fi | ||
| 12294 | |||
| 12295 | |||
| 12296 | |||
| 12297 | else | ||
| 12298 | echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." | ||
| 12299 | echo "*** See http://www.freedesktop.org/software/pkgconfig" | ||
| 12300 | fi | ||
| 12301 | fi | ||
| 12302 | |||
| 12303 | if test $succeeded = yes; then | ||
| 12304 | HAVE_GNUTLS3=yes | ||
| 12305 | else | ||
| 12306 | HAVE_GNUTLS3=no | ||
| 12307 | fi | ||
| 12308 | |||
| 12309 | if test "${HAVE_GNUTLS3}" = "yes"; then | ||
| 12310 | |||
| 12311 | $as_echo "#define HAVE_GNUTLS3 1" >>confdefs.h | ||
| 12312 | |||
| 12313 | HAVE_GNUTLS="yes" | ||
| 12314 | else | ||
| 12315 | |||
| 12316 | succeeded=no | ||
| 12317 | |||
| 12318 | if test "$PKG_CONFIG" = "no" ; then | ||
| 12261 | HAVE_GNUTLS=no | 12319 | HAVE_GNUTLS=no |
| 12262 | else | 12320 | else |
| 12263 | PKG_CONFIG_MIN_VERSION=0.9.0 | 12321 | PKG_CONFIG_MIN_VERSION=0.9.0 |
| @@ -12305,6 +12363,7 @@ $as_echo "no" >&6; } | |||
| 12305 | HAVE_GNUTLS=no | 12363 | HAVE_GNUTLS=no |
| 12306 | fi | 12364 | fi |
| 12307 | 12365 | ||
| 12366 | fi | ||
| 12308 | if test "${HAVE_GNUTLS}" = "yes"; then | 12367 | if test "${HAVE_GNUTLS}" = "yes"; then |
| 12309 | 12368 | ||
| 12310 | $as_echo "#define HAVE_GNUTLS 1" >>confdefs.h | 12369 | $as_echo "#define HAVE_GNUTLS 1" >>confdefs.h |
diff --git a/configure.ac b/configure.ac index 3bb1ee1e954..40da4af157e 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -2422,8 +2422,15 @@ fi | |||
| 2422 | AC_SUBST(LIBSELINUX_LIBS) | 2422 | AC_SUBST(LIBSELINUX_LIBS) |
| 2423 | 2423 | ||
| 2424 | HAVE_GNUTLS=no | 2424 | HAVE_GNUTLS=no |
| 2425 | HAVE_GNUTLS3=no | ||
| 2425 | if test "${with_gnutls}" = "yes" ; then | 2426 | if test "${with_gnutls}" = "yes" ; then |
| 2426 | PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.6.6], HAVE_GNUTLS=yes, HAVE_GNUTLS=no) | 2427 | PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.0.0], HAVE_GNUTLS3=yes, HAVE_GNUTLS3=no) |
| 2428 | if test "${HAVE_GNUTLS3}" = "yes"; then | ||
| 2429 | AC_DEFINE(HAVE_GNUTLS3, 1, [Define if using GnuTLS v3.]) | ||
| 2430 | HAVE_GNUTLS="yes" | ||
| 2431 | else | ||
| 2432 | PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.6.6], HAVE_GNUTLS=yes, HAVE_GNUTLS=no) | ||
| 2433 | fi | ||
| 2427 | if test "${HAVE_GNUTLS}" = "yes"; then | 2434 | if test "${HAVE_GNUTLS}" = "yes"; then |
| 2428 | AC_DEFINE(HAVE_GNUTLS, 1, [Define if using GnuTLS.]) | 2435 | AC_DEFINE(HAVE_GNUTLS, 1, [Define if using GnuTLS.]) |
| 2429 | fi | 2436 | fi |
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 698ddb7ffdf..d37c30ea81a 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2013-10-13 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * display.texi (Text Scale): Update text-scale-adjust details. | ||
| 4 | |||
| 5 | * ack.texi (Acknowledgments): | ||
| 6 | * emacs.texi (Acknowledgments): Use accented form of some names. | ||
| 7 | |||
| 1 | 2013-10-08 Eli Zaretskii <eliz@gnu.org> | 8 | 2013-10-08 Eli Zaretskii <eliz@gnu.org> |
| 2 | 9 | ||
| 3 | * ack.texi (Acknowledgments): Fix spelling of Hrvoje Nikšić's | 10 | * ack.texi (Acknowledgments): Fix spelling of Hrvoje Nikšić's |
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index c47dfbbd02c..7c0d28c752a 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi | |||
| @@ -104,7 +104,7 @@ footnotes in email messages; and @file{gnus-audio.el} and | |||
| 104 | @item | 104 | @item |
| 105 | Alexander L. Belikoff, Sergey Berezin, Sacha Chua, David Edmondson, | 105 | Alexander L. Belikoff, Sergey Berezin, Sacha Chua, David Edmondson, |
| 106 | Noah Friedman, Andreas Fuchs, Mario Lang, Ben Mesander, Lawrence | 106 | Noah Friedman, Andreas Fuchs, Mario Lang, Ben Mesander, Lawrence |
| 107 | Mitchell, Gergely Nagy, Michael Olson, Per Persson, Jorgen Schaefer, | 107 | Mitchell, Gergely Nagy, Michael Olson, Per Persson, Jorgen Schäfer, |
| 108 | Alex Schroeder, and Tom Tromey wrote ERC, an advanced Internet Relay | 108 | Alex Schroeder, and Tom Tromey wrote ERC, an advanced Internet Relay |
| 109 | Chat client (for more information, see the file @file{CREDITS} in the | 109 | Chat client (for more information, see the file @file{CREDITS} in the |
| 110 | ERC distribution). | 110 | ERC distribution). |
| @@ -276,7 +276,7 @@ over maintainership. Benjamin Andresen, Thomas Baumann, Joel Boehland, Jan Böc | |||
| 276 | Borgman, Baoqiu Cui, Dan Davison, Christian Egli, Eric S. Fraga, Daniel German, Chris Gray, Konrad Hinsen, Tassilo Horn, Philip | 276 | Borgman, Baoqiu Cui, Dan Davison, Christian Egli, Eric S. Fraga, Daniel German, Chris Gray, Konrad Hinsen, Tassilo Horn, Philip |
| 277 | Jackson, Martyn Jago, Thorsten Jolitz, Jambunathan K, Tokuya Kameshima, Sergey Litvinov, David Maus, Ross Patterson, Juan Pechiar, Sebastian Rose, Eric Schulte, | 277 | Jackson, Martyn Jago, Thorsten Jolitz, Jambunathan K, Tokuya Kameshima, Sergey Litvinov, David Maus, Ross Patterson, Juan Pechiar, Sebastian Rose, Eric Schulte, |
| 278 | Paul Sexton, Ulf Stegemann, Andy Stewart, Christopher Suckling, David O'Toole, John Wiegley, Zhang Weize, | 278 | Paul Sexton, Ulf Stegemann, Andy Stewart, Christopher Suckling, David O'Toole, John Wiegley, Zhang Weize, |
| 279 | Piotr Zielinski, and others also wrote various Org mode components. | 279 | Piotr Zieliński, and others also wrote various Org mode components. |
| 280 | For more information, @pxref{History and Acknowledgments,,, org, The Org Manual}. | 280 | For more information, @pxref{History and Acknowledgments,,, org, The Org Manual}. |
| 281 | 281 | ||
| 282 | @item | 282 | @item |
| @@ -819,7 +819,7 @@ used in mail messages and news articles; and @file{terminal.el}, a | |||
| 819 | terminal emulator for Emacs subprocesses. | 819 | terminal emulator for Emacs subprocesses. |
| 820 | 820 | ||
| 821 | @item | 821 | @item |
| 822 | Gerd Moellmann was the Emacs maintainer from the beginning of Emacs 21 | 822 | Gerd Möllmann was the Emacs maintainer from the beginning of Emacs 21 |
| 823 | development until the release of 21.1. He wrote the new display | 823 | development until the release of 21.1. He wrote the new display |
| 824 | engine used from Emacs 21 onwards, and the asynchronous timers | 824 | engine used from Emacs 21 onwards, and the asynchronous timers |
| 825 | facility. He also wrote @code{ebrowse}, the C@t{++} browser; | 825 | facility. He also wrote @code{ebrowse}, the C@t{++} browser; |
| @@ -979,7 +979,7 @@ minor mode for displaying a ruler in the header line; and | |||
| 979 | structures. | 979 | structures. |
| 980 | 980 | ||
| 981 | @item | 981 | @item |
| 982 | Francesco A. Potorti wrote @file{cmacexp.el}, providing a command which | 982 | Francesco A. Potortì wrote @file{cmacexp.el}, providing a command which |
| 983 | runs the C preprocessor on a region of a file and displays the results. | 983 | runs the C preprocessor on a region of a file and displays the results. |
| 984 | He also expanded and redesigned the @code{etags} program. | 984 | He also expanded and redesigned the @code{etags} program. |
| 985 | 985 | ||
| @@ -1099,8 +1099,9 @@ Ronald S. Schnell wrote @file{dunnet.el}, a text adventure game. | |||
| 1099 | Philippe Schnoebelen wrote @file{gomoku.el}, a Go Moku game played | 1099 | Philippe Schnoebelen wrote @file{gomoku.el}, a Go Moku game played |
| 1100 | against Emacs; and @file{mpuz.el}, a multiplication puzzle. | 1100 | against Emacs; and @file{mpuz.el}, a multiplication puzzle. |
| 1101 | 1101 | ||
| 1102 | @c FIXME files no longer included; but see bug 15601. | ||
| 1102 | @item | 1103 | @item |
| 1103 | Rainer Schoepf contributed to Alpha and OSF1 support. | 1104 | Rainer Schöpf contributed to Alpha and OSF1 support. |
| 1104 | 1105 | ||
| 1105 | @item | 1106 | @item |
| 1106 | Jan Schormann wrote @file{solitaire.el}, an implementation of the | 1107 | Jan Schormann wrote @file{solitaire.el}, an implementation of the |
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 9327e7c8076..80dffe2e4c9 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi | |||
| @@ -743,9 +743,9 @@ determine which action to take. | |||
| 743 | @kbd{C-x}. For instance, @kbd{C-x C-= C-= C-=} increases the face | 743 | @kbd{C-x}. For instance, @kbd{C-x C-= C-= C-=} increases the face |
| 744 | height by three steps. Each step scales the text height by a factor | 744 | height by three steps. Each step scales the text height by a factor |
| 745 | of 1.2; to change this factor, customize the variable | 745 | of 1.2; to change this factor, customize the variable |
| 746 | @code{text-scale-mode-step}. As an exception, a numeric argument of 0 | 746 | @code{text-scale-mode-step}. A numeric argument of 0 |
| 747 | to the @code{text-scale-adjust} command restores the default height, | 747 | to the @code{text-scale-adjust} command restores the default height, |
| 748 | similar to typing @kbd{C-x C-0}. | 748 | the same as typing @kbd{C-x C-0}. |
| 749 | 749 | ||
| 750 | @cindex increase buffer face height | 750 | @cindex increase buffer face height |
| 751 | @findex text-scale-increase | 751 | @findex text-scale-increase |
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 7c594503afb..68d431ac4bc 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -1416,18 +1416,18 @@ Christopher J. Madsen, Neil M. Mager, Ken Manheimer, Bill Mann, | |||
| 1416 | Brian Marick, Simon Marshall, Bengt Martensson, Charlie Martin, | 1416 | Brian Marick, Simon Marshall, Bengt Martensson, Charlie Martin, |
| 1417 | Yukihiro Matsumoto, Tomohiro Matsuyama, David Maus, Thomas May, Will Mengarini, David | 1417 | Yukihiro Matsumoto, Tomohiro Matsuyama, David Maus, Thomas May, Will Mengarini, David |
| 1418 | Megginson, Stefan Merten, Ben A. Mesander, Wayne Mesard, Brad | 1418 | Megginson, Stefan Merten, Ben A. Mesander, Wayne Mesard, Brad |
| 1419 | Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Moellmann, Stefan | 1419 | Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Möllmann, Stefan |
| 1420 | Monnier, Keith Moore, Jan Moringen, Morioka Tomohiko, Glenn Morris, | 1420 | Monnier, Keith Moore, Jan Moringen, Morioka Tomohiko, Glenn Morris, |
| 1421 | Don Morrison, Diane Murray, Riccardo Murri, Sen Nagata, Erik Naggum, | 1421 | Don Morrison, Diane Murray, Riccardo Murri, Sen Nagata, Erik Naggum, |
| 1422 | Gergely Nagy, Nobuyoshi Nakada, Thomas Neumann, Mike Newton, Thien-Thi Nguyen, | 1422 | Gergely Nagy, Nobuyoshi Nakada, Thomas Neumann, Mike Newton, Thien-Thi Nguyen, |
| 1423 | Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Niksic, Jeff Norden, | 1423 | Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Nikšić, Jeff Norden, |
| 1424 | Andrew Norman, Edward O'Connor, Kentaro Ohkouchi, Christian Ohler, | 1424 | Andrew Norman, Edward O'Connor, Kentaro Ohkouchi, Christian Ohler, |
| 1425 | Kenichi Okada, Alexandre Oliva, Bob Olson, Michael Olson, Takaaki Ota, | 1425 | Kenichi Okada, Alexandre Oliva, Bob Olson, Michael Olson, Takaaki Ota, |
| 1426 | Pieter E. J. Pareit, Ross Patterson, David Pearson, Juan Pechiar, | 1426 | Pieter E. J. Pareit, Ross Patterson, David Pearson, Juan Pechiar, |
| 1427 | Jeff Peck, Damon Anton Permezel, Tom Perrine, William M. Perry, Per | 1427 | Jeff Peck, Damon Anton Permezel, Tom Perrine, William M. Perry, Per |
| 1428 | Persson, Jens Petersen, Daniel Pfeiffer, Justus Piater, Richard L. | 1428 | Persson, Jens Petersen, Daniel Pfeiffer, Justus Piater, Richard L. |
| 1429 | Pieri, Fred Pierresteguy, François Pinard, Daniel Pittman, Christian | 1429 | Pieri, Fred Pierresteguy, François Pinard, Daniel Pittman, Christian |
| 1430 | Plaunt, Alexander Pohoyda, David Ponce, Francesco A. Potorti, | 1430 | Plaunt, Alexander Pohoyda, David Ponce, Francesco A. Potortì, |
| 1431 | Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin | 1431 | Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin |
| 1432 | Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, David | 1432 | Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, David |
| 1433 | Reitter, Alex Rezinsky, Rob Riepel, Lara Rios, Adrian Robert, Nick | 1433 | Reitter, Alex Rezinsky, Rob Riepel, Lara Rios, Adrian Robert, Nick |
| @@ -1435,10 +1435,10 @@ Roberts, Roland B. Roberts, John Robinson, Denis B. Roegel, Danny | |||
| 1435 | Roozendaal, Sebastian Rose, William Rosenblatt, Markus Rost, Guillermo | 1435 | Roozendaal, Sebastian Rose, William Rosenblatt, Markus Rost, Guillermo |
| 1436 | J. Rozas, Martin Rudalics, Ivar Rummelhoff, Jason Rumney, Wolfgang | 1436 | J. Rozas, Martin Rudalics, Ivar Rummelhoff, Jason Rumney, Wolfgang |
| 1437 | Rupprecht, Benjamin Rutt, Kevin Ryde, James B. Salem, Masahiko Sato, | 1437 | Rupprecht, Benjamin Rutt, Kevin Ryde, James B. Salem, Masahiko Sato, |
| 1438 | Timo Savola, Jorgen Schaefer, Holger Schauer, William Schelter, Ralph | 1438 | Timo Savola, Jorgen Schäfer, Holger Schauer, William Schelter, Ralph |
| 1439 | Schleicher, Gregor Schmid, Michael Schmidt, Ronald S. Schnell, | 1439 | Schleicher, Gregor Schmid, Michael Schmidt, Ronald S. Schnell, |
| 1440 | Philippe Schnoebelen, Jan Schormann, Alex Schroeder, Stefan Schoef, | 1440 | Philippe Schnoebelen, Jan Schormann, Alex Schroeder, Stefan Schoef, |
| 1441 | Rainer Schoepf, Raymond Scholz, Eric Schulte, Andreas Schwab, Randal | 1441 | Rainer Schöpf, Raymond Scholz, Eric Schulte, Andreas Schwab, Randal |
| 1442 | Schwartz, Oliver Seidel, Manuel Serrano, Paul Sexton, Hovav Shacham, | 1442 | Schwartz, Oliver Seidel, Manuel Serrano, Paul Sexton, Hovav Shacham, |
| 1443 | Stanislav Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Tibor | 1443 | Stanislav Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Tibor |
| 1444 | Å imko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith, | 1444 | Å imko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith, |
| @@ -1460,7 +1460,7 @@ Wohler, Steven A. Wood, Dale R. Worley, Francis J. Wright, Felix | |||
| 1460 | S. T. Wu, Tom Wurgler, Yamamoto Mitsuharu, Katsumi Yamaoka, | 1460 | S. T. Wu, Tom Wurgler, Yamamoto Mitsuharu, Katsumi Yamaoka, |
| 1461 | Masatake Yamato, Jonathan Yavner, Ryan Yeske, Ilya Zakharevich, Milan | 1461 | Masatake Yamato, Jonathan Yavner, Ryan Yeske, Ilya Zakharevich, Milan |
| 1462 | Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, Andrew Zhilin, | 1462 | Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, Andrew Zhilin, |
| 1463 | Shenghuo Zhu, Piotr Zielinski, Ian T. Zimmermann, Reto Zimmermann, | 1463 | Shenghuo Zhu, Piotr Zieliński, Ian T. Zimmermann, Reto Zimmermann, |
| 1464 | Neal Ziring, Teodor Zlatanov, and Detlev Zundel. | 1464 | Neal Ziring, Teodor Zlatanov, and Detlev Zundel. |
| 1465 | @end iftex | 1465 | @end iftex |
| 1466 | 1466 | ||
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 8b55cfddec2..c7d70eed41e 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2013-10-13 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * intro.texi (Acknowledgments): Use accented form of some names. | ||
| 4 | |||
| 1 | 2013-10-09 Glenn Morris <rgm@gnu.org> | 5 | 2013-10-09 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * control.texi (Conditionals): Copyedits. (Bug#15558) | 7 | * control.texi (Conditionals): Copyedits. (Bug#15558) |
diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi index 803e5229f6e..84da0bd3769 100644 --- a/doc/lispref/intro.texi +++ b/doc/lispref/intro.texi | |||
| @@ -545,7 +545,7 @@ Eirik Fuller, Stephen Gildea, Bob Glickstein, Eric Hanchrow, Jesper | |||
| 545 | Harder, George Hartzell, Nathan Hess, Masayuki Ida, Dan Jacobson, Jak | 545 | Harder, George Hartzell, Nathan Hess, Masayuki Ida, Dan Jacobson, Jak |
| 546 | Kirman, Bob Knighten, Frederick M. Korz, Joe Lammens, Glenn M. Lewis, | 546 | Kirman, Bob Knighten, Frederick M. Korz, Joe Lammens, Glenn M. Lewis, |
| 547 | K. Richard Magill, Brian Marick, Roland McGrath, Stefan Monnier, Skip | 547 | K. Richard Magill, Brian Marick, Roland McGrath, Stefan Monnier, Skip |
| 548 | Montanaro, John Gardiner Myers, Thomas A. Peterson, Francesco Potorti, | 548 | Montanaro, John Gardiner Myers, Thomas A. Peterson, Francesco Potortì, |
| 549 | Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney, | 549 | Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney, |
| 550 | Per Starbäck, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill | 550 | Per Starbäck, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill |
| 551 | Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding, | 551 | Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding, |
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index f7f373664c6..d05ed53e69b 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -22998,7 +22998,7 @@ elements on the line is (i.e., the non-info part). If you put | |||
| 22998 | additional elements on the mode line (e.g., a clock), you should modify | 22998 | additional elements on the mode line (e.g., a clock), you should modify |
| 22999 | this variable: | 22999 | this variable: |
| 23000 | 23000 | ||
| 23001 | @c Hook written by Francesco Potorti` <pot@cnuce.cnr.it> | 23001 | @c Hook written by Francesco Potortì <pot@cnuce.cnr.it> |
| 23002 | @lisp | 23002 | @lisp |
| 23003 | (add-hook 'display-time-hook | 23003 | (add-hook 'display-time-hook |
| 23004 | (lambda () (setq gnus-mode-non-string-length | 23004 | (lambda () (setq gnus-mode-non-string-length |
diff --git a/lib/gnulib.mk b/lib/gnulib.mk index 69fc06bbe06..44cdc0cdaac 100644 --- a/lib/gnulib.mk +++ b/lib/gnulib.mk | |||
| @@ -565,6 +565,7 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U | |||
| 565 | -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ | 565 | -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ |
| 566 | -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ | 566 | -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ |
| 567 | -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ | 567 | -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ |
| 568 | -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \ | ||
| 568 | -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ | 569 | -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ |
| 569 | -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ | 570 | -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ |
| 570 | -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ | 571 | -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ |
diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h index 1893f5569d3..05a22fff790 100644 --- a/lib/inttypes.in.h +++ b/lib/inttypes.in.h | |||
| @@ -1105,12 +1105,22 @@ _GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - " | |||
| 1105 | #endif | 1105 | #endif |
| 1106 | 1106 | ||
| 1107 | #if @GNULIB_STRTOUMAX@ | 1107 | #if @GNULIB_STRTOUMAX@ |
| 1108 | # if !@HAVE_DECL_STRTOUMAX@ | 1108 | # if @REPLACE_STRTOUMAX@ |
| 1109 | # undef strtoumax | 1109 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
| 1110 | # undef strtoumax | ||
| 1111 | # define strtoumax rpl_strtoumax | ||
| 1112 | # endif | ||
| 1113 | _GL_FUNCDECL_RPL (strtoumax, uintmax_t, | ||
| 1114 | (const char *, char **, int) _GL_ARG_NONNULL ((1))); | ||
| 1115 | _GL_CXXALIAS_RPL (strtoumax, uintmax_t, (const char *, char **, int)); | ||
| 1116 | # else | ||
| 1117 | # if !@HAVE_DECL_STRTOUMAX@ | ||
| 1118 | # undef strtoumax | ||
| 1110 | _GL_FUNCDECL_SYS (strtoumax, uintmax_t, | 1119 | _GL_FUNCDECL_SYS (strtoumax, uintmax_t, |
| 1111 | (const char *, char **, int) _GL_ARG_NONNULL ((1))); | 1120 | (const char *, char **, int) _GL_ARG_NONNULL ((1))); |
| 1112 | # endif | 1121 | # endif |
| 1113 | _GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int)); | 1122 | _GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int)); |
| 1123 | # endif | ||
| 1114 | _GL_CXXALIASWARN (strtoumax); | 1124 | _GL_CXXALIASWARN (strtoumax); |
| 1115 | #elif defined GNULIB_POSIXCHECK | 1125 | #elif defined GNULIB_POSIXCHECK |
| 1116 | # undef strtoumax | 1126 | # undef strtoumax |
diff --git a/lib/strtoimax.c b/lib/strtoimax.c index c9bd2ad3b1c..b4feaf361f7 100644 --- a/lib/strtoimax.c +++ b/lib/strtoimax.c | |||
| @@ -48,28 +48,31 @@ long long int strtoll (char const *, char **, int); | |||
| 48 | #ifdef UNSIGNED | 48 | #ifdef UNSIGNED |
| 49 | # define Have_long_long HAVE_UNSIGNED_LONG_LONG_INT | 49 | # define Have_long_long HAVE_UNSIGNED_LONG_LONG_INT |
| 50 | # define Int uintmax_t | 50 | # define Int uintmax_t |
| 51 | # define Strtoimax strtoumax | ||
| 52 | # define Strtol strtoul | ||
| 53 | # define Strtoll strtoull | ||
| 51 | # define Unsigned unsigned | 54 | # define Unsigned unsigned |
| 52 | # define strtoimax strtoumax | ||
| 53 | # define strtol strtoul | ||
| 54 | # define strtoll strtoull | ||
| 55 | #else | 55 | #else |
| 56 | # define Have_long_long HAVE_LONG_LONG_INT | 56 | # define Have_long_long HAVE_LONG_LONG_INT |
| 57 | # define Int intmax_t | 57 | # define Int intmax_t |
| 58 | # define Strtoimax strtoimax | ||
| 59 | # define Strtol strtol | ||
| 60 | # define Strtoll strtoll | ||
| 58 | # define Unsigned | 61 | # define Unsigned |
| 59 | #endif | 62 | #endif |
| 60 | 63 | ||
| 61 | Int | 64 | Int |
| 62 | strtoimax (char const *ptr, char **endptr, int base) | 65 | Strtoimax (char const *ptr, char **endptr, int base) |
| 63 | { | 66 | { |
| 64 | #if Have_long_long | 67 | #if Have_long_long |
| 65 | verify (sizeof (Int) == sizeof (Unsigned long int) | 68 | verify (sizeof (Int) == sizeof (Unsigned long int) |
| 66 | || sizeof (Int) == sizeof (Unsigned long long int)); | 69 | || sizeof (Int) == sizeof (Unsigned long long int)); |
| 67 | 70 | ||
| 68 | if (sizeof (Int) != sizeof (Unsigned long int)) | 71 | if (sizeof (Int) != sizeof (Unsigned long int)) |
| 69 | return strtoll (ptr, endptr, base); | 72 | return Strtoll (ptr, endptr, base); |
| 70 | #else | 73 | #else |
| 71 | verify (sizeof (Int) == sizeof (Unsigned long int)); | 74 | verify (sizeof (Int) == sizeof (Unsigned long int)); |
| 72 | #endif | 75 | #endif |
| 73 | 76 | ||
| 74 | return strtol (ptr, endptr, base); | 77 | return Strtol (ptr, endptr, base); |
| 75 | } | 78 | } |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f4508b7bbce..1abd0482ec6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -4,6 +4,42 @@ | |||
| 4 | superfluous condition in chekcing whether a coding system is safe | 4 | superfluous condition in chekcing whether a coding system is safe |
| 5 | or not. | 5 | or not. |
| 6 | 6 | ||
| 7 | 2013-10-13 Oleh Krehel <ohwoeowho@gmail.com> | ||
| 8 | |||
| 9 | * replace.el (how-many): Fix rstart and !rend case. (Bug#15589) | ||
| 10 | |||
| 11 | 2013-10-13 Andreas Politz <politza@hochschule-trier.de> | ||
| 12 | |||
| 13 | * progmodes/sql.el (sql-add-product): Fix paren typo. (Bug#15435) | ||
| 14 | |||
| 15 | 2013-10-13 Glenn Morris <rgm@gnu.org> | ||
| 16 | |||
| 17 | * menu-bar.el (menu-bar-update-buffers): | ||
| 18 | Unify Buffers menu prompt string. (Bug#15576) | ||
| 19 | |||
| 20 | * face-remap.el (text-scale-adjust): Doc fix. (Bug#15434) | ||
| 21 | |||
| 22 | * emacs-lisp/authors.el (authors-aliases, authors-ignored-files): | ||
| 23 | Add some entries. | ||
| 24 | (authors-fixed-entries): Use accented form of name. | ||
| 25 | |||
| 26 | 2013-10-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 27 | |||
| 28 | * progmodes/ruby-mode.el (ruby-smie-grammar): Add rule for paren-free | ||
| 29 | method calls (bug#bug#15594). | ||
| 30 | (ruby-smie--args-separator-p): New function. | ||
| 31 | (ruby-smie--forward-token, ruby-smie--backward-token): Use it to | ||
| 32 | recognize paren-free method calls. | ||
| 33 | |||
| 34 | * isearch.el (isearch-pre-command-hook): Don't build in knowledge about | ||
| 35 | internals of universal-argument. | ||
| 36 | |||
| 37 | 2013-10-11 Eli Zaretskii <eliz@gnu.org> | ||
| 38 | |||
| 39 | * menu-bar.el (tty-menu-navigation-map): Remap F10 to tty-menu-exit. | ||
| 40 | Bind all menu-bar sequences to tty-menu-exit -- this pops down a | ||
| 41 | dropped menu on second mouse click on the menu bar. | ||
| 42 | |||
| 7 | 2013-10-11 Stefan Monnier <monnier@iro.umontreal.ca> | 43 | 2013-10-11 Stefan Monnier <monnier@iro.umontreal.ca> |
| 8 | 44 | ||
| 9 | * progmodes/sh-script.el: Provide simpl(e|istic) completion. | 45 | * progmodes/sh-script.el: Provide simpl(e|istic) completion. |
| @@ -3212,7 +3248,7 @@ | |||
| 3212 | 3248 | ||
| 3213 | 2013-07-23 Michael R. Mauger <michael@mauger.com> | 3249 | 2013-07-23 Michael R. Mauger <michael@mauger.com> |
| 3214 | 3250 | ||
| 3215 | * progmodes/sql.el Version 3.3 | 3251 | * progmodes/sql.el: Version 3.3 |
| 3216 | (sql-product-alist): Improve oracle :prompt-cont-regexp. | 3252 | (sql-product-alist): Improve oracle :prompt-cont-regexp. |
| 3217 | (sql-starts-with-prompt-re, sql-ends-with-prompt-re): New functions. | 3253 | (sql-starts-with-prompt-re, sql-ends-with-prompt-re): New functions. |
| 3218 | (sql-interactive-remove-continuation-prompt): Rewrite, use | 3254 | (sql-interactive-remove-continuation-prompt): Rewrite, use |
| @@ -8424,7 +8460,7 @@ | |||
| 8424 | 8460 | ||
| 8425 | 2013-03-14 Tassilo Horn <tsdh@gnu.org> | 8461 | 2013-03-14 Tassilo Horn <tsdh@gnu.org> |
| 8426 | 8462 | ||
| 8427 | * doc-view.el Fix bug#13887. | 8463 | * doc-view.el: Fix bug#13887. |
| 8428 | (doc-view-insert-image): Don't modify overlay associated to | 8464 | (doc-view-insert-image): Don't modify overlay associated to |
| 8429 | non-live windows, and implement horizontal centering of image in | 8465 | non-live windows, and implement horizontal centering of image in |
| 8430 | case it's smaller than the window. | 8466 | case it's smaller than the window. |
diff --git a/lisp/ChangeLog.16 b/lisp/ChangeLog.16 index b18d2bf9da4..ebdab33e5ea 100644 --- a/lisp/ChangeLog.16 +++ b/lisp/ChangeLog.16 | |||
| @@ -63,7 +63,7 @@ | |||
| 63 | 63 | ||
| 64 | 2013-03-11 Michael R. Mauger <michael@mauger.com> | 64 | 2013-03-11 Michael R. Mauger <michael@mauger.com> |
| 65 | 65 | ||
| 66 | * progmodes/sql.el Version 3.2 | 66 | * progmodes/sql.el: Version 3.2 |
| 67 | Please note that my address changed to <michael@mauger.com>; | 67 | Please note that my address changed to <michael@mauger.com>; |
| 68 | the <mmaug@yahoo.com> address remains active. | 68 | the <mmaug@yahoo.com> address remains active. |
| 69 | (sql-connection-alist): Updates documentation to fix bug#13715. | 69 | (sql-connection-alist): Updates documentation to fix bug#13715. |
diff --git a/lisp/desktop.el b/lisp/desktop.el index 79c06f15fb6..cff78ba9da6 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el | |||
| @@ -123,7 +123,7 @@ | |||
| 123 | ;; f89-kam@nada.kth.se (Klas Mellbourn) for a mh-e tip. | 123 | ;; f89-kam@nada.kth.se (Klas Mellbourn) for a mh-e tip. |
| 124 | ;; kifer@sbkifer.cs.sunysb.edu (M. Kifer) for a bug hunt. | 124 | ;; kifer@sbkifer.cs.sunysb.edu (M. Kifer) for a bug hunt. |
| 125 | ;; treese@lcs.mit.edu (Win Treese) for ange-ftp tips. | 125 | ;; treese@lcs.mit.edu (Win Treese) for ange-ftp tips. |
| 126 | ;; pot@cnuce.cnr.it (Francesco Potorti`) for misc. tips. | 126 | ;; pot@cnuce.cnr.it (Francesco Potortì) for misc. tips. |
| 127 | ;; --------------------------------------------------------------------------- | 127 | ;; --------------------------------------------------------------------------- |
| 128 | ;; TODO: | 128 | ;; TODO: |
| 129 | ;; | 129 | ;; |
| @@ -1467,3 +1467,7 @@ If there are no buffers left to create, kill the timer." | |||
| 1467 | (provide 'desktop) | 1467 | (provide 'desktop) |
| 1468 | 1468 | ||
| 1469 | ;;; desktop.el ends here | 1469 | ;;; desktop.el ends here |
| 1470 | |||
| 1471 | ;; Local Variables: | ||
| 1472 | ;; coding: utf-8 | ||
| 1473 | ;; End: | ||
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 40ce096d427..809511cb6b7 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el | |||
| @@ -103,6 +103,7 @@ files.") | |||
| 103 | ("John J Foerch" "John Foerch") | 103 | ("John J Foerch" "John Foerch") |
| 104 | ("John W. Eaton" "John Eaton") | 104 | ("John W. Eaton" "John Eaton") |
| 105 | ("Jonathan I. Kamens" "Jonathan Kamens") | 105 | ("Jonathan I. Kamens" "Jonathan Kamens") |
| 106 | ("Jorgen Schäfer" "Jorgen Schaefer") | ||
| 106 | ("Joseph Arceneaux" "Joe Arceneaux") | 107 | ("Joseph Arceneaux" "Joe Arceneaux") |
| 107 | ("Joseph M. Kelsey" "Joe Kelsey") ; FIXME ? | 108 | ("Joseph M. Kelsey" "Joe Kelsey") ; FIXME ? |
| 108 | ("Juan León Lahoz GarcÃa" "Juan-Leon Lahoz Garcia") | 109 | ("Juan León Lahoz GarcÃa" "Juan-Leon Lahoz Garcia") |
| @@ -145,6 +146,8 @@ files.") | |||
| 145 | ("Peter S. Galbraith" "Peter Galbraith") | 146 | ("Peter S. Galbraith" "Peter Galbraith") |
| 146 | ("Peter Runestig" "Peter 'luna' Runestig") | 147 | ("Peter Runestig" "Peter 'luna' Runestig") |
| 147 | ("Peter S. Galbraith" "Peter S Galbraith") | 148 | ("Peter S. Galbraith" "Peter S Galbraith") |
| 149 | ("Piotr Zieliński" "Piotr Zielinski") | ||
| 150 | ("Rainer Schöpf" "Rainer Schoepf") | ||
| 148 | ("Raja R. Harinath" "Raja R Harinath") | 151 | ("Raja R. Harinath" "Raja R Harinath") |
| 149 | ("Richard G. Bielawski" "Richard G Bielawski" "Richard Bielawski") | 152 | ("Richard G. Bielawski" "Richard G Bielawski" "Richard Bielawski") |
| 150 | ("Richard King" "Dick King") | 153 | ("Richard King" "Dick King") |
| @@ -297,7 +300,7 @@ Changes to files matching one of the regexps in this list are not listed.") | |||
| 297 | "NICKLES.WORTH" "INTERVAL.IDEAS" "RCP" | 300 | "NICKLES.WORTH" "INTERVAL.IDEAS" "RCP" |
| 298 | "3B-MAXMEM" "AIX.DUMP" "SUN-SUPPORT" "XENIX" | 301 | "3B-MAXMEM" "AIX.DUMP" "SUN-SUPPORT" "XENIX" |
| 299 | "CODINGS" "CHARSETS" | 302 | "CODINGS" "CHARSETS" |
| 300 | "calc/INSTALL" "calc/Makefile" | 303 | "calc/INSTALL" "calc/Makefile" "calc/README.prev" |
| 301 | "vms-pp.trans" "_emacs" "batcomp.com" "notes/cpp" ; admin/ | 304 | "vms-pp.trans" "_emacs" "batcomp.com" "notes/cpp" ; admin/ |
| 302 | "emacsver.texi.in" | 305 | "emacsver.texi.in" |
| 303 | "vpath.sed" | 306 | "vpath.sed" |
| @@ -334,6 +337,15 @@ Changes to files matching one of the regexps in this list are not listed.") | |||
| 334 | "debian/scripts/startup" | 337 | "debian/scripts/startup" |
| 335 | "debian/scripts/startup.erc" | 338 | "debian/scripts/startup.erc" |
| 336 | "debian/scripts/startup.erc-speak" | 339 | "debian/scripts/startup.erc-speak" |
| 340 | ;; Used to be in admin, not very interesting. | ||
| 341 | "emacs-pretesters" "make-announcement" "make-changelog-diff" | ||
| 342 | ;; Generated files that have since been removed. | ||
| 343 | "refcards/calccard.pdf" "refcards/cs-dired-ref.pdf" "refcards/cs-refcard.pdf" | ||
| 344 | "refcards/de-refcard.pdf" "refcards/dired-ref.pdf" "refcards/fr-dired-ref.pdf" | ||
| 345 | "refcards/fr-refcard.pdf" "refcards/gnus-booklet.pdf" "refcards/gnus-refcard.pdf" | ||
| 346 | "refcards/orgcard.pdf" "refcards/pl-refcard.pdf" "refcards/pt-br-refcard.pdf" | ||
| 347 | "refcards/refcard.pdf" "refcards/ru-refcard.pdf" "refcards/sk-dired-ref.pdf" | ||
| 348 | "refcards/sk-refcard.pdf" | ||
| 337 | ) | 349 | ) |
| 338 | "List of files and directories to ignore. | 350 | "List of files and directories to ignore. |
| 339 | Changes to files in this list are not listed.") | 351 | Changes to files in this list are not listed.") |
| @@ -506,7 +518,8 @@ Changes to files in this list are not listed.") | |||
| 506 | ("Schlumberger Technology Corporation" :changed "gud.el") | 518 | ("Schlumberger Technology Corporation" :changed "gud.el") |
| 507 | ;; Replaced by tcl.el. | 519 | ;; Replaced by tcl.el. |
| 508 | ;;; ("Gregor Schmid" :wrote "tcl-mode.el") | 520 | ;;; ("Gregor Schmid" :wrote "tcl-mode.el") |
| 509 | ("Rainer Schoepf" :wrote "alpha.h" "unexalpha.c") | 521 | ;; FIXME files no longer included; but see bug 15601 |
| 522 | ("Rainer Schöpf" :wrote "alpha.h" "unexalpha.c") | ||
| 510 | ;; No longer distributed: emacsserver.c. | 523 | ;; No longer distributed: emacsserver.c. |
| 511 | ("William Sommerfeld" :wrote "emacsclient.c" "scribe.el") | 524 | ("William Sommerfeld" :wrote "emacsclient.c" "scribe.el") |
| 512 | ;; No longer distributed: emacsserver.c. | 525 | ;; No longer distributed: emacsserver.c. |
diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el index d0e3c5763b5..e56fc1fcb13 100644 --- a/lisp/emacs-lisp/shadow.el +++ b/lisp/emacs-lisp/shadow.el | |||
| @@ -45,7 +45,7 @@ | |||
| 45 | ;; | 45 | ;; |
| 46 | ;; emacs -batch -f list-load-path-shadows | 46 | ;; emacs -batch -f list-load-path-shadows |
| 47 | ;; | 47 | ;; |
| 48 | ;; Thanks to Francesco Potorti` <pot@cnuce.cnr.it> for suggestions, | 48 | ;; Thanks to Francesco Potortì <pot@cnuce.cnr.it> for suggestions, |
| 49 | ;; rewritings & speedups. | 49 | ;; rewritings & speedups. |
| 50 | 50 | ||
| 51 | ;;; Code: | 51 | ;;; Code: |
| @@ -284,3 +284,7 @@ version unless you know what you are doing.\n") | |||
| 284 | (provide 'shadow) | 284 | (provide 'shadow) |
| 285 | 285 | ||
| 286 | ;;; shadow.el ends here | 286 | ;;; shadow.el ends here |
| 287 | |||
| 288 | ;; Local Variables: | ||
| 289 | ;; coding: utf-8 | ||
| 290 | ;; End: | ||
diff --git a/lisp/face-remap.el b/lisp/face-remap.el index e4ec602efe7..75170237798 100644 --- a/lisp/face-remap.el +++ b/lisp/face-remap.el | |||
| @@ -299,11 +299,9 @@ key-binding used to invoke the command, with all modifiers removed: | |||
| 299 | - Decrease the default face height by one step | 299 | - Decrease the default face height by one step |
| 300 | 0 Reset the default face height to the global default | 300 | 0 Reset the default face height to the global default |
| 301 | 301 | ||
| 302 | When adjusting with `+' or `-', continue to read input events and | 302 | After adjusting, continue to read input events and further adjust |
| 303 | further adjust the face height as long as the input event read | 303 | the face height as long as the input event read |
| 304 | \(with all modifiers removed) is `+' or `-'. | 304 | \(with all modifiers removed) is one of the above characters. |
| 305 | |||
| 306 | When adjusting with `0', immediately finish. | ||
| 307 | 305 | ||
| 308 | Each step scales the height of the default face by the variable | 306 | Each step scales the height of the default face by the variable |
| 309 | `text-scale-mode-step' (a negative number of steps decreases the | 307 | `text-scale-mode-step' (a negative number of steps decreases the |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 6d718e7c8f9..54bc1d03a00 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1138,7 +1138,7 @@ | |||
| 1138 | 1138 | ||
| 1139 | 2013-02-25 Adam Sjøgren <asjo@koldfront.dk> | 1139 | 2013-02-25 Adam Sjøgren <asjo@koldfront.dk> |
| 1140 | 1140 | ||
| 1141 | * mml2015-el (mml2015-epg-key-image): Wrap epg-gpg-program in | 1141 | * mml2015.el (mml2015-epg-key-image): Wrap epg-gpg-program in |
| 1142 | shell-quote-argument. | 1142 | shell-quote-argument. |
| 1143 | 1143 | ||
| 1144 | 2013-02-22 David Engster <deng@randomsample.de> | 1144 | 2013-02-22 David Engster <deng@randomsample.de> |
diff --git a/lisp/isearch.el b/lisp/isearch.el index 9a1729ac7e6..3abb03a084a 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -2233,6 +2233,9 @@ before the command is executed globally with terminated Isearch." | |||
| 2233 | (let* ((key (this-single-command-keys)) | 2233 | (let* ((key (this-single-command-keys)) |
| 2234 | (main-event (aref key 0))) | 2234 | (main-event (aref key 0))) |
| 2235 | (cond | 2235 | (cond |
| 2236 | ;; Don't exit Isearch if we're in the middle of some | ||
| 2237 | ;; set-temporary-overlay-map thingy like universal-argument--mode. | ||
| 2238 | ((not (eq overriding-terminal-local-map isearch-mode-map))) | ||
| 2236 | ;; Don't exit Isearch for isearch key bindings. | 2239 | ;; Don't exit Isearch for isearch key bindings. |
| 2237 | ((commandp (lookup-key isearch-mode-map key nil))) | 2240 | ((commandp (lookup-key isearch-mode-map key nil))) |
| 2238 | ;; Optionally edit the search string instead of exiting. | 2241 | ;; Optionally edit the search string instead of exiting. |
| @@ -2241,8 +2244,6 @@ before the command is executed globally with terminated Isearch." | |||
| 2241 | ;; Handle a scrolling function or prefix argument. | 2244 | ;; Handle a scrolling function or prefix argument. |
| 2242 | ((or (and isearch-allow-prefix | 2245 | ((or (and isearch-allow-prefix |
| 2243 | (memq this-command '(universal-argument | 2246 | (memq this-command '(universal-argument |
| 2244 | universal-argument-more | ||
| 2245 | universal-argument-minus | ||
| 2246 | digit-argument negative-argument))) | 2247 | digit-argument negative-argument))) |
| 2247 | (and isearch-allow-scroll | 2248 | (and isearch-allow-scroll |
| 2248 | (or (eq (get this-command 'isearch-scroll) t) | 2249 | (or (eq (get this-command 'isearch-scroll) t) |
diff --git a/lisp/mail/uce.el b/lisp/mail/uce.el index 5ed9cc7d8f4..d45cdf4f41c 100644 --- a/lisp/mail/uce.el +++ b/lisp/mail/uce.el | |||
| @@ -88,7 +88,7 @@ | |||
| 88 | 88 | ||
| 89 | ;; Dec 10, 1996 -- posted draft version to gnu.sources.emacs | 89 | ;; Dec 10, 1996 -- posted draft version to gnu.sources.emacs |
| 90 | 90 | ||
| 91 | ;; Dec 11, 1996 -- fixed some typos, and Francesco Potorti` | 91 | ;; Dec 11, 1996 -- fixed some typos, and Francesco Potortì |
| 92 | ;; <F.Potorti@cnuce.cnr.it> pointed out that my use of defvar was | 92 | ;; <F.Potorti@cnuce.cnr.it> pointed out that my use of defvar was |
| 93 | ;; weird, suggested fix, and added let form. | 93 | ;; weird, suggested fix, and added let form. |
| 94 | 94 | ||
| @@ -375,3 +375,7 @@ You might need to set `uce-mail-reader' before using this." | |||
| 375 | (provide 'uce) | 375 | (provide 'uce) |
| 376 | 376 | ||
| 377 | ;;; uce.el ends here | 377 | ;;; uce.el ends here |
| 378 | |||
| 379 | ;; Local Variables: | ||
| 380 | ;; coding: utf-8 | ||
| 381 | ;; End: | ||
diff --git a/lisp/man.el b/lisp/man.el index 9eb0ccd719a..56198035a22 100644 --- a/lisp/man.el +++ b/lisp/man.el | |||
| @@ -55,7 +55,7 @@ | |||
| 55 | ;; point and some other names have been changed to make it a drop-in | 55 | ;; point and some other names have been changed to make it a drop-in |
| 56 | ;; replacement for the old man.el package. | 56 | ;; replacement for the old man.el package. |
| 57 | 57 | ||
| 58 | ;; Francesco Potorti` <pot@cnuce.cnr.it> cleaned it up thoroughly, | 58 | ;; Francesco Potortì <pot@cnuce.cnr.it> cleaned it up thoroughly, |
| 59 | ;; making it faster, more robust and more tolerant of different | 59 | ;; making it faster, more robust and more tolerant of different |
| 60 | ;; systems' man idiosyncrasies. | 60 | ;; systems' man idiosyncrasies. |
| 61 | 61 | ||
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 25e019f6c3c..851e9b24649 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el | |||
| @@ -2046,7 +2046,7 @@ It must accept a buffer as its only required argument.") | |||
| 2046 | ;; We used to "(define-key (current-global-map) [menu-bar buffer]" | 2046 | ;; We used to "(define-key (current-global-map) [menu-bar buffer]" |
| 2047 | ;; but that did not do the right thing when the [menu-bar buffer] | 2047 | ;; but that did not do the right thing when the [menu-bar buffer] |
| 2048 | ;; entry above had been moved (e.g. to a parent keymap). | 2048 | ;; entry above had been moved (e.g. to a parent keymap). |
| 2049 | (setcdr global-buffers-menu-map (cons "Select Buffer" buffers-menu))))) | 2049 | (setcdr global-buffers-menu-map (cons "Buffers" buffers-menu))))) |
| 2050 | 2050 | ||
| 2051 | (add-hook 'menu-bar-update-hook 'menu-bar-update-buffers) | 2051 | (add-hook 'menu-bar-update-hook 'menu-bar-update-buffers) |
| 2052 | 2052 | ||
| @@ -2261,6 +2261,50 @@ If nil, the current mouse position is used." | |||
| 2261 | (popup-menu-normalize-position (event-end position))) | 2261 | (popup-menu-normalize-position (event-end position))) |
| 2262 | (t position))) | 2262 | (t position))) |
| 2263 | 2263 | ||
| 2264 | (defcustom tty-menu-open-use-tmm nil | ||
| 2265 | "If non-nil, \\[menu-bar-open] on a TTY will invoke `tmm-menubar'. | ||
| 2266 | |||
| 2267 | If nil, \\[menu-bar-open] will drop down the menu corresponding to the | ||
| 2268 | first (leftmost) menu-bar item; you can select other items by typing | ||
| 2269 | \\[forward-char], \\[backward-char], \\[right-char] and \\[left-char]." | ||
| 2270 | :type '(choice (const :tag "F10 drops down TTY menus" nil) | ||
| 2271 | (const :tag "F10 invokes tmm-menubar" t)) | ||
| 2272 | :group 'display | ||
| 2273 | :version "24.4") | ||
| 2274 | |||
| 2275 | (defvar tty-menu--initial-menu-x 1 | ||
| 2276 | "X coordinate of the first menu-bar menu dropped by F10. | ||
| 2277 | |||
| 2278 | This is meant to be used only for debugging TTY menus.") | ||
| 2279 | |||
| 2280 | (defun menu-bar-open (&optional frame) | ||
| 2281 | "Start key navigation of the menu bar in FRAME. | ||
| 2282 | |||
| 2283 | This function decides which method to use to access the menu | ||
| 2284 | depending on FRAME's terminal device. On X displays, it calls | ||
| 2285 | `x-menu-bar-open'; on Windows, `w32-menu-bar-open'; otherwise it | ||
| 2286 | calls either `popup-menu' or `tmm-menubar' depending on whether | ||
| 2287 | \`tty-menu-open-use-tmm' is nil or not. | ||
| 2288 | |||
| 2289 | If FRAME is nil or not given, use the selected frame." | ||
| 2290 | (interactive) | ||
| 2291 | (let ((type (framep (or frame (selected-frame))))) | ||
| 2292 | (cond | ||
| 2293 | ((eq type 'x) (x-menu-bar-open frame)) | ||
| 2294 | ((eq type 'w32) (w32-menu-bar-open frame)) | ||
| 2295 | ((and (null tty-menu-open-use-tmm) | ||
| 2296 | (not (zerop (or (frame-parameter nil 'menu-bar-lines) 0)))) | ||
| 2297 | (let* ((x tty-menu--initial-menu-x) | ||
| 2298 | (menu (menu-bar-menu-at-x-y x 0 frame))) | ||
| 2299 | (popup-menu (or | ||
| 2300 | (lookup-key global-map (vector 'menu-bar menu)) | ||
| 2301 | (lookup-key (current-local-map) (vector 'menu-bar menu))) | ||
| 2302 | (posn-at-x-y x 0 nil t) nil t))) | ||
| 2303 | (t (with-selected-frame (or frame (selected-frame)) | ||
| 2304 | (tmm-menubar)))))) | ||
| 2305 | |||
| 2306 | (global-set-key [f10] 'menu-bar-open) | ||
| 2307 | |||
| 2264 | (defvar tty-menu-navigation-map | 2308 | (defvar tty-menu-navigation-map |
| 2265 | (let ((map (make-sparse-keymap))) | 2309 | (let ((map (make-sparse-keymap))) |
| 2266 | ;; The next line is disabled because it breaks interpretation of | 2310 | ;; The next line is disabled because it breaks interpretation of |
| @@ -2282,22 +2326,14 @@ If nil, the current mouse position is used." | |||
| 2282 | (next-line . tty-menu-next-item) | 2326 | (next-line . tty-menu-next-item) |
| 2283 | (previous-line . tty-menu-prev-item) | 2327 | (previous-line . tty-menu-prev-item) |
| 2284 | (newline . tty-menu-select) | 2328 | (newline . tty-menu-select) |
| 2285 | (newline-and-indent . tty-menu-select))) | 2329 | (newline-and-indent . tty-menu-select) |
| 2330 | (menu-bar-open . tty-menu-exit))) | ||
| 2286 | (substitute-key-definition (car bind) (cdr bind) | 2331 | (substitute-key-definition (car bind) (cdr bind) |
| 2287 | map (current-global-map))) | 2332 | map (current-global-map))) |
| 2288 | 2333 | ||
| 2289 | ;; The bindings of menu-bar items are so that clicking on the menu | 2334 | ;; The bindings of menu-bar items are so that clicking on the menu |
| 2290 | ;; bar when a menu is already shown pops down that menu. | 2335 | ;; bar when a menu is already shown pops down that menu. |
| 2291 | ;; FIXME: we should iterate over all the visible menu-bar items, | 2336 | (define-key map [menu-bar t] 'tty-menu-exit) |
| 2292 | ;; instead of naming them explicitly here. Also, this doesn't | ||
| 2293 | ;; include items added by current major mode. | ||
| 2294 | ;; | ||
| 2295 | ;; FIXME: Why not (define-key map [menu-bat t] 'tty-menu-exit) ? --Stef | ||
| 2296 | (dolist (event '(file edit options buffer tools help-menu)) | ||
| 2297 | (substitute-key-definition | ||
| 2298 | (lookup-key (current-global-map) (vector 'menu-bar event)) | ||
| 2299 | 'tty-menu-exit | ||
| 2300 | map (current-global-map))) | ||
| 2301 | 2337 | ||
| 2302 | (define-key map [?\C-r] 'tty-menu-select) | 2338 | (define-key map [?\C-r] 'tty-menu-select) |
| 2303 | (define-key map [?\C-j] 'tty-menu-select) | 2339 | (define-key map [?\C-j] 'tty-menu-select) |
| @@ -2327,51 +2363,6 @@ If nil, the current mouse position is used." | |||
| 2327 | map) | 2363 | map) |
| 2328 | "Keymap used while processing TTY menus.") | 2364 | "Keymap used while processing TTY menus.") |
| 2329 | 2365 | ||
| 2330 | |||
| 2331 | (defcustom tty-menu-open-use-tmm nil | ||
| 2332 | "If non-nil, \\[menu-bar-open] on a TTY will invoke `tmm-menubar'. | ||
| 2333 | |||
| 2334 | If nil, \\[menu-bar-open] will drop down the menu corresponding to the | ||
| 2335 | first (leftmost) menu-bar item; you can select other items by typing | ||
| 2336 | \\[forward-char], \\[backward-char], \\[right-char] and \\[left-char]." | ||
| 2337 | :type '(choice (const :tag "F10 drops down TTY menus" nil) | ||
| 2338 | (const :tag "F10 invokes tmm-menubar" t)) | ||
| 2339 | :group 'display | ||
| 2340 | :version "24.4") | ||
| 2341 | |||
| 2342 | (defvar tty-menu--initial-menu-x 1 | ||
| 2343 | "X coordinate of the first menu-bar menu dropped by F10. | ||
| 2344 | |||
| 2345 | This is meant to be used only for debugging TTY menus.") | ||
| 2346 | |||
| 2347 | (defun menu-bar-open (&optional frame) | ||
| 2348 | "Start key navigation of the menu bar in FRAME. | ||
| 2349 | |||
| 2350 | This function decides which method to use to access the menu | ||
| 2351 | depending on FRAME's terminal device. On X displays, it calls | ||
| 2352 | `x-menu-bar-open'; on Windows, `w32-menu-bar-open'; otherwise it | ||
| 2353 | calls either `popup-menu' or `tmm-menubar' depending on whether | ||
| 2354 | \`tty-menu-open-use-tmm' is nil or not. | ||
| 2355 | |||
| 2356 | If FRAME is nil or not given, use the selected frame." | ||
| 2357 | (interactive) | ||
| 2358 | (let ((type (framep (or frame (selected-frame))))) | ||
| 2359 | (cond | ||
| 2360 | ((eq type 'x) (x-menu-bar-open frame)) | ||
| 2361 | ((eq type 'w32) (w32-menu-bar-open frame)) | ||
| 2362 | ((and (null tty-menu-open-use-tmm) | ||
| 2363 | (not (zerop (or (frame-parameter nil 'menu-bar-lines) 0)))) | ||
| 2364 | (let* ((x tty-menu--initial-menu-x) | ||
| 2365 | (menu (menu-bar-menu-at-x-y x 0 frame))) | ||
| 2366 | (popup-menu (or | ||
| 2367 | (lookup-key global-map (vector 'menu-bar menu)) | ||
| 2368 | (lookup-key (current-local-map) (vector 'menu-bar menu))) | ||
| 2369 | (posn-at-x-y x 0 nil t) nil t))) | ||
| 2370 | (t (with-selected-frame (or frame (selected-frame)) | ||
| 2371 | (tmm-menubar)))))) | ||
| 2372 | |||
| 2373 | (global-set-key [f10] 'menu-bar-open) | ||
| 2374 | |||
| 2375 | (provide 'menu-bar) | 2366 | (provide 'menu-bar) |
| 2376 | 2367 | ||
| 2377 | ;;; menu-bar.el ends here | 2368 | ;;; menu-bar.el ends here |
diff --git a/lisp/progmodes/cmacexp.el b/lisp/progmodes/cmacexp.el index 858d3298a65..6f1f9b89236 100644 --- a/lisp/progmodes/cmacexp.el +++ b/lisp/progmodes/cmacexp.el | |||
| @@ -1,9 +1,8 @@ | |||
| 1 | ;;; cmacexp.el --- expand C macros in a region | 1 | ;;; cmacexp.el --- expand C macros in a region |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1992, 1994, 1996, 2000-2013 Free Software Foundation, | 3 | ;; Copyright (C) 1992, 1994, 1996, 2000-2013 Free Software Foundation, Inc. |
| 4 | ;; Inc. | ||
| 5 | 4 | ||
| 6 | ;; Author: Francesco Potorti` <pot@gnu.org> | 5 | ;; Author: Francesco Potortì <pot@gnu.org> |
| 7 | ;; Adapted-By: ESR | 6 | ;; Adapted-By: ESR |
| 8 | ;; Keywords: c | 7 | ;; Keywords: c |
| 9 | 8 | ||
| @@ -70,7 +69,7 @@ | |||
| 70 | ;; BUG REPORTS ======================================================= | 69 | ;; BUG REPORTS ======================================================= |
| 71 | 70 | ||
| 72 | ;; Please report bugs, suggestions, complaints and so on to | 71 | ;; Please report bugs, suggestions, complaints and so on to |
| 73 | ;; pot@gnu.org (Francesco Potorti`). | 72 | ;; bug-gnu-emacs@gnu.org and pot@gnu.org (Francesco Potortì). |
| 74 | 73 | ||
| 75 | ;; IMPROVEMENTS OVER emacs 18.xx cmacexp.el ========================== | 74 | ;; IMPROVEMENTS OVER emacs 18.xx cmacexp.el ========================== |
| 76 | 75 | ||
| @@ -404,3 +403,7 @@ Optional arg DISPLAY non-nil means show messages in the echo area." | |||
| 404 | (kill-buffer outbuf)))) | 403 | (kill-buffer outbuf)))) |
| 405 | 404 | ||
| 406 | ;;; cmacexp.el ends here | 405 | ;;; cmacexp.el ends here |
| 406 | |||
| 407 | ;; Local Variables: | ||
| 408 | ;; coding: utf-8 | ||
| 409 | ;; End: | ||
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 2f922162586..dfc93a21b40 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el | |||
| @@ -246,7 +246,8 @@ Also ignores spaces after parenthesis when 'space." | |||
| 246 | '((id) | 246 | '((id) |
| 247 | (insts (inst) (insts ";" insts)) | 247 | (insts (inst) (insts ";" insts)) |
| 248 | (inst (exp) (inst "iuwu-mod" exp)) | 248 | (inst (exp) (inst "iuwu-mod" exp)) |
| 249 | (exp (exp1) (exp "," exp) (exp "=" exp) (exp "-" exp) (exp "+" exp)) | 249 | (exp (exp1) (exp "," exp) (exp "=" exp) (exp "-" exp) (exp "+" exp) |
| 250 | (id " @ " exp)) | ||
| 250 | (exp1 (exp2) (exp2 "?" exp1 ":" exp1)) | 251 | (exp1 (exp2) (exp2 "?" exp1 ":" exp1)) |
| 251 | (exp2 ("def" insts "end") | 252 | (exp2 ("def" insts "end") |
| 252 | ("begin" insts-rescue-insts "end") | 253 | ("begin" insts-rescue-insts "end") |
| @@ -274,7 +275,8 @@ Also ignores spaces after parenthesis when 'space." | |||
| 274 | (itheni (insts) (exp "then" insts)) | 275 | (itheni (insts) (exp "then" insts)) |
| 275 | (ielsei (itheni) (itheni "else" insts)) | 276 | (ielsei (itheni) (itheni "else" insts)) |
| 276 | (if-body (ielsei) (if-body "elsif" if-body))) | 277 | (if-body (ielsei) (if-body "elsif" if-body))) |
| 277 | '((nonassoc "in") (assoc ";") (assoc ",") (right "=") (assoc "-" "+")) | 278 | '((nonassoc "in") (assoc ";") (right " @ ") |
| 279 | (assoc ",") (right "=") (assoc "-" "+")) | ||
| 278 | '((assoc "when")) | 280 | '((assoc "when")) |
| 279 | '((assoc "elsif")) | 281 | '((assoc "elsif")) |
| 280 | '((assoc "rescue" "ensure")) | 282 | '((assoc "rescue" "ensure")) |
| @@ -316,6 +318,12 @@ Also ignores spaces after parenthesis when 'space." | |||
| 316 | (or (eq ?\{ (char-before)) | 318 | (or (eq ?\{ (char-before)) |
| 317 | (looking-back "\\_<do" (- (point) 2))))) | 319 | (looking-back "\\_<do" (- (point) 2))))) |
| 318 | 320 | ||
| 321 | (defun ruby-smie--args-separator-p (pos) | ||
| 322 | (and | ||
| 323 | (eq ?w (char-syntax (char-before))) | ||
| 324 | (< pos (point-max)) | ||
| 325 | (memq (char-syntax (char-after pos)) '(?w ?\")))) | ||
| 326 | |||
| 319 | (defun ruby-smie--forward-id () | 327 | (defun ruby-smie--forward-id () |
| 320 | (when (and (not (eobp)) | 328 | (when (and (not (eobp)) |
| 321 | (eq ?w (char-syntax (char-after)))) | 329 | (eq ?w (char-syntax (char-after)))) |
| @@ -326,35 +334,42 @@ Also ignores spaces after parenthesis when 'space." | |||
| 326 | tok))) | 334 | tok))) |
| 327 | 335 | ||
| 328 | (defun ruby-smie--forward-token () | 336 | (defun ruby-smie--forward-token () |
| 329 | (skip-chars-forward " \t") | 337 | (let ((pos (point))) |
| 330 | (cond | 338 | (skip-chars-forward " \t") |
| 331 | ((looking-at "\\s\"") "") ;A heredoc or a string. | 339 | (cond |
| 332 | ((and (looking-at "[\n#]") | 340 | ((looking-at "\\s\"") "") ;A heredoc or a string. |
| 333 | (ruby-smie--implicit-semi-p)) ;Only add implicit ; when needed. | 341 | ((and (looking-at "[\n#]") |
| 334 | (if (eolp) (forward-char 1) (forward-comment 1)) | 342 | (ruby-smie--implicit-semi-p)) ;Only add implicit ; when needed. |
| 335 | ";") | 343 | (if (eolp) (forward-char 1) (forward-comment 1)) |
| 336 | (t | 344 | ";") |
| 337 | (forward-comment (point-max)) | 345 | (t |
| 338 | (if (looking-at ":\\s.+") | 346 | (forward-comment (point-max)) |
| 339 | (progn (goto-char (match-end 0)) (match-string 0)) ;; bug#15208. | 347 | (cond |
| 340 | (let ((tok (smie-default-forward-token))) | 348 | ((looking-at ":\\s.+") |
| 341 | (cond | 349 | (goto-char (match-end 0)) (match-string 0)) ;; bug#15208. |
| 342 | ((member tok '("unless" "if" "while" "until")) | 350 | ((and (< pos (point)) |
| 343 | (if (save-excursion (forward-word -1) (ruby-smie--bosp)) | 351 | (save-excursion |
| 344 | tok "iuwu-mod")) | 352 | (ruby-smie--args-separator-p (prog1 (point) (goto-char pos))))) |
| 345 | ((equal tok "|") | 353 | " @ ") |
| 346 | (if (ruby-smie--opening-pipe-p) "opening-|" tok)) | 354 | (t |
| 347 | ((and (equal tok "") (looking-at "\\\\\n")) | 355 | (let ((tok (smie-default-forward-token))) |
| 348 | (goto-char (match-end 0)) (ruby-smie--forward-token)) | ||
| 349 | ((equal tok "do") | ||
| 350 | (cond | 356 | (cond |
| 351 | ((not (ruby-smie--redundant-do-p 'skip)) tok) | 357 | ((member tok '("unless" "if" "while" "until")) |
| 352 | ((> (save-excursion (forward-comment (point-max)) (point)) | 358 | (if (save-excursion (forward-word -1) (ruby-smie--bosp)) |
| 353 | (line-end-position)) | 359 | tok "iuwu-mod")) |
| 354 | (ruby-smie--forward-token)) ;Fully redundant. | 360 | ((equal tok "|") |
| 355 | (t ";"))) | 361 | (if (ruby-smie--opening-pipe-p) "opening-|" tok)) |
| 356 | ((equal tok ".") (concat tok (ruby-smie--forward-id))) | 362 | ((and (equal tok "") (looking-at "\\\\\n")) |
| 357 | (t tok))))))) | 363 | (goto-char (match-end 0)) (ruby-smie--forward-token)) |
| 364 | ((equal tok "do") | ||
| 365 | (cond | ||
| 366 | ((not (ruby-smie--redundant-do-p 'skip)) tok) | ||
| 367 | ((> (save-excursion (forward-comment (point-max)) (point)) | ||
| 368 | (line-end-position)) | ||
| 369 | (ruby-smie--forward-token)) ;Fully redundant. | ||
| 370 | (t ";"))) | ||
| 371 | ((equal tok ".") (concat tok (ruby-smie--forward-id))) | ||
| 372 | (t tok))))))))) | ||
| 358 | 373 | ||
| 359 | (defun ruby-smie--backward-id () | 374 | (defun ruby-smie--backward-id () |
| 360 | (when (and (not (bobp)) | 375 | (when (and (not (bobp)) |
| @@ -372,6 +387,12 @@ Also ignores spaces after parenthesis when 'space." | |||
| 372 | ((and (> pos (line-end-position)) (ruby-smie--implicit-semi-p)) | 387 | ((and (> pos (line-end-position)) (ruby-smie--implicit-semi-p)) |
| 373 | (skip-chars-forward " \t") ";") | 388 | (skip-chars-forward " \t") ";") |
| 374 | ((and (bolp) (not (bobp))) "") ;Presumably a heredoc. | 389 | ((and (bolp) (not (bobp))) "") ;Presumably a heredoc. |
| 390 | ((and (> pos (point)) (not (bolp)) | ||
| 391 | (ruby-smie--args-separator-p pos)) | ||
| 392 | ;; We have "ID SPC ID", which is a method call, but it binds less tightly | ||
| 393 | ;; than commas, since a method call can also be "ID ARG1, ARG2, ARG3". | ||
| 394 | ;; In some textbooks, "e1 @ e2" is used to mean "call e1 with arg e2". | ||
| 395 | " @ ") | ||
| 375 | (t | 396 | (t |
| 376 | (let ((tok (smie-default-backward-token))) | 397 | (let ((tok (smie-default-backward-token))) |
| 377 | (when (eq ?. (char-before)) | 398 | (when (eq ?. (char-before)) |
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index 56a6f155f31..0be23c27805 100644 --- a/lisp/progmodes/sql.el +++ b/lisp/progmodes/sql.el | |||
| @@ -2439,7 +2439,7 @@ configuration." | |||
| 2439 | (user-error "Product `%s' is already defined" product) | 2439 | (user-error "Product `%s' is already defined" product) |
| 2440 | 2440 | ||
| 2441 | ;; Add product to the alist | 2441 | ;; Add product to the alist |
| 2442 | (add-to-list 'sql-product-alist `((,product :name ,display . ,plist))) | 2442 | (add-to-list 'sql-product-alist `(,product :name ,display . ,plist)) |
| 2443 | ;; Add a menu item to the SQL->Product menu | 2443 | ;; Add a menu item to the SQL->Product menu |
| 2444 | (easy-menu-add-item sql-mode-menu '("Product") | 2444 | (easy-menu-add-item sql-mode-menu '("Product") |
| 2445 | ;; Each product is represented by a radio | 2445 | ;; Each product is represented by a radio |
diff --git a/lisp/replace.el b/lisp/replace.el index abb59a674e3..d92fb6809ef 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -810,9 +810,12 @@ a previously found match." | |||
| 810 | (keep-lines-read-args "How many matches for regexp")) | 810 | (keep-lines-read-args "How many matches for regexp")) |
| 811 | (save-excursion | 811 | (save-excursion |
| 812 | (if rstart | 812 | (if rstart |
| 813 | (progn | 813 | (if rend |
| 814 | (goto-char (min rstart rend)) | 814 | (progn |
| 815 | (setq rend (max rstart rend))) | 815 | (goto-char (min rstart rend)) |
| 816 | (setq rend (max rstart rend))) | ||
| 817 | (goto-char rstart) | ||
| 818 | (setq rend (point-max))) | ||
| 816 | (if (and interactive transient-mark-mode mark-active) | 819 | (if (and interactive transient-mark-mode mark-active) |
| 817 | (setq rstart (region-beginning) | 820 | (setq rstart (region-beginning) |
| 818 | rend (region-end)) | 821 | rend (region-end)) |
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 534d56f5bac..c707e34993d 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 | |||
| @@ -348,13 +348,13 @@ AC_DEFUN([gl_INIT], | |||
| 348 | gl_FUNC_GNU_STRFTIME | 348 | gl_FUNC_GNU_STRFTIME |
| 349 | gl_HEADER_STRING_H | 349 | gl_HEADER_STRING_H |
| 350 | gl_FUNC_STRTOIMAX | 350 | gl_FUNC_STRTOIMAX |
| 351 | if test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then | 351 | if test $HAVE_DECL_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then |
| 352 | AC_LIBOBJ([strtoimax]) | 352 | AC_LIBOBJ([strtoimax]) |
| 353 | gl_PREREQ_STRTOIMAX | 353 | gl_PREREQ_STRTOIMAX |
| 354 | fi | 354 | fi |
| 355 | gl_INTTYPES_MODULE_INDICATOR([strtoimax]) | 355 | gl_INTTYPES_MODULE_INDICATOR([strtoimax]) |
| 356 | gl_FUNC_STRTOUMAX | 356 | gl_FUNC_STRTOUMAX |
| 357 | if test $ac_cv_func_strtoumax = no; then | 357 | if test $HAVE_DECL_STRTOUMAX = 0 || test $REPLACE_STRTOUMAX = 1; then |
| 358 | AC_LIBOBJ([strtoumax]) | 358 | AC_LIBOBJ([strtoumax]) |
| 359 | gl_PREREQ_STRTOUMAX | 359 | gl_PREREQ_STRTOUMAX |
| 360 | fi | 360 | fi |
| @@ -622,10 +622,10 @@ AC_DEFUN([gl_INIT], | |||
| 622 | if test $HAVE_READLINKAT = 0; then | 622 | if test $HAVE_READLINKAT = 0; then |
| 623 | func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 | 623 | func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 |
| 624 | fi | 624 | fi |
| 625 | if { test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; } && test $ac_cv_type_long_long_int = yes; then | 625 | if { test $HAVE_DECL_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; } && test $ac_cv_type_long_long_int = yes; then |
| 626 | func_gl_gnulib_m4code_strtoll | 626 | func_gl_gnulib_m4code_strtoll |
| 627 | fi | 627 | fi |
| 628 | if test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then | 628 | if { test $HAVE_DECL_STRTOUMAX = 0 || test $REPLACE_STRTOUMAX = 1; } && test $ac_cv_type_unsigned_long_long_int = yes; then |
| 629 | func_gl_gnulib_m4code_strtoull | 629 | func_gl_gnulib_m4code_strtoull |
| 630 | fi | 630 | fi |
| 631 | m4_pattern_allow([^gl_GNULIB_ENABLED_]) | 631 | m4_pattern_allow([^gl_GNULIB_ENABLED_]) |
diff --git a/m4/inttypes.m4 b/m4/inttypes.m4 index 3b483d39f5c..b06c77753bf 100644 --- a/m4/inttypes.m4 +++ b/m4/inttypes.m4 | |||
| @@ -148,6 +148,7 @@ AC_DEFUN([gl_INTTYPES_H_DEFAULTS], | |||
| 148 | HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) | 148 | HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) |
| 149 | HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) | 149 | HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) |
| 150 | REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX]) | 150 | REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX]) |
| 151 | REPLACE_STRTOUMAX=0; AC_SUBST([REPLACE_STRTOUMAX]) | ||
| 151 | INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) | 152 | INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) |
| 152 | INT64_MAX_EQ_LONG_MAX='defined _LP64'; AC_SUBST([INT64_MAX_EQ_LONG_MAX]) | 153 | INT64_MAX_EQ_LONG_MAX='defined _LP64'; AC_SUBST([INT64_MAX_EQ_LONG_MAX]) |
| 153 | PRI_MACROS_BROKEN=0; AC_SUBST([PRI_MACROS_BROKEN]) | 154 | PRI_MACROS_BROKEN=0; AC_SUBST([PRI_MACROS_BROKEN]) |
diff --git a/m4/strtoimax.m4 b/m4/strtoimax.m4 index bee93b21e8b..20454dc029c 100644 --- a/m4/strtoimax.m4 +++ b/m4/strtoimax.m4 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # strtoimax.m4 serial 13 | 1 | # strtoimax.m4 serial 14 |
| 2 | dnl Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2006, 2009-2013 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, |
| @@ -15,7 +15,7 @@ AC_DEFUN([gl_FUNC_STRTOIMAX], | |||
| 15 | HAVE_DECL_STRTOIMAX=0 | 15 | HAVE_DECL_STRTOIMAX=0 |
| 16 | fi | 16 | fi |
| 17 | 17 | ||
| 18 | if test $ac_cv_func_strtoimax = yes; then | 18 | if test "$ac_cv_func_strtoimax" = yes; then |
| 19 | HAVE_STRTOIMAX=1 | 19 | HAVE_STRTOIMAX=1 |
| 20 | dnl On AIX 5.1, strtoimax() fails for values outside the 'int' range. | 20 | dnl On AIX 5.1, strtoimax() fails for values outside the 'int' range. |
| 21 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles | 21 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles |
| @@ -72,6 +72,10 @@ int main () | |||
| 72 | *no) REPLACE_STRTOIMAX=1 ;; | 72 | *no) REPLACE_STRTOIMAX=1 ;; |
| 73 | esac | 73 | esac |
| 74 | else | 74 | else |
| 75 | if test "$ac_cv_have_decl_strtoimax" = yes; then | ||
| 76 | # HP-UX 11.11 has "#define strtoimax(...) ..." but no function. | ||
| 77 | REPLACE_STRTOIMAX=1 | ||
| 78 | fi | ||
| 75 | HAVE_STRTOIMAX=0 | 79 | HAVE_STRTOIMAX=0 |
| 76 | fi | 80 | fi |
| 77 | ]) | 81 | ]) |
diff --git a/m4/strtoumax.m4 b/m4/strtoumax.m4 index 6a6aeb5dae1..9c8ff175d31 100644 --- a/m4/strtoumax.m4 +++ b/m4/strtoumax.m4 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # strtoumax.m4 serial 11 | 1 | # strtoumax.m4 serial 12 |
| 2 | dnl Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2006, 2009-2013 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, |
| @@ -11,7 +11,12 @@ AC_DEFUN([gl_FUNC_STRTOUMAX], | |||
| 11 | dnl On OSF/1 5.1 with cc, this function is declared but not defined. | 11 | dnl On OSF/1 5.1 with cc, this function is declared but not defined. |
| 12 | AC_CHECK_FUNCS_ONCE([strtoumax]) | 12 | AC_CHECK_FUNCS_ONCE([strtoumax]) |
| 13 | AC_CHECK_DECLS_ONCE([strtoumax]) | 13 | AC_CHECK_DECLS_ONCE([strtoumax]) |
| 14 | if test "$ac_cv_have_decl_strtoumax" != yes; then | 14 | if test "$ac_cv_have_decl_strtoumax" = yes; then |
| 15 | if test "$ac_cv_func_strtoumax" != yes; then | ||
| 16 | # HP-UX 11.11 has "#define strtoimax(...) ..." but no function. | ||
| 17 | REPLACE_STRTOUMAX=1 | ||
| 18 | fi | ||
| 19 | else | ||
| 15 | HAVE_DECL_STRTOUMAX=0 | 20 | HAVE_DECL_STRTOUMAX=0 |
| 16 | fi | 21 | fi |
| 17 | ]) | 22 | ]) |
diff --git a/nt/ChangeLog b/nt/ChangeLog index 390a8eb0227..cdd9ec60b11 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2013-10-12 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * inc/dirent.h (struct dirent) [__MINGW_MAJOR_VERSION >= 4]: Make | ||
| 4 | the layout of 'struct dirent' be compatible with MinGW32 runtime | ||
| 5 | versions 4.0 and later. | ||
| 6 | |||
| 7 | * inc/ms-w32.h (__MINGW_MAJOR_VERSION, __MINGW_MINOR_VERSION) | ||
| 8 | (__MINGW_PATCHLEVEL) [!__MINGW64_VERSION_MAJOR]: Define, if not | ||
| 9 | defined, but not for MinGW64. | ||
| 10 | (_USE_32BIT_TIME_T) [__MINGW64_VERSION_MAJOR]: Define, to force | ||
| 11 | use of 32-bit time_t type. | ||
| 12 | |||
| 1 | 2013-10-07 Paul Eggert <eggert@cs.ucla.edu> | 13 | 2013-10-07 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 14 | ||
| 3 | Improve support for popcount and counting trailing zeros (Bug#15550). | 15 | Improve support for popcount and counting trailing zeros (Bug#15550). |
diff --git a/nt/INSTALL b/nt/INSTALL index be36014e3b2..8f08c078a61 100644 --- a/nt/INSTALL +++ b/nt/INSTALL | |||
| @@ -536,14 +536,6 @@ Windows 9X as well). | |||
| 536 | is in the PATH or otherwise accessible and that the binaries are | 536 | is in the PATH or otherwise accessible and that the binaries are |
| 537 | compatible (for example, that they were built with the same compiler). | 537 | compatible (for example, that they were built with the same compiler). |
| 538 | 538 | ||
| 539 | Binaries for the image libraries (among many others) can be found at | ||
| 540 | the GnuWin32 project. The PNG libraries are also included with GTK, | ||
| 541 | which is installed along with other Free Software that requires it. | ||
| 542 | Note specifically that, due to some packaging snafus in the | ||
| 543 | GnuWin32-supplied image libraries, you will need to download | ||
| 544 | _source_ packages for some of the libraries in order to get the | ||
| 545 | header files necessary for building Emacs with image support. | ||
| 546 | |||
| 547 | For PNG images, we recommend to use versions 1.4.x and later of | 539 | For PNG images, we recommend to use versions 1.4.x and later of |
| 548 | libpng, because previous versions had security issues. You can find | 540 | libpng, because previous versions had security issues. You can find |
| 549 | precompiled libraries and headers on the GTK download page for | 541 | precompiled libraries and headers on the GTK download page for |
| @@ -561,6 +553,27 @@ Windows 9X as well). | |||
| 561 | `dynamic-library-alist' and the value of `libpng-version', and | 553 | `dynamic-library-alist' and the value of `libpng-version', and |
| 562 | download compatible DLLs if needed. | 554 | download compatible DLLs if needed. |
| 563 | 555 | ||
| 556 | For GIF images, we recommend to use versions 5.0.0 or later of | ||
| 557 | giflib, as it is much enhanced wrt previous versions. You can find | ||
| 558 | precompiled binaries and headers for giflib on the ezwinports site, | ||
| 559 | http://sourceforge.net/projects/ezwinports/files/. | ||
| 560 | |||
| 561 | Version 5.0.0 and later of giflib are binary incompatible with | ||
| 562 | previous versions (the signatures of several functions have | ||
| 563 | changed), so Emacs will only look for giflib libraries that are | ||
| 564 | compatible with the version it was compiled against. Similar to | ||
| 565 | libpng, that version is given by the value of the Lisp variable | ||
| 566 | `libgif-version'; e.g., 50005 means version 5.0.5. The variable | ||
| 567 | `dynamic-library-alist' is automatically set to name only those DLL | ||
| 568 | libraries that are known to be compatible with the version given by | ||
| 569 | `libgif-version'. | ||
| 570 | |||
| 571 | Binaries for the other image libraries can be found at the GnuWin32 | ||
| 572 | project. Note specifically that, due to some packaging snafus in | ||
| 573 | the GnuWin32-supplied image libraries, you will need to download | ||
| 574 | _source_ packages for some of the libraries in order to get the | ||
| 575 | header files necessary for building Emacs with image support. | ||
| 576 | |||
| 564 | * Optional GnuTLS support | 577 | * Optional GnuTLS support |
| 565 | 578 | ||
| 566 | To compile with GnuTLS, you will need pkg-config to be installed, as | 579 | To compile with GnuTLS, you will need pkg-config to be installed, as |
diff --git a/nt/inc/dirent.h b/nt/inc/dirent.h index 676b82d207b..328635c4853 100644 --- a/nt/inc/dirent.h +++ b/nt/inc/dirent.h | |||
| @@ -19,6 +19,27 @@ struct dirent /* data from readdir() */ | |||
| 19 | long d_ino; /* inode number of entry */ | 19 | long d_ino; /* inode number of entry */ |
| 20 | unsigned short d_reclen; /* length of this record */ | 20 | unsigned short d_reclen; /* length of this record */ |
| 21 | unsigned short d_namlen; /* length of string in d_name */ | 21 | unsigned short d_namlen; /* length of string in d_name */ |
| 22 | #if __MINGW_MAJOR_VERSION >= 4 | ||
| 23 | /* MinGW.org runtime 4.x introduces a modified layout of | ||
| 24 | 'struct dirent', which makes it binary incompatible with | ||
| 25 | previous versions. To add insult to injury, the MinGW | ||
| 26 | startup code calls 'readdir', which is implemented in | ||
| 27 | w32.c. So we need to define the same layout of this struct | ||
| 28 | as the MinGW runtime does, or else command-line globbing | ||
| 29 | will be broken. (Versions of MinGW runtime after 4.0 are | ||
| 30 | supposed not to call 'readdir' from startup code, but we | ||
| 31 | had better be safe than sorry.) */ | ||
| 32 | unsigned d_type; /* File attributes */ | ||
| 33 | /* The next 3 fields are declared 'time_t' in the MinGW 4.0 | ||
| 34 | headers, but 'time_t' is by default a 64-bit type in 4.x, | ||
| 35 | and presumably the libmingwex library was compiled using | ||
| 36 | that default definition. So we must use 64-bit types here, | ||
| 37 | even though our time_t is a 32-bit type. What a mess! */ | ||
| 38 | __int64 d_time_create; | ||
| 39 | __int64 d_time_access; /* always midnight local time */ | ||
| 40 | __int64 d_time_write; | ||
| 41 | _fsize_t d_size; | ||
| 42 | #endif | ||
| 22 | char d_name[MAXNAMLEN+1]; /* name of file */ | 43 | char d_name[MAXNAMLEN+1]; /* name of file */ |
| 23 | }; | 44 | }; |
| 24 | 45 | ||
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h index e670079eb35..d5257d9a937 100644 --- a/nt/inc/ms-w32.h +++ b/nt/inc/ms-w32.h | |||
| @@ -24,6 +24,32 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 24 | #define WINDOWSNT | 24 | #define WINDOWSNT |
| 25 | #endif | 25 | #endif |
| 26 | 26 | ||
| 27 | /* The @#$%^&! MinGW developers stopped updating the values of | ||
| 28 | __MINGW32_VERSION, __MINGW32_MAJOR_VERSION, and | ||
| 29 | __MINGW32_MINOR_VERSION values in v4.x of the runtime, to | ||
| 30 | "discourage its uses". So the values of those macros can no longer | ||
| 31 | be trusted, and we need the workaround below, to have a single set | ||
| 32 | of macros we can trust. (The .17 minor version is arbitrary.) */ | ||
| 33 | #ifdef __MINGW32__ | ||
| 34 | #include <_mingw.h> | ||
| 35 | #endif | ||
| 36 | /* MinGW64 doesn't have this problem, and does not define | ||
| 37 | __MINGW_VERSION. */ | ||
| 38 | #ifndef __MINGW64_VERSION_MAJOR | ||
| 39 | # ifndef __MINGW_VERSION | ||
| 40 | # define __MINGW_VERSION 3.17 | ||
| 41 | # undef __MINGW_MAJOR_VERSION | ||
| 42 | # define __MINGW_MAJOR_VERSION 3 | ||
| 43 | # undef __MINGW_MINOR_VERSION | ||
| 44 | # define __MINGW_MINOR_VERSION 17 | ||
| 45 | # undef __MINGW_PATCHLEVEL | ||
| 46 | # define __MINGW_PATCHLEVEL 0 | ||
| 47 | # endif | ||
| 48 | #endif | ||
| 49 | #if __MINGW_MAJOR_VERSION >= 4 | ||
| 50 | # define _USE_32BIT_TIME_T | ||
| 51 | #endif | ||
| 52 | |||
| 27 | /* #undef const */ | 53 | /* #undef const */ |
| 28 | 54 | ||
| 29 | /* Number of chars of output in the buffer of a stdio stream. */ | 55 | /* Number of chars of output in the buffer of a stdio stream. */ |
diff --git a/src/ChangeLog b/src/ChangeLog index 74bb2a06cb9..b853f874e24 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,35 @@ | |||
| 1 | 2013-10-12 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * image.c (GIFLIB_MAJOR, GIFLIB_MINOR, GIFLIB_RELEASE): Move back | ||
| 4 | after inclusion of gif_lib.h, thus fixing compiler warnings caused | ||
| 5 | by 2013-10-10T19:15:33Z!eggert@cs.ucla.edu. | ||
| 6 | |||
| 7 | 2013-10-11 Eli Zaretskii <eliz@gnu.org> | ||
| 8 | |||
| 9 | * xdisp.c (deep_copy_glyph_row): Handle the case that FROM and TO | ||
| 10 | have different dimensions. (Bug#15575) | ||
| 11 | |||
| 12 | * dispnew.c (fill_up_frame_row_with_spaces): Now has external | ||
| 13 | visibility. | ||
| 14 | |||
| 15 | * dispextern.h (fill_up_frame_row_with_spaces): Add prototype. | ||
| 16 | |||
| 17 | 2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 18 | |||
| 19 | * term.c (tty_menu_show): Never return with unbalanced | ||
| 20 | specpdl. Use eassert for debugging check. Adjust style. | ||
| 21 | |||
| 22 | 2013-10-11 Eli Zaretskii <eliz@gnu.org> | ||
| 23 | |||
| 24 | * term.c (read_menu_input): Make selection of menu items | ||
| 25 | cyclical. Suggested by Dmitry Antipov <dmantipov@yandex.ru>. | ||
| 26 | (tty_menu_activate): Fix off-by-one error when computing max_y. | ||
| 27 | |||
| 28 | 2013-10-11 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 29 | |||
| 30 | * gnutls.c (gnutls_audit_log_function): Add function for GnuTLS | ||
| 31 | audit logging (only used with GnuTLS 3.x) and enable it. | ||
| 32 | |||
| 1 | 2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> | 33 | 2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 34 | ||
| 3 | * dispnew.c (redraw_frame): Remove useless #ifdef because | 35 | * dispnew.c (redraw_frame): Remove useless #ifdef because |
| @@ -2333,7 +2365,7 @@ | |||
| 2333 | * keyboard.c (Fdiscard_input): Do not increment update_mode_lines. | 2365 | * keyboard.c (Fdiscard_input): Do not increment update_mode_lines. |
| 2334 | * nsfns.m (x_set_cursor_type): | 2366 | * nsfns.m (x_set_cursor_type): |
| 2335 | * w32fns.c (x_set_cursor_type): | 2367 | * w32fns.c (x_set_cursor_type): |
| 2336 | * xfns.m (x_set_cursor_type): Do not set cursor_type_changed here... | 2368 | * xfns.c (x_set_cursor_type): Do not set cursor_type_changed here... |
| 2337 | * xdisp.c (set_frame_cursor_types): ...but in common code. | 2369 | * xdisp.c (set_frame_cursor_types): ...but in common code. |
| 2338 | 2370 | ||
| 2339 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> | 2371 | 2013-08-13 Dmitry Antipov <dmantipov@yandex.ru> |
diff --git a/src/dispextern.h b/src/dispextern.h index 10cd3169408..2d09fe7c5fe 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -3472,6 +3472,7 @@ void init_display (void); | |||
| 3472 | void syms_of_display (void); | 3472 | void syms_of_display (void); |
| 3473 | extern Lisp_Object Qredisplay_dont_pause; | 3473 | extern Lisp_Object Qredisplay_dont_pause; |
| 3474 | extern void spec_glyph_lookup_face (struct window *, GLYPH *); | 3474 | extern void spec_glyph_lookup_face (struct window *, GLYPH *); |
| 3475 | extern void fill_up_frame_row_with_spaces (struct glyph_row *, int); | ||
| 3475 | 3476 | ||
| 3476 | /* Defined in terminal.c */ | 3477 | /* Defined in terminal.c */ |
| 3477 | 3478 | ||
diff --git a/src/dispnew.c b/src/dispnew.c index d01de185332..3c0fda0b745 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -77,7 +77,6 @@ static int required_matrix_height (struct window *); | |||
| 77 | static int required_matrix_width (struct window *); | 77 | static int required_matrix_width (struct window *); |
| 78 | static void change_frame_size_1 (struct frame *, int, int, bool, bool, bool); | 78 | static void change_frame_size_1 (struct frame *, int, int, bool, bool, bool); |
| 79 | static void increment_row_positions (struct glyph_row *, ptrdiff_t, ptrdiff_t); | 79 | static void increment_row_positions (struct glyph_row *, ptrdiff_t, ptrdiff_t); |
| 80 | static void fill_up_frame_row_with_spaces (struct glyph_row *, int); | ||
| 81 | static void build_frame_matrix_from_window_tree (struct glyph_matrix *, | 80 | static void build_frame_matrix_from_window_tree (struct glyph_matrix *, |
| 82 | struct window *); | 81 | struct window *); |
| 83 | static void build_frame_matrix_from_leaf_window (struct glyph_matrix *, | 82 | static void build_frame_matrix_from_leaf_window (struct glyph_matrix *, |
| @@ -2503,7 +2502,7 @@ fill_up_glyph_row_area_with_spaces (struct glyph_row *row, int area) | |||
| 2503 | /* Add spaces to the end of ROW in a frame matrix until index UPTO is | 2502 | /* Add spaces to the end of ROW in a frame matrix until index UPTO is |
| 2504 | reached. In frame matrices only one area, TEXT_AREA, is used. */ | 2503 | reached. In frame matrices only one area, TEXT_AREA, is used. */ |
| 2505 | 2504 | ||
| 2506 | static void | 2505 | void |
| 2507 | fill_up_frame_row_with_spaces (struct glyph_row *row, int upto) | 2506 | fill_up_frame_row_with_spaces (struct glyph_row *row, int upto) |
| 2508 | { | 2507 | { |
| 2509 | int i = row->used[TEXT_AREA]; | 2508 | int i = row->used[TEXT_AREA]; |
diff --git a/src/gnutls.c b/src/gnutls.c index db0a6dac01c..2157d555053 100644 --- a/src/gnutls.c +++ b/src/gnutls.c | |||
| @@ -55,6 +55,7 @@ static Lisp_Object QCgnutls_bootprop_verify_hostname_error; | |||
| 55 | static Lisp_Object QCgnutls_bootprop_callbacks_verify; | 55 | static Lisp_Object QCgnutls_bootprop_callbacks_verify; |
| 56 | 56 | ||
| 57 | static void gnutls_log_function (int, const char *); | 57 | static void gnutls_log_function (int, const char *); |
| 58 | static void gnutls_audit_log_function (gnutls_session_t, const char *); | ||
| 58 | static void gnutls_log_function2 (int, const char*, const char*); | 59 | static void gnutls_log_function2 (int, const char*, const char*); |
| 59 | 60 | ||
| 60 | 61 | ||
| @@ -108,6 +109,9 @@ DEF_GNUTLS_FN (void, gnutls_dh_set_prime_bits, | |||
| 108 | DEF_GNUTLS_FN (int, gnutls_error_is_fatal, (int)); | 109 | DEF_GNUTLS_FN (int, gnutls_error_is_fatal, (int)); |
| 109 | DEF_GNUTLS_FN (int, gnutls_global_init, (void)); | 110 | DEF_GNUTLS_FN (int, gnutls_global_init, (void)); |
| 110 | DEF_GNUTLS_FN (void, gnutls_global_set_log_function, (gnutls_log_func)); | 111 | DEF_GNUTLS_FN (void, gnutls_global_set_log_function, (gnutls_log_func)); |
| 112 | #ifdef HAVE_GNUTLS3 | ||
| 113 | DEF_GNUTLS_FN (void, gnutls_global_set_audit_log_function, (gnutls_audit_log_func)); | ||
| 114 | #endif | ||
| 111 | DEF_GNUTLS_FN (void, gnutls_global_set_log_level, (int)); | 115 | DEF_GNUTLS_FN (void, gnutls_global_set_log_level, (int)); |
| 112 | DEF_GNUTLS_FN (void, gnutls_global_set_mem_functions, | 116 | DEF_GNUTLS_FN (void, gnutls_global_set_mem_functions, |
| 113 | (gnutls_alloc_function, gnutls_alloc_function, | 117 | (gnutls_alloc_function, gnutls_alloc_function, |
| @@ -173,6 +177,9 @@ init_gnutls_functions (void) | |||
| 173 | LOAD_GNUTLS_FN (library, gnutls_error_is_fatal); | 177 | LOAD_GNUTLS_FN (library, gnutls_error_is_fatal); |
| 174 | LOAD_GNUTLS_FN (library, gnutls_global_init); | 178 | LOAD_GNUTLS_FN (library, gnutls_global_init); |
| 175 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_function); | 179 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_function); |
| 180 | #ifdef HAVE_GNUTLS3 | ||
| 181 | LOAD_GNUTLS_FN (library, gnutls_global_set_audit_log_function); | ||
| 182 | #endif | ||
| 176 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_level); | 183 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_level); |
| 177 | LOAD_GNUTLS_FN (library, gnutls_global_set_mem_functions); | 184 | LOAD_GNUTLS_FN (library, gnutls_global_set_mem_functions); |
| 178 | LOAD_GNUTLS_FN (library, gnutls_handshake); | 185 | LOAD_GNUTLS_FN (library, gnutls_handshake); |
| @@ -230,6 +237,9 @@ init_gnutls_functions (void) | |||
| 230 | #define fn_gnutls_error_is_fatal gnutls_error_is_fatal | 237 | #define fn_gnutls_error_is_fatal gnutls_error_is_fatal |
| 231 | #define fn_gnutls_global_init gnutls_global_init | 238 | #define fn_gnutls_global_init gnutls_global_init |
| 232 | #define fn_gnutls_global_set_log_function gnutls_global_set_log_function | 239 | #define fn_gnutls_global_set_log_function gnutls_global_set_log_function |
| 240 | #ifdef HAVE_GNUTLS3 | ||
| 241 | #define fn_gnutls_global_set_audit_log_function gnutls_global_set_audit_log_function | ||
| 242 | #endif | ||
| 233 | #define fn_gnutls_global_set_log_level gnutls_global_set_log_level | 243 | #define fn_gnutls_global_set_log_level gnutls_global_set_log_level |
| 234 | #define fn_gnutls_global_set_mem_functions gnutls_global_set_mem_functions | 244 | #define fn_gnutls_global_set_mem_functions gnutls_global_set_mem_functions |
| 235 | #define fn_gnutls_handshake gnutls_handshake | 245 | #define fn_gnutls_handshake gnutls_handshake |
| @@ -249,6 +259,16 @@ init_gnutls_functions (void) | |||
| 249 | #endif /* !WINDOWSNT */ | 259 | #endif /* !WINDOWSNT */ |
| 250 | 260 | ||
| 251 | 261 | ||
| 262 | /* Function to log a simple audit message. */ | ||
| 263 | static void | ||
| 264 | gnutls_audit_log_function (gnutls_session_t session, const char* string) | ||
| 265 | { | ||
| 266 | if (global_gnutls_log_level >= 1) | ||
| 267 | { | ||
| 268 | message ("gnutls.c: [audit] %s", string); | ||
| 269 | } | ||
| 270 | } | ||
| 271 | |||
| 252 | /* Function to log a simple message. */ | 272 | /* Function to log a simple message. */ |
| 253 | static void | 273 | static void |
| 254 | gnutls_log_function (int level, const char* string) | 274 | gnutls_log_function (int level, const char* string) |
| @@ -797,6 +817,9 @@ one trustfile (usually a CA bundle). */) | |||
| 797 | if (TYPE_RANGED_INTEGERP (int, loglevel)) | 817 | if (TYPE_RANGED_INTEGERP (int, loglevel)) |
| 798 | { | 818 | { |
| 799 | fn_gnutls_global_set_log_function (gnutls_log_function); | 819 | fn_gnutls_global_set_log_function (gnutls_log_function); |
| 820 | #ifdef HAVE_GNUTLS3 | ||
| 821 | fn_gnutls_global_set_audit_log_function (gnutls_audit_log_function); | ||
| 822 | #endif | ||
| 800 | fn_gnutls_global_set_log_level (XINT (loglevel)); | 823 | fn_gnutls_global_set_log_level (XINT (loglevel)); |
| 801 | max_log_level = XINT (loglevel); | 824 | max_log_level = XINT (loglevel); |
| 802 | XPROCESS (proc)->gnutls_log_level = max_log_level; | 825 | XPROCESS (proc)->gnutls_log_level = max_log_level; |
diff --git a/src/image.c b/src/image.c index ca2ef67c0b9..bb3290a89f6 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -7203,21 +7203,8 @@ gif_image_p (Lisp_Object object) | |||
| 7203 | 7203 | ||
| 7204 | #ifdef HAVE_GIF | 7204 | #ifdef HAVE_GIF |
| 7205 | 7205 | ||
| 7206 | /* Giflib before 5.0 didn't define these macros. */ | ||
| 7207 | #ifndef GIFLIB_MAJOR | ||
| 7208 | #define GIFLIB_MAJOR 4 | ||
| 7209 | #endif | ||
| 7210 | |||
| 7211 | #if defined (HAVE_NTGUI) | 7206 | #if defined (HAVE_NTGUI) |
| 7212 | 7207 | ||
| 7213 | /* Giflib before 5.0 didn't define these macros (used only if HAVE_NTGUI). */ | ||
| 7214 | #ifndef GIFLIB_MINOR | ||
| 7215 | #define GIFLIB_MINOR 0 | ||
| 7216 | #endif | ||
| 7217 | #ifndef GIFLIB_RELEASE | ||
| 7218 | #define GIFLIB_RELEASE 0 | ||
| 7219 | #endif | ||
| 7220 | |||
| 7221 | /* winuser.h might define DrawText to DrawTextA or DrawTextW. | 7208 | /* winuser.h might define DrawText to DrawTextA or DrawTextW. |
| 7222 | Undefine before redefining to avoid a preprocessor warning. */ | 7209 | Undefine before redefining to avoid a preprocessor warning. */ |
| 7223 | #ifdef DrawText | 7210 | #ifdef DrawText |
| @@ -7228,12 +7215,25 @@ gif_image_p (Lisp_Object object) | |||
| 7228 | #include <gif_lib.h> | 7215 | #include <gif_lib.h> |
| 7229 | #undef DrawText | 7216 | #undef DrawText |
| 7230 | 7217 | ||
| 7218 | /* Giflib before 5.0 didn't define these macros (used only if HAVE_NTGUI). */ | ||
| 7219 | #ifndef GIFLIB_MINOR | ||
| 7220 | #define GIFLIB_MINOR 0 | ||
| 7221 | #endif | ||
| 7222 | #ifndef GIFLIB_RELEASE | ||
| 7223 | #define GIFLIB_RELEASE 0 | ||
| 7224 | #endif | ||
| 7225 | |||
| 7231 | #else /* HAVE_NTGUI */ | 7226 | #else /* HAVE_NTGUI */ |
| 7232 | 7227 | ||
| 7233 | #include <gif_lib.h> | 7228 | #include <gif_lib.h> |
| 7234 | 7229 | ||
| 7235 | #endif /* HAVE_NTGUI */ | 7230 | #endif /* HAVE_NTGUI */ |
| 7236 | 7231 | ||
| 7232 | /* Giflib before 5.0 didn't define these macros. */ | ||
| 7233 | #ifndef GIFLIB_MAJOR | ||
| 7234 | #define GIFLIB_MAJOR 4 | ||
| 7235 | #endif | ||
| 7236 | |||
| 7237 | #ifdef WINDOWSNT | 7237 | #ifdef WINDOWSNT |
| 7238 | 7238 | ||
| 7239 | /* GIF library details. */ | 7239 | /* GIF library details. */ |
diff --git a/src/term.c b/src/term.c index 27471775d03..b946480cd0c 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -3177,11 +3177,15 @@ read_menu_input (struct frame *sf, int *x, int *y, int min_y, int max_y, | |||
| 3177 | { | 3177 | { |
| 3178 | if (*y < max_y) | 3178 | if (*y < max_y) |
| 3179 | *y += 1; | 3179 | *y += 1; |
| 3180 | else | ||
| 3181 | *y = min_y; | ||
| 3180 | } | 3182 | } |
| 3181 | else if (EQ (cmd, Qtty_menu_prev_item)) | 3183 | else if (EQ (cmd, Qtty_menu_prev_item)) |
| 3182 | { | 3184 | { |
| 3183 | if (*y > min_y) | 3185 | if (*y > min_y) |
| 3184 | *y -= 1; | 3186 | *y -= 1; |
| 3187 | else | ||
| 3188 | *y = max_y; | ||
| 3185 | } | 3189 | } |
| 3186 | else if (EQ (cmd, Qtty_menu_select)) | 3190 | else if (EQ (cmd, Qtty_menu_select)) |
| 3187 | st = 1; | 3191 | st = 1; |
| @@ -3290,7 +3294,7 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx, | |||
| 3290 | { | 3294 | { |
| 3291 | int input_status; | 3295 | int input_status; |
| 3292 | int min_y = state[0].y; | 3296 | int min_y = state[0].y; |
| 3293 | int max_y = min (min_y + state[0].menu->count, FRAME_LINES (sf)) - 1; | 3297 | int max_y = min (min_y + state[0].menu->count, FRAME_LINES (sf) - 1) - 1; |
| 3294 | 3298 | ||
| 3295 | input_status = read_menu_input (sf, &x, &y, min_y, max_y, &first_time); | 3299 | input_status = read_menu_input (sf, &x, &y, min_y, max_y, &first_time); |
| 3296 | if (input_status) | 3300 | if (input_status) |
| @@ -3557,10 +3561,9 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, | |||
| 3557 | int dispwidth, dispheight; | 3561 | int dispwidth, dispheight; |
| 3558 | int i, j, lines, maxlines; | 3562 | int i, j, lines, maxlines; |
| 3559 | int maxwidth; | 3563 | int maxwidth; |
| 3560 | ptrdiff_t specpdl_count = SPECPDL_INDEX (); | 3564 | ptrdiff_t specpdl_count; |
| 3561 | 3565 | ||
| 3562 | if (! FRAME_TERMCAP_P (f)) | 3566 | eassert (FRAME_TERMCAP_P (f)); |
| 3563 | emacs_abort (); | ||
| 3564 | 3567 | ||
| 3565 | *error_name = 0; | 3568 | *error_name = 0; |
| 3566 | if (menu_items_n_panes == 0) | 3569 | if (menu_items_n_panes == 0) |
| @@ -3582,7 +3585,7 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, | |||
| 3582 | 3585 | ||
| 3583 | /* Don't GC while we prepare and show the menu, because we give the | 3586 | /* Don't GC while we prepare and show the menu, because we give the |
| 3584 | menu functions pointers to the contents of strings. */ | 3587 | menu functions pointers to the contents of strings. */ |
| 3585 | inhibit_garbage_collection (); | 3588 | specpdl_count = inhibit_garbage_collection (); |
| 3586 | 3589 | ||
| 3587 | /* Adjust coordinates to be root-window-relative. */ | 3590 | /* Adjust coordinates to be root-window-relative. */ |
| 3588 | item_x = x += f->left_pos; | 3591 | item_x = x += f->left_pos; |
| @@ -3613,7 +3616,8 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, | |||
| 3613 | { | 3616 | { |
| 3614 | tty_menu_destroy (menu); | 3617 | tty_menu_destroy (menu); |
| 3615 | *error_name = "Can't create pane"; | 3618 | *error_name = "Can't create pane"; |
| 3616 | return Qnil; | 3619 | entry = Qnil; |
| 3620 | goto tty_menu_end; | ||
| 3617 | } | 3621 | } |
| 3618 | i += MENU_ITEMS_PANE_LENGTH; | 3622 | i += MENU_ITEMS_PANE_LENGTH; |
| 3619 | 3623 | ||
| @@ -3675,7 +3679,8 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, | |||
| 3675 | { | 3679 | { |
| 3676 | tty_menu_destroy (menu); | 3680 | tty_menu_destroy (menu); |
| 3677 | *error_name = "Can't add selection to menu"; | 3681 | *error_name = "Can't add selection to menu"; |
| 3678 | return Qnil; | 3682 | entry = Qnil; |
| 3683 | goto tty_menu_end; | ||
| 3679 | } | 3684 | } |
| 3680 | i += MENU_ITEMS_ITEM_LENGTH; | 3685 | i += MENU_ITEMS_ITEM_LENGTH; |
| 3681 | lines++; | 3686 | lines++; |
| @@ -3692,12 +3697,12 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, | |||
| 3692 | x = max (x, 1); | 3697 | x = max (x, 1); |
| 3693 | y = max (y, 1); | 3698 | y = max (y, 1); |
| 3694 | tty_menu_locate (menu, x, y, &ulx, &uly, &width, &height); | 3699 | tty_menu_locate (menu, x, y, &ulx, &uly, &width, &height); |
| 3695 | if (ulx+width > dispwidth) | 3700 | if (ulx + width > dispwidth) |
| 3696 | { | 3701 | { |
| 3697 | x -= (ulx + width) - dispwidth; | 3702 | x -= (ulx + width) - dispwidth; |
| 3698 | ulx = dispwidth - width; | 3703 | ulx = dispwidth - width; |
| 3699 | } | 3704 | } |
| 3700 | if (uly+height > dispheight) | 3705 | if (uly + height > dispheight) |
| 3701 | { | 3706 | { |
| 3702 | y -= (uly + height) - dispheight; | 3707 | y -= (uly + height) - dispheight; |
| 3703 | uly = dispheight - height; | 3708 | uly = dispheight - height; |
| @@ -3803,8 +3808,9 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, | |||
| 3803 | break; | 3808 | break; |
| 3804 | } | 3809 | } |
| 3805 | 3810 | ||
| 3806 | unbind_to (specpdl_count, Qnil); | 3811 | tty_menu_end: |
| 3807 | 3812 | ||
| 3813 | unbind_to (specpdl_count, Qnil); | ||
| 3808 | return entry; | 3814 | return entry; |
| 3809 | } | 3815 | } |
| 3810 | 3816 | ||
diff --git a/src/xdisp.c b/src/xdisp.c index 7cfb0ab51ad..033d3b47147 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -20590,10 +20590,10 @@ static void | |||
| 20590 | deep_copy_glyph_row (struct glyph_row *to, struct glyph_row *from) | 20590 | deep_copy_glyph_row (struct glyph_row *to, struct glyph_row *from) |
| 20591 | { | 20591 | { |
| 20592 | struct glyph *pointers[1 + LAST_AREA]; | 20592 | struct glyph *pointers[1 + LAST_AREA]; |
| 20593 | int to_used = to->used[TEXT_AREA]; | ||
| 20593 | 20594 | ||
| 20594 | /* Save glyph pointers of TO. */ | 20595 | /* Save glyph pointers of TO. */ |
| 20595 | memcpy (pointers, to->glyphs, sizeof to->glyphs); | 20596 | memcpy (pointers, to->glyphs, sizeof to->glyphs); |
| 20596 | eassert (to->used[TEXT_AREA] == from->used[TEXT_AREA]); | ||
| 20597 | 20597 | ||
| 20598 | /* Do a structure assignment. */ | 20598 | /* Do a structure assignment. */ |
| 20599 | *to = *from; | 20599 | *to = *from; |
| @@ -20603,7 +20603,12 @@ deep_copy_glyph_row (struct glyph_row *to, struct glyph_row *from) | |||
| 20603 | 20603 | ||
| 20604 | /* Copy the glyphs. */ | 20604 | /* Copy the glyphs. */ |
| 20605 | memcpy (to->glyphs[TEXT_AREA], from->glyphs[TEXT_AREA], | 20605 | memcpy (to->glyphs[TEXT_AREA], from->glyphs[TEXT_AREA], |
| 20606 | from->used[TEXT_AREA] * sizeof (struct glyph)); | 20606 | min (from->used[TEXT_AREA], to_used) * sizeof (struct glyph)); |
| 20607 | |||
| 20608 | /* If we filled only part of the TO row, fill the rest with | ||
| 20609 | space_glyph (which will display as empty space). */ | ||
| 20610 | if (to_used > from->used[TEXT_AREA]) | ||
| 20611 | fill_up_frame_row_with_spaces (to, to_used); | ||
| 20607 | } | 20612 | } |
| 20608 | 20613 | ||
| 20609 | /* Display one menu item on a TTY, by overwriting the glyphs in the | 20614 | /* Display one menu item on a TTY, by overwriting the glyphs in the |
diff --git a/test/ChangeLog b/test/ChangeLog index ce3cdd2f1e3..7e8405e3676 100644 --- a/test/ChangeLog +++ b/test/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2013-10-11 Dmitry Gutov <dgutov@yandex.ru> | ||
| 2 | |||
| 3 | * indent/ruby.rb: Add two more cases. | ||
| 4 | |||
| 1 | 2013-10-10 Stefan Monnier <monnier@iro.umontreal.ca> | 5 | 2013-10-10 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 6 | ||
| 3 | * automated/ruby-mode-tests.el (ruby-with-temp-buffer): Move before | 7 | * automated/ruby-mode-tests.el (ruby-with-temp-buffer): Move before |
| @@ -145,7 +149,7 @@ | |||
| 145 | 149 | ||
| 146 | 2013-08-28 Paul Eggert <eggert@cs.ucla.edu> | 150 | 2013-08-28 Paul Eggert <eggert@cs.ucla.edu> |
| 147 | 151 | ||
| 148 | * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, | 152 | * automated/Makefile.in (SHELL): Now @SHELL@, not /bin/sh, |
| 149 | for portability to hosts where /bin/sh has problems. | 153 | for portability to hosts where /bin/sh has problems. |
| 150 | 154 | ||
| 151 | 2013-08-21 David Engster <deng@randomsample.de> | 155 | 2013-08-21 David Engster <deng@randomsample.de> |
| @@ -551,7 +555,7 @@ | |||
| 551 | 555 | ||
| 552 | 2012-12-14 Dmitry Gutov <dgutov@yandex.ru> | 556 | 2012-12-14 Dmitry Gutov <dgutov@yandex.ru> |
| 553 | 557 | ||
| 554 | * automated/ruby-mode-tests.el | 558 | * automated/ruby-mode-tests.el: |
| 555 | Rename one interpolation test; add three more. | 559 | Rename one interpolation test; add three more. |
| 556 | (ruby-with-temp-buffer): New macro, use it where appropriate. | 560 | (ruby-with-temp-buffer): New macro, use it where appropriate. |
| 557 | (ruby-add-log-current-method-examples): Use "_" for target point. | 561 | (ruby-add-log-current-method-examples): Use "_" for target point. |
diff --git a/test/indent/ruby.rb b/test/indent/ruby.rb index b280ec93ce2..67584c01c7a 100644 --- a/test/indent/ruby.rb +++ b/test/indent/ruby.rb | |||
| @@ -163,3 +163,14 @@ foo + | |||
| 163 | foo = [1, 2, 3].map do |i| | 163 | foo = [1, 2, 3].map do |i| |
| 164 | i + 1 | 164 | i + 1 |
| 165 | end | 165 | end |
| 166 | |||
| 167 | foo_bar_tee(1, 2, 3) | ||
| 168 | .qux | ||
| 169 | |||
| 170 | if foo && | ||
| 171 | bar | ||
| 172 | end | ||
| 173 | |||
| 174 | method1 arg1, # bug#15594 | ||
| 175 | method2 arg2, | ||
| 176 | arg3 | ||