# HG changeset patch # User Richard M. Stallman # Date 1131053841 0 # Node ID 550c8e306cb514e57e800fb36a9ac5bf26e92470 # Parent 857eb702a3f1a398a4b460a5058337e5fd0e9f7a Fix special handling of DEL after dragging a region: (mouse-drag-region-1): Treat mouse-set-region like mouse-set-point. (mouse-region-delete-keys): Add [backspace]. diff -r 857eb702a3f1 -r 550c8e306cb5 lisp/mouse.el --- a/lisp/mouse.el Thu Nov 03 21:34:54 2005 +0000 +++ b/lisp/mouse.el Thu Nov 03 21:37:21 2005 +0000 @@ -961,7 +961,7 @@ (let* ((fun (key-binding (vector (car event)))) (do-multi-click (and (> (event-click-count event) 0) (functionp fun) - (not (eq fun 'mouse-set-point))))) + (not (memq fun '(mouse-set-point mouse-set-region)))))) ;; Run the binding of the terminating up-event, if possible. (if (and (not (= (overlay-start mouse-drag-overlay) (overlay-end mouse-drag-overlay))) @@ -1075,7 +1075,7 @@ (forward-char 1)))))) (defun mouse-start-end (start end mode) -"Return a list of region bounds based on START and END according to MODE. + "Return a list of region bounds based on START and END according to MODE. If MODE is 0 then set point to (min START END), mark to (max START END). If MODE is 1 then set point to start of word at (min START END), mark to end of word at (max START END). @@ -1181,8 +1181,10 @@ ;; Momentarily show where the mark is, if highlighting doesn't show it. -(defvar mouse-region-delete-keys '([delete] [deletechar]) - "List of keys which shall cause the mouse region to be deleted.") +(defcustom mouse-region-delete-keys '([delete] [deletechar] [backspace]) + "List of keys that should cause the mouse region to be deleted." + :group 'mouse + :type '(repeat key-sequence)) (defun mouse-show-mark () (let ((inhibit-quit t)