diff options
87 files changed, 513 insertions, 254 deletions
diff --git a/doc/emacs/emacs-xtra.texi b/doc/emacs/emacs-xtra.texi index aa0683c1c32..817d1c6fd05 100644 --- a/doc/emacs/emacs-xtra.texi +++ b/doc/emacs/emacs-xtra.texi @@ -17,7 +17,7 @@ Copyright @copyright{} 2004--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 40a32b5da53..d665a9dedaf 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -33,7 +33,7 @@ Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being ``The GNU Manifesto,'' ``Distribution'' and -``GNU GENERAL PUBLIC LICENSE,'' with the Front-Cover texts being ``A GNU +``GNU GENERAL PUBLIC LICENSE,'' with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 0475635e958..2400c6a8e0a 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2014-05-08 Paul Eggert <eggert@cs.ucla.edu> + + * internals.texi (C Dialect): New section. + (C Integer Types): Mention bool_bf. + 2014-04-30 Stefan Monnier <monnier@iro.umontreal.ca> * processes.texi (Filter Functions, Sentinels): Advertise add-function. diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 567cbe0eea7..22df02113f0 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -105,7 +105,7 @@ Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being ``GNU General Public License,'' with the -Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover +Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index f85701f5396..bfc9d491c5e 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi @@ -15,6 +15,7 @@ internal aspects of GNU Emacs that may be of interest to C programmers. * Pure Storage:: Kludge to make preloaded Lisp functions shareable. * Garbage Collection:: Reclaiming space for Lisp objects no longer used. * Memory Usage:: Info about total size of Lisp objects made so far. +* C Dialect:: What C variant Emacs is written in. * Writing Emacs Primitives:: Writing C code for Emacs. * Object Internals:: Data formats of buffers, windows, processes. * C Integer Types:: How C integer types are used inside Emacs. @@ -575,6 +576,20 @@ The total number of strings that have been allocated so far in this Emacs session. @end defvar +@node C Dialect +@section C Dialect +@cindex C programming language + +The C part of Emacs is portable to C89: C99-specific features such as +@samp{<stdbool.h>} and @samp{inline} are not used without a check, +typically at configuration time, and the Emacs build procedure +provides a substitute implementation if necessary. Some C99 features, +such as declarations after statements, are too difficult to provide +substitutes for, so they are avoided entirely. + +At some point in the not-too-distant future the base C dialect will +change from C89 to C99, and eventually it will no doubt change to C11. + @node Writing Emacs Primitives @section Writing Emacs Primitives @cindex primitive function internals @@ -1616,12 +1631,6 @@ Prefer @code{intmax_t} for representing values that might be any signed integer value. @item -In bitfields, prefer @code{unsigned int} or @code{signed int} to -@code{int}, as @code{int} is less portable: it might be signed, and -might not be. Single-bit bit fields are invariably @code{unsigned -int} so that their values are 0 and 1. - -@item Prefer @code{bool}, @code{false} and @code{true} for booleans. Using @code{bool} can make programs easier to read and a bit faster than using @code{int}. Although it is also OK to use @code{int}, @code{0} @@ -1629,7 +1638,15 @@ and @code{1}, this older style is gradually being phased out. When using @code{bool}, respect the limitations of the replacement implementation of @code{bool}, as documented in the source file @file{lib/stdbool.in.h}, so that Emacs remains portable to pre-C99 -platforms. +platforms. In particular, boolean bitfields should be of type +@code{bool_bf}, not @code{bool}, so that they work correctly even when +compiling Objective C with standard GCC. + +@item +In bitfields, prefer @code{unsigned int} or @code{signed int} to +@code{int}, as @code{int} is less portable: it might be signed, and +might not be. Single-bit bit fields should be @code{unsigned int} or +@code{bool_bf} so that their values are 0 or 1. @end itemize @c FIXME Mention src/globals.h somewhere in this file? diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index cdaa6b4fb34..9908b152193 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2014-05-08 Michael Albinus <michael.albinus@gmx.de> + + * tramp.texi (Frequently Asked Questions): Mention HISTFILE + setting in ~/.ssh/environment. + 2014-05-04 Stephen Berman <stephen.berman@gmx.net> * todo-mode.texi: Update, improve exposition, add cross diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index 71f020ceb28..e68bf055f35 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi @@ -10,7 +10,7 @@ Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi index 110473209c4..2de4cfdab7f 100644 --- a/doc/misc/auth.texi +++ b/doc/misc/auth.texi @@ -17,7 +17,7 @@ Copyright @copyright{} 2008--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index e01a6c2f5c5..fd4477e1636 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi @@ -18,7 +18,7 @@ Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/bovine.texi b/doc/misc/bovine.texi index 5092d463a29..2ac355f805f 100644 --- a/doc/misc/bovine.texi +++ b/doc/misc/bovine.texi @@ -30,7 +30,7 @@ Copyright @copyright{} 1999--2004, 2012--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 366f1e3f03d..93c873e2ed6 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -102,7 +102,7 @@ Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being just ``GNU GENERAL PUBLIC LICENSE'', with the -Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover +Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index f6537ac22b3..35aea2889a6 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -163,7 +163,7 @@ Copyright @copyright{} 1995--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 24ec6ea3c70..d6e0bb74bcb 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -13,7 +13,7 @@ Copyright @copyright{} 1993, 2001--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 6a91efbd728..99119246a4e 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -16,7 +16,7 @@ Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index c0d0d4b1645..5d790217226 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi @@ -27,7 +27,7 @@ Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index 3d1ce5e5da3..77e221d3c83 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi @@ -17,7 +17,7 @@ Copyright @copyright{} 2000--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index ab1e8a418da..0bf1983cdcf 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi @@ -13,7 +13,7 @@ Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index 826e16c7a4c..ea4bcc8f5b9 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi @@ -32,7 +32,7 @@ Copyright @copyright{} 1995--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi index ef27d339e9e..6e066220020 100644 --- a/doc/misc/edt.texi +++ b/doc/misc/edt.texi @@ -13,7 +13,7 @@ Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index bc1f2988738..d65bcf1d28d 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -18,7 +18,7 @@ Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi index d6a95a46296..844579c1f94 100644 --- a/doc/misc/emacs-gnutls.texi +++ b/doc/misc/emacs-gnutls.texi @@ -15,7 +15,7 @@ Copyright @copyright{} 2012--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 0f717d34096..bb831f5deda 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi @@ -17,7 +17,7 @@ Copyright @copyright{} 1998--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index 76794517692..0632e735df0 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi @@ -16,7 +16,7 @@ Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index 05338d8cf29..f21b9d5cbd4 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi @@ -16,7 +16,7 @@ Copyright @copyright{} 2005--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi index 586fab6cd5b..25174a396a3 100644 --- a/doc/misc/ert.texi +++ b/doc/misc/ert.texi @@ -17,7 +17,7 @@ Copyright @copyright{} 2008, 2010--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index d52f3d92747..67aa4799f75 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -16,7 +16,7 @@ Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi index 1df54ca4395..a54a37a72e6 100644 --- a/doc/misc/eudc.texi +++ b/doc/misc/eudc.texi @@ -19,7 +19,7 @@ Copyright @copyright{} 1998, 2000--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi index 884850c98d7..827c35f02ef 100644 --- a/doc/misc/eww.texi +++ b/doc/misc/eww.texi @@ -14,7 +14,7 @@ Copyright @copyright{} 2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 362bcd8280b..761056a69a5 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -18,7 +18,7 @@ Copyright @copyright{} 2004--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi index 164140bbfe6..8ea470d2da8 100644 --- a/doc/misc/forms.texi +++ b/doc/misc/forms.texi @@ -25,7 +25,7 @@ Copyright @copyright{} 1989, 1997, 2001--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi index 2147e5f62a0..44cc29b9c39 100644 --- a/doc/misc/gnus-coding.texi +++ b/doc/misc/gnus-coding.texi @@ -15,7 +15,7 @@ Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 1749053a2a2..b2dce6db2bc 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -17,7 +17,7 @@ Copyright @copyright{} 1995--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi index d23f5d737ae..48b40eb84a4 100644 --- a/doc/misc/htmlfontify.texi +++ b/doc/misc/htmlfontify.texi @@ -17,7 +17,7 @@ Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index b56b311e273..4a150803640 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -29,7 +29,7 @@ Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi index 3a54aaa5314..0a94a19df84 100644 --- a/doc/misc/ido.texi +++ b/doc/misc/ido.texi @@ -13,7 +13,7 @@ Copyright @copyright{} 2013-2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/info.texi b/doc/misc/info.texi index 810f4d0f371..144ce89707b 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi @@ -21,7 +21,7 @@ Copyright @copyright{} 1989, 1992, 1996--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi index bc8f5337675..01d9e333816 100644 --- a/doc/misc/mairix-el.texi +++ b/doc/misc/mairix-el.texi @@ -12,7 +12,7 @@ Copyright @copyright{} 2008--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 14ba46c70f5..88d8566137a 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -17,7 +17,7 @@ Copyright @copyright{} 1996--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index c3b646fa145..d4fd6d52bb3 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi @@ -38,7 +38,7 @@ under the terms of either: @item the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, -with the Front-Cover texts being ``A GNU Manual,'' and with the +with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi index 6ad8df52fd4..f51d954948f 100644 --- a/doc/misc/newsticker.texi +++ b/doc/misc/newsticker.texi @@ -20,7 +20,7 @@ Copyright @copyright{} 2004--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index a6552a173d5..53030305bfb 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi @@ -15,7 +15,7 @@ Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi index cc2e4c305cd..31c2112845a 100644 --- a/doc/misc/octave-mode.texi +++ b/doc/misc/octave-mode.texi @@ -12,7 +12,7 @@ Copyright @copyright{} 1996--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 48a6fe56cf6..418eb1d6944 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -264,7 +264,7 @@ Copyright @copyright{} 2004--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi index d024d993a3b..6b56bc03223 100644 --- a/doc/misc/pcl-cvs.texi +++ b/doc/misc/pcl-cvs.texi @@ -13,7 +13,7 @@ Copyright @copyright{} 1991--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/pgg.texi b/doc/misc/pgg.texi index 43750ba1448..53c66c8fb34 100644 --- a/doc/misc/pgg.texi +++ b/doc/misc/pgg.texi @@ -19,7 +19,7 @@ Copyright @copyright{} 2001, 2003--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi index 6e136c3345a..2a7c52c33d9 100644 --- a/doc/misc/rcirc.texi +++ b/doc/misc/rcirc.texi @@ -12,7 +12,7 @@ Copyright @copyright{} 2006--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index 99266de4d85..5479dfd9a24 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi @@ -52,7 +52,7 @@ Copyright @copyright{} 1997--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index 28cac08c483..5e2c1e2b0f6 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi @@ -16,7 +16,7 @@ Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/sasl.texi b/doc/misc/sasl.texi index 5f43bdad0d0..ce3300dcc5b 100644 --- a/doc/misc/sasl.texi +++ b/doc/misc/sasl.texi @@ -18,7 +18,7 @@ Copyright @copyright{} 2000, 2004--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index 6a2faea0b7e..83429a8e8e2 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi @@ -21,7 +21,7 @@ Copyright @copyright{} 1993, 2001--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index b72fb3c88cf..0b0d7a364d6 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi @@ -32,7 +32,7 @@ Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index 6e3126841c6..fb4d0887c68 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -18,7 +18,7 @@ Copyright @copyright{} 2002--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi index 15c78884740..422468c2210 100644 --- a/doc/misc/sieve.texi +++ b/doc/misc/sieve.texi @@ -18,7 +18,7 @@ Copyright @copyright{} 2001--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi index 901bfb0a903..cb22dc87d2a 100644 --- a/doc/misc/smtpmail.texi +++ b/doc/misc/smtpmail.texi @@ -10,7 +10,7 @@ Copyright @copyright{} 2003--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi index dfd6e97e7b9..f5acc254c53 100644 --- a/doc/misc/speedbar.texi +++ b/doc/misc/speedbar.texi @@ -11,7 +11,7 @@ Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index a0fcd9e2e94..7c274b4a20a 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -22,7 +22,7 @@ Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi index 3ff205865ae..ad97e608156 100644 --- a/doc/misc/todo-mode.texi +++ b/doc/misc/todo-mode.texi @@ -15,7 +15,7 @@ Copyright @copyright{} 2013-2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index c0a6156a4cf..1f6eaef6880 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -72,7 +72,7 @@ Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @@ -3351,6 +3351,13 @@ if [ "$@{HISTSIZE-unset@}" != "unset" ] ; then fi @end example +Furthermore, if you use an @option{ssh}-based method, you could add +the following line to your @file{~/.ssh/environment} file: + +@example +HISTFILE=/dev/null +@end example + @item There are longish file names to type. How to shorten this? diff --git a/doc/misc/url.texi b/doc/misc/url.texi index 9c9e4f5a2bc..49d4b1526d8 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi @@ -29,7 +29,7 @@ Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 25605aadcac..193d50f3a46 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -11,7 +11,7 @@ Copyright @copyright{} 1987, 2001--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index 58e74473b87..ae122f5aae4 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -15,7 +15,7 @@ Copyright @copyright{} 1995--1997, 2001--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index 434c54547e1..8aca11551ab 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi @@ -15,7 +15,7 @@ Copyright @copyright{} 2000--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi index 3eb5a582914..9435235ec02 100644 --- a/doc/misc/wisent.texi +++ b/doc/misc/wisent.texi @@ -39,7 +39,7 @@ of Bison version 1.49. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License''. diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index fbd4ede7aa2..565d9177d4e 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -21,7 +21,7 @@ Copyright @copyright{} 2001--2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index b16f881c4de..f571b401584 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -705,7 +705,7 @@ Use _Noreturn rather than NO_RETURN. No need for separate decl merely because of _Noreturn. -2012-06-24 Samuel Bronson <naesten@gmail.com> (tiny change) +2012-06-24 Samuel Bronson <naesten@gmail.com> * emacsclient.c (set_local_socket): Fix compiler warning (Bug#7838). diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bdf4e46e9d1..4111e3dfcda 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,81 @@ +2014-05-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * xt-mouse.el: Drop spurious/oddly shaped events (bug#17378). + (xterm-mouse--read-event-sequence-1000): Return nil if something + looks fishy. + (xterm-mouse-event): Propagate it. + (xterm-mouse-translate-1): Handle it. + +2014-05-08 Stephen Berman <stephen.berman@gmx.net> + + * calendar/todo-mode.el (todo-insert-item--apply-args): When all + four slots of the parameter list are filled, make sure to pass it + to the argument list of todo-insert-item--basic. + +2014-05-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/package.el (package-compute-transaction): Topological sort. + Add optional `seen' argument to detect and break infinite loops. + +2014-05-08 Eli Zaretskii <eliz@gnu.org> + + * emacs-lisp/find-gc.el (find-gc-unsafe, find-unsafe-funcs) + (trace-unsafe, trace-use-tree): Make parentheses style be + according to Emacs style. + +2014-05-08 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp-sh.el (tramp-remote-process-environment): + Remove HISTFILE and HISTSIZE; it's too late to set them here. + Add :version entry. + (tramp-open-shell): Do not let-bind `tramp-end-of-output'. + Add "HISTSIZE=/dev/null" to the shell's env arguments. Do not send + extra "PSx=..." commands. + (tramp-maybe-open-connection): Setenv HISTFILE to /dev/null. + (Bug#17295) + + (tramp-uudecode): Replace the hard-coded temporary file name by a + format specifier. + (tramp-remote-coding-commands): Enhance docstring. + (tramp-find-inline-encoding): Replace "%t" by a temporary file + name. (Bug#17415) + +2014-05-08 Glenn Morris <rgm@gnu.org> + + * emacs-lisp/find-gc.el (find-gc-source-directory): Give it a value. + (find-gc-source-files): Update some names. + (trace-call-tree): Simplify and update. + Avoid predictable temp-file names. (http://bugs.debian.org/747100) + +2014-05-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * minibuffer.el (completion--try-word-completion): Revert fix for + Bug#15980 (bug#17375). + + * xt-mouse.el (xterm-mouse--read-event-sequence-1000): (bug#17378) + Always store button numbers in the same way in xterm-mouse-last; + Don't burp is xterm-mouse-last is not set as expected. + Never return negative indices. + +2014-05-08 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-syntax-propertize-function): + Backtrack one char if the global/char-literal var matcher hits + inside a string. The next char could be the beginning of an + expression expansion. + +2014-05-08 Glenn Morris <rgm@gnu.org> + + * help-fns.el (describe-function-1): Test for an autoload before a + macro, since `macrop' works on autoloads. (Bug#17410) + +2014-05-08 Stefan Monnier <monnier@iro.umontreal.ca> + + * electric.el (electric-indent-functions-without-reindent): Add yaml. + + * minibuffer.el (completion-table-with-quoting) <completion--unquote>: + Make sure the new point we return is within the new string (bug#17239). + 2014-05-05 Daniel Colascione <dancol@dancol.org> * progmodes/compile.el (compilation-error-regexp-alist-alist): @@ -84,8 +162,8 @@ (todo-edit-done-item--param-key-alist): New defconsts. (todo-edit-item--prompt): New variable. (todo-edit-item--next-key): New function. - (todo-key-bindings-t): Bind "e" to todo-edit-item. Remove - bindings of deleted commands. + (todo-key-bindings-t): Bind "e" to todo-edit-item. + Remove bindings of deleted commands. 2014-05-04 Leo Liu <sdl.web@gmail.com> diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el index ddc3a4843c9..4f4aefa6317 100644 --- a/lisp/calendar/todo-mode.el +++ b/lisp/calendar/todo-mode.el @@ -5360,7 +5360,8 @@ occupied by `nil'." (list (car (todo-insert-item--argsleft (todo-insert-item--this-key) todo-insert-item--argsleft))))) - (arglist (unless (= 4 (length args)) + (arglist (if (= 4 (length args)) + args (let ((v (make-vector 4 nil)) elt) (while args (setq elt (pop args)) diff --git a/lisp/electric.el b/lisp/electric.el index 52b0595f7d9..e8ceaa6406c 100644 --- a/lisp/electric.el +++ b/lisp/electric.el @@ -221,7 +221,8 @@ Python does not lend itself to fully automatic indentation.") (defvar electric-indent-functions-without-reindent '(indent-relative indent-to-left-margin indent-relative-maybe py-indent-line coffee-indent-line org-indent-line yaml-indent-line - haskell-indentation-indent-line haskell-indent-cycle haskell-simple-indent) + haskell-indentation-indent-line haskell-indent-cycle haskell-simple-indent + yaml-indent-line) "List of indent functions that can't reindent. If `line-indent-function' is one of those, then `electric-indent-mode' will not try to reindent lines. It is normally better to make the major diff --git a/lisp/emacs-lisp/find-gc.el b/lisp/emacs-lisp/find-gc.el index ff9062150db..83eb26e86d7 100644 --- a/lisp/emacs-lisp/find-gc.el +++ b/lisp/emacs-lisp/find-gc.el @@ -23,14 +23,15 @@ ;; Produce in find-gc-unsafe-list the set of all functions that may invoke GC. ;; This expects the Emacs sources to live in find-gc-source-directory. -;; It creates a temporary working directory /tmp/esrc. ;;; Code: (defvar find-gc-unsafe-list nil "The list of unsafe functions is placed here by `find-gc-unsafe'.") -(defvar find-gc-source-directory) +(defvar find-gc-source-directory + (file-name-as-directory (expand-file-name "src" source-directory)) + "Directory containing Emacs C sources.") (defvar find-gc-subrs-callers nil "Alist of users of subrs, from GC testing. @@ -59,22 +60,21 @@ Each entry has the form (FUNCTION . FUNCTIONS-IT-CALLS).") "indent.c" "search.c" "regex.c" "undo.c" "alloc.c" "data.c" "doc.c" "editfns.c" "callint.c" "eval.c" "fns.c" "print.c" "lread.c" - "abbrev.c" "syntax.c" "unexcoff.c" + "syntax.c" "unexcoff.c" "bytecode.c" "process.c" "callproc.c" "doprnt.c" - "x11term.c" "x11fns.c")) + "xterm.c" "xfns.c")) (defun find-gc-unsafe () "Return a list of unsafe functions--that is, which can call GC. -Also store it in `find-gc-unsafe'." +Also store it in `find-gc-unsafe-list'." (trace-call-tree nil) (trace-use-tree) (find-unsafe-funcs 'Fgarbage_collect) (setq find-gc-unsafe-list (sort find-gc-unsafe-list (function (lambda (x y) - (string-lessp (car x) (car y)))))) -) + (string-lessp (car x) (car y))))))) ;;; This does a depth-first search to find all functions that can ;;; ultimately call the function "target". The result is an a-list @@ -84,8 +84,7 @@ Also store it in `find-gc-unsafe'." (defun find-unsafe-funcs (target) (setq find-gc-unsafe-list (list (list target))) - (trace-unsafe target) -) + (trace-unsafe target)) (defun trace-unsafe (func) (let ((used (assq func find-gc-subrs-callers))) @@ -96,53 +95,43 @@ Also store it in `find-gc-unsafe'." (memq (car used) find-gc-noreturn-list) (progn (push (cons (car used) func) find-gc-unsafe-list) - (trace-unsafe (car used)))))) -) + (trace-unsafe (car used))))))) -(defun trace-call-tree (&optional already-setup) +(defun trace-call-tree (&optional ignored) (message "Setting up directories...") - (or already-setup - (progn - ;; Gee, wouldn't a built-in "system" function be handy here. - (call-process "csh" nil nil nil "-c" "rm -rf /tmp/esrc") - (call-process "csh" nil nil nil "-c" "mkdir /tmp/esrc") - (call-process "csh" nil nil nil "-c" - (format "ln -s %s/*.[ch] /tmp/esrc" - find-gc-source-directory)))) - (with-current-buffer (get-buffer-create "*Trace Call Tree*") - (setq find-gc-subrs-called nil) - (let ((case-fold-search nil) - (files find-gc-source-files) - name entry) - (while files - (message "Compiling %s..." (car files)) - (call-process "csh" nil nil nil "-c" - (format "gcc -dr -c /tmp/esrc/%s -o /dev/null" - (car files))) - (erase-buffer) - (insert-file-contents (concat "/tmp/esrc/" (car files) ".rtl")) - (while (re-search-forward ";; Function \\|(call_insn " nil t) - (if (= (char-after (- (point) 3)) ?o) - (progn - (looking-at "[a-zA-Z0-9_]+") - (setq name (intern (buffer-substring (match-beginning 0) - (match-end 0)))) - (message "%s : %s" (car files) name) - (setq entry (list name) - find-gc-subrs-called (cons entry find-gc-subrs-called))) - (if (looking-at ".*\n?.*\"\\([A-Za-z0-9_]+\\)\"") + (setq find-gc-subrs-called nil) + (let ((case-fold-search nil) + (default-directory find-gc-source-directory) + (files find-gc-source-files) + name entry rtlfile) + (dolist (file files) + (message "Compiling %s..." file) + (call-process "gcc" nil nil nil "-I" "." "-I" "../lib" + "-fdump-rtl-expand" "-o" null-device "-c" file) + (setq rtlfile + (file-expand-wildcards (format "%s.*.expand" file) t)) + (if (/= 1 (length rtlfile)) + (message "Error compiling `%s'?" file) + (with-temp-buffer + (insert-file-contents (setq rtlfile (car rtlfile))) + (delete-file rtlfile) + (while (re-search-forward ";; Function \\|(call_insn " nil t) + (if (= (char-after (- (point) 3)) ?o) (progn - (setq name (intern (buffer-substring (match-beginning 1) - (match-end 1)))) - (or (memq name (cdr entry)) - (setcdr entry (cons name (cdr entry)))))))) - (delete-file (concat "/tmp/esrc/" (car files) ".rtl")) - (setq files (cdr files))))) -) - + (looking-at "[a-zA-Z0-9_]+") + (setq name (intern (match-string 0))) + (message "%s : %s" (car files) name) + (setq entry (list name) + find-gc-subrs-called + (cons entry find-gc-subrs-called))) + (if (looking-at ".*\n?.*\"\\([A-Za-z0-9_]+\\)\"") + (progn + (setq name (intern (match-string 1))) + (or (memq name (cdr entry)) + (setcdr entry (cons name (cdr entry))))))))))))) (defun trace-use-tree () (setq find-gc-subrs-callers (mapcar 'list (mapcar 'car find-gc-subrs-called))) @@ -153,8 +142,7 @@ Also store it in `find-gc-unsafe'." (while (setq p2 (cdr p2)) (if (setq found (assq (car p2) find-gc-subrs-callers)) (setcdr found (cons (car (car ptr)) (cdr found))))) - (setq ptr (cdr ptr)))) -) + (setq ptr (cdr ptr))))) (provide 'find-gc) diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 7be0354992f..c194e1352ac 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -868,7 +868,7 @@ MIN-VERSION should be a version list." ;; Also check built-in packages. (package-built-in-p package min-version))) -(defun package-compute-transaction (packages requirements) +(defun package-compute-transaction (packages requirements &optional seen) "Return a list of packages to be installed, including PACKAGES. PACKAGES should be a list of `package-desc'. @@ -880,7 +880,9 @@ version of that package. This function recursively computes the requirements of the packages in REQUIREMENTS, and returns a list of all the packages that must be installed. Packages that are already installed are -not included in this list." +not included in this list. + +SEEN is used internally to detect infinite recursion." ;; FIXME: We really should use backtracking to explore the whole ;; search space (e.g. if foo require bar-1.3, and bar-1.4 requires toto-1.1 ;; whereas bar-1.3 requires toto-1.0 and the user has put a hold on toto-1.0: @@ -893,15 +895,22 @@ not included in this list." (dolist (pkg packages) (if (eq next-pkg (package-desc-name pkg)) (setq already pkg))) - (cond - (already + (when already (if (version-list-<= next-version (package-desc-version already)) - ;; Move to front, so it gets installed early enough (bug#14082). - (setq packages (cons already (delq already packages))) + ;; `next-pkg' is already in `packages', but its position there + ;; means it might be installed too late: remove it from there, so + ;; we re-add it (along with its dependencies) at an earlier place + ;; below (bug#16994). + (if (memq already seen) ;Avoid inf-loop on dependency cycles. + (message "Dependency cycle going through %S" + (package-desc-full-name already)) + (setq packages (delq already packages)) + (setq already nil)) (error "Need package `%s-%s', but only %s is being installed" next-pkg (package-version-join next-version) (package-version-join (package-desc-version already))))) - + (cond + (already nil) ((package-installed-p next-pkg next-version) nil) (t @@ -933,12 +942,13 @@ but version %s required" (t (setq found pkg-desc))))) (unless found (if problem - (error problem) + (error "%s" problem) (error "Package `%s-%s' is unavailable" next-pkg (package-version-join next-version)))) (setq packages (package-compute-transaction (cons found packages) - (package-desc-reqs found)))))))) + (package-desc-reqs found) + (cons found seen)))))))) packages) (defun package-read-from-string (str) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 759a49a91f7..8cc7397794f 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,8 @@ +2014-05-08 Glenn Morris <rgm@gnu.org> + + * gnus-fun.el (gnus-grab-cam-face): + Do not use predictable temp-file name. (http://bugs.debian.org/747100) + 2014-05-04 Glenn Morris <rgm@gnu.org> * gnus-registry.el (gnus-registry-install-p): Doc fix. diff --git a/lisp/gnus/gnus-fun.el b/lisp/gnus/gnus-fun.el index d6b4fba6246..e0d1578f49a 100644 --- a/lisp/gnus/gnus-fun.el +++ b/lisp/gnus/gnus-fun.el @@ -301,20 +301,21 @@ colors of the displayed X-Faces." (interactive) (shell-command "xawtv-remote snap ppm") (let ((file nil) + (tempfile (make-temp-file "gnus-face-" nil ".ppm")) result) (while (null (setq file (directory-files "/tftpboot/sparky/tmp" t "snap.*ppm"))) (sleep-for 1)) (setq file (car file)) (shell-command - (format "pnmcut -left 110 -top 30 -width 144 -height 144 '%s' | pnmscale -width 48 -height 48 | ppmtopgm > /tmp/gnus.face.ppm" - file)) + (format "pnmcut -left 110 -top 30 -width 144 -height 144 '%s' | pnmscale -width 48 -height 48 | ppmtopgm >> %s" + file tempfile)) (let ((gnus-convert-image-to-face-command (format "cat '%%s' | ppmquant %%d | ppmchange %s | pnmtopng" (gnus-fun-ppm-change-string)))) - (setq result (gnus-face-from-file "/tmp/gnus.face.ppm"))) + (setq result (gnus-face-from-file tempfile))) (delete-file file) - ;;(delete-file "/tmp/gnus.face.ppm") + ;;(delete-file tempfile) ; FIXME why are we not deleting it?! result)) (defun gnus-fun-ppm-change-string () diff --git a/lisp/help-fns.el b/lisp/help-fns.el index da4a230468c..25ee1d3149f 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -501,6 +501,11 @@ FILE is the file where FUNCTION was probably defined." ;; aliases before functions. (aliased (format "an alias for `%s'" real-def)) + ((autoloadp def) + (format "%s autoloaded %s" + (if (commandp def) "an interactive" "an") + (if (eq (nth 4 def) 'keymap) "keymap" + (if (nth 4 def) "Lisp macro" "Lisp function")))) ((or (eq (car-safe def) 'macro) ;; For advised macros, def is a lambda ;; expression or a byte-code-function-p, so we @@ -513,11 +518,6 @@ FILE is the file where FUNCTION was probably defined." (concat beg "Lisp function")) ((eq (car-safe def) 'closure) (concat beg "Lisp closure")) - ((autoloadp def) - (format "%s autoloaded %s" - (if (commandp def) "an interactive" "an") - (if (eq (nth 4 def) 'keymap) "keymap" - (if (nth 4 def) "Lisp macro" "Lisp function")))) ((keymapp def) (let ((is-full nil) (elts (cdr-safe def))) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index cec0eb21b38..7245911de4b 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -519,11 +519,35 @@ for use at QPOS." completions)) ((eq action 'completion--unquote) - (let ((ustring (funcall unquote string)) - (uprefix (funcall unquote (substring string 0 pred)))) - ;; We presume (more or less) that `concat' and `unquote' commute. - (cl-assert (string-prefix-p uprefix ustring)) - (list ustring table (length uprefix) + ;; PRED is really a POINT in STRING. + ;; We should return a new set (STRING TABLE POINT REQUOTE) + ;; where STRING is a new (unquoted) STRING to match against the new TABLE + ;; using a new POINT inside it, and REQUOTE is a requoting function which + ;; should reverse the unquoting, (i.e. it receives the completion result + ;; of using the new TABLE and should turn it into the corresponding + ;; quoted result). + (let* ((qpos pred) + (ustring (funcall unquote string)) + (uprefix (funcall unquote (substring string 0 qpos))) + ;; FIXME: we really should pass `qpos' to `unuote' and have that + ;; function give us the corresponding `uqpos'. But for now we + ;; presume (more or less) that `concat' and `unquote' commute. + (uqpos (if (string-prefix-p uprefix ustring) + ;; Yay!! They do seem to commute! + (length uprefix) + ;; They don't commute this time! :-( + ;; Maybe qpos is in some text that disappears in the + ;; ustring (bug#17239). Let's try a second chance guess. + (let ((usuffix (funcall unquote (substring string qpos)))) + (if (string-suffix-p usuffix ustring) + ;; Yay!! They still "commute" in a sense! + (- (length ustring) (length usuffix)) + ;; Still no luck! Let's just choose *some* position + ;; within ustring. + (/ (+ (min (length uprefix) (length ustring)) + (max (- (length ustring) (length usuffix)) 0)) + 2)))))) + (list ustring table uqpos (lambda (unquoted-result op) (pcase op (1 ;;try @@ -853,6 +877,7 @@ completing buffer and file names, respectively." (setq string (pop new)) (setq table (pop new)) (setq point (pop new)) + (cl-assert (<= point (length string))) (pop new)))) (result (completion--some (lambda (style) @@ -1365,19 +1390,18 @@ appear to be a match." ;; instead, but it was too blunt, leading to situations where SPC ;; was the only insertable char at point but minibuffer-complete-word ;; refused inserting it. - (let* ((exts (mapcar (lambda (str) (propertize str 'completion-try-word t)) - '(" " "-"))) - (before (substring string 0 point)) - (after (substring string point)) - (comps - (delete nil - (mapcar (lambda (ext) - (completion-try-completion - (concat before ext after) - table predicate (1+ point) md)) - exts)))) - (when (and (null (cdr comps)) (consp (car comps))) - (setq comp (car comps))))) + (let ((exts (mapcar (lambda (str) (propertize str 'completion-try-word t)) + '(" " "-"))) + (before (substring string 0 point)) + (after (substring string point)) + tem) + ;; If both " " and "-" lead to completions, prefer " " so SPC behaves + ;; a bit more like a self-inserting key (bug#17375). + (while (and exts (not (consp tem))) + (setq tem (completion-try-completion + (concat before (pop exts) after) + table predicate (1+ point) md))) + (if (consp tem) (setq comp tem)))) ;; Completing a single word is actually more difficult than completing ;; as much as possible, because we first have to find the "current diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 893bfa487e3..4364490f431 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -1340,6 +1340,9 @@ used instead of `browse-url-new-window-flag'." (kill-buffer nil))) (if (and pid (zerop (signal-process pid 0))) ; Mosaic running (save-excursion + ;; This is a predictable temp-file name, which is bad, + ;; but it is what Mosaic uses/used. + ;; So it's not Emacs's problem. http://bugs.debian.org/747100 (find-file (format "/tmp/Mosaic.%d" pid)) (erase-buffer) (insert (if (browse-url-maybe-new-window new-window) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 9c86c8c48bd..900e1c812ae 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -425,7 +425,7 @@ as given in your `~/.profile'." ;;;###tramp-autoload (defcustom tramp-remote-process-environment - `("HISTFILE=$HOME/.tramp_history" "HISTSIZE=1" "TMOUT=0" "LC_CTYPE=''" + `("TMOUT=0" "LC_CTYPE=''" ,(format "TERM=%s" tramp-terminal-type) "EMACS=t" ;; Deprecated. ,(format "INSIDE_EMACS='%s,tramp:%s'" emacs-version tramp-version) @@ -440,6 +440,7 @@ which might have been set in the init files like ~/.profile. Special handling is applied to the PATH environment, which should not be set here. Instead, it should be set via `tramp-remote-path'." :group 'tramp + :version "24.4" :type '(repeat string)) (defcustom tramp-sh-extra-args '(("/bash\\'" . "-norc -noprofile")) @@ -491,9 +492,9 @@ This list is used for copying/renaming with out-of-band methods. See `tramp-actions-before-shell' for more info.") (defconst tramp-uudecode - "(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode -cat /tmp/tramp.$$ -rm -f /tmp/tramp.$$" + "(echo begin 600 %t; tail -n +2) | uudecode +cat %t +rm -f %t" "Shell function to implement `uudecode' to standard output. Many systems support `uudecode -o /dev/stdout' or `uudecode -o -' for this or `uudecode -p', but some systems don't, and for them @@ -3726,8 +3727,7 @@ file exists and nonzero exit status otherwise." (with-tramp-progress-reporter vec 5 (format "Opening remote shell `%s'" shell) ;; Find arguments for this shell. - (let ((tramp-end-of-output tramp-initial-end-of-output) - (alist tramp-sh-extra-args) + (let ((alist tramp-sh-extra-args) item extra-args) (while (and alist (null extra-args)) (setq item (pop alist)) @@ -3735,18 +3735,12 @@ file exists and nonzero exit status otherwise." (setq extra-args (cdr item)))) (tramp-send-command vec (format - "exec env ENV='' PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s %s" + "exec env ENV='' HISTFILE=/dev/null PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s %s" (tramp-shell-quote-argument tramp-end-of-output) shell (or extra-args "")) t)) (tramp-set-connection-property - (tramp-get-connection-process vec) "remote-shell" shell) - ;; Setting prompts. - (tramp-send-command - vec (format "PS1=%s" (tramp-shell-quote-argument tramp-end-of-output)) t) - (tramp-send-command vec "PS2=''" t) - (tramp-send-command vec "PS3=''" t) - (tramp-send-command vec "PROMPT_COMMAND=''" t))) + (tramp-get-connection-process vec) "remote-shell" shell))) (defun tramp-find-shell (vec) "Opens a shell on the remote host which groks tilde expansion." @@ -4045,7 +4039,7 @@ Each item is a list that looks like this: \(FORMAT ENCODING DECODING [TEST]\) -FORMAT is symbol describing the encoding/decoding format. It can be +FORMAT is a symbol describing the encoding/decoding format. It can be `b64' for base64 encoding, `uu' for uu encoding, or `pack' for simple packing. ENCODING and DECODING can be strings, giving commands, or symbols, @@ -4055,9 +4049,11 @@ filename will be put into the command line at that spot. If the specifier is not present, the input should be read from standard input. -If they are variables, this variable is a string containing a Perl -implementation for this functionality. This Perl program will be transferred -to the remote host, and it is available as shell function with the same name. +If they are variables, this variable is a string containing a +Perl or Shell implementation for this functionality. This +program will be transferred to the remote host, and it is +available as shell function with the same name. A \"%t\" format +specifier in the variable value denotes a temporary file. The optional TEST command can be used for further tests, whether ENCODING and DECODING are applicable.") @@ -4136,10 +4132,25 @@ Goes through the list `tramp-local-coding-commands' and (throw 'wont-work-remote nil)) (when (not (stringp rem-dec)) - (let ((name (symbol-name rem-dec))) + (let ((name (symbol-name rem-dec)) + (value (symbol-value rem-dec)) + tmpfile) (while (string-match (regexp-quote "-") name) (setq name (replace-match "_" nil t name))) - (tramp-maybe-send-script vec (symbol-value rem-dec) name) + (when (string-match "%t" value) + (setq tmpfile + (make-temp-name + (expand-file-name + tramp-temp-name-prefix + (tramp-get-remote-tmpdir vec))) + value + (format-spec + value + (format-spec-make + ?t + (tramp-file-name-handler + 'file-remote-p tmpfile 'localname))))) + (tramp-maybe-send-script vec value name) (setq rem-dec name))) (tramp-message vec 5 @@ -4456,6 +4467,7 @@ connection if a previous connection has died for some reason." (delete-process p)) (setenv "TERM" tramp-terminal-type) (setenv "LC_ALL" "en_US.utf8") + (setenv "HISTFILE" "/dev/null") (setenv "PROMPT_COMMAND") (setenv "PS1" tramp-initial-end-of-output) (let* ((target-alist (tramp-compute-multi-hops vec)) diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 912736707ef..74edf7a680f 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -1804,9 +1804,10 @@ It will be properly highlighted even when the call omits parens.") ;; $' $" $` .... are variables. ;; ?' ?" ?` are character literals (one-char strings in 1.9+). ("\\([?$]\\)[#\"'`]" - (1 (unless (save-excursion - ;; Not within a string. - (nth 3 (syntax-ppss (match-beginning 0)))) + (1 (if (save-excursion + (nth 3 (syntax-ppss (match-beginning 0)))) + ;; Within a string, skip. + (goto-char (match-end 1)) (string-to-syntax "\\")))) ;; Part of symbol when at the end of a method name. ("[!?]" diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el index b03b2c95394..fc515974036 100644 --- a/lisp/xt-mouse.el +++ b/lisp/xt-mouse.el @@ -63,8 +63,8 @@ http://invisible-island.net/xterm/ctlseqs/ctlseqs.html)." (defun xterm-mouse-translate-1 (&optional extension) (save-excursion - (save-window-excursion - (deactivate-mark) + (save-window-excursion ;FIXME: Why? + (deactivate-mark) ;FIXME: Why? (let* ((xterm-mouse-last nil) (down (xterm-mouse-event extension)) (down-command (nth 0 down)) @@ -73,10 +73,10 @@ http://invisible-island.net/xterm/ctlseqs/ctlseqs.html)." (down-binding (key-binding (if (symbolp down-where) (vector down-where down-command) (vector down-command)))) - (is-click (string-match "^mouse" (symbol-name (car down))))) + (is-down (string-match "down" (symbol-name (car down))))) ;; Retrieve the expected preface for the up-event. - (unless is-click + (unless is-down (unless (cond ((null extension) (and (eq (read-event) ?\e) (eq (read-event) ?\[) @@ -88,14 +88,17 @@ http://invisible-island.net/xterm/ctlseqs/ctlseqs.html)." (error "Unexpected escape sequence from XTerm"))) ;; Process the up-event. - (let* ((click (if is-click down (xterm-mouse-event extension))) + (let* ((click (if is-down (xterm-mouse-event extension) down)) (click-data (nth 1 click)) (click-where (nth 1 click-data))) - (if (memq down-binding '(nil ignore)) - (if (and (symbolp click-where) - (consp click-where)) - (vector (list click-where click-data) click) - (vector click)) + (cond + ((null down) nil) + ((memq down-binding '(nil ignore)) + (if (and (symbolp click-where) + (consp click-where)) + (vector (list click-where click-data) click) + (vector click))) + (t (setq unread-command-events (append (if (eq down-where click-where) (list click) @@ -114,7 +117,7 @@ http://invisible-island.net/xterm/ctlseqs/ctlseqs.html)." (if (and (symbolp down-where) (consp down-where)) (vector (list down-where down-data) down) - (vector down)))))))) + (vector down))))))))) ;; These two variables have been converted to terminal parameters. ;; @@ -153,7 +156,8 @@ http://invisible-island.net/xterm/ctlseqs/ctlseqs.html)." ;; Normal terminal mouse click reporting: expect three bytes, of the ;; form <BUTTON+32> <X+32> <Y+32>. Return a list (EVENT-TYPE X Y). (defun xterm-mouse--read-event-sequence-1000 () - (list (let ((code (- (read-event) 32))) + (let* ((code (- (read-event) 32)) + (type (intern ;; For buttons > 3, the release-event looks differently ;; (see xc/programs/xterm/button.c, function EditorButton), @@ -161,21 +165,21 @@ http://invisible-island.net/xterm/ctlseqs/ctlseqs.html)." (cond ((>= code 64) (format "mouse-%d" (- code 60))) ((memq code '(8 9 10)) - (setq xterm-mouse-last code) + (setq xterm-mouse-last (- code 8)) (format "M-down-mouse-%d" (- code 7))) - ((= code 11) - (format "M-mouse-%d" (- xterm-mouse-last 7))) - ((= code 3) - ;; For buttons > 5 xterm only reports a - ;; button-release event. Avoid error by mapping - ;; them all to mouse-1. - (format "mouse-%d" (+ 1 (or xterm-mouse-last 0)))) - (t + ((and (= code 11) xterm-mouse-last) + (format "M-mouse-%d" (1+ xterm-mouse-last))) + ((and (= code 3) xterm-mouse-last) + ;; For buttons > 5 xterm only reports a button-release event. + ;; Drop them since they're not usable and can be spurious. + (format "mouse-%d" (1+ xterm-mouse-last))) + ((memq code '(0 1 2)) (setq xterm-mouse-last code) (format "down-mouse-%d" (+ 1 code)))))) - ;; x and y coordinates - (- (read-event) 33) - (- (read-event) 33))) + (x (- (read-event) 33)) + (y (- (read-event) 33))) + (and type (wholenump x) (wholenump y) + (list type x y)))) ;; XTerm's 1006-mode terminal mouse click reporting has the form ;; <BUTTON> ; <X> ; <Y> <M or m>, where the button and ordinates are @@ -222,32 +226,33 @@ which is the \"1006\" extension implemented in Xterm >= 277." ((eq extension 1006) (xterm-mouse--read-event-sequence-1006)) (t - (error "Unsupported XTerm mouse protocol")))) - (type (nth 0 click)) - (x (nth 1 click)) - (y (nth 2 click)) - ;; Emulate timestamp information. This is accurate enough - ;; for default value of mouse-1-click-follows-link (450msec). - (timestamp (xterm-mouse-truncate-wrap - (* 1000 - (- (float-time) - (or xt-mouse-epoch - (setq xt-mouse-epoch (float-time))))))) - (w (window-at x y)) - (ltrb (window-edges w)) - (left (nth 0 ltrb)) - (top (nth 1 ltrb))) - (set-terminal-parameter nil 'xterm-mouse-x x) - (set-terminal-parameter nil 'xterm-mouse-y y) - (setq - last-input-event - (list type - (let ((event (if w - (posn-at-x-y (- x left) (- y top) w t) - (append (list nil 'menu-bar) - (nthcdr 2 (posn-at-x-y x y)))))) - (setcar (nthcdr 3 event) timestamp) - event))))) + (error "Unsupported XTerm mouse protocol"))))) + (when click + (let* ((type (nth 0 click)) + (x (nth 1 click)) + (y (nth 2 click)) + ;; Emulate timestamp information. This is accurate enough + ;; for default value of mouse-1-click-follows-link (450msec). + (timestamp (xterm-mouse-truncate-wrap + (* 1000 + (- (float-time) + (or xt-mouse-epoch + (setq xt-mouse-epoch (float-time))))))) + (w (window-at x y)) + (ltrb (window-edges w)) + (left (nth 0 ltrb)) + (top (nth 1 ltrb))) + (set-terminal-parameter nil 'xterm-mouse-x x) + (set-terminal-parameter nil 'xterm-mouse-y y) + (setq + last-input-event + (list type + (let ((event (if w + (posn-at-x-y (- x left) (- y top) w t) + (append (list nil 'menu-bar) + (nthcdr 2 (posn-at-x-y x y)))))) + (setcar (nthcdr 3 event) timestamp) + event))))))) ;;;###autoload (define-minor-mode xterm-mouse-mode diff --git a/src/ChangeLog b/src/ChangeLog index 3aef0c729f6..72e78724bab 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,29 @@ +2014-05-08 Paul Eggert <eggert@cs.ucla.edu> + + * minibuf.c (read_minibuf): Avoid C99ism in previous patch (Bug#17430). + +2014-05-08 Jarek Czekalski <jarekczek@poczta.onet.pl> + + Fix initialization of minibuffer history variable (Bug#17430). + * minibuf.c (read_minibuf): Initialize histval to Qnil if unbound. + Move the initialization up to prevent any "value void" message. + +2014-05-08 Samuel Bronson <naesten@gmail.com> + + * keyboard.c (Frecursive_edit): Ensure inc&dec of command_loop_level + are matched (bug#17413). + +2014-05-08 Jarek Czekalski <jarekczek@poczta.onet.pl> + + Stop tooltips pulling Emacs window to front (Bug#17408). + * w32fns.c (Fx_show_tip): Add SWP_NOOWNERZORDER flag to + SetWindowPos invocations. + +2014-05-08 Jan Djärv <jan.h.d@swipnet.se> + + * nsselect.m (Fx_selection_exists_p): Just return Qnil if window system + not initialized (Bug#17398). + 2014-05-07 Paul Eggert <eggert@cs.ucla.edu> * image.c: Include <png.h> before <setjmp.h> (Bug#17429). diff --git a/src/keyboard.c b/src/keyboard.c index d52483e6a18..a5a9ad93047 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -825,22 +825,25 @@ This function is called by the editor initialization to begin editing. */) if (input_blocked_p ()) return Qnil; - command_loop_level++; - update_mode_lines = 17; - - if (command_loop_level + if (command_loop_level >= 0 && current_buffer != XBUFFER (XWINDOW (selected_window)->contents)) buffer = Fcurrent_buffer (); else buffer = Qnil; + /* Don't do anything interesting between the increment and the + record_unwind_protect! Otherwise, we could get distracted and + never decrement the counter again. */ + command_loop_level++; + update_mode_lines = 17; + record_unwind_protect (recursive_edit_unwind, buffer); + /* If we leave recursive_edit_1 below with a `throw' for instance, like it is done in the splash screen display, we have to make sure that we restore single_kboard as command_loop_1 would have done if it were left normally. */ if (command_loop_level > 0) temporarily_switch_to_single_kboard (SELECTED_FRAME ()); - record_unwind_protect (recursive_edit_unwind, buffer); recursive_edit_1 (); return unbind_to (count, Qnil); diff --git a/src/minibuf.c b/src/minibuf.c index 8b742cf88ca..06fe0c07df6 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -384,6 +384,7 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, EMACS_INT pos = 0; /* String to add to the history. */ Lisp_Object histstring; + Lisp_Object histval; Lisp_Object empty_minibuf; Lisp_Object dummy, frame; @@ -535,6 +536,14 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, if (!NILP (Vminibuffer_completing_file_name)) Vminibuffer_completing_file_name = Qlambda; + /* If variable is unbound, make it nil. */ + histval = find_symbol_value (Vminibuffer_history_variable); + if (EQ (histval, Qunbound)) + { + Fset (Vminibuffer_history_variable, Qnil); + histval = Qnil; + } + if (inherit_input_method) { /* `current-input-method' is buffer local. So, remember it in @@ -703,13 +712,6 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, { /* If the caller wanted to save the value read on a history list, then do so if the value is not already the front of the list. */ - Lisp_Object histval; - - /* If variable is unbound, make it nil. */ - - histval = find_symbol_value (Vminibuffer_history_variable); - if (EQ (histval, Qunbound)) - Fset (Vminibuffer_history_variable, Qnil); /* The value of the history variable must be a cons or nil. Other values are unacceptable. We silently ignore these values. */ diff --git a/src/nsselect.m b/src/nsselect.m index f4713cb5e10..038849c0aed 100644 --- a/src/nsselect.m +++ b/src/nsselect.m @@ -429,7 +429,9 @@ On Nextstep, TERMINAL is unused. */) id pb; NSArray *types; - check_window_system (NULL); + if (!window_system_available (NULL)) + return Qnil; + CHECK_SYMBOL (selection); if (EQ (selection, Qnil)) selection = QPRIMARY; if (EQ (selection, Qt)) selection = QSECONDARY; diff --git a/src/w32fns.c b/src/w32fns.c index 77476757c2f..fa988583f33 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -6035,12 +6035,13 @@ Text larger than the specified size is clipped. */) /* Put tooltip in topmost group and in position. */ SetWindowPos (FRAME_W32_WINDOW (f), HWND_TOPMOST, root_x, root_y, 0, 0, - SWP_NOSIZE | SWP_NOACTIVATE); + SWP_NOSIZE | SWP_NOACTIVATE | SWP_NOOWNERZORDER); /* Ensure tooltip is on top of other topmost windows (eg menus). */ SetWindowPos (FRAME_W32_WINDOW (f), HWND_TOP, 0, 0, 0, 0, - SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); + SWP_NOMOVE | SWP_NOSIZE + | SWP_NOACTIVATE | SWP_NOOWNERZORDER); unblock_input (); goto start_timer; @@ -6238,12 +6239,13 @@ Text larger than the specified size is clipped. */) SetWindowPos (FRAME_W32_WINDOW (f), HWND_TOPMOST, root_x, root_y, rect.right - rect.left + FRAME_COLUMN_WIDTH (f), - rect.bottom - rect.top, SWP_NOACTIVATE); + rect.bottom - rect.top, SWP_NOACTIVATE | SWP_NOOWNERZORDER); /* Ensure tooltip is on top of other topmost windows (eg menus). */ SetWindowPos (FRAME_W32_WINDOW (f), HWND_TOP, 0, 0, 0, 0, - SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); + SWP_NOMOVE | SWP_NOSIZE + | SWP_NOACTIVATE | SWP_NOOWNERZORDER); /* Let redisplay know that we have made the frame visible already. */ SET_FRAME_VISIBLE (f, 1); diff --git a/test/ChangeLog b/test/ChangeLog index 29e299e5eaa..5cb8aae8c1f 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,17 @@ +2014-05-08 Glenn Morris <rgm@gnu.org> + + * automated/vc-bzr.el (vc-bzr-test-bug9726, vc-bzr-test-bug9781) + (vc-bzr-test-faulty-bzr-autoloads): Disable bzr logging. + +2014-05-08 Dmitry Gutov <dgutov@yandex.ru> + + * automated/ruby-mode-tests.el (ruby-interpolation-after-dollar-sign): + New test. + +2014-05-08 Glenn Morris <rgm@gnu.org> + + * automated/help-fns.el: New file. + 2014-05-01 Barry O'Reilly <gundaetiapo@gmail.com> * automated/undo-tests.el (undo-test-region-deletion): New test to diff --git a/test/automated/help-fns.el b/test/automated/help-fns.el new file mode 100644 index 00000000000..153de7f9e30 --- /dev/null +++ b/test/automated/help-fns.el @@ -0,0 +1,37 @@ +;;; help-fns.el --- tests for help-fns.el + +;; Copyright (C) 2014 Free Software Foundation, Inc. + +;; Maintainer: emacs-devel@gnu.org + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary: + +;;; Code: + +(require 'ert) + +(autoload 'help-fns-test--macro "help-fns" nil nil t) + +(ert-deftest help-fns-test-bug17410 () + "Test for http://debbugs.gnu.org/17410 ." + (describe-function 'help-fns-test--macro) + (with-current-buffer "*Help*" + (goto-char (point-min)) + (should (search-forward "autoloaded Lisp macro" (line-end-position))))) + +;;; help-fns.el ends here diff --git a/test/automated/ruby-mode-tests.el b/test/automated/ruby-mode-tests.el index f6fddb5ef4c..0ad5650cd77 100644 --- a/test/automated/ruby-mode-tests.el +++ b/test/automated/ruby-mode-tests.el @@ -452,6 +452,10 @@ VALUES-PLIST is a list with alternating index and value elements." (ruby-assert-face "%w{foo #@bar}" 8 font-lock-string-face) (ruby-assert-face "%s{foo #@bar}" 8 font-lock-string-face)) +(ert-deftest ruby-interpolation-after-dollar-sign () + (ruby-assert-face "\"$#{balance}\"" 2 'font-lock-string-face) + (ruby-assert-face "\"$#{balance}\"" 3 'font-lock-variable-name-face)) + (ert-deftest ruby-no-unknown-percent-literals () ;; No folding of case. (ruby-assert-face "%S{foo}" 4 nil) diff --git a/test/automated/vc-bzr.el b/test/automated/vc-bzr.el index e2ea3f6aeea..5cfa3c2691f 100644 --- a/test/automated/vc-bzr.el +++ b/test/automated/vc-bzr.el @@ -33,7 +33,9 @@ (skip-unless (executable-find vc-bzr-program)) (let* ((tempdir (make-temp-file "vc-bzr-test" t)) (ignored-dir (expand-file-name "ignored-dir" tempdir)) - (default-directory (file-name-as-directory tempdir))) + (default-directory (file-name-as-directory tempdir)) + (process-environment (cons (format "BZR_LOG=%s" null-device) + process-environment))) (unwind-protect (progn (make-directory ignored-dir) @@ -64,7 +66,9 @@ (let* ((tempdir (make-temp-file "vc-bzr-test" t)) (subdir (expand-file-name "subdir" tempdir)) (file (expand-file-name "file" tempdir)) - (default-directory (file-name-as-directory tempdir))) + (default-directory (file-name-as-directory tempdir)) + (process-environment (cons (format "BZR_LOG=%s" null-device) + process-environment))) (unwind-protect (progn (call-process vc-bzr-program nil nil nil "init") @@ -100,7 +104,9 @@ (let* ((tempdir (make-temp-file "vc-bzr-test" t)) (file (expand-file-name "foo.el" tempdir)) (default-directory (file-name-as-directory tempdir)) - (generated-autoload-file (expand-file-name "loaddefs.el" tempdir))) + (generated-autoload-file (expand-file-name "loaddefs.el" tempdir)) + (process-environment (cons (format "BZR_LOG=%s" null-device) + process-environment))) (unwind-protect (progn (call-process vc-bzr-program nil nil nil "init") |
