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.