(cua--rect-undo, cua--tidy-undo-lists, cua--rectangle-on-off): Remove.
(cua--rect-undo-set-point): New var.
(cua--rectangle-undo-boundary): Setup undo apply entry.
(cua--rect-undo-handler): New function for rectangle undo.
(cua--rect-start-position, cua--rect-end-position): Add.
(cua--rectangle-post-command): Call cua--rectangle-set-corners
for restored rectangle. Set point if cua--rect-undo-set-point.
highlight overlays; allow using RET when cursor is over a button.
(cua--highlight-rectangle): Use it.
(cua--rectangle-set-corners): Don't move backwards at eol.
(cua--forward-line): Don't move into void after eob.
point is set (and displayed) inside rectangle.
(cua--rectangle-operation): Fix for highlight of empty lines.
(cua--highlight-rectangle): Fix highlight for tabs.
Position cursor at left/right edge of rectangle using new `cursor'
property on overlay strings.
(cua--indent-rectangle): Don't tabify.
(cua-rotate-rectangle): Ignore that point has moved.
(cua--rectangle-virtual-edges): New defun.
(cua--rectangle-get-corners): Remove optional PAD arg.
(cua--rectangle-set-corners): Never do padding.
(cua--forward-line): Remove optional PAD arg. Simplify.
(cua-resize-rectangle-right, cua-resize-rectangle-left)
(cua-resize-rectangle-down, cua-resize-rectangle-up):
(cua-resize-rectangle-bot, cua-resize-rectangle-top)
(cua-resize-rectangle-page-up, cua-resize-rectangle-page-down)
(cua--rectangle-move): Never do padding. Simplify.
(cua--tabify-start): New defun.
(cua--rectangle-operation): Add tabify arg. All callers changed.
(cua--pad-rectangle): Remove.
(cua--delete-rectangle): Handle delete with virtual edges.
(cua--extract-rectangle): Add spaces if rectangle has virtual edges.
(cua--insert-rectangle): Handle insert at virtual column.
Perform auto-tabify if necessary.
(cua--activate-rectangle): Remove optional FORCE arg.
Never do padding. Simplify.
(cua--highlight-rectangle): Enhance for virtual edges.
(cua-toggle-rectangle-padding): Remove command.
(cua-toggle-rectangle-virtual-edges): New command.
(cua-sequence-rectangle): Add optional TABIFY arg. Callers changed.
(cua--rectangle-post-command): Don't force rectangle padding.
(cua--init-rectangles): Bind M-p to cua-toggle-rectangle-virtual-edges.
(cua-upcase-rectangle, cua-downcase-rectangle): Use it.
(cua-upcase-initials-rectangle, cua-capitalize-rectangle):
New commands (suggested by Jordan Breeding)..