home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 21
/
CD_ASCQ_21_040595.iso
/
dos
/
prg
/
c
/
freedos3
/
source
/
emacs16d
/
_rectang.min
< prev
next >
Wrap
Text File
|
1991-07-19
|
4KB
|
195 lines
Name:F:clear-rectangle
Blank the rectangle spanned by point and mark.
[*]#(Frectangle,clear)[*]
Name:F:copy-region-to-rectangle
[*]#(Fget-register,Copy to register,(
#(Ffree-register,#(reg.ARG1))
#(ds,reg.ARG1,R(,)##(go,reg.marks))
#(ds,old-buffer,##(ba,-1))
##(ba,1,a)
#(sp,#(Fsecond,#(reg.ARG1))>)
#(dm,##(bc,##(++,##(bc,#(Fsecond,#(reg.ARG1))),1),d,a))
##(ba,##(old-buffer))
#(pm,1)
#(ds,corners,#(Fcorners))
#(Fcopy-region-to-rectangle-do,#(corners),
##(bc,#(Fsecond,#(reg.ARG1))))
#(pm)
))[*]
Name:F:delete-rectangle
Delete the rectangle spanned by point and mark.
[*]#(Frectangle,delete)[*]
Name:F:kill-rectangle
Kill the rectangle spanned by point and mark.
(can be yanked with M-x yank-rectangle)
[*]#(ds,rectangle-buffer,#(Frectangle,kill))[*]
Name:F:open-rectangle
Insert a blank rectangle into the one spanned by point and mark.
[*]#(Frectangle,open)[*]
Name:F:yank-rectangle
Insert the previously killed rectangle.
[*]#(ds,column,##(lv,cs))
#(Fyank-rectangle-do)
[*]
Name:Fclear-rectangle-do
Called with arg1 = top, arg2 = left, arg3 = bot, arg4 = right.
[*]#(Frectangle-do,(
#(dm,0)
#(Fpad-to-column,(arg4))
),(arg1),(arg2),(arg3),(arg4))[*]
Name:Fcopy-region-to-rectangle-do
arg1 = top
arg2 = left
arg3 = bot
arg4 = right
arg5 = (decimal) Mark in buffer one: write rectangle here.
[*]#(sv,cl,(arg1))#(sv,cs,(arg4))
#(sm,0)#(sv,cs,(arg2))
#(SELF-do,(arg5),##(--,##(--,(arg4),(arg2)),##(nc,##(rm,0))))
#(==,(arg1),(arg3),,(
#(SELF,#(++,(arg1),1),(arg2),(arg3),(arg4),(arg5)))
))[*]
Name:Fcopy-region-to-rectangle-do-do
arg1 = (decimal) Mark in buffer one: append the next line
(point to mark 0) here.
arg2 = # blanks to pad at end of line.
##(old-buffer) contains the number of the buffer we're reading from.
[*]##(ba,1,a)
#(sp,##(bc,##(++,(arg1),1),d,a))
#(bi,##(old-buffer),0)
#(is,#(Floop, ,arg2)(
))
##(ba,##(old-buffer))
[*]
Name:Fdelete-rectangle-do
Called with arg1 = top, arg2 = left, arg3 = bot, arg4 = right.
[*]#(Frectangle-do,(
#(dm,0)
),(arg1),(arg2),(arg3),(arg4))[*]
Name:Finsert-rectangle
arg1 = (ascii) mark in buffer one: start of region to restore as rectangle
arg2 = left column
[*]#(ds,old-buffer,##(ba,-1))
##(ba,1,a)
#(sp,arg1>)
##(ba,##(old-buffer))
#(SELF-do,##(bc,##(++,##(bc,arg1),1),d,a),##(lv,cs))
[*]
Name:Finsert-rectangle-do
arg1 = (ascii) mark in buffer one: end of region to restore as rectangle.
arg2 = left column
##(old-buffer) contains the number of the buffer we're writing to.
[*]#(==,#(..,##(ba,1,a))##(rc,arg1)#(..,##(ba,##(old-buffer))),0,,(
#(sv,cs,arg2)
#(Fpad-to-column,arg2)
#(bi,1,$)
#(sp,$)
#(==,##(rc,>),0,(
#(Fcrlf)
),(
#(sp,>)
))
##(ba,1,a)
#(sp,$>)
##(ba,##(old-buffer))
#(SELF,arg1,arg2)
))[*]
Name:Fkill-rectangle
Call this with arg1,arg2 = line,column of point, arg3,arg4 = line,column of mark.
Call SELF-do with arg1 = top, arg2 = left, arg3 = bot, arg4 = right.
[*]#(g?,arg3,arg1,(
#(g?,arg4,arg2,(
#(ds,rectangle-buffer)
#(pm,1)
#(SELF-do,arg1,arg2,arg3,arg4)
#(pm)
),(
#(SELF,arg1,arg4,arg3,arg2)
))
),(
#(SELF,arg3,arg2,arg1,arg4)
))[*]
Name:Fkill-rectangle-do
Called with arg1 = top, arg2 = left, arg3 = bot, arg4 = right.
[*]#(Frectangle-do,(
##(rm,0)
#(Floop, ,##(--,##(--,(arg4),(arg2)),##(nc,##(rm,0))))(
)
#(dm,0)
),(arg1),(arg2),(arg3),(arg4))[*]
Name:Fopen-rectangle-do
Called with arg1 = top, arg2 = left, arg3 = bot, arg4 = right.
[*]#(Frectangle-do,(
#(Fpad-to-column,(arg4))
),(arg1),(arg2),(arg3),(arg4))[*]
Name:Frectangle
do
Called with arg1 = actions for each row,
arg2 = top, arg3 = left, arg4 = bot, arg5 = right.
[*]#(pm,1)
#(ds,corners,#(Fcorners))
#(F(arg1)-rectangle-do,#(corners))
#(es,corners)
#(pm)[*]
Name:Frectangle-do
Called with arg1 = actions for each row,
arg2 = top, arg3 = left, arg4 = bot, arg5 = right.
[*]#(sv,cl,(arg2))#(sv,cs,(arg5))
#(sm,0)#(sv,cs,(arg3))
arg1
#(==,(arg2),(arg4),,(
#(SELF,(arg1),#(++,(arg2),1),(arg3),(arg4),(arg5)))
))[*]
Name:Fyank-rectangle-do
[*]#(==,##(rectangle-buffer),,(
#(rs,rectangle-buffer)
),(
#(sv,cs,##(column))
#(Fpad-to-column,##(column))
#(is,##(fm,rectangle-buffer,(
)))
#(sp,$)
#(==,##(rc,>),0,(
#(Fcrlf)
),(
#(sp,>)
))
#(SELF)
))[*]