NEWS 5.75 KB
Newer Older
1
GNU Emacs NEWS -- history of user-visible changes.
2

Michael Albinus's avatar
Michael Albinus committed
3
Copyright (C) 2017 Free Software Foundation, Inc.
4
See the end of the file for license conditions.
Dave Love's avatar
#  
Dave Love committed
5

6
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
7 8
If possible, use M-x report-emacs-bug.

9
This file is about changes in Emacs version 27.
10

Paul Eggert's avatar
Paul Eggert committed
11
See file HISTORY for a list of GNU Emacs versions and release dates.
12 13
See files NEWS.26, NEWS.25, ..., NEWS.18, and NEWS.1-17 for changes
in older Emacs versions.
14

Paul Eggert's avatar
Paul Eggert committed
15
You can narrow news to a specific version by calling 'view-emacs-news'
16
with a prefix argument or by typing C-u C-h C-n.
17

18 19 20 21 22
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,
Eli Zaretskii's avatar
Eli Zaretskii committed
23

Michael Albinus's avatar
Michael Albinus committed
24

25
* Installation Changes in Emacs 27.1
Paul Eggert's avatar
Paul Eggert committed
26

27

28
* Startup Changes in Emacs 27.1
29

30

31
* Changes in Emacs 27.1
32

33 34 35 36 37 38
---
** The new option 'tooltip-resize-echo-area' avoids truncating tooltip text
on GUI frames when tooltips are displayed in the echo area.  Instead,
it resizes the echo area as needed to accommodate the full tool-tip
text.

Mark Oteiza's avatar
Mark Oteiza committed
39 40 41
+++
** New function 'logcount' calculates an integer's Hamming weight.

42 43 44 45 46 47 48 49
+++
** New function 'libxml-available-p'.
This function returns non-nil if libxml support is both compiled in
and available at run time.  Lisp programs should use this function to
detect built-in libxml support, instead of testing for that
indirectly, e.g., by checking that functions like
'libxml-parse-html-region' return nil.

50

51
* Editing Changes in Emacs 27.1
52

53 54 55 56 57
---
** 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).

58 59
+++
** The new user option 'electric-quote-replace-double' controls
Michael Albinus's avatar
Michael Albinus committed
60 61
whether '"' is also replaced in 'electric-quote-mode'.  If non-nil,
'"' is replaced by a double typographic quote.
62

Michael Albinus's avatar
Michael Albinus committed
63

64
* Changes in Specialized Modes and Packages in Emacs 27.1
65

66 67 68 69 70 71 72
** Dired

+++
*** The new user option 'dired-create-destination-dirs' controls whether
'dired-do-copy' and 'dired-rename-file' should create non-existent
directories in the destination.

73 74 75 76 77
** Ibuffer

---
*** New filter ibuffer-filter-by-process; bound to '/E'.

78 79 80 81
** Edebug

+++
*** The runtime behavior of Edebug's instrumentation can be changed
82 83 84
using the new variables 'edebug-behavior-alist',
'edebug-after-instrumentation-function' and
'edebug-new-definition-function'. Edebug's behavior can be changed
85 86
globally or for individual definitions.

87 88
** Enhanced xterm support

Mark Oteiza's avatar
Mark Oteiza committed
89 90 91
*** New variable 'xterm-set-window-title' controls whether Emacs sets
the XTerm window title.  This feature is experimental and is disabled
by default.
92

93 94
** Gamegrid

Paul Pogonyshev's avatar
Paul Pogonyshev committed
95 96 97 98 99 100
** ERT

+++
*** New variable 'ert-quiet' allows to make ERT output in batch mode
less verbose by removing non-essential information.

101 102 103 104 105
---
*** Gamegrid now determines its default glyph size based on display
dimensions, instead of always using 16 pixels. As a result, Tetris,
Snake and Pong are more playable on HiDPI displays.

106 107 108 109 110 111
** Filecache

---
*** Completing filenames in the minibuffer via 'C-TAB' now uses the
styles as configured by the variable 'completion-styles'.

112 113 114 115
** New macros 'thunk-let' and 'thunk-let*'.
These macros are analogue to 'let' and 'let*', but create bindings that
are evaluated lazily.

116 117 118 119 120 121 122 123 124
** Eshell

---
*** Expansion of history event designators is disabled by default.
To restore the old behavior, use

    (add-hook 'eshell-expand-input-functions
              #'eshell-expand-history-references)

125

126
* New Modes and Packages in Emacs 27.1
127

128
+++
129 130 131
** Emacs can now visit files in archives as if they were directories.
This feature uses Tramp and works only on systems which support GVFS,
i.e. GNU/Linux, roughly spoken.  See the chapter "(tramp) Archive file
132 133
names" in the Tramp manual for full documentation of these facilities.

134

135
* Incompatible Lisp Changes in Emacs 27.1
136

137 138 139
** The FILENAME argument to 'file-name-base' is now mandatory and no
longer defaults to 'buffer-file-name'.

140
---
Eli Zaretskii's avatar
Eli Zaretskii committed
141 142 143 144 145
** The function 'eldoc-message' now accepts a single argument.
Programs that called it with multiple arguments before should pass
them through 'format' first.  Even that is discouraged: for ElDoc
support, you should set 'eldoc-documentation-function' instead of
calling 'eldoc-message' directly.
146

147 148 149
** Old-style backquotes now generate an error.  They have been
generating warnings for a decade.

150

151
* Lisp Changes in Emacs 27.1
Philipp Stephani's avatar
Philipp Stephani committed
152

153
---
154
** The 'file-system-info' function is now available on all platforms.
155
instead of just Microsoft platforms.  This fixes a 'get-free-disk-space'
156 157
bug on OS X 10.8 and later (Bug#28639).

158 159 160 161
---
** The function 'get-free-disk-space' returns now a non-nil value for
remote systems, which support this check.

162 163 164 165 166
+++
** The function 'make-string' accepts an additional optional argument.
If the optional third argument is non-nil, 'make-string' will produce
a multibyte string even if its second argument is an ASCII character.

167

168
* Changes in Emacs 27.1 on Non-Free Operating Systems
169

170

Dave Love's avatar
#  
Dave Love committed
171
----------------------------------------------------------------------
172
This file is part of GNU Emacs.
Dave Love's avatar
#  
Dave Love committed
173

174
GNU Emacs is free software: you can redistribute it and/or modify
175
it under the terms of the GNU General Public License as published by
176 177
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
178 179 180 181 182

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.
Dave Love's avatar
#  
Dave Love committed
183

184
You should have received a copy of the GNU General Public License
185
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
Dave Love's avatar
#  
Dave Love committed
186

187

Dave Love's avatar
#  
Dave Love committed
188
Local variables:
189
coding: utf-8
Dave Love's avatar
#  
Dave Love committed
190 191 192
mode: outline
paragraph-separate: "[ 	]*$"
end: