( [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) myJI /]Tft*KF kFind Pat^R Extract Sublist^R Frob LISP conditional~DIRECTORY~~DOC~ Find Pat~DOC~ ^R Extract Sublist~DOC~ ^R Frob LISP conditional~DOC~ ~Filename~~Filename~~INVERT~[A[Z[Q[J[S[T[R[N[0[1 10F[%CENTER [..J:I..JFind Pat :IA :IT> !READ! :IR FQR"N:ITQJ,QZFBRTOREAD' :IT1:<T !TOP! :SA"E' FKC .+1UN -FUUQUJ FUUZ MT"N QNJ OTOP' QJJ !CHAR! 2,M.I@:FIU1FIU0 Q0-"E' q0-."E' Q0-"E0OCHAR' Q0-12"EF+OCHAR' q0-32"EQZ,QNFJOTOP' q0-127"EQZ,QNFJOTOP' Q1FSREREAD [A[Z[X[J[Y .UJ 1:<-FUL>"NFG0' .UA 1:<1FLR>"NFG0' .UZ QJJ 1@FLL Q..OU:..U(0) QA,QZXY QYU:..U(1) QAU:..U(2) Z-QZU:..U(3) :I*ExtractU:..U(4) .,QZK QA,QJK QA,QZff&2"e-1'"#'[az-.[b qa:s(COND(AND(OR[0 q0"e@feSFLfserr' qa"gfk+1'c1a"'u[1.[2 z-qbj0[cqa"l:s (fkc.[d-:s (<.-qd;0,qdfuc> qc&777777.ucz-qbj' qc"ni qc,)ii z-.ud'q2j q0+1"e@fwk2fdl :sNOTNULL+3"g -ful.(@fll-d)jd@fwk @f  kq2j iOR' "#q2jiAND' @f  l .(@fll-d)jd' "#r@fll-fdl)ir0[3 <-@fllq2-.;%3>q2j ff&1"e0'"#1-'[4 q4+q3-3"l@fwkiCOND :@fll(i' "#iCOND ((.( q4f"gwful'"#+q3@fll' )i)-1j' q0+3"e.(@fll)i)ji(NOT '' q1"eq2,.fc' q0+3"e-2'"#-'ful @m(m.m^r indent sexp) @fll-fdl.u2 qc"nz-qdj-k-2dq2-."gz-qbj'' q2jLSPUTLLisp UtilitiesC Searches for an sexpression containing some character sequences. Supply a sequence of string args and a numeric arg, e.g., C-U 1 M-X Find PatFOOBAR1BAR2. Searches for FOO. At each occurrence of FOO, if the list up levels of list structure from the FOO also contains the other string args (BAR1 and BAR2 in this example), moves point there and queries: Altmode or Period stops C-L Refreshes C-R Enters a recursive edit Space and Rubout resume searching for another such sexpression Everything else stops search and is reread as a command.^R Replace superior sexp with sexp after point. Arg indicates how many levels up.^R Change CONDs to ANDs and vice versa. When changing to COND, point is left in such a place that LF will add another clause to this condition, and M-) will add another condition. Also in this case an argument specifies the number of clauses that are left in the consequent, the default is 1, i.e. all clauses but the last are assumed to be for value, and to belong in the antecedent. A pre-comma argument specifies the search count for finding it (default is -1).Find Pat ^R Extract Sublist ^R Frob LISP conditional +8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2