• Chong Yidong's avatar
    Change `select-active-region' mechanics. · 9852377f
    Chong Yidong authored
    Save region text prior to buffer modification.
    Set window selection lazily, during `deactivate-mark' or after each
    command when the region is temporarily active.
    
    * lisp/cus-start.el: Add custom declaration for select-active-regions.
    
    * lisp/mouse.el (mouse-drag-track): Remove hacks to deal with old
    select-active-regions implementation.
    (mouse-yank-at-click): Doc fix.
    
    * lisp/simple.el (select-active-regions): Move to keyboard.c.
    (deactivate-mark): Used saved-region-selection.
    (select-active-region): Function removed.
    (activate-mark, set-mark, push-mark-command)
    (handle-shift-selection): Don't call it.
    (keyboard-quit): Avoid adding the region to the window selection.
    
    * src/insdel.c (prepare_to_modify_buffer): Save active region text to
    Vsaved_region_selection.
    
    * src/keyboard.c (Vselect_active_regions): Move from simple.el.
    (Vsaved_region_selection, Qx_set_selection, QPRIMARY, Qlazy): New
    vars.
    (command_loop_1): Set window selection prior to deactivating the
    mark.
    
    * src/xselect.c (QPRIMARY): Move to keyboard.c.
    9852377f
keyboard.c 374 KB