]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from origin/emacs-26
authorGlenn Morris <rgm@gnu.org>
Tue, 14 Aug 2018 16:06:43 +0000 (09:06 -0700)
committerGlenn Morris <rgm@gnu.org>
Tue, 14 Aug 2018 16:06:43 +0000 (09:06 -0700)
34e75c1 Add comment about floating point test
e73e683 Ibuffer: Add toggle ibuffer-do-toggle-lock
12f7116 Ibuffer: Detect correctly the buffers running a process

1  2 
etc/NEWS
lisp/ibuffer.el
test/src/data-tests.el

diff --cc etc/NEWS
index 7695a96bb2efe5a14086c61bd5e0368c5ab0d42f,e563473661edbf706089ee3cace369844762f133..e381a546a913f0392511e233c457e0c370585c6c
+++ b/etc/NEWS
@@@ -15,205 -15,632 +15,210 @@@ in older Emacs versions
  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
 -* Installation Changes in Emacs 26.2
 -
 ----
 -** Building Emacs with the '--with-xwidgets' option now requires WebKit2
 -To build Emacs with xwidgets support, you will need to install the
 -webkit2gtk-4.0 package; version 2.12 or later is required.
 -(This change was actually made in Emacs 26.1, but was not called out
 -in its NEWS.)
 -
 -\f
 -* Startup Changes in Emacs 26.2
 -
 -\f
 -* Changes in Emacs 26.2
 -
 ----
 -** Emacs is now compliant with the latest version 11.0 of the Unicode Standard.
 -
 ----
 -** New variable 'xft-ignore-color-fonts'.
 -Default t means don't try to load color fonts when using Xft, as they
 -often cause crashes.  Set it to nil if you really need those fonts.
 -
 -\f
 -* Editing Changes in Emacs 26.2
 +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,
  
  \f
 -* Changes in Specialized Modes and Packages in Emacs 26.2
 +* Installation Changes in Emacs 27.1
 +
 +** Emacs now uses GMP, the GNU Multiple Precision library.
 +By default, if 'configure' does not find a suitable libgmp, it
 +arranges for the included mini-gmp library to be built and used.
 +The new 'configure' option --with-mini-gmp uses mini-gmp even if a
 +suitable libgmp is available.
 +
 +** The new configure option '--with-json' adds support for JSON using
 +the Jansson library.  It is on by default; use 'configure
 +--with-json=no' to build without Jansson support.  The new JSON
 +functions 'json-serialize', 'json-insert', 'json-parse-string', and
 +'json-parse-buffer' are typically much faster than their Lisp
 +counterparts from json.el.
 +
 +** The etags program now uses the C library's regular expression matcher
 +when possible, and a compatible regex substitute otherwise.  This will
 +let developers maintain Emacs's own regex code without having to also
 +support other programs.  The new configure option '--without-included-regex'
 +forces etags to use the C library's regex matcher even if the regex
 +substitute ordinarily would be used to work around compatibility problems.
 +
 +** Emacs has been ported to the -fcheck-pointer-bounds option of GCC.
 +This causes Emacs to check bounds of some arrays addressed by its
 +internal pointers, which can be helpful when debugging the Emacs
 +interpreter or modules that it uses.  If your platform supports it you
 +can enable it when configuring, e.g., './configure CFLAGS="-g3 -O2
 +-mmpx -fcheck-pointer-bounds"' on Intel MPX platforms.
 +
 +** Emacs now normally uses a C pointer type instead of a C integer
 +type to implement Lisp_Object, which is the fundamental machine word
 +type internal to the Emacs Lisp interpreter.  This change aims to
 +catch typos and support -fcheck-pointer-bounds.  The 'configure'
 +option --enable-check-lisp-object-type is therefore no longer as
 +useful and so is no longer enabled by default in developer builds,
 +to reduce differences between developer and production builds.
  
+ ** Ibuffer
+ ---
+ *** New toggle 'ibuffer-do-toggle-lock', bound to 'L'.
  ** Gnus
  
 ----
 -*** Mailutils movemail will now be used if found at runtime.
 -The default value of mail-source-movemail-program is now "movemail".
 -This ensures that the movemail program from GNU Mailutils will be used
 -if found in 'exec-path', even if it was not found at build time.  To
 -use a different program, customize mail-source-movemail-program to the
 -absolute file name of the desired executable.
 ++++
 +*** The nnimap backend now has support for IMAP namespaces.
 +This feature can be enabled by setting the new 'nnimap-use-namespaces'
 +server variable to non-nil.
  
 -** Shell mode
 +\f
 +* Startup Changes in Emacs 27.1
 +
 ++++
 +** Emacs can now be configured using an early init file.
 +The file is called 'early-init.el', in 'user-emacs-directory'.  It is
 +loaded very early in the startup process: before graphical elements
 +such as the tool bar are initialized, and before the package manager
 +is initialized.  The primary purpose is to allow customizing how the
 +package system is initialized given that initialization now happens
 +before loading the regular init file (see below).
 +
 +We recommend against putting any customizations in this file that
 +don't need to be set up before initializing installed add-on packages,
 +because the early init file is read too early into the startup
 +process, and some important parts of the Emacs session, such as
 +window-system and other GUI features, are not yet set up, which could
 +make some customization fail to work.
 +
 ++++
 +** Installed packages are now activated *before* loading the init file.
 +This is part of a change intended to eliminate the behavior of
 +package.el inserting a call to 'package-initialize' into the init
 +file, which was previously done when Emacs was started.  As a result
 +of this change, it is no longer necessary to call 'package-initialize'
 +in your init file.
 +
 +However, if your init file changes the values of 'package-load-list' or
 +'package-user-dir', or sets 'package-enable-at-startup' to nil then it won't
 +work right without some adjustment:
 +- you can move that code to the early init file (see above), so those settings
 +  apply before Emacs tries to activate the packages.
 +- you can use the new 'package-quickstart' so activation of packages does not
 +  need to pay attention to 'package-load-list' or 'package-user-dir' any more.
  
  ---
 -*** Shell mode buffers now have 'scroll-conservatively' set to 101.
 -This is so as to better emulate the scrolling behavior of a text
 -terminal when new output is added to the screen buffer.  To get back
 -the previous behavior, reset 'scroll-conservatively' to zero (or any
 -other value you like) in a function and add it to 'shell-mode-hook'.
 -(This change was actually made in Emacs 26.1, but was not called out
 -in its NEWS.)
 +** Emacs now notifies systemd when startup finishes or shutdown begins.
 +Units that are ordered after 'emacs.service' will only be started
 +after Emacs has finished initialization and is ready for use.
 +(If your Emacs is installed in a non-standard location and you copied the
 +emacs.service file to eg ~/.config/systemd/user/, you will need to copy
 +the new version of the file again.)
  
 -** VC
 +\f
 +* Changes in Emacs 27.1
  
 -*** VC support for Mercurial was improved.
 -Emacs now avoids invoking 'hg' as much as possible, for faster operation.
 -(This and the following changes were actually made in Emacs 26.1, but
 -were not called out in its NEWS.)
 ++++
 +** The function 'read-passwd' uses '*' as default character to hide passwords.
  
  ---
 -**** New vc-hg options.
 -The new option 'vc-hg-parse-hg-data-structures' controls whether vc-hg
 -will try parsing the Mercurial data structures directly instead of
 -running 'hg'; it defaults to t (set to nil if you want the pre-26.1
 -behavior).
 -The new option 'vc-hg-symbolic-revision-styles' controls how versions
 -in a Mercurial repository are presented symbolically on the mode line.
 -The new option 'vc-hg-use-file-version-for-mode-line-version' controls
 -whether the version shown on the mode line is that of the visited file
 -or of the repository working copy.
 +** New variable 'xft-ignore-color-fonts'.
 +Default t means don't try to load color fonts when using Xft, as they
 +often cause crashes.  Set it to nil if you really need those fonts.
  
  ---
 -**** Display of Mercurial revisions in the mode-line has changed.
 -Previously, the mode line displayed the local number (1, 2, 3, ...) of
 -the revision.  Starting with Emacs 26.1, the default has changed, and
 -it now shows the global revision number, in the form of its changeset
 -hash value.  To get back the previous behavior, customize the new
 -option 'vc-hg-symbolic-revision-styles' to the value '("{rev}")'.
 +** The new option 'tooltip-resize-echo-area' avoids truncating tooltip text
 +on GUI frames when tooltips are displayed in the echo area.  Instead,
 +it resizes the echo area as needed to accommodate the full tool-tip
 +text.
  
  ---
 -** shadowfile.el has been rewritten to support Tramp file names.
 -
 -\f
 -* New Modes and Packages in Emacs 26.2
 +** Show modeline tooltips only if the corresponding action applies.
 +Customize the option 'mode-line-default-help-echo' to restore the old
 +behavior where the tooltip text is also shown when the corresponding
 +action does not apply.
 +
 ++++
 +** New hook 'server-after-make-frame-hook'.
 +This hook is a convenient place to perform initializations in daemon
 +mode which require GUI features to be available.  One example is
 +restoration of the previous session using the desktop.el package: put
 +the call to 'desktop-read' in this hook, if you want the GUI settings
 +to be restored, or if desktop.el needs to interact with you during
 +restoration of the session.
 +
 ++++
 +** New function 'logcount' calculates an integer's Hamming weight.
 +
 ++++
 +** New function 'libxml-available-p'.
 +This function returns non-nil if libxml support is both compiled in
 +and available at run time.  Lisp programs should use this function to
 +detect built-in libxml support, instead of testing for that
 +indirectly, e.g., by checking that functions like
 +'libxml-parse-html-region' return nil.
 +
 ++++
 +** 'libxml-parse-xml-region' and 'libxml-parse-html' region take
 +a parameter that's called DISCARD-COMMENTS, but it really only
 +discards the top-level comment.  Therefore this parameter is now
 +obsolete, and the new utility function 'xml-remove-comments' can be
 +used to remove comments before calling the libxml functions to parse
 +the data.
 +
 ++++
 +** The Network Security Manager now allows more fine-grained control
 +of what checks to run via the `network-security-protocol-checks'
 +variable.
  
 -\f
 -* Incompatible Lisp Changes in Emacs 26.2
 ++++
 +** TLS connections have their security tightened by default.
 +Most of the checks for outdated, believed-to-be-weak TLS algorithms
 +and ciphers are now switched on by default.  By default, the NSM will
 +flag connections using these weak algorithms and ask users whether to
 +allow them.  To get the old behavior back (where certificates are
 +checked for validity, but no warnings about weak cryptography are
 +issued), you can either set 'network-security-protocol-checks' to nil,
 +or adjust the elements in that variable to only happen on the 'high'
 +security level (assuming you use the 'medium' level).
 +
 ++++
 +** New function 'fill-polish-nobreak-p', to be used in 'fill-nobreak-predicate'.
 +It blocks line breaking after a one-letter word, also in the case when
 +this word is preceded by a non-space, but non-alphanumeric character.
 +
 ++++
 +** The limit on repetitions in regexps has been raised to 2^16-1.
 +It was previously limited to 2^15-1.  For example, the following
 +regular expression was previously invalid, but is now accepted:
 +
 +   x\{32768\}
  
  ---
 -** shadowfile config files have changed their syntax.
 -Existing files "~/.emacs.d/shadows" and "~/.emacs.d/shadow_todo" must
 -be removed prior using the changed 'shadow-*' commands.
 -
 -\f
 -* Lisp Changes in Emacs 26.2
 -
 -** The new function 'read-answer' accepts either long or short answers
 -depending on the new customizable variable 'read-answer-short'.
 -
 -** New function 'assoc-delete-all'.
 -Like 'assq-delete-all', but uses 'equal' for comparison.
 +** The German prefix and postfix input methods now support Capital sharp S.
  
 -\f
 -* Changes in Emacs 26.2 on Non-Free Operating Systems
 -
 -\f
 -* 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 to retrieve email.  It is recommended, and is the
 -default if GNU Mailutils is installed.  When --with-mailutils is not
 -in effect, the Emacs build procedure by default continues to build and
 -install a limited 'movemail' substitute that retrieves POP3 email only
 -via insecure channels.  To avoid this problem, use either
 ---with-mailutils or --without-pop when configuring; --without-pop
 -is the default on platforms other than native MS-Windows.
 -
 -** 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.
 -
 -** When GCC warnings are enabled, '--enable-check-lisp-object-type' is
 -now enabled by default when configuring.
 -
 -** 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'.
 -
 -** Emacs can now be built with support for Little CMS.
 -
 -If the lcms2 library is installed, Emacs will enable features built on
 -top of that library.  The new configure option '--without-lcms2' can
 -be used to build without lcms2 support even if it is installed.  Emacs
 -linked to Little CMS exposes color management functions in Lisp: the
 -color metrics 'lcms-cie-de2000' and 'lcms-cam02-ucs', as well as
 -functions for conversion to and from CIE CAM02 and CAM02-UCS.
 -
 -** 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 26.1
 -
 -** New option '--fg-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.  '--bg-daemon' is now an alias
 -for '--daemon'.
 ++++
 +** New function 'exec-path'.
 +This function by default returns the value of the corresponding
 +variable, but can optionally return the equivalent of 'exec-path'
 +from a remote host.
  
 -** New option '--module-assertions'.
 -When given this option, Emacs will perform expensive correctness
 -checks when dealing with dynamic modules.  This is intended for module
 -authors that wish to verify that their module conforms to the module
 -requirements.  The option makes Emacs abort if a module-related
 -assertion triggers.
 ++++
 +** The function 'executable-find' supports an optional argument REMOTE.
 +This triggers to search the program on the remote host as indicated by
 +'default-directory'.
  
 -** 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
 -"(efaq) Colors on a TTY" for more information.
 -
 -** Emacs now obeys the X resource "scrollBar" at startup.
 -The effect is similar to that of "toolBar" resource on the tool bar.
 ++++
 +** New variable 'auto-save-no-message'.
 +When set to t, no message will be shown when auto-saving (default
 +value: nil).
  
  \f
 -* Changes in Emacs 26.1
 -
 -** Option 'buffer-offer-save' can be set to new value, 'always'.  When
 -set to 'always', the command 'save-some-buffers' will always offer
 -this buffer for saving.
 -
 -** Security vulnerability related to Enriched Text mode is removed.
 -
 -*** Enriched Text mode does not evaluate Lisp in 'display' properties.
 -This feature allows saving 'display' properties as part of text.
 -Emacs 'display' properties support evaluation of arbitrary Lisp forms
 -as part of processing the property for display, so displaying Enriched
 -Text could be vulnerable to executing arbitrary malicious Lisp code
 -included in the text (e.g., sent as part of an email message).
 -Therefore, execution of arbitrary Lisp forms in 'display' properties
 -decoded by Enriched Text mode is now disabled by default.  Customize
 -the new option 'enriched-allow-eval-in-display-props' to a non-nil
 -value to allow Lisp evaluation in decoded 'display' properties.
 -
 -This vulnerability was introduced in Emacs 21.1.  To work around that
 -in Emacs versions before 25.3, append the following to your ~/.emacs
 -init file:
 -
 -  (eval-after-load "enriched"
 -    '(defun enriched-decode-display-prop (start end &optional param)
 -       (list start end)))
 -
 -** Functions in 'write-contents-functions' can fully short-circuit the
 -'save-buffer' process.  Previously, saving a buffer that was not
 -visiting a file would always prompt for a file name.  Now it only does
 -so if 'write-contents-functions' is nil (or all its functions return
 -nil).
 -
 -** New variable 'executable-prefix-env' for inserting magic signatures.
 -This variable affects the format of the interpreter magic number
 -inserted by 'executable-set-magic'.  If non-nil, the magic number now
 -takes the form "#!/usr/bin/env interpreter", otherwise the value
 -determined by 'executable-prefix', which is by default
 -"#!/path/to/interpreter".  By default, 'executable-prefix-env' is nil,
 -so the default behavior is not changed.
 -
 -** The variable 'emacs-version' no longer includes the build number.
 -This is now stored separately in a new variable, 'emacs-build-number'.
 -
 -** 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 "(elisp) Threads" in the ELisp manual for full
 -documentation of these facilities.
 -
 -** 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 option 'electric-quote-context-sensitive' makes
 -'electric-quote-mode' context sensitive.  If it is non-nil, you can
 -type an ASCII apostrophe to insert an opening or closing quote,
 -depending on context.  Emacs will replace the apostrophe by an opening
 -quote character at the beginning of the buffer, the beginning of a
 -line, after a whitespace character, and after an opening parenthesis;
 -and it will replace the apostrophe by a closing quote character in all
 -other cases.
 -
 -** The new variable 'electric-quote-inhibit-functions' controls when
 -to disable electric quoting based on context.  Major modes can add
 -functions to this list; Emacs will temporarily disable
 -'electric-quote-mode' whenever any of the functions returns non-nil.
 -This can be used by major modes that derive from 'text-mode' but allow
 -inline code segments, such as 'markdown-mode'.
 -
 -** 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-alist.  Or inject this parameter into the selected
 -frame by evaluating this form:
 -
 -  (modify-frame-parameters nil '((inhibit-double-buffering . t)))
 -
 -** The customization 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 'async-shell-command-display-buffer' controls
 -whether the output buffer of an asynchronous command is shown
 -immediately, or only when there is output.
 -
 -** New user option 'mouse-select-region-move-to-beginning'.
 -This option 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.
 -
 -** New user option 'mouse-drag-and-drop-region'.
 -This option allows you to drag the entire region of text to another
 -place or another buffer.  Its behavior is customizable via the new
 -options 'mouse-drag-and-drop-region-cut-when-buffers-differ',
 -'mouse-drag-and-drop-region-show-tooltip', and
 -'mouse-drag-and-drop-region-show-cursor'.
 -
 -** 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.
 -
 -** New face 'header-line-highlight'.
 -This face is the header-line analogue of 'mode-line-highlight'; it
 -should be the preferred mouse-face for mouse-sensitive elements in the
 -header line.
 -
 -** 'C-x h' ('mark-whole-buffer') will now avoid marking the prompt
 -part of minibuffers.
 -
 -** '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 doc string of 'dir-locals-file' 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 "(elisp) 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 'list-timers' command lists all active timers in a buffer,
 -where you can cancel them with the 'c' command.
 -
 -** 'switch-to-buffer-preserve-window-point' now defaults to t.
 -Applications that call 'switch-to-buffer' and want to show the buffer at
 -the position of its point should use 'pop-to-buffer-same-window' in lieu
 -of 'switch-to-buffer'.
 -
 -** 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.
 -
 -** Values in call stack frames are now displayed using 'cl-prin1'.
 -The old behavior of using 'prin1' can be restored by customizing the
 -new option 'debugger-print-function'.
 -
 -** NUL bytes in text copied to the system clipboard are now replaced with "\0".
 -
 -** 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', 'uzbek-cyrillic'.
 -
 -** The 'dutch' input method no longer attempts to support Turkish too.
 -Also, it no longer converts 'IJ' and 'ij' to the compatibility
 -characters U+0132 LATIN CAPITAL LIGATURE IJ and U+0133 LATIN SMALL
 -LIGATURE IJ.
 -
 -** 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.
 -
 -** Emacs can scroll horizontally using mouse, touchpad, and trackbar.
 -You can enable this by customizing 'mouse-wheel-tilt-scroll'.  If you
 -want to reverse the direction of the scroll, customize
 -'mouse-wheel-flip-direction'.
 -
 -** The default GnuTLS priority string now includes %DUMBFW.
 -This is to avoid bad behavior in some firewalls, which causes the
 -connection to be closed by the remote host.
 -
 -** Emacsclient changes
 -
 -*** Emacsclient has a new option '-u' / '--suppress-output'.
 -This option suppresses display of return values from the server
 -process.
 -
 -*** Emacsclient has a new option '-T' / '--tramp'.
 -This helps with using a local Emacs session as the server for a remote
 -emacsclient.  With appropriate setup, one can now set the EDITOR
 -environment variable on a remote machine to emacsclient, and
 -use the local Emacs to edit remote files via Tramp.  See the node
 -"(emacs) emacsclient Options" in the user manual for the details.
 -
 -*** Emacsclient now accepts command-line options in ALTERNATE_EDITOR
 -and '--alternate-editor'. For example, ALTERNATE_EDITOR="emacs -Q -nw".
 -Arguments may be quoted "like this", so that for example an absolute
 -path containing a space may be specified; quote escaping is not
 -supported.
 -
 -** New user option 'dig-program-options' and extended functionality
 -for DNS-querying functions 'nslookup-host', 'dns-lookup-host',
 -and 'run-dig'.  Each function now accepts an optional name server
 -argument interactively (with a prefix argument) and non-interactively.
 -
 -** 'describe-key-briefly' now ignores mouse movement events.
 -
 -** The new variable 'eval-expression-print-maximum-character' prevents
 -large integers from being displayed as characters by 'M-:' and similar
 -commands.
 -
 -** Two new commands for finding the source code of Emacs Lisp
 -libraries: 'find-library-other-window' and 'find-library-other-frame'.
 -
 -** The new variable 'display-raw-bytes-as-hex' allows you to change
 -the display of raw bytes from octal to hex.
 -
 -** You can now provide explicit field numbers in format specifiers.
 -For example, '(format "%2$s %1$s %2$s" "X" "Y")' produces "Y X Y".
 -
 -** Emacs now supports optional display of line numbers in the buffer.
 -This is similar to what 'linum-mode' provides, but much faster and
 -doesn't usurp the display margin for the line numbers.  Customize the
 -buffer-local variable 'display-line-numbers' to activate this optional
 -display.  Alternatively, you can use the 'display-line-numbers-mode'
 -minor mode or the global 'global-display-line-numbers-mode'.  When
 -using these modes, customize 'display-line-numbers-type' with the same
 -value as you would use with 'display-line-numbers'.
 -
 -Line numbers are not displayed at all in minibuffer windows and in
 -tooltips, as they are not useful there.
 -
 -Lisp programs can disable line-number display for a particular screen
 -line by putting the 'display-line-numbers-disable' text property or
 -overlay property on the first character of that screen line.  This is
 -intended for add-on packages that need a finer control of the display.
 -
 -Lisp programs that need to know how much screen estate is used up for
 -line-number display in a window can use the new function
 -'line-number-display-width'.
 -
 -'linum-mode' and all similar packages are henceforth becoming obsolete.
 -Users and developers are encouraged to switch to this new feature
 -instead.
 -
 -** The new user option 'arabic-shaper-ZWNJ-handling' controls how to
 -handle ZWNJ in Arabic text rendering.
 +* Editing Changes in Emacs 27.1
  
 -\f
 -* Editing Changes in Emacs 26.1
 -
 -** New variable 'column-number-indicator-zero-based'.
 -Traditionally, in Column Number mode, the displayed column number
 -counts from zero starting at the left margin of the window.  This
 -behavior is now controlled by 'column-number-indicator-zero-based'.
 -If you would prefer for the displayed column number to count from one,
 -you may set this variable to nil.  (Behind the scenes, there is now a
 -new mode line construct, '%C', which operates exactly as '%c' does
 -except that it counts from one.)
 -
 -** New single-line horizontal scrolling mode.
 -The 'auto-hscroll-mode' variable can now have a new special value,
 -'current-line', which causes only the line where the cursor is
 -displayed to be horizontally scrolled when lines are truncated on
 -display and point moves outside the left or right window margin.
 -
 -** New mode line constructs '%o' and '%q', and user option
 -'mode-line-percent-position'.  '%o' displays the "degree of travel" of
 -the window through the buffer.  Unlike the default '%p', this
 -percentage approaches 100% as the window approaches the end of the
 -buffer.  '%q' displays the percentage offsets of both the start and
 -the end of the window, e.g. "5-17%".  The new option
 -'mode-line-percent-position' makes it easier to switch between '%p',
 -'%P', and these new constructs.
 -
 -** Two new user options 'list-matching-lines-jump-to-current-line' and
 -'list-matching-lines-current-line-face' to show the current line
 -highlighted 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.
 -
 -** Emacs no longer prompts about editing a 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.
 -
 -** Various casing improvements.
 -
 -*** 'upcase', 'upcase-region' et al. convert title case characters
 -(such as Dz) into their upper case form (such as DZ).
 -
 -*** 'capitalize', 'upcase-initials' et al. make use of title-case forms
 -of initial characters (correctly producing for example Džungla instead
 -of incorrect DŽungla).
 -
 -*** Characters which turn into multiple ones when cased are correctly handled.
 -For example, fi ligature is converted to FI when upper cased.
 -
 -*** Greek small sigma is correctly handled when at the end of the word.
 -Strings such as ΌΣΟΣ are now correctly converted to Όσος when
 -capitalized instead of incorrect Όσοσ (compare lowercase sigma at the
 -end of the word).
 -
 -** Emacs can now auto-save buffers to visited files in a more robust
 -manner via the new mode 'auto-save-visited-mode'.  Unlike
 -'auto-save-visited-file-name', this mode uses the normal saving
 -procedure and therefore obeys saving hooks.
 -'auto-save-visited-file-name' is now obsolete.
 -
 -** New behavior of 'mark-defun'.
 -Prefix argument selects that many (or that many more) defuns.
 -Negative prefix arg flips the direction of selection.  Also,
 -'mark-defun' between defuns correctly selects N following defuns (or
 --N previous for negative arguments).  Finally, comments preceding the
 -defun are selected unless they are separated from the defun by a blank
 -line.
 -
 -** New command 'replace-buffer-contents'.
 -This command replaces the contents of the accessible portion of the
 -current buffer with the contents of the accessible portion of a
 -different buffer while keeping point, mark, markers, and text
 -properties as intact as possible.
 -
 -** New commands 'apropos-local-variable' and 'apropos-local-value'.
 -These are buffer-local versions of 'apropos-variable' and
 -'apropos-value', respectively.  They show buffer-local variables whose
 -names and values, respectively, match a given pattern.
 -
 -** More user control of reordering bidirectional text for display.
 -The two new variables, 'bidi-paragraph-start-re' and
 -'bidi-paragraph-separate-re', allow customization of what exactly are
 -paragraphs, for the purposes of bidirectional display.
 ++++
 +** New command 'make-empty-file'.
  
 +---
  ** New variable 'x-wait-for-event-timeout'.
  This controls how long Emacs will wait for updates to the graphical
  state to take effect (making a frame visible, for example).
diff --cc lisp/ibuffer.el
Simple merge
Simple merge