• Stefan Monnier's avatar
    Use delete-selection-mode in cua-mode. · 6f8dfccf
    Stefan Monnier authored
    * lisp/emulation/cua-base.el (cua--prefix-copy-handler)
    (cua--prefix-cut-handler): Rely on region-extract-function rather than
    checking cua--rectangle.
    (cua-delete-region): Use region-extract-function.
    (cua-replace-region): Delete function.
    (cua-copy-region, cua-cut-region): Obey region-extract-function.
    (cua--pre-command-handler-1): Don't do the delete-selection thing.
    (cua--self-insert-char-p): Ignore `self-insert-iso'.
    (cua--init-keymaps): Don't remap delete-selection commands.
    (cua-mode): Use delete-selection-mode instead of rolling our own.
    * lisp/emulation/cua-rect.el (cua--rectangle-region-extract): New function.
    (region-extract-function): Use it.
    (cua-mouse-save-then-kill-rectangle): Use cua-copy-region.
    (cua-copy-rectangle, cua-cut-rectangle, cua-delete-rectangle):
    Delete functions.
    (cua--init-rectangles): Don't re-remap copy-region-as-kill,
    kill-ring-save, kill-region, delete-char, delete-forward-char.
    Ignore self-insert-iso.
    * lisp/menu-bar.el (clipboard-kill-ring-save, clipboard-kill-region):
    Obey region-extract-function.
    * lisp/emulation/cua-gmrk.el (cua--init-global-mark):
    Ignore `self-insert-iso'.
    
    Fixes: debbugs:16085
    6f8dfccf
cua-base.el 58.4 KB