[comp.sys.amiga] GnuEmacs 0.8 distribution here.

henning@thor.acc.stolaf.edu (11/02/90)

Hello, 

I have just FTP'ed a copy of my latest release of emacs to the
abcfd20.larc.nasa.gov archive.  Please amke sure the version you get
is labled gnuemacs08.tar.  Any other version should be tossed.

The tar file will be larger than an amigados floppy, so if you are a
non-harddisk amiga, then you should untar the two lharc and one .txt
(text) file on your unix machine before transferring to your home
machine.

Below is a copy of the readme file ( called RelGNU08.txt ) .

-----------------------------------------------------------
Here is a new version of Gnu Emacs for the amiga.  You will note that
it is a bit larger than before, that is because many new features have
been added.

This is an intermediate release.  I have ferreted out most of the true
bugs left in the code and have added features which have been
requested by many, especially our Amiga friends with non usa1 keyboards.

Below are lists that you should read.  Also, there is an explanation
of many of the new features, as well as a step-by-step intro if this
is the first version you pick up.

*********************************
Bugs fixed since last release:
*********************************

1. Fsit_for has been fixed/kludged.  This is the function which is
responsible for things such as holding the opening message for a set
amount of time, unless input ocurrs.  I have it working, temporarily,
however the fix i made is incomplete.  Since I have it waiting for
either a timerport or I/O port signal, it was catching the key-release
signal and jumping out of itself before valid input was done.  The
temporary fix I did was to have it call sleep(1) if Fsit_for's
argument was one second.  This will be fixed, however for now, at
least the parens matching works.

2. Capitalization and lower case oporations function properly.  This
was the fault of MANX 5.0a --- which, BTW I am still using, as any
later releases cause pointer faults that crash or hopelessly garble
the Lisp tables.  This cannot be the code itself because the
pseudo-lisp code is unaltered from the UNIX code except for the memory
allocation routines.  I will be sending the entire source to MANX to
see if they can track their own problems down, as I am not an assembly
person and this is into getting pretty down-and-dirty assembly code problems.

3. If emacs is called from a ``root'' direcory, for instance ram: or
df0:, it would refer to them as ram/ and df0/ which caused no end of
confusion to amigados.  This was my fault, as I was stripping the last
character from my recursive directory tree search string.  it works now.

4.  That annoying new file treated as a read only existing file is
fixed to a point.  My code now functions correctly, however the MANX
library call access() sometimes returns an incorrect value ...
expecially if the file you wish to find is on a different logical
root.  for instance, if I fire up emacs from dh1: and try to read a
file which doesn't exist in dh0:, emacs behaves as it did before I
fixed the bug.  As this is a library call issue, I cannot fix it.
Maby when manx 5.0e comes out?!?

****************
New Features:
****************

1. PAL screens are now supported.  there are several flags parsed in
the emacs comand line.  

	-nocustom	forces emacs to open on the workbench.
	-lace		sets the bottom of window to 400 (or 512)
	-pal		makes the bottom of window to be 256 or 512
	-serial		THIS OPTION IS NOT WORKING YET.  IT IS STILL PARSED
			AND WILL LIKELY CAUSE A SYSTEM CRASH!!!!!!!!
	-keymap		THIS OPTION IS NOT WORKING YET.  IT IS STILL PARSED
			AND WILL LIKELY CAUSE A SYSTEM CRASH!!!!!!!!

2. Non USA1 keymaps are supported.  I have NOT used the standard
decode routine for the following reason:  many codes available from a
standard decode have the high bit set (umlauts and such) and emacs
would interpret these codes as meta keycodes.  To make use of non-usa
keymaps, there is a new function called <meta>x a-load-raw-keymap
which takes a string as an argument.  this string is then converted
into a filename gnu:etc/amiga_keymaps/<string> and the new map is
loaded.  Soon the parser will do that for you with a startup flag, but
I wanted to get this release out. 

One of the reasons I want the release out is that I have neither the
time not the resources to encode the keymaps myself.  I started to do
so, and then tried the amiga keymaps against the standard
documentation and found that commodore's software did not exactly match
the docs.  Therefore, I am asking people who have non-USA1 keyboards
to encode their map and email it to me.

To encode a keymap I have included a very simple program called
makekbd which is an old fassion menu driven, non intuitionized program
that allows you to edit the stock keymap or, to load a custom one in
and edit it.  The program is self documenting, however I will describe
the format of an amiga emacs keymap file:

The first byte is a flag either TRUE or FALSE (1,0) which controls the
behavior of the alt keys.  the flag is called alt_meta_flag.  The
right amiga key is now known as the hard-meta key.  It will or-mask
any decoded key with 128 thus making it a meta value.  If
alt-meta-flag is true, then the alt keys will function the same.
the rest of the file is a set of six tables of $60 characters each.
These values correspond directly to the raw keycodes created when a
key is pressed.  the tables are in order: noqualifier, shift, caplock,
alt, alt-shift, alt-caplock.  These six values will be edited for each
key or for a single key value.  Your amiga documentation should tell
you what the raw key values are.

I have tested out both the makekbd program and the emacs load keymap
and they both function correctly.  The decoder function looks at the
values of its character to see if it is a potential meta-character.
If it is it checks to see if hard-meta or alt(providing alt-meta-flag
is true) are being pressed.  If not, it assumes that the code should
have a cntrl-q prepended to make emacs quote the value into the document.
This creates a bug which I will fix, in that assigning a shifted arrow
key meta-v for instance, will cause a quoted meta-v in the document.
I will fix this.

***************
To be added:
***************

I will be adding the following functions:

1. window resizing options.

2. ability to open on current window.

3. function keys will execute like keyboard macros.  NOTE: don't hi
function keys for now, I am unsure in what state I left that code segment.

4. Serial functions.  This is probably the first priority, as I have a
terminal and would like to use it as my perminant emacs terminal.

5. ablility to open arbitrarily sized windows.

6. Emacs will now display meta characters in the text as octal
numbers.  I will add a check to display these codes with a minor mode
set.  (umlauts and ae ligatures are examples of valid amiga meta-chars.)

7. process control.  (see help me notes below)

****************************
How to set up EMACS
***************************

There are two archives in the distribution.  The lisp and binary
archives.  Be sure that you have matching distribution numbers, as the
lisp files change a bit as well as the binaries.

1. unlharc the lisp files into a new directory and assign the name
gnuemacs: to that directory.  I have kept the distro of lisp files
small enough to fit on a floppy on purpose.  These are the bare bones
files necessary for the editor to function. (even cursor control
functions are lisp calls)

2. unlharc the binaries into a different directory, somewhere in your
search path.

3. copy the files in gnuemacs:s to your s: (termcap and .emacs)

4. set the environment variable TERM to amiga, amigapal, amigalace, or
amigalacepal, whichever is most appropriate to your situation.  This
should be a file in env: called env:TERM containing the string "amiga"
or one of its options.

5. alter your startup-sequence to include the environment setup and the
assign (assuming you have a hard disk, if not be sure the disk that
your lisp files are on is called gnuemacs:

*************************************
Help me Please!
************************************

I need to get some help on the following items:

1. as I don't own arexx as of yet ( waiting for 2.0 upgrade ) I don;t
know how to write an arexx port.  I would like to include one.

2. how does one start a process from C WITHOUT waiting for it to
return or terminating.

Thanks in advance for keymaps, advice and comments.

						-henning

henning@stolaf.edu
henning@stolaf.UUCP
--
---------------------------------------------
All opinions are my own, as are the spellings
any deviation from the norm is just an effect
of my deviance.

davidm@uunet.UU.NET (David S. Masterson) (11/08/90)

First, I have to applaud the effort to convert GnuEmacs to work with the
Amiga.  If this is successful, it could be a real coup for the Amiga.

A few questions:

1.  What version of GnuEmacs will this be compatible with? (18.55)

2.  Will FSF make these changes part of future Emacs releases?

3.  Will it run on stock Amigas?  In how much memory?

--
====================================================================
David Masterson					Consilium, Inc.
(415) 691-6311					640 Clyde Ct.
uunet!cimshop!davidm				Mtn. View, CA  94043
====================================================================
"If someone thinks they know what I said, then I didn't say it!"

sie@fulcrum.bt.co.uk (Simon Raybould) (11/13/90)

I looked on abcdefg... amiga archive site for the gnuemacs for the amiga
and couldn't find it in incoming/amiga. Where is it ?

It takes a long time for me to look in each directory as I only have access
via BITNET.

Thanx

SJR

jkh@bambam.pcs.com (Jordan K. Hubbard) (11/13/90)

I notice that Manx is used for everything, which is great, but I'm
a dedicated Lattice (5.05) user. If anyone manages to make this all work
with Lattice I'd appreciate hearing about it.

				Jordan

aoe@hpfcso.HP.COM (Alexander Elkins) (11/14/90)

/ hpfcso:comp.sys.amiga / sie@fulcrum.bt.co.uk (Simon Raybould) writes:

> I looked on abcdefg... amiga archive site for the gnuemacs for the amiga
> and couldn't find it in incoming/amiga. Where is it ?

If you get /FILES.Z from abdfg20.larc.nasa.gov, you'll find the line:

Fri  01-Nov-90  22:26:48   486912  incoming/amiga/GNU/gnuemacs08.tar

 - Alexander Elkins (aoe@hpfiaoe.fc.hp.com)