Thread View: mod.computers.apollo
1 messages
1 total messages
Started by Zubkoff
Fri, 01 Aug 1986 03:41
GNU EMACS
Author: Zubkoff
Date: Fri, 01 Aug 1986 03:41
Date: Fri, 01 Aug 1986 03:41
106 lines
5080 bytes
5080 bytes
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.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads