]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge branch 'master' into fix/bug-20871
authorMarcin Borkowski <mbork@mbork.pl>
Thu, 7 Dec 2017 13:24:57 +0000 (14:24 +0100)
committerMarcin Borkowski <mbork@mbork.pl>
Thu, 7 Dec 2017 13:24:57 +0000 (14:24 +0100)
1  2 
doc/emacs/text.texi
etc/NEWS
lisp/textmodes/fill.el

Simple merge
diff --cc etc/NEWS
index 6bf124cfce1999a96d227b770abb70f48ad62761,cbd50f02272acac075cd68a02ee5ce11efdb4e85..abc79af0ffcf2a9f281816ae4a6817e6e6bf9c39
+++ b/etc/NEWS
@@@ -22,500 -22,53 +22,58 @@@ Temporary note
  When you add a new item, use the appropriate mark if you are sure it applies,
  
  \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 '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.
- ** 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.
- ** 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.
+ * Installation Changes in Emacs 27.1
  
  \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 option '--module-assertions'.  If the user supplies 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.
- +++
- ** 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.
+ * Startup Changes in Emacs 27.1
  
  \f
- * 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-alist.  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 'mouse-drag-and-drop-region' allows to drag the
- entire region of text to another place or another buffer.
- +++
- ** 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.
+ * Changes in Emacs 27.1
  
  ---
- ** '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.
+ ** 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.
  
  +++
- ** 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.
+ ** New function 'logcount' calculates an integer's Hamming weight.
  
  +++
- ** 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.
- +++
- ** Emacs can scroll horizontally using mouse, touchpad, and trackbar.
- You can enable this by customizing 'mwheel-tilt-scroll-p'.  If you
- want to reverse the direction of the scroll, customize
- 'mwheel-flip-direction'.
- +++
- ** Emacsclient has a new option -u/--suppress-output.  The option
- suppresses display of return values from the server process.
- ---
- ** 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.
- +++
- ** 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
- "emacsclient Options" in the user manual for the details.
- +++
- ** The new variable 'eval-expression-print-maximum-character' prevents
- large integers from being displayed as characters.
- ** 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 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" "X" "Y")' produces "Y X".
\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 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.
- ** 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' implemented
- 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 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.
  
 ++++
 +** 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.
 +
  \f
- * Changes in Specialized Modes and Packages in Emacs 26.1
- *** smerge-refine-regions can refine regions in separate buffers
- *** Info menu and index completion uses substring completion by default.
- This can be customized via the info-menu category in
- completion-category-override.
- +++
- *** The ancestor buffer is shown by default in 3way merges.
- A new option ediff-show-ancestor and a new toggle
- ediff-toggle-show-ancestor.
- ** TeX: Add luatex and xetex as alternatives to pdftex
- ** Electric-Buffer-menu
- +++
- *** Key 'U' is bound to 'Buffer-menu-unmark-all' and key 'M-DEL' is
- bound to 'Buffer-menu-unmark-all-buffers'.
- ** bs
+ * Editing Changes in Emacs 27.1
  
  ---
- *** Two new commands 'bs-unmark-all', bound to 'U', and
- 'bs-unmark-previous', bound to <backspace>.
- ** Buffer-menu
+ ** 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).
  
  +++
- *** Two new commands 'Buffer-menu-unmark-all', bound to 'U' and
- 'Buffer-menu-unmark-all-buffers', bound to 'M-DEL'.
+ ** The new user option 'electric-quote-replace-double' controls
+ whether '"' is also replaced in 'electric-quote-mode'.  If non-nil,
+ '"' is replaced by a double typographic quote.
  
- ** Gnus
\f
+ * Changes in Specialized Modes and Packages in Emacs 27.1
  
- ---
- *** The .newsrc file will now only be saved if the native select
- method is an NNTP select method.
+ ** Dired
  
  +++
- *** A new command for sorting articles by readedness marks has been
- added: 'C-c C-s C-m C-m'.
+ *** The new user option 'dired-create-destination-dirs' controls whether
+ 'dired-do-copy' and 'dired-rename-file' should create non-existent
+ directories in the destination.
  
  ** Ibuffer
  
Simple merge