Go to the first, previous, next, last section, table of contents.

Emacs 18 Antinews

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

Old Features in the Lisp Language

The following functions are missing or different in Emacs version 18.

Compilation Features

Floating Point Numbers

Emacs 18 doesn't have or need floating point arithmetic built in. It has a handy Lisp program that allows you to emulate floating point. You'll have to write programs specially to use it, though.

As a result, certain macros, functions, and predicates no longer handle specifications for floating point numbers.

The function string-to-number, the predicate floatp, and the variable float-output-format have all been eliminated.

The functions float, truncate, floor, ceil, round, and logb do not exist; neither do the functions abs, cos, sin, tan, acos, asin, atan, exp, expt, log10, log, or sqrt.

The format function no longer handles the specifications `%e', `%f' and `%g' for printing floating point numbers; likewise for message.

Changes in Basic Editing Functions

Text Properties

We eliminated text properties.

Features for Files

Many file-related functions have been eliminated or simplified. Here is a basic listing of these functions.

The functions file-accessible-directory-p, file-truename, make-directory, delete-directory, set-visited-file-modtime, directory-abbrev-alist, abbreviate-file-name, write-region, write-contents-hooks, after-save-hook, set-default-file-modes, default-file-modes, and unix-sync have been eliminated.

We got rid of the "initial file name" argument to read-file-name.

Additionally, we removed the 12th element from the list returned by file-attributes.

directory-files always sorts the list of files. It's not user friendly to process the files in any haphazard order.

We eliminated the variables write-contents-hooks and local-write-file-hooks.

Making Certain File Names "Magic"

There are no more magic filenames. Sorry, but all the mana has been used up.

Frames

There is only one frame in Emacs 18, so all of the frame functions have been eliminated.

X Window System Features

We have simplified the way Emacs and X interact by removing a great deal of creeping featurism.

Window Actions that Were No Longer Useful

Various behaviors of windows in Emacs 19 were obsolete by the time Emacs 18 was due to come out. We have removed them. These changes are listed below.

Display Features

Working with Input Events

The big news about input events is that we got rid of function key and mouse events. Now the only input events are characters. What's more, these characters now have to be in the range of 0 to 127, optionally with a meta bit. This makes for big simplifications.

Menus

You can no longer define menus as keymaps; good system design requires crafting a special-purpose interface for each facility, so it can precisely fit the requirements of that facility. We decided that unifying keymaps and menus was simply too much of a strain.

In Emacs 18, you can only activate menus with the mouse. Using them with a keyboard was too confusing for too many users.

Emacs 18 has no menu bars. All functions and variables related to the menu bar have been eliminated.

Changes in Minibuffer Features

The minibuffer history feature has been eliminated. Thus, we removed the optional argument hist from the minibuffer input functions read-from-minibuffer and completing-read.

The initial argument to read-from-minibuffer and other minibuffer input functions can no longer be a cons cell (string . position).

In the function read-no-blanks-input, the initial argument is no longer optional.

New Features for Defining Commands

Removed Features for Reading Input

We removed the third argument (meta) from the function set-input-mode. Consequently, we added the variable meta-flag; set it to t to enable use of a Meta key, and to nil to disable it. (Those are the only two alternatives.)

We also removed the variable extra-keyboard-modifiers.

We removed the function keyboard-translate and the variables num-input-keys and function-key-map.

Removed Syntax Table Features

The Case Table

Case tables do not exist in Emacs 18. Due to this change, we have removed the associated functions set-standard-case-table, standard-case-table, current-case-table, set-case-table, and set-case-syntax-pair.

Features for Dealing with Buffers

Local Variables Features

Features for Subprocesses

call-process and call-process-region no longer indicate the termination status of the subprocess. We call on users to have faith that the subprocess executed properly.

Dealing with Times And Time Delays

Features not Available for Lisp Debuggers

Memory Allocation Changes

We removed the function memory-limit.

The list returned by garbage-collect no longer contains an element to describe floating point numbers, since there aren't any floating point numbers in Emacs 18.

Hook Changes


Go to the first, previous, next, last section, table of contents.