]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from origin/emacs-25
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 19 Mar 2017 19:34:03 +0000 (12:34 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 19 Mar 2017 19:34:03 +0000 (12:34 -0700)
ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
2b774fa Mention "editor" in Emacs man page header
ae60d0c Document problems with nerd-fonts
2fdb5a9 ; Details about pinning Emacs to w32 task bar
5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
4c51ef4 Clarify what is the "cursor"
8303c32 ; * etc/NEWS: Copyedits.
3f7493e ; Fix a typo in comment
c54cf8d Improve commentary in lisp.h
8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
0ba9932 Disable native completion for ipython (Bug#25067)
38fc456 Fix a typo in ada-mode manual
00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...

# Conflicts:
# etc/NEWS
# etc/PROBLEMS

14 files changed:
1  2 
admin/make-tarball.txt
doc/lispref/modes.texi
doc/lispref/nonascii.texi
doc/lispref/windows.texi
doc/man/emacs.1.in
etc/NEWS
etc/PROBLEMS
lisp/international/mule-util.el
lisp/progmodes/python.el
lisp/vc/ediff-wind.el
lisp/woman.el
nt/README.W32
src/coding.c
src/lisp.h

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc etc/NEWS
index f047aa86f9f08cf126e37b207d67d58b8705a9cc,539e56e42a0b47f178ff4eb0470e55de57e4c09a..f15635fb8842d1a4335aa67619fd44d0ae46ebac
+++ b/etc/NEWS
@@@ -15,505 -15,610 +15,504 @@@ NEWS.19, NEWS.18, and NEWS.1-17 for cha
  You can narrow news to a specific version by calling 'view-emacs-news'
  with a prefix argument or by typing C-u C-h C-n.
  
 -\f
 -* Changes in Emacs 25.2
 -
 -This is mainly a bug-fix release, but there are some other changes.
 -
 -** 'find-library', 'help-function-def' and 'help-variable-def' now run
 -'find-function-after-hook'.
 -
 -** New basic face 'fixed-pitch-serif', for a fixed-width font with serifs.
 -The 'Info-quoted' and 'tex-verbatim' faces inherit from it by default.
 -
 -** New variable 'use-default-font-for-symbols', for backward compatibility.
 -This variable allows you to get back pre-Emacs 25 behavior where the
 -font for displaying symbol and punctuation characters was always
 -selected according to your fontset setup.  By default, Emacs 25 tries
 -to use the default face's font for such characters, if it supports
 -them, disregarding the fontsets.  Set this variable to nil to disable
 -this and get back the old behavior.
 -
 -** 'electric-quote-mode' is no longer suppressed in a buffer whose
 -coding system cannot represent curved quote characters.
 -Instead, users can deal with the unrepresentable characters in the
 -usual way when they save the buffer.
 -
 -** New variable 'inhibit-compacting-font-caches'.
 -Set this variable to a non-nil value to speed up display of characters
 -using large fonts, at the price of a larger memory footprint.
 +Temporary note:
 ++++ indicates that all necessary documentation updates are complete.
 +    (This means all relevant manuals in doc/ AND lisp doc-strings.)
 +--- means no change in the manuals is needed.
 +When you add a new item, use the appropriate mark if you are sure it applies,
  
- +++
  ** The version number of CC Mode has been changed from 5.33 to
  5.32.99, although the software itself hasn't changed.  This aims to
  reduce confusion with the standalone CC Mode 5.33 (available from
  http://cc-mode.sourceforge.net), which is a more mature version than
- the one in Emacs 25.2.
+ the one included in Emacs 25.2.
  
  \f
 -* Installation Changes in Emacs 25.1
 -
 -** Building Emacs now requires C99 or later.
 -
 -** Building Emacs now requires GNU make, version 3.81 or later.
 -
 -** New configure option --with-cairo.
 -This builds Emacs with Cairo drawing.  As a side effect, it provides
 -support for built-in printing, when Emacs was built with GTK+.
 -The Emacs Cairo drawing is experimental and still has some known
 -display problems.  We encourage more testing of this build and
 -reporting any problems you find, but it is not recommended for
 -production.
 -
 -** New configure option --with-modules.
 -This enables support for loading dynamic modules; see below.
 -
 -** By default, Emacs no longer works on IRIX.  We expect that Emacs
 -users are not affected by this, as SGI stopped supporting IRIX in
 -December 2013.  If you are affected, please send a bug report.  You
 -should be able to work around the problem either by porting the Emacs
 -undumping code to GCC under IRIX, or by configuring --with-wide-int,
 -or by sticking with Emacs 24.4.
 -
 -** The Emacs garbage collector assumes GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
 -The GC_MAKE_GCPROS_NOOPS stack-marking variant has been the default
 -since Emacs 24.4, and the other variants were undocumented and were
 -obstacles to maintenance and development.  GC_MARK_STACK and its
 -related symbols have been removed from the C internals.
 -
 -** 'configure' now prefers gnustep-config when configuring GNUstep.
 -If gnustep-config is not available, the old heuristics are used.
 -
 -** 'configure' now prefers inotify to gfile for file notification,
 -unless gfile is explicitly requested via --with-file-notification='gfile'.
 -
 -** 'configure' detects the kqueue file notification library on *BSD
 -and macOS machines.
 -
 -** The configure option '--with-pkg-config-prog' has been removed.
 -Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to.
 -
 -** The configure option '--with-mmdf' has been removed.
 -It was no longer useful, as it relied on libraries that are no longer
 -supported, and its presence led to confusion during configuration.
 -This affects only the 'movemail' utility; Emacs itself can still
 -process MMDF-format files as before.
 -
 -** The configure option '--enable-silent-rules' is now the default,
 -and silent rules are now quieter.  To get the old behavior where
 -'make' chatters a lot, configure with '--disable-silent-rules' or
 -build with 'make V=1'.
 -
 -** The configure option '--with-gameuser' now allows you to specify a
 -group instead of a user if its argument is prefixed by ':' (a colon).
 -This will cause the game score files in "${localstatedir}/games/emacs"
 -to be owned by that group, and the helper program for updating them to
 -be installed setgid.  The option now defaults to the 'games' group.
 -
 -** The 'grep-changelog' script (and its manual page) are no longer included.
 -It has no particular connection to Emacs and has not changed in years,
 -so if you want to use it, you can always take a copy from an older Emacs.
 -
 -** Emacs 25 comes with a new set of icons.
 -Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png.
 -The old Emacs logo icons are available as 'emacs23.png' in the same location.
 -
 -** New make target 'check-expensive' to run additional tests.
 -This includes all tests which run via "make check", plus additional
 -tests which take more time to perform.
 +* Installation Changes in Emacs 26.1
 +
 +** By default libgnutls is now required when building Emacs.
 +Use 'configure --with-gnutls=no' to build even when GnuTLS is missing.
 +
 +** GnuTLS version 2.12.2 or later is now required, instead of merely
 +version 2.6.6 or later.
 +
 +** The new option 'configure --with-mailutils' causes Emacs to rely on
 +GNU Mailutils 'movemail' to retrieve email.  By default, the Emacs
 +build procedure continues to build and install a limited and insecure
 +'movemail' substitute.  Although --with-mailutils is recommended, it
 +is not yet the default due to backward-compatibility concerns.
 +
 +** The new option 'configure --enable-gcc-warnings=warn-only' causes
 +GCC to issue warnings without stopping the build.  This behavior is
 +now the default in developer builds.  As before, use
 +'--disable-gcc-warnings' to suppress GCC's warnings, and
 +'--enable-gcc-warnings' to stop the build if GCC issues warnings.
 +
 ++++
 +** The Emacs server now has socket-launching support.  This allows
 +socket based activation, where an external process like systemd can
 +invoke the Emacs server process upon a socket connection event and
 +hand the socket over to Emacs.  Emacs uses this socket to service
 +emacsclient commands.  This new functionality can be disabled with the
 +configure option '--disable-libsystemd'.
 +
 ++++
 +** A systemd user unit file is provided.  Use it in the standard way:
 +systemctl --user enable emacs
 +(If your Emacs is installed in a non-standard location, you may
 +need to copy the emacs.service file to eg ~/.config/systemd/user/)
 +
 +** New configure option '--disable-build-details' attempts to build an
 +Emacs that is more likely to be reproducible; that is, if you build
 +and install Emacs twice, the second Emacs is a copy of the first.
 +Deterministic builds omit the build date from the output of the
 +emacs-version and erc-cmd-SV functions, and the leave the following
 +variables nil: emacs-build-system, emacs-build-time,
 +erc-emacs-build-time.
 +
 +** The configure option '--with-gameuser' now defaults to 'no',
 +as this appears to be the most common configuration in practice.
 +When it is 'no', the shared game directory and the auxiliary program
 +update-game-score are no longer needed and are not installed.
 +
 +** Emacs no longer works on IRIX.  We expect that Emacs users are not
 +affected by this, as SGI stopped supporting IRIX in December 2013.
  
  \f
 -* Startup Changes in Emacs 25.1
 -
 -** When Emacs is given a file as a command line argument and
 -'initial-buffer-choice' is non-nil, display both the file and
 -'initial-buffer-choice'.  When Emacs is given more than one file and
 -'initial-buffer-choice' is non-nil, show 'initial-buffer-choice'
 -and '*Buffer List*'.  This makes Emacs convenient to use from the
 -command line when 'initial-buffer-choice' is non-nil.
 +* Startup Changes in Emacs 26.1
  
 -** The value of 'initial-scratch-message' is now treated as a doc string
 -and can contain escape sequences for command keys, quotes, and the like.
 +** New option '--new-daemon'.  This is the same as '--daemon', except
 +it runs in the foreground and does not fork.  This is intended for
 +modern init systems such as systemd, which manage many of the traditional
 +aspects of daemon behavior themselves.  '--old-daemon' is now an alias
 +for '--daemon'.
  
 -** The default height of GUI frames was enlarged.
 -This is so there's enough space in the initial window to display the
 -optional text about recovering crashes sessions, without losing the
 -splash image display.
 ++++
 +** Emacs now supports 24-bit colors on capable text terminals
 +Terminal is automatically initialized to use 24-bit colors if the
 +required capabilities are found in terminfo.  See the FAQ node
 +"Colors on a TTY" for more information.
  
  \f
 -* Changes in Emacs 25.1
 -
 -** Xwidgets: a new feature for embedding native widgets inside Emacs buffers.
 -If you have gtk3 and webkitgtk3 installed, and Emacs was built with
 -xwidget support, you can access the embedded webkit browser with 'M-x
 -xwidget-webkit-browse-url'.  This opens a new buffer with the embedded
 -browser.  The buffer will have a new mode, 'xwidget-webkit-mode'
 -(similar to 'image-mode'), which supports the webkit widget.
 -
 -*** New functions for xwidget-webkit mode 'xwidget-webkit-insert-string',
 -'xwidget-webkit-adjust-size-dispatch', 'xwidget-webkit-back',
 -'xwidget-webkit-browse-url', 'xwidget-webkit-reload',
 -'xwidget-webkit-current-url', 'xwidget-webkit-scroll-backward',
 -'xwidget-webkit-scroll-forward', 'xwidget-webkit-scroll-down',
 -'xwidget-webkit-scroll-up'.
 -
 -** Emacs can now load shared/dynamic libraries (modules).
 -A dynamic Emacs module is a shared library that provides additional
 -functionality for use in Emacs Lisp programs, just like a package
 -written in Emacs Lisp would.  The functions 'load', 'require',
 -'load-file', etc. were extended to load such modules, as they do with
 -Emacs Lisp packages.  The new variable 'module-file-suffix' holds the
 -system-dependent value of the file-name extension ('.so' on Posix
 -hosts) of the module files.
 -
 -A module should export a C-callable function named
 -'emacs_module_init', which Emacs will call as part of the call to
 -'load' or 'require' which loads the module.  It should also export a
 -symbol named 'plugin_is_GPL_compatible' to indicate that its code is
 -released under the GPL or compatible license; Emacs will refuse to
 -load modules that don't export such a symbol.
 -
 -If a module needs to call Emacs functions, it should do so through the
 -API defined and documented in the header file 'emacs-module.h'.  Note
 -that any module that provides Lisp-callable functions will have to use
 -Emacs functions such as 'fset' and 'funcall', in order to register its
 -functions with the Emacs Lisp interpreter.
 -
 -Modules can create 'user-ptr' Lisp objects that embed pointers to C
 -structs defined by the module.  This is useful for keeping around
 -complex data structures created by a module, to be passed back to the
 -module's functions.  User-ptr objects can also have associated
 -"finalizers" -- functions to be run when the object is GC'ed; this is
 -useful for freeing any resources allocated for the underlying data
 -structure, such as memory, open file descriptors, etc.  A new
 -predicate 'user-ptrp' returns non-nil if its argument is a 'user-ptr'
 -object.
 -
 -Loadable modules in Emacs are an experimental feature, and subject to
 -change in future releases.  For that reason, their support is disabled
 -by default, and must be enabled by using the '--with-modules' option
 -at configure time.
 -
 -** Network security (TLS/SSL certificate validity and the like) is
 -added via the new Network Security Manager (NSM) and controlled via
 -the 'network-security-level' variable.
 -
 -** 'C-h l' now also lists the commands that were run.
 -
 -** 'x-select-enable-clipboard' is renamed 'select-enable-clipboard'
 -and 'x-select-enable-primary' is renamed 'select-enable-primary'.
 -Additionally they both now apply to all systems (macOS, GNUstep,
 -MS-Windows, you name it), with the proviso that on some systems (e.g.,
 -MS-Windows) 'select-enable-primary' is ineffective since the system
 -doesn't have the equivalent of a primary selection.
 -
 -** New option 'switch-to-buffer-in-dedicated-window' allows you to
 -customize how 'switch-to-buffer' proceeds interactively when the
 -selected window is strongly dedicated to its buffer.
 -
 -** The option 'even-window-heights' has been renamed to
 -'even-window-sizes' and now handles window widths as well.
 -
 -** 'terpri' gets an optional arg ENSURE to conditionally output a newline.
 -
 -** 'insert-register' now leaves point after the inserted text
 -when called interactively.  A prefix argument toggles this behavior.
 -
 -** The new variable 'term-file-aliases' replaces some files from lisp/term.
 -The function 'tty-run-terminal-initialization' consults this variable
 -when deciding what terminal-specific initialization code to run.
 -
 -** New variable 'system-configuration-features', listing some of the
 -main features that Emacs was compiled with.  This is mainly intended
 -for use in Emacs bug reports.
 -
 -** A password is now hidden also when typed in batch mode.  Another
 -hiding character but the default '.' can be used by let-binding the
 -variable 'read-hide-char'.
 -
 -** The Emacs pseudo-random number generator can be securely seeded.
 -On systems where Emacs can access the system entropy or some other
 -cryptographically secure random stream, it now uses that when 'random'
 -is called with its argument t.  This allows cryptographically strong
 -random values; in particular, the Emacs server now uses this facility
 -to produce its authentication key.
 -
 -** New input methods: 'tamil-dvorak', 'programmer-dvorak' and 'probhat'.
 +* Changes in Emacs 26.1
 +
 +** The variable 'emacs-version' no longer includes the build number.
 +This is now stored separately in a new variable, 'emacs-build-number'.
 +
 ++++
 +** The new function 'mapbacktrace' applies a function to all frames of
 +the current stack trace.
 +
 ++++
 +** Emacs now provides a limited form of concurrency with Lisp threads.
 +Concurrency in Emacs Lisp is "mostly cooperative", meaning that
 +Emacs will only switch execution between threads at well-defined
 +times: when Emacs waits for input, during blocking operations related
 +to threads (such as mutex locking), or when the current thread
 +explicitly yields.  Global variables are shared among all threads, but
 +a 'let' binding is thread-local.  Each thread also has its own current
 +buffer and its own match data.
 +
 +See the chapter "Threads" in the ELisp manual for full documentation
 +of these facilities.
 +
 ++++
 +** The new function 'file-name-case-insensitive-p' tests whether a
 +given file is on a case-insensitive filesystem.
 +
 ++++
 +** The new user variable 'electric-quote-chars' provides a list
 +of curved quotes for 'electric-quote-mode', allowing user to choose
 +the types of quotes to be used.
 +
 ++++
 +** The new user variable 'dired-omit-case-fold' allows the user to
 +customize the case-sensitivity of dired-omit-mode.  It defaults to
 +the same sensitivity as that of the filesystem for the corresponding
 +dired buffer.
 +
 ++++
 +** Emacs now uses double buffering to reduce flicker when editing and
 +resizing graphical Emacs frames on the X Window System.  This support
 +requires the DOUBLE-BUFFER extension, which major X servers have
 +supported for many years.  If your system has this extension, but an
 +Emacs built with double buffering misbehaves on some displays you use,
 +you can disable the feature by adding
 +
 +  '(inhibit-double-buffering . t)
 +
 +to default-frame-parameters.  Or inject this parameter into the
 +selected frame by evaluating this form:
 +
 +  (modify-frame-parameters nil '((inhibit-double-buffering . t)))
 +
 +---
 +The group 'wp', whose label was "text", is now deprecated.
 +Use the new group 'text', which inherits from 'wp', instead.
 +
 ++++
 +** The new function 'call-shell-region' executes a command in an
 +inferior shell with the buffer region as input.
 +
 ++++
 +** The new user option 'shell-command-dont-erase-buffer' controls
 +if the output buffer is erased between shell commands; if non-nil,
 +the output buffer is not erased; this variable also controls where
 +to set the point in the output buffer: beginning of the output,
 +end of the buffer or save the point.
 +When 'shell-command-dont-erase-buffer' is nil, the default value,
 +the behavior of 'shell-command', 'shell-command-on-region' and
 +'async-shell-command' is as usual.
 +
 ++++
 +** The new user option 'mouse-select-region-move-to-beginning'
 +controls the position of point when double-clicking mouse-1 on the end
 +of a parenthetical grouping or string-delimiter: the default value nil
 +keeps point at the end of the region, setting it to non-nil moves
 +point to the beginning of the region.
 +
 ++++
 +** The new user option 'confirm-kill-processes' allows the user to
 +skip a confirmation prompt for killing subprocesses when exiting
 +Emacs.  When set to t (the default), Emacs will prompt for
 +confirmation before killing subprocesses on exit, which is the same
 +behavior as before.
 +
 +---
 +** 'find-library-name' will now fall back on looking at 'load-history'
 +to try to locate libraries that have been loaded with an explicit path
 +outside 'load-path'.
 +
 ++++
 +** Faces in 'minibuffer-prompt-properties' no longer overwrite properties
 +in the text in functions like 'read-from-minibuffer', but instead are
 +added to the end of the face list.  This allows users to say things
 +like '(read-from-minibuffer (propertize "Enter something: " 'face 'bold))'.
 +
 ++++
 +** The new variable 'extended-command-suggest-shorter' has been added
 +to control whether to suggest shorter 'M-x' commands or not.
 +
 +---
 +** icomplete now respects 'completion-ignored-extensions'.
 +
 ++++
 +** Non-breaking hyphens are now displayed with the 'nobreak-hyphen'
 +face instead of the 'escape-glyph' face.
 +
 ++++
 +** Approximations to quotes are now displayed with the new 'homoglyph'
 +face instead of the 'escape-glyph' face.
 +
 +---
 +** 'C-x h' ('mark-whole-buffer') will now avoid marking the prompt
 +part of minibuffers.
 +
 +---
 +** 'find-library' now takes a prefix argument to pop to a different
 +window.
 +
 +---
 +** 'process-attributes' on Darwin systems now returns more information.
 +
 ++++
 +** Several accessors for the value returned by 'file-attributes'
 +have been added.  They are: 'file-attribute-type',
 +'file-attribute-link-number', 'file-attribute-user-id',
 +'file-attribute-group-id', 'file-attribute-access-time',
 +'file-attribute-modification-time',
 +'file-attribute-status-change-time', 'file-attribute-size',
 +'file-attribute-modes', 'file-attribute-inode-number',
 +'file-attribute-device-number' and 'file-attribute-collect'.
 +
 ++++
 +** The new function 'buffer-hash' computes a fast, non-consing hash of
 +a buffer's contents.
 +
 +---
 +** 'fill-paragraph' no longer marks the buffer as changed unless it
 +actually changed something.
 +
 +---
 +** The locale language name 'ca' is now mapped to the language
 +environment 'Catalan', which has been added.
 +
 +---
 +** 'align-regexp' has a separate history for its interactive argument.
 +'align-regexp' no longer shares its history with all other
 +history-less functions that use 'read-string'.
 +
 ++++
 +** The networking code has been reworked so that it's more
 +asynchronous than it was (when specifying :nowait t in
 +'make-network-process').  How asynchronous it is varies based on the
 +capabilities of the system, but on a typical GNU/Linux system the DNS
 +resolution, the connection, and (for TLS streams) the TLS negotiation
 +are all done without blocking the main Emacs thread.  To get
 +asynchronous TLS, the TLS boot parameters have to be passed in (see
 +the manual for details).
 +
 +Certain process oriented functions (like 'process-datagram-address')
 +will block until socket setup has been performed.  The recommended way
 +to deal with asynchronous sockets is to avoid interacting with them
 +until they have changed status to "run".  This is most easily done
 +from a process sentinel.
 +
 +** 'make-network-process' and 'open-network-stream' sometimes allowed
 +:service to be an integer string (e.g., :service "993") and sometimes
 +required an integer (e.g., :service 993).  This difference has been
 +eliminated, and integer strings work everywhere.
 +
 +** It is possible to disable attempted recovery on fatal signals.
 +
 +Two new variables support disabling attempts to recover from stack
 +overflow and to avoid automatic auto-save when Emacs is delivered a
 +fatal signal.  'attempt-stack-overflow-recovery', if set to 'nil',
 +will disable attempts to recover from C stack overflows; Emacs will
 +then crash as with any other fatal signal.
 +'attempt-orderly-shutdown-on-fatal-signal', if set to 'nil', will
 +disable attempts to auto-save the session and shut down in an orderly
 +fashion when Emacs receives a fatal signal; instead, Emacs will
 +terminate immediately.  Both variables are non-'nil' by default.
 +These variables are for users who would like to avoid the small
 +probability of data corruption due to techniques Emacs uses to recover
 +in these situations.
 +
 ++++
 +** File local and directory local variables are now initialized each
 +time the major mode is set, not just when the file is first visited.
 +These local variables will thus not vanish on setting a major mode.
 +
 ++++
 +** A second dir-local file (.dir-locals-2.el) is now accepted.
 +See the variable 'dir-locals-file-2' for more information.
 +
 ++++
 +** Connection-local variables can be used to specify local variables
 +with a value depending on the connected remote server.  For details,
 +see the node "Connection Local Variables" in the ELisp manual.
 +
 +---
 +** International domain names (IDNA) are now encoded via the new
 +puny.el library, so that one can visit web sites with non-ASCII URLs.
 +
 ++++
 +** The new 'timer-list' command lists all active timers in a buffer,
 +where you can cancel them with the 'c' command.
 +
 ++++
 +** The new function 'read-multiple-choice' prompts for multiple-choice
 +questions, with a handy way to display help texts.
 +
 ++++
 +** 'switch-to-buffer-preserve-window-point' now defaults to t.
 +
 ++++
 +** The new variable 'debugger-stack-frame-as-list' allows displaying
 +all call stack frames in a Lisp backtrace buffer as lists.  Both
 +debug.el and edebug.el have been updated to heed to this variable.
 +
 ++++
 +** The new variable 'x-ctrl-keysym' has been added to the existing
 +roster of X keysyms.  It can be used in combination with another
 +variable of this kind to swap modifiers in Emacs.
 +
 +---
 +** New input methods: 'cyrillic-tuvan', 'polish-prefix'.
 +
 ++++
 +** File name quoting by adding the prefix "/:" is now possible for the
 +local part of a remote file name.  Thus, if you have a directory named
 +"/~" on the remote host "foo", you can prevent it from being
 +substituted by a home directory by writing it as "/foo:/:/~/file".
 +
 ++++
 +** The new variable 'maximum-scroll-margin' allows having effective
 +settings of 'scroll-margin' up to half the window size, instead of
 +always restricting the margin to a quarter of the window.
 +
 ++++
 +** Emacsclient has a new option -u/--suppress-output.  The option
 +suppresses display of return values from the server process.
  
  \f
 -* Editing Changes in Emacs 25.1
 -
 -** 'M-x' suggests shorthands and ignores obsolete commands for completion.
 -
 -** Changes in undo
 -
 -*** Successive single-char deletions are collapsed in the undo-log just like
 -successive char insertions.  Which commands invoke this behavior is
 -controlled by the new 'undo-auto-amalgamate' function.  See the node
 -"Undo" in the ELisp manual for more details.
 -
 -*** The heuristic used to insert 'undo-boundary' after each command
 -has changed, so that if a command causes changes in more than just the
 -current buffer, Emacs now calls 'undo-boundary' in every buffer
 -affected by the command.
 -
 -** New command 'comment-line' bound to 'C-x C-;'.
 -
 -** New and improved facilities for inserting Unicode characters
 -
 -*** Unicode names entered via 'C-x 8 RET' now use substring completion
 -by default.
 -
 -*** 'C-x 8' now has shorthands for several chars, such as U+2010
 -(HYPHEN), U+2011 (NON-BREAKING HYPHEN), and U+2012 (FIGURE DASH).  As
 -before, you can type 'C-x 8 C-h' to list shorthands.
 -
 -*** New minor mode 'electric-quote-mode' for using curved quotes as you
 -type.  See also the new variable 'text-quoting-style'.
 -
 -** New minor mode 'global-eldoc-mode' is enabled by default.
 -
 -** Emacs now uses "bracketed paste mode" on text terminals that support it.
 -Bracketed paste mode causes text terminals to wrap pasted text in special
 -escape sequences that allow Emacs to tell the difference between text
 -you type and text you paste from other applications.  Emacs then
 -avoids interpreting each character in the pasted text as it does with
 -keyboard input, which results in a paste experience similar to that
 -under a window system, and significant performance improvements when
 -pasting large amounts of text.
 -
 -Bracketed paste mode is disabled by default, so Emacs automatically
 -enables it at startup if the terminal supports it.
 -
 -** Emacs now supports the latest version of the UBA.
 -The Emacs implementation of the Unicode Bidirectional Algorithm (UBA)
 -was updated to support all the latest additions and changes introduced
 -in Unicode Standard versions 6.3, 7.0, and the latest Unicode 8.0.
 -This includes full support for directional isolates and the
 -Bidirectional Parentheses Algorithm (BPA) specified by these Unicode
 -standards.
 -
 -** You can access 'mouse-buffer-menu' ('C-down-mouse-1') using 'C-f10'.
 -
 -** New buffer-local 'electric-pair-local-mode'.
 -
 -** New variable 'fast-but-imprecise-scrolling' inhibits
 -fontification during full screen scrolling operations, giving less
 -hesitant operation during auto-repeat of 'C-v', 'M-v' at the cost of
 -possible inaccuracies in the end position.
 -
 -** New documentation command 'describe-symbol'.
 -Works for functions, variables, faces, etc.  It is bound to 'C-h o' by
 -default.
 -
 -** New function 'custom-prompt-customize-unsaved-options' checks for
 -unsaved customizations and prompts user to customize (if found).  It
 -is intended for adding to 'kill-emacs-query-functions'.
 -
 -** The old 'C-x w' bindings in 'hi-lock-mode' are officially deprecated
 -in favor of the global 'M-s h' bindings introduced in Emacs 23.1.
 -They'll disappear soon.
 +* Editing Changes in Emacs 26.1
 +
 ++++
 +** Two new user options 'list-matching-lines-jump-to-current-line' and
 +'list-matching-lines-current-line-face' to show highlighted the current
 +line in *Occur* buffer.
 +
 ++++
 +** The 'occur' command can now operate on the region.
 +
 ++++
 +** New bindings for 'query-replace-map'.
 +'undo', undo the last replacement; bound to 'u'.
 +'undo-all', undo all replacements; bound to 'U'.
 +
 +** 'delete-trailing-whitespace' deletes whitespace after form feed.
 +In modes where form feed was treated as a whitespace character,
 +'delete-trailing-whitespace' would keep lines containing it unchanged.
 +It now deletes whitespace after the last form feed thus behaving the
 +same as in modes where the character is not whitespace.
 +
 +** No more prompt about changed file when the file's content is unchanged.
 +Instead of only checking the modification time, Emacs now also checks
 +the file's actual content before prompting the user.
 +
 +** Title case characters are properly converted to upper case.
 +'upcase', 'upcase-region' et al. convert title case characters (such
 +as the single character "Dz") into their upper case form (such as "DZ").
 +As a downside, 'capitalize' and 'upcase-initials' produce awkward
 +words where first character is upper rather than title case, e.g.,
 +"DŽungla" instead of "Džungla".
  
  \f
 -* Changes in Specialized Modes and Packages in Emacs 25.1
 -
 -** Checkdoc
 +* Changes in Specialized Modes and Packages in Emacs 26.1
  
 -*** New command 'checkdoc-package-keywords' checks if the
 -current package keywords are recognized.  Set the new option
 -'checkdoc-package-keywords-flag' to non-nil to make
 -'checkdoc-current-buffer' call this function automatically.
 ++++
 +*** The ancestor buffer is shown by default in 3way merges.
 +A new option ediff-show-ancestor and a new toggle
 +ediff-toggle-show-ancestor.
  
 -*** New function 'checkdoc-file' checks for style errors.
 -It's meant for use together with 'compile':
 -emacs -batch --eval "(checkdoc-file \"subr.el\")"
 +** TeX: Add luatex and xetex as alternatives to pdftex
  
 -** Desktop
 +** Electric-Buffer-menu
  
 -*** The desktop format version has been upgraded from 206 to 208.
 -Although Emacs 25.1 can read a version 206 desktop, earlier Emacsen
 -cannot read a version 208 desktop.  To upgrade your desktop file, you
 -must explicitly request the upgrade, by 'C-u M-x desktop-save'.  You are
 -recommended to do this as soon as you have firmly upgraded to Emacs
 -25.1 (or later).  Should you ever need to downgrade your desktop file
 -to version 206, you can do this with 'C-u C-u M-x desktop-save'.
 -
 -*** 'desktop-restore-in-current-display' now defaults to t, not nil.
 -That is, Emacs by default now restores frames into the current display.
 -
 -** New function 'bookmark-set-no-overwrite' bound to 'C-x r M'.
 -It raises an error if a bookmark of that name already exists,
 -unlike 'bookmark-set' which silently updates an existing bookmark.
 -
 -** Gnus
 ++++
 +*** Key 'U' is bound to 'Buffer-menu-unmark-all' and key 'M-DEL' is
 +bound to 'Buffer-menu-unmark-all-buffers'.
  
 -*** New user options 'mm-html-inhibit-images' and 'mm-html-blocked-images'
 -now control how mm-* functions fetch and display images in an HTML
 -message.  Gnus still uses 'gnus-inhibit-images' and 'gnus-blocked-images'
 -for that purpose, i.e., binds mm-html- variables with those gnus-
 -variables, but other packages do not have to bind gnus- variables now.
 +** bs
  
 -*** 'mm-inline-text-html-with-images' has been removed.
 -Use 'mm-html-inhibit-images' instead.  Note that the value is opposite
 -in meaning.
 +---
 +*** Two new commands 'bs-unmark-all', bound to 'U', and
 +'bs-unmark-previous', bound to <backspace>.
  
 -** IMAP
 +** Buffer-menu
  
 -*** 'imap-ssl-program' has been removed, and imap.el uses the internal
 -GnuTLS encryption functions if possible.
 -
 -** JSON
 -
 -*** 'json-encode-string' now only escapes the characters it has to.
 -Which means that the encoded strings can contain non-ASCII characters.
 -
 -*** 'json-pretty-print' and 'json-pretty-print-buffer' now maintain
 -the ordering of object keys by default.
 -
 -*** New commands 'json-pretty-print-ordered' and
 -'json-pretty-print-buffer-ordered' pretty prints JSON objects with
 -object keys sorted alphabetically.
 -
 -** Prettify Symbols mode
 -
 -*** Prettify Symbols mode supports custom composition predicates.  By
 -overriding the default 'prettify-symbols-compose-predicate', modes can
 -specify in which contexts a symbol may be displayed as some Unicode
 -character.  'prettify-symbols-default-compose-p' is the default which
 -is suitable for most programming languages such as C or Lisp (but not
 -(La)TeX).
 -
 -*** Symbols can be unprettified while point is inside them.
 -New variable 'prettify-symbols-unprettify-at-point' configures this.
 -
 -** Enhanced xterm support
 -
 -*** The new variable 'xterm-screen-extra-capabilities' for configuring xterm.
 -This variable tells Emacs which advanced capabilities are available in
 -the xterm terminal emulator used to display Emacs text-mode frames.
 -The default is to check each capability, and use it if available.
 -(This variable was introduced in Emacs 24.1, but was not announced in
 -its NEWS.)
 -
 -*** Killing text now also sets the CLIPBOARD/PRIMARY selection
 -in the surrounding GUI (using the OSC-52 escape sequence).  This only works
 -if your xterm supports it and enables the 'allowWindowOps' options (disabled
 -by default at least in Debian, for security reasons).
 -
 -Similarly, you can yank the CLIPBOARD/PRIMARY selection (using the OSC-52
 -escape sequence) if your xterm has the feature enabled but for that you
 -additionally need to add 'getSelection' to 'xterm-extra-capabilities'.
 -
 -*** 'xterm-mouse-mode' now supports mouse-tracking (if your xterm supports it).
 -
 -** The way to turn on and off 'save-place' mode has changed.
 -It is no longer sufficient to load the saveplace library and set
 -'save-place' non-nil.  Instead, use the two new minor modes:
 -'save-place-mode' turns on saving last place in every file, and
 -'save-place-local-mode' does that only for the file in whose buffer it
 -is invoked.  The 'save-place' variable is now an obsolete alias for
 -'save-place-mode', which replaces it, and 'toggle-save-place' is an
 -obsolete alias for the new 'save-place-local-mode' command.
 -
 -** ERC
 ++++
 +*** Two new commands 'Buffer-menu-unmark-all', bound to 'U' and
 +'Buffer-menu-unmark-all-buffers', bound to 'M-DEL'.
  
 -*** ERC can now hide message types by network or channel.
 -'erc-hide-list' will hide all messages of the specified type, while
 -'erc-network-hide-list' and 'erc-channel-hide-list' will only hide the
 -specified message types for the respective specified targets.
 +** Gnus
  
 -*** Reconnection is now asynchronous.
 +---
 +*** The .newsrc file will now only be saved if the native select
 +method is an NNTP select method.
  
 -*** Nick completion is now case-insensitive again after inadvertently
 -being made case-sensitive in Emacs 24.2.
 ++++
 +*** A new command for sorting articles by readedness marks has been
 +added: 'C-c C-s C-m C-m'.
  
 -** MPC
 +** Ibuffer
  
 -*** New commands, key binds, and menu items.
 +---
 +*** New command 'ibuffer-jump'.
  
 -**** '<' and '>' for navigating previous and next tracks in playlist
 +---
 +*** New filter commands 'ibuffer-filter-by-basename',
 +'ibuffer-filter-by-file-extension', 'ibuffer-filter-by-directory',
 +'ibuffer-filter-by-starred-name', 'ibuffer-filter-by-modified'
 +and 'ibuffer-filter-by-visiting-file'; bound respectively
 +to '/b', '/.', '//', '/*', '/i' and '/v'.
  
 -**** New play/pause command 'mpc-toggle-play' bound to 's'
 +---
 +*** Two new commands 'ibuffer-filter-chosen-by-completion'
 +and 'ibuffer-and-filter', the second bound to '/&'.
  
 -**** 'g' bound to new command 'mpc-seek-current' will navigate current
 -track.
 +---
 +*** The commands 'ibuffer-pop-filter', 'ibuffer-pop-filter-group',
 +'ibuffer-or-filter' and 'ibuffer-filter-disable' have the alternative
 +bindings '/<up>', '/S-<up>', '/|' and '/DEL', respectively.
  
 -**** New commands 'mpc-toggle-{consume,repeat,single,shuffle}' for
 -toggling playback modes.
 +---
 +*** The data format specifying filters has been extended to allow
 +explicit logical 'and', and a more flexible form for logical 'not'.
 +See 'ibuffer-filtering-qualifiers' doc string for full details.
  
 -*** Now supports connecting to a UNIX domain socket.
 +---
 +*** A new command 'ibuffer-copy-buffername-as-kill'; bound
 +to 'B'.
  
 -*** Looks at more image file names to use as album art.
 -Case-insensitively tries for .folder.png (freedesktop) and folder.jpg
 -(XP) in addition to cover.jpg.
 +---
 +*** New command 'ibuffer-change-marks'; bound to '* c'.
  
 -*** Searches in more locations for MPD configuration files.
 -MPD supports the XDG base directory specification since version 0.17.6.
 +---
 +*** A new command 'ibuffer-mark-by-locked' to mark
 +all locked buffers;  bound to '% L'.
  
 -** Midnight-mode
 +---
 +*** A new option 'ibuffer-locked-char' to indicate
 +locked buffers; Ibuffer shows a new column displaying
 +'ibuffer-locked-char' for locked buffers.
  
 -*** 'midnight-mode' is now a proper minor mode.
 +---
 +*** A new command 'ibuffer-unmark-all-marks' to unmark
 +all buffers without asking confirmation;  bound to
 +'U'; 'ibuffer-do-replace-regexp' bound to 'r'.
  
 -*** clean-buffer-*-regexps can now specify buffers via predicate functions.
 +---
 +*** A new command 'ibuffer-mark-by-content-regexp' to mark buffers
 +whose content matches a regexp; bound to '% g'.
  
 -** package.el
 +---
 +*** Two new options 'ibuffer-never-search-content-name' and
 +'ibuffer-never-search-content-mode' used by
 +'ibuffer-mark-by-content-regexp'.
  
 -*** New "external" package status.
 -An external package is any installed package that's not built-in and
 -not from 'package-user-dir', which usually means it's from an entry in
 -'package-directory-list'.  They are treated much like built-in
 -packages, in that they cannot be deleted through the package menu and
 -are not considered for upgrades.
 +** Browse-URL
  
 -The effect is that a user can manually place a specific version of a
 -package inside 'package-directory-list' and the package menu will
 -always respect that.
 +*** Support for opening links to man pages in Man or WoMan mode.
  
 -*** If a package is available on multiple archives and one has higher
 -priority (as per 'package-archive-priorities') only that one is
 -listed.  This can be configured with 'package-menu-hide-low-priority'.
 +** Comint
  
 -*** 'package-menu-toggle-hiding' now toggles the hiding of packages.
 -This includes the above-mentioned low-priority packages, as well as
 -available packages whose version is lower than the currently installed
 -version (which were previously impossible to display).
 -This allows users to downgrade a package if a lower version is
 -available.
 +---
 +*** New user option 'comint-move-point-for-matching-input' to control
 +where to place point after C-c M-r and C-c M-s.
  
 -*** When filtering the package menu, keywords starting with "arc:" or
 -"status:" represent package archive or status, respectively, instead
 -of actual keywords.
 +** Compilation mode
  
 -*** Most functions which involve downloading information now take an
 -ASYNC argument.  If it is non-nil, package.el performs the download(s)
 -asynchronously.
 +---
 +*** Messages from CMake are now recognized.
  
 -*** New variable 'package-menu-async' controls whether the
 -package-menu uses asynchronous downloads.
 +** Dired
  
 -*** 'package-install-from-buffer' and 'package-install-file' work on directories.
 -This follows the same rules as installing from a .tar file, except the
 --pkg file is optional.
 ++++
 +*** A new option 'dired-always-read-filesystem' default to nil.
 +If non-nil, buffers visiting files are reverted before search them;
 +for instance, in 'dired-mark-files-containing-regexp' a non-nil value
 +of this option means the file is revisited in a temporary buffer;
 +this temporary buffer is the actual buffer searched: the original buffer
 +visiting the file is not modified.
  
 -*** Packages which are dependencies of other packages cannot be deleted.
 -The FORCE argument to 'package-delete' overrides this.
 ++++
 +*** In wdired, when editing files to contain slash characters,
 +the resulting directories are automatically created.  Whether to do
 +this is controlled by the 'wdired-create-parent-directories' variable.
  
 -*** New custom variable 'package-selected-packages' tracks packages
 -which were installed by the user (as opposed to installed as
 -dependencies).  This variable can also be manually customized.
 ++++
 +*** 'W' is now bound to 'browse-url-of-dired-file', and is useful for
 +viewing HTML files and the like.
  
 -*** New command 'package-install-selected-packages' installs all
 -packages from 'package-selected-packages' which are currently missing.
 +** Edebug
  
 -*** 'package-install' function now takes a DONT-SELECT argument.  If
 -this function is called interactively or if DONT-SELECT is nil, add the
 -package being installed to 'package-selected-packages'.
 +*** Edebug can be prevented from pausing 1 second after reaching a
 +breakpoint (e.g. with "f" and "o") by customizing the new option
 +'edebug-sit-on-break'.
  
 -*** New command 'package-autoremove' removes all packages which were
 -installed strictly as dependencies but are no longer needed.
 ++++
 +*** New customizable option 'edebug-max-depth'
 +This allows to enlarge the maximum recursion depth when instrumenting
 +code.
  
 -** Shell
 +** Eshell
  
 -When you invoke 'shell' interactively, the '*shell*' buffer will now
 -display in a new window.  However, you can customize this behavior via
 -the 'display-buffer-alist' variable.  For example, to get
 -the old behavior -- '*shell*' buffer displays in current window -- use
 -(add-to-list 'display-buffer-alist
 -     '("^\\*shell\\*$" . (display-buffer-same-window))).
 -
 -** EIEIO
 -*** The ':protection' slot option is not obeyed any more.
 -*** The 'newname' argument to constructors is optional&deprecated.
 -If you need your objects to be named, do it by inheriting from 'eieio-named'.
 -*** The <class>-list-p and <class>-child-p functions are declared obsolete.
 -*** The <class> variables are declared obsolete.
 -*** The <initarg> variables are declared obsolete.
 -*** defgeneric and defmethod are declared obsolete.
 -Use the equivalent facilities from cl-generic.el instead.
 -*** 'constructor' is now an obsolete alias for 'make-instance'.
 -*** 'pcase' accepts a new UPattern 'eieio'.
 -
 -** ido
 -
 -*** New command 'ido-bury-buffer-at-head' bound to 'C-S-b'.
 -Bury the buffer at the head of 'ido-matches', analogous to how 'C-k'
 -kills the buffer at head.
 -
 -*** A prefix argument to 'ido-restrict-to-matches' will reverse its
 -meaning, and the list is restricted to those elements that do not
 -match the current input.
 -
 -** Minibuffer
 -
 -*** You can use <UP> and <DOWN> arrow keys to move through history by lines.
 -The new commands 'next-line-or-history-element' and
 -'previous-line-or-history-element', bound to <UP> and <DOWN> in the
 -minibuffer, allow by-line movement through minibuffer history,
 -similarly to an ordinary buffer.  Only when point moves over
 -the bottom/top of the minibuffer it goes to the next/previous history
 -element.  'M-p' and 'M-n' still move directly to previous/next history
 -item as before.
 -
 -** Search and Replace
 -
 -*** 'isearch' and 'query-replace' can now perform character folding in matches.
 -This is analogous to case folding, but instead of disregarding case
 -variants, it disregards wider classes of distinctions between similar
 -characters.  (Case folding is a special case of character folding.)
 -This means many characters in the search string will match entire
 -groups of characters instead of just themselves.
 -
 -For instance, the ASCII double quote character " will match all
 -variants of double quotes, and the letter 'a' will match all of its
 -accented cousins, even those composed of multiple characters, as well
 -as many other symbols like U+249C (PARENTHESIZED LATIN SMALL LETTER
 -A).
 -
 -Character folding is enabled by customizing 'search-default-mode' to
 -the value 'char-fold-to-regexp'.  You can also toggle character
 -folding in the middle of a search by typing 'M-s ''.
 -
 -'query-replace' honors character folding if the new variable
 -'replace-char-fold' is customized to a non-nil value.
 -
 -*** New user option 'search-default-mode'.
 -This option specifies the default mode for Isearch.  The default
 -value, nil specifies that Isearch does literal searches (however,
 -'case-fold-search' and 'isearch-lax-whitespace' may still be applied,
 -as in previous Emacs versions).
 -
 -*** New function 'char-fold-to-regexp' can be used
 -by searching commands to produce a regexp matching anything that
 -char-folds into STRING.
 -
 -*** The new 'M-s M-w' key binding uses eww to search the web for the
 -text in the region.  The search engine to use for this is specified by
 -the customizable variable 'eww-search-prefix'.
 -
 -*** 'query-replace' history is enhanced.
 -When 'query-replace' reads the FROM string from the minibuffer, typing
 -'M-p' will now show previous replacements as "FROM SEP TO", where FROM
 -and TO are the original text and its replacement, and SEP is an arrow
 -string defined by the new variable 'query-replace-from-to-separator'.
 -To select a prior replacement, type 'M-p' until the desired
 -replacement appears in the minibuffer, and then exit the minibuffer by
 -typing RET.
 -
 -** Calc
 -*** If 'quick-calc' is called with a prefix argument, insert the
 -result of the calculation into the current buffer.
 -
 -** In Edebug, you can now set the initial mode with 'C-x C-a C-m'.
 -With this you can tell Edebug not to stop at the start of the first
 -instrumented function.
 -
 -** ElDoc
 -
 -*** New minor mode 'global-eldoc-mode'.
 -It is turned on by default, and affects '*scratch*' and other buffers
 -whose major mode supports Emacs Lisp.
 -
 -*** 'eldoc-documentation-function' now defaults to 'ignore'.
 -
 -*** 'describe-char-eldoc' displays information about character at point,
 -and can be used as a default value of 'eldoc-documentation-function'.  It is
 -useful when, for example, one needs to distinguish various spaces - e.g.,
 -U+00A0 (NO-BREAK SPACE), U+2002 (EN SPACE), and U+2009 (THIN SPACE) - while
 -using mono-spaced font.
 +*** 'eshell-input-filter's value is now a named function
 +'eshell-input-filter-default', and has a new custom option
 +'eshell-input-filter-initial-space' to ignore adding commands prefixed
 +with blank space to eshell history.
  
  ** eww
  
diff --cc etc/PROBLEMS
index 15d2b74cc40080ef6634385a59e4bbddc45081de,bb7e1b6f9c315ecc6eb1871165a8b5d00d41fa23..cf92db67afc58f9f9c7ee07063c7e8d98ee6dd49
@@@ -745,36 -771,10 +745,40 @@@ The solution is to install the appropri
  instance if you are editing a text with a lot of math symbols, then
  installing a font like 'Symbola' should solve this problem.
  
+ Another reason for slow display is reportedly the nerd-fonts
+ installation, even when Symbola is installed as well.  Uninstalling
+ nerd-fonts was reported to solve the problem in that case.
 +** Emacs running on GNU/Linux system with the m17n library Ver.1.7.1 or the
 +earlier version has a problem with rendering Bengali script.
 +
 +The problem can be fixed by installing the newer version of the m17n
 +library (if any), or by following this procedure:
 +
 +1. Locate the file BENG-OTF.flt installed on your system as part of the
 +m17n library.  Usually it is under the directory /usr/share/m17n.
 +
 +2. Apply the following patch to BENG-OTF.flt
 +
 +------------------------------------------------------------
 +diff --git a/FLT/BENG-OTF.flt b/FLT/BENG-OTF.flt
 +index 45cc554..0cc5e76 100644
 +--- a/FLT/BENG-OTF.flt
 ++++ b/FLT/BENG-OTF.flt
 +@@ -232,7 +232,7 @@
 +  (lang-forms
 +   (cond
 +    ("(.H)J" (1 :otf=beng=half+))
 +-   (".H" :otf=beng=blwf,half,vatu+)
 ++   (".+H" :otf=beng=blwf,half,vatu+)
 +    ("." =)))
 +
 +  (post
 +------------------------------------------------------------
 +
 +If you can't modify that file directly, copy it to the directory
 +~/.m17n.d/ (create it if it doesn't exist), and apply the patch.
 +
  * Internationalization problems
  
  ** M-{ does not work on a Spanish PC keyboard.
Simple merge
Simple merge
Simple merge
diff --cc lisp/woman.el
Simple merge
diff --cc nt/README.W32
Simple merge
diff --cc src/coding.c
Simple merge
diff --cc src/lisp.h
Simple merge