From c3bb6d703f0448f24112579ff51917d137812f7f Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 3 Nov 2005 21:37:21 +0000 Subject: [PATCH] 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]. --- lisp/mouse.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lisp/mouse.el b/lisp/mouse.el index 743aba94d5e..0aab1a99bb6 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -961,7 +961,7 @@ at the same position." (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 @@ If DIR is positive skip forward; if negative, skip backward." (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 @@ If MODE is 2 then do the same for lines." ;; 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) -- 2.39.2