Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/tdebug.elib
There are no other files named tdebug.elib in the archive.
HW
[0+8+FQ(+4)[1
0FO10F"G+Q1'
+FQ()+4U1
FQ1"L0'
,Q1:M(Q1+4(]1]0))
   %	R,2Y-
`2g&'n(7u'Q|4X.f
*?)K*
,+&--)p6'u=5&D4uK,%R+	Y'u`+h'Qo)bw)p~(48
606@(0	8"vDKO\8Kh9w9*$1Rn*;337#>bI
S']?bOR	G
	Gg	G$	&K+	0I	:HK	DH		NH7	XI7	bIn	lH'	xG<
KS
K>
I+
 Hp
*G<
4Hd
>G$
IH
SH'
^GT
hJz
sK
}JzGs:}!<>1;AB
OJg]ComDDa
BL
Kf
%Kw
8J4
KE
YC;
gD
wMK@eAt?%:o/:j6Rf# Tdebug .# Tdebug =# Tdebug ?# Tdebug A# Tdebug B# Tdebug D# Tdebug F# Tdebug H# Tdebug L# Tdebug M# Tdebug N# Tdebug Q# Tdebug S# Tdebug Space# Tdebug U# Tdebug V# Tdebug W# Tdebug X# Tdebug \# Tdebug ^# Tdebug ^?# Tdebug ^J# Tdebug ^L# Tdebug ^N# Tdebug ^R# Tdebug ^S# Tdebug ^V# Tdebug ^W# Tdebug ^[& File TDEBUG Loaded& Kill TDEBUG Library& Setup TDEBUG Library& Tdebug Breakpoint& Tdebug Describe& Tdebug Display Frame& Tdebug Display Mode Line& Tdebug Enter& Tdebug Error Break& Tdebug Help& Tdebug Insert Object Info & Tdebug Insert QP Slot Info& Tdebug Minibuffer& Tdebug New Frame& Tdebug New Mode Line& Tdebug Qprint Setup& Tdebug Qprint Var Setup& Tdebug Qvector Print& Tdebug Refresh& Tdebug Remove Breakpoints& Tdebug Select Window& Tdebug Step	BreakDebug ModeInsert BreakpointKill BreakpointsList BreakpointsUnbreak~DIRECTORY~~DOC~ # Tdebug .~DOC~ # Tdebug =~DOC~ # Tdebug ?~DOC~ # Tdebug A~DOC~ # Tdebug B~DOC~ # Tdebug D~DOC~ # Tdebug F~DOC~ # Tdebug H~DOC~ # Tdebug L~DOC~ # Tdebug M~DOC~ # Tdebug N~DOC~ # Tdebug Q~DOC~ # Tdebug S~DOC~ # Tdebug Space~DOC~ # Tdebug U~DOC~ # Tdebug V~DOC~ # Tdebug W~DOC~ # Tdebug X~DOC~ # Tdebug \~DOC~ # Tdebug ^~DOC~ # Tdebug ^?~DOC~ # Tdebug ^J~DOC~ # Tdebug ^L~DOC~ # Tdebug ^N~DOC~ # Tdebug ^R~DOC~ # Tdebug ^S~DOC~ # Tdebug ^V~DOC~ # Tdebug ^W~DOC~ # Tdebug ^[~DOC~ & File TDEBUG Loaded~DOC~ & Kill TDEBUG Library ~DOC~ & Setup TDEBUG Library~DOC~ & Tdebug Breakpoint~DOC~ & Tdebug Describe ~DOC~ & Tdebug Display Frame$~DOC~ & Tdebug Display Mode Line~DOC~ & Tdebug Enter~DOC~ & Tdebug Error Break~DOC~ & Tdebug Help%~DOC~ & Tdebug Insert Object Info&~DOC~ & Tdebug Insert QP Slot Info~DOC~ & Tdebug Minibuffer~DOC~ & Tdebug New Frame ~DOC~ & Tdebug New Mode Line~DOC~ & Tdebug Qprint Setup#~DOC~ & Tdebug Qprint Var Setup ~DOC~ & Tdebug Qvector Print~DOC~ & Tdebug Refresh%~DOC~ & Tdebug Remove Breakpoints ~DOC~ & Tdebug Select Window~DOC~ & Tdebug Step~DOC~ Break~DOC~ Debug Mode~DOC~ Insert Breakpoint~DOC~ Kill Breakpoints~DOC~ List Breakpoints~DOC~ Unbreak~DOC~ ~FILENAME~~FILENAME~
~INVERT~W#FSLINESF"EWFSHEIGHT-(FSECHOLINES)-4'[0
FF"N'"#Q0-1/2'M.VTdebug Window 1 Size
Q0-QTdebug Window 1 SizeM.VTdebug Window 2 Size
@:I*|W0F[STEPMACRO.M|U.M
@:I*|W0F[STEPMACRO.V|U.V
@:I*|W0F[STEPMACRO..P|U..P
@:I*|WM|UM
0M.VTdebug Proceed Count
0M.VTdebug Break PC
0M.VTdebug Backtrace Level
0M.VTdebug Arg
0M.VTdebugged Buffer
0M.VTdebug Ref Count
0M.VTdebug Saved FS LINES
0M.VTdebug Silent
0M.VTdebug Function Base
0M.VTdebug Q Base
0M.VTdebug Q Top
0M.VTdebug Whole Stack
0M.VTdebug Function Frame
1M.VTdebug Verbose
0M.VTdebug Info Line
:I*M.VTdebug Prev Command
m.mBacktracem.vOld Backtrace
M.M& Tdebug Error BreakM.VMM Backtrace
5FSQVECTORU0
Q0M.VTdebug Break Table
3U:0(0)
FSBCONSM.VTdebugger Previous Display
FSBCONSM.VTdebugger Function Display
M(M.M& Tdebug Qprint Setup)
M.M& Tdebug MinibufferU...
M(0FO..QTDEBUG Setup HookF"EW@:I*//')&qOld BacktraceuMM Backtrace
!F:M(M.M& Tdebug Minibuffer):I*[0
M.M0[1
Q1M(M.M& Macro Name)U0
QTdebug Break Table[3
:FO30[2
Q2"LQ3[..Q
M.V0
]..Q
:FO30U2'
"#Q1-Q:3(Q2+2)"E''
Q1M.VMM 0
Q1U:3(Q2+1)'
:@I*/MM& Tdebug Breakpoint
1/F(UMM 0)U:3(Q2+2)
"EM(0FO..QTdebug Break HookF"EW@:I*//')'
G:I*[0
FQ0"E:M(M.M& Tdebug Remove Breakpoints)'
M.M0[1
Q1M(M.M& Macro Name)U0
QTdebug Break Table[3
:FO30[2
Q2"L:I*MNB	Function Not BreakpointedFSERR'
QMM 0-Q:3(Q2+2)"N
:I*MHC	Function Has ChangedFSERR'
Q:3(Q2+1)UMM 0
Q3[..O
Q2*5J15D]..O
"EM(0FO..QTdebug Break HookF"EW@:I*//')'OZ-.[1
0l13i10i-2c
@MI
@I|M(M.M &_Tdebug_Breakpoint)|
Z-Q1J
-1F.[1[2
M(M.M^R Mark Page)
FSZ-(:)F[VZ
.[3Q3[4
<@:S|M(M.M &_Tdebug_Breakpoint)|;
0LFU21K
Q1-."GQ1-Q2,.FU1'
.U4>
Q1J
Q3,Q4)QTdebug Break Table[0
1[1
[2
(FQ0)/15<
Q:0(Q1)U2
QMM 2-Q:0(Q1+2)"E
Q:0(Q1+1)UMM 2'
Q1+3U1>
Q0[..O5JZK
"EM(0FO..QTdebug Break HookF"EW@:I*//')'i:FT---Breakpoints---

QTdebug Break Table[0
1[1
[2
(FQ0)/15<
Q:0(Q1)U2
FT2

Q1+3U1>
YW0F[STEPMACRO
M(M.M& Tdebug Enter)
M.M& Tdebug StepFSSTEPMACRO-:M(FSSTEPMACRO)fW0F[STEPMACRO
M(M.M& Tdebug Enter)
DFSREREAD
M.M& Tdebug StepFSSTEPMACRO-:M(FSSTEPMACRO)!W0F[STEPMACRO
FQ(-FSBACKSTRING)"L'
"L'
"#FSSTEPDEPTH"L
%Tdebug Proceed Count"L''
"#FSSTEPDEPTH-(FSBACKDEPTH-1)"E
-FSBACKPC-QTdebug Break PC-1"L'
%Tdebug Proceed Count"L''''
Q..OUTdebugged Buffer
QTdebugger Function Display[..O
FSQPPTR-2UTdebug Q Top
F[SSTRINGF[INSLEN
F[DFILE
QTdebug Silent"E
QTdebugged Buffer[..O@V]..O'
@FN|1M(M.M& Tdebug Select Window)|
2M(M.M& Tdebug Select Window)
FSBACKDEPTH-1UTdebug Backtrace Level
!Newframe!
M(M.M& Tdebug New Frame)
M(M.M& Tdebug Display Frame)
!Iread!
0UTdebug Arg
!Read!
[0
M.M& Tdebug HelpF[HELPMAC
<.@V
:FI:FCU0
@FI@FS^RCMAC-(33.FS^RINIT)"EXU0'
Q0-0+1"GQ0-9-1"L10*QTdebug Arg+Q0-0UTdebug Arg0U0''
Q0-40."E:I*SpaceU00;'
Q0"NQ0-40."LQ0#100.U0
:I0^0'
"#Q0-177."E:I0^?'
"#Q0:I0''
0;'>
F]HELPMAC
1,M.M# TDebug 0U0
Q0"E]0FGOREAD'
QTdebug ArgF"E+1'M(Q0(]0))[0
ODisp 0
!Disp Newframe!]0ONewframe
!Disp Iread!]0OIread
!Disp 1Proc!

!Disp Quit!
0,-7FSQPSLOT
FS^RTHROW
!Disp Exit!
0,-7FSQPSLOT
0UTdebug Function Frame
HK[3
QTdebug Whole Stack"N
-1[0
FSBACKDEPTH[1'
"#QTdebug Function Base[0
FSBACKDEPTH-1[1'
<QTdebug Backtrace LevelU3
Q3-Q0"G
Q3-Q1"L
1:<Q3FSBACKTRACE>"E
0fo..qTdebug New Frame Hooku0
q0"nm0'
1UTdebug Function Frame'
'
"#:FTAlready at top of stack

Q1-1UTdebug Backtrace Level''
"#:FTAlready at bottom of stack

Q0+1UTdebug Backtrace Level'
>
p[0
0,0A-15."E0,1A-12."EC''
M(M.M& Tdebug New Mode Line)U0
F=Tdebug Info Line0"N
Q0UTdebug Info Line
M(M.M& Tdebug Display Mode Line)'
QTdebugger Previous DisplayU0
HF=0"E
.@V'
"#@V
H(Q0[..OHK)G(-FSQPSLOT)]..O'
_[3[1[4
QTdebug Function Frame"N
QTdebug Backtrace LevelU1
Q1FSBACKSTRINGU4
Q4M(M.M& Macro Name)F"NU4'
"#W:I4**STRING**'
FSBACKDEPTH-3[2
QTdebug Whole Stack"E
QTdebug Function BaseU3
Q1-Q3U1
Q2-Q3U2'
Q1:\U1
Q2:\U2
:I3--Function Level 1/2'
"#:I3'
QTdebug Ref Count:\U1
:I*1 Tdebug Breakpoint3
Function Name: 4Y[..H
QTdebug Info Line[0
QTDEBUG Window 1 Size+1F[TOPLINE
2F[LINES
:FT0;"G
0+[N3-[O
FSWINDOWUTDEBUG Window o Window
QTDEBUG Window n WindowFSWINDOW
-1F"NWQTDEBUG Window 1 Size+4'FSTOPLINE
QTDEBUG Window n SizeFSLINES
'
"E0F[TOPLINEW0F[LINESW0F[REFRESHW'
"#0FSTOPLINEQTDEBUG Window 1 SizeFSLINESF+
F]REFRESHF]LINESF]TOPLINE
M(FSREFRESH)'U[Tdebug Ref Count
%Tdebug Ref Count
@FN|WFW|
FSWINDOWM.VTDEBUG Window 1 Window
-1M.VTDEBUG Window 2 Window
F[LINESF[TopLine
M.M& Tdebug RefreshF[REFRESH
:I*
UTdebug Info Line
0UTdebug Silent
Q..OUTdebugged Buffer
M.M& Tdebug Select Window
QTdebugger Function Display[..OHK]..O
1MW
M(FSREFRESH)
-1UTdebug Proceed Count
0UTdebug Break PC
-1FSSTEPDEPTH
0UTdebug Function Base
0UTdebug Q Base
0UTdebug Whole StackuM.M^R Pop Minibuffer Ring[...Y
Q..O,(F[BBIND
FF"NG(QTdebug Prev Command)'
)M(M.M& Minibuffer)Step Minibuffer
H"E0'
F=(Q:.N(0)F"EW:I*')..O"N
Q.N[..OZJ-5D
J5,0I]..O
HX:.N(0)'
F]BBIND]...Y
M(M.M& Tdebug Enter)
FSQPPTR+1UTdebug Q Base
FSBACKDEPTHUTdebug Function Base
Q:.N(0)UTdebug Prev Command
M.M& Tdebug StepF[STEPMACROM:.N(0)m0F[REFRESH
FSTOPLINE"N
QTDEBUG Window 1 SizeF[LINES0F[TOPLINE
QTdebugged Buffer[..O
QTDEBUG Window 1 WindowF[WINDOW
QTdebug Silent"E0U..H@V''
"#
QTDEBUG Window 2 SizeF[LINESQTDEBUG Window 1 Size+1F[TOPLINE
QTdebugger Function Display[..O
QTDEBUG Window 2 WindowF[WINDOW
0U..H@V'
FSLISTEN"N-1FSPJATY'
4FSLINES
QTDEBUG Window 1 SizeFSTOPLINE
:FTFSWIDTH/10<FT---------->
QTdebug Info Line[0
FT
0

FSWIDTH/10,4FU0<FT---------->0U..HT10000[Tdebug Qprint Lines
40[Tdebug Qprint Length
F[BBIND
QTdebug Function Frame"E
INo Function Frame
'
"#QTdebug Backtrace LevelFSBACKARGSF([2[1)F[3
Q3"EINo Arguments

:FTHT:I*Iread'
M.M& Tdebug Insert Object Info[0
I:

Q3&2"NQ1M0'"#I<None>'
I
:

Q3&1"NQ2M0'"#I<None>'
I
'
:FTHT
:I*IreadGQTdebug Backtrace Level-UTdebug Backtrace Level
:I*NewframeGQTdebug Backtrace Level+UTdebug Backtrace Level
:I*Newframe>0F[^RENTER
:I*[Function Frame][..J
0[..F.
:I*Iread1M(M.M& Tdebug Select Window)
QTdebugged Buffer[..O
0F[^RENTER:I*[Buffer][..J
.]..JF]^RENTER]..O
2M(M.M& Tdebug Select Window)
:I*Iread
1M(M.M& Tdebug Select Window)
QTdebugged Buffer[..O
M(M.M^R Execute Mini)
@V
]..O2M(M.M& Tdebug Select Window)
:I*Iread.[..J
M(M.M^R Execute Mini)
@V:I*IreadM(FSREFRESH)
:I*Iread8-UTdebug Proceed Count
-FSSTEPDEPTH
:I*1Proce.UTdebug Break PC
-UTdebug Proceed Count
QTdebug Backtrace LevelFSSTEPDEPTH
:I*1ProcQTdebug Backtrace Level-[0
Q0"L:I*Exit'
Q0FSSTEPDEPTH
Q0FSBACKPCUTdebug Break PC
-1UTdebug Proceed Count
:I*1Proc:I*Iread70[10[2
QTdebug Backtrace LevelFSBACKARGSF(F[0
)F(Q0-1"E)F(U2'
)F(Q0-2"E)F(0U2U1'
)F(Q0-3"E)U2U1'"#)W'
1M(M.M& Tdebug Select Window)
F[BBIND
0F[^RENTER:I*[Hackery Buffer][..J
]..JF]^RENTERF]BBIND
QTdebug Silent"EQTdebugged Buffer[..O@V]..O'
2M(M.M& Tdebug Select Window)
:I*Iread1[1
<1M(M.M& Tdebug Select Window)
QTdebugged Buffer[..O@V]..O
@FIU1
2M(M.M& Tdebug Select Window)
@V
Q1-."NQ1FSREREADW
:I*Iread'
:FI-."N:I*Iread'
FIW>
@FT @:=
:I*IreadQTdebug Whole Stack"E
QTdebug Q Top-QTdebug Q Base[0
QTdebug Q Base+-1[1'
"#
FSQPPTR[0
[1'
F[BBIND
IOf G0I slots: 
-Q0"GIQP Slot G()I is out of range.
'"#ISlot G()I home is 
G(Q1FSQPHOME)
QTdebug Verbose"E
Q1M(M.M& Tdebug Insert QP Slot Info)'
"#I
10000[Tdebug Qprint Lines
40[Tdebug Qprint Length
Q1FSQPSLOTM(M.M& Tdebug Insert Object Info)''
:FTHT
:I*IreadEQTdebug Whole Stack"E
QTdebug Q Top-1[1
QTdebug Q Top-QTdebug Q Base[2'
"#FSQPPTR[1
Q1[2'
-1"G'"#Q2'[0
Q2-Q0"LQ2U0'
M.M& Tdebug Insert QP Slot Info
M.M& Tdebug Select Window0MW
F[BBIND
Q0<ISlot G(Q2)I home is 
G(Q1FSQPHOME)
Q1MSQ1-1U1
Q2-1U2>
HV:FI-40."EFI'
F]BBIND-MW
]W
:I*Ireadv[1[2[30[4
I 	
Q1FSQPSLOTU3Q3FPU2
Q2+4"EInumber=G3'
Q2+3"EI[pure string space number]=
8[..EG3]..E
I.'
Q2+2"EI[impure string space number]=
8[..EG3]..E
I.'
Q2+1"EI[dead buffer]'
Q2"EI[buffer], length=
G(FQ3)1U4'
Q2-1"EI[Q-vector], length=
G(FQ3/5)
I wds, #wds/entry=
G:3(0)'
Q2-100"EI[purstr], length=
G(FQ3)1U4'
Q2-101"EI[string], length=
G(FQ3)1U4'
Q4"N
I: 
.F[VBZ-.F[VZ
FQ3-20"G
0,20G3J
:L.,ZK
I ...'
"#G3J:L
Z-.F"GDI ...'W'
F]VZF]VB'
I

@FTYou are in a Teco Breakpoint running 
M(M.MDescribe)& Tdebug Step
FTAnother ? will enter documentation mode, which <sp> will exit.
:FI-?"EFIWM(M.M& Tdebug Describe)'
:I*Iread)[0F+
<:FTType a debug command to describe (or "*" for list):
FI:FCU0
Q0-*"E0M(M.M& Tdebug Select Window)
:FT       --Debug Brkpt Commands--
M(M.M& Get Library Pointer)TDEBUGU0
Q0M(M.M& List One File)# Tdebug C
:FVFIW
-M(M.M& Tdebug Select Window)
'
Q0-40."EF+'
Q0-40."LQ0#100.U0:I0^0'
"#Q0-177."E:I0^?'
"#Q0:I0''
FT
0  
1,M.M~DOC~ # TDebug 0U0
Q0"E:FVis not defined.'
"#:FV0'
> 1UTdebug Silent
:I*Iread 0UTdebug Silent
:I*Iread9QTdebug VerboseF"EW2'-1UTdebug Verbose
:I*IreadcQTdebug Whole StackF"EW2'-1UTdebug Whole Stack
M(M.M& Tdebug New Mode Line)
:I*Newframe:I*[.9
:I*View Q Register:[..0
1:<M(M.M& Read Q-Reg)U.9
F[BBIND
IQ.9 Contains:

10000[Tdebug Qprint Lines
40[Tdebug Qprint Length
Q.9M(M.M& Tdebug Insert Object Info)
>"NFQ.9"EF[BBIND'"#HK'
IQ Register .9 does not exist.
'
:FTHT
:I*Iread M(M.M& Tdebug Describe)
@V[2
0[3
Q2FP[1
Q1+4"EI[Number]=G2'
Q1+3"EI[Pure String Number]=
8[..EG2]..EI.'
Q1+2"EI[Impure String Number]=
8[..EG2]..EI.'
Q1+1"EI[Dead Buffer]'
Q1"EI[Buffer] Length=
G(FQ2)Q2U3'
Q1-1"EI[Qvector] Length=
G(FQ2/5)
+1,Q2M(M.M& Tdebug Qvector Print)'
Q1-100"EI[Pure String] Name:	
G(Q2M(M.M& Macro Name))'
Q1-101"EI[String] Length=
G(FQ2)Q2U3'
Q3"N
I: 
.F[VBZ-.F[VZ
FQ2-QTdebug Qprint Length"G
0,QTdebug Qprint LengthG2J
:L.,ZK
I ...'
"#G3J:L
Z-.F"GDI ...'W'
F]VZF]VB'
I

M.M& Tdebug Qprint Var Setup
20MSTdebug Qprint Length
5MSTdebug Qprint Depth
5MSTdebug Qprint Lines
@:I*/   /MSTdebug Qprint Indention
]S%:I*[0
0FO..Q0"EM.V0'
]0QTdebug Qprint Depth"E
<GTdebug Qprint Indention
IMore....'
I

0[0
FQ()/5[1
QTdebug Qprint Depth-1[Tdebug Qprint Depth
Q1-QTdebug Qprint Lines"GQTdebug Qprint Lines'"#Q1'<
<GTdebug Qprint Indention>
ISlot G0I 
+1,Q:()(Q0)M(M.M& Tdebug Insert Object Info)
%0>
Q1-QTdebug Qprint Lines"G
<GTdebug Qprint Indention
IMore....'
"#-2D'

TDEBUGTeco debugging functions6S This is just used to detect if TDEBUG is loaded.MS Setup variables for debugging
Setup variables and buffers for debugging break points
No argument will split the screen in half, positive argument
splits the screen at that line. Also will call TDEBUG Setup Hook
after standard initialize. It also puts Stepped Minibuffer on C-M-Altmode
Clobbers backtrace to be a breakpoint"S Undo & Setup TDEBUG Library.}C Calls the debugger using the minibuffer
Reads and executes teco commands.
Uses the Minibuffer to read the commands. Pushes the command string
onto a ring buffer in Q.N.  An explicit argument initializes
the minibuffer with the command from the top of that ring buffer.
Once inside the minibuffer, C-M-Y pops to previous saved
minibuffer commands, going around the ring.nC Put breakpoint at front of specified function.
String argument is the name of the function to breakpoint.
We add a call to & Tdebug break point onto the front of the function
Numeric arg inhibits Tdebug Break Hook from being run.C Remove breakpoint from front of specified function.
String argument is the name of the function to unbreakpoint.
If the function has been changed for any reason, it will print
out a message, and refuse to change it.  Numeric arg inhibits
Tdebug Break Hook from being run.(C Insert a breakpoint command before current line.
Use this while editing the source code for a function.
TCompile the function, and it will contain a breakpoint.KC Removes breakpoints in function being edited.
Use this while editing the source code for a function.
TCompile the function, and then all breakpoints inserted with
Insert Breakpoint will be gone.SS Remove all breakpoints
Numeric arg inhibits Tdebug Break Hook from being run/C List all currently breakpointed functionsS The Breakpoint Function
Enters a breakpoint from the users function.
To use, insert a MM& Tdebug Breakpoint into the codeWS This is entered when an error happens
Enters a breakpoint from the error handlerS TDEBUG single-step handler and command loop.
Negative argument means break unconditionally.
In command loop, ? lists help info.gS Display a new frame at level Tdebug Backtrace Level
Sets Tdebug Function Frame to 1 if succeeds.0S Display frame level and frame, if required(S Cons up new mode line for debugger S Displays Tdebugs mode linemS Select windows by numeric arg
1->Window 1; 2->Window 2; 0->Bind to full screen; -1->Unbind full screeniS Enter Debugger subroutine.
Sets up the two window mode, and prepares to be in
Debug Break points.jS Usual Minibuffer, except it is stepped.
Reads and executes teco commands.
Uses the Minibuffer to read the commands. Pushes the command string
onto a ring buffer in Q.N.  An explicit argument initializes
the minibuffer with the command last debugged.
Once inside the minibuffer, C-M-Y pops to previous saved
minibuffer commands, going around the ring.~S Debug refresh subroutine.
Redisplays the users buffer in the top window, and the
debugging buffer in the lower window.5C Print the arguments for the current stack frame/C Go Down the stack, to earlier invocations0C Go Up the stack to more recent invocations'C Call ^R on current function frameC Call ^R on buffer,C Altmode - Run Minibuffer on The Buffer*C Run Minibuffer on the function frameC Clear screen!C Single proceed to next line(C Proceed to next line at this level1C Exit <arg> levels (Actually, like <arg>D N)C Rubout flushes argvC Select empty buffer/window for editing/patching
Q0,Q1,Q2 are bound to nargs, first, and second arg respectivelyC Exit - like DDTs $P6C Quit - Abort all functions currently in progress!C Move cursor to other windowC Print numeric arg"C Print home for QP slot <arg>iC Print homes for all qp slots, from last down.
Arg is number of slots to display, defaulting to all<S Insert ... for slot <arg>
Argument is the slot number*C Print Help message and documentation&S Debug mode command documentation3C Causes the users buffer to not be redisplayed/C Causes the users buffer to be redisplayed'C Toggles full display of Q vectors*C Toggles display the whole stack mode&C Displays a Q register's contents"S Gives help key documentation'S Inserts object's description into the buffer
Given an object as the argument, it inserts a description of the object
into the buffer. It uses one variable, Tdebug Qprint length, to determine the
maximum length to insert. Tdebug Qprint depth is used to determine how deep to
print Q vectors for. Tdebug Qprint lines is used to determine how many lines of
a Q vector to print. First Argument is level of indention.%S Setups variables used by QprintS Initializes a variable
If the string argument is already defined, do nothing. Otherwise initialize
that variable to the numeric argumentOS Prints a Qvector
If the depth is 0 just print ... else print the Q vector recursively,
printing Tdebug Qprint Lines number of lines. First argument is current indention
level, second is the q vector2& File TDEBUG Loaded
& Setup TDEBUG Library
& Kill TDEBUG Library
Debug Mode
Break
Unbreak
Insert Breakpoint
Kill Breakpoints
& Tdebug Remove Breakpoints
List Breakpoints
& Tdebug Breakpoint
& Tdebug Error Break
& Tdebug Step
& Tdebug New Frame
& Tdebug Display Frame
& Tdebug New Mode Line
& Tdebug Display Mode Line
& Tdebug Select Window
& Tdebug Enter
& Tdebug Minibuffer
& Tdebug Refresh
# Tdebug A
# Tdebug D
# Tdebug ^J
# Tdebug U
# Tdebug ^
# Tdebug ^R
# Tdebug B
# Tdebug ^[
# Tdebug M
# Tdebug ^L
# Tdebug ^N
# Tdebug Space
# Tdebug N
# Tdebug L
# Tdebug ^?
# Tdebug \
# Tdebug X
# Tdebug Q
# Tdebug .
# Tdebug =
# Tdebug S
# Tdebug H
& Tdebug Insert QP Slot Info
# Tdebug ?
& Tdebug Describe
# Tdebug ^S
# Tdebug ^W
# Tdebug ^V
# Tdebug F
# Tdebug W
# Tdebug V
& Tdebug Help
& Tdebug Insert Object Info
& Tdebug Qprint Setup
& Tdebug Qprint Var Setup
& Tdebug Qvector Print
T+8+fq(+4)[20[3
<%3,-q2f2u3q3&1@;q3"l0'>
f[BBindq3-1*5,q3*5g2q:..o(0)+q2