Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/mini.emacs
There are no other files named mini.emacs in the archive.
!* -*- Teco -*- 		Library created and maintained by KMP@MC !

!~Filename~:! !Pseduo Tags Hack for people who don't like tags tables!
MINI
!& Setup MINI Library:! !& Set things up for our neat library!

m.m^R_Mini-Find_Tagu..,	    !* Put Mini-Find on M-,	!
m.m^R_Mini-Visit_Tagu...,	    !* Put Mini-Visit on C-M-,	!

!& Kill MINI Library:! !& Kill our library !

1,m.m^R_Mini-Find_Tag  - q.., "e 0u.., '
1,m.m^R_Mini-Visit_Tag - q...,"e 0u...,'

!^R Mini-Visit Tag:! !^R Get recursive edit on tag in current buffer.!

1,(f):m(m.m^R_Mini-Find_Tag)
!^R Mini-Find Tag:! !^R Search for tag in current buffer. 
Defaults are kept per-mode. The following modes are permitted:
Lisp, Scheme, Teco, Midas, Schlap !

[0[1[2[3[4[5[6[7[8[9[B		    !* Bind qregs needed	!
qModeu0			    !* Get mode in q0		!
:i*fo..QLast_0_Mini-Tagu1	    !* Get default in q1	!
1:< o0 >			    !* Try to find tag to use	!
				    !* If we get here, we lost  !
:i*USM	Unsupported_Mode:_0 fserr

 !* Note: If q3 does not contain a linefeed, repeated calls to	!
 !*	  C-U M-, and C-U C-M-, will lose by finding same tag	!
 !*	  repeatedly unless user types C-N on his own		!

!Schlap! 
!Midas! >

  :i3 
 			    !* Search from head of line	!
  :i4 :  			    !* Require a : on line	!
  oDo-It			    !* !

!Teco! >
  :i3 

! 	    !* q3: leading text		!
  :i4 :! 		    !* q4: trailing text	!
  oDo-It			    !* Go do the search		!

!Scheme!
!Lisp! >
  :i3 
(DEF
(SET		    !* q3: leading text		!
  :i4 				    !* q4: trailing text	!
  oDo-It			    !* Go do the search		!

				    !* -- The search itself -- *!

!Do-It!				    !* Come here to search	!
  qBuffer_NameuB		    !* Remember this buffer	!
  .u7 .u9			    !* Remember starting point	!
  fn qBm(m.mSelect_Buffer) q7j  !* Come back here when done !
  ff&1"n			    !* If explicit arg,		!
    q1u2			    !*  Use default string	!
    :i*No_more_such_tagsu8	    !*  Set up error message	!
    oArg-Given'		    !*  Skip prompt		!
  "# j				    !* Else, jump to buffer top	!
     :i*No_such_tagu8'		    !*  and set up other errmsg	!
  ff&2"e
    1,fFind_0_Def_(1):_u2'   !* Prompt for tag		!
  "# 
    1,fVisit_0_Def_(1):_u2'
  fq2"l 0'			    !* Overrubout means ignore	!
  fq2"e q1u2 '			    !* Use the default		!
     "# q2m.vLast_0_Mini-Tag '   !* Make new form default	!
!Arg-Given!			    !* Come here if arg given	!
 < :s3"e			    !* Find first string	!
      q7j :i*8:_2 fserr'    !*  Erring if none like it	!
    fq4"e oInside '		    !* Maybe skip next check	!
    :fb4"l !Inside!		    !* Check for 2nd string	!
     0l :fb2"l fkc		    !* Check for stuff user gave!
      fq4@;			    !* Match if no trailer	!
      :fb4:;'' >		    !* Match if trailer follows	!
 0l q7:w .u7			    !* Update the value of here !
 ff&2"n			    !* If an arg,		!
    [Last_0_Mini-Tag	    !* Bind tag default		!
    [Editor_Type		    !* Bind Editor Type		!
    qEditor_Type[0		    !* Get old editor type	!
    fq0"g :i0,_0 '		    !* Maybe add prefix		!
    :iEditor_Type20	    !* Set up new editor type	!
    1fsmodech			    !* Need to change modeline	!
     q9u7 '			    !* Edit and return to start	!
 0				    !* If we go here, Unwind    !