[gnu.emacs.bug] Difficulties with Emacs

damerell@NSS.CS.UCL.AC.UK (Dr R M Damerell, RHBNC) (11/23/88)

I am writing to describe some difficulties I had trying to install 
Emacs ( v. 18.50 , on SUN 3/60 with  SUN-OS 3.5). This was from a 
tape bought directly from Free S.F. Mostly, things 
worked, but I think the documents could be improved.  Please may
I suggest the following:

-- BY FAR and away the most serious difficulty is that I cannot 
find any document suitable for first-time users. The manual is far 
too large and no ordinary person wants to read an encyclopaedia. 
The ref cards are aimed at people who already understand Emacs 
pretty well and just want a quick reminder. The nearest thing I
have seen is "essential Emacs" by (I think) L. Merrins, but this
is (1) copyright and (2) MIT site-specific. Please, is there any
similar document in public domain?

-- The version of X windows that came on this tape  (XV10R4) had 
several obvious bugs (by "obvious" I mean that  make  reported a 
fatal error).

-- If you use   build-install  you should edit it to define
BIN   and   EMACS   .  If using      make     edit the    Makefile
to define    BINDIR     LIBDIR     and     MANDIR  .

-- After installing, copy the man pages to a suitable place, if 
this didnt get done already.

-- install generates a file    ..../emacs-18.50.k    where k is
a number that increases each time. I believe that most installers 
will need to delete these to save filespace. 

-- There should be a separate place for the original versions of
Makefile and build-install so if you edit them and get it wrong, 
you can recover the originals.

 -- The instructions for making a toolmerged version of emacstool
(in file   $BUILD/etc/SUN-SUPPORT ) are inaccurate. I have 
altered them; this rewrite is obviously imperfect, but it did actually
work (SUN-OS 3.5, Emacs 18.50). 



Those of you using GNU Emacs on Sun workstations under
3.2 may be interested in reducing memory utilization in
the emacstool via the Sun toolmerge facility.  The technique
is described in the Release 3.2 Manual starting on page
71.  The following is a summary of how it would apply
to merging emacstool into the basetools. I cannot test these
instructions on SUN-OS 4, but I am sure they will need to be 
rewritten. Assuming that you have
got emacs and (non-merged) emacstool to work:


1) Start in the directory $EMACS/etc

Change the main procedure declaration in emacstool.c to:

   #ifdef SUN_TOOLMERGE
   emacstool_main (argc, argv)
   #else
   main (argc, argv)
   #endif

This will allow creation of either standard or toolmerged versions.
Then find the line that says (approximately):

static char *emacs_name = "/usr/local/bin/emacs";	/* default run command */

and alter this if necessary to point to the actual name of the 
executable file of Emacs.  (I cannot see how to do this properly.
It would be cleaner to say   

static char *emacs_name = "$EMACS/emacs"                /* default run command */

but I couldnt get this to work).

2) Copy emacstool.c into directory /usr/src/sun/suntool 

Change to this directory.

3) In this directory, examine Makefile.  Find the line that says:

CPUFLAG= -m68010

and alter if necessary for your target machine.

4) make CFLAGS="-g -DSUN_TOOLMERGE" emacstool.o

5) Add the following line to basetools.h

  "emacstool",emacstool_main,

6) Add the following line to toolmerge.c.

   extern emacstool_main();

7) make basetools MOREOBJS="emacstool.o"

8) make install_base



Probably it would be better to program Makefile to do steps 2,4,7 automatically
if the targets are out-of date (I dont know how). By default, the above construction
makes /usr/bin/emacstool a symbolic link to /usr/bin/suntools.  To use the merged
version, you should either make sure that /usr/bin occurs (in your PATH) before
the directory in which you installed the standard (non-toolmerged) version or 
delete the latter altogether to save filespace.




The easiest way to invoke emacstool is to place suitable data into a .suntools
file and a .rootmenu file in your home directory. The document (for SUN-OS 3.5)
is "Windows & window-based tools" but I expect both s-ware & docs will change in
SUN-OS 4.  Here is one way; maybe there is a better way but I had to find this for
myself:


1)    cp  /usr/lib/.rootmenu  ~

2)    Edit the /.rootmenu  file in your home directory, adding a line like this:

"EMACS"			emacstool - WI ???/emacs.icon  -f emacstool-init

(where  ???  stands for the directory containing  emacs.icon . By default this
is  $EMACS/etc, but I didnt succeed in getting the  $EMACS  to expand properly.
So I had to put in the full pathname explicitly. If you are using the non-merged
emacstool, then you may need to add a pathname to the name 'emacstool' as well.)

3)    Start suntools, pop the root menu. If the "EMACS" line that you added does
not appear, perhaps you need to declare your root menu filename. Start the 
defaults editor and change the filename (in the Sunview category). This does not
take effect until after you exit suntools & restart.

4)    Then edit your initial window layout. I believe the easiest way is: open
a window for each tool you expect to want to see on screen when you start 
Suntools. Close all these, and drag their icons to where you want them. Then 
open each one in turn and adjust its size & position. Close them all again, then
open the ones you want to appear opened at startup time. Repeat until you like
what you see. Finally, in a shell window, type:

		toolplaces > .suntools

 This should save the complete initial configuration in  ~/.suntools. 

5)    Check this file (if it exists). It must have the entry  -f emacstool-init 
at the end of the emacs line. 

6)  Extract the window size and position data (arguments  Wp  and  Ws) and copy them
into your  .rootmenu  file.