Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/mwind.elib
There are no other files named mwind.elib in the archive.
xW
[0+8+FQ(+4)[1
0FO10F"G+Q1'
+FQ()+4U1
FQ1"L0'
,Q1:M(Q1+4(]1]0))
   A`(Pl%@w
''#|5vB"hMWV1ih7E6}T6Fb+=q6l+P+#6/)D?5~M3aY-8e.&q+n~2n	1R.]&0/6,LC2O/%)2i)-p8^& Check Window Sizes& Deselect Window& Kill MWIND Library& Multiple Window Refresh& Restore Old Definition& Save Old Definition& Select Window& Setup MWIND Library& Window SeparatorCompare Windows^R Goto Window^R Grow Window^R Kill Windows^R One Window^R Other Window^R Redistribute Windows^R Scroll Other Window^R Split Window^R Two Windows^R Visit in New Window~DIRECTORY~~DOC~ & Check Window Sizes~DOC~ & Deselect Window~DOC~ & Kill MWIND Library#~DOC~ & Multiple Window Refresh"~DOC~ & Restore Old Definition~DOC~ & Save Old Definition~DOC~ & Select Window~DOC~ & Setup MWIND Library~DOC~ & Window Separator~DOC~ Compare Windows~DOC~ ^R Goto Window~DOC~ ^R Grow Window~DOC~ ^R Kill Windows~DOC~ ^R One Window~DOC~ ^R Other Window!~DOC~ ^R Redistribute Windows ~DOC~ ^R Scroll Other Window~DOC~ ^R Split Window~DOC~ ^R Two Windows ~DOC~ ^R Visit in New Window~DOC~ ~Filename~~Filename~
~INVERT~h-1fo..qMWIND Load Count+1f"guMWIND Load Count
:i*MWIND library already loadedfg0'
"#m.vMWIND Load Count'
8*5fsQVec
qWm.vWindow Vector
7u:W(0)
qBuffer Nameu:W(5)
fsHeight-(fsEchoLines)-1u:W(3)
0u:W(4)
1m.vCurrent Window
0m.vIn MWIND Deselect
m.mKill Variable
mKMM & Check Window Sizes
m.m& Save Old Definition
mS^R Other Window
mS^R Two Windows
mS^R One Window
mS^R Grow Window
mS^R Scroll Other Window
0fo..QWindow 2 Size"n
fsTop Line(
m(m(m.m& Get Library Pointer)EMACSm.m^R One Window)
)"e1,'m(m.m^R Two Windows)'
m.m& Multiple Window RefreshfsRefresh
fsTTYMacro[0
f[BBindfq0"gg0'
j:s& Check Window Sizes"e
ji(m(m.m& Check Window Sizes)
)
hfx*fsTTYMacro'
f]BBind
0fo..qMWIND Setup Hookf"nu0m0'
m.m^R Kill Windowsu:.x(1)
m.m^R Split Windowu:.x(2)
m.m^R Redistribute Windowsu:.x(3)
m.m^R Visit in New Windowu:.x(4)
m.m^R Grow Windowu:.x(^)
m.m^R Goto Windowu:.x(O)
m.m^R Scroll Other Windowu...V
E[0[1
:i1
0fo..qMM 1u0
mKMM 1
q0f"nm.vMWIND Old 1'
VqMWIND Load Count-1:f"luMWIND Load Count0'
1,m(m.m^R Kill Windows)
m.mKill Variable
mKMWIND Load Count
:i*m.vMM & Check Window Sizes
0fsRefresh
m.m& Restore Old Definition
mR^R Other Window
mR^R Two Windows
mR^R One Window
mR^R Grow Window
mR^R Scroll Other Window
m.m& Macro Name
m(m.m& Get Library Pointer)EMACS
q:.x(1)mN[0f~0^R Kill Windows"eqEm.m^R One Windowu:.x(1)'
q:.x(2)mNu0f~0^R Split Window"eqEm.m^R Two Windowsu:.x(2)'
q:.x(3)mNu0f~0^R Redistribute Windows"e
qEm.m^R View Two Windowsu:.x(3)'
q:.x(4)mNu0f~0^R Visit in New Window"e
qEm.m^R Visit in Other Windowu:.x(4)'
q:.x(^)mNu0f~0^R Grow Window"eqEm.m^R Grow Windowu:.x(^)'
q:.x(O)mNu0f~0^R Goto Window"eqEm.m^R Other Windowu:.x(O)'
q...VmNu0f~0^R Scroll Other Window"e
qEm.m^R Scroll Other Windowu...V'
L[0[1
:i1
0fo..qMWIND Old 1u0
mKMWIND Old 1
q0f"nm.vMM 1'
m(m.m& Check Top Level)windows
qWindow Vector
qCurrent Window
((fqW/5)-1)/q:W(0)[N
"eqN-2"l
:i*O1B	Only One WindowfsErr''
ff*"e
qW[..o
5,(((qC-1)*q:W(0)+1)*5)k
(q:W(0)+1)*5,zk
]..o
1uCurrent Window
:f
.[0fnq0j
fsWindow+bj
1:<-q:W(4),0@fm>
.-bfsWindow
0u:W(4)0fsTopLine
fsHeight-(fsEchoLines)-1u:W(3)
0fsLines
0m.vWindow 2 Size
'
qN-2"l'
[0
qC-qN"e1u0'
qC-1"e-1u0'
q0"g(qC-1)*q:W(0)u0
q:W(q0-q:W(0)+3)+q:W(q0+3)+1u:W(q0-q:W(0)+3)
qW[..o
q0*5+5jq:W(0)*5d
]..o
qC-1f(uCurrent Window
):m(m.m& Select Window)'
(qC-1)*q:W(0)u0
m.m& Select Window
1,qC+1mS
fsWindow+bj
1:<-q:W(q0+3)-1,0@fm>
.-bu:W(q0+q:W(0)+2)
q:W(q0+4)u:W(q0+q:W(0)+4)
q:W(q0+3)+1+q:W(q0+q:W(0)+3)u:W(q0+q:W(0)+3)
qW[..o
q0*5+5jq:W(0)*5d
]..o
qC:mSMm(m.m& Check Top Level)windows
qWindow Vector
qCurrent Window-1*q:W(0)[0
q:W(q0+3)f([1)-3"l
:i*WTS	Window Too Small To SplitfsErr'
m(m.m& Deselect Window)
qW[..o(q0+q:W(0)+1)*5j
q:W(0)*5,0i]..o
0[3q:W(0)<
q:W(q0+(%3))u:W(q0+q:W(0)+q3)>
u3q1-q3-2"lq1/2u3'q3:"gq1/2u3'
fs^RVPos-q:W(q0+4)-q3[2
q2:f"l-1,q3*(fs%Center)/100fu2
q2@:f'
q3u:W(q0+3)
q1-q3-1u:W(q0+q:W(0)+3)
q:W(q0+4)+q3+1u:W(q0+q:W(0)+4)
q:W(q0+4)+q3m(m.m& Window Separator)
m(m.m^R Goto Window)
ff&1"e:m(m.m& Deselect Window)'
-1f[DForce@v
qCurrent Window-1:m(m.m^R Goto Window)0m(m.m& Check Top Level)windows
qWindow Vector
((fqW/5)-1)/q:W(0)[0
q0-2"l
:i*O1B	Only One WindowfsErr'
ff"e
qCurrent Window+1[1
q1-q0"g1u1''
"#fs^RArgP&2"e
qCurrent Window-1[1
q1"eq0u1''
"#"g[1
-q0"g:i*WOR	Window Out Of RangefsErr''
"#"lq0+1+[1
q1:"g:i*WOR	Window Out Of RangefsErr''
"#qCurrent Window[1''''
m(m.m& Deselect Window)
q1uCurrent Window
q1:m(m.m& Select Window)
qWindow Vector
qCurrent Window
(qC-1)*q:W(0)[0
q..f-q.f"nfsLines"e@fg0'
fsLines-q:W(q0+3)"e
:i*Not in minibuffer or at top level@fg0'
fsLines+f(-q:W(q0+3):"l
@fg0'
)fsLines
0fo..qMini Outer Refresh"n
:i*[Mini Outer Refresh'
m(fsRefreshf"e:i*')w'
((fqW/5)-1)/q:W(0)[1
q1-2"l:i*O1B	Only One WindowfsErr'
f"l+q:W(q0+3):f"g
:i*WTS	Window Too Small To ShrinkfsErr'
"#u:W(q0+3)'
fsRefresh[..n
q1-qC"e
q:W(q0-q:W(0)+3)-u:W(q0-q:W(0)+3)
q:W(q0+4)-f(u:W(q0+4))fsTopLine
0fsLines
.[2fnq2jfsWindow+bj
1:<-,0:fm>
.-bfsWindow
'
q:W(q0+q:W(0)+3)-u:W(q0+q:W(0)+3)
q:W(q0+q:W(0)+4)+u:W(q0+q:W(0)+4)
m(m.m& Deselect Window)
m.m& Select Window
fnqCmSqC+1mS
fsWindow+bj
1:<,0@fm>
.-bu:W(q0+q:W(0)+2)
'
0[20[3
qC-q1"l,q:W(q0+q:W(0)+3)-1fu2u2'
qC-1"g-q2,q:W(q0-q:W(0)+3)-1fu3u3'
-q2-q3"n:i*CGW	Not Enough Lines To Grow WindowfsErr'
fsRefresh[..nf[Window
fs^RVPos-q:W(q0+4)-q3@:f
q2f"g+q:W(q0+3)u:W(q0+3)
q:W(q0+q:W(0)+4)+q2u:W(q0+q:W(0)+4)
q:W(q0+q:W(0)+3)-q2u:W(q0+q:W(0)+3)
m.m& Select Window
fnqCmSqC+1mS
fsWindow+bj
1:<q2,0:fm>
.-bu:W(q0+q:W(0)+2)'
q3f"g+q:W(q0+3)u:W(q0+3)
q:W(q0+4)-q3f(u:W(q0+4))fsTopLine
q:W(q0-q:W(0)+3)-q3u:W(q0-q:W(0)+3)'
qC-q1f"nwq:W(q0+3)'fsLines
qWindow Vector
((fqW/5)-1)/q:W(0)[1
fsHeight-(fsEchoLines)-1[2
q1*2-q2:"l
:m(m.m^R Kill Windows)'
(q2-q1+1)/q1[4
(q4*q1)-(q2-q1+2)[3
0[0
fsRefresh[..n
(qCurrent Window-1)*q:W(0)[5
fsTopLine-q:W(q5+4)[6
fsLines-q:W(q5+3)[7
q1<q0f"nw
q:W(q0-q:W(0)+4)+q:W(q0-q:W(0)+3)+1'u:W(q0+4)
q4u:W(q0+3)
%3"l%:W(q0+3)'
q:W(0)+q0u0>
q:W(q5+4)+q6fsTopLine
fsLines"n
q:W(q5+3)+q7fsLines'
41fsTypeout
m.ifi:fc[0
-1fsTypeout
m.m^R Split Window
q0f*B"gmSf:m(m.mSelect Buffer)'
q0f*F"gmSf:m(m.mFind File)'
q0f*T."gmSf:m(m.m^R Find Tag)'
@fg0@qCurrent Window[1
@fn|q1m(m.m^R Goto Window)|
ff&2"n'm(m.m^R Goto Window)
-1f[DForce
fs^RArgP-5"e
@m(m.m^R Previous Screen)'
"#ff&1"n'@m(m.m^R Next Screen)'
0u..h@v
qCurrent Window-1"n
1:m(m.m^R Goto Window)'
qWindow Vector
((fqW/5)-1)/q:W(0)-1"g
2:m(m.m^R Goto Window)'
m(m.m& Check Top Level)windows
0fo..qWindow 2 Buffer"e
:i*O1B	Only One WindowfsErr'
.(
qBuffer Name(
fsWindow(
qWindow 2 Bufferm(m.mSelect Buffer)
qWindow 2 Pointer:j
qWindow 2 WindowfsWindow
)uWindow 2 Window
)uWindow 2 Buffer
)uWindow 2 Pointer
BqWindow Vector
((fqW/5)-1)/q:W(0)-1"g
:i*A2W	Already Two WindowsfsErr'
0fo..qWindow 2 Buffer0"e
.m.vWindow 2 Pointer
fsWindowm.vWindow 2 Window
0fo..qTags Find File"e-1"e
0uWindow 2 Pointer
0uWindow 2 Window
:i0W2'''
0fo..qWindow 1 Size,m(m.m^R Split Window)
[Previous Buffer
q0f"nm(m.mSelect Buffer)'
qWindow 2 Pointer:j
qWindow 2 WindowfsWindow
"e'
-1f[DForce
0u..H@v
1:m(m.m^R Goto Window)mff"e1m(m.m^R Goto Window)'
"#qCurrent Window-1"e
2m(m.m^R Goto Window)''
:m(m.m^R Kill Windows)"qWindow Vector
((fqW/5)-1)/q:W(0)-2"l
:i*O1B	Only One WindowfsErr'
m(m.m& Deselect Windowf([X))
m.m& Select Window
qCurrent Window
q..o[DfnqCmS
.[Q
fsLines"e1'"#qC+1'f(mS)[Current Window
@ft (Comparing...)
0fsEchoActive
0fo..qCollapse in Comparison
qA"e:iA 
'
-1[B
1:<-1f[NoQuit
qD,qAm(m.aAUX& Compare String with Buffer)uB
f]NoQuit>
qB"g@ft (Windows are different)'
qB"e@ft (No differences so far)'
qB"l@ft (No differences encountered)'
0fsEchoActive
0@VmX
qD[..o]..oqCmSqQj0u..n
0([9
f[TopLine
1f[Lines
fsWidth-(-1fo..qMWIND Old Width)"n
fsWidthm.vMWIND Old Width
f[BBind
fsWidth-8,-i
hfx*m.vWindow Separator Text
f]BBind'
qWindow Separator Text[0
0fo..qMWIND Inverse Separatoru9
q9"n
1:<fsInvModfsScrInv>'w
:ft0
q9"n1:<0fsScrInv>'
0u..H-1*q:W(0)[0
((fqW/5)-1)/q:W(0)[1
q:W(q0+4)fsTopLine
-q1f"nwq:W(q0+3)'fsLines
"e[Previous Buffer
q:W(q0+5)m(m.mSelect Buffer)'
"#1,q:W(q0+5)m(m.m& Find Buffer)[1
q1+1"e0,0fsBound'
q:.B(q1+4)u..o'
-fsWindow
m(m.m^R Widen Bounds)
q:W(q0+7)"l
-fsWindow
q:W(q0+6)f"gm(m.m^R Goto Page)''
"#1:<q:W(q0+6),q:W(q0+7)fsBound>'
q:W(q0+1)+b:j"ezj'
q:W(q0+2)fsWindow
OqIn MWIND Deselect"n0'
1[In MWIND Deselect
qCurrent Window-1*q:W(0)[0
qBuffer Nameu:W(q0+5)
.-bu:W(q0+1)
fsWindowu:W(q0+2)
0fo..qCurrent Pagef"nu:W(q0+6)
-1u:W(q0+7)'
"#b+(fsVZ)"n
fsBoundu:W(q0+7)u:W(q0+6)'
"#-1u:W(q0+6)
-1u:W(q0+7)''
qCurrent Window-3"l
qCurrent Window:\[1
qBuffer Namem.vWindow 1 Buffer
.m.vWindow 1 Pointer
fsWindowm.vWindow 1 Window
q:W(q0+3)m.vWindow 1 Size
'
m(m.m& Check Window Sizes)
RfsQPPtr
qWindow Vector
((fqW/5)-1)/q:W(0)[0
0u..h
q0-1"g
[..of[TopLinef[Lines
0f[Refresh-1f[DForce
m(m.m& Deselect Window)
@fn|1,qCurrent Windowm(m.m& Select Window)|
m.m& Window Separator
1[N
q0<qN-1"g
q:W((qN-1)*q:W(0)+4)-1mS'
qN-qCurrent Window"n
1,qNm(m.m& Select Window)@v'
%N>'
qPfsQPUnwind:qWindow Vector
((fqW/5)-1)/q:W(0)[1
(q1-1)*q:W(0)[0
q:W(q0+4)+q:W(q0+3)-(fsHeight-(fsEchoLines)-1)f"e
'
"#[2'
q:W(q0+3)-q2f"gu:W(q0+3)'
:m(m.m^R Redistribute Windows)	MWIND%More than two windows on a screen3S Set environment for windowing.
If the variable MWIND Setup Hook exists, it is macroed.
Otherwise, several keys are set:
    c-X 1  gets  ^R Kill Windows
    c-X 2  gets  ^R Split Window
    c-X 3  gets  ^R Redistribute Windows
    c-X 4  gets  ^R Visit in New Window
    c-X ^  gets  ^R Grow Window
    c-X O  gets  ^R Goto Window
    c-m-V  gets  ^R Scroll Other Window
All of the old two-window commands are shadowed.>S Find MM-var and rename.
Assumes Kill Variable is in qK.'S Undo definitions and key settings;S Restore saved macro.
Assumes Kill Variable is in qK.<^R Kill all windows except current one.
A positive arg means kill current window, merging up (down for a neg arg).
A pre-comma arg means not to worry if there is only one window now.Y^R Divide current window into two.
The same buffer will always be used for both windows.  An argument
keeps the cursor in the top window.  A pre-comma argument is the
number of lines to leave in the top window.\^R Go to the next window on the screen.
A c-U as arg means to go to the previous window.
A numarg means go to that window, numbered from the top of the screen
(a negative arg counts from the bottom of the screen).m^R Make this window (or minibuffer) use more lines.
Argument is number of extra lines (can be negative).^R Make all windows the same size.
If the screen has changed and there are too many windows,
all windows except the current one are killed.^R Find buffer, tag or file in new window.
Follow this command by B or c-B and a buffer name;
F or c-F and a file name; or T, c-T, or . and a tag name.
We find the buffer, tag or file in a new window.
An argument is passed on to Select Buffer, Find File, or Find Tag.F^R Scroll next window up several lines.
If at last window, scrolls first window of screen.
A pre-comma argument is taken as argument to ^R Goto Window.
Specify the number as a numeric argument, negative for down.
The default is a whole screenful up.  Just Meta-Minus as argument
meansSscrollta wholeescreenful down.
Goes to the top window, unless there already; in that case,
goes to the (perhaps invisible) second window.,^R Show two windows and select window two.
An argument > 1 means give window 2 the same buffer as in window 1.
A pre-comma argument means keep the cursor in window 1.f^R Display only one window.
Normally displays what used to be in the top window.
With a numeric argument displays what was in the current
one, unless already in the top window, in which case
the second window is displayed.:C Compare text in two windows.
Compares the text in the current window with that in the next window
down (the one ^R Goto Window would pick), starting at the cursor in each
window, leaving point in each window at the first discrepancy, if
any, or at the end of the buffer.  Quitting leaves point at place
comparison had reached.

The variable Collapse in Comparison should be a string
of "insignificant" chatacters.  Any sequence of those characters
matches any other such sequence.  If the variable is not
defined, the default is CR, LF, TAB, and SPACE.'S Display horiz line at numarg row.hS Go to NUMARG window.
Pre-comma arg means TECO-select the buffer.
Assumes Window Vector is in qW.LS Save current window in window vector.
Assumes Window vector is in qW.#S FS Refresh for MWIND library.+S Make sure screen size hasn't changed.& Setup MWIND Library
& Save Old Definition
& Kill MWIND Library
& Restore Old Definition
^R Kill Windows
^R Split Window
^R Goto Window
^R Grow Window
^R Redistribute Windows
^R Visit in New Window
^R Scroll Other Window
^R Other Window
^R Two Windows
^R One Window
Compare Windows
& Window Separator
& Select Window
& Deselect Window
& Multiple Window Refresh
& Check Window Sizes
T+8+fq(+4)[20[3
<%3,-q2f2u3q3&1@;q3"l0'>
f[BBindq3-1*5,q3*5g2q:..o(0)+q2