Merge from emacs-24; up to 2014-05-08T03:34:20Z!rgm@gnu.org

This commit is contained in:
Glenn Morris 2014-05-07 20:41:21 -07:00
commit fb3f83f5fd
87 changed files with 513 additions and 254 deletions

View file

@ -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''.

View file

@ -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.''

View file

@ -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.

View file

@ -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.''

View file

@ -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
@ -1615,12 +1630,6 @@ using a @code{printf}-family function.
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
@ -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?

View file

@ -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

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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.''

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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.''

View file

@ -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''.

View file

@ -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''.

View file

@ -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.''

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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.''

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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.''

View file

@ -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''.

View file

@ -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''.

View file

@ -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.''

View file

@ -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.''

View file

@ -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''.

View file

@ -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.''

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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.''

View file

@ -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.''

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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?

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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''.

View file

@ -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.''

View file

@ -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).

View file

@ -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>

View file

@ -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))

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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.

View file

@ -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 ()

View file

@ -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)))

View file

@ -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

View file

@ -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)

View file

@ -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))

View file

@ -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.
("[!?]"

View file

@ -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

View file

@ -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).

View file

@ -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);

View file

@ -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. */

View file

@ -429,7 +429,9 @@ Updated by Christian Limpach (chris@nice.ch)
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;

View file

@ -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);

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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")