Editing Changes in Emacs 27.1

4 Editing Changes in Emacs 27.1

4.1 When asked to visit a large file, Emacs now offers to visit it literally.

Previously, Emacs would only ask for confirmation before visiting large files. Now it also offers a third alternative: to visit the file literally, as in find-file-literally, which speeds up navigation and editing of large files.

4.2 zap-to-char now uses the history of characters you used to zap to.

zap-to-char uses the new read-char-from-minibuffer function to allow navigating through the history of characters that have been input. This is mostly useful for characters that have complex input methods where inputting the character again may involve many keystrokes.

4.3 save-some-buffers now has a new action in the prompt: C-f will

exit the command and switch to the buffer currently being asked about.

4.4 More commands support noncontiguous rectangular regions, namely

upcase-dwim, downcase-dwim, capitalize-dwim, capitalize-region, upcase-initials-region, replace-string, replace-regexp, and delimit-columns-region.

4.5 The new amalgamating-undo-limit variable can be used to control

how many changes should be amalgamated when using the undo command.

4.6 The newline-and-indent command (commonly bound to RET in many

modes) now takes an optional numeric argument to specify how many times is should insert newlines (and indent).

4.8 New variable x-wait-for-event-timeout.

This controls how long Emacs will wait for updates to the graphical state to take effect (making a frame visible, for example).

4.10 New user option flyspell-case-fold-duplications.

This option controls whether Flyspell mode considers consecutive words to be duplicates if they are not in the same case. If non-nil, the default, words are considered to be duplicates even if their letters' case does not match.

4.11 write-abbrev-file now includes special properties.

write-abbrev-file now writes special properties like ':case-fixed' for abbrevs that have them.

4.12 write-abbrev-file skips empty tables.

write-abbrev-file now skips inserting a define-abbrev-table form for tables which do not have any non-system abbrevs to save.

4.13 The new functions and commands text-property-search-forward and

text-property-search-backward have been added. These provide an interface that's more like functions like search-forward.

4.14 add-dir-local-variable now uses dotted pair notation syntax to

write alists of variables to .dir-locals.el. This is the same syntax that you can see in the example of a .dir-locals.el file in the node "(emacs) Directory Variables" of the user manual.

4.15 Network connections using local can now use IPv6.

make-network-process now uses the correct loopback address when asked to use ":host 'local" and ":family 'ipv6".

4.16 The new function replace-region-contents replaces the current

region using a given replacement-function in a non-destructive manner (in terms of replace-buffer-contents).

4.17 The command replace-buffer-contents now has two optional

arguments mitigating performance issues when operating on huge buffers.

4.18 Dragging C-M-mouse-1 now marks rectangular regions.

4.19 The command delete-indentation now operates on the active region.

If the region is active, the command joins all the lines in the region. When there's no active region, the command works on the current and the previous or the next line, as before.