[gnu.emacs.bug] Port of GNU Emacs to Prime EXL

HECKER@fed1.prime.com (11/10/88)

NOTE: This is a remailing of an earlier message sent last week.  The original
message was returned to me, presumably unsent.  My assumption is that the
message was in transit when the Internet was disrupted.  If you have already
received the earlier message please disregard this one.

As I previously wrote (to info-gnu-emacs-request), I work for the
Federal sales group of Prime Computer, Inc., and have ported version
18.52 of GNU Emacs to the Prime EXL Series (EXL 316, EXL 320, and EXL
325), which are multi-user supermicro systems based on the Intel
80386 chip and running Prime's implementation of AT&T System V/386,
Release 3.0.

As requested by Len Tower, I have included below the changes and
customizations for the EXL, in shar form.

As a quick summary, only two files needed changes for GNU Emacs to
run on the EXL: etc/etags.c and src/keyboard.c.  The changes are as
follows (sorry, I don't have "diff -c"):

$ diff etc/etags.c-bk etc/etags.c
1555c1555,1556
<	  buffer = (char *) xrealloc (buffer, linebuffer->size *= 2);
---
>	  linebuffer->size *= 2;
>	  buffer = (char *) xrealloc (buffer, linebuffer->size);

$ diff src/keyboard.c-bk src/keyboard.c
1090a1091,1095
> /* Prime EXL returns a different error code when reading a pseudo-tty device
>    associated with a TELNET or rlogin user over the CMC Ethernet board.  */
> #ifdef EXL_READ_PROBLEM
>   if (kbd_count == -1 && (errno == EAGAIN || errno == EBADSLT))
> #else
1091a1097
> #endif /* not EXL_READ_PROBLEM */

A list of the new files (and short descriptions) is in the MANIFEST
file.

For more complete information please see the file README-EXL.

Frank Hecker
Prime Federal Operations
<hecker@fed1.prime.com>

-------
#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 1)."
# Contents:  MANIFEST README-EXL bs-vs-del.el config.h default.el
#   help-alt.el prime-sui.el pt200.el pt250.el
# Wrapped by hecker@fops1 on Tue Nov  1 15:36:46 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'MANIFEST' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'MANIFEST'\"
else
echo shar: Extracting \"'MANIFEST'\" \(596 characters\)
sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
X   File Name		Archive #	Description
X-----------------------------------------------------------
X MANIFEST                   1	
X README-EXL                 1	GNU Emacs release notes for Prime EXL
X bs-vs-del.el               1	bind backspace like DEL
X config.h                   1	config.h for Prime EXL
X default.el                 1	customized startup for Prime EXL
X help-alt.el                1	use C-_ for help instead of C-h
X prime-sui.el               1	Prime EMACS SUI-like routines
X pt200.el                   1	bindings for Prime PT200 terminal
X pt250.el                   1	same for PT250
END_OF_FILE
if test 596 -ne `wc -c <'MANIFEST'`; then
    echo shar: \"'MANIFEST'\" unpacked with wrong size!
fi
# end of 'MANIFEST'
fi
if test -f 'README-EXL' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'README-EXL'\"
else
echo shar: Extracting \"'README-EXL'\" \(15849 characters\)
sed "s/^X//" >'README-EXL' <<'END_OF_FILE'
X			      GNU Emacs
X		    Version 18.52.2 for Prime EXL
X		    Installation and Release Notes
X
X			     Frank Hecker
X			 Prime Computer, Inc.
X
X			   October 31, 1988
X
X
XIntroduction
X
XThis directory contains version 18.52 of the GNU Emacs editor ported
Xto the Prime EXL Series of 80386-based UNIX supermicro systems.
X(Version 18.52 is the latest released version of GNU Emacs as of the
Xdate of writing; minor version 18.52.2 is the second release of the EXL
Xport.)  It includes pre-loaded executables and run-time files for the
XPrime EXL as well as all files in the original GNU Emacs distribution,
Xincluding full source code.  It also includes some customizations for
XPrime terminals.
X
XGNU Emacs is an up-to-date version for UNIX-like systems of the Emacs
Xeditor originally invented by Richard M. Stallman at MIT for use on
Xthe DEC PDP-10.  GNU Emacs was developed by Stallman and others and is
Xcurrently maintained and distributed by the Free Software Foundation
Xcreated by Stallman.
X
XCommercially available Emacs editors, such as Prime EMACS for the
XPrime 50 Series under PRIMOS, CCA Emacs from Uniworks, and UniPress
XEmacs from UniPress Software are derived indirectly from Stallman's
Xoriginal Emacs or later versions or imitations thereof.  GNU Emacs
Xdiffers from commercial versions of Emacs in that it is available at
Xno cost and with full source code, but without any warranty or support
Xwhatsoever.
X
XGNU Emacs also has numerous technical and functional differences from
Xcommercially available Emacs editors.  For more information on the
Xdifferences between GNU Emacs and CCA Emacs and UniPress Emacs please
Xsee the files CCADIFF and GOSDIFF respectively in the subdirectory
Xetc, but note that the information therein may be somewhat out of
Xdate.  Unfortunately time does not permit my including a detailed
Xcomparison between GNU Emacs and Prime EMACS.
X
XFor more information about the Free Software Foundation and the
Xpolicies under which GNU Emacs can be freely copied and distributed,
Xplease see the files COPYING, DISTRIB, and GNU in the subdirectory
Xetc, as well as various other files in that directory.
X
XFor further information on the files and directories in the standard
XGNU Emacs distribution please see the file README.
X
XFor more information on the changes between version 18.52.1 and
X18.52.2 for the Prime EXL, please see below.
X
X
XInstallation
X
XThis version of GNU Emacs requires a Prime EXL Series system (EXL 316,
XEXL 320, or EXL 325) with the Development Tool Kit installed.  The
Xexecutables were built using version 3 of Prime's implementation of
XAT&T System V/386, Release 3.0; they may need to be rebuilt for
Xearlier or later versions of the EXL operating system.
X
XTo install GNU Emacs and its supporting utilities on the Prime EXL
Xplease do the following steps:
X
XFirst, load the tape:
X
X	# cd /usr/local/src		(or some other suitable directory)
X	# cpio -icvdumB </dev/rct/c0d5
X
XSecond, if necessary create the additional directories required for
Xthe installation:
X
X	# mkdir -p /usr/local/bin	(if not already present)
X	# mkdir -p /usr/man/man1	(if not already present)
X
XFinally, install the run-time files for GNU Emacs:
X
X	# cd emacs
X	# make install.sysv
X
XGNU Emacs can then be invoked using the command "emacs", provided that
Xthe directory /usr/local/bin is present in your PATH variable.  To
Xedit the file abc give the command "emacs abc".
X
X
XInstallation Notes
X
XInstallation of EMACS requires about 50,000 free disk blocks; 34,000
Xare required to load the tape, and about 16,000 additional are used
Xduring installation and thereafter.
X
XThe directory in which you initially load GNU Emacs is totally
Xarbitrary; the directory /usr/local/src in the example was chosen
Xbecause it conforms to a convention used by many Unix systems.  After
Xinstalling GNU Emacs you may delete the original installation
Xdirectory (/usr/local/src/emacs in the example above) if you wish to
Xrecover the disk space (34,000 blocks, as described above).
X
XThe command "make" by itself attempts to rebuild GNU Emacs from
Xsource, which is probably not what you want unless you are modifying
Xsomething and know what you are doing.  Note that if you do wish to
Xrebuild GNU Emacs you must retain the original installation directory.
X
XThe install code assumes that executables are to be copied to the
Xdirectory /usr/local/bin, that the GNU Emacs run-time files are to
Xreside in the directory /usr/local/emacs, and that man pages (*.1) are
Xto be copied to the directory /usr/man/man1.  (Of course the current
Xabsence of the man command on the EXL makes this last action an
Xexercise in futility!)
X
XThe directory /usr/local/emacs is created by the install code (which
Xdoes assume that the directory /usr/local is already present), but as
Xmentioned above you must create the directories /usr/local/bin and
X/usr/man/man1 if they are not already present.  The "-p" option to
Xmkdir simplifies creation of the directories by also creating the
Xnecessary parent directories (/usr/local and /usr/man) if they do not
Xexist.
X
XIf you do not wish the executables to reside in /usr/local/bin, you
Xmust modify the file Makefile to change the variable BINDIR before
Xdoing the installation.  Similarly, if you do not wish the man pages
Xto reside in /usr/man/man1, you must change the variable MANDIR in
XMakefile.  You then must create the appropriate directories.
X
XMoving the run-time directory from /usr/local/emacs to another
Xdirectory requires rebuilding GNU Emacs from source.  Please see the
Xfile INSTALL for more details on how to do this.
X
XThe executable files copied to /usr/local/bin are emacs, etags, ctags,
Xand loadst.  You must modify Makefile if these names conflict with
Xexisting commands.
X
XIf you wish to reinstall GNU Emacs after a successful installation,
Xyou must first remove or rename the previous emacs command (normally
X/usr/local/bin/emacs).  Otherwise the cpset command to copy the new
Xemacs command will fail and the old command will not be replaced.
X
XAs noted above, the run-time executables and other files for GNU Emacs
Xamount to about 16,000 disk blocks.
X
X
XChanges for the Prime EXL (standard GNU Emacs)
X
XThe standard distribution of GNU Emacs allows versions to be built for
Xa wide variety of machines and UNIX-based operating systems (as well
Xas VAX/VMS) by creating a configuration file src/config.h that
Xreferences include files src/m-*.h and src/s-*.h for the particular
Xmachine and operating system in question.
X
XThe Prime EXL version of config.h references the include files
Xm-intel386.h (for systems based on the Intel 80386) and s-usg5-3.h
X(for systems running AT&T System V, Release 3).  It also defines an
XEXL-specific parameter connected with the bug fix described below.
X
XThe first source change required for the Prime EXL is in the program
Xetc/etags.c (a GNU Emacs utility):
X
X	$ diff etc/etags.c-bk etc/etags.c
X	1555c1555,1556
X	<	  buffer = (char *) xrealloc (buffer, linebuffer->size *= 2);
X	---
X	>	  linebuffer->size *= 2;
X	>	  buffer = (char *) xrealloc (buffer, linebuffer->size);
X
XThis change bypasses an apparent problem in the standard AT&T C
Xcompiler (cc), which produced the error
X
X	"etags.c", line 1555: compiler error: allocation fails, op STAR
X
Xin compiling the original line.
X
XThe second source change required for the Prime EXL is in the program
Xsrc/keyboard.c (keyboard input for GNU Emacs):
X
X	$ diff src/keyboard.c-bk src/keyboard.c
X	1090a1091,1095
X	> /* Prime EXL returns a different error code when reading a pseudo-tty device
X	>    associated with a TELNET or rlogin user over the CMC Ethernet board.  */
X	> #ifdef EXL_READ_PROBLEM
X	>   if (kbd_count == -1 && (errno == EAGAIN || errno == EBADSLT))
X	> #else
X	1091a1097
X	> #endif /* not EXL_READ_PROBLEM */
X
XThis change fixes a bug in which GNU Emacs would abort and dump core
Xif invoked by a user logged into the EXL through TELNET or rlogin over
XTCP/IP on the CMC Ethernet board.  For more information please see the
Xfile src/config.h.
X
X
XChanges for the Prime EXL (Prime-specific customizations)
X
XIn addition to the standard facilities, the Prime EXL version of GNU
XEmacs includes some optional Prime-specific customizations, the intent
Xof which is to make GNU Emacs easier to use for those accustomed to
XPrime EMACS on the Prime 50 Series under PRIMOS, while at the same
Xtime maintaining the integrity of GNU Emacs itself.
X
XFirst, standard GNU Emacs uses the DEL or RUBOUT key (octal 177) for
Xerasing characters while using the backspace key (control-H or octal
X010) for the help function.  This decision is defensible (see the file
XINSTALL) but unfortunately causes severe problems for users used to
Xthe backspace key.  The problem is particularly acute for users of
XPrime PT200 or PT250 terminals since those terminals do not have a
Xseparate DEL key.  (However the DEL code can be produced on the PT200
Xand PT250 by the key sequence control-backspace.)
X
XTherefore the Prime EXL version as shipped defines the backspace key
Xas an alternative to the DEL key; the DEL key can still be used if you
Xdesire.	 Since this redefinition prevents using control-H as a help
Xkey, help functions are moved to the control-underscore key (octal
X037).  This in turn prevents using control-underscore for the undo
Xfunction as in standard GNU Emacs, but the alternate undo sequence
Xcontrol-X U is defined in the standard version and is still available.
X
XThis first customization is active for all users of GNU Emacs on the
XPrime EXL unless disabled as explained below.
X
XThe second customization provides a set of key bindings for the Prime
XPT200 and PT250 terminals that somewhat emulates the PT200 Standard
XUser Interface (SUI) found in Prime EMACS under PRIMOS on the Prime 50
XSeries.	 This allows PT200 and PT250 users to use the Prime EMACS
Xtemplate and see similar functions on the various keys.	 Note that no
Xattempt is made to provide a complete SUI or Prime EMACS emulation.
X
XThis second customization is active for all users of GNU Emacs on the
XPrime EXL who have their TERM variable set to "pt200", "pt250", or any
Xstandard variant thereof (such as "pt200-132"), unless disabled as
Xexplained below.
X
XThe customization code for these changes is located in new GNU Emacs
XLisp files in the subdirectory lisp and its subdirectory term; no
Xexisting C routines or Lisp files were modified.  The new files are:
X
X	default.el, default.elc
X		initialization file for Prime EXL version of GNU Emacs
X
X	bs-vs-del.el, bs-vs-del.elc
X		allows the use of backspace instead of DEL
X
X	help-alt.el, help-alt.elc		
X		allows help using control-underscore instead of control-H
X
X	prime-sui.el, prime-sui.elc		
X		functions and variables for SUI commands
X
X	term/pt200.el, term/pt200.elc
X	term/pt250.el
X		SUI keybindings for PT200 and PT250
X
XThe *.elc files are compiled versions of the *.el files, produced
Xusing the byte-compile-file command in GNU Emacs.  (The *.el and *.elc
Xfiles are analogous to the @@.EM and @@.EFASL files in Prime EMACS,
Xwhile the byte-compile-file command is analogous to the Prime EMACS
Xcommand dump_file.  As in Prime EMACS, if you load a Lisp file abc
Xwithout a suffix specified, then abc.elc will be loaded rather than
Xabc.el if both are present.)
X
XFor more information on these customizations please see the files
Xthemselves.  In particular, the comments in default.el and pt200.el
Xexplain how to disable the customizations either for an entire system
Xor for an individual user.
X
X
XChanges from version 18.52.1 to 18.52.2 on the Prime EXL
X
XFixed the problem that caused GNU Emacs to abort when invoked by a
Xuser logged into the EXL through TELNET or rlogin over the CMC
XEthernet board.
X
XChanged help-alt.el to elicit the prompt "(Type ? for further
Xoptions)" when the alternate help key (control-underscore) is pressed.
X
XChanged pt250.el to simply invoke pt200.el, rather than having both
Xnames linked to the same file.
X
XRevised comments in all Prime-specific *.el files.
X
XRenamed the files etc/emacs.man and etc/emacstool.man to etc/emacs.txt
Xand etc/emacstool.txt respectively.
X
XRevised the README-EXL file.
X
X
XDocumentation and Manuals
X
XThe file emacs.txt in the subdirectory etc is a formatted version of
Xthe man page emacs.1 suitable for viewing on-line or printing on a
Xline printer.  The man page includes a complete description of the
Xcommand line options for GNU Emacs.
X
XThe complete GNU Emacs documentation set is available for viewing
Xon-line with the help subcommand control-underscore I (control-H I in
Xstandard GNU Emacs); more specialized help is also available.  See the
Xinitial GNU Emacs screen for more details, or press control-underscore
Xtwice (control-H twice in standard GNU Emacs).
X
XThe documentation is also available in machine-readable form for
Xformatting with the TeX document processing system; see the file
Xman/README for more information.  For those with QMS LaserGrafix
Xprinters the subdirectory man also contains the file emacs.qms, a TeX
Xoutput file suitable for spooling.
X
XPrinted and bound copies of the GNU Emacs manual may be obtained from
Xthe Free Software Foundation; see the file etc/DISTRIB for more
Xinformation.
X
X
XRemaining Problems and Issues
X
XThe actions invoked by the backspace key are not always equivalent to
Xthose invoked by the DEL key, since many GNU Emacs subsystems redefine
Xthe DEL key "on the fly" for their own purposes.  (These subsystems
Xare those that are "autoloaded" and are not present when GNU Emacs is
Xinitially invoked.)  However the backspace key by itself should
Xnormally do something reasonable (like deleting the previous
Xcharacter, if that is possible).
X
XMulti-key sequences ending with backspace (such as escape backspace)
Xmay not elicit the expected action (such as deleting the previous
Xword) in some modes.  A good example is C mode, which uses escape
Xbackspace to invoke the command mark-c-function.
X
XScreen redisplay is occasionally slow on the PT200 and PT250, probably
Xdue to known problems in creating effective and efficient terminfo
Xdescriptions for these terminals.  This problem may be resolvable by
Xadding timing and delay information to the terminfo description so
Xthat GNU Emacs will be able to choose the most efficient means of
Xmanipulating the screen.
X
XVery occasionally the screen will get garbled on the PT200 and PT250;
Xagain, this is probably due to terminfo description problems.  Use the
Xcommand control-L to redisplay the screen correctly.
X
XSome of the GNU Emacs commands executed by the PT200 and PT250 SUI
Xkeys do not behave exactly the same in all circumstances as their
Xequivalents in Prime EMACS.  Read the documentation, and be prepared
Xto learn the GNU Emacs way of doing things.
X
XThere does not appear to be any GNU Emacs equivalent to the reexecute
Xcommand (control-C) available in Prime EMACS which reexecutes the
Xprior command (including non-extended commands).
X
XMany GNU Emacs subsystems such as news, mail, X Window interface,
Xetc., have not yet been implemented on the EXL since the underlying
Xsoftware is not yet available.
X
XThe GNU Debugger (gdb) has not been ported to the EXL.
X
X
XProblem Reporting and Further Information
X
XThis Prime EXL port of GNU Emacs version 18.52 was done by Frank
XHecker of Prime Federal Operations.  Please direct any problems or
Xquestions to the following address(es):
X
X	U.S. mail:	Frank Hecker
X			Prime Computer, Inc.
X			1375 Piccard Dr.
X			Rockville MD  20850
X
X	Phone:		(301) 948-7010 ext. 308
X
X	E-mail:		hecker@fed1.prime.com
X
XHowever, please note that I am distributing GNU Emacs solely as a
X"labor of love" and as a service to the users of Prime EXL systems.
XThe Prime EXL version of GNU Emacs (including Prime-specific
Xcustomizations) is not an official Prime product and is not supported
Xor warrantied in any way whatsoever by myself, Prime Computer, Inc.,
Xor the Free Software Foundation.  It is made available to third
Xparties under the terms of the GNU Emacs general public license; see
Xthe file etc/COPYING for more details.
END_OF_FILE
if test 15849 -ne `wc -c <'README-EXL'`; then
    echo shar: \"'README-EXL'\" unpacked with wrong size!
fi
# end of 'README-EXL'
fi
if test -f 'bs-vs-del.el' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'bs-vs-del.el'\"
else
echo shar: Extracting \"'bs-vs-del.el'\" \(1101 characters\)
sed "s/^X//" >'bs-vs-del.el' <<'END_OF_FILE'
X;; Use backspace (C-h) in place of DEL.
X;; Author: Frank Hecker, Prime Computer <hecker@fed1.prime.com>, 19 Oct 1988
X
X;; We define backspace (C-h) to be bound to the same commands as
X;; DEL is bound to.  Note that we do not destroy any extant keybindings
X;; for DEL, so users who are accustomed to using it will still be
X;; able to.
X
X
X;; The following keymaps are the most important.
X
X(define-key global-map "\C-h" 'delete-backward-char)
X(define-key ctl-x-map "\C-h" 'backward-kill-sentence)
X(define-key esc-map "\C-h" 'backward-kill-word)
X
X
X;; The following keymaps are also pre-loaded and guaranteed to be present.
X
X(define-key c-mode-map "\C-h" 'backward-delete-char-untabify)
X(define-key lisp-mode-map "\C-h" 'backward-delete-char-untabify)
X(define-key Buffer-menu-mode-map "\C-h" 'Buffer-menu-backup-unmark)
X
X
X;; Keymaps for modes defined by autoloaded files are not yet present
X;; and we do not attempt to change them in this file.
X;;
X;; Backspace may be rebound for those modes either by modifying the modes
X;; themselves or by using "-hook" files to do keybindings upon entry to
X;; the modes.
END_OF_FILE
if test 1101 -ne `wc -c <'bs-vs-del.el'`; then
    echo shar: \"'bs-vs-del.el'\" unpacked with wrong size!
fi
# end of 'bs-vs-del.el'
fi
if test -f 'config.h' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'config.h'\"
else
echo shar: Extracting \"'config.h'\" \(4263 characters\)
sed "s/^X//" >'config.h' <<'END_OF_FILE'
X/* GNU Emacs site configuration file for Prime EXL Series.
X   Copyright (C) 1988 Free Software Foundation, Inc.
X
XThis file is part of GNU Emacs.
X
XGNU Emacs is distributed in the hope that it will be useful,
Xbut WITHOUT ANY WARRANTY.  No author or distributor
Xaccepts responsibility to anyone for the consequences of using it
Xor for whether it serves any particular purpose or works at all,
Xunless he says so in writing.  Refer to the GNU Emacs General Public
XLicense for full details.
X
XEveryone is granted permission to copy, modify and redistribute
XGNU Emacs, but only under the conditions described in the
XGNU Emacs General Public License.   A copy of this license is
Xsupposed to have been given to you along with GNU Emacs so you
Xcan know your rights and responsibilities.  It should be in a
Xfile named COPYING.  Among other things, the copyright notice
Xand this notice must be preserved on all copies.  */
X
X
X
X/* Include here a s- file that describes the system type you are using.
X   See the file ../etc/MACHINES for a list of systems and
X   the names of the s- files to use for them.
X   See s-template.h for documentation on writing s- files.  */
X#include "s-usg5-3.h"
X
X/* Include here a m- file that describes the machine and system you use.
X   See the file ../etc/MACHINES for a list of machines and
X   the names of the m- files to use for them.
X   See m-template.h for info on what m- files should define.
X   */
X#include "m-intel386.h"
X
X/* Load in the conversion definitions if this system
X   needs them and the source file being compiled has not
X   said to inhibit this.  There should be no need for you
X   to alter these lines.  */
X
X#ifdef SHORTNAMES
X#ifndef NO_SHORTNAMES
X#include "../shortnames/remap.h"
X#endif /* not NO_SHORTNAMES */
X#endif /* SHORTNAMES */
X
X/* Define HAVE_X_WINDOWS if you want to use the X window system.  */
X
X/* #define HAVE_X_WINDOWS */
X
X/* Define X11 if you want to use version 11 of X windows.
X   Otherwise, Emacs expects to use version 10.  */
X
X/* #define X11 */
X
X/* Define HAVE_X_MENU if you want to use the X window menu system.
X   This appears to work on some machines that support X
X   and not on others.  */
X
X/* #define HAVE_X_MENU */
X
X/* Define `subprocesses' should be defined if you want to
X   have code for asynchronous subprocesses
X   (as used in M-x compile and M-x shell).
X   These do not work for some USG systems yet;
X   for the ones where they work, the s-*.h file defines this flag.  */
X
X#ifndef VMS
X#ifndef USG
X#define subprocesses
X#endif
X#endif
X
X/* Define USER_FULL_NAME to return a string
X   that is the user's full name.
X   It can assume that the variable `pw'
X   points to the password file entry for this user.
X
X   At some sites, the pw_gecos field contains
X   the user's full name.  If neither this nor any other
X   field contains the right thing, use pw_name,
X   giving the user's login name, since that is better than nothing.  */
X
X#define USER_FULL_NAME pw->pw_gecos
X
X/* Define AMPERSAND_FULL_NAME if you use the convention
X   that & in the full name stands for the login id.  */
X
X/* #define AMPERSAND_FULL_NAME */
X
X/* Maximum screen width we handle. */
X
X#define MScreenWidth 300
X
X/* Maximum screen length we handle. */
X
X#define MScreenLength 300
X
X/* # bytes of pure Lisp code to leave space for.
X   Note that s-vms.h and m-sun2.h may override this default.  */
X
X#ifndef PURESIZE
X#ifdef HAVE_X_WINDOWS
X#define PURESIZE 122000
X#else
X#define PURESIZE 118000
X#endif
X#endif
X
X/* Define HIGHPRI as a negative number
X   if you want Emacs to run at a higher than normal priority.
X   For this to take effect, you must install Emacs with setuid root.
X   Emacs will change back to the users's own uid after setting
X   its priority.  */
X
X/* #define HIGHPRI */
X
X/* Version 3 of the Prime EXL operating system (based on System V.3.0)
X   has a problem when reading from a pseudo-tty device associated with
X   a user logging in to the EXL using TELNET or rlogin over TCP/IP and
X   the CMC Ethernet board.
X
X   The read(2) system call does _not_ return EAGAIN if the O_NDELAY flag
X   is set and there is no data available to be read; instead it returns
X   EBADLST ("invalid slot").  The following flag alerts the routine
X   read_avail_input (in keyboard.c) to handle this case correctly.  */
X
X#define EXL_READ_PROBLEM
END_OF_FILE
if test 4263 -ne `wc -c <'config.h'`; then
    echo shar: \"'config.h'\" unpacked with wrong size!
fi
# end of 'config.h'
fi
if test -f 'default.el' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'default.el'\"
else
echo shar: Extracting \"'default.el'\" \(1644 characters\)
sed "s/^X//" >'default.el' <<'END_OF_FILE'
X;; GNU Emacs default initialization file for Prime EXL.
X;; Author: Frank Hecker, Prime Computer <hecker@fed1.prime.com>, 19 Oct 1988
X
X;; This file (or its byte-compiled version default.elc) is executed for
X;; each GNU Emacs user *after* the user's personal initialization file
X;; (.emacs) and *before* any terminal-specific initialization file
X;; (such as pt200.el).	(If default.elc is present then it is loaded
X;; rather than default.el.)
X;;
X;; The customizations produced by this file can be removed for a
X;; entire system by
X;;
X;;	- deleting or renaming default.el and default.elc; or
X;;
X;;	- modifying this file to delete or comment out the lines,
X;;	  then doing byte-compile-file to produce a new default.elc.
X;;
X;; Individual GNU Emacs users can also turn them off by including the
X;; following statement in their GNU Emacs profile file (.emacs):
X;;
X;;	(setq inhibit-default-init t)
X;;
X;; This prevents the loading of default.elc or default.el for that user.
X
X
X;; Load the Prime EXL customization files.
X
X(load "help-alt")			; use C-_ instead of C-h
X(load "bs-vs-del")			; use C-h instead of DEL
X
X
X;; Site administrators may also wish to enable some of the following
X;; commands, which change GNU Emacs defaults to more closely resemble
X;; those of Prime EMACS.
X;;
X;; Alternatively, users may include the commands in their personal GNU
X;; Emacs initialization file (.emacs).
X
X;(put 'eval-expression 'disabled nil)	; Allow ESC-ESC for Lisp access
X;(setq-default case-fold-search nil)	; Respect case in search/replace
X
X
X;; Identify the presence of a customized version of GNU Emacs.
X
X(message "Prime EXL customized version of GNU Emacs")
END_OF_FILE
if test 1644 -ne `wc -c <'default.el'`; then
    echo shar: \"'default.el'\" unpacked with wrong size!
fi
# end of 'default.el'
fi
if test -f 'help-alt.el' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'help-alt.el'\"
else
echo shar: Extracting \"'help-alt.el'\" \(4855 characters\)
sed "s/^X//" >'help-alt.el' <<'END_OF_FILE'
X;; Alternate help commands for Emacs, substituting C-_ for C-h
X;; Author: Frank Hecker, Prime Computer <hecker@fed1.prime.com>, 19 Oct 1988
X;; Derived from existing GNU Emacs file help.el.
X
X;; Copyright (C) 1985, 1986 Free Software Foundation, Inc.
X
X;; This file is part of GNU Emacs.
X
X;; GNU Emacs is distributed in the hope that it will be useful,
X;; but WITHOUT ANY WARRANTY.  No author or distributor
X;; accepts responsibility to anyone for the consequences of using it
X;; or for whether it serves any particular purpose or works at all,
X;; unless he says so in writing.  Refer to the GNU Emacs General Public
X;; License for full details.
X
X;; Everyone is granted permission to copy, modify and redistribute
X;; GNU Emacs, but only under the conditions described in the
X;; GNU Emacs General Public License.   A copy of this license is
X;; supposed to have been given to you along with GNU Emacs so you
X;; can know your rights and responsibilities.  It should be in a
X;; file named COPYING.  Among other things, the copyright notice
X;; and this notice must be preserved on all copies.
X
X
X;; We first remove the standard binding of C-_ to the undo command.
X;; (The binding of C-x u to undo still exists and may be used instead.)
X
X(global-unset-key "\C-_")
X
X
X;; We then remove the standard global binding of C-h to help.  (C-h is
X;; rebound in bs-vs-del.el).
X
X(global-unset-key "\C-h")
X
X
X;; Turn C-_ into the help character, so that we will get the prompt
X;; "Type ? for further options" (see EchoThem() in src/keyboard.el).
X;; This also enables optional evaluation of a user-defined help-form
X;; (see get_char() in src/keyboard.el).
X
X;; Note that we use the decimal value of C-_ since the value cell of
X;; help-char is of the type Lisp_Intfwd, defined as a forwarding pointer
X;; to a C int variable; this variable's value is referenced in EchoThem().
X;; Setq'ing help-char to a non-numeric value destroys this arrangement.
X
X(setq help-char 31)
X
X
X;; Bind C-_ to help-command (which has help-map as its function value).
X
X(define-key global-map "\C-_" 'help-command)
X
X
X;; Within help-map, bind C-_ (as well as ?) to help-for-help-alt, an
X;; alternate version of help-for-help.  At the same time remove the
X;; binding of C-h to help-for-help in order to prevent confusion.
X
X(define-key help-map "\C-_" 'help-for-help-alt)
X(define-key help-map "?" 'help-for-help-alt)
X
X(define-key help-map "\C-h" 'undefined)
X
X
X;; We must define an alternate version of help-for-help since it
X;; includes the representation of the help character in its
X;; documentation string (printed as a prompt), as well as looking
X;; for the help character itself instead of relying on keymaps.
X
X(defun help-for-help-alt ()
X  "You have typed C-_, the help character.  Type a Help option:
X
XA  command-apropos.   Give a substring, and see a list of commands
X	      (functions interactively callable) that contain
X	      that substring.  See also the  apropos  command.
XB  describe-bindings.  Display table of all key bindings.
XC  describe-key-briefly.  Type a command key sequence;
X	      it prints the function name that sequence runs.
XF  describe-function.  Type a function name and get documentation of it.
XI  info. The  info  documentation reader.
XK  describe-key.  Type a command key sequence;
X	      it displays the full documentation.
XL  view-lossage.  Shows last 100 characters you typed.
XM  describe-mode.  Print documentation of current major mode,
X	      which describes the commands peculiar to it.
XN  view-emacs-news.  Shows emacs news file.
XS  describe-syntax.  Display contents of syntax table, plus explanations
XT  help-with-tutorial.	Select the Emacs learn-by-doing tutorial.
XV  describe-variable.  Type name of a variable;
X	      it displays the variable's documentation and value.
XW  where-is.  Type command name; it prints which keystrokes
X	      invoke that command.
XC-c print Emacs copying permission (General Public License).
XC-d print Emacs ordering information.
XC-n print news of recent Emacs changes.
XC-w print information on absence of warranty for GNU Emacs."
X  (interactive)
X  (message
X "A B C F I K L M N S T V W C-c C-d C-n C-w.  Type C-_ again for more help: ")
X  (let ((char (read-char)))
X    (if (or (= char ?\C-_) (= char ??))
X	(save-window-excursion
X	  (switch-to-buffer "*Help*")
X	  (erase-buffer)
X	  (insert (documentation 'help-for-help-alt))
X	  (goto-char (point-min))
X	  (while (memq char '(?\C-_ ?? ?\C-v ?\ ?\177 ?\M-v))
X	    (if (memq char '(?\C-v ?\ ))
X		(scroll-up))
X	    (if (memq char '(?\177 ?\M-v))
X		(scroll-down))
X	    (message "A B C F I K L M N S T V W C-c C-d C-n C-w%s: "
X		     (if (pos-visible-in-window-p (point-max))
X			 "" " or Space to scroll"))
X	    (let ((cursor-in-echo-area t))
X	      (setq char (read-char))))))
X    (let ((defn (cdr (assq (downcase char) (cdr help-map)))))
X      (if defn (call-interactively defn) (ding)))))
END_OF_FILE
if test 4855 -ne `wc -c <'help-alt.el'`; then
    echo shar: \"'help-alt.el'\" unpacked with wrong size!
fi
# end of 'help-alt.el'
fi
if test -f 'prime-sui.el' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'prime-sui.el'\"
else
echo shar: Extracting \"'prime-sui.el'\" \(2408 characters\)
sed "s/^X//" >'prime-sui.el' <<'END_OF_FILE'
X;; Provide minimal emulation of Prime EMACS SUI.
X;; Author: Frank Hecker, Prime Computer <hecker@fed1.prime.com>, 19 Oct 1988
X
X;; This is a attempt to provide an environment somewhat similar to the
X;; Prime EMACS Standard User Interface for the PST100/PT200/PT250, by
X;; defining SUI functions where existing GNU Emacs functions are not present.
X;;
X;; Any functions and variables should be prefixed with "sui-".
X
X
X;; Function to delete one or more lines.
X
X(defun sui-delete-line (&optional arg)
X  "Delete the current line, including the newline.
XWith prefix argument, delete that many lines from point.
XNegative arguments delete lines backward.
X
XWhen calling from a program, nil means \"no arg\",
Xa number counts as a prefix arg."
X  (interactive "*P")
X  (beginning-of-line)
X  (if (null arg)
X      (kill-line 1)
X    (kill-line arg)))
X
X
X;; Function to toggle back and forth between one and two windows.
X
X(defun sui-window-toggle ()
X  "If one window exists, make two and go to the new one.
XIf two or more windows exist, eliminate all but the current one."
X  (interactive)
X  (if (not (one-window-p))
X      (delete-other-windows)
X    (progn
X      (split-window-vertically)
X      (other-window 1))))
X
X
X;; Functions to do searching using remembered string.
X
X(defvar sui-search-last-string ""
X  "Last string searched for by an SUI search command.\n\
XIt is used by default if the user enters a null search string\n\
Xfor sui-search-forward or sui-search-backward.")
X
X(defun sui-search-forward (string)
X  "Search forward from point to end of buffer for STRING.\n\
XSet point to the end of the occurrence found, and return t.\n\
XIf STRING is null then search for the last remembered search string."
X  (interactive "sSearch: ")
X  (if (or (null string) (string= string ""))
X      (setq string sui-search-last-string)
X    (setq sui-search-last-string string))
X  (search-forward string))
X
X(defun sui-search-backward (string)
X  "Search backward from point to beginning of buffer for STRING.\n\
XSet point to the beginning of the occurrence found, and return t.\n\
XIf STRING is null then search for the last remembered search string."
X  (interactive "sSearch backward: ")
X  (if (or (null string) (string= string ""))
X      (setq string sui-search-last-string)
X    (setq sui-search-last-string string))
X  (search-backward string))
X
X
X;; Tell those who need it (e.g., pt200.el) that the Prime SUI is defined.
X
X(provide 'prime-sui)
END_OF_FILE
if test 2408 -ne `wc -c <'prime-sui.el'`; then
    echo shar: \"'prime-sui.el'\" unpacked with wrong size!
fi
# end of 'prime-sui.el'
fi
if test -f 'pt200.el' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'pt200.el'\"
else
echo shar: Extracting \"'pt200.el'\" \(13130 characters\)
sed "s/^X//" >'pt200.el' <<'END_OF_FILE'
X;; Map Prime PT200 function key escape sequences.
X;; Author: Frank Hecker, Prime Computer <hecker@fed1.prime.com>, 19 Oct 1988
X
X;; This file contains keybindings for the Prime PT200 and PT250
X;; terminals, as well as some additional information which may be
X;; of use to users of GNU Emacs on those terminals.
X;;
X;; The intent of these keybindings is to allow people with Prime
X;; EMACS Standard User Interface templates for the PT200/PT250 to
X;; use the keys defined on those templates in GNU Emacs.
X;;
X;; This file (or its byte-compiled version pt200.elc) is loaded by
X;; default for all users of GNU Emacs on the Prime EXL who have their
X;; TERM variable set to "pt200", or any variant thereof (such as
X;; "pt200-132").  There is a separate file pt250.el which at present
X;; simply loads this file; it is invoked for users who have their TERM
X;; variable set to "pt250" or variants thereof.
X;;
X;; The customizations produced by this file can be removed for a
X;; entire system by deleting or renaming pt200.elc, pt200.el, and
X;; pt250.el.
X;;
X;; Individual GNU Emacs users can also turn them off by including the
X;; following statement in their GNU Emacs profile file (.emacs):
X;;
X;;	(setq term-file-prefix nil)
X;;
X;; This prevents loading pt200.elc/pt200.el or pt250.el for that user.
X;; (As usual in GNU Emacs, a *.elc file is normally loaded in preference
X;; to a *.el file of the same name.)
X;;
X;; At the present time the following key-function pairing is
X;; not implemented:
X;;
X;;	Delete		toggle character and word modes
X;;
X;; Keybindings are commented out for keys currently undefined.
X;;
X;; If you modify this file, please make sure to regenerate pt200.elc
X;; by using the byte-compile-file command.
X
X
X;; Some of these keybindings assume the use of the emulated Prime SUI
X;; environment.	 Make sure that that environment is loaded and present.
X
X(require 'prime-sui)
X
X
X;; Bind CSI keys beginning with ESC-[.	Note that this prevents the
X;; use of ESC-[ for backward-paragraph as in standard GNU Emacs.
X
X(global-unset-key "\e[")			;remove existing definition
X
X(global-set-key "\e[A" 'previous-line)		;up arrow
X(global-set-key "\e[B" 'next-line)		;down arrow
X(global-set-key "\e[C" 'forward-char)		;right arrow
X(global-set-key "\e[D" 'backward-char)		;left arrow
X
X(global-set-key "\e[S" 'scroll-up)		;Scroll Up
X(global-set-key "\e[T" 'scroll-down)		;Scroll Down
X(global-set-key "\e[k" 'scroll-left)		;Scroll Left
X(global-set-key "\e[j" 'scroll-right)		;Scroll Right
X
X(global-set-key "\e[X" 'sui-search-forward)	;Erase
X;(global-set-key "\e[K" 'undefined)		;shift-Erase
X;(global-set-key "\e[O" 'undefined)		;control-Erase
X;(global-set-key "\e[J" 'undefined)		;control-shift-Erase
X
X;(global-set-key "\e[P" 'undefined)		;Delete
X;(global-set-key "\e[M" 'undefined)		;shift-Delete
X
X;(global-set-key "\e[Z" 'undefined)		;Back Tab
X;(global-set-key "\e[Z" 'undefined)		;shift-Back Tab
X
X
X;; Bind SS2 keys beginning with ESC-N.
X
X(global-set-key "\eN!" 'beginning-of-line)	;PA1
X(global-set-key "\eN\"" 'query-replace)		;PA2
X(global-set-key "\eN#" 'scroll-up)		;PA3
X(global-set-key "\eN$" 'end-of-line)		;PA4
X
X(global-set-key "\eN%" 'beginning-of-buffer)	;shift-PA1
X(global-set-key "\eN&" 'replace-string)		;shift-PA2
X(global-set-key "\eN'" 'scroll-down)		;shift-PA3
X(global-set-key "\eN(" 'end-of-buffer)		;shift-PA4
X
X;(global-set-key "\eN)" 'undefined)		;control-PA1
X;(global-set-key "\eN*" 'undefined)		;control-PA2
X;(global-set-key "\eN+" 'undefined)		;control-PA3
X;(global-set-key "\eN," 'undefined)		;control-PA4
X
X;(global-set-key "\eN-" 'undefined)		;control-shift-PA1
X;(global-set-key "\eN." 'undefined)		;control-shift-PA2
X;(global-set-key "\eN/" 'undefined)		;control-shift-PA3
X;(global-set-key "\eN0" 'undefined)		;control-shift-PA4
X
X(global-set-key "\eN1" 'sui-search-backward)	;Scroll Lock
X;(global-set-key "\eN2" 'undefined)		;shift-Scroll Lock
X;(global-set-key "\eN3" 'undefined)		;control-Scroll Lock
X;(global-set-key "\eN4" 'undefined)		;control-shift-Scroll Lock
X
X(global-set-key "\eN5" 'replace-string)		;Unlabeled (next to Erase)
X;(global-set-key "\eN6" 'undefined)		;shift-Unlabeled
X;(global-set-key "\eN7" 'undefined)		;control-Unlabeled
X;(global-set-key "\eN8" 'undefined)		;control-shift-Unlabeled
X
X;(global-set-key "\eN9" 'undefined)		;Large Unlabeled (above Enter)
X;(global-set-key "\eN:" 'undefined)		;shift-Large Unlabeled
X;(global-set-key "\eN;" 'undefined)		;control-Large Unlabeled
X;(global-set-key "\eN<" 'undefined)		;control-shift-Large Unlabeled
X
X;(global-set-key "\eN=" 'undefined)		;shift-Scroll Up
X;(global-set-key "\eN@" 'undefined)		;shift-Scroll Down
X;(global-set-key "\eNC" 'undefined)		;shift-Scroll Left
X;(global-set-key "\eNF" 'undefined)		;shift-Scroll Right
X
X;(global-set-key "\eN>" 'undefined)		;control-Scroll Up
X;(global-set-key "\eNA" 'undefined)		;control-Scroll Down
X;(global-set-key "\eND" 'undefined)		;control-Scroll Left
X;(global-set-key "\eNG" 'undefined)		;control-Scroll Right
X
X;(global-set-key "\eN?" 'undefined)		;control-shift-Scroll Up
X;(global-set-key "\eNB" 'undefined)		;control-shift-Scroll Down
X;(global-set-key "\eNE" 'undefined)		;control-shift-Scroll Left
X;(global-set-key "\eNH" 'undefined)		;control-shift-Scroll Right
X
X;(global-set-key "\eNI" 'undefined)		;shift-up arrow
X;(global-set-key "\eNL" 'undefined)		;shift-down arrow
X;(global-set-key "\eNO" 'undefined)		;shift-left arrow
X;(global-set-key "\eNR" 'undefined)		;shift-right arrow
X
X;(global-set-key "\eNJ" 'undefined)		;control-up arrow
X;(global-set-key "\eNM" 'undefined)		;control-down arrow
X;(global-set-key "\eNP" 'undefined)		;control-left arrow
X;(global-set-key "\eNS" 'undefined)		;control-right arrow
X
X;(global-set-key "\eNK" 'undefined)		;control-shift-up arrow
X;(global-set-key "\eNN" 'undefined)		;control-shift-down arrow
X;(global-set-key "\eNQ" 'undefined)		;control-shift-left arrow
X;(global-set-key "\eNT" 'undefined)		;control-shift-right arrow
X
X;(global-set-key "\eNU" 'undefined)		;Cancel
X;(global-set-key "\eNV" 'undefined)		;shift-Cancel
X;(global-set-key "\eNW" 'undefined)		;control-Cancel
X;(global-set-key "\eNX" 'undefined)		;control-shift-Cancel
X
X;(global-set-key "\eNY" 'undefined)		;control-Delete
X;(global-set-key "\eNZ" 'undefined)		;control-shift-Delete
X
X;(global-set-key "\eN^" 'undefined)		;shift-Pg Dn (Next)
X;(global-set-key "\eN_" 'undefined)		;control-Pg Dn (Next)
X;(global-set-key "\eN`" 'undefined)		;control-shift-Pg Dn (Next)
X
X;(global-set-key "\eN[" 'undefined)		;shift-Pg Up (Prev)
X;(global-set-key "\eN\\" 'undefined)		;control-Pg Up (Prev)
X;(global-set-key "\eN]" 'undefined)		;control-shift-Pg Up (Prev)
X
X;(global-set-key "\eNa" 'undefined)		;control-End/Begin
X;(global-set-key "\eNb" 'undefined)		;control-shift-End/Begin
X
X;(global-set-key "\eNc" 'undefined)		;Enter (E2)
X;(global-set-key "\eNd" 'undefined)		;shift-Enter (E2)
X;(global-set-key "\eNe" 'undefined)		;control-Enter (E2)
X;(global-set-key "\eNf" 'undefined)		;control-shift-Enter (E2)
X
X
X;; Bind SS3 keys beginning with ESC-O.
X
X;(global-set-key "\eO!" 'undefined)		;F1
X;(global-set-key "\eO\"" 'undefined)		;F2
X(global-set-key "\eO#" 'set-mark-command)	;F3
X(global-set-key "\eO$" 'exchange-point-and-mark);F4
X(global-set-key "\eO%" 'copy-region-as-kill)	;F5
X(global-set-key "\eO&" 'yank)			;F6
X(global-set-key "\eO'" 'kill-region)		;F7
X;(global-set-key "\eO(" 'undefined)		;F8
X;(global-set-key "\eOM" 'undefined)		;F9
X;(global-set-key "\eON" 'undefined)		;F10
X
X;(global-set-key "\eO)" 'undefined)		;shift-F1
X;(global-set-key "\eO*" 'undefined)		;shift-F2
X;(global-set-key "\eO+" 'undefined)		;shift-F3
X;(global-set-key "\eO," 'undefined)		;shift-F4
X;(global-set-key "\eO-" 'undefined)		;shift-F5
X;(global-set-key "\eO." 'undefined)		;shift-F6
X;(global-set-key "\eO/" 'undefined)		;shift-F7
X;(global-set-key "\eO0" 'undefined)		;shift-F8
X;(global-set-key "\eO[" 'undefined)		;shift-F9
X;(global-set-key "\eO\\" 'undefined)		;shift-F10
X
X;(global-set-key "\eO1" 'undefined)		;control-F1
X;(global-set-key "\eO2" 'undefined)		;control-F2
X;(global-set-key "\eO3" 'undefined)		;control-F3
X;(global-set-key "\eO4" 'undefined)		;control-F4
X;(global-set-key "\eO5" 'undefined)		;control-F5
X;(global-set-key "\eO6" 'undefined)		;control-F6
X;(global-set-key "\eO7" 'undefined)		;control-F7
X;(global-set-key "\eO8" 'undefined)		;control-F8
X;(global-set-key "\eOi" 'undefined)		;control-F9
X;(global-set-key "\eOj" 'undefined)		;control-F10
X
X;(global-set-key "\eO9" 'undefined)		;control-shift-F1
X;(global-set-key "\eO:" 'undefined)		;control-shift-F2
X;(global-set-key "\eO;" 'undefined)		;control-shift-F3
X;(global-set-key "\eO<" 'undefined)		;control-shift-F4
X;(global-set-key "\eO=" 'undefined)		;control-shift-F5
X;(global-set-key "\eO>" 'undefined)		;control-shift-F6
X;(global-set-key "\eO?" 'undefined)		;control-shift-F7
X;(global-set-key "\eO@" 'undefined)		;control-shift-F8
X;(global-set-key "\eOw" 'undefined)		;control-shift-F9
X;(global-set-key "\eOx" 'undefined)		;control-shift-F10
X
X(global-set-key "\eOA" 'write-file)		;PF1
X(global-set-key "\eOB" 'find-file)		;PF2
X(global-set-key "\eOC" 'execute-extended-command)	;PF3
X(global-set-key "\eOD" 'other-window)		;PF4
X;(global-set-key "\eOE" 'undefined)		;PF5
X;(global-set-key "\eOF" 'undefined)		;PF6
X;(global-set-key "\eOG" 'undefined)		;PF7
X;(global-set-key "\eOH" 'undefined)		;PF8
X;(global-set-key "\eOI" 'undefined)		;PF9
X(global-set-key "\eOJ" 'overwrite-mode)		;PF10
X(global-set-key "\eOK" 'open-line)		;PF11
X(global-set-key "\eOL" 'delete-char)		;PF12
X
X(global-set-key "\eOO" 'save-buffer)		;shift-PF1
X(global-set-key "\eOP" 'insert-file)		;shift-PF2
X;(global-set-key "\eOQ" 'undefined)		;shift-PF3
X(global-set-key "\eOR" 'sui-window-toggle)	;shift-PF4
X;(global-set-key "\eOS" 'undefined)		;shift-PF5
X;(global-set-key "\eOT" 'undefined)		;shift-PF6
X;(global-set-key "\eOU" 'undefined)		;shift-PF7
X;(global-set-key "\eOV" 'undefined)		;shift-PF8
X;(global-set-key "\eOW" 'undefined)		;shift-PF9
X;(global-set-key "\eOX" 'undefined)		;shift-PF10
X(global-set-key "\eOY" 'sui-delete-line)	;shift-PF11
X;(global-set-key "\eOZ" 'undefined)		;shift-PF12
X
X(global-set-key "\eO]" 'save-buffers-kill-emacs)	;control-PF1
X;(global-set-key "\eO^" 'undefined)		;control-PF2
X;(global-set-key "\eO_" 'undefined)		;control-PF3
X;(global-set-key "\eO`" 'undefined)		;control-PF4
X;(global-set-key "\eOa" 'undefined)		;control-PF5
X;(global-set-key "\eOb" 'undefined)		;control-PF6
X;(global-set-key "\eOc" 'undefined)		;control-PF7
X;(global-set-key "\eOd" 'undefined)		;control-PF8
X;(global-set-key "\eOe" 'undefined)		;control-PF9
X;(global-set-key "\eOf" 'undefined)		;control-PF10
X;(global-set-key "\eOg" 'undefined)		;control-PF11
X;(global-set-key "\eOh" 'undefined)		;control-PF12
X
X;(global-set-key "\eOk" 'undefined)		;control-shift-PF1
X;(global-set-key "\eOl" 'undefined)		;control-shift-PF2
X;(global-set-key "\eOm" 'undefined)		;control-shift-PF3
X;(global-set-key "\eOn" 'undefined)		;control-shift-PF4
X;(global-set-key "\eOo" 'undefined)		;control-shift-PF5
X;(global-set-key "\eOp" 'undefined)		;control-shift-PF6
X;(global-set-key "\eOq" 'undefined)		;control-shift-PF7
X;(global-set-key "\eOr" 'undefined)		;control-shift-PF8
X;(global-set-key "\eOs" 'undefined)		;control-shift-PF9
X;(global-set-key "\eOt" 'undefined)		;control-shift-PF10
X;(global-set-key "\eOu" 'undefined)		;control-shift-PF11
X;(global-set-key "\eOv" 'undefined)		;control-shift-PF12
X
X;(global-set-key "\eOy" 'undefined)		;shift-Stop
X;(global-set-key "\eOz" 'undefined)		;control-Stop
X
X;(global-set-key "\eO{" 'undefined)		;control-Back Tab
X;(global-set-key "\eO{" 'undefined)		;control-shift-Back Tab
X
X;(global-set-key "\eO|" 'undefined)		;control-Tab
X;(global-set-key "\eO|" 'undefined)		;control-shift-Tab
X
X
X;; Bind miscellaneous keys whose key sequences do not conflict
X;; with those for existing standard GNU Emacs commands.
X
X(global-set-key "\e_1\e\\" 'help-command)	;Help
X;(global-set-key "\e_2\e\\" 'undefined)		;shift-Help
X;(global-set-key "\e_3\e\\" 'undefined)		;control-Help
X;(global-set-key "\e_4\e\\" 'undefined)		;control-shift-Help
X
X;(global-set-key "\e_0\e\\" 'undefined)		;Menu
X;(global-set-key "\e_5\e\\" 'undefined)		;shift-Menu
X;(global-set-key "\e_6\e\\" 'undefined)		;control-Menu
X;(global-set-key "\e_7\e\\" 'undefined)		;control-shift-Menu
X
X;(global-set-key "\e?" 'undefined)		;control-Clear
X
X
X;; Possible bindings for miscellaneous keys whose key sequences
X;; conflict with those for existing standard GNU Emacs commands.
X
X;(global-set-key "\e$G" 'undefined)		;Clear
X
X;(global-set-key "\e$A" 'undefined)		;Home
X;(global-set-key "\e$B" 'undefined)		;shift-Home
X;(global-set-key "\e$B" 'undefined)		;control-Home
X;(global-set-key "\e$B" 'undefined)		;control-shift-Home
X
X;(global-set-key "\e$b" 'undefined)		;Pg Dn (Next)
X;(global-set-key "\e$a" 'undefined)		;Pg Up (Prev)
X
X
X;; If you wish to use the alt key of the PT200 and PT250 as a "meta"
X;; key in GNU Emacs, do the following:
X;;
X;;	- set the terminal to use "8-bit none" in the
X;;	  "Host Parity part of the terminal setup menu
X;;
X;;	- include the command
X;;
X;;		stty -istrip
X;;
X;;	  in your UNIX profile file .profile
X;;
X;;	- include the line
X;;
X;;		(setq meta-flag t)
X;;
X;;	  in your GNU Emacs profile file .emacs
END_OF_FILE
if test 13130 -ne `wc -c <'pt200.el'`; then
    echo shar: \"'pt200.el'\" unpacked with wrong size!
fi
# end of 'pt200.el'
fi
if test -f 'pt250.el' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'pt250.el'\"
else
echo shar: Extracting \"'pt250.el'\" \(230 characters\)
sed "s/^X//" >'pt250.el' <<'END_OF_FILE'
X;; Map Prime PT250 function key escape sequences.
X;; Author: Frank Hecker, Prime Computer <hecker@fed1.prime.com>, 19 Oct 1988
X
X;; At present we simply load the pt200 bindings file.
X
X(load (concat term-file-prefix "pt200") nil t)
END_OF_FILE
if test 230 -ne `wc -c <'pt250.el'`; then
    echo shar: \"'pt250.el'\" unpacked with wrong size!
fi
# end of 'pt250.el'
fi
echo shar: End of archive 1 \(of 1\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have the archive.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0