Search                        Top                                  Index
HELP VEDCUTBLOCK                                       A.Sloman May 1987

Copying or cutting an arbitrary rectangular block of text in a VED

 vedcutblock(<int:L1>,<int:C1>,<int:L2>,<int:C2>,<bool:del>) -> <vector>

Keywords: VED block delete cut copy

L1,C2 represent a line and column in the VED buffer, as do L2,C2.
The two positions are taken as opposite corners of a rectangular block
of text to be copied into a vector of strings, returnd as the result
of vedcutblock.

If the last argument, del, is non-false, then the text is deleted from
the VED buffer.

The whole operation is performed without refreshing the screen. In
order to refresh the relevant portion of the screen *VEDREFRESHBLOCK
may be used.

Since the first four arguments are taken to be any two opposite corners
of the required block of text, the following combinations are all

    L1 C1 L2 C2;  L1 C2 L2 C1; L2 C2 L1 C1; L2 C1 L1 C2

This procedure is useful for packages that implement windows occupying
arbitrary rectangular portions of the screen, and for programs that
insert or delete blocks of text which are not made of complete lines.

    It is not well defined what should happen when the rectangular
    block contains tabs. In order to ensure that no more is deleted
    than intended, the variable -vedhardtabs- is made false locally
    by vedcutblock. This may sometimes have the effect that the command
    ENTER dtb (delete text block), followed by ENTER ytb (yank text
    block) and similar commands may produce new text that requires
    re-formatting, if there are tabs in the file.

See also:

    This gives an overview of facilities for manipulating text blocks
    in VED, including the commands mentioned above.

Related facilities are described in

REF  * ved_cut
REF  * ved_d
REF  * ved_ds

--- C.all//help/vedcutblock
--- Copyright University of Sussex 1991. All rights reserved. ----------