emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 6acd2aa 1/5: -


From: John Wiegley
Subject: [Emacs-diffs] master 6acd2aa 1/5: -
Date: Tue, 19 Jan 2016 07:18:06 +0000

branch: master
commit 6acd2aa02c6f0eb9d3fadce0bb48183837beafd8
Merge: 564c84f 549a765
Author: John Wiegley <address@hidden>
Commit: John Wiegley <address@hidden>

    -
---
 CONTRIBUTE                                     |    4 +-
 ChangeLog.2                                    |    4 +-
 build-aux/gitlog-to-changelog                  |    4 +-
 build-aux/move-if-change                       |    4 +-
 build-aux/update-copyright                     |    4 +-
 doc/emacs/files.texi                           |    7 +-
 doc/emacs/msdos.texi                           |   14 ++-
 doc/lispref/display.texi                       |   21 ++-
 doc/lispref/hooks.texi                         |   20 ++
 doc/lispref/loading.texi                       |    4 +-
 doc/lispref/markers.texi                       |    2 +-
 doc/lispref/minibuf.texi                       |   32 +++-
 doc/lispref/nonascii.texi                      |   39 ++++
 doc/lispref/processes.texi                     |   10 +-
 doc/lispref/searching.texi                     |   15 +-
 doc/lispref/text.texi                          |   40 ++++-
 doc/misc/autotype.texi                         |    8 +-
 doc/misc/texinfo.tex                           |   62 +++++++-
 etc/NEWS                                       |   63 ++++++--
 etc/publicsuffix.txt                           |  225 +++++++++++++++++++++---
 lisp/cedet/mode-local.el                       |    2 +-
 lisp/descr-text.el                             |    2 +-
 lisp/electric.el                               |    3 +
 lisp/emacs-lisp/check-declare.el               |    1 +
 lisp/emacs-lisp/cursor-sensor.el               |    4 +-
 lisp/emacs-lisp/package.el                     |    2 +
 lisp/epg-config.el                             |    1 +
 lisp/erc/erc.el                                |    6 +-
 lisp/eshell/em-term.el                         |    1 +
 lisp/gnus/gnus-fun.el                          |    4 +-
 lisp/gnus/gnus.el                              |    1 +
 lisp/gnus/mml-sec.el                           |   23 ++-
 lisp/gnus/mml-smime.el                         |    6 +-
 lisp/gnus/nntp.el                              |   26 +--
 lisp/international/mule-util.el                |    2 +-
 lisp/mail/rmail.el                             |    5 +-
 lisp/net/browse-url.el                         |    2 +
 lisp/net/newst-reader.el                       |    1 +
 lisp/net/newst-treeview.el                     |    4 +-
 lisp/progmodes/etags.el                        |    1 -
 lisp/progmodes/gud.el                          |    1 +
 lisp/progmodes/hideif.el                       |    2 +-
 lisp/progmodes/prog-mode.el                    |    1 +
 lisp/progmodes/project.el                      |    3 +-
 lisp/progmodes/python.el                       |    7 +
 lisp/progmodes/xref.el                         |    1 +
 lisp/rect.el                                   |    1 +
 lisp/term/screen.el                            |    1 +
 lisp/term/xterm.el                             |    1 +
 lisp/textmodes/css-mode.el                     |   10 +-
 lisp/textmodes/tildify.el                      |    2 +-
 lisp/thingatpt.el                              |    4 +-
 lisp/time-stamp.el                             |   50 +++---
 lisp/url/url-tramp.el                          |    4 +-
 src/buffer.c                                   |    8 +-
 src/w32.c                                      |   39 ++++-
 src/w32proc.c                                  |    7 +
 test/Makefile.in                               |   44 +++--
 test/lisp/legacy/core-elisp-tests.el           |    2 +-
 test/manual/etags/html-src/softwarelibero.html |    2 +-
 test/manual/indent/scss-mode.scss              |   10 +
 61 files changed, 669 insertions(+), 210 deletions(-)

diff --git a/CONTRIBUTE b/CONTRIBUTE
index 323f9b9..06e1b38 100644
--- a/CONTRIBUTE
+++ b/CONTRIBUTE
@@ -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.
 
diff --git a/ChangeLog.2 b/ChangeLog.2
index 7e4ec58..1086b22 100644
--- a/ChangeLog.2
+++ b/ChangeLog.2
@@ -22180,10 +22180,10 @@
 2015-05-21  kwhite  <address@hidden>
 
        * 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  <address@hidden>
 
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
index e25d48e..a426504 100755
--- a/build-aux/gitlog-to-changelog
+++ b/build-aux/gitlog-to-changelog
@@ -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:
diff --git a/build-aux/move-if-change b/build-aux/move-if-change
index cd744a9..e3fe71d 100755
--- a/build-aux/move-if-change
+++ b/build-aux/move-if-change
@@ -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:
diff --git a/build-aux/update-copyright b/build-aux/update-copyright
index 40f7b98..8c6ee1f 100755
--- a/build-aux/update-copyright
+++ b/build-aux/update-copyright
@@ -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:
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index bfa55d3..3d5562d 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -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
diff --git a/doc/emacs/msdos.texi b/doc/emacs/msdos.texi
index ea8a24d..6ad12d6 100644
--- a/doc/emacs/msdos.texi
+++ b/doc/emacs/msdos.texi
@@ -655,7 +655,7 @@ and the right button generates @kbd{mouse-3} events.  If 
this variable
 is address@hidden, the roles of these two buttons are reversed.
 
 @node Windows Processes
address@hidden Subprocesses on Windows 9X/ME and Windows NT/2K/XP
address@hidden 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 address@hidden, 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.
 
address@hidden 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
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 93b00e1..d770599 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -95,11 +95,6 @@ redisplay proceeded to completion; it could have been 
preempted by
 newly arriving input.
 @end defun
 
address@hidden pre-redisplay-function
-A function run just before redisplay.  It is called with one argument,
-the set of windows to redisplay.
address@hidden 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
 
address@hidden 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.
address@hidden defvar
+
address@hidden 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.
address@hidden 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
address@hidden text property.  @xref{Special Properties}, for details.
address@hidden 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
diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi
index cbbaa8e..1027aa0 100644
--- a/doc/lispref/hooks.texi
+++ b/doc/lispref/hooks.texi
@@ -180,6 +180,26 @@ Hook run when about to switch windows with a mouse command.
 @item mouse-position-function
 @xref{Mouse Position}.
 
address@hidden prefix-command-echo-keystrokes-functions
address@hidden 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}.
+
address@hidden prefix-command-preserve-state-hook
address@hidden 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,
address@hidden needs to pass the state to the next command when the user
+types @kbd{C-u -} or follows @kbd{C-u} with a digit.
+
address@hidden 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}.
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index cb5c701..18e67f1 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -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
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi
index bf18543..1c90466 100644
--- a/doc/lispref/markers.texi
+++ b/doc/lispref/markers.texi
@@ -576,7 +576,7 @@ If an editor command sets this variable address@hidden, 
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
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index bf95646..e24d2cd 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -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}.
 
address@hidden read-buffer prompt &optional default require-match
address@hidden 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 address@hidden,
-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 address@hidden, 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 address@hidden, 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 address@hidden, 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, address@hidden 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 address@hidden, @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
 
address@hidden completion-table-dynamic function
address@hidden 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 address@hidden, 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
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 744351e..fca4023 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -123,6 +123,45 @@ In other words, the value does not change for all byte 
positions that
 belong to the same character.
 @end defun
 
address@hidden convert file byte to buffer position
address@hidden 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.
+
address@hidden 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
address@hidden specifies how accurate the result should be; it should
+be one of the following:
+
address@hidden @code
address@hidden exact
+The result must be accurate.  The function may need to encode and
+decode a large part of the buffer.
address@hidden approximate
+The value can be an approximation.  The function may avoid expensive
+processing and return an inexact result.
address@hidden 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.
address@hidden table
address@hidden defun
+
address@hidden 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
address@hidden and @var{coding-system} have the same meaning and values
+as for @code{bufferpos-to-filepos}.
address@hidden 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
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 2a4bd8a..f660b15 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -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
address@hidden; 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
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 5ff7ef1..1243d72 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1151,16 +1151,17 @@ comes back" twice.
 @end example
 @end defun
 
address@hidden looking-back regexp &optional limit greedy
address@hidden 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 address@hidden 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 address@hidden, 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
address@hidden
+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}
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 5d9f192..41991c9 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -3380,14 +3380,22 @@ If consecutive characters have unequal address@hidden
 @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 address@hidden,
-the @code{intangible} property is ignored.
+When the variable @code{inhibit-point-motion-hooks} is address@hidden
+(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.
+
address@hidden cursor-intangible
address@hidden cursor-intangible @r{(text property)}
address@hidden cursor-intangible-mode
+When the minor mode @code{cursor-intangible-mode} is turned on, point
+is moved away of any position that has a address@hidden
address@hidden 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
address@hidden 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
address@hidden point motion hooks}.
+
+These properties are obsolete; please use
address@hidden instead.
+
address@hidden cursor-sensor-functions
address@hidden cursor-sensor-functions @r{(text property)}
address@hidden 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
address@hidden point motion hooks} When this variable is
address@hidden point motion hooks} When this obsolete variable is
 address@hidden, @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
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi
index 839782a..6bdbd34 100644
--- a/doc/misc/autotype.texi
+++ b/doc/misc/autotype.texi
@@ -531,15 +531,17 @@ then @code{time-stamp} is conveniently listed as an 
option in the
 customization buffer.
 
 @vindex time-stamp-active
address@hidden time-stamp-toggle-active
 @vindex time-stamp-format
address@hidden time-stamp-start
address@hidden 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
address@hidden
+the time stamp is set by the customizable variables
address@hidden and @code{time-stamp-time-zone}.
 
 @vindex time-stamp-line-limit
address@hidden time-stamp-start
 @vindex time-stamp-end
 @vindex time-stamp-count
 @vindex time-stamp-inserts-lines
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index f140bba..936c32d 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -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 @@ directory should work if nowhere else does.}
   \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 @@ directory should work if nowhere else does.}
 %
 \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 @@ directory should work if nowhere else does.}
 address@hidden@^=7 @address@hidden
 @address@hidden input address@hidden
 
+% Emergency active definition of newline, in case an active newline token
+% appears by mistake.
address@hidden@^=7 @catcode13=13%
address@hidden@enableemergencynewline{%
+  @gdef^^M{%
+    @par%
+    %<warning: active newline>@par%
+}}}
+
+
 @address@hidden
   @address@hidden @let\ = @ttbackslash @fi
   @catcode13=5 % regular end of line
+  @enableemergencynewline
   @address@hidden@texinfoc
   % Also turn back on active characters that might appear in the input
   % file name, in case not using a pre-dumped format.
diff --git a/etc/NEWS b/etc/NEWS
index cb93979..66e8e77 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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.
diff --git a/etc/publicsuffix.txt b/etc/publicsuffix.txt
index 98929de..a6f596a 100644
--- a/etc/publicsuffix.txt
+++ b/etc/publicsuffix.txt
@@ -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 <address@hidden> 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 <address@hidden> 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 <address@hidden> 2014-01-03
-tp
-
 // subTLDs: https://www.nic.tr/forms/eng/policies.pdf
 //     and: https://www.nic.tr/forms/politikalar.pdf
 // Submitted by <address@hidden> 2014-07-19
@@ -6564,8 +6574,8 @@ lib.wi.us
 // lib.wv.us  Bug 941670 - Removed at request of Larry W Arnold 
<address@hidden>
 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 Shangri‐La 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 Shangri‐La 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 <address@hidden> 2013-05-02
 herokuapp.com
@@ -11075,6 +11221,10 @@ bmoattachments.org
 // Submitted by Trung Tran <address@hidden> 2015-04-23
 4u.com
 
+// ngrok : https://ngrok.com/
+// Submitted by Alan Shreve <address@hidden> 2015-11-10
+ngrok.io
+
 // NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
 // Submitted by Jeff Wheelhouse <address@hidden> 2014-02-02
 nfshost.com
@@ -11095,6 +11245,10 @@ operaunite.com
 // Submitted by Duarte Santos <address@hidden> 2014-03-11
 outsystemscloud.com
 
+// Pagefront : https://www.pagefronthq.com/
+// Submitted by Jason Kriss <address@hidden> 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 <address@hidden> 2015-12-02
+rackmaze.com
+rackmaze.net
+
 // Red Hat, Inc. OpenShift : https://openshift.redhat.com/
 // Submitted by Tim Kramer <address@hidden> 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 <address@hidden> 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
diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el
index 30320b0..ce36748 100644
--- a/lisp/cedet/mode-local.el
+++ b/lisp/cedet/mode-local.el
@@ -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."
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index dcc697e..a352ed0 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -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,
diff --git a/lisp/electric.el b/lisp/electric.el
index abddd98..ab79943 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -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)
diff --git a/lisp/emacs-lisp/check-declare.el b/lisp/emacs-lisp/check-declare.el
index 513aa31..b6fa054 100644
--- a/lisp/emacs-lisp/check-declare.el
+++ b/lisp/emacs-lisp/check-declare.el
@@ -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)
diff --git a/lisp/emacs-lisp/cursor-sensor.el b/lisp/emacs-lisp/cursor-sensor.el
index 70c4458..ac063d48 100644
--- a/lisp/emacs-lisp/cursor-sensor.el
+++ b/lisp/emacs-lisp/cursor-sensor.el
@@ -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
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 057d014..08f6414 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -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)
diff --git a/lisp/epg-config.el b/lisp/epg-config.el
index 5fac079..e92bcd6 100644
--- a/lisp/epg-config.el
+++ b/lisp/epg-config.el
@@ -53,6 +53,7 @@
 
 (defcustom epg-gpgconf-program "gpgconf"
   "The `gpgconf' executable."
+  :version "25.1"
   :group 'epg
   :type 'string)
 
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 3824c19..56317b8 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -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)
 
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index aabc5fd..3e5de0c 100644
--- a/lisp/eshell/em-term.el
+++ b/lisp/eshell/em-term.el
@@ -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)
 
diff --git a/lisp/gnus/gnus-fun.el b/lisp/gnus/gnus-fun.el
index fa78b5c..a6b2730 100644
--- a/lisp/gnus/gnus-fun.el
+++ b/lisp/gnus/gnus-fun.el
@@ -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."
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 1196ea9..5d2ce7e 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -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)
diff --git a/lisp/gnus/mml-sec.el b/lisp/gnus/mml-sec.el
index 0a5f472..48e6384 100644
--- a/lisp/gnus/mml-sec.el
+++ b/lisp/gnus/mml-sec.el
@@ -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
diff --git a/lisp/gnus/mml-smime.el b/lisp/gnus/mml-smime.el
index a40595e..2d8f25c 100644
--- a/lisp/gnus/mml-smime.el
+++ b/lisp/gnus/mml-smime.el
@@ -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")
 
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el
index 0e10dfd..f56b045 100644
--- a/lisp/gnus/nntp.el
+++ b/lisp/gnus/nntp.el
@@ -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
diff --git a/lisp/international/mule-util.el b/lisp/international/mule-util.el
index 24ad342..ae58f1e 100644
--- a/lisp/international/mule-util.el
+++ b/lisp/international/mule-util.el
@@ -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)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 05511a8..5464c38 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -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")
 
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 26fa0d9..2bda97f 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -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)
 
diff --git a/lisp/net/newst-reader.el b/lisp/net/newst-reader.el
index 1647ef8..9c29216 100644
--- a/lisp/net/newst-reader.el
+++ b/lisp/net/newst-reader.el
@@ -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)
 
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el
index 0e75236..4de3d1d 100644
--- a/lisp/net/newst-treeview.el
+++ b/lisp/net/newst-treeview.el
@@ -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")
 
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 2db7220..271033b 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -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
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index c22de2f..1a0385e 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -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)
 
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 43cf42c..cc7d1c3 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -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
diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el
index 2f12df4..718b339 100644
--- a/lisp/progmodes/prog-mode.el
+++ b/lisp/progmodes/prog-mode.el
@@ -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))
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index fe28ed7..a972def 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -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)
 
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 3bcbf07..a8c65fa 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -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
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index fe39122..6220b4c 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -76,6 +76,7 @@
   (require 'semantic/symref)) ;; for hit-lines slot
 
 (defgroup xref nil "Cross-referencing commands"
+  :version "25.1"
   :group 'tools)
 
 
diff --git a/lisp/rect.el b/lisp/rect.el
index 789d0e9..73790f2 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -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 ()
diff --git a/lisp/term/screen.el b/lisp/term/screen.el
index 704fbef..7f68115 100644
--- a/lisp/term/screen.el
+++ b/lisp/term/screen.el
@@ -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)
 
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index 104f983..e06423c 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -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~"
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el
index 48c2484..d402fb1 100644
--- a/lisp/textmodes/css-mode.el
+++ b/lisp/textmodes/css-mode.el
@@ -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))
diff --git a/lisp/textmodes/tildify.el b/lisp/textmodes/tildify.el
index eb799c0..598060e 100644
--- a/lisp/textmodes/tildify.el
+++ b/lisp/textmodes/tildify.el
@@ -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."
diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el
index 9794d00..1686c02 100644
--- a/lisp/thingatpt.el
+++ b/lisp/thingatpt.el
@@ -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:"
diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el
index 46c993e..d58942c 100644
--- a/lisp/time-stamp.el
+++ b/lisp/time-stamp.el
@@ -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 <address@hidden>
 ;; 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'.
diff --git a/lisp/url/url-tramp.el b/lisp/url/url-tramp.el
index 9e19157..192a045 100644
--- a/lisp/url/url-tramp.el
+++ b/lisp/url/url-tramp.el
@@ -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."
diff --git a/src/buffer.c b/src/buffer.c
index 1468e7a..4df77a1 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -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,
diff --git a/src/w32.c b/src/w32.c
index 4770718..ea3a9da 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -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)
diff --git a/src/w32proc.c b/src/w32proc.c
index a65f085..a89a985 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -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.
diff --git a/test/Makefile.in b/test/Makefile.in
index e8b1431..9f70113 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -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:
-       address@hidden 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:
+       address@hidden f in *.log; do test ! -f $$f || mv $$f $$f~; done
+
+clean:
        -rm -f ${LOGFILES} ${LOGSAVEFILES}
        -rm make-test-deps.mk
 
diff --git a/test/lisp/legacy/core-elisp-tests.el 
b/test/lisp/legacy/core-elisp-tests.el
index 7698533..b44bb37 100644
--- a/test/lisp/legacy/core-elisp-tests.el
+++ b/test/lisp/legacy/core-elisp-tests.el
@@ -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)))))
 
diff --git a/test/manual/etags/html-src/softwarelibero.html 
b/test/manual/etags/html-src/softwarelibero.html
index 1594329..b374273 100644
--- a/test/manual/etags/html-src/softwarelibero.html
+++ b/test/manual/etags/html-src/softwarelibero.html
@@ -302,7 +302,7 @@
 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-+"
diff --git a/test/manual/indent/scss-mode.scss 
b/test/manual/indent/scss-mode.scss
index 7a29929..02a4a98 100644
--- a/test/manual/indent/scss-mode.scss
+++ b/test/manual/indent/scss-mode.scss
@@ -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)
+);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]