diff options
author | Kenichi Handa <handa@gnu.org> | 2013-10-13 20:55:00 +0900 |
---|---|---|
committer | Kenichi Handa <handa@gnu.org> | 2013-10-13 20:55:00 +0900 |
commit | 70c8ae6ebdad9265f793b91bc056204e0833682b (patch) | |
tree | 464b1c03544f36da75b8a42ad8f3c8b1f7cfc9e2 | |
parent | 85b64f021c189466eec8036df2996af409714666 (diff) | |
parent | fc7f501bc04f23af297fda7b6cb17df493b59397 (diff) | |
download | emacs-70c8ae6ebdad9265f793b91bc056204e0833682b.tar.gz |
merge trunk
46 files changed, 538 insertions, 183 deletions
diff --git a/ChangeLog b/ChangeLog index 6b783060bf9..55e987d4e3a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2013-10-12 Paul Eggert <eggert@cs.ucla.edu> + + Merge from gnulib, incorporating: + 2013-10-10 strtoumax: port to Solaris 8 + 2013-10-09 strtoimax, strtoumax: port to HP-UX 11.11 + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + * lib/inttypes.in.h, lib/strtoimax.c, m4/inttypes.m4, m4/strtoimax.m4: + * m4/strtoumax.m4: + Update from gnulib. + +2013-10-11 Stefan Monnier <monnier@iro.umontreal.ca> + + * configure.ac (LIBGNUTLS): Don't set LIBGNUTLS_* back to the empty + string when gnutls2 is installed but gnutls3 is not. + +2013-10-11 Teodor Zlatanov <tzz@lifelogs.com> + + * configure.ac: Define HAVE_GNUTLS3 if GnuTLS v3 is found. + 2013-10-10 Barry Fishman <barry_fishman@acm.org> (tiny change) * 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/>. */ /* Define if using GnuTLS. */ #undef HAVE_GNUTLS +/* Define if using GnuTLS v3. */ +#undef HAVE_GNUTLS3 + /* Define to 1 if you have the gpm library (-lgpm). */ #undef HAVE_GPM diff --git a/autogen/configure b/autogen/configure index d57fae081f3..ef21aa8cab2 100755 --- a/autogen/configure +++ b/autogen/configure @@ -12253,11 +12253,69 @@ fi HAVE_GNUTLS=no +HAVE_GNUTLS3=no if test "${with_gnutls}" = "yes" ; then succeeded=no if test "$PKG_CONFIG" = "no" ; then + HAVE_GNUTLS3=no + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls >= 3.0.0" >&5 +$as_echo_n "checking for gnutls >= 3.0.0... " >&6; } + + if "$PKG_CONFIG" --exists "gnutls >= 3.0.0" 2>&5 && + LIBGNUTLS_CFLAGS=`"$PKG_CONFIG" --cflags "gnutls >= 3.0.0" 2>&5` && + LIBGNUTLS_LIBS=`"$PKG_CONFIG" --libs "gnutls >= 3.0.0" 2>&5`; then + edit_cflags=" + s,///*,/,g + s/^/ / + s/ -I/ $isystem/g + s/^ // + " + LIBGNUTLS_CFLAGS=`$as_echo "$LIBGNUTLS_CFLAGS" | sed -e "$edit_cflags"` + LIBGNUTLS_LIBS=`$as_echo "$LIBGNUTLS_LIBS" | sed -e 's,///*,/,g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes CFLAGS='$LIBGNUTLS_CFLAGS' LIBS='$LIBGNUTLS_LIBS'" >&5 +$as_echo "yes CFLAGS='$LIBGNUTLS_CFLAGS' LIBS='$LIBGNUTLS_LIBS'" >&6; } + succeeded=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + LIBGNUTLS_CFLAGS="" + LIBGNUTLS_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. Do it in a subshell + ## to capture any diagnostics in invoking pkg-config. + LIBGNUTLS_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "gnutls >= 3.0.0") 2>&1` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + HAVE_GNUTLS3=yes + else + HAVE_GNUTLS3=no + fi + + if test "${HAVE_GNUTLS3}" = "yes"; then + +$as_echo "#define HAVE_GNUTLS3 1" >>confdefs.h + + HAVE_GNUTLS="yes" + else + + succeeded=no + + if test "$PKG_CONFIG" = "no" ; then HAVE_GNUTLS=no else PKG_CONFIG_MIN_VERSION=0.9.0 @@ -12305,6 +12363,7 @@ $as_echo "no" >&6; } HAVE_GNUTLS=no fi + fi if test "${HAVE_GNUTLS}" = "yes"; then $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 AC_SUBST(LIBSELINUX_LIBS) HAVE_GNUTLS=no +HAVE_GNUTLS3=no if test "${with_gnutls}" = "yes" ; then - PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.6.6], HAVE_GNUTLS=yes, HAVE_GNUTLS=no) + PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.0.0], HAVE_GNUTLS3=yes, HAVE_GNUTLS3=no) + if test "${HAVE_GNUTLS3}" = "yes"; then + AC_DEFINE(HAVE_GNUTLS3, 1, [Define if using GnuTLS v3.]) + HAVE_GNUTLS="yes" + else + PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.6.6], HAVE_GNUTLS=yes, HAVE_GNUTLS=no) + fi if test "${HAVE_GNUTLS}" = "yes"; then AC_DEFINE(HAVE_GNUTLS, 1, [Define if using GnuTLS.]) 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 @@ +2013-10-13 Glenn Morris <rgm@gnu.org> + + * display.texi (Text Scale): Update text-scale-adjust details. + + * ack.texi (Acknowledgments): + * emacs.texi (Acknowledgments): Use accented form of some names. + 2013-10-08 Eli Zaretskii <eliz@gnu.org> * 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 @item Alexander L. Belikoff, Sergey Berezin, Sacha Chua, David Edmondson, Noah Friedman, Andreas Fuchs, Mario Lang, Ben Mesander, Lawrence -Mitchell, Gergely Nagy, Michael Olson, Per Persson, Jorgen Schaefer, +Mitchell, Gergely Nagy, Michael Olson, Per Persson, Jorgen Schäfer, Alex Schroeder, and Tom Tromey wrote ERC, an advanced Internet Relay Chat client (for more information, see the file @file{CREDITS} in the ERC distribution). @@ -276,7 +276,7 @@ over maintainership. Benjamin Andresen, Thomas Baumann, Joel Boehland, Jan Böc Borgman, Baoqiu Cui, Dan Davison, Christian Egli, Eric S. Fraga, Daniel German, Chris Gray, Konrad Hinsen, Tassilo Horn, Philip Jackson, Martyn Jago, Thorsten Jolitz, Jambunathan K, Tokuya Kameshima, Sergey Litvinov, David Maus, Ross Patterson, Juan Pechiar, Sebastian Rose, Eric Schulte, Paul Sexton, Ulf Stegemann, Andy Stewart, Christopher Suckling, David O'Toole, John Wiegley, Zhang Weize, -Piotr Zielinski, and others also wrote various Org mode components. +Piotr Zieliński, and others also wrote various Org mode components. For more information, @pxref{History and Acknowledgments,,, org, The Org Manual}. @item @@ -819,7 +819,7 @@ used in mail messages and news articles; and @file{terminal.el}, a terminal emulator for Emacs subprocesses. @item -Gerd Moellmann was the Emacs maintainer from the beginning of Emacs 21 +Gerd Möllmann was the Emacs maintainer from the beginning of Emacs 21 development until the release of 21.1. He wrote the new display engine used from Emacs 21 onwards, and the asynchronous timers 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 structures. @item -Francesco A. Potorti wrote @file{cmacexp.el}, providing a command which +Francesco A. Potortì wrote @file{cmacexp.el}, providing a command which runs the C preprocessor on a region of a file and displays the results. He also expanded and redesigned the @code{etags} program. @@ -1099,8 +1099,9 @@ Ronald S. Schnell wrote @file{dunnet.el}, a text adventure game. Philippe Schnoebelen wrote @file{gomoku.el}, a Go Moku game played against Emacs; and @file{mpuz.el}, a multiplication puzzle. +@c FIXME files no longer included; but see bug 15601. @item -Rainer Schoepf contributed to Alpha and OSF1 support. +Rainer Schöpf contributed to Alpha and OSF1 support. @item 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. @kbd{C-x}. For instance, @kbd{C-x C-= C-= C-=} increases the face height by three steps. Each step scales the text height by a factor of 1.2; to change this factor, customize the variable -@code{text-scale-mode-step}. As an exception, a numeric argument of 0 +@code{text-scale-mode-step}. A numeric argument of 0 to the @code{text-scale-adjust} command restores the default height, -similar to typing @kbd{C-x C-0}. +the same as typing @kbd{C-x C-0}. @cindex increase buffer face height @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, Brian Marick, Simon Marshall, Bengt Martensson, Charlie Martin, Yukihiro Matsumoto, Tomohiro Matsuyama, David Maus, Thomas May, Will Mengarini, David Megginson, Stefan Merten, Ben A. Mesander, Wayne Mesard, Brad -Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Moellmann, Stefan +Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Möllmann, Stefan Monnier, Keith Moore, Jan Moringen, Morioka Tomohiko, Glenn Morris, Don Morrison, Diane Murray, Riccardo Murri, Sen Nagata, Erik Naggum, Gergely Nagy, Nobuyoshi Nakada, Thomas Neumann, Mike Newton, Thien-Thi Nguyen, -Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Niksic, Jeff Norden, +Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Nikšić, Jeff Norden, Andrew Norman, Edward O'Connor, Kentaro Ohkouchi, Christian Ohler, Kenichi Okada, Alexandre Oliva, Bob Olson, Michael Olson, Takaaki Ota, Pieter E. J. Pareit, Ross Patterson, David Pearson, Juan Pechiar, Jeff Peck, Damon Anton Permezel, Tom Perrine, William M. Perry, Per Persson, Jens Petersen, Daniel Pfeiffer, Justus Piater, Richard L. Pieri, Fred Pierresteguy, François Pinard, Daniel Pittman, Christian -Plaunt, Alexander Pohoyda, David Ponce, Francesco A. Potorti, +Plaunt, Alexander Pohoyda, David Ponce, Francesco A. Potortì, Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, David Reitter, Alex Rezinsky, Rob Riepel, Lara Rios, Adrian Robert, Nick @@ -1435,10 +1435,10 @@ Roberts, Roland B. Roberts, John Robinson, Denis B. Roegel, Danny Roozendaal, Sebastian Rose, William Rosenblatt, Markus Rost, Guillermo J. Rozas, Martin Rudalics, Ivar Rummelhoff, Jason Rumney, Wolfgang Rupprecht, Benjamin Rutt, Kevin Ryde, James B. Salem, Masahiko Sato, -Timo Savola, Jorgen Schaefer, Holger Schauer, William Schelter, Ralph +Timo Savola, Jorgen Schäfer, Holger Schauer, William Schelter, Ralph Schleicher, Gregor Schmid, Michael Schmidt, Ronald S. Schnell, Philippe Schnoebelen, Jan Schormann, Alex Schroeder, Stefan Schoef, -Rainer Schoepf, Raymond Scholz, Eric Schulte, Andreas Schwab, Randal +Rainer Schöpf, Raymond Scholz, Eric Schulte, Andreas Schwab, Randal Schwartz, Oliver Seidel, Manuel Serrano, Paul Sexton, Hovav Shacham, Stanislav Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Tibor Šimko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith, @@ -1460,7 +1460,7 @@ Wohler, Steven A. Wood, Dale R. Worley, Francis J. Wright, Felix S. T. Wu, Tom Wurgler, Yamamoto Mitsuharu, Katsumi Yamaoka, Masatake Yamato, Jonathan Yavner, Ryan Yeske, Ilya Zakharevich, Milan Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, Andrew Zhilin, -Shenghuo Zhu, Piotr Zielinski, Ian T. Zimmermann, Reto Zimmermann, +Shenghuo Zhu, Piotr Zieliński, Ian T. Zimmermann, Reto Zimmermann, Neal Ziring, Teodor Zlatanov, and Detlev Zundel. @end iftex 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 @@ +2013-10-13 Glenn Morris <rgm@gnu.org> + + * intro.texi (Acknowledgments): Use accented form of some names. + 2013-10-09 Glenn Morris <rgm@gnu.org> * 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 Harder, George Hartzell, Nathan Hess, Masayuki Ida, Dan Jacobson, Jak Kirman, Bob Knighten, Frederick M. Korz, Joe Lammens, Glenn M. Lewis, K. Richard Magill, Brian Marick, Roland McGrath, Stefan Monnier, Skip -Montanaro, John Gardiner Myers, Thomas A. Peterson, Francesco Potorti, +Montanaro, John Gardiner Myers, Thomas A. Peterson, Francesco Potortì, Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney, Per Starbäck, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill 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 additional elements on the mode line (e.g., a clock), you should modify this variable: -@c Hook written by Francesco Potorti` <pot@cnuce.cnr.it> +@c Hook written by Francesco Potortì <pot@cnuce.cnr.it> @lisp (add-hook 'display-time-hook (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 -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ + -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ -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 - " #endif #if @GNULIB_STRTOUMAX@ -# if !@HAVE_DECL_STRTOUMAX@ -# undef strtoumax +# if @REPLACE_STRTOUMAX@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef strtoumax +# define strtoumax rpl_strtoumax +# endif +_GL_FUNCDECL_RPL (strtoumax, uintmax_t, + (const char *, char **, int) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtoumax, uintmax_t, (const char *, char **, int)); +# else +# if !@HAVE_DECL_STRTOUMAX@ +# undef strtoumax _GL_FUNCDECL_SYS (strtoumax, uintmax_t, (const char *, char **, int) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int)); +# endif _GL_CXXALIASWARN (strtoumax); #elif defined GNULIB_POSIXCHECK # 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); #ifdef UNSIGNED # define Have_long_long HAVE_UNSIGNED_LONG_LONG_INT # define Int uintmax_t +# define Strtoimax strtoumax +# define Strtol strtoul +# define Strtoll strtoull # define Unsigned unsigned -# define strtoimax strtoumax -# define strtol strtoul -# define strtoll strtoull #else # define Have_long_long HAVE_LONG_LONG_INT # define Int intmax_t +# define Strtoimax strtoimax +# define Strtol strtol +# define Strtoll strtoll # define Unsigned #endif Int -strtoimax (char const *ptr, char **endptr, int base) +Strtoimax (char const *ptr, char **endptr, int base) { #if Have_long_long verify (sizeof (Int) == sizeof (Unsigned long int) || sizeof (Int) == sizeof (Unsigned long long int)); if (sizeof (Int) != sizeof (Unsigned long int)) - return strtoll (ptr, endptr, base); + return Strtoll (ptr, endptr, base); #else verify (sizeof (Int) == sizeof (Unsigned long int)); #endif - return strtol (ptr, endptr, base); + return Strtol (ptr, endptr, base); } diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f4508b7bbce..1abd0482ec6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -4,6 +4,42 @@ superfluous condition in chekcing whether a coding system is safe or not. +2013-10-13 Oleh Krehel <ohwoeowho@gmail.com> + + * replace.el (how-many): Fix rstart and !rend case. (Bug#15589) + +2013-10-13 Andreas Politz <politza@hochschule-trier.de> + + * progmodes/sql.el (sql-add-product): Fix paren typo. (Bug#15435) + +2013-10-13 Glenn Morris <rgm@gnu.org> + + * menu-bar.el (menu-bar-update-buffers): + Unify Buffers menu prompt string. (Bug#15576) + + * face-remap.el (text-scale-adjust): Doc fix. (Bug#15434) + + * emacs-lisp/authors.el (authors-aliases, authors-ignored-files): + Add some entries. + (authors-fixed-entries): Use accented form of name. + +2013-10-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * progmodes/ruby-mode.el (ruby-smie-grammar): Add rule for paren-free + method calls (bug#bug#15594). + (ruby-smie--args-separator-p): New function. + (ruby-smie--forward-token, ruby-smie--backward-token): Use it to + recognize paren-free method calls. + + * isearch.el (isearch-pre-command-hook): Don't build in knowledge about + internals of universal-argument. + +2013-10-11 Eli Zaretskii <eliz@gnu.org> + + * menu-bar.el (tty-menu-navigation-map): Remap F10 to tty-menu-exit. + Bind all menu-bar sequences to tty-menu-exit -- this pops down a + dropped menu on second mouse click on the menu bar. + 2013-10-11 Stefan Monnier <monnier@iro.umontreal.ca> * progmodes/sh-script.el: Provide simpl(e|istic) completion. @@ -3212,7 +3248,7 @@ 2013-07-23 Michael R. Mauger <michael@mauger.com> - * progmodes/sql.el Version 3.3 + * progmodes/sql.el: Version 3.3 (sql-product-alist): Improve oracle :prompt-cont-regexp. (sql-starts-with-prompt-re, sql-ends-with-prompt-re): New functions. (sql-interactive-remove-continuation-prompt): Rewrite, use @@ -8424,7 +8460,7 @@ 2013-03-14 Tassilo Horn <tsdh@gnu.org> - * doc-view.el Fix bug#13887. + * doc-view.el: Fix bug#13887. (doc-view-insert-image): Don't modify overlay associated to non-live windows, and implement horizontal centering of image in 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 @@ 2013-03-11 Michael R. Mauger <michael@mauger.com> - * progmodes/sql.el Version 3.2 + * progmodes/sql.el: Version 3.2 Please note that my address changed to <michael@mauger.com>; the <mmaug@yahoo.com> address remains active. (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 @@ ;; f89-kam@nada.kth.se (Klas Mellbourn) for a mh-e tip. ;; kifer@sbkifer.cs.sunysb.edu (M. Kifer) for a bug hunt. ;; treese@lcs.mit.edu (Win Treese) for ange-ftp tips. -;; pot@cnuce.cnr.it (Francesco Potorti`) for misc. tips. +;; pot@cnuce.cnr.it (Francesco Potortì) for misc. tips. ;; --------------------------------------------------------------------------- ;; TODO: ;; @@ -1467,3 +1467,7 @@ If there are no buffers left to create, kill the timer." (provide 'desktop) ;;; desktop.el ends here + +;; Local Variables: +;; coding: utf-8 +;; 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.") ("John J Foerch" "John Foerch") ("John W. Eaton" "John Eaton") ("Jonathan I. Kamens" "Jonathan Kamens") + ("Jorgen Schäfer" "Jorgen Schaefer") ("Joseph Arceneaux" "Joe Arceneaux") ("Joseph M. Kelsey" "Joe Kelsey") ; FIXME ? ("Juan León Lahoz García" "Juan-Leon Lahoz Garcia") @@ -145,6 +146,8 @@ files.") ("Peter S. Galbraith" "Peter Galbraith") ("Peter Runestig" "Peter 'luna' Runestig") ("Peter S. Galbraith" "Peter S Galbraith") + ("Piotr Zieliński" "Piotr Zielinski") + ("Rainer Schöpf" "Rainer Schoepf") ("Raja R. Harinath" "Raja R Harinath") ("Richard G. Bielawski" "Richard G Bielawski" "Richard Bielawski") ("Richard King" "Dick King") @@ -297,7 +300,7 @@ Changes to files matching one of the regexps in this list are not listed.") "NICKLES.WORTH" "INTERVAL.IDEAS" "RCP" "3B-MAXMEM" "AIX.DUMP" "SUN-SUPPORT" "XENIX" "CODINGS" "CHARSETS" - "calc/INSTALL" "calc/Makefile" + "calc/INSTALL" "calc/Makefile" "calc/README.prev" "vms-pp.trans" "_emacs" "batcomp.com" "notes/cpp" ; admin/ "emacsver.texi.in" "vpath.sed" @@ -334,6 +337,15 @@ Changes to files matching one of the regexps in this list are not listed.") "debian/scripts/startup" "debian/scripts/startup.erc" "debian/scripts/startup.erc-speak" + ;; Used to be in admin, not very interesting. + "emacs-pretesters" "make-announcement" "make-changelog-diff" + ;; Generated files that have since been removed. + "refcards/calccard.pdf" "refcards/cs-dired-ref.pdf" "refcards/cs-refcard.pdf" + "refcards/de-refcard.pdf" "refcards/dired-ref.pdf" "refcards/fr-dired-ref.pdf" + "refcards/fr-refcard.pdf" "refcards/gnus-booklet.pdf" "refcards/gnus-refcard.pdf" + "refcards/orgcard.pdf" "refcards/pl-refcard.pdf" "refcards/pt-br-refcard.pdf" + "refcards/refcard.pdf" "refcards/ru-refcard.pdf" "refcards/sk-dired-ref.pdf" + "refcards/sk-refcard.pdf" ) "List of files and directories to ignore. Changes to files in this list are not listed.") @@ -506,7 +518,8 @@ Changes to files in this list are not listed.") ("Schlumberger Technology Corporation" :changed "gud.el") ;; Replaced by tcl.el. ;;; ("Gregor Schmid" :wrote "tcl-mode.el") - ("Rainer Schoepf" :wrote "alpha.h" "unexalpha.c") + ;; FIXME files no longer included; but see bug 15601 + ("Rainer Schöpf" :wrote "alpha.h" "unexalpha.c") ;; No longer distributed: emacsserver.c. ("William Sommerfeld" :wrote "emacsclient.c" "scribe.el") ;; 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 @@ ;; ;; emacs -batch -f list-load-path-shadows ;; -;; Thanks to Francesco Potorti` <pot@cnuce.cnr.it> for suggestions, +;; Thanks to Francesco Potortì <pot@cnuce.cnr.it> for suggestions, ;; rewritings & speedups. ;;; Code: @@ -284,3 +284,7 @@ version unless you know what you are doing.\n") (provide 'shadow) ;;; shadow.el ends here + +;; Local Variables: +;; coding: utf-8 +;; 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: - Decrease the default face height by one step 0 Reset the default face height to the global default -When adjusting with `+' or `-', continue to read input events and -further adjust the face height as long as the input event read -\(with all modifiers removed) is `+' or `-'. - -When adjusting with `0', immediately finish. +After adjusting, continue to read input events and further adjust +the face height as long as the input event read +\(with all modifiers removed) is one of the above characters. Each step scales the height of the default face by the variable `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 @@ 2013-02-25 Adam Sjøgren <asjo@koldfront.dk> - * mml2015-el (mml2015-epg-key-image): Wrap epg-gpg-program in + * mml2015.el (mml2015-epg-key-image): Wrap epg-gpg-program in shell-quote-argument. 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." (let* ((key (this-single-command-keys)) (main-event (aref key 0))) (cond + ;; Don't exit Isearch if we're in the middle of some + ;; set-temporary-overlay-map thingy like universal-argument--mode. + ((not (eq overriding-terminal-local-map isearch-mode-map))) ;; Don't exit Isearch for isearch key bindings. ((commandp (lookup-key isearch-mode-map key nil))) ;; Optionally edit the search string instead of exiting. @@ -2241,8 +2244,6 @@ before the command is executed globally with terminated Isearch." ;; Handle a scrolling function or prefix argument. ((or (and isearch-allow-prefix (memq this-command '(universal-argument - universal-argument-more - universal-argument-minus digit-argument negative-argument))) (and isearch-allow-scroll (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 @@ ;; Dec 10, 1996 -- posted draft version to gnu.sources.emacs -;; Dec 11, 1996 -- fixed some typos, and Francesco Potorti` +;; Dec 11, 1996 -- fixed some typos, and Francesco Potortì ;; <F.Potorti@cnuce.cnr.it> pointed out that my use of defvar was ;; weird, suggested fix, and added let form. @@ -375,3 +375,7 @@ You might need to set `uce-mail-reader' before using this." (provide 'uce) ;;; uce.el ends here + +;; Local Variables: +;; coding: utf-8 +;; 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 @@ ;; point and some other names have been changed to make it a drop-in ;; replacement for the old man.el package. -;; Francesco Potorti` <pot@cnuce.cnr.it> cleaned it up thoroughly, +;; Francesco Potortì <pot@cnuce.cnr.it> cleaned it up thoroughly, ;; making it faster, more robust and more tolerant of different ;; systems' man idiosyncrasies. 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.") ;; We used to "(define-key (current-global-map) [menu-bar buffer]" ;; but that did not do the right thing when the [menu-bar buffer] ;; entry above had been moved (e.g. to a parent keymap). - (setcdr global-buffers-menu-map (cons "Select Buffer" buffers-menu))))) + (setcdr global-buffers-menu-map (cons "Buffers" buffers-menu))))) (add-hook 'menu-bar-update-hook 'menu-bar-update-buffers) @@ -2261,6 +2261,50 @@ If nil, the current mouse position is used." (popup-menu-normalize-position (event-end position))) (t position))) +(defcustom tty-menu-open-use-tmm nil + "If non-nil, \\[menu-bar-open] on a TTY will invoke `tmm-menubar'. + +If nil, \\[menu-bar-open] will drop down the menu corresponding to the +first (leftmost) menu-bar item; you can select other items by typing +\\[forward-char], \\[backward-char], \\[right-char] and \\[left-char]." + :type '(choice (const :tag "F10 drops down TTY menus" nil) + (const :tag "F10 invokes tmm-menubar" t)) + :group 'display + :version "24.4") + +(defvar tty-menu--initial-menu-x 1 + "X coordinate of the first menu-bar menu dropped by F10. + +This is meant to be used only for debugging TTY menus.") + +(defun menu-bar-open (&optional frame) + "Start key navigation of the menu bar in FRAME. + +This function decides which method to use to access the menu +depending on FRAME's terminal device. On X displays, it calls +`x-menu-bar-open'; on Windows, `w32-menu-bar-open'; otherwise it +calls either `popup-menu' or `tmm-menubar' depending on whether +\`tty-menu-open-use-tmm' is nil or not. + +If FRAME is nil or not given, use the selected frame." + (interactive) + (let ((type (framep (or frame (selected-frame))))) + (cond + ((eq type 'x) (x-menu-bar-open frame)) + ((eq type 'w32) (w32-menu-bar-open frame)) + ((and (null tty-menu-open-use-tmm) + (not (zerop (or (frame-parameter nil 'menu-bar-lines) 0)))) + (let* ((x tty-menu--initial-menu-x) + (menu (menu-bar-menu-at-x-y x 0 frame))) + (popup-menu (or + (lookup-key global-map (vector 'menu-bar menu)) + (lookup-key (current-local-map) (vector 'menu-bar menu))) + (posn-at-x-y x 0 nil t) nil t))) + (t (with-selected-frame (or frame (selected-frame)) + (tmm-menubar)))))) + +(global-set-key [f10] 'menu-bar-open) + (defvar tty-menu-navigation-map (let ((map (make-sparse-keymap))) ;; The next line is disabled because it breaks interpretation of @@ -2282,22 +2326,14 @@ If nil, the current mouse position is used." (next-line . tty-menu-next-item) (previous-line . tty-menu-prev-item) (newline . tty-menu-select) - (newline-and-indent . tty-menu-select))) + (newline-and-indent . tty-menu-select) + (menu-bar-open . tty-menu-exit))) (substitute-key-definition (car bind) (cdr bind) map (current-global-map))) ;; The bindings of menu-bar items are so that clicking on the menu ;; bar when a menu is already shown pops down that menu. - ;; FIXME: we should iterate over all the visible menu-bar items, - ;; instead of naming them explicitly here. Also, this doesn't - ;; include items added by current major mode. - ;; - ;; FIXME: Why not (define-key map [menu-bat t] 'tty-menu-exit) ? --Stef - (dolist (event '(file edit options buffer tools help-menu)) - (substitute-key-definition - (lookup-key (current-global-map) (vector 'menu-bar event)) - 'tty-menu-exit - map (current-global-map))) + (define-key map [menu-bar t] 'tty-menu-exit) (define-key map [?\C-r] 'tty-menu-select) (define-key map [?\C-j] 'tty-menu-select) @@ -2327,51 +2363,6 @@ If nil, the current mouse position is used." map) "Keymap used while processing TTY menus.") - -(defcustom tty-menu-open-use-tmm nil - "If non-nil, \\[menu-bar-open] on a TTY will invoke `tmm-menubar'. - -If nil, \\[menu-bar-open] will drop down the menu corresponding to the -first (leftmost) menu-bar item; you can select other items by typing -\\[forward-char], \\[backward-char], \\[right-char] and \\[left-char]." - :type '(choice (const :tag "F10 drops down TTY menus" nil) - (const :tag "F10 invokes tmm-menubar" t)) - :group 'display - :version "24.4") - -(defvar tty-menu--initial-menu-x 1 - "X coordinate of the first menu-bar menu dropped by F10. - -This is meant to be used only for debugging TTY menus.") - -(defun menu-bar-open (&optional frame) - "Start key navigation of the menu bar in FRAME. - -This function decides which method to use to access the menu -depending on FRAME's terminal device. On X displays, it calls -`x-menu-bar-open'; on Windows, `w32-menu-bar-open'; otherwise it -calls either `popup-menu' or `tmm-menubar' depending on whether -\`tty-menu-open-use-tmm' is nil or not. - -If FRAME is nil or not given, use the selected frame." - (interactive) - (let ((type (framep (or frame (selected-frame))))) - (cond - ((eq type 'x) (x-menu-bar-open frame)) - ((eq type 'w32) (w32-menu-bar-open frame)) - ((and (null tty-menu-open-use-tmm) - (not (zerop (or (frame-parameter nil 'menu-bar-lines) 0)))) - (let* ((x tty-menu--initial-menu-x) - (menu (menu-bar-menu-at-x-y x 0 frame))) - (popup-menu (or - (lookup-key global-map (vector 'menu-bar menu)) - (lookup-key (current-local-map) (vector 'menu-bar menu))) - (posn-at-x-y x 0 nil t) nil t))) - (t (with-selected-frame (or frame (selected-frame)) - (tmm-menubar)))))) - -(global-set-key [f10] 'menu-bar-open) - (provide 'menu-bar) ;;; 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 @@ ;;; cmacexp.el --- expand C macros in a region -;; Copyright (C) 1992, 1994, 1996, 2000-2013 Free Software Foundation, -;; Inc. +;; Copyright (C) 1992, 1994, 1996, 2000-2013 Free Software Foundation, Inc. -;; Author: Francesco Potorti` <pot@gnu.org> +;; Author: Francesco Potortì <pot@gnu.org> ;; Adapted-By: ESR ;; Keywords: c @@ -70,7 +69,7 @@ ;; BUG REPORTS ======================================================= ;; Please report bugs, suggestions, complaints and so on to -;; pot@gnu.org (Francesco Potorti`). +;; bug-gnu-emacs@gnu.org and pot@gnu.org (Francesco Potortì). ;; IMPROVEMENTS OVER emacs 18.xx cmacexp.el ========================== @@ -404,3 +403,7 @@ Optional arg DISPLAY non-nil means show messages in the echo area." (kill-buffer outbuf)))) ;;; cmacexp.el ends here + +;; Local Variables: +;; coding: utf-8 +;; 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." '((id) (insts (inst) (insts ";" insts)) (inst (exp) (inst "iuwu-mod" exp)) - (exp (exp1) (exp "," exp) (exp "=" exp) (exp "-" exp) (exp "+" exp)) + (exp (exp1) (exp "," exp) (exp "=" exp) (exp "-" exp) (exp "+" exp) + (id " @ " exp)) (exp1 (exp2) (exp2 "?" exp1 ":" exp1)) (exp2 ("def" insts "end") ("begin" insts-rescue-insts "end") @@ -274,7 +275,8 @@ Also ignores spaces after parenthesis when 'space." (itheni (insts) (exp "then" insts)) (ielsei (itheni) (itheni "else" insts)) (if-body (ielsei) (if-body "elsif" if-body))) - '((nonassoc "in") (assoc ";") (assoc ",") (right "=") (assoc "-" "+")) + '((nonassoc "in") (assoc ";") (right " @ ") + (assoc ",") (right "=") (assoc "-" "+")) '((assoc "when")) '((assoc "elsif")) '((assoc "rescue" "ensure")) @@ -316,6 +318,12 @@ Also ignores spaces after parenthesis when 'space." (or (eq ?\{ (char-before)) (looking-back "\\_<do" (- (point) 2))))) +(defun ruby-smie--args-separator-p (pos) + (and + (eq ?w (char-syntax (char-before))) + (< pos (point-max)) + (memq (char-syntax (char-after pos)) '(?w ?\")))) + (defun ruby-smie--forward-id () (when (and (not (eobp)) (eq ?w (char-syntax (char-after)))) @@ -326,35 +334,42 @@ Also ignores spaces after parenthesis when 'space." tok))) (defun ruby-smie--forward-token () - (skip-chars-forward " \t") - (cond - ((looking-at "\\s\"") "") ;A heredoc or a string. - ((and (looking-at "[\n#]") - (ruby-smie--implicit-semi-p)) ;Only add implicit ; when needed. - (if (eolp) (forward-char 1) (forward-comment 1)) - ";") - (t - (forward-comment (point-max)) - (if (looking-at ":\\s.+") - (progn (goto-char (match-end 0)) (match-string 0)) ;; bug#15208. - (let ((tok (smie-default-forward-token))) - (cond - ((member tok '("unless" "if" "while" "until")) - (if (save-excursion (forward-word -1) (ruby-smie--bosp)) - tok "iuwu-mod")) - ((equal tok "|") - (if (ruby-smie--opening-pipe-p) "opening-|" tok)) - ((and (equal tok "") (looking-at "\\\\\n")) - (goto-char (match-end 0)) (ruby-smie--forward-token)) - ((equal tok "do") + (let ((pos (point))) + (skip-chars-forward " \t") + (cond + ((looking-at "\\s\"") "") ;A heredoc or a string. + ((and (looking-at "[\n#]") + (ruby-smie--implicit-semi-p)) ;Only add implicit ; when needed. + (if (eolp) (forward-char 1) (forward-comment 1)) + ";") + (t + (forward-comment (point-max)) + (cond + ((looking-at ":\\s.+") + (goto-char (match-end 0)) (match-string 0)) ;; bug#15208. + ((and (< pos (point)) + (save-excursion + (ruby-smie--args-separator-p (prog1 (point) (goto-char pos))))) + " @ ") + (t + (let ((tok (smie-default-forward-token))) (cond - ((not (ruby-smie--redundant-do-p 'skip)) tok) - ((> (save-excursion (forward-comment (point-max)) (point)) - (line-end-position)) - (ruby-smie--forward-token)) ;Fully redundant. - (t ";"))) - ((equal tok ".") (concat tok (ruby-smie--forward-id))) - (t tok))))))) + ((member tok '("unless" "if" "while" "until")) + (if (save-excursion (forward-word -1) (ruby-smie--bosp)) + tok "iuwu-mod")) + ((equal tok "|") + (if (ruby-smie--opening-pipe-p) "opening-|" tok)) + ((and (equal tok "") (looking-at "\\\\\n")) + (goto-char (match-end 0)) (ruby-smie--forward-token)) + ((equal tok "do") + (cond + ((not (ruby-smie--redundant-do-p 'skip)) tok) + ((> (save-excursion (forward-comment (point-max)) (point)) + (line-end-position)) + (ruby-smie--forward-token)) ;Fully redundant. + (t ";"))) + ((equal tok ".") (concat tok (ruby-smie--forward-id))) + (t tok))))))))) (defun ruby-smie--backward-id () (when (and (not (bobp)) @@ -372,6 +387,12 @@ Also ignores spaces after parenthesis when 'space." ((and (> pos (line-end-position)) (ruby-smie--implicit-semi-p)) (skip-chars-forward " \t") ";") ((and (bolp) (not (bobp))) "") ;Presumably a heredoc. + ((and (> pos (point)) (not (bolp)) + (ruby-smie--args-separator-p pos)) + ;; We have "ID SPC ID", which is a method call, but it binds less tightly + ;; than commas, since a method call can also be "ID ARG1, ARG2, ARG3". + ;; In some textbooks, "e1 @ e2" is used to mean "call e1 with arg e2". + " @ ") (t (let ((tok (smie-default-backward-token))) (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." (user-error "Product `%s' is already defined" product) ;; Add product to the alist - (add-to-list 'sql-product-alist `((,product :name ,display . ,plist))) + (add-to-list 'sql-product-alist `(,product :name ,display . ,plist)) ;; Add a menu item to the SQL->Product menu (easy-menu-add-item sql-mode-menu '("Product") ;; 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." (keep-lines-read-args "How many matches for regexp")) (save-excursion (if rstart - (progn - (goto-char (min rstart rend)) - (setq rend (max rstart rend))) + (if rend + (progn + (goto-char (min rstart rend)) + (setq rend (max rstart rend))) + (goto-char rstart) + (setq rend (point-max))) (if (and interactive transient-mark-mode mark-active) (setq rstart (region-beginning) 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], gl_FUNC_GNU_STRFTIME gl_HEADER_STRING_H gl_FUNC_STRTOIMAX - if test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then + if test $HAVE_DECL_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then AC_LIBOBJ([strtoimax]) gl_PREREQ_STRTOIMAX fi gl_INTTYPES_MODULE_INDICATOR([strtoimax]) gl_FUNC_STRTOUMAX - if test $ac_cv_func_strtoumax = no; then + if test $HAVE_DECL_STRTOUMAX = 0 || test $REPLACE_STRTOUMAX = 1; then AC_LIBOBJ([strtoumax]) gl_PREREQ_STRTOUMAX fi @@ -622,10 +622,10 @@ AC_DEFUN([gl_INIT], if test $HAVE_READLINKAT = 0; then func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 fi - if { test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; } && test $ac_cv_type_long_long_int = yes; then + if { test $HAVE_DECL_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; } && test $ac_cv_type_long_long_int = yes; then func_gl_gnulib_m4code_strtoll fi - if test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then + if { test $HAVE_DECL_STRTOUMAX = 0 || test $REPLACE_STRTOUMAX = 1; } && test $ac_cv_type_unsigned_long_long_int = yes; then func_gl_gnulib_m4code_strtoull fi 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], HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX]) + REPLACE_STRTOUMAX=0; AC_SUBST([REPLACE_STRTOUMAX]) INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) INT64_MAX_EQ_LONG_MAX='defined _LP64'; AC_SUBST([INT64_MAX_EQ_LONG_MAX]) 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 @@ -# strtoimax.m4 serial 13 +# strtoimax.m4 serial 14 dnl Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -15,7 +15,7 @@ AC_DEFUN([gl_FUNC_STRTOIMAX], HAVE_DECL_STRTOIMAX=0 fi - if test $ac_cv_func_strtoimax = yes; then + if test "$ac_cv_func_strtoimax" = yes; then HAVE_STRTOIMAX=1 dnl On AIX 5.1, strtoimax() fails for values outside the 'int' range. AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles @@ -72,6 +72,10 @@ int main () *no) REPLACE_STRTOIMAX=1 ;; esac else + if test "$ac_cv_have_decl_strtoimax" = yes; then + # HP-UX 11.11 has "#define strtoimax(...) ..." but no function. + REPLACE_STRTOIMAX=1 + fi HAVE_STRTOIMAX=0 fi ]) 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 @@ -# strtoumax.m4 serial 11 +# strtoumax.m4 serial 12 dnl Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,7 +11,12 @@ AC_DEFUN([gl_FUNC_STRTOUMAX], dnl On OSF/1 5.1 with cc, this function is declared but not defined. AC_CHECK_FUNCS_ONCE([strtoumax]) AC_CHECK_DECLS_ONCE([strtoumax]) - if test "$ac_cv_have_decl_strtoumax" != yes; then + if test "$ac_cv_have_decl_strtoumax" = yes; then + if test "$ac_cv_func_strtoumax" != yes; then + # HP-UX 11.11 has "#define strtoimax(...) ..." but no function. + REPLACE_STRTOUMAX=1 + fi + else HAVE_DECL_STRTOUMAX=0 fi ]) diff --git a/nt/ChangeLog b/nt/ChangeLog index 390a8eb0227..cdd9ec60b11 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,15 @@ +2013-10-12 Eli Zaretskii <eliz@gnu.org> + + * inc/dirent.h (struct dirent) [__MINGW_MAJOR_VERSION >= 4]: Make + the layout of 'struct dirent' be compatible with MinGW32 runtime + versions 4.0 and later. + + * inc/ms-w32.h (__MINGW_MAJOR_VERSION, __MINGW_MINOR_VERSION) + (__MINGW_PATCHLEVEL) [!__MINGW64_VERSION_MAJOR]: Define, if not + defined, but not for MinGW64. + (_USE_32BIT_TIME_T) [__MINGW64_VERSION_MAJOR]: Define, to force + use of 32-bit time_t type. + 2013-10-07 Paul Eggert <eggert@cs.ucla.edu> 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). is in the PATH or otherwise accessible and that the binaries are compatible (for example, that they were built with the same compiler). - Binaries for the image libraries (among many others) can be found at - the GnuWin32 project. The PNG libraries are also included with GTK, - which is installed along with other Free Software that requires it. - Note specifically that, due to some packaging snafus in the - GnuWin32-supplied image libraries, you will need to download - _source_ packages for some of the libraries in order to get the - header files necessary for building Emacs with image support. - For PNG images, we recommend to use versions 1.4.x and later of libpng, because previous versions had security issues. You can find precompiled libraries and headers on the GTK download page for @@ -561,6 +553,27 @@ Windows 9X as well). `dynamic-library-alist' and the value of `libpng-version', and download compatible DLLs if needed. + For GIF images, we recommend to use versions 5.0.0 or later of + giflib, as it is much enhanced wrt previous versions. You can find + precompiled binaries and headers for giflib on the ezwinports site, + http://sourceforge.net/projects/ezwinports/files/. + + Version 5.0.0 and later of giflib are binary incompatible with + previous versions (the signatures of several functions have + changed), so Emacs will only look for giflib libraries that are + compatible with the version it was compiled against. Similar to + libpng, that version is given by the value of the Lisp variable + `libgif-version'; e.g., 50005 means version 5.0.5. The variable + `dynamic-library-alist' is automatically set to name only those DLL + libraries that are known to be compatible with the version given by + `libgif-version'. + + Binaries for the other image libraries can be found at the GnuWin32 + project. Note specifically that, due to some packaging snafus in + the GnuWin32-supplied image libraries, you will need to download + _source_ packages for some of the libraries in order to get the + header files necessary for building Emacs with image support. + * Optional GnuTLS support 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() */ long d_ino; /* inode number of entry */ unsigned short d_reclen; /* length of this record */ unsigned short d_namlen; /* length of string in d_name */ +#if __MINGW_MAJOR_VERSION >= 4 + /* MinGW.org runtime 4.x introduces a modified layout of + 'struct dirent', which makes it binary incompatible with + previous versions. To add insult to injury, the MinGW + startup code calls 'readdir', which is implemented in + w32.c. So we need to define the same layout of this struct + as the MinGW runtime does, or else command-line globbing + will be broken. (Versions of MinGW runtime after 4.0 are + supposed not to call 'readdir' from startup code, but we + had better be safe than sorry.) */ + unsigned d_type; /* File attributes */ + /* The next 3 fields are declared 'time_t' in the MinGW 4.0 + headers, but 'time_t' is by default a 64-bit type in 4.x, + and presumably the libmingwex library was compiled using + that default definition. So we must use 64-bit types here, + even though our time_t is a 32-bit type. What a mess! */ + __int64 d_time_create; + __int64 d_time_access; /* always midnight local time */ + __int64 d_time_write; + _fsize_t d_size; +#endif char d_name[MAXNAMLEN+1]; /* name of file */ }; 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/>. */ #define WINDOWSNT #endif +/* The @#$%^&! MinGW developers stopped updating the values of + __MINGW32_VERSION, __MINGW32_MAJOR_VERSION, and + __MINGW32_MINOR_VERSION values in v4.x of the runtime, to + "discourage its uses". So the values of those macros can no longer + be trusted, and we need the workaround below, to have a single set + of macros we can trust. (The .17 minor version is arbitrary.) */ +#ifdef __MINGW32__ +#include <_mingw.h> +#endif +/* MinGW64 doesn't have this problem, and does not define + __MINGW_VERSION. */ +#ifndef __MINGW64_VERSION_MAJOR +# ifndef __MINGW_VERSION +# define __MINGW_VERSION 3.17 +# undef __MINGW_MAJOR_VERSION +# define __MINGW_MAJOR_VERSION 3 +# undef __MINGW_MINOR_VERSION +# define __MINGW_MINOR_VERSION 17 +# undef __MINGW_PATCHLEVEL +# define __MINGW_PATCHLEVEL 0 +# endif +#endif +#if __MINGW_MAJOR_VERSION >= 4 +# define _USE_32BIT_TIME_T +#endif + /* #undef const */ /* 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 @@ +2013-10-12 Eli Zaretskii <eliz@gnu.org> + + * image.c (GIFLIB_MAJOR, GIFLIB_MINOR, GIFLIB_RELEASE): Move back + after inclusion of gif_lib.h, thus fixing compiler warnings caused + by 2013-10-10T19:15:33Z!eggert@cs.ucla.edu. + +2013-10-11 Eli Zaretskii <eliz@gnu.org> + + * xdisp.c (deep_copy_glyph_row): Handle the case that FROM and TO + have different dimensions. (Bug#15575) + + * dispnew.c (fill_up_frame_row_with_spaces): Now has external + visibility. + + * dispextern.h (fill_up_frame_row_with_spaces): Add prototype. + +2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> + + * term.c (tty_menu_show): Never return with unbalanced + specpdl. Use eassert for debugging check. Adjust style. + +2013-10-11 Eli Zaretskii <eliz@gnu.org> + + * term.c (read_menu_input): Make selection of menu items + cyclical. Suggested by Dmitry Antipov <dmantipov@yandex.ru>. + (tty_menu_activate): Fix off-by-one error when computing max_y. + +2013-10-11 Teodor Zlatanov <tzz@lifelogs.com> + + * gnutls.c (gnutls_audit_log_function): Add function for GnuTLS + audit logging (only used with GnuTLS 3.x) and enable it. + 2013-10-11 Dmitry Antipov <dmantipov@yandex.ru> * dispnew.c (redraw_frame): Remove useless #ifdef because @@ -2333,7 +2365,7 @@ * keyboard.c (Fdiscard_input): Do not increment update_mode_lines. * nsfns.m (x_set_cursor_type): * w32fns.c (x_set_cursor_type): - * xfns.m (x_set_cursor_type): Do not set cursor_type_changed here... + * xfns.c (x_set_cursor_type): Do not set cursor_type_changed here... * xdisp.c (set_frame_cursor_types): ...but in common code. 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); void syms_of_display (void); extern Lisp_Object Qredisplay_dont_pause; extern void spec_glyph_lookup_face (struct window *, GLYPH *); +extern void fill_up_frame_row_with_spaces (struct glyph_row *, int); /* Defined in terminal.c */ 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 *); static int required_matrix_width (struct window *); static void change_frame_size_1 (struct frame *, int, int, bool, bool, bool); static void increment_row_positions (struct glyph_row *, ptrdiff_t, ptrdiff_t); -static void fill_up_frame_row_with_spaces (struct glyph_row *, int); static void build_frame_matrix_from_window_tree (struct glyph_matrix *, struct window *); 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) /* Add spaces to the end of ROW in a frame matrix until index UPTO is reached. In frame matrices only one area, TEXT_AREA, is used. */ -static void +void fill_up_frame_row_with_spaces (struct glyph_row *row, int upto) { 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; static Lisp_Object QCgnutls_bootprop_callbacks_verify; static void gnutls_log_function (int, const char *); +static void gnutls_audit_log_function (gnutls_session_t, const char *); static void gnutls_log_function2 (int, const char*, const char*); @@ -108,6 +109,9 @@ DEF_GNUTLS_FN (void, gnutls_dh_set_prime_bits, DEF_GNUTLS_FN (int, gnutls_error_is_fatal, (int)); DEF_GNUTLS_FN (int, gnutls_global_init, (void)); DEF_GNUTLS_FN (void, gnutls_global_set_log_function, (gnutls_log_func)); +#ifdef HAVE_GNUTLS3 +DEF_GNUTLS_FN (void, gnutls_global_set_audit_log_function, (gnutls_audit_log_func)); +#endif DEF_GNUTLS_FN (void, gnutls_global_set_log_level, (int)); DEF_GNUTLS_FN (void, gnutls_global_set_mem_functions, (gnutls_alloc_function, gnutls_alloc_function, @@ -173,6 +177,9 @@ init_gnutls_functions (void) LOAD_GNUTLS_FN (library, gnutls_error_is_fatal); LOAD_GNUTLS_FN (library, gnutls_global_init); LOAD_GNUTLS_FN (library, gnutls_global_set_log_function); +#ifdef HAVE_GNUTLS3 + LOAD_GNUTLS_FN (library, gnutls_global_set_audit_log_function); +#endif LOAD_GNUTLS_FN (library, gnutls_global_set_log_level); LOAD_GNUTLS_FN (library, gnutls_global_set_mem_functions); LOAD_GNUTLS_FN (library, gnutls_handshake); @@ -230,6 +237,9 @@ init_gnutls_functions (void) #define fn_gnutls_error_is_fatal gnutls_error_is_fatal #define fn_gnutls_global_init gnutls_global_init #define fn_gnutls_global_set_log_function gnutls_global_set_log_function +#ifdef HAVE_GNUTLS3 +#define fn_gnutls_global_set_audit_log_function gnutls_global_set_audit_log_function +#endif #define fn_gnutls_global_set_log_level gnutls_global_set_log_level #define fn_gnutls_global_set_mem_functions gnutls_global_set_mem_functions #define fn_gnutls_handshake gnutls_handshake @@ -249,6 +259,16 @@ init_gnutls_functions (void) #endif /* !WINDOWSNT */ +/* Function to log a simple audit message. */ +static void +gnutls_audit_log_function (gnutls_session_t session, const char* string) +{ + if (global_gnutls_log_level >= 1) + { + message ("gnutls.c: [audit] %s", string); + } +} + /* Function to log a simple message. */ static void gnutls_log_function (int level, const char* string) @@ -797,6 +817,9 @@ one trustfile (usually a CA bundle). */) if (TYPE_RANGED_INTEGERP (int, loglevel)) { fn_gnutls_global_set_log_function (gnutls_log_function); +#ifdef HAVE_GNUTLS3 + fn_gnutls_global_set_audit_log_function (gnutls_audit_log_function); +#endif fn_gnutls_global_set_log_level (XINT (loglevel)); max_log_level = XINT (loglevel); 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) #ifdef HAVE_GIF -/* Giflib before 5.0 didn't define these macros. */ -#ifndef GIFLIB_MAJOR -#define GIFLIB_MAJOR 4 -#endif - #if defined (HAVE_NTGUI) -/* Giflib before 5.0 didn't define these macros (used only if HAVE_NTGUI). */ -#ifndef GIFLIB_MINOR -#define GIFLIB_MINOR 0 -#endif -#ifndef GIFLIB_RELEASE -#define GIFLIB_RELEASE 0 -#endif - /* winuser.h might define DrawText to DrawTextA or DrawTextW. Undefine before redefining to avoid a preprocessor warning. */ #ifdef DrawText @@ -7228,12 +7215,25 @@ gif_image_p (Lisp_Object object) #include <gif_lib.h> #undef DrawText +/* Giflib before 5.0 didn't define these macros (used only if HAVE_NTGUI). */ +#ifndef GIFLIB_MINOR +#define GIFLIB_MINOR 0 +#endif +#ifndef GIFLIB_RELEASE +#define GIFLIB_RELEASE 0 +#endif + #else /* HAVE_NTGUI */ #include <gif_lib.h> #endif /* HAVE_NTGUI */ +/* Giflib before 5.0 didn't define these macros. */ +#ifndef GIFLIB_MAJOR +#define GIFLIB_MAJOR 4 +#endif + #ifdef WINDOWSNT /* 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, { if (*y < max_y) *y += 1; + else + *y = min_y; } else if (EQ (cmd, Qtty_menu_prev_item)) { if (*y > min_y) *y -= 1; + else + *y = max_y; } else if (EQ (cmd, Qtty_menu_select)) st = 1; @@ -3290,7 +3294,7 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx, { int input_status; int min_y = state[0].y; - int max_y = min (min_y + state[0].menu->count, FRAME_LINES (sf)) - 1; + int max_y = min (min_y + state[0].menu->count, FRAME_LINES (sf) - 1) - 1; input_status = read_menu_input (sf, &x, &y, min_y, max_y, &first_time); if (input_status) @@ -3557,10 +3561,9 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, int dispwidth, dispheight; int i, j, lines, maxlines; int maxwidth; - ptrdiff_t specpdl_count = SPECPDL_INDEX (); + ptrdiff_t specpdl_count; - if (! FRAME_TERMCAP_P (f)) - emacs_abort (); + eassert (FRAME_TERMCAP_P (f)); *error_name = 0; 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, /* Don't GC while we prepare and show the menu, because we give the menu functions pointers to the contents of strings. */ - inhibit_garbage_collection (); + specpdl_count = inhibit_garbage_collection (); /* Adjust coordinates to be root-window-relative. */ 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, { tty_menu_destroy (menu); *error_name = "Can't create pane"; - return Qnil; + entry = Qnil; + goto tty_menu_end; } i += MENU_ITEMS_PANE_LENGTH; @@ -3675,7 +3679,8 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, { tty_menu_destroy (menu); *error_name = "Can't add selection to menu"; - return Qnil; + entry = Qnil; + goto tty_menu_end; } i += MENU_ITEMS_ITEM_LENGTH; lines++; @@ -3692,12 +3697,12 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, x = max (x, 1); y = max (y, 1); tty_menu_locate (menu, x, y, &ulx, &uly, &width, &height); - if (ulx+width > dispwidth) + if (ulx + width > dispwidth) { x -= (ulx + width) - dispwidth; ulx = dispwidth - width; } - if (uly+height > dispheight) + if (uly + height > dispheight) { y -= (uly + height) - dispheight; uly = dispheight - height; @@ -3803,8 +3808,9 @@ tty_menu_show (struct frame *f, int x, int y, int for_click, int keymaps, break; } - unbind_to (specpdl_count, Qnil); + tty_menu_end: + unbind_to (specpdl_count, Qnil); return entry; } 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 deep_copy_glyph_row (struct glyph_row *to, struct glyph_row *from) { struct glyph *pointers[1 + LAST_AREA]; + int to_used = to->used[TEXT_AREA]; /* Save glyph pointers of TO. */ memcpy (pointers, to->glyphs, sizeof to->glyphs); - eassert (to->used[TEXT_AREA] == from->used[TEXT_AREA]); /* Do a structure assignment. */ *to = *from; @@ -20603,7 +20603,12 @@ deep_copy_glyph_row (struct glyph_row *to, struct glyph_row *from) /* Copy the glyphs. */ memcpy (to->glyphs[TEXT_AREA], from->glyphs[TEXT_AREA], - from->used[TEXT_AREA] * sizeof (struct glyph)); + min (from->used[TEXT_AREA], to_used) * sizeof (struct glyph)); + + /* If we filled only part of the TO row, fill the rest with + space_glyph (which will display as empty space). */ + if (to_used > from->used[TEXT_AREA]) + fill_up_frame_row_with_spaces (to, to_used); } /* 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 @@ +2013-10-11 Dmitry Gutov <dgutov@yandex.ru> + + * indent/ruby.rb: Add two more cases. + 2013-10-10 Stefan Monnier <monnier@iro.umontreal.ca> * automated/ruby-mode-tests.el (ruby-with-temp-buffer): Move before @@ -145,7 +149,7 @@ 2013-08-28 Paul Eggert <eggert@cs.ucla.edu> - * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, + * automated/Makefile.in (SHELL): Now @SHELL@, not /bin/sh, for portability to hosts where /bin/sh has problems. 2013-08-21 David Engster <deng@randomsample.de> @@ -551,7 +555,7 @@ 2012-12-14 Dmitry Gutov <dgutov@yandex.ru> - * automated/ruby-mode-tests.el + * automated/ruby-mode-tests.el: Rename one interpolation test; add three more. (ruby-with-temp-buffer): New macro, use it where appropriate. (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 + foo = [1, 2, 3].map do |i| i + 1 end + +foo_bar_tee(1, 2, 3) + .qux + +if foo && + bar +end + +method1 arg1, # bug#15594 + method2 arg2, + arg3 |