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
/
GOSDIFF
< prev
next >
Wrap
Text File
|
1986-11-10
|
24KB
|
615 lines
Advantages of Gosling Emacs:
1. The program itself is much smaller.
GNU Emacs uses about 250k more pure storage.
As a result, Gosling Emacs can run on machines
that cannot run GNU Emacs. There is not much difference
in the amount of impure storage in the two programs.
2. In some versions there is support for other forks to
establish communications channels to Emacs (using sockets?).
3. There is a direct interface to dbm (data bases).
Advantages of GNU Emacs:
* True Lisp, not Mocklisp.
GNU Emacs's extension language has real symbols, lists
and vectors. Many extensions are much simpler, and some
become possible that were nearly impossible in Gosling Emacs.
Many primitives can have cleaner interfaces, and some features
need not be put in as special primitives because you can do
them easily yourself.
* But Mocklisp still works.
An automatic conversion package plus a run-time library
allows you to convert a Mocklisp library into a Lisp library.
* Commands are better crafted.
For example, nearly every editing function for which a
numeric argument would make sense as a repeat count does
accept a repeat count, and does handle a negative argument
in the way you would expect.
* The manual is clearer.
Everyone tells me it is a very good manual.
* Better on-line documentation.
Both functions and variables have documentation strings that
describe exactly how to use them.
* C mode is smart.
It really knows how to indent each line correctly,
for most popular indentation styles. (Some variables
control which style is used.)
* Compatible with PDP-10 Emacs, Multics Emacs and Zmacs.
The commands in GNU Emacs are nearly the same as in the
original Emacs and the other Emacses which imitated it.
(A few have been changed to fit the Unix environment better.)
* Support for Gosling's Emacs commands.
M-x set-gosmacs-bindings rebinds many editing commands for
compatibility with Gosling's Emacs.
M-x set-gnu-bindings reverses the change.
* Side-by-side windows.
You can split a GNU Emacs window either horizontally or
vertically.
* Redisplay is faster.
GNU Emacs sends about the same stuff to the terminal that
Gosling's does, but GNU Emacs uses much less CPU time to
decide what to do.
* Entirely termcap-driven.
GNU Emacs has nearly no special code for any terminal type. Various
new termcap strings make it possible to handle all terminals nearly as
fast as they could be handled by special-case code.
* Display-hiding features.
For example, Outline Mode makes it possible for you to edit
an outline, making entire sub-branches of the outline visible
or invisible when you wish.
* You can interrupt with Control-G.
Even a looping Lisp program can be stopped this way.
And even a loop in C code does not stop you from killing
Emacs and getting back to your shell.
* Per-buffer Undo.
You can undo the last several changes, in each buffer
independently.
* The editor code itself is clean.
Many people have remarked on how much they enjoy reading
the code for GNU Emacs.
One other note: The program etc/cvtmail that comes with GNU Emacs can
be used to convert a mail directory for Gosling Emacs's Rmail into a
Unix mail file that you could read into GNU Emacs's Rmail.
A detailed comparison by Rodney Zykowitz (rtgvax!ramin@eddie.mit.edu)
Enclosed are two difference listings. The first one is a cross-reference
by Key bindings. The second is by alphabetized function name.
Only those functions normally bound to keys in a
"standard" version are included. As far as I know it excludes
bindings added here locally (but what do I know...)
The Gosling's is version 2.02 and runs on VMS 4.2. The Gnu is
version 16.56.1 running under Ultrix 1.1.
And could someone send me some info on Gnu on VMS. I seem to have entirely
missed that posting. If it is hopeless, I just might sit down and write
a Gnu emulator for Unipress and a Unipress emulator for Gnu... But the
thought of that already makes me wanna....
ramin...
Standard disclaimer excluded for humanitarian purposes.
Command Binding Cross-references. By key code:
VMS (Unipress) GNU Emacs
Key Binding Binding
--- ------- ---------------
^@ set-mark set-mark-command
^A beginning-of-line beginning-of-line
^B backward-character backward-char
^C exit-emacs exit-recursive-edit
^D delete-next-character delete-char
^E end-of-line end-of-line
^F forward-character forward-char
^G illegal-operation
^H delete-previous-character help-command
^H-v describe-variable
^H-w where-is
^H-t help-with-tutorial
^H-s describe-syntax
^H-n view-emacs-news
^H-^N view-emacs-news
^H-m describe-mode
^H-l view-lossage
^H-i info
^H-f describe-function
^H-d describe-function
^H-k describe-key
^H-c describe-key-briefly
^H-b describe-bindings
^H-a command-apropos
^H-^D describe-distribution
^H-^C describe-copying
^H-? help-for-help
^H-^H help-for-help
^I self-insert indent-for-tab-command
^J newline-and-indent newline-and-indent
^K kill-to-end-of-line kill-line
^L redraw-display recenter
^M newline newline
^N next-line next-line
^O newline-and-backup open-line
^P previous-line previous-line
^Q quote-character quoted-insert
^R search-reverse isearch-backward
^S search-forward isearch-forward
^T transpose-characters transpose-chars
^U argument-prefix universal-argument
^V next-page scroll-up
^W delete-to-killbuffer kill-region
^X ^X-prefix Control-x-prefix
^X-^A add-mode-abbrev
^X-^B list-buffers list-buffers
^X-^C exit-emacs save-buffers-kill-emacs
^X-^D describe-word-in-buffer list-directory
^X-^E compile-it eval-last-sexp
^X-^F write-pause-or-exit find-file
^X-^H inverse-add-mode-abbrev
^X-^I insert-file indent-rigidly
^X-^L downcase-region
^X-^M write-modified-files
^X-^N next-error set-goal-column
^X-^O use-old-buffer delete-blank-linkes
^X-^P mark-page
^X-^Q toggle-read-only
^X-^R read-file find-file-read-only
^X-^S write-current-file save-buffer
^X-^T transpose-lines
^X-^U new-undo upcase-region
^X-^V visit-file find-alternate-file
^X-^W write-named-file write-file
^X-^X exchange-dot-and-mark exchange-dot-and-mark
^X-^Z shrink-window