home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
bbs
/
gnu
/
emacs-18.59-bin.lha
/
lib
/
emacs
/
18.59
/
etc
/
OONEWS
< prev
next >
Wrap
Text File
|
1986-01-28
|
48KB
|
1,166 lines
Old GNU Emacs NEWS -- history of user-visible changes thru version 15.
Copyright (C) 1985 Richard M. Stallman.
See the end for copying conditions.
Changes in Emacs 15
* Emacs now runs on Sun and Megatest 68000 systems;
also on at least one 16000 system running 4.2.
* Emacs now alters the output-start and output-stop characters
to prevent C-s and C-q from being considered as flow control
by cretinous rlogin software in 4.2.
* It is now possible convert Mocklisp code (for Gosling Emacs) to Lisp code
that can run in GNU Emacs. M-x convert-mocklisp-buffer
converts the contents of the current buffer from Mocklisp to
GNU Emacs Lisp. You should then save the converted buffer with C-x C-w
under a name ending in ".el"
There are probably some Mocklisp constructs that are not handled.
If you encounter one, feel free to report the failure as a bug.
The construct will be handled in a future Emacs release, if that is not
not too hard to do.
Note that lisp code converted from Mocklisp code will not necessarily
run as fast as code specifically written for GNU Emacs, nor will it use
the many features of GNU Emacs which are not present in Gosling's emacs.
(In particular, the byte-compiler (m-x byte-compile-file) knows little
about compilation of code directly converted from mocklisp.)
It is envisaged that old mocklisp code will be incrementally converted
to GNU lisp code, with M-x convert-mocklisp-buffer being the first
step in this process.
* Control-x n (narrow-to-region) is now by default a disabled command.
This means that, if you issue this command, it will ask whether
you really mean it. You have the opportunity to enable the
command permanently at that time, so you will not be asked again.
This will place the form "(put 'narrow-to-region 'disabled nil)" in your
.emacs file.
* Tags now prompts for the tag table file name to use.
All the tags commands ask for the tag table file name
if you have not yet specified one.
Also, the command M-x visit-tag-table can now be used to
specify the tag table file name initially, or to switch
to a new tag table.
* If truncate-partial-width-windows is non-nil (as it intially is),
all windows less than the full screen width (that is,
made by side-by-side splitting) truncate lines rather than continuing
them.
* Emacs now checks for Lisp stack overflow to avoid fatal errors.
The depth in eval, apply and funcall may not exceed max-lisp-eval-depth.
The depth in variable bindings and unwind-protects may not exceed
max-specpdl-size. If either limit is exceeded, an error occurs.
You can set the limits to larger values if you wish, but if you make them
too large, you are vulnerable to a fatal error if you invoke
Lisp code that does infinite recursion.
* New hooks find-file-hook and write-file-hook.
Both of these variables if non-nil should be functions of no arguments.
At the time they are called (current-buffer) will be the buffer being
read or written respectively.
find-file-hook is called whenever a file is read into its own buffer,
such as by calling find-file, revert-buffer, etc. It is not called by
functions such as insert-file which do not read the file into a buffer of
its own.
find-file-hook is called after the file has been read in and its
local variables (if any) have been processed.
write-file-hook is called just before writing out a file from a buffer.
* The initial value of shell-prompt-pattern is now "^[^#$%>]*[#$%>] *"
* If the .emacs file sets inhibit-startup-message to non-nil,
the messages normally printed by Emacs at startup time
are inhibited.
* Facility for run-time conditionalization on the basis of emacs features.
The new variable features is a list of symbols which represent "features"
of the executing emacs, for use in run-time conditionalization.
The function featurep of one argument may be used to test for the
presence of a feature. It is just the same as
(not (null (memq FEATURE features))) where FEATURE is its argument.
For example, (if (featurep 'magic-window-hack)
(transmogrify-window 'vertical)
(split-window-vertically))
The function provide of one argument "announces" that FEATURE is present.
It is much the same as (if (not (featurep FEATURE))
(setq features (cons FEATURE features)))
The function require with arguments FEATURE and FILE-NAME loads FILE-NAME
(which should contain the form (provide FEATURE)) unless FEATURE is present.
It is much the same as (if (not (featurep FEATURE))
(progn (load FILE-NAME)
(if (not featurep FEATURE) (error ...))))
FILE-NAME is optional and defaults to FEATURE.
* New function load-average.
This returns a list of three integers, which are
the current 1 minute, 5 minute and 15 minute load averages,
each multiplied by a hundred (since normally they are floating
point numbers).
* Per-terminal libraries loaded automatically.
Emacs when starting up on terminal type T automatically loads
a library named term-T. T is the value of the TERM environment variable.
Thus, on terminal type vt100, Emacs would do (load "term-vt100" t t).
Such libraries are good places to set the character translation table.
It is a bad idea to redefine lots of commands in a per-terminal library,
since this affects all users. Instead, define a command to do the
redefinitions and let the user's init file, which is loaded later,
call that command or not, as the user prefers.
* Programmer's note: detecting killed buffers.
Buffers are eliminated by explicitly killing them, using
the function kill-buffer. This does not eliminate or affect
the pointers to the buffer which may exist in list structure.
If you have a pointer to a buffer and wish to tell whether
the buffer has been killed, use the function buffer-name.
It returns nil on a killed buffer, and a string on a live buffer.
* New ways to access the last command input character.
The function last-key-struck, which used to return the last
input character that was read by command input, is eliminated.
Instead, you can find this information as the value of the
variable last-command-char. (This variable used to be called
last-key).
Another new variable, last-input-char, holds the last character
read from the command input stream regardless of what it was
read for. last-input-char and last-command-char are different
only inside a command that has called read-char to read input.
* The new switch -kill causes Emacs to exit after processing the
preceding command line arguments. Thus,
emacs -l lib data -e do-it -kill
means to load lib, find file data, call do-it on no arguments,
and then exit.
* The config.h file has been modularized.
Options that depend on the machine you are running on are defined
in a file whose name starts with "m-", such as m-vax.h.
Options that depend on the operating system software version you are
running on are defined in a file whose name starts with "s-",
such as s-bsd4.2.h.
config.h includes one m- file and one s- file. It also defines a
few other options whose values do not follow from the machine type
and system type being used. Installers normally will have to
select the correct m- and s- files but will never have to change their
contents.
* Termcap AL and DL strings are understood.
If the termcap entry defines AL and DL strings, for insertion
and deletion of multiple lines in one blow, Emacs now uses them.
This matters most on certain bit map display terminals for which
scrolling is comparatively slow.
* Bias against scrolling screen far on fast terminals.
Emacs now prefers to redraw a few lines rather than
shift them a long distance on the screen, when the terminal is fast.
* New major mode, mim-mode.
This major mode is for editing MDL code. Perhaps a MDL
user can explain why it is not called mdl-mode.
You must load the library mim-mode explicitly to use this.
* GNU documentation formatter `texinfo'.
The `texinfo' library defines a format for documentation
files which can be passed through Tex to make a printed manual
or passed through texinfo to make an Info file. Texinfo is
documented fully by i