[net.emacs] Release of CCA EMACS 162.43z

z@cca.UUCP (Steve Zimmerman) (03/14/84)

Version 162.43z of CCA EMACS has now been released.  This version
contains the following new features:

File version numbers

As Unix has moved more into the arena of large operating systems, one
feature that has been noticeably lacking is automatic numbering of file
versions.  In this scheme, when a new file is created with the same name
as an existing file, or when an existing file is modified, instead of
the existing file being replaced with the new file, a file is created
with the same name as the existing file but with a higher version
number.  This feature is usually implemented directly in the operating
system.  However, EMACS has now implemented this feature at the user
level as an extension of the currently existing backup file facility.
If the new variable File Versions is set to a positive number, EMACS
will keep that many numbered versions around as backup files.  It does
so by appending a number directly after the tilde in the backup file
name; succeeding backups receive increasingly higher numbers.  For easy
reference, the highest numbered backup file is always linked to a
standard backup file name that ends only in a tilde.

Associated with this new feature is a modification to the DIRED B
command, which places deletion marks in front of backup files.  The B
command with no argument will now place deletion marks in front of all
backup versions of the current file, which is defined to be the file
named on the line where the cursor is located.  If given an argument,
the B command will place deletion marks in front of all backup versions
of all files.

Buffer and file name completion

EMACS now supports full buffer and file name completion for all commands
that prompt for buffer or file names.  This feature works essentially
the same as M-X command name completion, except that Space has no
special meaning.  Typing an Escape while entering the buffer or file
name will cause EMACS to complete as much of the name is as unambiguous;
if EMACS is able to complete the whole name, it prints a dollar sign at
the end.  If EMACS is unable to complete the name any more than it is
already typed in, it beeps.  Typing a question mark at any point will
cause EMACS to list the possible valid completions for the name at this
point.

Automatic Buffer Names

When the Find File command is used, EMACS uses the last component of the
file name to create a name for the file's buffer.  If the buffer already
exists and contains a different file, EMACS will ask the user what name
to use for the new buffer instead.  If the new variable Automatic Buffer
Names is set, EMACS will not ask the user, but will instead create a new
buffer name by appending a unique number (starting with 2) to the last
component of the file name.

C Mode enhancements

The default size of an indentation level for C mode is eight spaces.  Up
until now, the only way to change this was by modifying the size of a
tab stop.  The disadvantage of this method was that the indentation
level still ended up being eight spaces when the file was printed out or
examined by a program other than EMACS.

The new variable C Indent has been introduced to solve this problem.  C
Indent is by default eight spaces, but can be set to any number, and
represents the actual number of spaces in an indentation level.  EMACS
will indent to the proper level by using the optimum combination of
spaces and tabs unless the variable Indent Using Tabs is zero, in which
case it will use all spaces.

When C Indent is set to its default value of eight, unindenting a level
is easy, as typing Delete will delete a tab stop and thereby unindent
exactly one level.  When C Indent is anything else, unindenting a level
is no longer so easy.  For example, if C Indent is four, the user ends
up either deleting four spaces, or deleting a tab and inserting four
spaces.  For this reason, the command C-C - (^R Unindent for C) has been
introduced.  C-C - will unindent exactly one indentation level, breaking
up tabs if necessary.  If given an argument, C-C - will unindent that
many indentation levels.

Ada Mode

Up until now, the command Set Case for Ada always adjusted the case of
the current line.  This command has now been modified to accept positive
or negative arguments, adjusting the case of that many lines forward or
backward.

Autoarg Mode

Autoarg mode means that you don't need to type C-U to specify a numeric
argument.  Instead, you type just the digits.  Digits followed by an
ordinary inserting character are themselves inserted, but digits
followed by an Escape or Control character serve as an argument to it
and are not inserted.  A minus sign can also be part of an argument, but
only at the beginning.  If you type a minus sign following some digits,
both the digits and the minus sign are inserted.

To use Autoarg Mode, set the variable Autoarg Mode nonzero.
Autoargument digits echo at the bottom of the screen; the first nondigit
causes them to be inserted or uses them as an argument.  To insert some
digits and nothing else, you must follow them with a Space and then rub
it out.  C-G cancels the digits, while Rubout inserts them all and then
rubs out the last.

Changing directories

If you like to have EMACS automatically set a buffer's default directory
to be that of the file that it contains when EMACS finds a file in
another window, you may want to set the variable Change to File's
Directory.  This causes the C-X 4 F and C-C 4 F commands to execute the
command Find File in Directory to read the file into the buffer, instead
of using the default Find File command.

Character searches

EMACS now has two new search commands, ^R Character Search and ^R
Reverse Character Search, which are useful for searching forward or
backward for a single character.  When these commands are executed, they
read a single character from the terminal and then immediately search
for that character.  Their behavior is exactly the same as if you had
started an incremental search and then exited after typing the first
character.  After invoking a character search, a C-A can be used to turn
the search into a string search, a C-R can be used to reverse the
direction of the search, a C-S can be used to search for the last
character searched for by one of these commands, and a C-Q can be used
to quote the next character.  These two commands are not normally bound
to any keys; many people who use them like to bind them to C-S and C-R
and then use the C-A option of these commands to enter a full string
search when necessary.

----------------------

Elisp

Excellent progress is being made on the Elisp extension language for CCA
EMACS.  The core of the interpreter is now operational, and the entire
extension language should be ready for release in a couple of months.
Elisp is a subset of Common Lisp, and will contain all the basic
functions of a true Lisp.