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 09:16:19 +00: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-12 05:11:05 +00: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 08:14:05 +00:00
|
|
|
|
This file is about changes in Emacs version 26.
|
2006-06-04 01:01:51 +00:00
|
|
|
|
|
2015-10-15 21:59:43 +00:00
|
|
|
|
See file HISTORY for a list of GNU Emacs versions and release dates.
|
2016-10-01 08:14:05 +00: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-15 00:36:23 +00: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-11 02:13:36 +00: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 08:14:05 +00:00
|
|
|
|
|
2015-11-25 14:44:20 +00:00
|
|
|
|
|
2016-10-01 08:14:05 +00:00
|
|
|
|
* Installation Changes in Emacs 26.1
|
2015-11-25 14:44:20 +00:00
|
|
|
|
|
2016-07-24 09:00:18 +00: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 08:33:21 +00:00
|
|
|
|
** GnuTLS version 2.12.2 or later is now required, instead of merely
|
|
|
|
|
version 2.6.6 or later.
|
|
|
|
|
|
2016-04-05 14:51:28 +00:00
|
|
|
|
** The new option 'configure --enable-gcc-warnings=warn-only' causes
|
2016-04-21 21:44:31 +00:00
|
|
|
|
GCC to issue warnings without stopping the build. This behavior is
|
|
|
|
|
now the default in developer builds. As before, use
|
2016-04-05 14:51:28 +00:00
|
|
|
|
'--disable-gcc-warnings' to suppress GCC's warnings, and
|
|
|
|
|
'--enable-gcc-warnings' to stop the build if GCC issues warnings.
|
|
|
|
|
|
2016-03-02 18:21:45 +00:00
|
|
|
|
+++
|
2016-04-18 05:41:14 +00: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 09:43:01 +00:00
|
|
|
|
|
2016-11-13 23:46:31 +00:00
|
|
|
|
+++
|
|
|
|
|
** 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/)
|
|
|
|
|
|
2016-03-22 18:01:30 +00:00
|
|
|
|
** New configure option '--disable-build-details' attempts to build an
|
2016-03-02 18:21:45 +00: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 16:22:37 +00: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-07 01:45:14 +00:00
|
|
|
|
|
2016-10-01 08:14:05 +00:00
|
|
|
|
* Startup Changes in Emacs 26.1
|
2016-01-07 01:45:14 +00:00
|
|
|
|
|
2016-11-16 07:28:47 +00:00
|
|
|
|
** New option '--new-daemon'. This is the same as '--daemon', except
|
|
|
|
|
it runs in the foreground and does not fork. This is intended for
|
|
|
|
|
modern init systems such as systemd, which manage many of the traditional
|
|
|
|
|
aspects of daemon behavior themselves. '--old-daemon' is now an alias
|
|
|
|
|
for '--daemon'.
|
|
|
|
|
|
2016-01-05 18:03:38 +00:00
|
|
|
|
|
2016-10-01 08:14:05 +00:00
|
|
|
|
* Changes in Emacs 26.1
|
2016-01-05 18:03:38 +00:00
|
|
|
|
|
2016-12-05 05:52:14 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new function 'mapbacktrace' applies a function to all frames of
|
|
|
|
|
the current stack trace.
|
|
|
|
|
|
2016-12-08 16:35:40 +00:00
|
|
|
|
+++
|
|
|
|
|
** 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.
|
|
|
|
|
|
2016-11-13 00:00:35 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new function 'file-name-case-insensitive-p' tests whether a
|
|
|
|
|
given file is on a case-insensitive filesystem.
|
|
|
|
|
|
2016-10-27 15:05:24 +00:00
|
|
|
|
+++
|
|
|
|
|
** 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.
|
|
|
|
|
|
2016-11-08 17:42:24 +00:00
|
|
|
|
+++
|
|
|
|
|
** 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.
|
|
|
|
|
|
Add double-buffering support to reduce flicker
* src/dispextern.h (struct glyph_string): Remove window member
(block_buffer_flips, unblock_buffer_flips)
(buffer_flipping_blocked_p): Declare.
* src/xterm.h (struct x_display_info): New member supports_xdbe.
(struct x_output): New members draw_desc and need_buffer_flip.
(FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
(FRAME_X_DOUBLE_BUFFERED_P)
(FRAME_X_NEED_BUFFER_FLIP): New macros.
(set_up_x_back_buffer, tear_down_x_back_buffer)
(initial_set_up_x_back_buffer): Declare.
* src/xterm.c: Include Xdbe.h.
(x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
(x_draw_vertical_window_border, x_update_end)
(x_setup_relief_color, x_draw_relief_rect)
(x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
(x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
variables appropriately; substitute calls to XClearArea with
x_clear_area, which DTRT for double buffering.
(x_clear_window, x_clear_area): In double-buffering mode, use
rect-drawing X functions instead of XClearWindow and
XClearArea, which always operate on the front buffer.
(show_back_buffer): New function.
(XTframe_up_to_date): Call show_back_buffer when done.
(x_clear_frame, x_clear_frame_area): Remove obsolete calls to
gtk_widget_queue_draw to refresh scroll bars; scroll bars are
now independent X windows.
(handle_one_xevent): Call font_drop_xrender_surfaces when
XftDraw might need regenerating; perform buffer flip when
responding to Expose events; issue front-buffer clearing
commands as stopgap while we wait for redisplay.
Call flush_dirty_back_buffers.
(x_make_frame_visible): Un-bitrot comment; move XSETFRAME
earlier in function.
(x_free_frame_resources): Call tear_down_x_back_buffer when
destroying frame.
(x_term_init): Attempt to initialize double buffer extension.
(x_flip_and_flush): New function.
(x_redisplay_interface): Point to x_flip_and_flush instead of
x_flip directly.
(flush_dirty_back_buffers): New function.
(x_create_terminal): Register buffer_flipping_unblocked_hook.
* src/xftfont.c (xftfont_drop_xrender_surfaces): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
(xftfont_draw): Call x_mark_frame_dirty.
(xftfont_drop_xrender_surfaces): New function.
(syms_of_xftfont): Register it.
* src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
FRAME_X_WINDOW.
* src/xfns.c: Include Xdbe.h.
(x_set_inhibit_double_buffering, set_up_x_back_buffer)
(Fx_double_buffered_p): New functions.
(x_window): Call initial_set_up_x_back_buffer.
(x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
(Fx_create_frame): Configure `inhibit-double-buffering'
frame parameter.
(x_create_tip_frame): Call initial_set_up_x_back_buffer.
(x_frame_parm_handlers): Register
x_set_inhibit_double_buffering.
(syms_of_xfns): Register Sx_double_buffered_p.
(x_mark_frame_dirty): Define.
* src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
FRAME_X_WINDOW.
* src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
(redisplay_internal): Restart redisplay if a frame is garbaged
during updating; explain why. Block buffer flips
during redisplay.
(redisplay_preserve_echo_area): Block buffer flip during call
to redisplay_internal.
(buffer_flip_blocked_depth): New variable.
(block_buffer_flips, unblock_buffer_flips)
(buffer_flipping_blocked_p): New functions.
(init_glyph_string): Stop setting window member of struct
glyph_string.
* src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
x_set_inhibit_double_buffering.
* src/termhooks.h (struct terminal): Add
buffer_flipping_unblocked_hook.
* src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
x_set_inhibit_double_buffering.
* src/image.c (x_create_bitmap_from_data)
(x_create_bitmap_from_file, x_create_x_image_and_pixmap)
(Create_Pixmap_From_Bitmap_Data)
(x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
variables appropriately.
* src/gtkutil.c: Include Xdbe.h.
(xg_get_widget_from_map): Forward declare.
(xg_clear_under_internal_border): Remove obsolete calls to
refresh scroll bars.
(xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
(xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
same reason.
(xg_set_background_color): Set scroll bar background colors.
(xg_finish_scroll_bar_creation): New function with common
logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
scroll bars to be real X11 windows.
(xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
xg_finish_scroll_bar_creation.
(xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
Remove obsolete calls to refresh scroll bars; fix comments.
* src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
(ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
FRAME_X_WINDOW.
* src/frame.c (frame_parms): Add table entry for new
`inhibit-double-buffering' frame parameter
(syms_of_frame): Register Qinhibit_double_buffering.
* src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
(font_drop_xrender_surfaces): Declare.
* src/font.c (font_drop_xrender_surfaces): New function.
* src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
* etc/NEWS: Mention use of double buffering
* doc/lispref/frames.texi (Management Parameters): Document
`inhibit-double-buffering' frame parameters.
(Visibility of Frames): Document `x-double-buffered-p'.
* configure.ac: Check for the X double buffer extension
2016-10-21 03:34:36 +00:00
|
|
|
|
+++
|
|
|
|
|
** 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.
|
|
|
|
|
|
2016-10-08 13:37:42 +00:00
|
|
|
|
---
|
|
|
|
|
The group 'wp', whose label was "text", is now deprecated.
|
|
|
|
|
Use the new group 'text', which inherits from 'wp', instead.
|
|
|
|
|
|
2016-08-25 13:17:56 +00:00
|
|
|
|
+++
|
2016-08-31 03:54:05 +00:00
|
|
|
|
** The new function 'call-shell-region' executes a command in an
|
2016-08-25 13:17:56 +00:00
|
|
|
|
inferior shell with the buffer region as input.
|
|
|
|
|
|
2016-08-16 09:18:44 +00:00
|
|
|
|
+++
|
2016-08-26 06:27:37 +00:00
|
|
|
|
** The new user option 'shell-command-dont-erase-buffer' controls
|
2016-08-16 09:18:44 +00: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 06:27:37 +00:00
|
|
|
|
When 'shell-command-dont-erase-buffer' is nil, the default value,
|
2016-11-04 22:07:01 +00:00
|
|
|
|
the behavior of 'shell-command', 'shell-command-on-region' and
|
2016-08-16 09:18:44 +00:00
|
|
|
|
'async-shell-command' is as usual.
|
|
|
|
|
|
2016-07-08 15:36:55 +00: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 18:47:23 +00: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-01 23:49:01 +00:00
|
|
|
|
---
|
2016-05-02 01:52:50 +00:00
|
|
|
|
** 'find-library-name' will now fall back on looking at 'load-history'
|
2016-05-01 23:49:01 +00:00
|
|
|
|
to try to locate libraries that have been loaded with an explicit path
|
2016-05-02 01:52:50 +00:00
|
|
|
|
outside 'load-path'.
|
2016-05-01 23:49:01 +00:00
|
|
|
|
|
2016-05-01 14:53:38 +00:00
|
|
|
|
+++
|
2016-05-02 01:52:50 +00: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 14:53:38 +00:00
|
|
|
|
added to the end of the face list. This allows users to say things
|
2016-05-02 01:52:50 +00:00
|
|
|
|
like '(read-from-minibuffer (propertize "Enter something: " 'face 'bold))'.
|
2016-05-01 14:53:38 +00:00
|
|
|
|
|
2016-04-30 15:29:46 +00:00
|
|
|
|
+++
|
2016-05-02 01:52:50 +00: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 15:29:46 +00:00
|
|
|
|
|
2016-04-28 17:31:43 +00:00
|
|
|
|
---
|
2016-05-02 01:52:50 +00:00
|
|
|
|
** icomplete now respects 'completion-ignored-extensions'.
|
2016-04-28 17:31:43 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2016-05-02 01:52:50 +00:00
|
|
|
|
** Non-breaking hyphens are now displayed with the 'nobreak-hyphen'
|
|
|
|
|
face instead of the 'escape-glyph' face.
|
2016-04-28 16:09:10 +00:00
|
|
|
|
|
2016-10-17 01:48:19 +00:00
|
|
|
|
+++
|
|
|
|
|
** Approximations to quotes are now displayed with the new 'homoglyph'
|
|
|
|
|
face instead of the 'escape-glyph' face.
|
|
|
|
|
|
2016-04-27 17:52:46 +00:00
|
|
|
|
---
|
2016-05-02 01:52:50 +00:00
|
|
|
|
** 'C-x h' ('mark-whole-buffer') will now avoid marking the prompt
|
2016-04-27 17:52:46 +00:00
|
|
|
|
part of minibuffers.
|
|
|
|
|
|
2016-04-27 17:25:21 +00:00
|
|
|
|
---
|
2016-05-02 01:52:50 +00:00
|
|
|
|
** 'find-library' now takes a prefix argument to pop to a different
|
2016-04-27 17:25:21 +00:00
|
|
|
|
window.
|
|
|
|
|
|
2016-04-25 17:27:06 +00:00
|
|
|
|
---
|
2016-04-24 20:17:25 +00:00
|
|
|
|
** 'process-attributes' on Darwin systems now returns more information.
|
2016-04-24 12:33:05 +00:00
|
|
|
|
|
2016-03-04 13:39:07 +00:00
|
|
|
|
+++
|
2016-04-24 20:17:25 +00:00
|
|
|
|
** Several accessors for the value returned by 'file-attributes'
|
|
|
|
|
have been added. They are: 'file-attribute-type',
|
2016-03-22 18:01:30 +00: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 09:25:54 +00: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 17:07:39 +00:00
|
|
|
|
+++
|
2016-06-07 17:55:33 +00:00
|
|
|
|
** The new function 'buffer-hash' computes a fast, non-consing hash of
|
|
|
|
|
a buffer's contents.
|
2016-03-28 17:07:39 +00:00
|
|
|
|
|
2016-03-28 17:11:22 +00:00
|
|
|
|
---
|
2016-03-29 15:24:39 +00:00
|
|
|
|
** 'fill-paragraph' no longer marks the buffer as changed unless it
|
2016-03-28 17:11:22 +00:00
|
|
|
|
actually changed something.
|
|
|
|
|
|
2016-03-20 11:01:23 +00:00
|
|
|
|
---
|
2016-03-22 18:01:30 +00:00
|
|
|
|
** The locale language name 'ca' is now mapped to the language
|
|
|
|
|
environment 'Catalan', which has been added.
|
2016-03-20 11:01:23 +00:00
|
|
|
|
|
2016-02-28 04:45:18 +00:00
|
|
|
|
---
|
2016-04-24 20:17:25 +00:00
|
|
|
|
** 'align-regexp' has a separate history for its interactive argument.
|
2016-03-22 18:01:30 +00:00
|
|
|
|
'align-regexp' no longer shares its history with all other
|
2016-04-24 20:17:25 +00:00
|
|
|
|
history-less functions that use 'read-string'.
|
2016-02-28 04:45:18 +00:00
|
|
|
|
|
2016-02-22 05:18:32 +00:00
|
|
|
|
+++
|
|
|
|
|
** The networking code has been reworked so that it's more
|
|
|
|
|
asynchronous than it was (when specifying :nowait t in
|
2016-03-22 18:01:30 +00:00
|
|
|
|
'make-network-process'). How asynchronous it is varies based on the
|
2016-02-22 05:18:32 +00: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 18:01:30 +00:00
|
|
|
|
Certain process oriented functions (like 'process-datagram-address')
|
2016-02-22 05:18:32 +00: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 18:01:30 +00:00
|
|
|
|
** 'make-network-process' and 'open-network-stream' sometimes allowed
|
2016-03-08 02:54:25 +00: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 05:24:29 +00:00
|
|
|
|
|
2016-04-24 20:17:25 +00:00
|
|
|
|
** It is possible to disable attempted recovery on fatal signals.
|
2016-01-05 18:03:38 +00:00
|
|
|
|
|
2016-04-24 20:17:25 +00:00
|
|
|
|
Two new variables support disabling attempts to recover from stack
|
2016-01-05 18:03:38 +00:00
|
|
|
|
overflow and to avoid automatic auto-save when Emacs is delivered a
|
2016-03-22 18:01:30 +00:00
|
|
|
|
fatal signal. 'attempt-stack-overflow-recovery', if set to 'nil',
|
2016-01-05 18:03:38 +00:00
|
|
|
|
will disable attempts to recover from C stack overflows; Emacs will
|
|
|
|
|
then crash as with any other fatal signal.
|
2016-03-22 18:01:30 +00:00
|
|
|
|
'attempt-orderly-shutdown-on-fatal-signal', if set to 'nil', will
|
2016-01-05 18:03:38 +00: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 18:01:30 +00:00
|
|
|
|
terminate immediately. Both variables are non-'nil' by default.
|
2016-01-05 18:03:38 +00: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 11:55:56 +00:00
|
|
|
|
+++
|
|
|
|
|
** A second dir-local file (.dir-locals-2.el) is now accepted.
|
|
|
|
|
See the variable 'dir-locals-file-2' for more information.
|
|
|
|
|
|
2016-11-14 12:56:58 +00:00
|
|
|
|
+++
|
|
|
|
|
** Connection-local variables can be used to specify local variables
|
2016-11-14 16:13:09 +00:00
|
|
|
|
with a value depending on the connected remote server. For details,
|
|
|
|
|
see the node "Connection Local Variables" in the ELisp manual.
|
2016-11-14 12:56:58 +00:00
|
|
|
|
|
2016-04-24 11:55:56 +00:00
|
|
|
|
---
|
|
|
|
|
** 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 20:17:25 +00:00
|
|
|
|
** The new 'timer-list' command lists all active timers in a buffer,
|
2016-04-24 11:55:56 +00:00
|
|
|
|
where you can cancel them with the 'c' command.
|
|
|
|
|
|
|
|
|
|
+++
|
2016-04-24 20:17:25 +00:00
|
|
|
|
** The new function 'read-multiple-choice' prompts for multiple-choice
|
|
|
|
|
questions, with a handy way to display help texts.
|
2016-04-24 11:55:56 +00:00
|
|
|
|
|
2016-05-27 01:47:18 +00:00
|
|
|
|
+++
|
|
|
|
|
** 'switch-to-buffer-preserve-window-point' now defaults to t.
|
|
|
|
|
|
2016-09-30 13:22:26 +00: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-11-04 09:09:31 +00:00
|
|
|
|
+++
|
2016-11-04 22:07:01 +00:00
|
|
|
|
** The new variable 'x-ctrl-keysym' has been added to the existing
|
2016-11-04 09:09:31 +00:00
|
|
|
|
roster of X keysyms. It can be used in combination with another
|
|
|
|
|
variable of this kind to swap modifiers in Emacs.
|
|
|
|
|
|
2016-11-18 09:58:36 +00:00
|
|
|
|
---
|
2016-11-25 10:41:20 +00:00
|
|
|
|
** New input methods: 'cyrillic-tuvan', 'polish-prefix'.
|
2016-11-18 09:58:36 +00:00
|
|
|
|
|
Implement quoting the local part of a remote file name
* doc/emacs/files.texi (Quoted File Names):
* etc/NEWS: Mention quoting the local part of a remote file name.
* lisp/net/tramp.el (tramp-dissect-file-name): Check with
`tramp-tramp-file-p'.
(tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
New defsubst.
(tramp-handle-substitute-in-file-name)
(tramp-handle-make-auto-save-file-name): Handle quoted files.
(tramp-shell-quote-argument): Unquote argument.
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
Handle quoted files.
* test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
(tramp--test-make-temp-name): New argument QUOTED.
(tramp-test01-file-name-syntax)
(tramp-test02-file-name-dissect)
(tramp-test04-substitute-in-file-name)
(tramp-test05-expand-file-name, tramp-test07-file-exists-p)
(tramp-test08-file-local-copy)
(tramp-test09-insert-file-contents)
(tramp-test10-write-region, tramp-test11-copy-file)
(tramp-test12-rename-file, tramp-test13-make-directory)
(tramp-test14-delete-directory, tramp-test15-copy-directory)
(tramp-test16-directory-files)
(tramp-test17-insert-directory)
(tramp-test18-file-attributes)
(tramp-test19-directory-files-and-attributes)
(tramp-test20-file-modes, tramp-test21-file-links)
(tramp-test22-file-times, tramp-test23-visited-file-modtime)
(tramp-test24-file-name-completion, tramp-test25-load)
(tramp-test26-process-file, tramp-test27-start-file-process)
(tramp-test28-shell-command, tramp-test30-vc-registered)
(tramp-test31-make-auto-save-file-name)
(tramp--test-check-files)
(tramp-test35-asynchronous-requests): Test also quoted file names.
(tramp--test-shell-command-to-string-asynchronously): Rename.
(tramp-test29-environment-variables): Use it.
2016-12-04 11:12:06 +00:00
|
|
|
|
+++
|
|
|
|
|
** 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".
|
|
|
|
|
|
2016-01-07 01:45:14 +00:00
|
|
|
|
|
2016-10-01 08:14:05 +00:00
|
|
|
|
* Editing Changes in Emacs 26.1
|
2016-01-07 01:45:14 +00:00
|
|
|
|
|
2016-04-24 11:55:56 +00: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 14:52:52 +00: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 15:44:13 +00: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 14:44:20 +00:00
|
|
|
|
|
2016-10-01 08:14:05 +00:00
|
|
|
|
* Changes in Specialized Modes and Packages in Emacs 26.1
|
2015-11-25 14:44:20 +00:00
|
|
|
|
|
2016-12-21 20:51:14 +00:00
|
|
|
|
** TeX: Add luatex and xetex as alternatives to pdftex
|
|
|
|
|
|
2016-11-22 06:23:50 +00:00
|
|
|
|
** 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
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Two new commands 'bs-unmark-all', bound to 'U', and
|
|
|
|
|
'bs-unmark-previous', bound to <backspace>.
|
|
|
|
|
|
|
|
|
|
** Buffer-menu
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Two new commands 'Buffer-menu-unmark-all', bound to 'U' and
|
|
|
|
|
'Buffer-menu-unmark-all-buffers', bound to 'M-DEL'.
|
|
|
|
|
|
2016-07-03 05:51:18 +00:00
|
|
|
|
** Ibuffer
|
|
|
|
|
|
ibuffer: New filters and commands
Add several new filters and improve documentation.
See discussion on:
https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00399.html
* lisp/ibuf-ext.el: Add paragraph to file commentary.
(ibuffer-saved-filters, ibuffer-filtering-qualifiers)
(ibuffer-filter-groups): Update doc string.
(ibuffer-unary-operand): Add new function that transparently
handles 'not' formats for compound filters.
(ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
(ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
(ibuffer-decompose-filter): Handle 'and' as well,
and handle 'not' consistently with other uses.
(ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
(ibuffer--or-and-filter): New defun.
(ibuffer-or-filter, ibuffer-and-filter): Use it.
(ibuffer-format-qualifier): Handle 'and' filters as well.
(ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
(ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
(ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
Add new pre-defined filters.
(ibuffer-filter-chosen-by-completion): Add new interactive command
for easily choosing a filter from the descriptions.
* lisp/ibuffer.el (ibuffer-mode-map):
Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
and '/ DEL' respectively.
* test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
skip specification.
Add menu entries for the new filters.
(ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
ibuffer-decompose-filter, ibuffer-and-filter
ibuffer-or-filter): Add new tests; they are skipped unless
ibuf-ext is loaded.
; * etc/NEWS: Add entries for new user-facing features.
2016-12-20 08:41:56 +00:00
|
|
|
|
---
|
|
|
|
|
*** New filter commands `ibuffer-filter-by-basename',
|
|
|
|
|
`ibuffer-filter-by-file-extension', `ibuffer-filter-by-directory',
|
|
|
|
|
`ibuffer-filter-by-starred-name', `ibuffer-filter-by-modified'
|
|
|
|
|
and `ibuffer-filter-by-visiting-file'; bound respectively
|
|
|
|
|
to '/b', '/.', '//', '/*', '/i' and '/v'.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Two new commands 'ibuffer-filter-chosen-by-completion'
|
|
|
|
|
and `ibuffer-and-filter', the second bound to '/&'.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** The commands `ibuffer-pop-filter', `ibuffer-pop-filter-group',
|
|
|
|
|
`ibuffer-or-filter' and `ibuffer-filter-disable' have the alternative
|
|
|
|
|
bindings '/<up>', '/S-<up>', '/|' and '/DEL', respectively.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** The data format specifying filters has been extended to allow
|
|
|
|
|
explicit logical 'and', and a more flexible form for logical 'not'.
|
|
|
|
|
See 'ibuffer-filtering-qualifiers' doc string for full details.
|
|
|
|
|
|
2016-07-08 08:22:56 +00:00
|
|
|
|
---
|
|
|
|
|
*** A new command 'ibuffer-copy-buffername-as-kill'; bound
|
|
|
|
|
to 'B'.
|
|
|
|
|
|
2016-07-08 01:55:22 +00:00
|
|
|
|
---
|
|
|
|
|
*** New command 'ibuffer-change-marks'; bound to '* c'.
|
|
|
|
|
|
2016-07-07 16:34:35 +00: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 12:42:02 +00: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 05:51:18 +00:00
|
|
|
|
---
|
2016-08-31 03:54:05 +00:00
|
|
|
|
*** A new command 'ibuffer-mark-by-content-regexp' to mark buffers
|
2016-07-07 15:57:40 +00:00
|
|
|
|
whose content matches a regexp; bound to '% g'.
|
2016-07-03 05:51:18 +00:00
|
|
|
|
|
|
|
|
|
---
|
2016-08-31 03:54:05 +00: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 05:51:18 +00:00
|
|
|
|
|
2016-10-21 15:23:39 +00:00
|
|
|
|
** Browse-URL
|
|
|
|
|
|
|
|
|
|
*** Support for opening links to man pages in Man or WoMan mode.
|
|
|
|
|
|
2016-10-26 22:28:34 +00:00
|
|
|
|
** Comint
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** New user option 'comint-move-point-for-matching-input' to control
|
|
|
|
|
where to place point after C-c M-r and C-c M-s.
|
|
|
|
|
|
2016-04-23 01:10:46 +00:00
|
|
|
|
** Compilation mode
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Messages from CMake are now recognized.
|
|
|
|
|
|
2016-04-24 11:55:56 +00:00
|
|
|
|
** Dired
|
|
|
|
|
|
2016-07-11 05:34:49 +00:00
|
|
|
|
+++
|
2016-10-20 14:29:40 +00:00
|
|
|
|
*** A new option 'dired-always-read-filesystem' default to nil.
|
2016-07-11 05:34:49 +00: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 11:55:56 +00:00
|
|
|
|
+++
|
|
|
|
|
*** In wdired, when editing files to contain slash characters,
|
2016-04-24 20:17:25 +00:00
|
|
|
|
the resulting directories are automatically created. Whether to do
|
|
|
|
|
this is controlled by the 'wdired-create-parent-directories' variable.
|
2016-04-24 11:55:56 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** 'W' is now bound to 'browse-url-of-dired-file', and is useful for
|
|
|
|
|
viewing HTML files and the like.
|
|
|
|
|
|
2016-10-20 14:29:40 +00:00
|
|
|
|
** Edebug
|
2016-05-07 06:42:29 +00:00
|
|
|
|
|
2016-10-20 14:29:40 +00: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 14:38:23 +00:00
|
|
|
|
'edebug-sit-on-break'.
|
2016-05-07 06:42:29 +00:00
|
|
|
|
|
2016-10-18 22:05:51 +00: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 07:00:37 +00:00
|
|
|
|
** eww
|
|
|
|
|
|
2016-11-02 19:58:28 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New 'M-RET' command for opening a link at point in a new eww buffer.
|
|
|
|
|
|
2016-02-04 07:00:37 +00:00
|
|
|
|
+++
|
2016-03-22 18:01:30 +00:00
|
|
|
|
*** A new 's' command for switching to another eww buffer via the minibuffer.
|
2016-02-04 07:00:37 +00:00
|
|
|
|
|
2016-02-24 07:07:49 +00:00
|
|
|
|
---
|
2016-03-22 18:01:30 +00:00
|
|
|
|
*** The 'o' command ('shr-save-contents') has moved to 'O' to avoid collision
|
|
|
|
|
with the 'o' command from 'image-map'.
|
2016-02-24 07:07:49 +00:00
|
|
|
|
|
2016-04-24 11:55:56 +00: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 20:17:25 +00:00
|
|
|
|
*** Images that are being loaded are now marked with gray
|
2016-04-24 11:55:56 +00: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
|
2016-11-04 22:07:01 +00:00
|
|
|
|
added. See the "SVG Images" section in the Lisp reference manual for
|
2016-04-24 11:55:56 +00:00
|
|
|
|
details.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New setf-able function to access and set image parameters is
|
|
|
|
|
provided: 'image-property'.
|
|
|
|
|
|
2016-12-16 02:59:15 +00:00
|
|
|
|
---
|
|
|
|
|
*** New commands 'image-scroll-left' and 'image-scroll-right'
|
|
|
|
|
for 'image-mode' that complement 'image-scroll-up' and
|
|
|
|
|
'image-scroll-down': they have the same prefix arg behavior and stop
|
|
|
|
|
at image boundaries.
|
|
|
|
|
|
2016-12-20 01:37:46 +00:00
|
|
|
|
** Image-Dired
|
|
|
|
|
|
|
|
|
|
*** Now provides a minor mode 'image-dired-minor-mode' which replaces
|
|
|
|
|
the function 'image-dired-setup-dired-keybindings'.
|
|
|
|
|
|
|
|
|
|
*** Thumbnail generation is now asynchronous
|
|
|
|
|
The number of concurrent processes is limited by the variable
|
|
|
|
|
'image-dired-thumb-job-limit'.
|
|
|
|
|
|
|
|
|
|
*** 'image-dired-thumbnail-storage' has a new option 'standard-large'
|
|
|
|
|
for generating 256x256 thumbnails according to the Thumbnail Managing
|
|
|
|
|
Standard.
|
|
|
|
|
|
|
|
|
|
*** Inherits movement keys from 'image-mode' for viewing full images.
|
|
|
|
|
This includes the usual char, line, and page movement commands.
|
|
|
|
|
|
|
|
|
|
*** All the -options types have been changed to argument lists
|
|
|
|
|
instead of shell command strings. This change affects
|
|
|
|
|
'image-dired-cmd-create-thumbnail-options',
|
|
|
|
|
'image-dired-cmd-create-temp-image-options',
|
|
|
|
|
'image-dired-cmd-rotate-thumbnail-options',
|
|
|
|
|
'image-dired-cmd-rotate-original-options',
|
|
|
|
|
'image-dired-cmd-write-exif-data-options',
|
|
|
|
|
'image-dired-cmd-read-exif-data-options', and introduces
|
|
|
|
|
'image-dired-cmd-pngnq-options', 'image-dired-cmd-pngcrush-options',
|
|
|
|
|
'image-dired-cmd-create-standard-thumbnail-options'
|
|
|
|
|
|
2016-12-22 18:13:46 +00:00
|
|
|
|
*** Recognizes more tools by default, including pngnq-s9, OptiPNG, and gm
|
2016-12-20 01:37:46 +00:00
|
|
|
|
|
|
|
|
|
*** 'find-file' and related commands now work on thumbnails and
|
|
|
|
|
displayed images, providing a default argument of the original file name
|
|
|
|
|
via an addition to 'file-name-at-point-functions'.
|
|
|
|
|
|
2016-05-26 18:48:17 +00: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-02 02:08:21 +00: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 18:01:30 +00:00
|
|
|
|
'change-log-directory-files' to nil for the old behavior.
|
2016-02-02 02:08:21 +00:00
|
|
|
|
|
2016-01-21 01:11:16 +00:00
|
|
|
|
---
|
2016-03-22 18:01:30 +00:00
|
|
|
|
** Support for non-string values of 'time-stamp-format' has been removed.
|
2016-01-21 01:11:16 +00:00
|
|
|
|
|
2016-04-17 17:17:12 +00:00
|
|
|
|
** Message
|
|
|
|
|
|
|
|
|
|
---
|
2016-04-24 20:17:25 +00:00
|
|
|
|
*** 'message-use-idna' now defaults to t (because Emacs comes with
|
2016-04-17 17:17:12 +00:00
|
|
|
|
built-in IDNA support now).
|
|
|
|
|
|
2016-05-29 15:59:33 +00: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 11:55:56 +00: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 17:57:35 +00:00
|
|
|
|
+++
|
2016-04-24 20:17:25 +00:00
|
|
|
|
*** New connection method "sg", which supports editing files under a
|
2016-01-15 10:10:37 +00:00
|
|
|
|
different group ID.
|
|
|
|
|
|
2016-02-05 17:57:35 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New connection method "doas" for OpenBSD hosts.
|
|
|
|
|
|
2016-07-04 13:36:30 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New connection method "gdrive", which allows to access Google
|
|
|
|
|
Drive onsite repositories.
|
|
|
|
|
|
Remove gateway methods in Tramp
* doc/misc/tramp.texi (Top, Configuration): Remove section
`Gateway methods', insert section `Firewalls' in menu.
(History): Gateways are removed now.
(Gateway methods): Remove section.
(Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
(Firewalls): New section.
* etc/NEWS: Gateway methods in Tramp have been removed.
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-file-name-port, tramp-accept-process-output): Simplify.
* lisp/net/tramp-gw.el: Remove.
* lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
(tramp-gw-socks-method): Remove declarations.
(tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
Remove `tramp-gw-args' and `tramp-default-port'. (Bug#18967)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-compute-multi-hops, tramp-maybe-open-connection):
Remove gateway support.
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
Remove gateway tests.
2016-12-21 11:42:22 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Gateway methods in Tramp have been removed. Instead, the Tramp
|
|
|
|
|
manual documents how to configure ssh and PuTTY accordingly.
|
|
|
|
|
|
2016-08-09 09:50:13 +00:00
|
|
|
|
+++
|
2016-08-31 03:54:05 +00:00
|
|
|
|
Setting the "ENV" environment variable in 'tramp-remote-process-environment'
|
2016-08-09 09:50:13 +00:00
|
|
|
|
enables reading of shell initialization files.
|
|
|
|
|
|
2016-03-04 14:01:36 +00:00
|
|
|
|
---
|
2016-03-22 18:01:30 +00: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 18:03:47 +00:00
|
|
|
|
** CSS mode
|
|
|
|
|
|
|
|
|
|
---
|
2016-09-24 11:55:36 +00: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 18:03:47 +00:00
|
|
|
|
|
2016-04-21 21:47:05 +00: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 11:55:56 +00: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-25 22:47:51 +00:00
|
|
|
|
+++
|
2016-05-02 01:52:50 +00:00
|
|
|
|
*** 'url-retrieve-synchronously' now takes an optional timeout parameter.
|
2016-04-25 22:47:51 +00:00
|
|
|
|
|
|
|
|
|
---
|
2016-04-24 20:17:25 +00:00
|
|
|
|
*** The URL package now support HTTPS over proxies supporting CONNECT.
|
2016-04-24 11:55:56 +00:00
|
|
|
|
|
2016-04-24 12:55:15 +00:00
|
|
|
|
+++
|
2016-04-24 20:17:25 +00:00
|
|
|
|
*** 'url-user-agent' now defaults to 'default', and the User-Agent
|
|
|
|
|
string is computed dynamically based on 'url-privacy-level'.
|
2016-04-24 12:51:33 +00:00
|
|
|
|
|
2016-04-24 11:55:56 +00: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 12:05:36 +00: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-10-15 20:16:26 +00:00
|
|
|
|
** Flymake
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Emacs does no longer prompt the user before killing Flymake
|
|
|
|
|
processes on exit.
|
|
|
|
|
|
2016-01-07 01:45:14 +00:00
|
|
|
|
|
2016-10-01 08:14:05 +00:00
|
|
|
|
* New Modes and Packages in Emacs 26.1
|
2016-01-07 01:45:14 +00:00
|
|
|
|
|
2016-08-31 03:54:05 +00:00
|
|
|
|
** New Elisp data-structure library 'radix-tree'.
|
2016-05-31 03:22:49 +00:00
|
|
|
|
|
2016-01-07 01:45:14 +00:00
|
|
|
|
|
2016-10-01 08:14:05 +00:00
|
|
|
|
* Incompatible Lisp Changes in Emacs 26.1
|
2016-01-07 01:45:14 +00:00
|
|
|
|
|
2016-02-23 11:27:45 +00:00
|
|
|
|
+++
|
2016-03-22 18:01:30 +00:00
|
|
|
|
** Resizing a frame no longer runs 'window-configuration-change-hook'.
|
|
|
|
|
Put your function on 'window-size-change-functions' instead.
|
2016-02-23 11:27:45 +00:00
|
|
|
|
|
2016-04-24 11:55:56 +00: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 20:17:25 +00:00
|
|
|
|
mode bindings: 'C-c @ C-a', 'C-c @ C-t', 'C-c @ C-d', and 'C-c @ C-e.'
|
2016-04-24 11:55:56 +00:00
|
|
|
|
|
|
|
|
|
** The grep/rgrep/lgrep functions will now ask about saving files
|
|
|
|
|
before running. This is controlled by the 'grep-save-buffers'
|
|
|
|
|
variable.
|
|
|
|
|
|
2016-11-06 16:53:47 +00:00
|
|
|
|
** Some obsolete functions, variables, and faces have been removed:
|
2016-12-21 20:07:43 +00:00
|
|
|
|
*** make-variable-frame-local. Variables cannot be frame-local any more.
|
2016-11-06 16:53:47 +00:00
|
|
|
|
*** From subr.el: window-dot, set-window-dot, read-input, show-buffer,
|
|
|
|
|
eval-current-buffer, string-to-int
|
Remove obsolete default-FOO variables
* etc/NEWS: Indicate the removed variables.
* lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
* lisp/subr.el (default-mode-line-format, default-header-line-format):
(default-line-spacing, default-abbrev-mode, default-ctl-arrow):
(default-truncate-lines, default-left-margin, default-tab-width):
(default-case-fold-search, default-left-margin-width):
(default-right-margin-width, default-left-fringe-width):
(default-right-fringe-width, default-fringes-outside-margins):
(default-scroll-bar-width, default-vertical-scroll-bar):
(default-indicate-empty-lines, default-indicate-buffer-boundaries):
(default-fringe-indicator-alist, default-fringe-cursor-alist):
(default-scroll-up-aggressively, default-scroll-down-aggressively):
(default-fill-column, default-cursor-type):
(default-cursor-in-non-selected-windows):
(default-buffer-file-coding-system, default-major-mode):
(default-enable-multibyte-characters): Remove obsolete declarations.
* src/buffer.c (default-mode-line-format, default-header-line-format):
(default-line-spacing, default-abbrev-mode, default-ctl-arrow):
(default-truncate-lines, default-left-margin, default-tab-width):
(default-case-fold-search, default-left-margin-width):
(default-right-margin-width, default-left-fringe-width):
(default-right-fringe-width, default-fringes-outside-margins):
(default-scroll-bar-width, default-vertical-scroll-bar):
(default-indicate-empty-lines, default-indicate-buffer-boundaries):
(default-fringe-indicator-alist, default-fringe-cursor-alist):
(default-scroll-up-aggressively, default-scroll-down-aggressively):
(default-fill-column, default-cursor-type):
(default-cursor-in-non-selected-windows):
(default-buffer-file-coding-system, default-major-mode):
(default-enable-multibyte-characters): Remove.
* src/fileio.c (choose_write_coding_system): Fix comment.
* src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
2016-11-08 02:31:47 +00:00
|
|
|
|
*** All the default-FOO variables that hold the default value of the
|
|
|
|
|
FOO variable. Use 'default-value' and 'setq-default' to access and
|
2016-11-19 22:57:40 +00:00
|
|
|
|
change FOO, respectively. The exhaustive list of removed variables is:
|
Remove obsolete default-FOO variables
* etc/NEWS: Indicate the removed variables.
* lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
* lisp/subr.el (default-mode-line-format, default-header-line-format):
(default-line-spacing, default-abbrev-mode, default-ctl-arrow):
(default-truncate-lines, default-left-margin, default-tab-width):
(default-case-fold-search, default-left-margin-width):
(default-right-margin-width, default-left-fringe-width):
(default-right-fringe-width, default-fringes-outside-margins):
(default-scroll-bar-width, default-vertical-scroll-bar):
(default-indicate-empty-lines, default-indicate-buffer-boundaries):
(default-fringe-indicator-alist, default-fringe-cursor-alist):
(default-scroll-up-aggressively, default-scroll-down-aggressively):
(default-fill-column, default-cursor-type):
(default-cursor-in-non-selected-windows):
(default-buffer-file-coding-system, default-major-mode):
(default-enable-multibyte-characters): Remove obsolete declarations.
* src/buffer.c (default-mode-line-format, default-header-line-format):
(default-line-spacing, default-abbrev-mode, default-ctl-arrow):
(default-truncate-lines, default-left-margin, default-tab-width):
(default-case-fold-search, default-left-margin-width):
(default-right-margin-width, default-left-fringe-width):
(default-right-fringe-width, default-fringes-outside-margins):
(default-scroll-bar-width, default-vertical-scroll-bar):
(default-indicate-empty-lines, default-indicate-buffer-boundaries):
(default-fringe-indicator-alist, default-fringe-cursor-alist):
(default-scroll-up-aggressively, default-scroll-down-aggressively):
(default-fill-column, default-cursor-type):
(default-cursor-in-non-selected-windows):
(default-buffer-file-coding-system, default-major-mode):
(default-enable-multibyte-characters): Remove.
* src/fileio.c (choose_write_coding_system): Fix comment.
* src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
2016-11-08 02:31:47 +00:00
|
|
|
|
'default-mode-line-format', 'default-header-line-format',
|
|
|
|
|
'default-line-spacing', 'default-abbrev-mode', 'default-ctl-arrow',
|
|
|
|
|
'default-truncate-lines', 'default-left-margin', 'default-tab-width',
|
|
|
|
|
'default-case-fold-search', 'default-left-margin-width',
|
|
|
|
|
'default-right-margin-width', 'default-left-fringe-width',
|
|
|
|
|
'default-right-fringe-width', 'default-fringes-outside-margins',
|
|
|
|
|
'default-scroll-bar-width', 'default-vertical-scroll-bar',
|
|
|
|
|
'default-indicate-empty-lines', 'default-indicate-buffer-boundaries',
|
|
|
|
|
'default-fringe-indicator-alist', 'default-fringe-cursor-alist',
|
|
|
|
|
'default-scroll-up-aggressively', 'default-scroll-down-aggressively',
|
|
|
|
|
'default-fill-column', 'default-cursor-type',
|
|
|
|
|
'default-cursor-in-non-selected-windows',
|
|
|
|
|
'default-buffer-file-coding-system', 'default-major-mode', and
|
|
|
|
|
'default-enable-multibyte-characters'.
|
2016-11-06 17:09:38 +00:00
|
|
|
|
*** Many variables obsoleted in 22.1 referring to face symbols
|
2016-11-06 16:53:47 +00:00
|
|
|
|
|
2016-05-10 14:38:23 +00: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 07:48:35 +00: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-07 01:45:14 +00:00
|
|
|
|
|
2016-10-01 08:14:05 +00:00
|
|
|
|
* Lisp Changes in Emacs 26.1
|
2016-01-07 01:45:14 +00:00
|
|
|
|
|
2016-11-27 08:31:58 +00:00
|
|
|
|
** New variable 'while-no-input-ignore-events' which allow
|
|
|
|
|
setting which special events 'while-no-input' should ignore.
|
|
|
|
|
It is a list of symbols.
|
|
|
|
|
|
2016-10-20 14:29:40 +00:00
|
|
|
|
** New function 'undo-amalgamate-change-group' to get rid of
|
|
|
|
|
undo-boundaries between two states.
|
2016-07-19 01:04:39 +00:00
|
|
|
|
|
2016-11-04 22:07:01 +00:00
|
|
|
|
** New var 'definition-prefixes' is a hash table mapping prefixes to
|
|
|
|
|
the files where corresponding definitions can be found. This can be
|
|
|
|
|
used to fetch definitions that are not yet loaded, for example for
|
|
|
|
|
'C-h f'.
|
2016-05-27 16:33:57 +00:00
|
|
|
|
|
2016-10-20 14:29:40 +00:00
|
|
|
|
** New var 'syntax-ppss-table' to control the syntax-table used in
|
|
|
|
|
'syntax-ppss'.
|
2016-01-16 20:06:04 +00:00
|
|
|
|
|
2016-05-08 13:24:20 +00:00
|
|
|
|
+++
|
2016-05-10 14:38:23 +00: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-07 07:33:33 +00:00
|
|
|
|
** Autoload files can be generated without timestamps,
|
2016-03-22 18:01:30 +00:00
|
|
|
|
by setting 'autoload-timestamps' to nil.
|
2016-03-01 05:10:42 +00:00
|
|
|
|
FIXME As an experiment, nil is the current default.
|
|
|
|
|
If no insurmountable problems before next release, it can stay that way.
|
2016-01-07 07:33:33 +00:00
|
|
|
|
|
2016-03-05 16:04:23 +00:00
|
|
|
|
---
|
2016-10-20 14:29:40 +00:00
|
|
|
|
** 'gnutls-boot' now takes a parameter ':complete-negotiation' that
|
|
|
|
|
says that negotiation should complete even on non-blocking sockets.
|
2016-03-05 16:04:23 +00:00
|
|
|
|
|
2016-02-23 11:27:45 +00:00
|
|
|
|
+++
|
2016-03-22 18:01:30 +00:00
|
|
|
|
** New functions 'window-pixel-width-before-size-change' and
|
2016-04-24 20:17:25 +00:00
|
|
|
|
'window-pixel-height-before-size-change' support detecting which
|
|
|
|
|
window changed size when 'window-size-change-functions' are run.
|
2016-02-23 11:27:45 +00:00
|
|
|
|
|
2016-03-10 12:58:11 +00:00
|
|
|
|
+++
|
2016-03-22 18:01:30 +00: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 12:58:11 +00:00
|
|
|
|
a new window when opening man pages when there's already one, use
|
|
|
|
|
(add-to-list 'display-buffer-alist
|
2016-03-22 18:09:47 +00:00
|
|
|
|
'("\\`\\*Man .*\\*\\'" .
|
2016-03-10 12:58:11 +00:00
|
|
|
|
(display-buffer-reuse-mode-window
|
|
|
|
|
(inhibit-same-window . nil)
|
|
|
|
|
(mode . Man-mode))))
|
|
|
|
|
|
2016-04-24 11:55:56 +00: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 08:19:43 +00:00
|
|
|
|
+++
|
|
|
|
|
** New function 'func-arity' returns information about the argument list
|
2016-04-24 20:17:25 +00: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 08:19:43 +00:00
|
|
|
|
|
2016-03-20 13:19:48 +00:00
|
|
|
|
+++
|
2016-03-22 18:01:30 +00: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 20:17:25 +00: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 14:29:40 +00: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 11:55:56 +00:00
|
|
|
|
---
|
|
|
|
|
** 'read-color' will now display the color names using the color itself
|
|
|
|
|
as the background color.
|
|
|
|
|
|
2016-04-04 16:36:30 +00:00
|
|
|
|
** The function 'redirect-debugging-output' now works on platforms
|
|
|
|
|
other than GNU/Linux.
|
|
|
|
|
|
2016-04-24 11:55:56 +00: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 17:41:29 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new function 'char-from-name' converts a Unicode name string
|
|
|
|
|
to the corresponding character code.
|
|
|
|
|
|
2016-04-08 21:02:48 +00: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'.
|
|
|
|
|
|
2015-12-13 19:47:58 +00:00
|
|
|
|
+++
|
|
|
|
|
** New function `add-variable-watcher' can be used to call a function
|
|
|
|
|
when a symbol's value is changed. This is used to implement the new
|
|
|
|
|
debugger command `debug-on-variable-change'.
|
|
|
|
|
|
2016-04-12 16:19:11 +00: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-11-20 00:15:29 +00:00
|
|
|
|
+++
|
|
|
|
|
** 'format-time-string' now formats "%q" to the calendar quarter.
|
|
|
|
|
|
2016-08-31 03:54:05 +00: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 11:57:23 +00:00
|
|
|
|
collection).
|
|
|
|
|
|
|
|
|
|
+++
|
2016-08-31 03:54:05 +00: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 11:57:23 +00:00
|
|
|
|
can be used for creation of temporary files of remote or mounted directories.
|
2016-07-09 23:18:47 +00:00
|
|
|
|
|
2016-11-20 15:29:47 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new function 'file-local-name' can be used to specify arguments
|
|
|
|
|
of remote processes.
|
|
|
|
|
|
2016-12-09 09:03:05 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new functions 'file-name-quote', 'file-name-unquote' and
|
|
|
|
|
'file-name-quoted-p' can be used to quote / unquote file names with
|
|
|
|
|
the prefix "/:".
|
|
|
|
|
|
2016-10-21 20:04:02 +00: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 16:36:03 +00: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 08:28:36 +00:00
|
|
|
|
** Changes in Frame- and Window- Handling
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Support for side windows is now official. The display action
|
2016-10-20 14:29:40 +00: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 08:28:36 +00: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 07:59:20 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Support for atomic windows - rectangular compositions of windows
|
2016-10-20 14:29:40 +00:00
|
|
|
|
treated by 'split-window', 'delete-window' and 'delete-other-windows'
|
2016-10-17 07:59:20 +00: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 08:28:36 +00:00
|
|
|
|
+++
|
2016-10-20 14:29:40 +00: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 08:28:36 +00:00
|
|
|
|
assign window parameters to the window used for displaying the buffer.
|
|
|
|
|
|
|
|
|
|
+++
|
2016-10-20 14:29:40 +00: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 08:28:36 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2016-10-20 14:29:40 +00: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 08:28:36 +00:00
|
|
|
|
windows.
|
2016-10-20 14:29:40 +00:00
|
|
|
|
|
2016-01-07 01:45:14 +00:00
|
|
|
|
|
2016-10-01 08:14:05 +00:00
|
|
|
|
* Changes in Emacs 26.1 on Non-Free Operating Systems
|
2016-01-07 01:45:14 +00: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 10:51:24 +00: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 18:01:30 +00: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 10:51:24 +00: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-02 01:52:50 +00:00
|
|
|
|
** 'convert-standard-filename' no longer mirrors slashes on MS-Windows.
|
2016-04-25 08:50:37 +00:00
|
|
|
|
Previously, on MS-Windows this function converted slash characters in
|
2016-09-07 16:21:08 +00: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 08:50:37 +00:00
|
|
|
|
|
2016-09-05 16:50:59 +00: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 13:52:40 +00: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-15 00:36:23 +00:00
|
|
|
|
coding: us-ascii
|
1999-10-03 12:39:42 +00:00
|
|
|
|
mode: outline
|
|
|
|
|
paragraph-separate: "[ ]*$"
|
|
|
|
|
end:
|