An open API service indexing awesome lists of open source software.

https://github.com/larsbrinkhoff/scame

TECO EMACS clone for Unix
https://github.com/larsbrinkhoff/scame

Last synced: 8 months ago
JSON representation

TECO EMACS clone for Unix

Awesome Lists containing this project

README

          

This is the editor called SCAME.

SCAME is just another one of those ersatz EMACS editors.
The purpose has been to make it look as much as possible like
EMACS on TOPS-20 and AMIS on TOPS-10 and VAX/VMS. A lot of
things are still missing, and some new facilities have been
added to make it fit in better with the UNIX philosophy.

HISTORY

SCAME was first implemented in 1980 on a PDP-11/70 running UNIX
v7 at the University of Linkoeping, Sweden. An old version is
still being used there in programming classes (They use EMACS on
DEC-20 and AMIS on DEC-10). The development was later moved,
first to a VAX running BSD 4.1 and most recently to a SUN
running BSD 4.2.

It has compiler switches for several different versions of UNIX,
but only the Berkeley version has been verified (to a degree).
It is not likely that it will run without modifications on a
PDP, especially not one without separate I&D. It is fairly
large, and always keep an entire buffer (file) in core.

HOW TO INSTALL SCAME

- Move the directory "lib" to be "/usr/lib/scame" or to
wherever you want it.

- Copy the file config.sample to be config.h and then edit it
to make sure that it applies to your installation.
Define your machine type and UNIX version, as well as paths
to special files and programs.

- Finally issue "make scame" and cross your fingers.

TERMINAL TYPES

SCAME uses TERMCAP to handle different terminal types.
The terminal must be a CRT with the following capabilities:
- Clear screen (cl)
- Cursor up (up)
- Direct cursor addressing (cm) OR
Cursor home (ho) and Cursor right (nd)

Scame will also use the following, if available:
al - Insert Line
bs - Backspace
bc - Backspace if not ^H
cd - Clear to end of display
ce - Clear to end of line
cr - Carriage Return
cs - Scroll Region
dl - Delete Line
ke - Out of Keypad Transmit mode
ks - Keypad Transmit mode
nl - New Line
so - Enter standout mode
sr - Scroll Reverse
se - Exit standout mode
ti - Start of programs which use cm
te - End of programs which use cm
km - Meta-key (This is a Boolean field saying that the terminal has
a META key which sets the most significant bit. It will
set the corresponding SCAME variable Hackmatic to 1 and
causes the terminal to run in raw mode)

For more information, read the documentation on TERMCAP in section 5
of the UNIX manual.

TEMPORARY FILES

SCAME uses a number of temporary files which are kept in a common
tmp-directory. To make SCAME restartable, these files will not be
deleted upon exit. Therefore, the files are not tied to any
specific invokation of SCAME, but rather to the process that invoked
SCAME (normally the login shell). A consequence is that the temp-
files will stay in the tmp-directory even after the user logs out,
and will need explicit deletion by somebody.
To do this, a special program called "scame-reaper" is used.
It checks the tmp-directory for any of SCAME's temp-files whose
processes have died and deletes them. It should be run often enough
to avoid cramming the tmp-directory and at least before every turn
of the process-counter or after restarting the system. In Linkoping
it is run by "cron" three times a day (3 am, 1pm and 5pm).
This is achieved by including the following line in the file
/usr/lib/crontab:

0 3,13,17 * * * /usr/lib/scame-reaper

BUGS
Plenty. If you find any, please let me know.
Send bug fixes to me, and I will post them to the net.

Here are some I know of already:

On machines without virtual memory, SCAME can't handle
files that are larger than about 44 kchars, due to the fact
that the current buffer is kept in primary memory.

SCAME can be very slow during some operations, very few
optimizations have been made.

There is a lot of documentation missing. (What did I do with it? :-)

THINGS TO COME

These are some things I think will be needed, and I will try
to make them come true one day.

M-T
M-Y
M-Q
C-M-\
C-X C-O
M-X Set Key
M-X Keep Matching Lines
M-X List Matching Lines
M-X Put Macro on Key
Query in kbd macro
Delete Hacking Tabs

Full recognition on all strings would be nice.

WARNING

If you would like to hack SCAME, be aware that the code is
unstructured and tricky. There are practically no comments.

COPYRIGHT
=========

All files in this distribution are copyrighted.
It is distributed gratis to anybody for non-commercial,
non-military use.

I would appreciate if installations were reported to me so
I know how widely it is being used. Also if you could keep me
posted about changes, bugs, opinions and statistics.
(e.g. how much you are using it).

Leif Samuelsson
Ericsson Information Systems AB
Advanced Workstations Division
S-126 25 STOCKHOLM
SWEDEN

phone: ..46 8 764 00 00

..{decvax, philabs}!mcvax!enea!erix!erisun!leif