2007-04-12 02:31:20 +00:00
|
|
|
|
GNU Emacs NEWS -- history of user-visible changes.
|
2007-02-11 01:18:25 +00:00
|
|
|
|
|
2016-01-01 01:16:19 -08:00
|
|
|
|
Copyright (C) 2014-2016 Free Software Foundation, Inc.
|
2007-02-11 01:18:25 +00:00
|
|
|
|
See the end of the file for license conditions.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
2010-01-11 21:11:05 -08:00
|
|
|
|
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
|
2006-06-04 01:01:51 +00:00
|
|
|
|
If possible, use M-x report-emacs-bug.
|
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
This file is about changes in Emacs version 26.
|
2006-06-04 01:01:51 +00:00
|
|
|
|
|
2015-10-15 14:59:43 -07:00
|
|
|
|
See file HISTORY for a list of GNU Emacs versions and release dates.
|
2016-10-01 11:14:05 +03:00
|
|
|
|
See files NEWS.25, NEWS.24, NEWS.23, NEWS.22, NEWS.21, NEWS.20,
|
|
|
|
|
NEWS.19, NEWS.18, and NEWS.1-17 for changes in older Emacs versions.
|
2006-06-04 01:01:51 +00:00
|
|
|
|
|
2016-03-14 17:36:23 -07:00
|
|
|
|
You can narrow news to a specific version by calling 'view-emacs-news'
|
2006-06-04 01:01:51 +00:00
|
|
|
|
with a prefix argument or by typing C-u C-h C-n.
|
2007-06-12 08:16:23 +00:00
|
|
|
|
|
2016-09-10 19:13:36 -07:00
|
|
|
|
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,
|
2016-10-01 11:14:05 +03:00
|
|
|
|
|
2015-11-25 15:44:20 +01:00
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
* Installation Changes in Emacs 26.1
|
2015-11-25 15:44:20 +01:00
|
|
|
|
|
2016-07-24 11:00:18 +02:00
|
|
|
|
** By default libgnutls is now required when building Emacs.
|
|
|
|
|
Use 'configure --with-gnutls=no' to build even when GnuTLS is missing.
|
|
|
|
|
|
2016-08-03 04:33:21 -04:00
|
|
|
|
** GnuTLS version 2.12.2 or later is now required, instead of merely
|
|
|
|
|
version 2.6.6 or later.
|
|
|
|
|
|
2016-04-05 07:51:28 -07:00
|
|
|
|
** The new option 'configure --enable-gcc-warnings=warn-only' causes
|
2016-04-21 14:44:31 -07:00
|
|
|
|
GCC to issue warnings without stopping the build. This behavior is
|
|
|
|
|
now the default in developer builds. As before, use
|
2016-04-05 07:51:28 -07:00
|
|
|
|
'--disable-gcc-warnings' to suppress GCC's warnings, and
|
|
|
|
|
'--enable-gcc-warnings' to stop the build if GCC issues warnings.
|
|
|
|
|
|
2016-03-02 10:21:45 -08:00
|
|
|
|
+++
|
2016-04-17 22:41:14 -07:00
|
|
|
|
** 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'.
|
2016-04-16 12:43:01 +03:00
|
|
|
|
|
2016-03-22 11:01:30 -07:00
|
|
|
|
** New configure option '--disable-build-details' attempts to build an
|
2016-03-02 10:21:45 -08:00
|
|
|
|
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.
|
|
|
|
|
|
2016-03-07 08:22:37 -08:00
|
|
|
|
** Emacs no longer works on IRIX. We expect that Emacs users are not
|
|
|
|
|
affected by this, as SGI stopped supporting IRIX in December 2013.
|
|
|
|
|
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
* Startup Changes in Emacs 26.1
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-01-05 20:03:38 +02:00
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
* Changes in Emacs 26.1
|
2016-01-05 20:03:38 +02:00
|
|
|
|
|
2016-10-08 16:37:42 +03:00
|
|
|
|
---
|
|
|
|
|
The group 'wp', whose label was "text", is now deprecated.
|
|
|
|
|
Use the new group 'text', which inherits from 'wp', instead.
|
|
|
|
|
|
2016-08-25 22:17:56 +09:00
|
|
|
|
+++
|
2016-08-30 20:54:05 -07:00
|
|
|
|
** The new function 'call-shell-region' executes a command in an
|
2016-08-25 22:17:56 +09:00
|
|
|
|
inferior shell with the buffer region as input.
|
|
|
|
|
|
2016-08-16 18:18:44 +09:00
|
|
|
|
+++
|
2016-08-26 15:27:37 +09:00
|
|
|
|
** The new user option 'shell-command-dont-erase-buffer' controls
|
2016-08-16 18:18:44 +09:00
|
|
|
|
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.
|
2016-08-26 15:27:37 +09:00
|
|
|
|
When 'shell-command-dont-erase-buffer' is nil, the default value,
|
2016-08-16 18:18:44 +09:00
|
|
|
|
the behaviour of 'shell-command', 'shell-command-on-region' and
|
|
|
|
|
'async-shell-command' is as usual.
|
|
|
|
|
|
2016-07-08 17:36:55 +02:00
|
|
|
|
+++
|
|
|
|
|
** 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.
|
|
|
|
|
|
2016-09-27 20:47:23 +02:00
|
|
|
|
+++
|
|
|
|
|
** 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.
|
|
|
|
|
|
2016-05-02 01:49:01 +02:00
|
|
|
|
---
|
2016-05-01 18:52:50 -07:00
|
|
|
|
** 'find-library-name' will now fall back on looking at 'load-history'
|
2016-05-02 01:49:01 +02:00
|
|
|
|
to try to locate libraries that have been loaded with an explicit path
|
2016-05-01 18:52:50 -07:00
|
|
|
|
outside 'load-path'.
|
2016-05-02 01:49:01 +02:00
|
|
|
|
|
2016-05-01 16:53:38 +02:00
|
|
|
|
+++
|
2016-05-01 18:52:50 -07:00
|
|
|
|
** Faces in 'minibuffer-prompt-properties' no longer overwrite properties
|
|
|
|
|
in the text in functions like 'read-from-minibuffer', but instead are
|
2016-05-01 16:53:38 +02:00
|
|
|
|
added to the end of the face list. This allows users to say things
|
2016-05-01 18:52:50 -07:00
|
|
|
|
like '(read-from-minibuffer (propertize "Enter something: " 'face 'bold))'.
|
2016-05-01 16:53:38 +02:00
|
|
|
|
|
2016-04-30 17:29:46 +02:00
|
|
|
|
+++
|
2016-05-01 18:52:50 -07:00
|
|
|
|
** The new variable 'extended-command-suggest-shorter' has been added
|
|
|
|
|
to control whether to suggest shorter 'M-x' commands or not.
|
2016-04-30 17:29:46 +02:00
|
|
|
|
|
2016-04-28 19:31:43 +02:00
|
|
|
|
---
|
2016-05-01 18:52:50 -07:00
|
|
|
|
** icomplete now respects 'completion-ignored-extensions'.
|
2016-04-28 19:31:43 +02:00
|
|
|
|
|
|
|
|
|
+++
|
2016-05-01 18:52:50 -07:00
|
|
|
|
** Non-breaking hyphens are now displayed with the 'nobreak-hyphen'
|
|
|
|
|
face instead of the 'escape-glyph' face.
|
2016-04-28 18:09:10 +02:00
|
|
|
|
|
2016-10-16 18:48:19 -07:00
|
|
|
|
+++
|
|
|
|
|
** Approximations to quotes are now displayed with the new 'homoglyph'
|
|
|
|
|
face instead of the 'escape-glyph' face.
|
|
|
|
|
|
2016-04-27 19:52:46 +02:00
|
|
|
|
---
|
2016-05-01 18:52:50 -07:00
|
|
|
|
** 'C-x h' ('mark-whole-buffer') will now avoid marking the prompt
|
2016-04-27 19:52:46 +02:00
|
|
|
|
part of minibuffers.
|
|
|
|
|
|
2016-04-27 19:25:21 +02:00
|
|
|
|
---
|
2016-05-01 18:52:50 -07:00
|
|
|
|
** 'find-library' now takes a prefix argument to pop to a different
|
2016-04-27 19:25:21 +02:00
|
|
|
|
window.
|
|
|
|
|
|
2016-04-25 19:27:06 +02:00
|
|
|
|
---
|
2016-04-24 13:17:25 -07:00
|
|
|
|
** 'process-attributes' on Darwin systems now returns more information.
|
2016-04-24 14:33:05 +02:00
|
|
|
|
|
2016-03-04 13:39:07 +00:00
|
|
|
|
+++
|
2016-04-24 13:17:25 -07:00
|
|
|
|
** Several accessors for the value returned by 'file-attributes'
|
|
|
|
|
have been added. They are: 'file-attribute-type',
|
2016-03-22 11:01:30 -07:00
|
|
|
|
'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',
|
2016-08-17 18:25:54 +09:00
|
|
|
|
'file-attribute-modes', 'file-attribute-inode-number',
|
|
|
|
|
'file-attribute-device-number' and 'file-attribute-collect'.
|
2016-03-04 13:39:07 +00:00
|
|
|
|
|
2016-03-28 19:07:39 +02:00
|
|
|
|
+++
|
2016-06-07 13:55:33 -04:00
|
|
|
|
** The new function 'buffer-hash' computes a fast, non-consing hash of
|
|
|
|
|
a buffer's contents.
|
2016-03-28 19:07:39 +02:00
|
|
|
|
|
2016-03-28 19:11:22 +02:00
|
|
|
|
---
|
2016-03-29 08:24:39 -07:00
|
|
|
|
** 'fill-paragraph' no longer marks the buffer as changed unless it
|
2016-03-28 19:11:22 +02:00
|
|
|
|
actually changed something.
|
|
|
|
|
|
2016-03-20 12:01:23 +01:00
|
|
|
|
---
|
2016-03-22 11:01:30 -07:00
|
|
|
|
** The locale language name 'ca' is now mapped to the language
|
|
|
|
|
environment 'Catalan', which has been added.
|
2016-03-20 12:01:23 +01:00
|
|
|
|
|
2016-02-28 15:15:18 +10:30
|
|
|
|
---
|
2016-04-24 13:17:25 -07:00
|
|
|
|
** 'align-regexp' has a separate history for its interactive argument.
|
2016-03-22 11:01:30 -07:00
|
|
|
|
'align-regexp' no longer shares its history with all other
|
2016-04-24 13:17:25 -07:00
|
|
|
|
history-less functions that use 'read-string'.
|
2016-02-28 15:15:18 +10:30
|
|
|
|
|
2016-02-22 16:18:32 +11:00
|
|
|
|
+++
|
|
|
|
|
** The networking code has been reworked so that it's more
|
|
|
|
|
asynchronous than it was (when specifying :nowait t in
|
2016-03-22 11:01:30 -07:00
|
|
|
|
'make-network-process'). How asynchronous it is varies based on the
|
2016-02-22 16:18:32 +11:00
|
|
|
|
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).
|
|
|
|
|
|
2016-03-22 11:01:30 -07:00
|
|
|
|
Certain process oriented functions (like 'process-datagram-address')
|
2016-02-22 16:18:32 +11:00
|
|
|
|
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.
|
|
|
|
|
|
2016-03-22 11:01:30 -07:00
|
|
|
|
** 'make-network-process' and 'open-network-stream' sometimes allowed
|
2016-03-07 18:54:25 -08:00
|
|
|
|
: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.
|
2016-02-25 15:54:29 +10:30
|
|
|
|
|
2016-04-24 13:17:25 -07:00
|
|
|
|
** It is possible to disable attempted recovery on fatal signals.
|
2016-01-05 20:03:38 +02:00
|
|
|
|
|
2016-04-24 13:17:25 -07:00
|
|
|
|
Two new variables support disabling attempts to recover from stack
|
2016-01-05 20:03:38 +02:00
|
|
|
|
overflow and to avoid automatic auto-save when Emacs is delivered a
|
2016-03-22 11:01:30 -07:00
|
|
|
|
fatal signal. 'attempt-stack-overflow-recovery', if set to 'nil',
|
2016-01-05 20:03:38 +02:00
|
|
|
|
will disable attempts to recover from C stack overflows; Emacs will
|
|
|
|
|
then crash as with any other fatal signal.
|
2016-03-22 11:01:30 -07:00
|
|
|
|
'attempt-orderly-shutdown-on-fatal-signal', if set to 'nil', will
|
2016-01-05 20:03:38 +02:00
|
|
|
|
disable attempts to auto-save the session and shut down in an orderly
|
|
|
|
|
fashion when Emacs receives a fatal signal; instead, Emacs will
|
2016-03-22 11:01:30 -07:00
|
|
|
|
terminate immediately. Both variables are non-'nil' by default.
|
2016-01-05 20:03:38 +02:00
|
|
|
|
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.
|
|
|
|
|
|
2016-05-06 18:58:49 +00:00
|
|
|
|
+++
|
|
|
|
|
** 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.
|
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
+++
|
|
|
|
|
** A second dir-local file (.dir-locals-2.el) is now accepted.
|
|
|
|
|
See the variable 'dir-locals-file-2' for more information.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** International domain names (IDNA) are now encoded via the new
|
|
|
|
|
puny.el library, so that one can visit web sites with non-ASCII URLs.
|
|
|
|
|
|
|
|
|
|
+++
|
2016-04-24 13:17:25 -07:00
|
|
|
|
** The new 'timer-list' command lists all active timers in a buffer,
|
2016-04-24 13:55:56 +02:00
|
|
|
|
where you can cancel them with the 'c' command.
|
|
|
|
|
|
|
|
|
|
+++
|
2016-04-24 13:17:25 -07:00
|
|
|
|
** The new function 'read-multiple-choice' prompts for multiple-choice
|
|
|
|
|
questions, with a handy way to display help texts.
|
2016-04-24 13:55:56 +02:00
|
|
|
|
|
2016-05-26 21:47:18 -04:00
|
|
|
|
+++
|
|
|
|
|
** 'switch-to-buffer-preserve-window-point' now defaults to t.
|
|
|
|
|
|
2016-09-30 16:22:26 +03:00
|
|
|
|
+++
|
|
|
|
|
** 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.
|
|
|
|
|
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
* Editing Changes in Emacs 26.1
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
+++
|
|
|
|
|
** New bindings for 'query-replace-map'.
|
|
|
|
|
'undo', undo the last replacement; bound to 'u'.
|
|
|
|
|
'undo-all', undo all replacements; bound to 'U'.
|
|
|
|
|
|
2016-06-21 16:52:52 +02:00
|
|
|
|
** '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.
|
|
|
|
|
|
2016-09-02 11:44:13 -04:00
|
|
|
|
** 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.
|
|
|
|
|
|
2015-11-25 15:44:20 +01:00
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
* Changes in Specialized Modes and Packages in Emacs 26.1
|
2015-11-25 15:44:20 +01:00
|
|
|
|
|
2016-07-03 14:51:18 +09:00
|
|
|
|
** Ibuffer
|
|
|
|
|
|
2016-07-08 17:22:56 +09:00
|
|
|
|
---
|
|
|
|
|
*** A new command 'ibuffer-copy-buffername-as-kill'; bound
|
|
|
|
|
to 'B'.
|
|
|
|
|
|
2016-07-08 10:55:22 +09:00
|
|
|
|
---
|
|
|
|
|
*** New command 'ibuffer-change-marks'; bound to '* c'.
|
|
|
|
|
|
2016-07-08 01:34:35 +09:00
|
|
|
|
---
|
|
|
|
|
*** A new command 'ibuffer-mark-by-locked' to mark
|
|
|
|
|
all locked buffers; bound to '% L'.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** A new option 'ibuffer-locked-char' to indicate
|
|
|
|
|
locked buffers; Ibuffer shows a new column displaying
|
|
|
|
|
'ibuffer-locked-char' for locked buffers.
|
|
|
|
|
|
2016-07-03 21:42:02 +09:00
|
|
|
|
---
|
|
|
|
|
*** A new command 'ibuffer-unmark-all-marks' to unmark
|
|
|
|
|
all buffers without asking confirmation; bound to
|
|
|
|
|
'U'; 'ibuffer-do-replace-regexp' bound to 'r'.
|
|
|
|
|
|
2016-07-03 14:51:18 +09:00
|
|
|
|
---
|
2016-08-30 20:54:05 -07:00
|
|
|
|
*** A new command 'ibuffer-mark-by-content-regexp' to mark buffers
|
2016-07-08 00:57:40 +09:00
|
|
|
|
whose content matches a regexp; bound to '% g'.
|
2016-07-03 14:51:18 +09:00
|
|
|
|
|
|
|
|
|
---
|
2016-08-30 20:54:05 -07:00
|
|
|
|
*** Two new options 'ibuffer-never-search-content-name' and
|
|
|
|
|
'ibuffer-never-search-content-mode' used by
|
|
|
|
|
'ibuffer-mark-by-content-regexp'.
|
2016-07-03 14:51:18 +09:00
|
|
|
|
|
2016-10-21 11:23:39 -04:00
|
|
|
|
** Browse-URL
|
|
|
|
|
|
|
|
|
|
*** Support for opening links to man pages in Man or WoMan mode.
|
|
|
|
|
|
2016-04-23 03:10:46 +02:00
|
|
|
|
** Compilation mode
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Messages from CMake are now recognized.
|
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
** Dired
|
|
|
|
|
|
2016-07-11 14:34:49 +09:00
|
|
|
|
+++
|
2016-10-20 16:29:40 +02:00
|
|
|
|
*** A new option 'dired-always-read-filesystem' default to nil.
|
2016-07-11 14:34:49 +09:00
|
|
|
|
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.
|
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
+++
|
|
|
|
|
*** In wdired, when editing files to contain slash characters,
|
2016-04-24 13:17:25 -07:00
|
|
|
|
the resulting directories are automatically created. Whether to do
|
|
|
|
|
this is controlled by the 'wdired-create-parent-directories' variable.
|
2016-04-24 13:55:56 +02:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** 'W' is now bound to 'browse-url-of-dired-file', and is useful for
|
|
|
|
|
viewing HTML files and the like.
|
|
|
|
|
|
2016-10-20 16:29:40 +02:00
|
|
|
|
** Edebug
|
2016-05-07 06:42:29 +00:00
|
|
|
|
|
2016-10-20 16:29:40 +02:00
|
|
|
|
*** Edebug can be prevented from pausing 1 second after reaching a
|
2016-05-07 06:42:29 +00:00
|
|
|
|
breakpoint (e.g. with "f" and "o") by customizing the new option
|
2016-05-10 07:38:23 -07:00
|
|
|
|
'edebug-sit-on-break'.
|
2016-05-07 06:42:29 +00:00
|
|
|
|
|
2016-10-18 18:05:51 -04:00
|
|
|
|
** Eshell
|
|
|
|
|
|
|
|
|
|
*** '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.
|
|
|
|
|
|
2016-02-04 18:00:37 +11:00
|
|
|
|
** eww
|
|
|
|
|
|
|
|
|
|
+++
|
2016-03-22 11:01:30 -07:00
|
|
|
|
*** A new 's' command for switching to another eww buffer via the minibuffer.
|
2016-02-04 18:00:37 +11:00
|
|
|
|
|
2016-02-24 18:07:49 +11:00
|
|
|
|
---
|
2016-03-22 11:01:30 -07:00
|
|
|
|
*** The 'o' command ('shr-save-contents') has moved to 'O' to avoid collision
|
|
|
|
|
with the 'o' command from 'image-map'.
|
2016-02-24 18:07:49 +11:00
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
+++
|
|
|
|
|
*** A new command 'C' ('eww-toggle-colors') can be used to toggle
|
|
|
|
|
whether to use the HTML-specified colors or not. The user can also
|
|
|
|
|
customize the 'shr-use-colors' variable.
|
|
|
|
|
|
|
|
|
|
---
|
2016-04-24 13:17:25 -07:00
|
|
|
|
*** Images that are being loaded are now marked with gray
|
2016-04-24 13:55:56 +02:00
|
|
|
|
"placeholder" images of the size specified by the HTML. They are then
|
|
|
|
|
replaced by the real images asynchronously, which will also now
|
|
|
|
|
respect width/height HTML specs (unless they specify widths/heights
|
|
|
|
|
bigger than the current window).
|
|
|
|
|
|
|
|
|
|
** Images
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Images are automatically scaled before displaying based on the
|
|
|
|
|
'image-scaling-factor' variable (if Emacs supports scaling the images
|
|
|
|
|
in question).
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Images inserted with 'insert-image' and related functions get a
|
|
|
|
|
keymap put into the text properties (or overlays) that span the
|
|
|
|
|
image. This keymap binds keystrokes for manipulating size and
|
|
|
|
|
rotation, as well as saving the image to a file. These commands are
|
|
|
|
|
also available in 'image-mode'.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** A new library for creating and manipulating SVG images has been
|
|
|
|
|
added. See the "SVG Images" section in the lispref manual for
|
|
|
|
|
details.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New setf-able function to access and set image parameters is
|
|
|
|
|
provided: 'image-property'.
|
|
|
|
|
|
2016-05-26 14:48:17 -04:00
|
|
|
|
---
|
|
|
|
|
** The default 'Info-default-directory-list' no longer checks some obsolete
|
|
|
|
|
directory suffixes (gnu, gnu/lib, gnu/lib/emacs, emacs, lib, lib/emacs)
|
|
|
|
|
when searching for info directories.
|
|
|
|
|
|
2016-02-01 21:08:21 -05:00
|
|
|
|
+++
|
|
|
|
|
** The commands that add ChangeLog entries now prefer a VCS root directory
|
|
|
|
|
for the ChangeLog file, if none already exists. Customize
|
2016-03-22 11:01:30 -07:00
|
|
|
|
'change-log-directory-files' to nil for the old behavior.
|
2016-02-01 21:08:21 -05:00
|
|
|
|
|
2016-01-20 20:11:16 -05:00
|
|
|
|
---
|
2016-03-22 11:01:30 -07:00
|
|
|
|
** Support for non-string values of 'time-stamp-format' has been removed.
|
2016-01-20 20:11:16 -05:00
|
|
|
|
|
2016-04-17 19:17:12 +02:00
|
|
|
|
** Message
|
|
|
|
|
|
|
|
|
|
---
|
2016-04-24 13:17:25 -07:00
|
|
|
|
*** 'message-use-idna' now defaults to t (because Emacs comes with
|
2016-04-17 19:17:12 +02:00
|
|
|
|
built-in IDNA support now).
|
|
|
|
|
|
2016-05-29 17:59:33 +02:00
|
|
|
|
---
|
|
|
|
|
*** When sending HTML messages with embedded images, and you have
|
|
|
|
|
exiftool installed, and you rotate images with EXIF data (i.e.,
|
|
|
|
|
JPEGs), the rotational information will be inserted into the outgoing
|
|
|
|
|
image in the message. (The original image will not have its
|
|
|
|
|
orientation affected.)
|
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
---
|
|
|
|
|
*** The 'message-valid-fqdn-regexp' variable has been removed, since
|
|
|
|
|
there are now top-level domains added all the time. Message will no
|
|
|
|
|
longer warn about sending emails to top-level domains it hasn't heard
|
|
|
|
|
about.
|
|
|
|
|
|
|
|
|
|
*** 'message-beginning-of-line' (bound to C-a) understands folded headers.
|
|
|
|
|
In 'visual-line-mode' it will look for the true beginning of a header
|
|
|
|
|
while in non-'visual-line-mode' it will move the point to the indented
|
|
|
|
|
header's value.
|
|
|
|
|
|
|
|
|
|
** Tramp
|
|
|
|
|
|
2016-02-05 18:57:35 +01:00
|
|
|
|
+++
|
2016-04-24 13:17:25 -07:00
|
|
|
|
*** New connection method "sg", which supports editing files under a
|
2016-01-15 11:10:37 +01:00
|
|
|
|
different group ID.
|
|
|
|
|
|
2016-02-05 18:57:35 +01:00
|
|
|
|
+++
|
|
|
|
|
*** New connection method "doas" for OpenBSD hosts.
|
|
|
|
|
|
2016-07-04 15:36:30 +02:00
|
|
|
|
+++
|
|
|
|
|
*** New connection method "gdrive", which allows to access Google
|
|
|
|
|
Drive onsite repositories.
|
|
|
|
|
|
2016-08-09 11:50:13 +02:00
|
|
|
|
+++
|
2016-08-30 20:54:05 -07:00
|
|
|
|
Setting the "ENV" environment variable in 'tramp-remote-process-environment'
|
2016-08-09 11:50:13 +02:00
|
|
|
|
enables reading of shell initialization files.
|
|
|
|
|
|
2016-03-04 14:01:36 +00:00
|
|
|
|
---
|
2016-03-22 11:01:30 -07:00
|
|
|
|
** 'auto-revert-use-notify' is set back to t in 'global-auto-revert-mode'.
|
2016-03-04 14:01:36 +00:00
|
|
|
|
|
2016-03-23 19:03:47 +01:00
|
|
|
|
** CSS mode
|
|
|
|
|
|
|
|
|
|
---
|
2016-09-24 13:55:36 +02:00
|
|
|
|
*** Support for completing attribute values, at-rules, bang-rules,
|
|
|
|
|
HTML tags, classes and IDs using the 'completion-at-point' command.
|
|
|
|
|
Completion candidates for HTML classes and IDs are retrieved from open
|
|
|
|
|
HTML mode buffers.
|
2016-03-23 19:03:47 +01:00
|
|
|
|
|
2016-04-21 14:47:05 -07:00
|
|
|
|
+++
|
|
|
|
|
** Emacs now supports character name escape sequences in character and
|
|
|
|
|
string literals. The syntax variants \N{character name} and
|
|
|
|
|
\N{U+code} are supported.
|
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
+++
|
|
|
|
|
** Prog mode has some support for multi-mode indentation.
|
|
|
|
|
This allows better indentation support in modes that support multiple
|
|
|
|
|
programming languages in the same buffer, like literate programming
|
|
|
|
|
environments or ANTLR programs with embedded Python code.
|
|
|
|
|
|
|
|
|
|
A major mode can provide indentation context for a sub-mode through
|
|
|
|
|
the 'prog-indentation-context' variable. To support this, modes that
|
|
|
|
|
provide indentation should use 'prog-widen' instead of 'widen' and
|
|
|
|
|
'prog-first-column' instead of a literal zero. See the node
|
|
|
|
|
"Mode-Specific Indent" in the ELisp manual for more details.
|
|
|
|
|
|
|
|
|
|
** ERC
|
|
|
|
|
|
|
|
|
|
*** New variable 'erc-default-port-tls' used to connect to TLS IRC
|
|
|
|
|
servers.
|
|
|
|
|
|
|
|
|
|
** URL
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new function 'url-cookie-delete-cookie' can be used to
|
|
|
|
|
programmatically delete all cookies, or cookies from a specific
|
|
|
|
|
domain.
|
|
|
|
|
|
2016-04-26 00:47:51 +02:00
|
|
|
|
+++
|
2016-05-01 18:52:50 -07:00
|
|
|
|
*** 'url-retrieve-synchronously' now takes an optional timeout parameter.
|
2016-04-26 00:47:51 +02:00
|
|
|
|
|
|
|
|
|
---
|
2016-04-24 13:17:25 -07:00
|
|
|
|
*** The URL package now support HTTPS over proxies supporting CONNECT.
|
2016-04-24 13:55:56 +02:00
|
|
|
|
|
2016-04-24 14:55:15 +02:00
|
|
|
|
+++
|
2016-04-24 13:17:25 -07:00
|
|
|
|
*** 'url-user-agent' now defaults to 'default', and the User-Agent
|
|
|
|
|
string is computed dynamically based on 'url-privacy-level'.
|
2016-04-24 14:51:33 +02:00
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
** VC and related modes
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** The VC state indicator in the mode line now defaults to more
|
|
|
|
|
colorful faces to make it more obvious to the user what the state is.
|
|
|
|
|
See the 'vc-faces' customization group.
|
|
|
|
|
|
2016-06-07 14:05:36 +02:00
|
|
|
|
** CC mode
|
|
|
|
|
|
|
|
|
|
*** Opening a .h file will turn C or C++ mode depending on language used.
|
|
|
|
|
This is done with the help of 'c-or-c++-mode' function which analyses
|
|
|
|
|
contents of the buffer to determine whether it's a C or C++ source
|
|
|
|
|
file.
|
|
|
|
|
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
* New Modes and Packages in Emacs 26.1
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-08-30 20:54:05 -07:00
|
|
|
|
** New Elisp data-structure library 'radix-tree'.
|
2016-05-30 23:22:49 -04:00
|
|
|
|
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
* Incompatible Lisp Changes in Emacs 26.1
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-02-23 12:27:45 +01:00
|
|
|
|
+++
|
2016-03-22 11:01:30 -07:00
|
|
|
|
** Resizing a frame no longer runs 'window-configuration-change-hook'.
|
|
|
|
|
Put your function on 'window-size-change-functions' instead.
|
2016-02-23 12:27:45 +01:00
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
** 'C-up', 'C-down', 'C-left' and 'C-right' are now defined in term
|
|
|
|
|
mode to send the same escape sequences that xterm does. This makes
|
|
|
|
|
things like forward-word in readline work.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** hideshow mode got four key bindings that are analogous to outline
|
2016-04-24 13:17:25 -07:00
|
|
|
|
mode bindings: 'C-c @ C-a', 'C-c @ C-t', 'C-c @ C-d', and 'C-c @ C-e.'
|
2016-04-24 13:55:56 +02:00
|
|
|
|
|
|
|
|
|
** The grep/rgrep/lgrep functions will now ask about saving files
|
|
|
|
|
before running. This is controlled by the 'grep-save-buffers'
|
|
|
|
|
variable.
|
|
|
|
|
|
2016-05-10 07:38:23 -07:00
|
|
|
|
+++
|
|
|
|
|
** The variable 'text-quoting-style' no longer affects the treatment
|
|
|
|
|
of curved quotes in format arguments to functions like 'message' and
|
|
|
|
|
'format-message'. In particular, when this variable's value is
|
|
|
|
|
'grave', all quotes in formats are output as-is.
|
|
|
|
|
|
2016-05-18 00:48:35 -07:00
|
|
|
|
** Functions like 'check-declare-file' and 'check-declare-directory'
|
|
|
|
|
now generate less chatter and more-compact diagnostics. The auxiliary
|
|
|
|
|
function 'check-declare-errmsg' has been removed.
|
|
|
|
|
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
* Lisp Changes in Emacs 26.1
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-10-20 16:29:40 +02:00
|
|
|
|
** New function 'undo-amalgamate-change-group' to get rid of
|
|
|
|
|
undo-boundaries between two states.
|
2016-07-18 21:04:39 -04:00
|
|
|
|
|
2016-08-30 20:54:05 -07:00
|
|
|
|
** New var 'definition-prefixes' is a hashtable mapping prefixes to the
|
2016-05-27 12:33:57 -04:00
|
|
|
|
files where corresponding definitions can be found. This can be used
|
2016-08-30 20:54:05 -07:00
|
|
|
|
to fetch definitions that are not yet loaded, for example for 'C-h f'.
|
2016-05-27 12:33:57 -04:00
|
|
|
|
|
2016-10-20 16:29:40 +02:00
|
|
|
|
** New var 'syntax-ppss-table' to control the syntax-table used in
|
|
|
|
|
'syntax-ppss'.
|
2016-01-16 15:06:04 -05:00
|
|
|
|
|
2016-05-08 13:24:20 +00:00
|
|
|
|
+++
|
2016-05-10 07:38:23 -07:00
|
|
|
|
** 'define-derived-mode' can now specify an :after-hook form, which
|
2016-05-08 13:24:20 +00:00
|
|
|
|
gets evaluated after the new mode's hook has run. This can be used to
|
|
|
|
|
incorporate configuration changes made in the mode hook into the
|
|
|
|
|
mode's setup.
|
|
|
|
|
|
2016-01-06 23:33:33 -08:00
|
|
|
|
** Autoload files can be generated without timestamps,
|
2016-03-22 11:01:30 -07:00
|
|
|
|
by setting 'autoload-timestamps' to nil.
|
2016-02-29 21:10:42 -08:00
|
|
|
|
FIXME As an experiment, nil is the current default.
|
|
|
|
|
If no insurmountable problems before next release, it can stay that way.
|
2016-01-06 23:33:33 -08:00
|
|
|
|
|
2016-03-05 17:04:23 +01:00
|
|
|
|
---
|
2016-10-20 16:29:40 +02:00
|
|
|
|
** 'gnutls-boot' now takes a parameter ':complete-negotiation' that
|
|
|
|
|
says that negotiation should complete even on non-blocking sockets.
|
2016-03-05 17:04:23 +01:00
|
|
|
|
|
2016-02-23 12:27:45 +01:00
|
|
|
|
+++
|
2016-03-22 11:01:30 -07:00
|
|
|
|
** New functions 'window-pixel-width-before-size-change' and
|
2016-04-24 13:17:25 -07:00
|
|
|
|
'window-pixel-height-before-size-change' support detecting which
|
|
|
|
|
window changed size when 'window-size-change-functions' are run.
|
2016-02-23 12:27:45 +01:00
|
|
|
|
|
2016-03-10 13:58:11 +01:00
|
|
|
|
+++
|
2016-03-22 11:01:30 -07:00
|
|
|
|
** New function 'display-buffer-reuse-mode-window' is an action function
|
|
|
|
|
suitable for use in 'display-buffer-alist'. For example, to avoid creating
|
2016-03-10 13:58:11 +01:00
|
|
|
|
a new window when opening man pages when there's already one, use
|
|
|
|
|
(add-to-list 'display-buffer-alist
|
2016-03-22 11:09:47 -07:00
|
|
|
|
'("\\`\\*Man .*\\*\\'" .
|
2016-03-10 13:58:11 +01:00
|
|
|
|
(display-buffer-reuse-mode-window
|
|
|
|
|
(inhibit-same-window . nil)
|
|
|
|
|
(mode . Man-mode))))
|
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
---
|
|
|
|
|
** There is now a new variable 'flyspell-sort-corrections-function'
|
|
|
|
|
that allows changing the way corrections are sorted.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** The new command 'fortune-message' has been added, which displays
|
|
|
|
|
fortunes in the echo area.
|
|
|
|
|
|
2016-03-26 11:19:43 +03:00
|
|
|
|
+++
|
|
|
|
|
** New function 'func-arity' returns information about the argument list
|
2016-04-24 13:17:25 -07:00
|
|
|
|
of an arbitrary function. This generalizes 'subr-arity' for functions
|
|
|
|
|
that are not built-in primitives. We recommend using this new
|
|
|
|
|
function instead of 'subr-arity'.
|
2016-03-26 11:19:43 +03:00
|
|
|
|
|
2016-03-20 13:19:48 +00:00
|
|
|
|
+++
|
2016-03-22 11:01:30 -07:00
|
|
|
|
** 'parse-partial-sexp' state has a new element. Element 10 is
|
2016-03-20 13:19:48 +00:00
|
|
|
|
non-nil when the last character scanned might be the first character
|
2016-04-24 13:17:25 -07:00
|
|
|
|
of a two character construct, i.e., a comment delimiter or escaped
|
2016-03-20 13:19:48 +00:00
|
|
|
|
character. Its value is the syntax of that last character.
|
|
|
|
|
|
|
|
|
|
+++
|
2016-10-20 16:29:40 +02:00
|
|
|
|
** 'parse-partial-sexp's state, element 9, has now been confirmed as
|
2016-03-20 13:19:48 +00:00
|
|
|
|
permanent and documented, and may be used by Lisp programs. Its value
|
|
|
|
|
is a list of currently open parenthesis positions, starting with the
|
|
|
|
|
outermost parenthesis.
|
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
---
|
|
|
|
|
** 'read-color' will now display the color names using the color itself
|
|
|
|
|
as the background color.
|
|
|
|
|
|
2016-04-04 09:36:30 -07:00
|
|
|
|
** The function 'redirect-debugging-output' now works on platforms
|
|
|
|
|
other than GNU/Linux.
|
|
|
|
|
|
2016-04-24 13:55:56 +02:00
|
|
|
|
+++
|
|
|
|
|
** The new function 'string-version-lessp' compares strings by
|
|
|
|
|
interpreting consecutive runs of numerical characters as numbers, and
|
|
|
|
|
compares their numerical values. According to this predicate,
|
|
|
|
|
"foo2.png" is smaller than "foo12.png".
|
|
|
|
|
|
2016-04-25 10:41:29 -07:00
|
|
|
|
+++
|
|
|
|
|
** The new function 'char-from-name' converts a Unicode name string
|
|
|
|
|
to the corresponding character code.
|
|
|
|
|
|
2016-04-08 14:02:48 -07:00
|
|
|
|
+++
|
|
|
|
|
** New functions 'sxhash-eq' and 'sxhash-eql' return hash codes of a
|
|
|
|
|
Lisp object suitable for use with 'eq' and 'eql' correspondingly. If
|
|
|
|
|
two objects are 'eq' ('eql'), then the result of 'sxhash-eq'
|
|
|
|
|
('sxhash-eql') on them will be the same.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** Function 'sxhash' has been renamed to 'sxhash-equal' for
|
|
|
|
|
consistency with the new functions. For compatibility, 'sxhash'
|
|
|
|
|
remains as an alias to 'sxhash-equal'.
|
|
|
|
|
|
2016-04-12 09:19:11 -07:00
|
|
|
|
+++
|
|
|
|
|
** Time conversion functions that accept a time zone rule argument now
|
|
|
|
|
allow it to be OFFSET or a list (OFFSET ABBR), where the integer
|
|
|
|
|
OFFSET is a count of seconds east of Universal Time, and the string
|
|
|
|
|
ABBR is a time zone abbreviation. The affected functions are
|
|
|
|
|
'current-time-string', 'current-time-zone', 'decode-time',
|
|
|
|
|
'format-time-string', and 'set-time-zone-rule'.
|
|
|
|
|
|
2016-08-30 20:54:05 -07:00
|
|
|
|
** New built-in function 'mapcan' which avoids unnecessary consing (and garbage
|
Add `make-nearby-temp-file' and `temporary-file-directory'
* doc/lispref/files.texi (Unique File Names):
Introduce `make-nearby-temp-file' and `temporary-file-directory'.
(Magic File Names): Mention `make-nearby-temp-file' and
`temporary-file-directory'.
* etc/NEWS (provided): Mention `make-nearby-temp-file' and
`temporary-file-directory'.
* lisp/files.el (mounted-file-systems): New defcustom.
(temporary-file-directory, make-nearby-temp-file): New defuns.
(normal-backup-enable-predicate): Fix docstring.
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
<make-nearby-temp-file, temporary-file-directory>: Add handler.
* lisp/net/tramp.el (tramp-file-name-for-operation):
Add `make-nearby-temp-file' and `temporary-file-directory'.
(tramp-get-remote-tmpdir): Remove compatibility code.
(tramp-handle-temporary-file-directory)
(tramp-handle-make-nearby-temp-file): New defuns.
* lisp/org/ob-core.el (org-babel-local-file-name):
* lisp/progmodes/gud.el (gud-common-init):
* lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
* lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
Check `tramp--test-enabled'.
(tramp-test18-file-attributes): Add tests for
`file-ownership-preserved-p'.
(tramp-test27-start-file-process, tramp-test28-shell-command):
Reduce timeouts in `accept-process-output'.
(tramp-test--shell-command-to-string-asynchronously): Add timeout.
(tramp-test29-environment-variables): Remove additional sleep calls.
(tramp-test32-make-nearby-temp-file): New test.
(tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
(tramp-test33-special-characters)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls, tramp-test34-utf8)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests)
(tramp-test36-recursive-load, tramp-test37-unload): Rename.
(tramp--test-ftp-p): Simplify check.
(tramp--test-sh-p): New defun.
(tramp-test20-file-modes, tramp-test22-file-times)
(tramp-test26-process-file, tramp-test27-start-file-process)
(tramp-test28-shell-command)
(tramp-test29-environment-variables)
(tramp-test30-vc-registered)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests): Use it.
2016-08-07 13:57:23 +02:00
|
|
|
|
collection).
|
|
|
|
|
|
|
|
|
|
+++
|
2016-08-30 20:54:05 -07:00
|
|
|
|
** The new functions 'make-nearby-temp-file' and 'temporary-file-directory'
|
Add `make-nearby-temp-file' and `temporary-file-directory'
* doc/lispref/files.texi (Unique File Names):
Introduce `make-nearby-temp-file' and `temporary-file-directory'.
(Magic File Names): Mention `make-nearby-temp-file' and
`temporary-file-directory'.
* etc/NEWS (provided): Mention `make-nearby-temp-file' and
`temporary-file-directory'.
* lisp/files.el (mounted-file-systems): New defcustom.
(temporary-file-directory, make-nearby-temp-file): New defuns.
(normal-backup-enable-predicate): Fix docstring.
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
<make-nearby-temp-file, temporary-file-directory>: Add handler.
* lisp/net/tramp.el (tramp-file-name-for-operation):
Add `make-nearby-temp-file' and `temporary-file-directory'.
(tramp-get-remote-tmpdir): Remove compatibility code.
(tramp-handle-temporary-file-directory)
(tramp-handle-make-nearby-temp-file): New defuns.
* lisp/org/ob-core.el (org-babel-local-file-name):
* lisp/progmodes/gud.el (gud-common-init):
* lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
* lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
Check `tramp--test-enabled'.
(tramp-test18-file-attributes): Add tests for
`file-ownership-preserved-p'.
(tramp-test27-start-file-process, tramp-test28-shell-command):
Reduce timeouts in `accept-process-output'.
(tramp-test--shell-command-to-string-asynchronously): Add timeout.
(tramp-test29-environment-variables): Remove additional sleep calls.
(tramp-test32-make-nearby-temp-file): New test.
(tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
(tramp-test33-special-characters)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls, tramp-test34-utf8)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests)
(tramp-test36-recursive-load, tramp-test37-unload): Rename.
(tramp--test-ftp-p): Simplify check.
(tramp--test-sh-p): New defun.
(tramp-test20-file-modes, tramp-test22-file-times)
(tramp-test26-process-file, tramp-test27-start-file-process)
(tramp-test28-shell-command)
(tramp-test29-environment-variables)
(tramp-test30-vc-registered)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests): Use it.
2016-08-07 13:57:23 +02:00
|
|
|
|
can be used for creation of temporary files of remote or mounted directories.
|
2016-07-10 01:18:47 +02:00
|
|
|
|
|
2016-10-21 13:04:02 -07:00
|
|
|
|
+++
|
|
|
|
|
** The new error 'file-missing', a subcategory of 'file-error', is now
|
|
|
|
|
signaled instead of 'file-error' if a file operation acts on a file
|
|
|
|
|
that does not exist.
|
|
|
|
|
|
2016-10-18 09:36:03 -07:00
|
|
|
|
+++
|
|
|
|
|
** The function 'delete-directory' no longer signals an error when
|
|
|
|
|
operating recursively and when some other process deletes the directory
|
|
|
|
|
or its files before 'delete-directory' gets to them.
|
|
|
|
|
|
Document and fix some bugs with side windows
Add a documentation for side windows and fix some bugs
found when testing their behavior. Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame. Add new function
`window-swap-states' to exchange states of two live windows.
* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string. Make `window-side' and
`window-slot' parameters persistent (Bug#23858). Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string. Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check. Rewrite
completely. Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted. Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size. Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.
* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set. Mention new
parameter `no-delete-other-window'. Add cross reference for
`window-side' and `window-slot' parameters.
2016-10-05 10:28:36 +02:00
|
|
|
|
** Changes in Frame- and Window- Handling
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Support for side windows is now official. The display action
|
2016-10-20 16:29:40 +02:00
|
|
|
|
function 'display-buffer-in-side-window' will display its buffer in a
|
Document and fix some bugs with side windows
Add a documentation for side windows and fix some bugs
found when testing their behavior. Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame. Add new function
`window-swap-states' to exchange states of two live windows.
* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string. Make `window-side' and
`window-slot' parameters persistent (Bug#23858). Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string. Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check. Rewrite
completely. Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted. Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size. Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.
* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set. Mention new
parameter `no-delete-other-window'. Add cross reference for
`window-side' and `window-slot' parameters.
2016-10-05 10:28:36 +02:00
|
|
|
|
side window. Functions for toggling all side windows on a frame,
|
|
|
|
|
changing and reversing the layout of side windows and returning the main
|
|
|
|
|
(major non-side) window of a frame are provided. For details consult
|
|
|
|
|
the section "Side Windows" in the Elisp manual.
|
|
|
|
|
|
2016-10-17 09:59:20 +02:00
|
|
|
|
+++
|
|
|
|
|
*** Support for atomic windows - rectangular compositions of windows
|
2016-10-20 16:29:40 +02:00
|
|
|
|
treated by 'split-window', 'delete-window' and 'delete-other-windows'
|
2016-10-17 09:59:20 +02:00
|
|
|
|
like a single live window - is now official. For details consult the
|
|
|
|
|
section "Atomic Windows" in the Elisp manual.
|
|
|
|
|
|
Document and fix some bugs with side windows
Add a documentation for side windows and fix some bugs
found when testing their behavior. Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame. Add new function
`window-swap-states' to exchange states of two live windows.
* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string. Make `window-side' and
`window-slot' parameters persistent (Bug#23858). Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string. Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check. Rewrite
completely. Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted. Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size. Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.
* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set. Mention new
parameter `no-delete-other-window'. Add cross reference for
`window-side' and `window-slot' parameters.
2016-10-05 10:28:36 +02:00
|
|
|
|
+++
|
2016-10-20 16:29:40 +02:00
|
|
|
|
*** New 'display-buffer' alist entry 'window-parameters' allows to
|
Document and fix some bugs with side windows
Add a documentation for side windows and fix some bugs
found when testing their behavior. Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame. Add new function
`window-swap-states' to exchange states of two live windows.
* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string. Make `window-side' and
`window-slot' parameters persistent (Bug#23858). Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string. Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check. Rewrite
completely. Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted. Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size. Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.
* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set. Mention new
parameter `no-delete-other-window'. Add cross reference for
`window-side' and `window-slot' parameters.
2016-10-05 10:28:36 +02:00
|
|
|
|
assign window parameters to the window used for displaying the buffer.
|
|
|
|
|
|
|
|
|
|
+++
|
2016-10-20 16:29:40 +02:00
|
|
|
|
*** New window parameter 'no-delete-other-window' prevents that
|
|
|
|
|
its window gets deleted by 'delete-other-windows'.
|
Document and fix some bugs with side windows
Add a documentation for side windows and fix some bugs
found when testing their behavior. Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame. Add new function
`window-swap-states' to exchange states of two live windows.
* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string. Make `window-side' and
`window-slot' parameters persistent (Bug#23858). Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string. Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check. Rewrite
completely. Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted. Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size. Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.
* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set. Mention new
parameter `no-delete-other-window'. Add cross reference for
`window-side' and `window-slot' parameters.
2016-10-05 10:28:36 +02:00
|
|
|
|
|
|
|
|
|
+++
|
2016-10-20 16:29:40 +02:00
|
|
|
|
*** New command 'window-swap-states' swaps the states of two live
|
Document and fix some bugs with side windows
Add a documentation for side windows and fix some bugs
found when testing their behavior. Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame. Add new function
`window-swap-states' to exchange states of two live windows.
* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string. Make `window-side' and
`window-slot' parameters persistent (Bug#23858). Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string. Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check. Rewrite
completely. Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted. Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size. Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.
* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set. Mention new
parameter `no-delete-other-window'. Add cross reference for
`window-side' and `window-slot' parameters.
2016-10-05 10:28:36 +02:00
|
|
|
|
windows.
|
2016-10-20 16:29:40 +02:00
|
|
|
|
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
2016-10-01 11:14:05 +03:00
|
|
|
|
* Changes in Emacs 26.1 on Non-Free Operating Systems
|
2016-01-06 20:45:14 -05:00
|
|
|
|
|
Improve the register-hotkey functionality on MS-Windows
* src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
keyboard hook functionality.
Include w32inevt.h, basetyps.h and unknwn.h.
(VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
(kbdhook): A new struct definition.
(funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
(check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
(modifier_set): Call check_w32_winkey_state if a Win key was
pressed and the keyboard hook is active.
(w32_wnd_proc): Don't handle Win key combinations if the keyboard
hook is active. Only register/unregister the hotkeys if the
keyboard hook is not active. When WM_CREATE is received, call
setup_w32_kbdhook. When WM_DESTROY is received, call
reset_w32_kbdhook_state.
(lookup_vk_code): When the keyboard hook is active, map
alphanumeric characters to themselves.
(w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key. Map
modified keys to VK_ANY if the keyboard hook is active. Register
Alt-x and Win-x combinations.
(Fw32_shell_execute): Update doc string to reflect new
functionality. Bypass the code that posts the
WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
(Fw32_unregister_hot_key): Bypass the code that posts the
WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
(syms_of_w32fns) <w32-pass-lwindow-to-system>
<w32-pass-rwindow-to-system, w32-phantom-key-code>
<w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
to reflect the new functionality.
* src/w32console.c (initialize_w32_display): Install the low-level
keyboard hook.
* src/w32inevt.c (key_event): Handle Win-x combinations only if
the keyboard hook is not active. If the hook is active, use
check_w32_winkey_state instead.
* src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
(check_w32_winkey_state): Add prototypes.
(w32_kbdhook_active): New macro.
* doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
new functionality.
2016-02-26 12:51:24 +02:00
|
|
|
|
** Intercepting hotkeys on Windows 7 and later now works better.
|
|
|
|
|
The new keyboard hooking code properly grabs system hotkeys such as
|
|
|
|
|
Win-* and Alt-TAB, in a way that Emacs can get at them before the
|
2016-03-22 11:01:30 -07:00
|
|
|
|
system. This makes the 'w32-register-hot-key' functionality work
|
Improve the register-hotkey functionality on MS-Windows
* src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
keyboard hook functionality.
Include w32inevt.h, basetyps.h and unknwn.h.
(VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
(kbdhook): A new struct definition.
(funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
(check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
(modifier_set): Call check_w32_winkey_state if a Win key was
pressed and the keyboard hook is active.
(w32_wnd_proc): Don't handle Win key combinations if the keyboard
hook is active. Only register/unregister the hotkeys if the
keyboard hook is not active. When WM_CREATE is received, call
setup_w32_kbdhook. When WM_DESTROY is received, call
reset_w32_kbdhook_state.
(lookup_vk_code): When the keyboard hook is active, map
alphanumeric characters to themselves.
(w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key. Map
modified keys to VK_ANY if the keyboard hook is active. Register
Alt-x and Win-x combinations.
(Fw32_shell_execute): Update doc string to reflect new
functionality. Bypass the code that posts the
WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
(Fw32_unregister_hot_key): Bypass the code that posts the
WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
(syms_of_w32fns) <w32-pass-lwindow-to-system>
<w32-pass-rwindow-to-system, w32-phantom-key-code>
<w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
to reflect the new functionality.
* src/w32console.c (initialize_w32_display): Install the low-level
keyboard hook.
* src/w32inevt.c (key_event): Handle Win-x combinations only if
the keyboard hook is not active. If the hook is active, use
check_w32_winkey_state instead.
* src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
(check_w32_winkey_state): Add prototypes.
(w32_kbdhook_active): New macro.
* doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
new functionality.
2016-02-26 12:51:24 +02:00
|
|
|
|
again on all versions of MS-Windows starting with Windows 7. On
|
|
|
|
|
Windows NT and later you can now register any hotkey combination. (On
|
|
|
|
|
Windows 9X, the previous limitations, spelled out in the Emacs manual,
|
|
|
|
|
still apply.)
|
|
|
|
|
|
2016-05-01 18:52:50 -07:00
|
|
|
|
** 'convert-standard-filename' no longer mirrors slashes on MS-Windows.
|
2016-04-25 11:50:37 +03:00
|
|
|
|
Previously, on MS-Windows this function converted slash characters in
|
2016-09-07 19:21:08 +03:00
|
|
|
|
file names into backslashes. It no longer does that. If your Lisp
|
|
|
|
|
program used 'convert-standard-filename' to prepare file names to be
|
|
|
|
|
passed to subprocesses (which is not the recommended usage of that
|
|
|
|
|
function), you will now have to mirror slashes in your application
|
|
|
|
|
code. One possible way is this:
|
|
|
|
|
|
|
|
|
|
(let ((start 0))
|
|
|
|
|
(while (string-match "/" file-name start)
|
|
|
|
|
(aset file-name (match-beginning 0) ?\\)
|
|
|
|
|
(setq start (match-end 0))))
|
2016-04-25 11:50:37 +03:00
|
|
|
|
|
2016-09-05 19:50:59 +03:00
|
|
|
|
** GUI sessions now treat SIGINT like Posix platforms do.
|
|
|
|
|
The effect of delivering a Ctrl-C (SIGINT) signal to a GUI Emacs on
|
|
|
|
|
MS-Windows is now the same as on Posix platforms -- Emacs saves the
|
|
|
|
|
session and exits. In particular, this will happen if you start
|
|
|
|
|
emacs.exe from the Windows shell, then type Ctrl-C into that shell's
|
|
|
|
|
window.
|
|
|
|
|
|
2016-10-08 16:52:40 +03:00
|
|
|
|
---
|
|
|
|
|
** 'signal-process' supports SIGTRAP on Windows XP and later.
|
|
|
|
|
The 'kill' emulation on Windows now maps SIGTRAP to a call to the
|
|
|
|
|
'DebugBreakProcess' API. This causes the receiving process to break
|
|
|
|
|
execution and return control to the debugger. If no debugger is
|
|
|
|
|
attached to the receiving process, the call is typically ignored.
|
|
|
|
|
This is in contrast to the default action on POSIX Systems, where it
|
|
|
|
|
causes the receiving process to terminate with a core dump if no
|
|
|
|
|
debugger has been attached to it.
|
|
|
|
|
|
2001-01-25 20:15:31 +00:00
|
|
|
|
|
1999-10-03 12:39:42 +00:00
|
|
|
|
----------------------------------------------------------------------
|
2007-02-11 01:18:25 +00:00
|
|
|
|
This file is part of GNU Emacs.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
2008-05-15 07:32:14 +00:00
|
|
|
|
GNU Emacs is free software: you can redistribute it and/or modify
|
2007-02-11 01:18:25 +00:00
|
|
|
|
it under the terms of the GNU General Public License as published by
|
2008-05-15 07:32:14 +00:00
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
(at your option) any later version.
|
2007-02-11 01:18:25 +00:00
|
|
|
|
|
|
|
|
|
GNU Emacs is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
GNU General Public License for more details.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
2007-02-11 01:18:25 +00:00
|
|
|
|
You should have received a copy of the GNU General Public License
|
2008-05-15 07:32:14 +00:00
|
|
|
|
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
2001-01-25 20:15:31 +00:00
|
|
|
|
|
1999-10-03 12:39:42 +00:00
|
|
|
|
Local variables:
|
2016-03-14 17:36:23 -07:00
|
|
|
|
coding: us-ascii
|
1999-10-03 12:39:42 +00:00
|
|
|
|
mode: outline
|
|
|
|
|
paragraph-separate: "[ ]*$"
|
|
|
|
|
end:
|