Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/zbabyl.elib
There are no other files named zbabyl.elib in the archive.
@W
[0+8+FQ(+4)[1
0FO10F"G+Q1'
+FQ()+4U1
FQ1"L0'
,Q1:M(Q1+4(]1]0))
   1X^s_B|eDIlF_rg!yg=jye@3+H1#J]2IdA7QX$cU!uXW	W	V"	.X<	BV	TVx	eTQ	vUn
UH
Xp
-VA
@X

VVI
lVRVZQ)"Pb0OAT'NQ1[RgS{uQ
W>
en
&cv
8^C
KY@
T[R
]\
g\B
qL
z-p.@=A%G"')=6Z>BIO*u^[=gs]s[|IE%"lY"nw/8s:%xC%aO&\X&q`Yuh/
v):)k)]+*8)OK)"U*Ia*o*1~*^Dp$nc+U3!<JF OvYcm
"wY}t?NRMhp|V?&$?RUk;~l';[R)hH-236GTY7k\Ep|T'
CP`Zjayu6tzvhw$+}5}EGxaUyOfx
vBz:y	-x7:|Iz[{l|*|	;
^&t0t7JabylB^S#sBabyle^X& Babyl Message Descriptor& Babyl Message References & Check For Expired Messages%& Compile Filter AFTER Expression#& Compile Filter AND Expression&& Compile Filter BEFORE Expression"& Compile Filter FILTER Prompt+& Compile Filter FILTER-CALL Expression'& Compile Filter FOLLOWS Expression%& Compile Filter LABEL Expression!& Compile Filter LABEL Prompt#& Compile Filter LET Expression#& Compile Filter NOT Expression"& Compile Filter OR Expression(& Compile Filter PRECEDES Expression&& Compile Filter SEARCH Expression,& Compile Filter SEARCH-FIELD Expression-& Compile Filter SEARCH-HEADER Expression+& Compile Filter SEARCH-TEXT Expression"& Compile Filter STRING Prompt& Compile Lisp Close Paren& Compile Lisp Expression!& Compile Lisp Filter to Teco& Compile Lisp Optional& Compile Lisp Prompt& Compile Lisp String& Compile Lisp Variable& Compile Lisp Whitespace!& Compile Prompted Expression$& Continue Find Filtered Message$& Continue Map Filtered Messages'& Continue Survey Filtered Messages& Edit Filter& Field Bounds& Filter After-P& Filter Before-P& Filter Call& Filter Failure& Filter Search-P& Header Bounds& Label Bounds& Map Filtered Messages& Message Date as Sort Key& Next Filtered Message& No User Label-P& Prepare to Use Filter& Prompt for Babyl Filter& Prompt for Babyl Label& Query& Quiet Error Handler& Read One Filter
& Remark& Set Date& Setup ZBABYL Library& Show Filter"& Simplify ZMAIL Header Search& Survey Filtered Messages& Text Bounds& Update Babyl Option& Whole Bounds& ZBabyl Append Refs<ENTRY>Edit Babyl Mail FilesEdit FilterExit Babyl TemporarilyRead Filter LibrarySet Event DateSet Expiration DateSet Start DateSet Stop DateShow FilterSort All Messages By DateSurvey All MessagesSurvey Deleted MessagesSurvey Expired MessagesSurvey Filtered MessagesSurvey Labeled Messages%Survey Messages Containing StringSurvey RemindersSurvey Seen MessagesSurvey Undeleted MessagesSurvey Unlabeled MessagesSurvey Unseen MessagesYank ReferencesZBabyl Startup^R Babyl Mail File Space~DIRECTORY~~DOC~ # Babyl #~DOC~ # Babyl @~DOC~ # Babyl K~DOC~ # Babyl Y~DOC~ # Babyl ^E~DOC~ # Babyl ^S~DOC~ # Babyl ^X~DOC~ # Babyl |~DOC~ & Babyl Expunge~DOC~ & Babyl Insert Refs$~DOC~ & Babyl Message Descriptor$~DOC~ & Babyl Message References&~DOC~ & Check For Expired Messages+~DOC~ & Compile Filter AFTER Expression)~DOC~ & Compile Filter AND Expression,~DOC~ & Compile Filter BEFORE Expression(~DOC~ & Compile Filter FILTER Prompt1~DOC~ & Compile Filter FILTER-CALL Expression-~DOC~ & Compile Filter FOLLOWS Expression+~DOC~ & Compile Filter LABEL Expression'~DOC~ & Compile Filter LABEL Prompt)~DOC~ & Compile Filter LET Expression)~DOC~ & Compile Filter NOT Expression(~DOC~ & Compile Filter OR Expression.~DOC~ & Compile Filter PRECEDES Expression,~DOC~ & Compile Filter SEARCH Expression2~DOC~ & Compile Filter SEARCH-FIELD Expression3~DOC~ & Compile Filter SEARCH-HEADER Expression1~DOC~ & Compile Filter SEARCH-TEXT Expression(~DOC~ & Compile Filter STRING Prompt$~DOC~ & Compile Lisp Close Paren#~DOC~ & Compile Lisp Expression'~DOC~ & Compile Lisp Filter to Teco!~DOC~ & Compile Lisp Optional~DOC~ & Compile Lisp Prompt~DOC~ & Compile Lisp String!~DOC~ & Compile Lisp Variable#~DOC~ & Compile Lisp Whitespace'~DOC~ & Compile Prompted Expression*~DOC~ & Continue Find Filtered Message*~DOC~ & Continue Map Filtered Messages-~DOC~ & Continue Survey Filtered Messages~DOC~ & Edit Filter~DOC~ & Field Bounds~DOC~ & Filter After-P~DOC~ & Filter Before-P~DOC~ & Filter Call~DOC~ & Filter Failure~DOC~ & Filter Search-P~DOC~ & Header Bounds~DOC~ & Label Bounds!~DOC~ & Map Filtered Messages$~DOC~ & Message Date as Sort Key!~DOC~ & Next Filtered Message~DOC~ & No User Label-P!~DOC~ & Prepare to Use Filter#~DOC~ & Prompt for Babyl Filter"~DOC~ & Prompt for Babyl Label~DOC~ & Query~DOC~ & Quiet Error Handler~DOC~ & Read One Filter~DOC~ & Remark~DOC~ & Set Date ~DOC~ & Setup ZBABYL Library~DOC~ & Show Filter(~DOC~ & Simplify ZMAIL Header Search$~DOC~ & Survey Filtered Messages~DOC~ & Text Bounds~DOC~ & Update Babyl Option~DOC~ & Whole Bounds~DOC~ & ZBabyl Append Refs~DOC~ <ENTRY>~DOC~ Edit Babyl Mail Files~DOC~ Edit Filter ~DOC~ Exit Babyl Temporarily~DOC~ Read Filter Library~DOC~ Set Event Date~DOC~ Set Expiration Date~DOC~ Set Start Date~DOC~ Set Stop Date~DOC~ Show Filter#~DOC~ Sort All Messages By Date~DOC~ Survey All Messages!~DOC~ Survey Deleted Messages!~DOC~ Survey Expired Messages"~DOC~ Survey Filtered Messages!~DOC~ Survey Labeled Messages+~DOC~ Survey Messages Containing String~DOC~ Survey Reminders~DOC~ Survey Seen Messages#~DOC~ Survey Undeleted Messages#~DOC~ Survey Unlabeled Messages ~DOC~ Survey Unseen Messages~DOC~ Yank References~DOC~ ZBabyl Startup"~DOC~ ^R Babyl Mail File Space~DOC~ ~Filename~~Filename~
~INVERT~K0fo..QFilter ..D"e
[0[..D
:g..Du..D
0u0
<q0-128;5*q0+1:f..DA%0>
1m(m.m& Alter ..D)  	 
"|/(())!'!
q..Dm.vFilter ..D
]..D]0'
1,m(m.m& Get Library Pointer)TPARSE"e
m(m.mLoad Library)TPARSE'
:i*fo..QBabyl K Msgsm.vBabyl K Msgs
:i*fo..QBabyl K Refsm.vBabyl K Refs
:i*fo..QBabyl @ Refsm.vBabyl @ Refs
m(m.m& Get Library Pointer)ZBABYL
qLm.mSurvey Remindersm.vMM Survey Reminders
qLm.mSurvey All Messagesm.vMM Survey All Messages
qLm.mSurvey Messages Containingm.vMM Survey Messages Containing String
qLm.mSurvey Deleted Messagesm.vMM Survey Deleted Messages
qLm.mSurvey Undeleted Messagesm.vMM Survey Undeleted Messages
qLm.mSurvey Labeled Messagesm.vMM Survey Labeled Messages
qLm.mSurvey Unlabeled Messagesm.vMM Survey Unlabeled Messages
qLm.mSurvey Seen Messagesm.vMM Survey Seen Messages
qLm.mSurvey Unseen Messagesm.vMM Survey Unseen Messages
qLm.m& Babyl Expungem.vMM & Babyl Expunge
qLm.m# Babyl Ym.vMM # Babyl Y
qLm.m# Babyl Km.vMM # Babyl K
qLm.m# Babyl |m.vMM # Babyl |
qLm.m# Babyl ^Sm.vMM # Babyl ^S
qLm.m# Babyl ^Xm.vMM # Babyl ^X
:i*fo..QBabyl Mail File Namesm.vBabyl Mail File Names
:i*Remindersm.vFilter Default
1m.vFilter Verbose
0fo..QBabyl ^X Dispatch"e
0m.vBabyl ^X Dispatch
m(m.mMake Prefix Character)Babyl ^X Dispatch'
[D
qBabyl ^X DispatchuD
m.mEdit Babyl Mail Filesu:D()
m.mExit Babyl Temporarilyf(u:D())u:D()
m.mSet Event Dateu:D(E)
m.mSet Start Dateu:D(R)
m.mSet Stop Dateu:D(S)
m.mSet Expiration Dateu:D(X)
m.m^R One Windowu:D(1)
m.m^R Two Windowsu:D(2)
m.m^R Grow Windowu:D(^)
m.m^R Other Windowu:D(O)
]D
1fo..QBabyl Survey Before Expungem.vBabyl Survey Before Expunge
0fo..QBabyl G Done Hook"e
@:i*|m(m.mZBabyl Startup)|m.vBabyl G Done Hook'
0fo..QZBabyl Init Loaded"e
m(m.mRead Filter Library)EMACS;ZBABYL LISP'
fs%tofci"nm(m.mLoad Library)ZMOUSE'
1,m(m.m& Get Lib)Babyl"em(m.mLoad Lib)Babyl'
f:m(m.mBabyl)6:i*Cfsechodisplay
@ft
1m(m.m& Yes or No)5:i*Cfsechodisplay
@ft

0fsechoactive
.:i*Expiration
1,(f):m(m.m& Set Date)H[0[1[2[T
48u1ff&2"nu1'q1:\u1
1u2ff&1"nu2'
:iTExpiration
q2"l-q2u2:iTStop'q2:\u2
1,fEvent date: u0
m(m.mSet Start Date)1 hours before 0
m(m.m& Set Date)2 hours after 0
):i*Start
0,(f):m(m.m& Set Date)(:i*Stop
0,(f):m(m.m& Set Date)
"l0'"#
1,fT Date: '[D
0[0
f~Buffer Name*Babyl*"e
m(m.m& Push Message)
m(m.m& Bounds of Header)fsbound
'"#z-.[1
jf[vbwf[vz
qBabyl Header/Text Separatoru0
s0fkcb,.fsbound
.-(z-q1)"g@fn|js0l|'
"#fnz-q1j'
@fn|0,fszfsbound|'
j
"l<:s
T-Date:;0lk-l>'
fqD:"g:iDnow'
qD,m(m.m& Parse Date)[D[W
"nfsdate:fsfdconv,qDm(m.m& Compare Dates):"g
m(m.m& Remark)Warning: The specified T-Date, D, is in the past.''
:s
T-Date:"e
zjq0"e-l'iT-Date: 
0:l'"#:ki '
qW"ngWi, 'gD
j.fm(m.mSurvey Filtered Messages)Expired0fm(m.mSurvey Filtered Messages)Reminders*fm(m.mSurvey Filtered Messages)All8fm(m.mSurvey Filtered Messages)Containing-String.fm(m.mSurvey Filtered Messages)Deleted0fm(m.mSurvey Filtered Messages)Undeleted.fm(m.mSurvey Filtered Messages)Labeled0fm(m.mSurvey Filtered Messages)Unlabeled+fm(m.mSurvey Filtered Messages)Seen-fm(m.mSurvey Filtered Messages)Unseenw0f[modemac
[0[1[2[3[4[50[60[7
fm(m.m& Survey Args)u2u1
m.m& Babyl Survey Several Messagesu3
m.mu4
m.m& Maybe Flush Outputu5
m(m.m& Push Message)
q1m(m.m# Babyl J)
0fsVBw-s
qMessage Number-1uMessage Number
m.m& Quiet Error Handler[..P
-1f[noquit
q2:@<1,m4;
m51u71;
q6"e0m3w'%6
1,m3w
m51u71;
zj>f"nu1
q1-(@feQIT)"efg:i*Abortedf;Babyl-Command-Abort'"#
ft... Survey has been flushed due to error.

q1-(@fePUR)*(q1-(@feURK))"e
ft    No more memory.
q*Survey* Bufferf"n[..O
zj-11l
ft Making space by 
."nftflushing 10 survey buffer lines.
lzk'
"#ftflushing text in survey buffer.
hk'
22.f?]..O'w'
"#ft    1'
ft
'1u7'
qFilter Verbose"n
q7"e
q6"nftDone.
'"#m(m.m& Filter Failure)'''
 :i*[2
qFilter Default[0
0fo..QBabyl Filter-Comment 0f"n[1
m(m.m& Remark)No 12.'
"#m(m.m& Remark)No messages matching filter "0"2.!''!'
:?
fserr-(@feQIT)"efserrfserrthrow'
fserr-(@feURK)"e22.f?fserrfserrthrow'
fserr-(@fePUR)"efserrfserrthrow'
f:m(m.m& Error Handler)Zfsmodified"n
m(m.m& Query)Save current state first? "n
@m(m.m# Babyl S)''
q..O(f[bbind
q..O[O
)[..O
m.m& Message Date as Sort Key
m.m& Parse Date
:i*Cfsechodisplay
qBabyl No Reformation Option"n
@ftThis may not work well unless I can reform some of your message headers.
Should I do that where necessary? 
1m(m.m& Yes or No)'"#1'(
1f[noquit
0f[clkmacro
0,fszfsbound
)"n
@ftChecking headers... 
m.m& Reform Header
j<:s
;1a-1"nmRw'
0,fszfsbound>'
js.fsvb
z[Z
@ftSorting... 
1:<"l:'mDs$
"l@ftReverse '@ftSort complete.
>(
0uQ
)f"n[01uQftWarning: Sort failed due to error:
 0
'
qZ-Zf"n:\[01uQftWarning: Buffer changed size (by 0) during sort.
'
0fsvbwj2fwf~Babyl Options"n1uQ
ftWarning: Babyl file in improper format after search.
'
qQ"nftThis behavior should not have happened. Please report it as a bug.
'
0fsechoactive
m(m.m& Babyl Select Message)
m(m.m& Calculate Message Number)
ds
*** EOOH ***
.,(s
.):fb
Date::"l0'
.f[vbws
rz-.f[vz
g(jmP(qO[..Ohk))
jfsfdconvU0[0
m(m.m& Check For Expired Messages)"n
0u..H
:i*Cfsechodisplay
@ftChecking for expired mail...
0[Filter Verbose
m(m.mSurvey Filtered Messages)Before-Expunge
]Filter Verbose
q..H"n
q*Survey* Bufferf"n[..Ojl.-z"n1u0l.-z"n2u0''
]..O''
q0"g
fslisten"e
ft--The above messageq0-1"gfts have'"#ft has'
ft expired--'
[5
0f[helpmac
:i*Cfsechodisw
@ftEdit the survey (Y, N, or ?): 
<fi:fcu5
q5- "efg!<!>'
q5-"eNu5'
q5fsechoout
!"!q5fYN'"l
:i*Cfsechodis
!"!@ftNo message will be deleted unless you've marked it with a "D".
Do you want to edit the survey (Y or N): !''!!<!>'
0;>
q5-N"n
:fo..QMM # Babyl E"lm.m# Babyl Em.vMM # Babyl E'
fs^RInit[MM # Babyl E
-1[Babyl Survey Before Expunge
0u..H@m(m.mSurvey Menu)'
:i*Cfsechodis
q5-N"e@ftNo action taken on messages shown. '
@ftExpunging... ''
fm(m(m.m& Get Library Pointer)BABYLm.m& Babyl Expunge)(
q0"g@ftExpunge complete.
0fsechoactive'
):qBabyl Survey Before Expunge
qF"l0'
0fo..QBabyl Expiration-Check-Time Option
fqT"l:iTJuly 4, 1976'
0fo..QBabyl Expiration-Check-Interval Option
fqI"l:iIone day'
qT,(:i*I before now)m(m.m& Compare Dates)"l0'
qF"e
m(m.m& Query)Check for expired messages? '
30:"n:fi:fcfN:"lfiw
m(m.m& Remark)Not checking for expired messages.w0''
fsdate:fsfdconvm(m.m& Update Babyl Option)Expiration-Check-Time
-1	[0[1[2[3[4[5
qFilter ..D[..D
f[dfile
f[bbind
0m.vAll Babyl Filter Names
5,fInit fileu1et1
fsdfileu1
@ft
Reading Lisp file 1
e[fne]
1:<er@y>"n0'
j<:s
(define-filter;
fkcc.(m(m.m& Read One Filter)
)jfll>
j<:s
(load;:@fll1a-"!'!"e
.+1,(@fll.-1)x*u1m(m.mRead Filter Library)1'>
:i4j
1:<:s*FILE-FILTER-DAEMONS*;
.u0-fulc@fll-4f~SETQ@:;
q0j:@fll!"!1a-'@:;
c@fl-1u0w:@fll1a-(@:;c
<.,q0:fb(;
:@fll.+1,(@fll.-1)fx5
<.,q0:fb(;
:@fll1au1
2:@fll@flx2
@fll:i31a-)"n
:@fll1a-"!'!"nomit'
.+1,(@fll.-1)x3:i33'
:@fll1a-)"nomit'c
:i*messages matching "2"!''!fo..QBabyl Filter-Comment 2[0
@:i4|4@ftChecking for 0...
1,m(m.m# Babyl #)32f"ew@ft No messages
'"#:\[0@ft 0 message
m0-1"n@fts']0'
@ft processed.

|]0
!mit!>
fq4"g@:i4|0[Filter Verbose
4
]Filter Verbose|
et5fsdfileu5
q4m.vBabyl Filter-Daemons 5
:@fll1a-)@:;c>>
"lfqBabyl Mail File Names"goNoFile''
:i1j1:<:s*OTHER-MAIL-FILE-NAMES*;
.u0-fulc@fll-4f~SETQ@:;
q0j@f
 	l!"!1a-'@:;
c@flu0w0s"!'!
<.,q0:fb;
.,(.,q0fb.-1)x2:i112
>q1uBabyl Mail File Names>
!NoFile!
@ft
0fsechoactive
0
qFilter ..D[..D
g(flx*(f[bbindw))
j<!Top!1:<:@fll>:@;
1a-;"ekoTop'
1a-:"edoTop'
!"!2f=':"e2doTop'
1af'():"lcoTop'
1a-|"edi"s/|-di"!''!
oTop'
1a-"!'!"e@flloTop'
fwl>
jc2@:fll1a"a.,(@fll.)'"#.+1,(@fll.-1)'x*[F
"l0fo..QBabyl Filter F"n''
:i*
@:fll1a-("e
2@:fll1a-)"n
-fllc@:fll@flxA''
zjr-2@fll0,1a-"!'!"e
.+1,(@fll.-1)x*'"#
0'm.vBabyl Filter-Comment F
j<:s(MSG-FITS-FILTER-P ;
@:fll@flf~A"noLose'
2:@fll!"!1a-'"ec'
g(1a-"!'!"e.+1,(@fll.-1)'"#1a"a.,(@fll.)'"#oLose''x*(
-fulflki(FILTER-CALL "!'!))
i")!'!>
j<:s#.USER-ID;fkdfsxuname:f6[1i"1"!''!>
j<:s(NOT KEYWORDS)(NULL KEYWORDS);fkdi(NOT (LABEL))>
j<:s(SEARCH-WITH-MSG ;-@flkiSEARCH-TEXT >
j<:s(GET ;@:fll@flf~STATUS"noLose'-@flk@flkiLABEL
@:fll1a-("eoLose'
!"!1a-'"ed'
1a-"!'!"ni"!'!@flli"!'!'>
j<:s(MEMQ ;-@flkiLABEL 2:@fll@flf~KEYWORDS"noLose'@flk
-@f 	
k0a-"!'!"n-@flli"@flli"!''!'>
[0[10[2
j<:s(MSG-HEADER-ADDRESS-SEARCH(MSG-HEADER-SEARCH;fk+18"n1u2'
:@fll@flf~RECIPIENT"e:i0(TO CC)'
"#!"!1a-'"noLose'cflx0'
2@:fll@flx1
q2"n1,(fq1-1):g1u1:i1"1"!''!'
-fulflkg(q0,q1m(m.m& Simplify ZMAIL Header Search))>
jfllr-@fll1a-("n1a:"aoLose''
@flx*m.vBabyl Filter F

!Lose!
ftFilter F failed to be defined.

0ff[bbindw
g()-djd
<1:<:@flk>:@;
i(SEARCH-FIELD @flli g()i)>
j1:<2fllji(OR zji)j>
hfx*.ff"n"e:iBabyl @ Refs'
:m(m.mYank References)'
m(m.m& Babyl Message Descriptor)[0
m.m& ZBabyl Append Refs
qBabyl @ Refs,q0mAuBabyl @ Refs
m(m.m& Babyl Message References)
Included-Msgs:
References:
Included-References:
In-Reply-To:u0
qBabyl @ Refs,q0mAuBabyl @ Refs
m.[P@fn|qP"lfsz+qPj'"#qPj'|
:i*References,qBabyl @ Refsm(m.m& Babyl Insert Refs)
:iBabyl @ Refs,[1[2
m(m.m& Push Message)
ff&1*"e
m(m.m& Babyl Select Message)'
"#m(m.m# Babyl J)'
m(m.m& Add Basic Label)deletedw
"em(m.m& Bounds of Header)w'
.,zx1
zj0a-10"n:i11
'
qBabyl K Textu2
:iBabyl K Text2
1
m(m.m& Babyl Message Descriptor)[0
m.m& ZBabyl Append Refs
qBabyl K Msgs,q0mAuBabyl K Msgs
m(m.m& Babyl Message References)
Included-Msgs:u0
qBabyl K Msgs,q0mAuBabyl K Msgs
m(m.m& Babyl Message References)
References:
Included-References:
In-Reply-To:u0
qBabyl K Refs,q0mAuBabyl K Refs
#[0[1[2
ff&1"n"gm(m.m# Babyl J)'
"#:iBabyl K Msgs
:iBabyl K Refs
:iBabyl K Text''
.[P@fn|qP"lfsz+qPj'"#qPj'|
.(zj0a-10"ni
'
gBabyl K Text)j
m.m& Babyl Insert Refsu0
:i*Included-Msgs,qBabyl K Msgsm0
:i*References,qBabyl K Refsm0
:iBabyl K Refs
:iBabyl K Msgs
:iBabyl K Text
qMessage Number:\u0
:fo..qBabyl Modified Messagesu1
q:..q(%1)u2
:i:..q(q1)20m0

)[0[1
qBabyl Header/Text Separator[2
fq1:"gzjoFix'
j.,(s

2kcc.):fb
0::"l.-qP"l-(fsz-qP)uP'
i0:
2r'"#
s


2kcc-@f 	
l
.-qP"l-(fsz-qP)uP'
i,'i
	g1
!Fix!
f[vbwf[vz
.,(-:s
0"e'c.)ffsbound
js:@f
	 l
fsshposu0
<l.-z;q0, i@f 	k>
=[0[1
fq0:"g'fq1:"g'
fq0"g:i00,'
:i*0
	1s:i*[4[0[1[2.[3fnq3j
m.m& ZBabyl Append Refs
fsvb-1f[vb
js
rfsz-.f[vz
bu0zu1
:i2
j<q0,q1fsbound
:s4;
.fsvbw:s
:"lzj'"#r'fsz-.fsvz
q2,(j@f
 	lw.,(zj-@f
 	l
.)x*)m(m.m& ZBabyl Append Refs)u2
>
q2\1:<
[0[1[2.[3fnq3j
fsvb-1f[vb
js
r.u0
b,q0:fb
Message-Id:"lfb<r.,(fb>.)x*'
b,q0fb
Date:@f 	l.,(s

r-@f	 
l.)x1
b,q0fb
From:@f 	l.,(s

r-@f	 
l.)x2
f[bbindiMsg of 1 from .f[vbw
g2j:s<"l.,(s>r.)fsbound'
zj-:s@ at :"lzji @ fsosteco"eiMIT-'g(fsmachine:f6)'
0,fszfsboundwhfx*
>w:i*[0[1
qFilter Defaultu0
fq0:"g:i0Filter-1'
0fo..QAll Babyl Filter Names"e
:fo..QBabyl Filter [0
:fo..QBabyl Filter [1
q:..Q(0)[2
f[bbind
q1-q0/q2<q:..Q(q0)u3g(13,fq3:g3)q0+q2u0q1-q0@;i,>
hfx*(f]bbindw]2]1]0
)m(m.m& Make Babyl Label Table)m.vAll Babyl Filter Names'
:f"l
qAll Babyl Filter Names[CRL List
:i*[CRL Prefix
fqF<fqF-1:gFf: 	:;0,fqF-1:gFuF>
m(@:i*|32+16+2+1,m(m.m& Read Command Name)F (0): |)u1'
"#q0(]1]0:i*(
[0[1)u1)u0'
fq1"gq1u0'
fq1"loPunt'
qAll Babyl Filter Namesf"n[B
0:foB0f"gu0q:B(q0)u0']B'
q0m.vFilter Default
q0(]1]0
)uF
ff&1"n
0fo..QBabyl Filter F"e
m(m.m& Query)A filter named F does not exist.  Create it? "eoPunt'
m(m.m& Edit Filter)''
):m()
!Punt!:i*Abortedf;Babyl-Command-Abort
0fo..QBabyl Filter F[0
fq0"l:i*NSF	No Such Filterfserr'
5fsqvector
ff&2"e
m.m& Compile Lisp Expression
m.m& Compile Lisp Close Paren
m.m& Compile Lisp Prompt
m.m& Compile Lisp String
m.m& Compile Lisp Optional
m.m& Compile Lisp Variable
m.m& Compile Lisp Whitespace
@:i*|:i*SYN	Syntax error in filterfserr|[S
qFilter ..D[..D'
f[bbindwq..O[I
g0jmCymW
0,1a-("n
@flf~T"e:i*1'
@flf~NIL"e:i*0'
mS'
cmW
.,(@fll.)x*[N
:m(m.m& Compile Filter N Expression)<:@fll1a-;:@;l>mW1a-)"nmS'cJ0,1a-("noVar'cmW
.,(@fll.)x*[N
f~NPROMPT"nmS'mW
0,1a:"amS'.,(@fll.)xN
:m(m.m& Compile Filter N Prompt)
!Var!
1a"a.,(@fll.)x*[1
q:B(0)-1[2
<q2@;
f~:B(q2)1"eq:B(q2+1)'
q2-2u2>'
mSI:i*(:i*(
[0[7[8
)u8)u7
qI[..O
mW1a-"!'!"nmPu0'
"#.+1,(@fll.-1)x0'
]..O
[1[2[3[4[5[6
f[bbind
g0
0u10u2
0u30u4
j<:s"';
0a-"!'!"e%1'
"#q1"gq1-1u1'"#%3''>
j<:s<>;
0a-<!>!"e%2'
"#q2"gq2-1u2'"#%4''>
j<:s;0,1a-"n-d':c>
j<:s;ric>
j<:s;ric>
:i5:i6
q3"gq3,":i5!'!'
q4"gq4,<:i6!>!'
:i556
j
fq5"gi!g5i!'
i7zji8i
:i5:i6
q1"g!"!q1,':i5'
q2"g!<!q2,>:i6'
:i556
fq5"gi!g5i!'
hfx*Yf[bbind
qI[..OmW
g(.,(@fll.)x*(]..O))
j<.-z;1a:"a1a--"nmS''c>
zjiji
hfx*TqI[..OmW
:i*(:i*(:i*(
)[2)[1)[0
1a-)"nmQ02'
"#@:i*|012|' mW0,1a-("nmS'c
q:B(0)[1fnq1u:B(0)
[1
<mW1a-(@:;c
q1+2u1
qB[..Oq1*5-z"gzj2*5,0i'
]..O
.,(@fll.)x*u:B(q1-1)
mWmPu:B(q1)
mWmE>
q1u:B(0)
mEmC(mE)Mf[bbind
i1
<qI[..O
mW0,1a-)"ec
]..Ohfx*'
g(mC(]..Oif"nw))i'
>Mf[bbind
i0
<qI[..O
mW0,1a-)"ec
]..Ohfx*'
g(mC(]..Oif"ew))i'
>1f[bbind
qI[..O
g(mC(mE]..O))
i"'e
hfx*7mOmLmS, ,E
f~0mLmS, ,"nq0'
:i*mLmN"'e=m(mQ:i*)[F
mE
1,m(m.m& Compile Lisp Filter To Teco)mQmWmS(mE)mQmHmS(mE)mQmTmS(mE)<1,(m.m& Read Line)m(m.m& Compile Prompted Expression)Em.m& Prompt for Babyl Labelm(m.m& Compile Prompted Expression)Fm.m& Prompt for Babyl Filterm(m.m& Compile Prompted Expression)[0[1[2[3
u0u1
@:i*|q0,m1: |u2
m(mQm2(mE))u3
fq3"l
:i*Abortedf;Babyl-Command-Abort'
f[bbind
.(g3)j
fq3<1af"!'!:"li'c>
hfx*4f[bbind
g(mVmF)
g(mOmS)
hfx*(qI[..OmE)1f:m(m.m& Compile Filter FOLLOWS Expression)6f[bbind
g(mVmF)
g(mOmAnow)
hfx*(qI[..OmE)2f:m(m.m& Compile Filter PRECEDES Expression)6f[bbind
g(mVmF)
g(mOmBnow)
hfx*(qI[..OmE)i1,m(m.m& Get Library Pointer)ZMENU[0
q0"em(m.mLoad Library)ZMENUu0'
f:m(q0(]0)m.mEdit Filter)k1,m(m.m& Get Library Pointer)ZMENU[0
q0"em(m.mLoad Library)ZMENUu0'
f:m(q0(]0)m.m& Edit Filter)A:i*Show Filter
f(m.m& Show Filter,:m(m.m& Filter Call)~0fo..QBabyl Filter F[0
fq0"l:i*NSF	No such filterfserr'
f[bbind
iFilter F ...
 
Lisp Source:
g0
.[0
i
Compiled Teco:

1:<g(m(m.m& Compile Lisp Filter to Teco))
>"nq0,.ki
The above Lisp expression will not compile.'
i

htjl.,(:l.)js*** EOOH ***.,z,js*** EOOH ***.f[vb
.,(:s
"eh'r.)*js*** EOOH ***.f[vb
:s
"eh'c.,zjs*** EOOH ***.f[vb
.[0:s
"ezj'"#r'.[1
q0,q1:fb
:"e0'
.,(.,q1:fb
"eq1'"#r.')"ff&2"e:i*w0'
,:fb_:i*
ff&2"e0'
fqD:"gfsdate:fsfdconvuD'
,x*,qDm(m.m& Compare Dates)"l-1'"#0'_:i*
ff&2"e0'
fqD:"gfsdate:fsfdconvuD'
,x*,qDm(m.m& Compare Dates)"g-1'"#0'Kff&2"e-1'
f[vbwf[vz
ffsboundwj
<:fb ;fb,0,1a-,"n0'c>
-1]:i*Survey by Filter
f(m.m& Continue Survey Filtered Messages,1:m(m.m& Filter Call){m(m.m& Compile Lisp Filter to Teco)[X
m.m& Whole Bounds
m.m& Header Bounds
m.m& Text Bounds
m.m& Field Bounds
m.m& Label Bounds
m.m& Filter After-P
m.m& Filter Before-P
m.m& Filter Search-P
m.m& No User Label-P`m(m.m& Prepare to Use Filter)
fm(m.m& Survey Filtered Messages)& Next Filtered Message	[Cff&2"n:fcuC'"#
:i*Cfsechodisp
!ver!
ff&2"n:i*Error in execution stream.f;Babyl-Command-Abort'
@ftCommand to Map: fi&177.:fcuC
@ftC'
[1[2[3
qC-"e0f;Babyl-Command-Abort'
qC-O"e
f[dfile
5,fMap, filing tofsdfile
fsdfilem.vBabyl O Filename
f]dfile
@:i1|m(m.m# Babyl J)w 1,m(m.m# Babyl O)|
:i2File:i3Filedok'
qC-D"e
@:i1|0,m(m.m# Babyl D)|
:i2Delete:i3Deletedok'
qC-U"e
@:i1|m(m.m# Babyl U)|
:i2Undelete:i3Undeletedok'
qC-L"e
ff&2"n:i*'"#
m(m.m& Prompt for Babyl Label)Map, attaching label: '[L
fqL:"g:i*No label specifiedf;Babyl-Command-Abort'
@:i1|m(m.m# Babyl J)w m(m.mLabel Message)L|
:i2Attach label "L" to!''!
]L:i3Labeledok'
qC--"ef&2"efi&177.:fcuC@ftCqC-L"noops''
ff&2"n:i*'"#
m(m.m& Prompt for Babyl Label)Map, removing label: '[L
fqL:"g:i*No label specifiedf;Babyl-Command-Abort'
@:i1|m(m.m# Babyl J)w -m(m.mLabel Message)L|
:i2Remove label "L" from!''!
]L:i3Unlabeledok'
!ops!
:i*Cfsechodispw@ft O=Output, D=Delete, U=Undelete, L=Label, -L=Unlabel
over
!k!:i*2 messages matching filter
q1,q3:m(m.m& Map Filtered Messages)vff&2"e:i*,(:i*No action taken)'"#,f"ew:i*OK''(
m.m& Continue Map Filtered Messages,1:m(m.m& Filter Call)m(m.m& Prepare to Use Filter)
m.m& Next Filtered Message[0
qFilter Verbose[1
[2
[3
0[4
[5
@:i*|fgft** Failed **|[6
qMessage Number[7
0f[vbw0f[vzwj
@fn|jm(m.m& Calculate Message Number)wq7m(m.m# Babyl J)wf|
0[Message Number
<m0;%4
qMessage Numberu5
q1"nftMessage q5:=ft: '
q6[..Nq5m2w]..N
q1"nft3.
'
>wq1"nq4"nftMap Complete.
'"#m(m.m& Filter Failure)''
q4[:i*Find using Filter
f(m.m& Continue Find Filtered Message,1:m(m.m& Filter Call)m(m.m& Prepare to Use Filter)
m(m.m& Next Filtered Message):"l
qFilter Verbose"n
m(m.m& Filter Failure) follow'
0f;Babyl-Command-Abort'
M0[0
[10f[vbw0f[vz.u1
@fn|0,fszfsboundwq1j|
<:s
"e0'
%0
.,(sr.)fsbound
mX:@;zj
0,(fsz)fsbound
>
]..N]*w]*w
m(m.m& Babyl Select Message)
qMessage Number+q0uMessage Number
-18ff"e@:m(m.mEdit Filter)'
"#@:m(m.mShow Filter)'y[10[2
20:"e
1u2
:i*CfsEchoDisplay
@ftKind of survey (A,D,F,L,M,R,S,X,UD,UL,US, or ?): '
<2,m.ifi:fcu1
q1-:@;>
(q1-177."'e)(q1-"'e)"n'
q1-32"lq1@u1'
q2"n@ft1'
fsRGETTY"eft
'
q1-A"e
f:m(m.mSurvey All Messages)'
q1-D"e
f:m(m.mSurvey Deleted Messages)'
q1-F"e
f@:m(m.mSurvey Filtered Messages)'
q1-L"e
fm(m.mSurvey Labeled Messages)'
q1-M"e
f@:m(m.mSurvey Messages Containing String)'
q1-R"e
f:m(m.mSurvey Reminders)'
q1-S"e
f:m(m.mSurvey Seen Messages)'
q1-U"e
<q2"e20:"e
1u2
:i*CfsEchoDisplay
@ft^SU (D,L,S): ''
2,m.ifi:fc@u1
q2"n@ft1'
q1-D"ef:m(m.mSurvey Undeleted Messages)'
q1-L"ef:m(m.mSurvey Unlabeled Messages)'
q1-S"ef:m(m.mSurvey Unseen Messages)'
1u2fg@ft
^SU (D,L,S): >'
q1-X"e
f:m(m.mSurvey Expired Messages)'
q1-?"em(m.mDescribe)# Babyl ^S
f:m(m.m# Babyl ^S)'
fg1qBabyl ^X Dispatch
fi[CqC-4110."e?uC'qC&177.uC
qC:fcuC@ftC
fqD/5-qC"gq:D(qC)f"n[0f@m0''
qC-?"e
ftControl-X is a prefix for some Babyl extended commands.
It has these subcommands:

m.m& Maybe Flush
-1[0fqD/5<
q:D(%0)"nmAft   
q0,q:D(q0)m(m.m& ^R Briefly Describe)'>'
fg"[0fn0u..H@v
fsqpptr(
0[..F
f[bbind
f[dfile
fsosteco"e:i*C'"#:i*Z'[C
:i*(Mail Files) c-m-C on a line with a filename selects it, c-] aborts[..J
gBabyl Mail File Names
qBuffer FilenamesqF"n[L
etFfsdfileuF
j<@f
	 l.-z;
0l.,(:l.)xL
etLfsdfileuL
f~LF"e!<!0;>oWin'
>
jgFi
2r'
!Win!0l
m.m^R Babyl Mail File Space[ 
!Retry!
hx*uBabyl Mail File Names
0l.,(:l.):fb:"l0'
qFf"nfsdfile'
0l:x0
et0fsdfileu0
qF"nf~0F"e0''
:i*Cfsechodis
e?0"n@ftFile "0" not found. Try again.!''!0fsechoactivewoRetry'
qF"n@ftSave "F". !''!'
@ftMove to "0" ...!''!
)fsqpunwind
q0,(ff&1"n')@m(m.m# Babyl I)
)
,0a-
"nf:m(qA)'
:m(fs^RInit)f:m(m.m # Babyl ^])0f[modemac
m(m.m& Use Babyl Label Table)
qCRL List
:i*:i*[1
6[CRL Non-match Method
<16+2,q1m(m.m& Read Command Name)Pf"e
:i*CfsEchoDisplayw0'u1
fq1"eq1'
0:foB1f"gu1q:B(q1)u10;'
fg>
0fo..qBabyl 1 Labelabf"nu1'
q1A:i*
[Filter Default
(:i*qF,1@:m(m.m& Filter Call)q-qMessage Number+1[1
q1:\[2
q1-1"n:i*s'"#:i*'[3
0[4
0fo..QZBabyl Init Loaded"e
1u41m.vZBabyl Init Loaded
[0f[dfile
fshsnamefsdsname
fsosteco"e
fsxunamefsdfn1
f6ZBABYLfsdfn2'
"#
etZBABYL-INIT.LISP'
1:<erec>"efsdfileu0
m(m.mRead Filter Library)0'
fsosteco"ef6ZMAILfsdfn2'
"#etZMAIL-INIT.LISP'
1:<erec>"efsdfileu0
-m(m.mRead Filter Library)0''
[..Jf[modech
m(m.m& Babyl Set Mode Line)wfr
"n
m(m.m& Remark)2 new message3.'
45:"n:fif :"lfiw''
q4"e"e''
"n
qBuffer Filenameso..QBabyl Filter-Daemons 0f"nu0m0w']0'
q4"n
0fo..QBabyl Filter-Comment After-Startupf"ew
:i*recent mail and reminders'[1@ftSurveying 1...
]1
1@:f<!Babyl-Command-Abort!:ft
m(m.mSurvey Filtered Messages)After-Startup>'
"#@ftSurveying new message3...
1@:f<!Babyl-Command-Abort!:ft
q1m(m.mSurvey All Messages)>'
y:i*[0
m.vBabyl 0 Option
0f[vbw0f[vzwz-.[Zfnz-qZj
j:s
0:+1"e:k'
"#ri0:
2r'
fq()"e0:k'"#g()'
ZBABYL)Extensions to Babyl inspired by ZMail& Setup stuff ,S ZMail-like Mail file editor subsystem./& Ask a question (string arg) in echo area "& Type string arg in echo areaxC Set the Expiration Date for this message.
Default date is "now". With a negative arg, removes the Expiration DatecC Set the Start/Stop/Expiration date for an Event.
The default is for the message to start 48 hrs in advance and end 1 hr after.
With a positive arg,  n, the message Expires n  hours after the event.
With a negative arg, -n, the message Stops   -n hours after the event.
A precomma arg can change the number of hours in advance the message starts.xC Set the Start Date for this message (Reminder)
Default date is "now". With a negative arg, removes the Start DatelC Set the Stop Date for this message.
Default date is "now". With a negative arg, removes the Stop Dated& Set the start/expiration date,etc for this babyl message
Expects the type of date to be in qTWC Survey expired messages.
Expired messages are those matching the Expired filter.TC Survey reminders.
Reminders are those messages matching the Reminders filter.PC Survey all messages.
Works by surveying messages matching the All filter.C Survey messages with a given string.
The string is prompted for.
Works by surveying messages matching the Containing-String filter.hC Survey messages which have been deleted.
Works by surveying messages matching the Deleted filter.nC Survey messages which have not been deleted.
Works by surveying messages matching the Undeleted filter.FC Surveys messages with a given label.
The label is prompted for.
If no label is given, any message with a user-defined label matches.
Works by surveying messages matching the Labeled filter.LC Survey messages without a given label.
The label is prompted for.
If no label is given, any message with no user-defined labels matches.
Works by surveying messages matching the Unlabeled filter.NC Survey seen messages.
Seen messages are those matching the Seen filter.TC Survey unseen messages.
Unseen messages are those matching the Unseen filter.%& Surveys messages given by some filter.
Surveys messages which pass a generalized filter. 
Name of macro to drive filter (NOT of filter itself) is string arg.	S ...4& Like & Error Handler, but won't run Make SpaceUC Sort Babyl by date forward.
With a negative argument, sorts by date backward. 
S ... 3S Maybe ask about deleting some messages, then expunge.
Expired messages are always prompted about, never deleted behind user's back.
Babyl Survey Before Expunge controls whether the system should even bother
looking for them. -1 means no, 1 means yes, 0 means query.
The filter named Before-Expunge controls which messages are considered for
this scan. The default is to look for messages which are expired but not 
deleted.&S Returns non-zero if should check@C Reads a filter init file. 
The file may be either a normal Filter init or an uncompiled ZMail init.
With a negative argument, loads only new things (doesn't redefine 
existing things)	S ...
S ... wC# Append information about this message to references list.
See m-X Yank References for how to recall this info. 4C Yank references set up by the Babyl @ command.,C# Delete message and append to text to be Y(ank)ed.
K kills current message.  nK kills message n.
0K kills current message, but only appends the text of the message.C# Yank and reset (empty) text saved by K.
nY yanks into message number n.
0Y or -nY just discards the saved text, in case you mistakenly typed K.	& ...	& ...	S ...	S ...r& Reads a filter name with defaulting, calls a continuation.
Amazingly hairy arg conventions. See the source.U& Compile a filter into Teco 
Expects the filter name to be set up already in qF0& Compile a Filter Lisp expression into Teco
S ... 	S ...
S ... 
S ... 	S ...	S ...	S ... & Compiles an AND expression& Compiles an OR expression& Compiles a NOT expression	& ...
& ... 	S ...	S ...	S ...	& ...	& ...	& ...	& ...
& ... 	& ...	& ...	& ...
& ... C Edits a filter&S Internal filter edit entry point/C Shows a filter (source and compiled form)
& ... 	& ...	& ...	& ...	& ...	& ...	& ...	& ...	& ...	& ...C Surveys expired messages S Set up for calling a filter.
qF must have filter name. This binds qX to compiled filter and
qregs A,B,F,H,L,N,S,T,W to utilities for the filter	S ...DC Maps some action across a set of messages (selected by filter)"S Internal mapping entry point
S ... 0C Finds next message matching a given filter	S ...& Compiled filter is in qX 3C Edit Filter (or with an arg just Show Filter)C# Survey-prefix.  Also ignores ^S^Q for VT52 lossage etc.
^S^A or ^SA is M-X Survey All Messages
^S^D or ^SD is M-X Survey Deleted Messages
       ^SUD is M-X Survey Undeleted Messages
^S^F or ^SF is M-X Survey Filtered Messages
^S^L or ^SL is M-X Survey Labeled Messages (reads a label)
       ^SUL is M-X Survey Unlabeled Messages (reads a label)
^S^M or ^SM is M-X Survey Messages Containing String (reads a string)
^S^R or ^SR is M-X Survey Reminders
	^SS is M-X Survey Seen Messages
       ^SUS is M-X Survey Unseen Messages
^S^X or ^SX is M-X Survey Expired Messages
^S? shows this description and then reads another character.
To correct for stupid terminals, any number of ^S's followed by a ^Q
	are ignored.  This is for VT52s, H19s, maybe others.BC# Babyl extended command prefix. Type ^X ? for documentation.6C Enter recursive edit a list of Babyl mail files.G^R At head of non-empty line, selects it.
Otherwise, self-inserts..C Temporarily exit Babyl. Same as Babyl ^]*& Returns a valid label or null string& Returns a filter name*C Survey to run at ZBabyl startup time	S ...j& Setup ZBABYL Library
<ENTRY>
& Query
& Remark
Set Expiration Date
Set Event Date
Set Start Date
Set Stop Date
& Set Date
Survey Expired Messages
Survey Reminders
Survey All Messages
Survey Messages Containing String
Survey Deleted Messages
Survey Undeleted Messages
Survey Labeled Messages
Survey Unlabeled Messages
Survey Seen Messages
Survey Unseen Messages
& Survey Filtered Messages
& Filter Failure
& Quiet Error Handler
Sort All Messages By Date
& Message Date as Sort Key
& Babyl Expunge
& Check For Expired Messages
Read Filter Library
& Read One Filter
& Simplify ZMAIL Header Search
# Babyl @
Yank References
# Babyl K
# Babyl Y
& Babyl Insert Refs
& ZBabyl Append Refs
& Babyl Message References
& Babyl Message Descriptor
& Filter Call
& Compile Lisp Filter to Teco
& Compile Lisp Expression
& Compile Lisp Whitespace
& Compile Lisp Close Paren
& Compile Lisp Prompt
& Compile Lisp String
& Compile Lisp Variable
& Compile Lisp Optional
& Compile Filter LET Expression
& Compile Filter AND Expression
& Compile Filter OR Expression
& Compile Filter NOT Expression
& Compile Filter LABEL Expression
& Compile Filter FILTER-CALL Expression
& Compile Filter SEARCH Expression
& Compile Filter SEARCH-HEADER Expression
& Compile Filter SEARCH-TEXT Expression
& Compile Filter STRING Prompt
& Compile Filter LABEL Prompt
& Compile Filter FILTER Prompt
& Compile Prompted Expression
& Compile Filter SEARCH-FIELD Expression
& Compile Filter AFTER Expression
& Compile Filter FOLLOWS Expression
& Compile Filter BEFORE Expression
& Compile Filter PRECEDES Expression
Edit Filter
& Edit Filter
Show Filter
& Show Filter
& Label Bounds
& Whole Bounds
& Header Bounds
& Text Bounds
& Field Bounds
& Filter Search-P
& Filter After-P
& Filter Before-P
& No User Label-P
Survey Filtered Messages
& Prepare to Use Filter
& Continue Survey Filtered Messages
# Babyl #
& Map Filtered Messages
& Continue Map Filtered Messages
# Babyl |
& Continue Find Filtered Message
& Next Filtered Message
# Babyl ^E
# Babyl ^S
# Babyl ^X
Edit Babyl Mail Files
^R Babyl Mail File Space
Exit Babyl Temporarily
& Prompt for Babyl Label
& Prompt for Babyl Filter
ZBabyl Startup
& Update Babyl Option
T+8+fq(+4)[20[3
<%3,-q2f2u3q3&1@;q3"l0'>
f[BBindq3-1*5,q3*5g2q:..o(0)+q2