(operate-on-rectangle, delete-extract-rectangle-line)
(insert-rectangle, delete-whitespace-rectangle-line)
(open-rectangle-line, clear-rectangle-line): Use move-to-column.
(string-rectangle-history): New var.
(string-rectangle, string-insert-rectangle): Use it.
(delete-rectangle-line): Fix pos/column mixup and simplify.
their declaration. Below is a list of interface changes.
(apply-on-rectangle): New function, mostly replaces
`operate-on-rectangle'. All callers changed.
(move-to-column-force): Pass new second argument to `move-to-column'.
(kill-rectangle): Added optional prefix arg to fill lines.
(delete-rectangle): Ditto.
(delete-whitespace-rectangle): Ditto.
(delete-extract-rectangle): Ditto.
(open-rectangle): Ditto.
(clear-rectangle): Ditto.
(delete-whitespace-rectangle-line): New function.
(delete-rectangle-line): Added third arg FILL.
(delete-extract-rectangle-line): Ditto.
(open-rectangle-line): Ditto.
(clear-rectangle-line): Ditto.
(operate-on-rectangle): If coerce-tabs is non-nil, call
move-to-column-force instead of move-to-column.
(insert-rectangle): Call move-to-column-force instead of
move-to-column.
(open-rectangle-line): If begextra is not zero, call
move-to-column-force.
(string-rectangle): Bind it.
(string-rectangle-line): Use it.
(operate-on-rectangle-lines): New variable.
(extract-rectangle-line): Update it.
(delete-extract-rectangle, extract-rectangle): Bind and use it.
(string-rectangle-line): After inserting string, insert the same
width of whitespace that we deleted earlier.
(operate-on-rectangle): Operate even if width is 0.
(open-rectangle-line): Clean up.
argument instead of implementing it ourselves.
(rectangle-coerce-tab): No longer used; deleted.
* rect.el (open-rectangle): Leave point at the upper corner of the
rectangle just opened, in imitation of open-line. Fix doc typo.
(open-rectangle-line): Use skip-chars-backward's LIM argument to
leave spaces before the line segment's beginning undisturbed.
* rect.el: Provide 'rect.