This commit is contained in:
John Wiegley 2016-01-18 22:56:33 -08:00
commit 6acd2aa02c
61 changed files with 669 additions and 210 deletions

View file

@ -274,7 +274,9 @@ top-level directory. Most tests are in the directory
Tests which are tagged ":expensive-test" are enabled additionally, if
you run "make check-expensive" from the top-level directory. "make
<filename>" as mentioned above incorporates expensive tests for
<filename>.el(c).
<filename>.el(c). You can also define any ert selector on the command
line. So "make check SELECTOR=nil" is equivalent to "make
check-expensive".
** Understanding Emacs Internals.

View file

@ -22180,10 +22180,10 @@
2015-05-21 kwhite <kwhite@gnu.org>
* lisp/erc/erc.el: Hide network/channel messages.
(erc-network-hide-list, etc-channel-hide-list): New lists to define
(erc-network-hide-list, erc-channel-hide-list): New lists to define
message types per network/channel.
(erc-add-targets): New function to parse list of targets.
(erc-hide-current-message-p): Modified to check for new targets.
(erc-hide-current-message-p): Modify to check for new targets.
2015-05-21 Paul Eggert <eggert@cs.ucla.edu>

View file

@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
if 0;
# Convert git log output to ChangeLog format.
my $VERSION = '2015-06-11 01:03'; # UTC
my $VERSION = '2016-01-11 22:04'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
@ -487,6 +487,6 @@ sub git_dir_option($)
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "my $VERSION = '"
# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "'; # UTC"
# End:

View file

@ -2,7 +2,7 @@
# Like mv $1 $2, but if the files are the same, just delete $1.
# Status is zero if successful, nonzero otherwise.
VERSION='2012-01-06 07:23'; # UTC
VERSION='2016-01-11 22:04'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
@ -78,6 +78,6 @@ fi
## eval: (add-hook 'write-file-hooks 'time-stamp)
## time-stamp-start: "VERSION='"
## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
## time-stamp-time-zone: "UTC"
## time-stamp-time-zone: "UTC0"
## time-stamp-end: "'; # UTC"
## End:

View file

@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
if 0;
# Update an FSF copyright year list to include the current year.
my $VERSION = '2015-01-15.20:53'; # UTC
my $VERSION = '2016-01-11.22:04'; # UTC
# Copyright (C) 2009-2016 Free Software Foundation, Inc.
#
@ -269,6 +269,6 @@ else
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "my $VERSION = '"
# time-stamp-format: "%:y-%02m-%02d.%02H:%02M"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "'; # UTC"
# End:

View file

@ -881,9 +881,10 @@ Time-stamp: " "
@code{before-save-hook} (@pxref{Hooks}). When you save the file, this
function then automatically updates the time stamp with the current
date and time. You can also use the command @kbd{M-x time-stamp} to
update the time stamp manually. For other customizations, see the
Custom group @code{time-stamp}. Note that the time stamp is formatted
according to your locale setting (@pxref{Environment}).
update the time stamp manually. By default the time stamp is
formatted according to your locale setting (@pxref{Environment}) and
time zone (@pxref{Time of Day,,, elisp, The Emacs Lisp Reference
Manual}). For customizations, see the Custom group @code{time-stamp}.
@node Reverting
@section Reverting a Buffer

View file

@ -655,7 +655,7 @@ and the right button generates @kbd{mouse-3} events. If this variable
is non-@code{nil}, the roles of these two buttons are reversed.
@node Windows Processes
@section Subprocesses on Windows 9X/ME and Windows NT/2K/XP
@section Subprocesses on Windows 9X/ME and Windows NT/2K/XP/Vista/7/8/10
@cindex subprocesses on MS-Windows
@cindex DOS applications, running from Emacs
@ -663,7 +663,8 @@ is non-@code{nil}, the roles of these two buttons are reversed.
version) includes full support for asynchronous subprocesses.
In the Windows version, synchronous and asynchronous subprocesses work
fine on both
Windows 9X/ME and Windows NT/2K/XP as long as you run only 32-bit Windows
Windows 9X/ME and Windows NT/2K/XP/Vista/7/8/10 as long as you run
only 32-bit or 64-bit Windows
applications. However, when you run a DOS application in a subprocess,
you may encounter problems or be unable to run the application at all;
and if you run two DOS applications at the same time in two
@ -713,6 +714,15 @@ character. If the value is a character, Emacs uses that character to escape
any quote characters that appear; otherwise it chooses a suitable escape
character based on the type of the program.
@vindex w32-pipe-buffer-size
The variable @code{w32-pipe-buffer-size} controls the size of the
buffer Emacs requests from the system when it creates pipes for
communications with subprocesses. The default value is zero, which
lets the OS choose the size. Any valid positive value will request a
buffer of that size in bytes. This can be used to tailor
communications with subprocesses to programs that exhibit unusual
behavior with respect to buffering pipe I/O.
@ifnottex
@findex w32-shell-execute
The function @code{w32-shell-execute} can be useful for writing

View file

@ -95,11 +95,6 @@ redisplay proceeded to completion; it could have been preempted by
newly arriving input.
@end defun
@defvar pre-redisplay-function
A function run just before redisplay. It is called with one argument,
the set of windows to redisplay.
@end defvar
Although @code{redisplay} tries immediately to redisplay, it does
not change how Emacs decides which parts of its frame(s) to redisplay.
By contrast, the following function adds certain windows to the
@ -117,6 +112,19 @@ This function does not do a redisplay immediately; Emacs does that as
it waits for input, or when the function @code{redisplay} is called.
@end defun
@defvar pre-redisplay-function
A function run just before redisplay. It is called with one argument,
the set of windows to be redisplayed. The set can be @code{nil},
meaning only the selected window, or @code{t}, meaning all the
windows.
@end defvar
@defvar pre-redisplay-functions
This hook is run just before redisplay. It is called once in each
window that is about to be redisplayed, with @code{current-buffer} set
to the buffer displayed in that window.
@end defvar
@node Truncation
@section Truncation
@cindex line wrapping
@ -1713,7 +1721,8 @@ invisible, which means that it does not appear on the screen.
@item intangible
@kindex intangible @r{(overlay property)}
The @code{intangible} property on an overlay works just like the
@code{intangible} text property. @xref{Special Properties}, for details.
@code{intangible} text property. It is obsolete. @xref{Special
Properties}, for details.
@item isearch-open-invisible
This property tells incremental search how to make an invisible overlay

View file

@ -180,6 +180,26 @@ Hook run when about to switch windows with a mouse command.
@item mouse-position-function
@xref{Mouse Position}.
@item prefix-command-echo-keystrokes-functions
@vindex prefix-command-echo-keystrokes-functions
An abnormal hook run by prefix commands (such as @kbd{C-u}) which
should return a string describing the current prefix state. For
example, @kbd{C-u} produces @samp{C-u-} and @samp{C-u 1 2 3-}. Each
hook function is called with no arguments and should return a string
describing the current prefix state, or @code{nil} if there's no
prefix state. @xref{Prefix Command Arguments}.
@item prefix-command-preserve-state-hook
@vindex prefix-command-preserve-state-hook
Hook run when a prefix command needs to preserve the prefix by passing
the current prefix command state to the next command. For example,
@kbd{C-u} needs to pass the state to the next command when the user
types @kbd{C-u -} or follows @kbd{C-u} with a digit.
@item pre-redisplay-functions
Hook run in each window just before redisplaying it. @xref{Forcing
Redisplay}.
@item post-command-hook
@itemx pre-command-hook
@xref{Command Overview}.

View file

@ -202,8 +202,8 @@ This variable specifies an alternate expression-reading function for
@code{load} and @code{eval-region} to use instead of @code{read}.
The function should accept one argument, just as @code{read} does.
Normally, the variable's value is @code{nil}, which means those
functions should use @code{read}.
By default, this variable's value is @code{read}. @xref{Input
Functions}.
Instead of using this variable, it is cleaner to use another, newer
feature: to pass the function as the @var{read-function} argument to

View file

@ -576,7 +576,7 @@ If an editor command sets this variable non-@code{nil}, then the editor
command loop deactivates the mark after the command returns (if
Transient Mark mode is enabled). All the primitives that change the
buffer set @code{deactivate-mark}, to deactivate the mark when the
command is finished.
command is finished. Setting this variable makes it buffer-local.
To write Lisp code that modifies the buffer without causing
deactivation of the mark at the end of the command, bind

View file

@ -1236,14 +1236,14 @@ Lisp function. When possible, do all minibuffer input as part of
reading the arguments for a command, in the @code{interactive}
specification. @xref{Defining Commands}.
@defun read-buffer prompt &optional default require-match
@defun read-buffer prompt &optional default require-match predicate
This function reads the name of a buffer and returns it as a string.
The argument @var{default} is the default name to use, the value to
return if the user exits with an empty minibuffer. If non-@code{nil},
it should be a string, a list of strings, or a buffer. If it is
a list, the default value is the first element of this list. It is
mentioned in the prompt, but is not inserted in the minibuffer as
initial input.
It prompts with @var{prompt}. The argument @var{default} is the
default name to use, the value to return if the user exits with an
empty minibuffer. If non-@code{nil}, it should be a string, a list of
strings, or a buffer. If it is a list, the default value is the first
element of this list. It is mentioned in the prompt, but is not
inserted in the minibuffer as initial input.
The argument @var{prompt} should be a string ending with a colon and a
space. If @var{default} is non-@code{nil}, the function inserts it in
@ -1253,6 +1253,12 @@ the minibuffer with a default value (@pxref{Programming Tips}).
The optional argument @var{require-match} has the same meaning as in
@code{completing-read}. @xref{Minibuffer Completion}.
The optional argument @var{predicate}, if non-@code{nil}, specifies a
function to filter the buffers that should be considered: the function
will be called with every potential candidate as its argument, and
should return @code{nil} to reject the candidate, non-@code{nil} to
accept it.
In the following example, the user enters @samp{minibuffer.t}, and
then types @key{RET}. The argument @var{require-match} is @code{t},
and the only buffer name starting with the given input is
@ -1287,7 +1293,7 @@ its usual work, with the same arguments passed to @code{read-buffer}.
@defopt read-buffer-completion-ignore-case
If this variable is non-@code{nil}, @code{read-buffer} ignores case
when performing completion.
when performing completion while reading the buffer name.
@end defopt
@defun read-command prompt &optional default
@ -1812,13 +1818,19 @@ emacs, The GNU Emacs Manual}. Its argument list and return value are
the same as for @code{display-sort-function}.
@end table
@defun completion-table-dynamic function
@defun completion-table-dynamic function &optional switch-buffer
This function is a convenient way to write a function that can act as
a programmed completion function. The argument @var{function} should be
a function that takes one argument, a string, and returns an alist of
possible completions of it. You can think of
possible completions of it. It is allowed to ignore the argument and
return a full list of all possible completions. You can think of
@code{completion-table-dynamic} as a transducer between that interface
and the interface for programmed completion functions.
If the optional argument @var{switch-buffer} is non-@code{nil}, and
completion is performed in the minibuffer, @var{function} will be
called with current buffer set to the buffer from which the minibuffer
was entered.
@end defun
@defun completion-table-with-cache function &optional ignore-case

View file

@ -123,6 +123,45 @@ In other words, the value does not change for all byte positions that
belong to the same character.
@end defun
@cindex convert file byte to buffer position
@cindex convert buffer position to file byte
The following two functions are useful when a Lisp program needs to
map buffer positions to byte offsets in a file visited by the buffer.
@defun bufferpos-to-filepos position &optional quality coding-system
This function is similar to @code{position-bytes}, but instead of byte
position in the current buffer it returns the offset from the
beginning of the current buffer's file of the byte that corresponds to
the given character @var{position} in the buffer. The conversion
requires to know how the text is encoded in the buffer's file; this is
what the @var{coding-system} argument is for, defaulting to the value
of @code{buffer-file-coding-system}. The optional argument
@var{quality} specifies how accurate the result should be; it should
be one of the following:
@table @code
@item exact
The result must be accurate. The function may need to encode and
decode a large part of the buffer.
@item approximate
The value can be an approximation. The function may avoid expensive
processing and return an inexact result.
@item nil
If the exact result needs expensive processing, the function will
return @code{nil} rather than an approximation. This is the default
if the argument is omitted.
@end table
@end defun
@defun filepos-to-bufferpos byte &optional quality coding-system
This function returns the buffer position corresponding to a file
position specified by @var{byte}, a zero-base byte offset from the
file's beginning. The function performs the conversion opposite to
what @code{bufferpos-to-filepos} does. Optional arguments
@var{quality} and @var{coding-system} have the same meaning and values
as for @code{bufferpos-to-filepos}.
@end defun
@defun multibyte-string-p string
Return @code{t} if @var{string} is a multibyte string, @code{nil}
otherwise. This function also returns @code{nil} if @var{string} is

View file

@ -1138,10 +1138,12 @@ The function returns @var{process}.
@end defun
@defun process-running-child-p &optional process
This function will tell you whether a @var{process} has given control of
its terminal to its own child process. The value is @code{t} if this is
true, or if Emacs cannot tell; it is @code{nil} if Emacs can be certain
that this is not so.
This function will tell you whether a @var{process} has given control
of its terminal to its own child process. If this is true, the
function returns the numeric ID of the foreground process group of
@var{process}; it returns @code{nil} if Emacs can be certain that this
is not so. The value is @code{t} if Emacs cannot tell whether this is
true.
@end defun
@node Signals to Processes

View file

@ -1151,16 +1151,17 @@ comes back" twice.
@end example
@end defun
@defun looking-back regexp &optional limit greedy
@defun looking-back regexp limit &optional greedy
This function returns @code{t} if @var{regexp} matches the text
immediately before point (i.e., ending at point), and @code{nil} otherwise.
Because regular expression matching works only going forward, this is
implemented by searching backwards from point for a match that ends at
point. That can be quite slow if it has to search a long distance.
You can bound the time required by specifying @var{limit}, which says
not to search before @var{limit}. In this case, the match that is
found must begin at or after @var{limit}. Here's an example:
You can bound the time required by specifying a non-@code{nil} value
for @var{limit}, which says not to search before @var{limit}. In this
case, the match that is found must begin at or after @var{limit}.
Here's an example:
@example
@group
@ -1178,9 +1179,9 @@ comes back" twice.
If @var{greedy} is non-@code{nil}, this function extends the match
backwards as far as possible, stopping when a single additional
previous character cannot be part of a match for regexp. When the
match is extended, its starting position is allowed to occur before
@var{limit}.
previous character cannot be part of a match for @var{regexp}. When
the match is extended, its starting position is allowed to occur
before @var{limit}.
@c http://debbugs.gnu.org/5689
As a general recommendation, try to avoid using @code{looking-back}

View file

@ -3380,14 +3380,22 @@ If consecutive characters have unequal non-@code{nil}
@code{intangible} properties, they belong to separate groups; each
group is separately treated as described above.
When the variable @code{inhibit-point-motion-hooks} is non-@code{nil},
the @code{intangible} property is ignored.
When the variable @code{inhibit-point-motion-hooks} is non-@code{nil}
(as it is by default), the @code{intangible} property is ignored.
Beware: this property operates at a very low level, and affects a lot of code
in unexpected ways. So use it with extreme caution. A common misuse is to put
an intangible property on invisible text, which is actually unnecessary since
the command loop will move point outside of the invisible text at the end of
each command anyway. @xref{Adjusting Point}.
each command anyway. @xref{Adjusting Point}. For these reasons, this
property is obsolete; use the @code{cursor-intangible} property instead.
@item cursor-intangible
@kindex cursor-intangible @r{(text property)}
@findex cursor-intangible-mode
When the minor mode @code{cursor-intangible-mode} is turned on, point
is moved away of any position that has a non-@code{nil}
@code{cursor-intangible} property, just before redisplay happens.
@item field
@kindex field @r{(text property)}
@ -3550,9 +3558,23 @@ It is possible to use @code{char-after} to examine characters at various
buffer positions without moving point to those positions. Only an
actual change in the value of point runs these hook functions.
The variable @code{inhibit-point-motion-hooks} can inhibit running the
@code{point-left} and @code{point-entered} hooks, see @ref{Inhibit
point motion hooks}.
The variable @code{inhibit-point-motion-hooks} by default inhibits
running the @code{point-left} and @code{point-entered} hooks, see
@ref{Inhibit point motion hooks}.
These properties are obsolete; please use
@code{cursor-sensor-functions} instead.
@item cursor-sensor-functions
@kindex cursor-sensor-functions @r{(text property)}
@findex cursor-sensor-mode
This special property records a list of functions that react to cursor
motion. Each function in the list is called, just before redisplay,
with 3 arguments: the affected window, the previous known position of
the cursor, and one of the symbols @code{entered} or @code{left},
depending on whether the cursor is entering the text that has this
property or leaving it. The functions are called only when the minor
mode @code{cursor-sensor-mode} is turned on.
@item composition
@kindex composition @r{(text property)}
@ -3564,10 +3586,12 @@ directly by, for instance, @code{put-text-property}.
@end table
@defvar inhibit-point-motion-hooks
@anchor{Inhibit point motion hooks} When this variable is
@anchor{Inhibit point motion hooks} When this obsolete variable is
non-@code{nil}, @code{point-left} and @code{point-entered} hooks are
not run, and the @code{intangible} property has no effect. Do not set
this variable globally; bind it with @code{let}.
this variable globally; bind it with @code{let}. Since the affected
properties are obsolete, this variable's default value is @code{t}, to
effectively disable them.
@end defvar
@defvar show-help-function

View file

@ -531,15 +531,17 @@ then @code{time-stamp} is conveniently listed as an option in the
customization buffer.
@vindex time-stamp-active
@findex time-stamp-toggle-active
@vindex time-stamp-format
@vindex time-stamp-start
@vindex time-stamp-time-zone
The time stamp is updated only if the customizable variable
@code{time-stamp-active} is on, which it is by default; the command
@code{time-stamp-toggle-active} can be used to toggle it. The format of
the time stamp is set by the customizable variable
@code{time-stamp-format}.
the time stamp is set by the customizable variables
@code{time-stamp-format} and @code{time-stamp-time-zone}.
@vindex time-stamp-line-limit
@vindex time-stamp-start
@vindex time-stamp-end
@vindex time-stamp-count
@vindex time-stamp-inserts-lines

View file

@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{2015-12-20.12}
\def\texinfoversion{2016-01-11.19}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
% Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
@ -9428,6 +9428,45 @@
\global\righthyphenmin = #3\relax
}
% Get input by bytes instead of by UTF-8 codepoints for XeTeX and LuaTeX,
% otherwise the encoding support is completely broken.
\ifx\XeTeXrevision\thisisundefined
\else
\XeTeXdefaultencoding "bytes" % For subsequent files to be read
\XeTeXinputencoding "bytes" % Effective in texinfo.tex only
% Unfortunately, there seems to be no corresponding XeTeX command for
% output encoding. This is a problem for auxiliary index and TOC files.
% The only solution would be perhaps to write out @U{...} sequences in
% place of UTF-8 characters.
\fi
\ifx\luatexversion\thisisundefined
\else
\directlua{
local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub
local function convert_char (char)
return utf8_char(byte(char))
end
local function convert_line (line)
return gsub(line, ".", convert_char)
end
callback.register("process_input_buffer", convert_line)
local function convert_line_out (line)
local line_out = ""
for c in string.utfvalues(line) do
line_out = line_out .. string.char(c)
end
return line_out
end
callback.register("process_output_buffer", convert_line_out)
}
\fi
% Helpers for encodings.
% Set the catcode of characters 128 through 255 to the specified number.
%
@ -9452,6 +9491,14 @@
%
\def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz}
\def\documentencodingzzz#1{%
% Get input by bytes instead of by UTF-8 codepoints for XeTeX,
% otherwise the encoding support is completely broken.
% This settings is for the document root file.
\ifx\XeTeXrevision\thisisundefined
\else
\XeTeXinputencoding "bytes"
\fi
%
% Encoding being declared for the document.
\def\declaredencoding{\csname #1.enc\endcsname}%
%
@ -11004,9 +11051,20 @@
{@catcode`@^=7 @catcode`@^^M=13%
@gdef@eatinput input texinfo#1^^M{@fixbackslash}}
% Emergency active definition of newline, in case an active newline token
% appears by mistake.
{@catcode`@^=7 @catcode13=13%
@gdef@enableemergencynewline{%
@gdef^^M{%
@par%
%<warning: active newline>@par%
}}}
@gdef@fixbackslash{%
@ifx\@eatinput @let\ = @ttbackslash @fi
@catcode13=5 % regular end of line
@enableemergencynewline
@let@c=@texinfoc
% Also turn back on active characters that might appear in the input
% file name, in case not using a pre-dumped format.

View file

@ -1029,7 +1029,8 @@ of its back-ends.
The command `xref-find-definitions' replaces `find-tag' and provides
an interface to pick one definition among several.
`tags-loop-continue' is now unbound. `xref-pop-marker-stack' replaces
`pop-tag-mark', but has a keybinding (`M-,'), unlike `pop-tag-mark'.
`pop-tag-mark', but has a keybinding (`M-,') different from the one
`pop-tag-mark' used.
`xref-find-definitions-other-window' replaces `find-tag-other-window'.
`xref-find-definitions-other-frame' replaces `find-tag-other-frame'.
@ -1037,7 +1038,11 @@ an interface to pick one definition among several.
As a result of this, the following commands are now obsolete:
`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
`tags-apropos', and `tags-loop-continue'.
`tags-apropos'.
`tags-loop-continue' is not obsolete because it's still useful in
`tags-search' and `tags-query-replace', for which there are no direct
replacements yet.
+++
*** New variables
@ -1292,28 +1297,40 @@ symbol-function was changed not to signal `void-function' any more.
+++
*** As a consequence, the second arg of `indirect-function' is now obsolete.
+++
** Comint, term, and compile do not set the EMACS env var any more.
Use the INSIDE_EMACS environment variable instead.
+++
** `save-excursion' does not save&restore the mark any more.
Use `save-mark-and-excursion' if you want the old behavior.
** read-buffer-function can now be called with a 4th argument (`predicate').
+++
** `read-buffer' and `read-buffer-function' can now be called with a 4th
argument (`predicate').
** completion-table-dynamic stays in the minibuffer.
+++
** `completion-table-dynamic' by default stays in the minibuffer.
The minibuffer will be the current buffer when the function is called.
If you want the old behavior of calling the function in the buffer
from which the minibuffer was entered, call it with the new argument
`switch-buffer'.
from which the minibuffer was entered, use the new argument
`switch-buffer' to `completion-table-dynamic'.
---
** window-configurations no longer record the buffers' marks.
---
** inhibit-modification-hooks now also inhibits lock-file checks, as well as
active region handling.
+++
** deactivate-mark is now buffer-local.
+++
** `cl-the' now asserts that its argument is of the given type.
** `process-running-child-p` may now return a numeric process
+++
** `process-running-child-p' may now return a numeric process
group ID instead of `t'.
+++
@ -1402,24 +1419,38 @@ that happen, `unhandled-file-name-directory' now defaults to calling
** syntax-propertize is now automatically called on-demand during forward
parsing functions like `forward-sexp'.
** New hooks prefix-command-echo-keystrokes-functions and
prefix-command-preserve-state-hook, to allow the definition of prefix
commands other than the predefined C-u.
+++
** New hooks `prefix-command-echo-keystrokes-functions' and
`prefix-command-preserve-state-hook' allow the definition of prefix
commands other than the predefined `C-u'.
+++
** New functions `filepos-to-bufferpos' and `bufferpos-to-filepos'.
These allow to convert between buffer positions and the corresponding
file byte offsets, given the file's encoding.
+++
** The default value of `load-read-function' is now `read'.
Previously, the default value of `nil' implied using `read'.
** New hook `pre-redisplay-functions', a bit easier to use than pre-redisplay-function.
+++
** New hook `pre-redisplay-functions'.
It is a bit easier to use than `pre-redisplay-function'.
+++
** The second arg of `looking-back' should always be provided explicitly.
Previously, it was an optional argument, now it's mandatory.
** Obsolete text properties `intangible', `point-entered', and `point-left'.
+++
** Text properties `intangible', `point-entered', and `point-left' are obsolete.
Replaced by properties `cursor-intangible' and `cursor-sensor-functions',
implemented by the new `cursor-intangible-mode' and
`cursor-sensor-mode' minor modes.
** `inhibit-point-motion-hooks' now defaults to t and is obsolete.
+++
** `inhibit-point-motion-hooks' now defaults to `t' and is obsolete.
Use the new minor modes `cursor-intangible-mode' and
`cursor-sensor-mode' instead.
+++
** New process type `pipe', which can be used in combination with the
@ -1841,6 +1872,12 @@ this has no effect.
** The new function 'w32-application-type' returns the type of an
MS-Windows application given the name of its executable program file.
** New variable `w32-pipe-buffer-size'.
It can be used to tune the size of the buffer of pipes created for
communicating with subprocesses, when the program run by a subprocess
exhibits unusual buffering behavior. Default is zero, which lets the
OS use its default size.
----------------------------------------------------------------------
This file is part of GNU Emacs.

View file

@ -89,7 +89,6 @@ leasing.aero
logistics.aero
magazine.aero
maintenance.aero
marketplace.aero
media.aero
microlight.aero
modelling.aero
@ -112,7 +111,6 @@ show.aero
skydiving.aero
software.aero
student.aero
taxi.aero
trader.aero
trading.aero
trainer.aero
@ -155,13 +153,6 @@ org.al
// am : http://en.wikipedia.org/wiki/.am
am
// an : http://www.una.an/an_domreg/default.asp
an
com.an
net.an
org.an
edu.an
// ao : http://en.wikipedia.org/wiki/.ao
// http://www.dns.ao/REGISTR.DOC
ao
@ -1012,7 +1003,10 @@ gw
gy
co.gy
com.gy
edu.gy
gov.gy
net.gy
org.gy
// hk : https://www.hkdnr.hk
// Submitted by registry <hk.tech@hkirc.hk> 2008-06-11
@ -1131,8 +1125,16 @@ web.id
ie
gov.ie
// il : http://en.wikipedia.org/wiki/.il
*.il
// il : http://www.isoc.org.il/domains/
il
ac.il
co.il
gov.il
idf.il
k12.il
muni.il
net.il
org.il
// im : https://www.nic.im/
// Submitted by registry <info@nic.im> 2013-11-15
@ -1149,7 +1151,7 @@ tv.im
// in : http://en.wikipedia.org/wiki/.in
// see also: https://registry.in/Policies
// Please note, that nic.in is not an offical eTLD, but used by most
// Please note, that nic.in is not an official eTLD, but used by most
// government institutions.
in
co.in
@ -4429,8 +4431,21 @@ gov.ng
mil.ng
mobi.ng
// ni : http://www.nic.ni/dominios.htm
*.ni
// ni : http://www.nic.ni/
com.ni
gob.ni
edu.ni
org.ni
nom.ni
net.ni
mil.ni
co.ni
biz.ni
web.ni
int.ni
ac.ni
in.ni
info.ni
// nl : http://en.wikipedia.org/wiki/.nl
// https://www.sidn.nl/
@ -5775,7 +5790,6 @@ kms.ru
k-uralsk.ru
kustanai.ru
kuzbass.ru
magnitka.ru
mytis.ru
nakhodka.ru
nkz.ru
@ -6125,10 +6139,6 @@ org.to
edu.to
mil.to
// tp : No registrations at this time.
// Submitted by Ryan Sleevi <ryan.sleevi@gmail.com> 2014-01-03
tp
// subTLDs: https://www.nic.tr/forms/eng/policies.pdf
// and: https://www.nic.tr/forms/politikalar.pdf
// Submitted by <mehmetgurevin@gmail.com> 2014-07-19
@ -6564,8 +6574,8 @@ lib.wi.us
// lib.wv.us Bug 941670 - Removed at request of Larry W Arnold <arnold@wvlc.lib.wv.us>
lib.wy.us
// k12.ma.us contains school districts in Massachusetts. The 4LDs are
// managed indepedently except for private (PVT), charter (CHTR) and
// parochial (PAROCH) schools. Those are delegated dorectly to the
// managed independently except for private (PVT), charter (CHTR) and
// parochial (PAROCH) schools. Those are delegated directly to the
// 5LD operators. <k12-ma-hostmaster _ at _ rsuc.gweep.net>
pvt.k12.ma.us
chtr.k12.ma.us
@ -6919,7 +6929,7 @@ web.za
*.zw
// List of new gTLDs imported from https://newgtlds.icann.org/newgtlds.csv on 2015-08-26T23:57:22Z
// List of new gTLDs imported from https://newgtlds.icann.org/newgtlds.csv on 2016-01-04T22:39:54Z
// aaa : 2015-02-26 American Automobile Association, Inc.
aaa
@ -7077,6 +7087,9 @@ anquan
// anz : 2015-07-31 Australia and New Zealand Banking Group Limited
anz
// aol : 2015-09-17 AOL Inc.
aol
// apartments : 2014-12-11 June Maple, LLC
apartments
@ -7089,6 +7102,9 @@ apple
// aquarelle : 2014-07-24 Aquarelle.com
aquarelle
// arab : 2015-11-12 League of Arab States
arab
// aramco : 2014-11-20 Aramco Services Company
aramco
@ -7185,6 +7201,9 @@ barefoot
// bargains : 2013-11-14 Half Hallow, LLC
bargains
// baseball : 2015-10-29 MLB Advanced Media DH, LLC
baseball
// basketball : 2015-08-20 Fédération Internationale de Basketball (FIBA)
basketball
@ -7212,6 +7231,9 @@ bcn
// beats : 2015-05-14 Beats Electronics, LLC
beats
// beauty : 2015-12-03 L'Oréal
beauty
// beer : 2014-01-09 Top Level Domain Holdings Limited
beer
@ -7302,6 +7324,9 @@ bond
// boo : 2014-01-30 Charleston Road Registry Inc.
boo
// book : 2015-08-27 Amazon EU S.à r.l.
book
// booking : 2015-07-16 Booking.com B.V.
booking
@ -7314,12 +7339,18 @@ bosch
// bostik : 2015-05-28 Bostik SA
bostik
// boston : 2015-12-10 Boston Globe Media Partners, LLC
boston
// bot : 2014-12-18 Amazon EU S.à r.l.
bot
// boutique : 2013-11-14 Over Galley, LLC
boutique
// box : 2015-11-12 NS1 Limited
box
// bradesco : 2014-12-18 Banco Bradesco S.A.
bradesco
@ -7425,6 +7456,12 @@ cartier
// casa : 2013-11-21 Top Level Domain Holdings Limited
casa
// case : 2015-09-03 CNH Industrial N.V.
case
// caseih : 2015-09-03 CNH Industrial N.V.
caseih
// cash : 2014-03-06 Delta Lake, LLC
cash
@ -7434,6 +7471,9 @@ casino
// catering : 2013-12-05 New Falls. LLC
catering
// catholic : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
catholic
// cba : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
cba
@ -7533,6 +7573,9 @@ click
// clinic : 2014-03-20 Goose Park, LLC
clinic
// clinique : 2015-10-01 The Estée Lauder Companies Inc.
clinique
// clothing : 2013-08-27 Steel Lake, LLC
clothing
@ -7572,6 +7615,9 @@ community
// company : 2013-11-07 Silver Avenue, LLC
company
// compare : 2015-10-08 iSelect Ltd
compare
// computer : 2013-10-24 Pine Mill, LLC
computer
@ -7635,6 +7681,9 @@ crown
// crs : 2014-04-03 Federated Co-operatives Limited
crs
// cruise : 2015-12-10 Viking River Cruises (Bermuda) Ltd.
cruise
// cruises : 2013-12-05 Spring Way, LLC
cruises
@ -7746,6 +7795,9 @@ discover
// dish : 2015-07-30 Dish DBS Corporation
dish
// diy : 2015-11-05 Lifestyle Domain Holdings, Inc.
diy
// dnp : 2013-12-13 Dai Nippon Printing Co., Ltd.
dnp
@ -7863,6 +7915,9 @@ estate
// esurance : 2015-07-23 Esurance Insurance Company
esurance
// etisalat : 2015-09-03 Emirates Telecommunications Corporation (trading as Etisalat)
etisalat
// eurovision : 2014-04-24 European Broadcasting Union (EBU)
eurovision
@ -8022,6 +8077,12 @@ forum
// foundation : 2013-12-05 John Dale, LLC
foundation
// fox : 2015-09-11 FOX Registry, LLC
fox
// free : 2015-12-10 Amazon EU S.à r.l.
free
// fresenius : 2015-07-30 Fresenius Immobilien-Verwaltungs-GmbH
fresenius
@ -8211,6 +8272,9 @@ guitars
// guru : 2013-08-27 Pioneer Cypress, LLC
guru
// hair : 2015-12-03 L'Oréal
hair
// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
hamburg
@ -8259,7 +8323,7 @@ hisamitsu
// hitachi : 2014-10-31 Hitachi, Ltd.
hitachi
// hiv : 2014-03-13 dotHIV gemeinnuetziger e.V.
// hiv : 2014-03-13
hiv
// hkt : 2015-05-14 PCCW-HKT DataCom Services Limited
@ -8301,6 +8365,9 @@ host
// hosting : 2014-05-29 Uniregistry, Corp.
hosting
// hot : 2015-08-27 Amazon EU S.à r.l.
hot
// hoteles : 2015-03-05 Travel Reservations SRL
hoteles
@ -8421,6 +8488,9 @@ itau
// itv : 2015-07-09 ITV Services Limited
itv
// iveco : 2015-09-03 CNH Industrial N.V.
iveco
// iwc : 2014-06-23 Richemont DNS Inc.
iwc
@ -8556,6 +8626,9 @@ ladbrokes
// lamborghini : 2015-06-04 Automobili Lamborghini S.p.A.
lamborghini
// lamer : 2015-10-01 The Estée Lauder Companies Inc.
lamer
// lancaster : 2015-02-12 LANCASTER
lancaster
@ -8859,6 +8932,9 @@ monash
// money : 2014-10-16 Outer McCook, LLC
money
// monster : 2015-09-11 Monster Worldwide, Inc.
monster
// montblanc : 2014-06-23 Richemont DNS Inc.
montblanc
@ -8955,6 +9031,9 @@ neustar
// new : 2014-01-30 Charleston Road Registry Inc.
new
// newholland : 2015-09-03 CNH Industrial N.V.
newholland
// news : 2014-12-18
news
@ -8991,6 +9070,9 @@ ninja
// nissan : 2014-03-27 NISSAN MOTOR CO., LTD.
nissan
// nissay : 2015-10-29 Nippon Life Insurance Company
nissay
// nokia : 2015-01-08 Nokia Corporation
nokia
@ -9084,6 +9166,9 @@ organic
// orientexpress : 2015-02-05 Belmond Ltd.
orientexpress
// origins : 2015-10-01 The Estée Lauder Companies Inc.
origins
// osaka : 2014-09-04 Interlink Co., Ltd.
osaka
@ -9126,6 +9211,9 @@ party
// passagens : 2015-03-05 Travel Reservations SRL
passagens
// pay : 2015-08-27 Amazon EU S.à r.l.
pay
// payu : 2015-02-12 MIH PayU B.V.
payu
@ -9135,6 +9223,9 @@ pccw
// pet : 2015-05-07 Afilias plc
pet
// pfizer : 2015-09-11 Pfizer Inc.
pfizer
// pharmacy : 2014-06-19 National Association of Boards of Pharmacy
pharmacy
@ -9237,7 +9328,7 @@ prof
// progressive : 2015-07-23 Progressive Casualty Insurance Company
progressive
// promo : 2014-12-18 Play.PROMO Oy
// promo : 2014-12-18
promo
// properties : 2013-12-05 Big Pass, LLC
@ -9258,6 +9349,9 @@ prudential
// pub : 2013-12-12 United TLD Holdco Ltd.
pub
// pwc : 2015-10-29 PricewaterhouseCoopers LLP
pwc
// qpon : 2013-11-14 dotCOOL, Inc.
qpon
@ -9279,6 +9373,9 @@ raid
// read : 2014-12-18 Amazon EU S.à r.l.
read
// realestate : 2015-09-11 dotRealEstate LLC
realestate
// realtor : 2014-05-29 Real Estate Domains LLC
realtor
@ -9366,6 +9463,9 @@ rio
// rip : 2014-07-10 United TLD Holdco Ltd.
rip
// rmit : 2015-11-19 Royal Melbourne Institute of Technology
rmit
// rocher : 2014-12-18 Ferrero Trading Lux S.A.
rocher
@ -9492,12 +9592,18 @@ scot
// seat : 2014-05-22 SEAT, S.A. (Sociedad Unipersonal)
seat
// secure : 2015-08-27 Amazon EU S.à r.l.
secure
// security : 2015-05-14
security
// seek : 2014-12-04 Seek Limited
seek
// select : 2015-10-08 iSelect Ltd
select
// sener : 2014-10-24 Sener Ingeniería y Sistemas, S.A.
sener
@ -9522,6 +9628,9 @@ sexy
// sfr : 2015-08-13 Societe Francaise du Radiotelephone - SFR
sfr
// shangrila : 2015-09-03 ShangriLa International Hotel Management Limited
shangrila
// sharp : 2014-05-01 Sharp Corporation
sharp
@ -9645,7 +9754,7 @@ staples
// star : 2015-01-08 Star India Private Limited
star
// starhub : 2015-02-05 StarHub Limited
// starhub : 2015-02-05 StarHub Ltd
starhub
// statebank : 2015-03-12 STATE BANK OF INDIA
@ -9909,6 +10018,9 @@ ubs
// uconnect : 2015-07-30 FCA US LLC.
uconnect
// unicom : 2015-10-15 China United Network Communications Corporation Limited
unicom
// university : 2014-03-06 Little Station, LLC
university
@ -9927,6 +10039,9 @@ vacations
// vana : 2014-12-11 Lifestyle Domain Holdings, Inc.
vana
// vanguard : 2015-09-03 The Vanguard Group, Inc.
vanguard
// vegas : 2014-01-16 Dot Vegas, Inc.
vegas
@ -9993,6 +10108,9 @@ vodka
// volkswagen : 2015-05-14 Volkswagen Group of America Inc.
volkswagen
// volvo : 2015-11-12 Volvo Holding Sverige Aktiebolag
volvo
// vote : 2013-11-21 Monolith Registry LLC
vote
@ -10101,6 +10219,9 @@ works
// world : 2014-06-12 Bitter Fields, LLC
world
// wow : 2015-10-08 Amazon EU S.à r.l.
wow
// wtc : 2013-12-19 World Trade Centers Association, Inc.
wtc
@ -10164,6 +10285,9 @@ xin
// xn--55qx5d : 2013-11-14 Computer Network Information Center of Chinese Academy of Sciences China Internet Network Information Center
公司
// xn--5su34j936bgsg : 2015-09-03 ShangriLa International Hotel Management Limited
香格里拉
// xn--5tzm5g : 2014-12-22 Global Website TLD Asia Limited
网站
@ -10176,6 +10300,9 @@ xin
// xn--80adxhks : 2013-12-19 Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)
москва
// xn--80aqecdr1a : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
католик
// xn--80asehdb : 2013-07-14 CORE Association
онлайн
@ -10260,6 +10387,9 @@ xin
// xn--gckr3f0f : 2015-02-26 Amazon EU S.à r.l.
クラウド
// xn--gk3at1e : 2015-10-08 Amazon EU S.à r.l.
通販
// xn--hxt814e : 2014-05-15 Zodiac Libra Limited
网店
@ -10296,6 +10426,9 @@ xin
// xn--mgba7c0bbn0a : 2015-05-14 Crescent Holding GmbH
العليان
// xn--mgbaakc7dvf : 2015-09-03 Emirates Telecommunications Corporation (trading as Etisalat)
اتصالات
// xn--mgbab2bd : 2013-10-31 CORE Association
بازار
@ -10305,6 +10438,9 @@ xin
// xn--mgbca7dzdo : 2015-07-30 Abu Dhabi Systems and Information Centre
ابوظبي
// xn--mgbi4ecexp : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
كاثوليك
// xn--mgbt3dhd : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
همراه
@ -10320,6 +10456,9 @@ xin
// xn--ngbe9e0a : 2014-12-04 Kuwait Finance House
بيتك
// xn--ngbrx : 2015-11-12 League of Arab States
عرب
// xn--nqv7f : 2013-11-14 Public Interest Registry
机构
@ -10359,6 +10498,9 @@ xin
// xn--tckwe : 2015-01-15 VeriSign Sarl
コム
// xn--tiq49xqyj : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
天主教
// xn--unup4y : 2013-07-14 Spring Fields, LLC
游戏
@ -11038,6 +11180,7 @@ blogspot.td
blogspot.tw
blogspot.ug
blogspot.vn
cloudfunctions.net
codespot.com
googleapis.com
googlecode.com
@ -11045,6 +11188,9 @@ pagespeedmobilizer.com
withgoogle.com
withyoutube.com
// Hashbang : https://hashbang.sh
hashbang.sh
// Heroku : https://www.heroku.com/
// Submitted by Tom Maher <tmaher@heroku.com> 2013-05-02
herokuapp.com
@ -11075,6 +11221,10 @@ bmoattachments.org
// Submitted by Trung Tran <Trung.Tran@neustar.biz> 2015-04-23
4u.com
// ngrok : https://ngrok.com/
// Submitted by Alan Shreve <alan@ngrok.com> 2015-11-10
ngrok.io
// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net> 2014-02-02
nfshost.com
@ -11095,6 +11245,10 @@ operaunite.com
// Submitted by Duarte Santos <domain-admin@outsystemscloud.com> 2014-03-11
outsystemscloud.com
// Pagefront : https://www.pagefronthq.com/
// Submitted by Jason Kriss <jason@pagefronthq.com> 2015-12-02
pagefrontapp.com
// .pl domains (grandfathered)
art.pl
gliwice.pl
@ -11116,6 +11270,11 @@ priv.at
// Submitted by Daniel Dent (https://www.danieldent.com/) 2015-07-16
qa2.com
// Rackmaze LLC : https://www.rackmaze.com
// Submitted by Kirill Pertsev <kika@rackmaze.com> 2015-12-02
rackmaze.com
rackmaze.net
// Red Hat, Inc. OpenShift : https://openshift.redhat.com/
// Submitted by Tim Kramer <tkramer@rhcloud.com> 2012-10-24
rhcloud.com
@ -11136,6 +11295,22 @@ sinaapp.com
vipsinaapp.com
1kapp.com
// Synology, Inc. : https://www.synology.com/
// Submitted by Rony Weng <ronyweng@synology.com> 2015-12-02
diskstation.me
dscloud.biz
dscloud.me
dscloud.mobi
dsmynas.com
dsmynas.net
dsmynas.org
familyds.com
familyds.net
familyds.org
i234.me
myds.me
synology.me
// TASK geographical domains (www.task.gda.pl/uslugi/dns)
gda.pl
gdansk.pl

View file

@ -670,7 +670,7 @@ SYMBOL is a function that can be overridden."
(add-hook 'help-fns-describe-function-functions 'describe-mode-local-overload)
(declare-function xref-item-location "xref" (xref))
(declare-function xref-item-location "xref" (xref) t)
(defun xref-mode-local--override-present (sym xrefs)
"Return non-nil if SYM is in XREFS."

View file

@ -322,7 +322,7 @@ This function is semi-obsolete. Use `get-char-code-property'."
(nth 13 fields) 16)))))))))))
;; Not defined on builds without X, but behind display-graphic-p.
(declare-function internal-char-font "fontset.c" (position &optional ch))
(declare-function internal-char-font "font.c" (position &optional ch))
;; Return information about how CHAR is displayed at the buffer
;; position POS. If the selected frame is on a graphic display,

View file

@ -417,14 +417,17 @@ The variable `electric-layout-rules' says when and how to insert newlines."
(defcustom electric-quote-comment t
"Non-nil means to use electric quoting in program comments."
:version "25.1"
:type 'boolean :safe 'booleanp :group 'electricity)
(defcustom electric-quote-string nil
"Non-nil means to use electric quoting in program strings."
:version "25.1"
:type 'boolean :safe 'booleanp :group 'electricity)
(defcustom electric-quote-paragraph t
"Non-nil means to use electric quoting in text paragraphs."
:version "25.1"
:type 'boolean :safe 'booleanp :group 'electricity)
(defun electric--insertable-p (string)

View file

@ -131,6 +131,7 @@ With optional argument FULL, sums the number of elements in each element."
(defcustom check-declare-ext-errors nil
"When non-nil, warn about functions not found in :ext."
:version "25.1"
:type 'boolean)
(defun check-declare-verify (fnfile fnlist)

View file

@ -167,8 +167,8 @@
This property should hold a list of functions which react to the motion
of the cursor. They're called with three arguments (WINDOW OLDPOS DIR)
where WINDOW is the affected window, OLDPOS is the last known position of
the cursor and DIR can be `left' or `entered' depending on whether the cursor is
entering the area covered by the text-property property or leaving it."
the cursor and DIR can be `entered' or `left' depending on whether the cursor
is entering the area covered by the text-property property or leaving it."
nil nil nil
(if cursor-sensor-mode
(add-hook 'pre-redisplay-functions #'cursor-sensor--detect

View file

@ -329,6 +329,7 @@ by running `package-install-selected-packages'.
To check if a package is contained in this list here, use
`package--user-selected-p', as it may populate the variable with
a sane initial value."
:version "25.1"
:type '(repeat symbol))
(defcustom package-menu-async t
@ -2654,6 +2655,7 @@ omitted from the package menu. To toggle this, type \\[package-menu-toggle-hidi
Values can be interactively added to this list by typing
\\[package-menu-hide-package] on a package"
:version "25.1"
:type '(repeat (regexp :tag "Hide packages with name matching")))
(defun package-menu--refresh (&optional packages keywords)

View file

@ -53,6 +53,7 @@
(defcustom epg-gpgconf-program "gpgconf"
"The `gpgconf' executable."
:version "25.1"
:group 'epg
:type 'string)

View file

@ -265,14 +265,16 @@ A typical value would be \(\"JOIN\" \"PART\" \"QUIT\")."
(defcustom erc-network-hide-list nil
"A list of IRC networks to hide message types from.
A typical value would be \((\"freenode\" \"MODE\")
(\"OFTC\" \"JOIN\" \"QUIT\"))."
\(\"OFTC\" \"JOIN\" \"QUIT\"))."
:version "25.1"
:group 'erc-ignore
:type 'erc-message-type)
(defcustom erc-channel-hide-list nil
"A list of IRC channels to hide message types from.
A typical value would be \((\"#emacs\" \"QUIT\" \"JOIN\")
(\"#erc\" \"NICK\")."
\(\"#erc\" \"NICK\")."
:version "25.1"
:group 'erc-ignore
:type 'erc-message-type)

View file

@ -136,6 +136,7 @@ character to the invoked process."
"If non-nil, term buffers are destroyed after their processes die.
WARNING: Setting this to non-nil may result in unexpected
behavior for short-lived processes, see bug#18108."
:version "25.1"
:type 'boolean
:group 'eshell-term)

View file

@ -44,7 +44,7 @@
"Regexp to match faces in `gnus-x-face-directory' to be omitted."
:version "25.1"
:group 'gnus-fun
:type 'string)
:type '(choice (const nil) string))
(defcustom gnus-face-directory (expand-file-name "faces" gnus-directory)
"*Directory where Face PNG files are stored."
@ -56,7 +56,7 @@
"Regexp to match faces in `gnus-face-directory' to be omitted."
:version "25.1"
:group 'gnus-fun
:type 'string)
:type '(choice (const nil) string))
(defcustom gnus-convert-pbm-to-x-face-command "pbmtoxbm %s | compface"
"Command for converting a PBM to an X-Face."

View file

@ -1637,6 +1637,7 @@ this variable. I think."
(const post-mail))
(checklist :inline t :greedy t
(const :format "%v " address)
(const cloud)
(const global)
(const :format "%v " prompt-address)
(const :format "%v " physical-address)

View file

@ -432,15 +432,18 @@ If called with a prefix argument, only encrypt (do NOT sign)."
;;; Common functionality for mml1991.el, mml2015.el, mml-smime.el
(define-obsolete-variable-alias 'mml1991-signers 'mml-secure-openpgp-signers)
(define-obsolete-variable-alias 'mml2015-signers 'mml-secure-openpgp-signers)
(define-obsolete-variable-alias 'mml1991-signers 'mml-secure-openpgp-signers
"25.1")
(define-obsolete-variable-alias 'mml2015-signers 'mml-secure-openpgp-signers
"25.1")
(defcustom mml-secure-openpgp-signers nil
"A list of your own key ID(s) which will be used to sign OpenPGP messages.
If set, it is added to the setting of `mml-secure-openpgp-sign-with-sender'."
:group 'mime-security
:type '(repeat (string :tag "Key ID")))
(define-obsolete-variable-alias 'mml-smime-signers 'mml-secure-smime-signers)
(define-obsolete-variable-alias 'mml-smime-signers 'mml-secure-smime-signers
"25.1")
(defcustom mml-secure-smime-signers nil
"A list of your own key ID(s) which will be used to sign S/MIME messages.
If set, it is added to the setting of `mml-secure-smime-sign-with-sender'."
@ -448,9 +451,9 @@ If set, it is added to the setting of `mml-secure-smime-sign-with-sender'."
:type '(repeat (string :tag "Key ID")))
(define-obsolete-variable-alias
'mml1991-encrypt-to-self 'mml-secure-openpgp-encrypt-to-self)
'mml1991-encrypt-to-self 'mml-secure-openpgp-encrypt-to-self "25.1")
(define-obsolete-variable-alias
'mml2015-encrypt-to-self 'mml-secure-openpgp-encrypt-to-self)
'mml2015-encrypt-to-self 'mml-secure-openpgp-encrypt-to-self "25.1")
(defcustom mml-secure-openpgp-encrypt-to-self nil
"List of own key ID(s) or t; determines additional recipients with OpenPGP.
If t, also encrypt to key for message sender; if list, encrypt to those keys.
@ -469,7 +472,7 @@ https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18718"
(repeat (string :tag "Key ID"))))
(define-obsolete-variable-alias
'mml-smime-encrypt-to-self 'mml-secure-smime-encrypt-to-self)
'mml-smime-encrypt-to-self 'mml-secure-smime-encrypt-to-self "25.1")
(defcustom mml-secure-smime-encrypt-to-self nil
"List of own key ID(s) or t; determines additional recipients with S/MIME.
If t, also encrypt to key for message sender; if list, encrypt to those keys.
@ -488,7 +491,7 @@ https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18718"
(repeat (string :tag "Key ID"))))
(define-obsolete-variable-alias
'mml2015-sign-with-sender 'mml-secure-openpgp-sign-with-sender)
'mml2015-sign-with-sender 'mml-secure-openpgp-sign-with-sender "25.1")
;mml1991-sign-with-sender did never exist.
(defcustom mml-secure-openpgp-sign-with-sender nil
"If t, use message sender to find an OpenPGP key to sign with."
@ -496,14 +499,14 @@ https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18718"
:type 'boolean)
(define-obsolete-variable-alias
'mml-smime-sign-with-sender 'mml-secure-smime-sign-with-sender)
'mml-smime-sign-with-sender 'mml-secure-smime-sign-with-sender "25.1")
(defcustom mml-secure-smime-sign-with-sender nil
"If t, use message sender to find an S/MIME key to sign with."
:group 'mime-security
:type 'boolean)
(define-obsolete-variable-alias
'mml2015-always-trust 'mml-secure-openpgp-always-trust)
'mml2015-always-trust 'mml-secure-openpgp-always-trust "25.1")
;mml1991-always-trust did never exist.
(defcustom mml-secure-openpgp-always-trust t
"If t, skip key validation of GnuPG on encryption."
@ -513,6 +516,7 @@ https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18718"
(defcustom mml-secure-fail-when-key-problem nil
"If t, raise an error if some key is missing or several keys exist.
Otherwise, ask the user."
:version "25.1"
:group 'mime-security
:type 'boolean)
@ -523,6 +527,7 @@ This variable is only relevant if a recipient owns multiple key pairs (for
encryption) or you own multiple key pairs (for signing). In such cases,
you will be asked which key(s) should be used, and your choice can be
customized in this variable."
:version "25.1"
:group 'mime-security
:type '(alist :key-type (symbol :tag "Protocol") :value-type
(alist :key-type (symbol :tag "Usage") :value-type

View file

@ -350,9 +350,9 @@ Whether the passphrase is cached at all is controlled by
(autoload 'epg-expand-group "epg-config")
(autoload 'epa-select-keys "epa"))
(declare-function epg-key-sub-key-list "ext:epg" (key))
(declare-function epg-sub-key-capability "ext:epg" (sub-key))
(declare-function epg-sub-key-validity "ext:epg" (sub-key))
(declare-function epg-key-sub-key-list "epg" (key) t)
(declare-function epg-sub-key-capability "epg" (sub-key) t)
(declare-function epg-sub-key-validity "epg" (sub-key) t)
(autoload 'mml-compute-boundary "mml")

View file

@ -1115,24 +1115,14 @@ command whose response triggered the error."
(deffoo nntp-request-newgroups (date &optional server)
(nntp-with-open-group
nil server
(with-current-buffer nntp-server-buffer
(let* ((time (date-to-time date))
(ls (- (cadr time) (nth 8 (decode-time time)))))
(cond ((< ls 0)
(setcar time (1- (car time)))
(setcar (cdr time) (+ ls 65536)))
((>= ls 65536)
(setcar time (1+ (car time)))
(setcar (cdr time) (- ls 65536)))
(t
(setcar (cdr time) ls)))
(prog1
(nntp-send-command
"^\\.\r?\n" "NEWGROUPS"
(format-time-string "%y%m%d %H%M%S" time)
"GMT")
(nntp-decode-text))))))
nil server
(with-current-buffer nntp-server-buffer
(prog1
(nntp-send-command
"^\\.\r?\n" "NEWGROUPS"
(format-time-string "%y%m%d %H%M%S" (date-to-time date) t)
"GMT")
(nntp-decode-text)))))
(deffoo nntp-request-post (&optional server)
(nntp-with-open-group

View file

@ -259,7 +259,7 @@ language environment LANG-ENV."
(with-coding-priority coding-priority
(detect-coding-region from to)))))
(declare-function internal-char-font "fontset.c" (position &optional ch))
(declare-function internal-char-font "font.c" (position &optional ch))
;;;###autoload
(defun char-displayable-p (char)

View file

@ -694,8 +694,9 @@ Element N specifies the summary line for message N+1.")
This is set to nil by default.")
(defcustom rmail-get-coding-function nil
"Function of no args to try to determine coding system for a message."
:type 'function
"Function of no args to try to determine coding system for a message.
If nil, just search for `rmail-mime-charset-pattern'."
:type '(choice (const nil) function)
:group 'rmail
:version "24.4")

View file

@ -349,6 +349,7 @@ functionality is not available there."
"Whether to open up new windows in a buffer or a new window.
If non-nil, then open the URL in a new buffer rather than a new window if
`browse-url-conkeror' is asked to open it in a new window."
:version "25.1"
:type 'boolean
:group 'browse-url)
@ -415,6 +416,7 @@ commands reverses the effect of this variable."
(defcustom browse-url-conkeror-arguments nil
"A list of strings to pass to Conkeror as arguments."
:version "25.1"
:type '(repeat (string :tag "Argument"))
:group 'browse-url)

View file

@ -69,6 +69,7 @@ This must be one of the functions `newsticker-plainview' or
(defcustom newsticker-download-logos
t
"If non-nil newsticker downloads logo images of subscribed feeds."
:version "25.1"
:type 'boolean
:group 'newsticker-reader)

View file

@ -132,9 +132,9 @@ Example: (\"Topmost group\" \"feed1\" (\"subgroup1\" \"feed 2\")
(defcustom newsticker-groups-filename
nil
"Name of the newsticker groups settings file. This variable is obsolete."
"Name of the newsticker groups settings file."
:version "25.1" ; changed default value to nil
:type 'string
:type '(choice (const nil) string)
:group 'newsticker-treeview)
(make-obsolete-variable 'newsticker-groups-filename 'newsticker-dir "23.1")

View file

@ -1794,7 +1794,6 @@ Two variables control the processing we do on each file: the value of
interesting (it returns non-nil if so) and `tags-loop-operate' is a form to
evaluate to operate on an interesting file. If the latter evaluates to
nil, we exit; otherwise we scan the next file."
(declare (obsolete "use `xref-find-definitions' interface instead." "25.1"))
(interactive)
(let (new
;; Non-nil means we have finished one file

View file

@ -1742,6 +1742,7 @@ and source-file directory for your debugger."
(defcustom gud-guiler-command-name "guile"
"File name for executing the Guile debugger.
This should be an executable on your path, or an absolute file name."
:version "25.1"
:type 'string
:group 'gud)

View file

@ -138,7 +138,7 @@
(defcustom hide-ifdef-exclude-define-regexp nil
"Ignore #define names if those names match this exclusion pattern."
:type 'string
:type '(choice (const nil) string)
:version "25.1")
(defcustom hide-ifdef-expand-reinclusion-protection t

View file

@ -202,6 +202,7 @@ is immediately after the symbol. The prettification will be
reapplied as soon as point moves away from the symbol. If
set to nil, the prettification persists even when point is
on the symbol."
:version "25.1"
:type '(choice (const :tag "Never unprettify" nil)
(const :tag "Unprettify when point is inside" t)
(const :tag "Unprettify when point is inside or at right edge" right-edge))

View file

@ -156,10 +156,11 @@ end it with `/'. DIR must be one of `project-roots' or
(defgroup project-vc nil
"Project implementation using the VC package."
:version "25.1"
:group 'tools)
(defcustom project-vc-ignores nil
"List ot patterns to include in `project-ignores'."
"List of patterns to include in `project-ignores'."
:type '(repeat string)
:safe 'listp)

View file

@ -715,6 +715,7 @@ It makes underscores and dots word constituent chars.")
(defcustom python-indent-guess-indent-offset-verbose t
"Non-nil means to emit a warning when indentation guessing fails."
:version "25.1"
:type 'boolean
:group 'python
:safe' booleanp)
@ -1999,6 +2000,7 @@ hosts PATH before starting processes. Values defined in
here. Normally you wont use this variable directly unless you
plan to ensure a particular set of paths to all Python shell
executed through tramp connections."
:version "25.1"
:type '(repeat string)
:group 'python)
@ -2621,6 +2623,7 @@ current process to not hang waiting for output by safeguarding
interactive actions can be performed. This is useful to safely
attach setup code for long-running processes that eventually
provide a shell."
:version "25.1"
:type 'hook
:group 'python)
@ -3258,18 +3261,22 @@ the full statement in the case of imports."
(list "pypy")
"List of disabled interpreters.
When a match is found, native completion is disabled."
:version "25.1"
:type '(repeat string))
(defcustom python-shell-completion-native-enable t
"Enable readline based native completion."
:version "25.1"
:type 'boolean)
(defcustom python-shell-completion-native-output-timeout 5.0
"Time in seconds to wait for completion output before giving up."
:version "25.1"
:type 'float)
(defcustom python-shell-completion-native-try-output-timeout 1.0
"Time in seconds to wait for *trying* native completion output."
:version "25.1"
:type 'float)
(defvar python-shell-completion-native-redirect-buffer

View file

@ -76,6 +76,7 @@
(require 'semantic/symref)) ;; for hit-lines slot
(defgroup xref nil "Cross-referencing commands"
:version "25.1"
:group 'tools)

View file

@ -403,6 +403,7 @@ With a prefix (or a FILL) argument, also fill too short lines."
(defcustom rectangle-preview t
"If non-nil, `string-rectangle' will show an-the-fly preview."
:version "25.1"
:type 'boolean)
(defun rectangle--string-preview ()

View file

@ -7,6 +7,7 @@
"Extra capabilities supported under \"screen\".
Some features of screen depend on the terminal emulator in which
it runs, which can change when the screen session is moved to another tty."
:version "25.1"
:type xterm--extra-capabilities-type
:group 'xterm)

View file

@ -65,6 +65,7 @@ using the OSC 52 sequence.
If you select a region larger than this size, it won't be copied to your system
clipboard. Since clipboard data is base 64 encoded, the actual number of
string bytes that can be copied is 3/4 of this value."
:version "25.1"
:type 'integer)
(defconst xterm-paste-ending-sequence "\e[201~"

View file

@ -257,13 +257,13 @@
(if (not sassy)
;; We don't allow / as first char, so as not to
;; take a comment as the beginning of a selector.
"[^@/:{} \t\n][^:{}]+"
"[^@/:{}() \t\n][^:{}()]+"
;; Same as for non-sassy except we do want to allow { and }
;; chars in selectors in the case of #{$foo}
;; variable interpolation!
(concat "\\(?:" scss--hash-re
"\\|[^@/:{} \t\n#]\\)"
"[^:{}#]*\\(?:" scss--hash-re "[^:{}#]*\\)*"))
"\\|[^@/:{}() \t\n#]\\)"
"[^:{}()#]*\\(?:" scss--hash-re "[^:{}()#]*\\)*"))
;; Even though pseudo-elements should be prefixed by ::, a
;; single colon is accepted for backward compatibility.
"\\(?:\\(:" (regexp-opt (append css-pseudo-class-ids
@ -271,8 +271,8 @@
"\\|\\::" (regexp-opt css-pseudo-element-ids t) "\\)"
"\\(?:([^)]+)\\)?"
(if (not sassy)
"[^:{}\n]*"
(concat "[^:{}\n#]*\\(?:" scss--hash-re "[^:{}\n#]*\\)*"))
"[^:{}()\n]*"
(concat "[^:{}()\n#]*\\(?:" scss--hash-re "[^:{}()\n#]*\\)*"))
"\\)*"
"\\)\\(?:\n[ \t]*\\)*{")
(1 'css-selector keep))

View file

@ -417,7 +417,7 @@ current `case-fold-search' setting."
"A list of predicate functions for `tildify-space' function."
:version "25.1"
:group 'tildify
:type '(repeat 'function))
:type '(repeat function))
(defcustom tildify-double-space-undos t
"Weather `tildify-space' should undo hard space when space is typed again."

View file

@ -280,8 +280,8 @@ If nil, construct the regexp from `thing-at-point-uri-schemes'.")
"finger://" "fish://" "ftp://" "geo:" "git://" "go:" "gopher://"
"h323:" "http://" "https://" "im:" "imap://" "info:" "ipp:"
"irc://" "irc6://" "ircs://" "iris.beep:" "jar:" "ldap://"
"ldaps://" "mailto:" "mid:" "mtqp://" "mupdate://" "news:"
"nfs://" "nntp://" "opaquelocktoken:" "pop://" "pres:"
"ldaps://" "magnet:" "mailto:" "mid:" "mtqp://" "mupdate://"
"news:" "nfs://" "nntp://" "opaquelocktoken:" "pop://" "pres:"
"resource://" "rmi://" "rsync://" "rtsp://" "rtspu://" "service:"
"sftp://" "sip:" "sips:" "smb://" "sms:" "snmp://" "soap.beep://"
"soap.beeps://" "ssh://" "svn://" "svn+ssh://" "tag:" "tel:"

View file

@ -5,7 +5,6 @@
;; This file is part of GNU Emacs.
;; Maintainer's Time-stamp: <2006-04-12 20:30:56 rms>
;; Maintainer: Stephen Gildea <gildea@stop.mail-abuse.org>
;; Keywords: tools
@ -27,7 +26,6 @@
;; A template in a file can be updated with a new time stamp when
;; you save the file. For example:
;; static char *ts = "sdmain.c Time-stamp: <2001-08-13 10:20:51 gildea>";
;; See the top of `time-stamp.el' for another example.
;; To use time-stamping, add this line to your init file:
;; (add-hook 'before-save-hook 'time-stamp)
@ -121,9 +119,12 @@ If nil, no notification is given."
:group 'time-stamp)
(defcustom time-stamp-time-zone nil
"If non-nil, a string naming the timezone to be used by \\[time-stamp].
Format is the same as that used by the environment variable TZ on your system."
:type '(choice (const nil) string)
"The time zone to be used by \\[time-stamp].
Its format is that of the ZONE argument of the `format-time-string' function,"
:type '(choice (const :tag "Emacs local time" nil)
(const :tag "Universal Time" t)
(const :tag "system wall clock time" wall)
(string :tag "TZ environment variable value"))
:group 'time-stamp
:version "20.1")
;;;###autoload(put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p)
@ -412,6 +413,8 @@ With ARG, turn time stamping on if and only if arg is positive."
(> (prefix-numeric-value arg) 0)))
(message "time-stamp is now %s." (if time-stamp-active "active" "off")))
(defun time-stamp--format (format time)
(format-time-string format time time-stamp-time-zone))
(defun time-stamp-string (&optional ts-format)
"Generate the new string to be inserted by \\[time-stamp].
@ -420,8 +423,7 @@ format the string."
(or ts-format
(setq ts-format time-stamp-format))
(if (stringp ts-format)
(format-time-string (time-stamp-string-preprocess ts-format)
nil time-stamp-time-zone)
(time-stamp--format (time-stamp-string-preprocess ts-format) nil)
;; handle version 1 compatibility
(cond ((or (eq time-stamp-old-format-warn 'error)
(and (eq time-stamp-old-format-warn 'ask)
@ -515,32 +517,32 @@ and all `time-stamp-format' compatibility."
"%%")
((eq cur-char ?a) ;day of week
(if change-case
(format-time-string "%#a" time)
(time-stamp--format "%#a" time)
(or alt-form (not (string-equal field-width ""))
(time-stamp-conv-warn "%a" "%:a"))
(if (and alt-form (not (string-equal field-width "")))
"" ;discourage "%:3a"
(format-time-string "%A" time))))
(time-stamp--format "%A" time))))
((eq cur-char ?A)
(if alt-form
(format-time-string "%A" time)
(time-stamp--format "%A" time)
(or change-case (not (string-equal field-width ""))
(time-stamp-conv-warn "%A" "%#A"))
(format-time-string "%#A" time)))
(time-stamp--format "%#A" time)))
((eq cur-char ?b) ;month name
(if change-case
(format-time-string "%#b" time)
(time-stamp--format "%#b" time)
(or alt-form (not (string-equal field-width ""))
(time-stamp-conv-warn "%b" "%:b"))
(if (and alt-form (not (string-equal field-width "")))
"" ;discourage "%:3b"
(format-time-string "%B" time))))
(time-stamp--format "%B" time))))
((eq cur-char ?B)
(if alt-form
(format-time-string "%B" time)
(time-stamp--format "%B" time)
(or change-case (not (string-equal field-width ""))
(time-stamp-conv-warn "%B" "%#B"))
(format-time-string "%#B" time)))
(time-stamp--format "%#B" time)))
((eq cur-char ?d) ;day of month, 1-31
(time-stamp-do-number cur-char alt-form field-width time))
((eq cur-char ?H) ;hour, 0-23
@ -554,27 +556,27 @@ and all `time-stamp-format' compatibility."
((eq cur-char ?p) ;am or pm
(or change-case
(time-stamp-conv-warn "%p" "%#p"))
(format-time-string "%#p" time))
(time-stamp--format "%#p" time))
((eq cur-char ?P) ;AM or PM
(format-time-string "%p" time))
(time-stamp--format "%p" time))
((eq cur-char ?S) ;seconds, 00-60
(time-stamp-do-number cur-char alt-form field-width time))
((eq cur-char ?w) ;weekday number, Sunday is 0
(format-time-string "%w" time))
(time-stamp--format "%w" time))
((eq cur-char ?y) ;year
(or alt-form (not (string-equal field-width ""))
(time-stamp-conv-warn "%y" "%:y"))
(string-to-number (format-time-string "%Y" time)))
(string-to-number (time-stamp--format "%Y" time)))
((eq cur-char ?Y) ;4-digit year, new style
(string-to-number (format-time-string "%Y" time)))
(string-to-number (time-stamp--format "%Y" time)))
((eq cur-char ?z) ;time zone lower case
(if change-case
"" ;discourage %z variations
(format-time-string "%#Z" time)))
(time-stamp--format "%#Z" time)))
((eq cur-char ?Z)
(if change-case
(format-time-string "%#Z" time)
(format-time-string "%Z" time)))
(time-stamp--format "%#Z" time)
(time-stamp--format "%Z" time)))
((eq cur-char ?f) ;buffer-file-name, base name only
(if buffer-file-name
(file-name-nondirectory buffer-file-name)
@ -634,7 +636,7 @@ width specification or \"\". TIME is the time to convert."
(format "%%:%c" format-char)))
(if (and alt-form (not (string-equal field-width "")))
"" ;discourage "%:2d" and the like
(string-to-number (format-time-string format-string time)))))
(string-to-number (time-stamp--format format-string time)))))
(defvar time-stamp-conversion-warn t
"Warn about soon-to-be-unsupported forms in `time-stamp-format'.

View file

@ -30,11 +30,11 @@
;;;###autoload
(defcustom url-tramp-protocols '("ftp" "ssh" "scp" "rsync" "telnet")
"List of URL protocols the work is handled by Tramp.
"List of URL protocols for which the work is handled by Tramp.
They must also be covered by `url-handler-regexp'."
:group 'url
:version "25.1"
:type '(list string))
:type '(repeat string))
(defun url-tramp-convert-url-to-tramp (url)
"Convert URL to a Tramp file name."

View file

@ -5630,13 +5630,7 @@ Decimal digits after the % specify field width to which to pad. */);
doc: /* Symbol for current buffer's major mode.
The default value (normally `fundamental-mode') affects new buffers.
A value of nil means to use the current buffer's major mode, provided
it is not marked as "special".
When a mode is used by default, `find-file' switches to it before it
reads the contents into the buffer and before it finishes setting up
the buffer. Thus, the mode and its hooks should not expect certain
variables such as `buffer-read-only' and `buffer-file-coding-system'
to be set up. */);
it is not marked as "special". */);
DEFVAR_PER_BUFFER ("mode-name", &BVAR (current_buffer, mode_name),
Qnil,

View file

@ -8043,14 +8043,19 @@ pipe2 (int * phandles, int pipe2_flags)
{
int rc;
unsigned flags;
unsigned pipe_size = 0;
eassert (pipe2_flags == (O_BINARY | O_CLOEXEC));
/* Allow Lisp to override the default buffer size of the pipe. */
if (w32_pipe_buffer_size > 0 && w32_pipe_buffer_size < UINT_MAX)
pipe_size = w32_pipe_buffer_size;
/* make pipe handles non-inheritable; when we spawn a child, we
replace the relevant handle with an inheritable one. Also put
pipes into binary mode; we will do text mode translation ourselves
if required. */
rc = _pipe (phandles, 0, _O_NOINHERIT | _O_BINARY);
rc = _pipe (phandles, pipe_size, _O_NOINHERIT | _O_BINARY);
if (rc == 0)
{
@ -8632,15 +8637,35 @@ sys_write (int fd, const void * buffer, unsigned int count)
http://thread.gmane.org/gmane.comp.version-control.git/145294
in the git mailing list. */
const unsigned char *p = buffer;
const unsigned chunk = 30 * 1024 * 1024;
const bool is_pipe = (fd < MAXDESC
&& ((fd_info[fd].flags & (FILE_PIPE | FILE_NDELAY))
== (FILE_PIPE | FILE_NDELAY)));
/* Some programs, notably Node.js's node.exe, seem to never
completely empty the pipe, so writing more than the size of
the pipe's buffer always returns ENOSPC, and we loop forever
between send_process and here. As a workaround, write no
more than the pipe's buffer can hold. */
DWORD pipe_buffer_size;
if (is_pipe)
{
if (!GetNamedPipeInfo ((HANDLE)_get_osfhandle (fd),
NULL, &pipe_buffer_size, NULL, NULL))
{
DebPrint (("GetNamedPipeInfo: error %u\n", GetLastError ()));
pipe_buffer_size = 4096;
}
}
const unsigned chunk = is_pipe ? pipe_buffer_size : 30 * 1024 * 1024;
nchars = 0;
errno = 0;
while (count > 0)
{
unsigned this_chunk = count < chunk ? count : chunk;
int n = _write (fd, p, this_chunk);
nchars += n;
if (n > 0)
nchars += n;
if (n < 0)
{
/* When there's no buffer space in a pipe that is in the
@ -8654,12 +8679,10 @@ sys_write (int fd, const void * buffer, unsigned int count)
avoiding deadlock whereby each side of the pipe is
blocked on write, waiting for the other party to read
its end of the pipe. */
if (errno == ENOSPC
&& fd < MAXDESC
&& ((fd_info[fd].flags & (FILE_PIPE | FILE_NDELAY))
== (FILE_PIPE | FILE_NDELAY)))
if (errno == ENOSPC && is_pipe)
errno = EAGAIN;
nchars = n;
if (nchars == 0)
nchars = -1;
break;
}
else if (n < this_chunk)

View file

@ -3702,6 +3702,13 @@ of time slices to wait (effectively boosting the priority of the child
process temporarily). A value of zero disables waiting entirely. */);
w32_pipe_read_delay = 50;
DEFVAR_INT ("w32-pipe-buffer-size", w32_pipe_buffer_size,
doc: /* Size of buffer for pipes created to communicate with subprocesses.
The size is in bytes, and must be non-negative. The default is zero,
which lets the OS use its default size, usually 4KB (4096 bytes).
Any negative value means to use the default value of zero. */);
w32_pipe_buffer_size = 0;
DEFVAR_LISP ("w32-downcase-file-names", Vw32_downcase_file_names,
doc: /* Non-nil means convert all-upper case file names to lower case.
This applies when performing completions and file name expansion.

View file

@ -87,9 +87,15 @@ WRITE_LOG = > $@ 2>&1 || { stat=ERROR; cat $@; }; echo $$stat: $@
## to change this; bug#17848 - if that gets done, this can be simplified).
##
## Beware: it approximates 'no-byte-compile', so watch out for false-positives!
SELECTOR_DEFAULT=(quote (not (tag :expensive-test)))
SELECTOR_EXPENSIVE=nil
SELECTOR=
SELECTOR_DEFAULT = (quote (not (tag :expensive-test)))
SELECTOR_EXPENSIVE = nil
ifndef SELECTOR
SELECTOR_ACTUAL=$(SELECTOR_DEFAULT)
else
SELECTOR_ACTUAL=$(SELECTOR)
endif
%.log: %.el
@if grep '^;.*no-byte-compile: t' $< > /dev/null; then \
loadfile=$<; \
@ -101,7 +107,7 @@ SELECTOR=
stat=OK ; \
mkdir --parents $(dir $@) ; \
$(emacs) -l ert -l $$loadfile \
--eval "(ert-run-tests-batch-and-exit ${SELECTOR})" ${WRITE_LOG}
--eval "(ert-run-tests-batch-and-exit ${SELECTOR_ACTUAL})" ${WRITE_LOG}
ELFILES = $(shell find ${srcdir} -path "${srcdir}/manual" -prune -o \
-path "*resources" -prune -o -name "*el" -print)
@ -136,29 +142,31 @@ $(foreach test,${TESTS},$(eval $(call test_template,${test})))
## have to run Emacs for every make invocation, and it might not be
## available during clean.
-include make-test-deps.mk
## Rerun default tests.
check:
@${MAKE} check-doit SELECTOR="${SELECTOR_DEFAULT}"
## Rerun all default tests.
check: mostlyclean
@${MAKE} check-doit SELECTOR="${SELECTOR_ACTUAL}"
## Rerun also expensive tests.
## Rerun all default and expensive tests.
.PHONY: check-expensive
check-expensive:
check-expensive: mostlyclean
@${MAKE} check-doit SELECTOR="${SELECTOR_EXPENSIVE}"
## Re-run all the tests every time.
.PHONY: check-doit
check-doit:
-@for f in $(LOGFILES); do test ! -f $$f || mv $$f $$f~; done
@${MAKE} check-maybe
## Only re-run tests whose .log is older than the test.
## Only re-run default tests whose .log is older than the test.
.PHONY: check-maybe
check-maybe: ${LOGFILES}
check-maybe:
@${MAKE} check-doit SELECTOR="${SELECTOR_ACTUAL}"
## Run the tests.
.PHONY: check-doit
check-doit: ${LOGFILES}
$(emacs) -l ert -f ert-summarize-tests-batch-and-exit $^
.PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean
clean mostlyclean:
mostlyclean:
-@for f in *.log; do test ! -f $$f || mv $$f $$f~; done
clean:
-rm -f ${LOGFILES} ${LOGSAVEFILES}
-rm make-test-deps.mk

View file

@ -32,7 +32,7 @@
(should (equal (list (let ((c-e-x 1)) (defvar c-e-x 2) c-e-x) c-e-x)
'(1 2)))
(should (equal (list (let ((c-e-x 1))
(defcustom c-e-x 2 "doc" :group 'blah) c-e-x)
(defcustom c-e-x 2 "doc" :group 'blah :type 'integer) c-e-x)
c-e-x)
'(1 2)))))

View file

@ -302,7 +302,7 @@ <H3><A NAME="impatto">
Local variables:
fill-column: 72
time-stamp-active: t
time-stamp-time-zone: "GMT"
time-stamp-time-zone: "UTC0"
time-stamp-format: "%:y-%02m-%02d"
time-stamp-line-limit: 30
time-stamp-start: "ultima\\s-+modifica\\s-+è\\s-+del\\s-+"

View file

@ -55,3 +55,13 @@ article[role="main"] {
}
.box { @include border-radius(10px); }
// bug:21230
$list: (
('a', #000000, #fff)
('b', #000000, #fff)
('c', #000000, #fff)
('d', #000000, #fff)
('e', #000000, #fff)
('f', #000000, #fff)
);