summaryrefslogtreecommitdiff
path: root/doc/emacs/anti.texi
blob: 9c63e04dcbedad6a32d6318bd938f7ecd5d302d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
@c -*- coding: utf-8 -*-
@c This is part of the Emacs manual.
@c Copyright (C) 2005-2018 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.

@node Antinews
@appendix Emacs 25 Antinews
@c Update the emacs.texi Antinews menu entry with the above version number.

  For those users who live backwards in time, here is information
about downgrading to Emacs version 25.2.  We hope you will enjoy the
greater simplicity that results from the absence of many @w{Emacs
@value{EMACSVER}} features.

@itemize @bullet
@item
Emacs no longer defaults to requiring the GnuTLS library when you
build it.  Those who want the TLS functionality built-in will have to
explicitly request it at build time---or forever hold their peace.  We
decided that having the TLS functionality doesn't justify annoying
users or package builders with error messages about libgnutls absence.
We also decided that if you do build with GnuTLS, we will allow
versions of the library older than 2.12.2, as that version will become
less and less available/popular as you move farther back in time.

@item
For similar reasons, we've reverted back to building our own version
of @command{movemail} that retrieves POP3 mail as clear text via
insecure channels.  As you move back in time, the availability of
secure alternatives to POP3 will diminish, and we are only keen to
support that.  We've also removed the @option{--with-mailutils}
configure-time option, as it no longer makes sense for the observable
past.

@item
We have removed support for @command{systemd} and similar services: we
no longer provide a user init file for enabling Emacs support via
those services, and we removed from the Emacs server the
socket-launching support important for Emacs client operation under
these services.  Again, these services will lose popularity as you
move back in time, so the code supporting them will be just dead code,
bloating Emacs unnecessarily.

@item
Reproducible builds of Emacs are no longer supported, as past
development will make that unnecessary.

@item
The @option{--fg-daemon} is gone, leaving only @option{--daemon}.  No
need to procrastinate on the dilemma whether you do or don't want the
new shiny ``headless Emacs'' thingy.  Hail, simplicity!

@item
As text terminals supporting true color will lose ground as you move
back in time, we've removed support for 24-bit colors on text
terminals.  If you want colors on a text terminal, you should be fine
with just 8 of them.  (Truth being told, we think text terminals
should be monochrome, but you will have to keep downgrading to older
Emacs versions to have that feature back.)

@item
Emacs 25.2 no longer supports magic signatures of the form
@samp{#!/usr/bin/env @var{interpreter}} in scripts.  Moving back in
time means you are getting closer to the ideal of the original Unix
design where all the interpreters lived in a single directory
@file{/bin}, so this fancy feature is simply becoming unnecessary
ballast.

@item
The double-buffering feature of Emacs display on X has been removed.
We decided that its complexity and a few random surprising
side-effects aren't justified by the gains, even though those gains
were hailed in some quarters.  Yes, Emacs 25.2 will flicker in some
use cases, but we are sure Emacs users will be able to suck it, a they
have been doing for years.  Since this feature is gone, we've also
removed the @code{inhibit-double-buffering} frame parameter, which is
now unnecessary.

@item
Non-breaking hyphens and ASCII characters displayed instead of
unsupported quote characters are now again displayed using the
@code{escape-glyph} face.  We think having a single face instead of 3
different ones will make Emacs customization a much simpler job for
users.  For the same reason, we've removed the
@code{header-line-highlight} face, leaving just @code{highlight} for
any element of the Emacs display besides the mode line.

@item
You can no longer disable attempts of recovery from fatal exceptions
such as C stack overflows and fatal signals.  Since the recovery
included in Emacs is reliable enough, we decided there was no reason
to put your edits in danger of becoming lost when these situations
happen.  The variables @code{'attempt-stack-overflow-recovery} and
@code{attempt-orderly-shutdown-on-fatal-signal} are therefore removed.

@item
The @code{list-timers} command was removed, as we decided timers are
not user-level feature, and therefore users should not be allowed to
mess with them.  Ask an Emacs Lisp guru near you for help if you have
a runaway timer in your session.  (Of course, as you move back in
time, such runaway timers will become less and less frequent, and
actually timers might start shutting down automatically, as they
cannot cope with time reversal.)

@item
Horizontal scrolling using the mouse or touchpad has been removed.  In
the past, wide monitors will become less popular, so horizontal
scrolling will no longer be needed.  Removal of the mouse support for
horizontal scrolling is the first step towards its complete removal in
prior Emacs versions.

@item
We have found the @option{--tramp} option of @command{emacsclient} too
risky and too complicated, so we removed it to simplify the client
code and its usage.

@item
The @code{display-raw-bytes-as-hex} variable is gone, so raw bytes can
only be displayed as octal escapes.  Emacs users should be able to
convert from octal to any other base in their sleep!

@item
Displaying line numbers for a buffer is only possibly using add-on
features, such as @code{linum-mode}, which can only display the
numbers in the display margins.  Line-number display using these
features is also slow, as we firmly believe such a feature is
un-Emacsy and should not have been included in Emacs to begin with.
Consequently, @code{display-line-numbers-mode} was removed.

@item
On our permanent quest for simplifying Emacs, we've removed the
support for passing command-line arguments and options to Emacs via
the @option{--alternate-editor} option of @command{emacsclient} and
@env{ALTERNATE_EDITOR} environment variable.  There's only one True
Emacs---the one that comes up when invoked as @kbd{emacs}, no need for
all those fancy options!

@item
The complication known as ``single-line horizontal scrolling'' is no
longer with you in Emacs 25.2.  This feature was a bow to ``other
editors''; instead, let those other editors bow to Emacs by hscrolling
the entire window at all times.  Repeat after me: ``The Emacs way is
the Only Way!''

@item
The fancy case conversions of non-ASCII characters used in several
locales, like Turkish and Greek, are removed, leaving the relations
between upper and lower letter-case simple again, as they were in
7-bit ASCII.  Likewise with ligatures that turn into multiple
characters when their letter-case changes---gone.

@item
Enchant is no longer supported by @code{ispell-buffer} and similar
spell-checking commands.  As Enchant will gradually disappear while
you move back in time, its support will become unnecessary anyway.

@item
Tramp lost its support for Google Drive repositories.  Cloud storage
is on its way to extinction as you move back in time, thus making this
feature redundant.

@item
Several commands, deemed to be unnecessary complications, have been
removed.  Examples include @code{replace-buffer-contents} and
@code{apropos-local-variable}.

@item
To keep up with decreasing computer memory capacity and disk space, many
other functions and files have been eliminated in Emacs 25.2.
@end itemize