[mod.computers.apollo] GNU EMACS

srt@LOCUS.UCLA.EDU.UUCP (05/16/86)

Has anyone done any major hacking with GNU Emacs?  Has anyone tackled
the problem of dumps?  In the version I just brought up (7.49 I think),
the standard terminal type doesn't seem to work - though the vt100 
emulator works fine.  If I just need a better termcap entry for 
apollo_19L, and you have it, could you send it?  Many thanks...

					-- Scott

srt@LOCUS.UCLA.EDU (Scott Turner) (05/21/86)

Seth wrote and asked how to get a version of GNU Emacs hacked for the 
Apollos.  GNU Emacs comes pre-hacked for the Apollos.  The major problem
is that you can't dump a version with the Lisp pre-loaded because of 
Apollo's brain-damaged memory management.  Other than that it seems
to work fine (running in the VT100 emulator).  We haven't used it very 
long, but the only problem we've found is with "suspend-emacs", which
hangs the node.

As to obtaining the code:  It is about 6 Meg in length and contains 
control chars, so it can't be shar-ed or sent out UUCP.  If you have
ARPA access you can ftp it from MIT-PREP (it took me a few days, but it
is doable).  Otherwise you should probably try and get a tape from 
Stallman.  The distribution blurb is appended.

						-- Scott

	GNU Emacs availability information, 22 Nov 1985
	     Copyright (C) 1985 Richard M. Stallman

   Permission is granted to anyone to make or distribute
   verbatim copies of this document provided that the
   copyright notice and this permission notice are preserved.

GNU Emacs is legally owned by me, Richard Stallman, its author,
but I regard myself actually as its custodian on behalf of the
public, since all software ought to be the common property of
mankind.

I permit everyone to have and run copies of GNU Emacs, at no
charge, and to redistribute copies under certain conditions which
are designed to make sure that that all modified versions of GNU
Emacs remain as free as the versions I distribute.  These
conditions are stated in the document "GNU Emacs General Public
License", a copy of which is required to be distributed with
every copy of GNU Emacs.  It is usually in a file named COPYING
in the same directory as this file.

If you do not know anyone to get a copy of GNU Emacs from, you
can order a tape from the Free Software Foundation.  We distribute
Emacs in tar format on 1600bpi industry standard mag tapes.  We
also distributed nicely typeset copies of the Emacs manual.
See the order form at the end of this file.

If you have Internet access, you can copy the latest Emacs
distribution from host PREP.AI.MIT.ARPA.  There are several ways to do
this; see the file `/u2/emacs/GETTING.GNU.SOFTWARE' for info on
current arrangements.

See the file MACHINES in this directory for a list of machines
that GNU Emacs has been tested on.  Emacs has been run on both
Berkeley Unix and System V Unix, on a variety of types of cpu.

Note that there is significant variation between Unix systems
supposedly running the same version of Unix; it is possible that
what works in GNU Emacs for me does not work on your system due
to such an incompatibility.  Since I must avoid reading Unix
source code, I cannot even guess what such problems may exist.

GNU Emacs is distributed with no warranty (see the General Public
License for full details), and neither I nor the Free Software
Foundation promises any kind of support or assistance to users.
The foundation keeps a list of people who are willing to offer
support and assistance for hire.  We will list anyone who pays a
$50 listing fee.

However, I plan to continue to improve GNU Emacs and keep it
reliable, so please send me any complaints and suggestions you
have.  I will probably fix anything that is clearly (to me) a
malfunction.  I may make an improvement if I consider it worth
the effort, but you should not be surprised if I don't think I
can spare time for it.  I hope to keep Emacs stable now, and
avoid putting much time into it, so I can work on other parts of
the GNU system.

If you are on the Internet, report bugs to
bug-gnu-emacs@prep.ai.mit.edu; on Usenet, use the address
...!ucbvax!bug-gnu-emacs%prep.ai.mit.edu.  Otherwise, phone the
foundation at (617) 876-3296, or write to the address listed
below.

If you are a computer manufacturer, I encourage you to ship a
copy of GNU Emacs with every computer you deliver.  The same
copying permission terms apply to computer manufacturers as to
everyone else.

If you like GNU Emacs, please express your satisfaction with a
donation: send me or the Foundation what you feel Emacs has been
worth to you.  If you are glad that I developed GNU Emacs and
distribute it as freeware, rather than following the obstructive
and antisocial practices typical of software developers, reward
me for doing so!

Your donations will help to support the development of more
useful software to be distributed on the same basis as GNU Emacs.
Eventually we will have a complete imitation of the Unix
operating system, called GNU (Gnu's Not Unix), which will run
Unix user programs.  For more information on GNU, see the file
GNU in this directory.


			Richard M Stallman
			Chief GNUisance,
			President of the Free Software Foundation


		Free Software Foundation Order Form
			  March 26, 1986

All software and publications are distributed with permission to
copy and redistribute.

Quantity  Price  Item

________  $150	GNU Emacs source code, on a 1600bpi industry standard
		mag tape in tar format.  The tape also contains
		MIT Scheme (a dialect of Lisp), hack (a rogue-like game)
		and bison (a compatible replacement for yacc).

________  $15	GNU Emacs manual.  This includes a reference card.
		These manuals are phototypeset and offset printed.
		We may have both plastic ring binding and standard
		paperback book binding.

		Do you have a preference? _________________________

		If that's out of stock, do you want to wait? ______

		There may be a choice of two cover designs: the
		"strong" cover (warning: material may be offensive
		to the guilty consciences of software "owners") and
		the "innocuous" cover.

		Do you have a preference? _________________________

		If that's out of stock, do you want to wait? ______

Thus, a tape and one manual come to $165.

________  $60	Box of six GNU Emacs manuals, shipped book rate.

________  $1	GNU Emacs reference card. Or:

________  $5    Ten GNU Emacs reference cards.


Shipping outside North America is normally by surface mail.  For air
mail delivery, please add $15 per tape or manual, $1 for an individual
reference card, or 50 cents per card in quantity ten or more.

Prices are subject to change without notice.  Massachusetts residents
please add 5% sales tax to all prices.


________   Total paid

Orders are filled upon receipt of check or money order.  We do not have
the staff to handle the billing of unpaid orders.  Please help keep
our lives simple by including your payment with your order.

Make checks payable to Free Software Foundation.  Mail orders to:

   Free Software Foundation, Inc.
   1000 Mass Ave
   Cambridge, MA 02138

All software from the Free Software Foundation is provided on an "as
is" basis, with no warranty of any kind.

setha@TEKLDS.TEK.CSNET (--Seth Alford) (05/21/86)

Thanks for the reply.  I do have a source for GNU emacs locally;
I was just wondering if there was something special that had to be
done for putting it on apollos.  Thanks for the information.

--seth

Giebelhaus@HI-MULTICS.ARPA (05/22/86)

Can you give the complete name of the file and site of the GNU emacs for
the Apollo so that I can ftp it here.

rees@apollo.UUCP.UUCP (05/22/86)

    Seth wrote and asked how to get a version of GNU Emacs hacked for the 
    Apollos.  GNU Emacs comes pre-hacked for the Apollos.  The major problem
    is that you can't dump a version with the Lisp pre-loaded because of 
    Apollo's brain-damaged memory management.

Brain-damaged?  That's a serious accusation.

Scott is wrong about this.  It's GNU Emacs's set of assumptions about memory
management that is brain-damaged.  There is nothing wrong with Apollo's
memory management.

In case you have forgotten, Gnu is Not Unix.
-------

Zubkoff@SU-SCORE.ARPA.UUCP (08/01/86)

This note is to announce the availability of modifications to GNU EMACS version
17.63 to support GPR on the APOLLO.  Overall, GNU EMACS with GPR support is
quite nice; there are a few small problems though.  The file APOLLO included
below describes the constraints on use of GNU EMACS.  The GPR modifications are
being sent back to the MIT distribution, but in the meanwhile I expect many of
you would like to start using this immediately.  Therefore, I've left the file
Ps:<Zubkoff.Public>apollo.tar on SU-SCORE.ARPA.  This is a tar format file
containing all the files you will need.  For each modified file, there is both
the original source file (with "-" appended to the name) and the new source
file.  This will assist those not having version 17.63.

I will be leaving Saturday morning for the LISP Conference and AAAI, so if
anyone sends me mail, don't expect a reply for three weeks or so.

Enjoy!

		Leonard


			     GNU EMACS GPR SUPPORT
			      Leonard N. Zubkoff
			      LUCID, Incorporated
				 29 July 1986

This version of GNU EMACS (17.63) includes experimental support for the APOLLO
DOMAIN Graphics Primitives (GPR) instead of using the VT100 server.

In order to use GPR with GNU EMACS, there are certain constraints due to
interactions between the GPR model of I/O and the GNU EMACS model of I/O.
Specifically, GNU EMACS expects to see interrupt driven I/O using the 4.2BSD
UNIX SIGIO signal, and it expects to use the 4.2BSD select system call to wait
for input from multiple sources.  Therefore, the GPR support gets around this
by dividing the GNU EMACS process into two parts: the parent process invoked by
the user handles GPR input events and sends keystroke data down a pipe to a
child process, which processes the user keystrokes and performs display output
using GPR.

This method works imperfectly due to problems with running GPR in two separate
processes operating on the same window:

(1) A GNU EMACS window can neither be moved nor resized once it has been
created.  If such a window is moved or resized, GNU EMACS will continue to
display output in the position the window previously occupied.

(2) The DM cursor and mouse cannot be used for input and output.  Rather, GNU
EMACS explicitly draws and updates its own cursor.

(3) GNU EMACS cannot be suspended with C-Z or C-X C-Z.  Therefore, the low
level SuspendEMACS primitive has been redefined to make the window EMACS is in
invisible.  For this reason, I recommend using key definitions similar to the
following to make using EMACS easier:

    kd F2 CP /bin/start_csh -N Emacs; WC -A; ES 'exec /lucid/gnuemacs/emacs' EN ke
    kd F3 WI Emacs -W; WP Emacs -T ke

This defines the F2 key to create a new EMACS in a window named Emacs and
defines the F3 key to either POP the EMACS window or make it visible, whichever
is necessary.  Running EMACS in a 4.2BSD csh may be necessary for proper
operation; if your SYSTYPE is not set to "bsd4.2", you must change the above
start_csh command from /bin/start_csh to /bsd4.2/bin/start_csh.


While in GNU EMACS several of the APOLLO function keys are translated into
standard EMACS commands rather than DM commands.  These keys and their
EMACS key equivalents are:

    BS			DEL
    DELETE		DEL
    CR			C-M
    TAB			C-I
    SHIFT TAB		C-I
    CONTROL TAB		C-I
    LINE DEL		C-K
    CHAR DEL		C-D
    UP ARROW		C-P
    LEFT ARROW		C-B
    RIGHT ARROW		C-F
    DOWN ARROW		C-N
    SHIFT LEFT ARROW	M-B
    SHIFT RIGHT ARROW	M-F
    LEFT BAR ARROW	C-A
    RIGHT BAR ARROW	C-E
    SHIFT UP ARROW	M-1 M-V
    SHIFT DOWN ARROW	M-1 C-V
    DOWN BOX ARROW	C-V
    UP BOX ARROW	M-V
    MARK		C-@
    COPY		DM Copy Command
    CUT			DM Cut Command
    PASTE		DM Paste Command
    UNDO		C-_
    GROW		(ignored)
    MOVE		(ignored)
    AGAIN		C-@ C-E M-W M-> C-Y (useful in SHELL buffers)
    SAVE		C-X C-S
    RIGHT BOX ARROW	This key functions as a META KEY.  Pressing control
			followed by RIGHT BOX ARROW does not give a C-M-
			command on keyboard 2 however; it seems to work
			correctly on keyboard 3.  Pressing META first and then
			CONTROL does work.
    LEFT BOX ARROW	(ignored)

Note: To use the DM Copy, Cut, and Paste commands, EMACS commands to access DM
paste buffers must be available.  Load lisp/apollo.el for appropriate EMACS
commands.  This file also demonstrates use of the execute-DM-command function.
Thanks to J. W. Peterson from the University of Utah for the DM interface.