view man/anti.texi @ 31604:91e7cea32eaa

Move allocation with mmap here, from ralloc.c. Change conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS. (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed from former r_alloc_* functions in ralloc.c. (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables. (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro. (mmap_init) [REL_ALLOC_MMAP]: New function. (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and BUFFER_FREE.
author Gerd Moellmann <gerd@gnu.org>
date Thu, 14 Sep 2000 15:14:02 +0000
parents 736bba059dd4
children 09353c2fcc8a
line wrap: on
line source

@c This is part of the Emacs manual.
@c Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.

@node Antinews, MS-DOS, Command Arguments, Top
@appendix Emacs 20 Antinews

  For those users who live backwards in time, here is information about
downgrading to Emacs version 20.  We hope you will enjoy the greater
simplicity that results from the absence of many Emacs 21 features.

@itemize @bullet
@item
The good, old, vintage Emacs 19 display engine is back, eliminating most
of the unnecessary complications introduced with Emacs 21.  To wit:

@itemize @minus
@item
Variable-size characters are not supported anymore: you cannot use fonts
which contain oversized characters, and using italics fonts can totally
screw up your display.  Find one font that works and stick to it!

@item
Likewise, Emacs cannot display images, play sounds, or do anything
except displaying text.  Multimedia is for Netrape!

@item
Faces on X were made to follow the XLFD font names, to avoid the need of
reinventing what X has already invented.  This means that face merging
doesn't work.  However, experience shows that supporting mergers is bad
economics.  Face inheritance was also removed.

@item
New face attributes, such as 3D appearence, strike-through, overline
etc., were eliminated, to minimize consing.

@item
Toolkit scrollbars are not supported.  Emacs bare-bones X scrollbars are
so much leaner and meaner.  There are no toggle buttons and radio
buttons in menus.  @code{LessTif} is not supported either.

@item
There are no toolbars and no tooltips; in particular, the @acronym{GUD}
mode cannot display in a tooltip a value of a variable when you click on
that variable's name.  Emacs is an editor, not some fancy GUI program!

@item
Colors are not available on character terminals.  If you @emph{must}
have colors, but cannot afford running X, use the MS-DOG version of
Emacs inside a DOS emulator.

@item
The mode line is no longer mouse-sensitive.  You will have to remember
all the necessary commands to switch between buffers, toggle read-only
and modified status, switch minor modes on and off, etc.

@item
The support for ``wheeled'' mice on XFree86 has been removed.  Go away,
MS-Windows weenies!  Busy-cursor display has gone down the drain, too,
for the same reasons.  Meanwhile, the cursor blinking is no longer under
your control.

@item
Some aspects of Emacs appearance, such as the colors of the scroll bar
and the menus, can only be controlled via X resources.  Users who aren't
privy to X arcana, should learn to be happy with the default colors.

@item
Highlighting of trailing whitespace is not available; you need to move
the cursor into the suspect area to find out whether there is slack
whitespace there.  Empty lines at the end of the buffer cannot be marked
in any way, either, since each user should know where the buffer ends
without any help.

@item
You cannot control the spacing between text lines on the display; you
are now entirely at the mercy of the font designer and the window
manager.  Complain to them if your display looks ugly.
@end itemize

@item
Emacs 20 has less elaborate support for multi-lingual editing.  While
not as radical as Emacs 19 (which doesn't support anything but
single-byte European characters), it goes a long way toward eliminating
some of the annoying features:

@itemize @minus
@item
Translations of the Emacs reference cards to other languages are gone.
Every Emacs user should know English better than their national
languages.

@item
To avoid extra confusion, many language environments have been
eliminated.  For example, @samp{Polish} and @samp{Celtic} (Latin-8)
environments are not supported, and you cannot have the Euro characters,
since the Latin-9 environment is gone, too.

@item
Emacs no longer uses the most preferred coding system if it is suitable
for saving the buffer.  Instead, it always prompts you for a coding
system, so that you get to know its name better.

@item
Commands which provide detailed information about character sets and
coding systems, such as @code{list-charset-chars},
@code{describe-character-set}, and the @kbd{C-u C-x =} key-sequence, no
longer exist.  User feedback suggests that telling too much about
non-@sc{ascii} characters is confusing and unnecessary.

@item
The terminal coding system cannot be set to something CCL-based, so
keyboards which produce @code{KOI8} and DOS/Windows codepage codes
cannot be supported directly.  Leim is so much simpler!
@end itemize

@item
Systems which are deemed unimportant or still in vaporware phase are no
longer supported:

@itemize @minus
@item
Emacs cannot be built on GNU/Linux systems running on IA64 machines,
and you cannot build a 64-bit Emacs for SPARC/Solaris systems which
support 64-bit executables.  Thus, Emacs contributes to stability of
these systems by preventing you from corrupting files larger than 128MB.

@item
LynxOS is also not supported.
@end itemize

@item
The menu bar is no longer @acronym{CUA}-compliant.  We think that
uniformity of look-and-feel is boring, and that @acronym{CUA} is not
suitable for Emacs anyway.

@item
You cannot save the options set via the @samp{Options} menu-bar menu;
instead, you need to set all the options again each time you start a new
session.  This will gradually make your acquaintance with the options
better and better, until eventually you will be able to set all the
options without looking at the screen.  Unless you start Emacs once and
never stop it, that is.

@item
Emacs no longer pops up a buffer with error messages when an error is
signaled during loading of the user's init file.  Gurus who can debug
init files by the seat of their pants will regain their due honor which
they lost with Emacs 21.

@item
Many commands duly ignore the active region when Transient Mark mode is
in effect.  (Transient Mark mode is alien to Emacs mantra in the first
place, its introduction was a grave mistake, and we are planning to
remove it altogether in one of the previous versions; stay tuned.)

@item
@kbd{C-down-mouse-3} does nothing special when menu bar is not
displayed.  Users who don't like the menu bar should be amply punished
by forcing them to use the @code{tmm-menubar} replacement, even if they
do have the mouse.

@item
The @key{delete} function key produces the same effect as the @key{DEL}
key, on both TTY and windowed displays.  Never again will you be
confused by this terrible @emph{dichotomy}!

@item
The ability to save backup files in special subdirectories has been
eliminated.  This makes finding your backup files much easier.

@item
Emacs no longer refuses to load Lisp files compiled by incompatible
versions of other Emacsen, which may contain invalid byte-code.
Instead, Emacs now dumps core when it encounters such byte-code.

@item
You cannot delete all frames but the current one with @kbd{C-x 5 1}.
Delete them one by one instead.  If you have many frames, it's tough on
you.

@item
CC Mode is now much harder to customize, due to subtle aspects of local
and global bindings.  In particular, if you change the indentation style
as appropriate for Java, the indentation in C and C@t{++} buffers is
messed up, and vice versa.

@item
Isearch no longer highlights matches besides the current one, and
@kbd{mouse-2} in the echo area during incremental search now signals an
error, since nobody in their right mind will use a mouse while
searching.

@item
You cannot specify a port number with @code{ange-ftp}.  Instead, you
need to rely on undocumented features (@emph{use the source, Luke!}) to
sneak the port in.  Time stamps for remote files are not supported, and
Windows-style ftp clients which output the @samp{^M} character at the
end of each line wreak havoc with @code{ange-ftp}, making your life more
interesting.

@item
Many advanced display features, such as highlighting of mouse-sensitive
text regions and popping up help strings for menu items, don't work in
the MS-DOS version.  Ispell and Eshell don't work on MS-DOS, either.
MS-DOG users should be aware of their inferiority at all times!

@item
There's no woman.el package, so Emacs users on non-Posix systems should
learn to read Troff sources of manual pages.  This is a Good Thing,
since Troff is such a nice, intuitive language.

@item
recentf.el is not available, so you will have to memorize your
frequently edited files by heart, or use desktop.el.

@item
Field properties were eliminated, so various packages based on comint.el
which run subsidiary programs in Emacs buffers cannot easily distinguish
between text which came from the subprocess and text typed by the user.
The ingenious techniques this requires from Lisp programs will
undoubtfully assist to further advance and development of the Emacs Lisp
language.

@item
Many additional packages that were unnecessarily complicating your lives
are no longer with us.  You cannot browse C@t{++} classes with Ebrowse,
edit Delphi sources, access @acronym{SQL} data bases, edit PostScript
files and context diffs, access @acronym{LDAP} and other directory
servers, edit @file{TODO} files conveniently, or mix shell commands and
Lisp functions with Eshell.  Emacs doesn't need all that crud.

@item
To keep up with decreasing computer memory capacity and disk space, many
other functions and files have been eliminated in Emacs 20.  There's no
need to mention them all here.  If you try to use one of them, you'll
get an error message to tell you that it is undefined or unbound.
@end itemize