Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/hermes.elib
There are no other files named hermes.elib in the archive.
PW[0 +8+fq(+4)[1
0fo10f"g+q1'
+fq()+4u1
fq1"l 0'
,q1:m(q1+4(]1]0))er}\	<
 -y:EgMsV#z^l"v{ p a!#':7F Q!|]$gtn$W& Edit HERMES Text& Ensure Window Size& Exit to HERMES& Kill HERMES Library& Multi-Window Refresh& Setup HERMES LibraryFind Starting PlaceHERMES Abort^R Two Windows~DIRECTORY~~DOC~ & Edit HERMES Text~DOC~ & Ensure Window Size~DOC~ & Exit to HERMES~DOC~ & Kill HERMES Library ~DOC~ & Multi-Window Refresh ~DOC~ & Setup HERMES Library~DOC~ Find Starting Place~DOC~ HERMES Abort~DOC~ ^R Two Windows~DOC~ ~FILENAME~~FILENAME~
~INVERT~
HERMES$[1
fsLispT"E '
fsJName:f6u1 f~1HERMES"N '
q..9 m.vPrimordial ..Lw
fs^REnter m.vPrimordial fs^REnterw
q..L m.vOriginal ..Lw
fsRefreshm.vOriginal Refreshw
@:i..L|  fs^R Enterm.vOriginal fs^REnter
   @:i*/
qOriginal fs^REnterfs^R Enter
m(fs^R Enter)w
m(m.m& Edit Hermes Text)
/fs^R Enter
mOriginal ..L|
m.m& Exit EMACS m.vMM & Original Exit EMACSw
m.m& Exit to HERMES m.vMM & Exit EMACSw
:iEditor Typeermes]
1,:i*NOVICEm(m.m& Get Library Pointer)"e
fs:ej page[1
1:< m(m.mLoad Library)NOVICE  >"n
q1fs:ej page' ]1
w'
 qParagraph Delimiteru1
 :iParagraph Delimiter1-
:i*fo..qNovice Reminderu1
@:i*|1@ft
Save and exit with C-X C-Z; Abort with M-X HERMES Abort<cr>.
0fsechoactivew|m.vNovice Reminder
m(m.m& Edit HERMES Text)
[1[2[3[4[5[6[7
fsLispT"E '
fsJName:f6u1 f~1HERMES"N '
0fsRefreshw
:i*wfo..qNovice Reminderm.vOriginal Novice Reminderw
:i*wm.vNovice Reminder
@fsCCLFNameu1
q1f[DFile
fsDFn2:f6u3 f]DFilew
(f~3COMM)"e
0fo..qHermes Reply Mode Hookf"n u2 :m2 '
m(m.mSelect Buffer)*Comm*
m(m.mVisit File)1
zj0u7
<.@; -l.u3
:s:"e!<!>'
q3,.x4
:s w .-1u3:s,w-c q3,.x5c
:s w .-1u3:l q3,.x6
[6[5[4%7w0l
>
   q7<]1
f~1BUFFER:"e
]1
       m(m.mSelect Buffer)1w
f~1*HERMES*"e
0fsModifiedw 0fsXModifiedw
1m.lAuto Save Default
1m.lAuto Save Max
:i*DSK:$HERMES-EMACS-BACKUP.HRMf[DFilew
fsHSnamefsDSnamew
fsDFilem.lAuto Save Filenames
f]DFile
	 w'
       ]1
       m(m.mVisit File)1w
!<!>'
f~1TWO WINDOWS:"e
0fo..qMulti-Window Divider"e
:i*==================m.vMulti-Window Divider'w
0fo..qWindow 2 Size"n
fsTop Line"n
]1]3[1[3w'
]1(f~Buffer Name1)"n
m(m.mSelect Buffer)1w'
m(m.m^R Other Window)w
]1(f~Buffer Name1)"n
m(m.mSelect Buffer)1w'
fsTop Line"e
m(m.m^R Other Window)w'
w'
       "#
]1(f~Buffer Name1)"n
m(m.mSelect Buffer)1w'
m(m.m^R Two Windows)w
]1(f~Buffer Name1)"n
m(m.mSelect Buffer)1w'
w'
       0m.vWindow 1 Pointw
@:i*|m(m.m& Multi-Window Refresh)|fsRefreshw
-1fo..qDefault Window 2 Sizeu1
       q1"l (fsHeight-(fsecholines)-2)/2u1
         q1m.vDefault Window 2 Size 'w
       q1,2m(m.m& Ensure Window Size)w
w!<!>'
]1]1w>
m(m.mKill Buffer)*Comm*
w'
"#
   0fo..qWindow 2 Size"n
f~Buffer Name*HERMES*"n
m(m.m^R Other Window)w'
fsTop Linem(m.m^R One Window)
w'
m(m.mSelect Buffer)*Hermes*
0fsModifiedw 0fsXModifiedw
1m.lAuto Save Default
1m.lAuto Save Max
:i*DSK:$HERMES-EMACS-BACKUP.HRMf[DFilew
fsHSnamefsDSnamew
fsDFilem.lAuto Save Filenames
f]DFile

   @fsCCLFNameu1
m(m.mVisit File)1
w'
 :i*fo..qOriginal Novice Reminderu1
q1m.vNovice Reminder"n m1 w'
m(m.mFind Starting Place)w
f~ModeText"N m(m.mText Mode)'
(-1fo..qWindow 2 Size)"g
m(m.m& Multi-Window Refresh)w'
_[0
 1<bj 0,1a--"e 0;'
:s
-----;
0l .u0
bj
b,q0:fbTo: 
"l 0:l'
"# b,q0:fb : 
"l 0:l'
"#
b,q0:fbIn-Reply-To: "l
:s-----
; '
''
>
 .( q0,z:fbBegin forwarded message"l
q0j	l
32,1a-9"e
i
'')j
.d[1
fsLispT"E '
fsJName:f6u1 f~1HERMES"N '
:i*You cannot kill the HERMES library fsErrwWff"E
1,(:i**Hermes*)m(m.m& Find Buffer)"l :m(m.mHermes Abort)'
:i*wfo..qNovice Reminderm.vOriginal Novice Reminderw
:i*wm.vNovice Reminder
1,(:i**Reply-Msg*)m(m.m& Find Buffer)"g
m(m.mSelect Buffer)*Reply-Msg*
0fsModifiedw 0fsXModifiedw
m(m.mSelect Buffer)*Hermes*'
(f~Buffer Name*Hermes*)"n
fsTop Line"n
m(m.m^R Other Window)'
m(m.mSelect Buffer)*Hermes*'
:i*fo..qOriginal Novice Reminderu1
q1m.vNovice Reminderw
    1fsModifiedw 1fsXModified
1m(m.m^R Save File)
1fsModififedw 1fsXModifiedw'
m(m.m^R Save File)
f:m(m.m& Original Exit EMACS)60fsExit

:i*HERMES interface is broken fsErraQWindow 1 RefreshF"N [1M(Q1(]1))'
 FSQPPTR
 0F[REFRESH
 .[1FNq1j[1[2
 FSTOPLINE"N 
    QWindow 1 SizeF[LINES0F[TOPLINE
    :I21'
 "# QWindow 2 SizeF[LINESQWindow 1 Size+1F[TOPLINE
    :I22'
 QWindow 2 WindowF[WINDOW
 QWindow 2 Point:J
 QOther Window Buffer[..O
 -1F[DFORCE
 0U..H@V
 0FSLINES
 QWindow 1 SizeFSTOPLIN
 :i2----------
 q2fo..qMulti-Window Divideru2
 :FTFSWIDTH/FQ2<FT2>
 -FSTYPEOUTW0U..H
 QPFSQPUNWINDWS	0FO..QWindow 2 Size"N 
    :I*A2W	Already Two WindowsFSERR'
 fsrgetty"e 
    :I*TTY	You are on a printing terminalFSERR'
 MMM & Check Top Levelwindows
 [Previous Buffer
 QBuffer NameM.VWindow 1 Buffer
 Q..OM.VOther Window Buffer
 FSWINDOWM.VWindow 1 Window
 .M.VWindow 1 Pointer
 FSLINESM.VDefault Size
 FSLINESF"E 
    FSHEIGHT-(FSECHOLINES)-1'M.VTotal Size
 0FO..QWindow 2 Buffer"E 
    QTotal Size/2M.VWindow 1 Size
    0FO..QTags Find File"N oSame'
    -1"N oSame'
    "N :I*W2m(m.m& Create Buffer)'
    :I*W2M.VWindow 2 BufferoW2'
 -1"N 
    !Same!
    QBuffer NameM.VWindow 2 Buffer
    !W2!
    .M.VWindow 2 Pointer
    FSWindowM.VWindow 2 Window'
 QWindow 1 Size[0
 QTotal Size-1-Q0:"G 
    QTotal Size/2U0Q0UWindow 1 Size'
 1F[NOQUIT
 QTotal Size-1-Q0M.VWindow 2 Size
 FSREFRESHM.VWindow 1 Refresh
 M.M& Multi-window RefreshFSREFRESH
 "N Q0FSLINESW
    Q:.B(QWindow 2 BufferM(M.M& Find Buffer)+4)M.VOther Window Buffer
    F]NOQUIT
    M(FSREFRESH)W'
 Q0FSTOPLINE
 :i2----------
 q2fo..qMulti-Window Divideru2
 :FTFSWIDTH/FQ2<FT2>0U..H
 -1FSTYPEOUT
 0FSTOPLINE
 F]NOQUIT
 :M(M.M^R Other Window)[0[1[2[3
 0fo..qWindow 2 Size"e
-1"e "e ''
m(m.m^R Two Windows)
fm(m.m& Ensure Window Size)
:m(m.m^R Other Window)'
u2
:\u0
qWindow 0 Sizeu1
q2-q1"e '
q2"n
(fsheight-(fsecholines)-1)-q2"g
fstop linef"n w 1'#(-1)"n -'(q2-q1):m(m.m^R Grow Window)'
"#
-1"e :m(m.m^R One Window)'
1:m(m.m^R One Window)''
"#
-1"e 1:m(m.m^R One Window)'
:m(m.m^R One Window)',Library to load when called by HERMES.  HS Special help for use with HERMES.
Structural problem:  The setup function has to do those things which are done
only once for setting up to use EMACS under Hermes.  Some other things have to
be done each time EMACS is started by Hermes.  (Note:  Hermes always starts
the fork, never continues it.)  Things done each time include visiting the
file that holds the message draft.  Since the startup actions can include
redisplay, we have to ensure that they happen AFTER ^R mode has been entered
(otherwise the redisplay screws up).  Hence this arranges for ..L to bind the
startup action (and code to restore the original fs^R Enter) to fs ^R Enter.
In summary, this is necessary because on Setup it does ^R mode, then ..L and
on Startup it does ..L, then ^R mode.  Clear?  
This object file was compressed on 6:31pm  Tuesday, 6 July 1982
by DODDS on BBNA from the following source libraries:

   PS2:<SECURITY-LOG>HERMES.EMACS.148,	07/06/82 18:31:15fS Setup on entry from superior HERMES.
Runs every time Hermes starts EMACS.  Hermes always starts the fork, never
continues it.  Calls into standard ..L when this finishes.  This means it
shouldn't be doing any redisplay.  !C Position cursor to probably right spot.
Try to be clever about placing cursor, depending on whether there are any empty
header fields or other good candidates.  Positions after TO: or after any other
empty header field if To: is full or missing.  In the case of a Reply, it goes
to the beginning of the Text field if no headers are available.  In all other 
cases, it sits tight at the top of the buffer.  S Make library unkillable.S Save the HERMES buffer.IC Call to abandon HERMES edit.
Intended as a clean ^C replacement.  1S Special HERMES 2-window repaint.
Uses variable-length string in Q$Multi-Window Divider$ to form dividing 
line betweens windows instead of wiring in a line of hyphens.  uC Special HERMES 2-window screen entry.
A copy of the standard ^R Two Windows routine, except that it
uses variable-length string in Q$Multi-Window Divider$ to form dividing 
line betweens windows instead of wiring in a line of hyphens.  S Force a window to a certain target size.
NUMARG says which window is being specified.  Precomma arg holds the target
size for the window.  0 means that the window will end up disappearing;
anything too large means that the window takes over the screen.  :& Setup HERMES Library
& Edit HERMES Text
Find Starting Place
& Kill HERMES Library
& Exit to HERMES
HERMES Abort
& Multi-Window Refresh
^R Two Windows
& Ensure Window Size
\+8+fq(+4)[2 0[3
< %3,-q2f2u3 q3&1@; q3"l 0' >
f[BBind q3-1*5,q3*5g2 q:..o(0)+q2