summaryrefslogtreecommitdiff
path: root/lisp/mouse-sel.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1995-07-18 21:37:14 +0000
committerRichard M. Stallman <rms@gnu.org>1995-07-18 21:37:14 +0000
commit69f4c10ea2a5d8b5369ab8cc9f8813f8dad94b9c (patch)
tree180b1aafac42026949f5292547b14683faf5d508 /lisp/mouse-sel.el
parentd4235aefbb933eed14e0412ecde9b1f4b4d54191 (diff)
downloademacs-69f4c10ea2a5d8b5369ab8cc9f8813f8dad94b9c.tar.gz
Don't (require 'backquote).
(mouse-extend-internal): Select space in between "things" when extending selection, ie. we are extending to "thing" boundaries. Use x-lost-selection-hooks to handle loss of selection. (mouse-sel-lost-selection-hook): New function. (mouse-sel-selection-owner-p-function): Variable removed. (mouse-sel-selection-owner-p): Function removed. (mouse-sel-validate-selection): Function removed.
Diffstat (limited to 'lisp/mouse-sel.el')
-rw-r--r--lisp/mouse-sel.el48
1 files changed, 10 insertions, 38 deletions
diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el
index d323b70016d..fe557ee755e 100644
--- a/lisp/mouse-sel.el
+++ b/lisp/mouse-sel.el
@@ -136,7 +136,6 @@
(require 'mouse)
(require 'thingatpt)
-(require 'backquote)
;;=== User Variables ======================================================
@@ -197,14 +196,6 @@ Called with one argument:
SELECTION: the name of the selection concerned.")
-(defvar mouse-sel-selection-owner-p-function
- (if (fboundp 'x-selection-owner-p)
- 'x-selection-owner-p)
- "Function to check whether Emacs still owns the selection.
-Called with one argument:
-
- SELECTION: the name of the selection concerned.")
-
;;=== Support/access functions ============================================
(defun mouse-sel-determine-selection-thing (nclicks)
@@ -246,12 +237,6 @@ multi-click semantics."
(funcall mouse-sel-get-selection-function selection)
(get 'mouse-sel-internal-selection selection)))
-(defun mouse-sel-selection-owner-p (selection)
- "Determine whether Emacs owns the specified SELECTION."
- (if mouse-sel-selection-owner-p-function
- (funcall mouse-sel-selection-owner-p-function selection)
- t))
-
(defun mouse-sel-selection-overlay (selection)
"Return overlay corresponding to SELECTION."
(let ((symbol (nth 1 (assoc selection mouse-sel-selection-alist))))
@@ -504,19 +489,17 @@ See documentation for mouse-select-internal for more details."
(if (and (eq direction 1) (not (eobp))) (forward-char 1))
;; Move to start/end of selected thing
- (let ((goal (point))
- last)
+ (let ((goal (point)))
(goto-char (if (eq 1 direction) min max))
(condition-case nil
(progn
(while (> (* direction (- goal (point))) 0)
- (setq last (point))
(forward-thing selection-thing direction))
(let ((end (point)))
(forward-thing selection-thing (- direction))
(goto-char
(if (> (* direction (- goal (point))) 0)
- end last))))
+ end (point)))))
(error))))
;; Move overlay
@@ -587,24 +570,14 @@ If `mouse-yank-at-point' is non-nil, insert at point instead."
(push-mark (point) 'nomsg)
(insert (or (funcall mouse-sel-get-selection-function selection) "")))))
-;;=== Validate selection ==================================================
-
-(defun mouse-sel-validate-selection ()
- "Validate selections in mouse-sel-selection-alist.
-For each listed selection, remove the selection overlay if Emacs no longer
-owns the selection."
- (let ((owner-p-function mouse-sel-selection-owner-p-function)
- (alist mouse-sel-selection-alist)
- selection overlay)
- (if owner-p-function
- (while alist
- (setq selection (car (car alist))
- overlay (symbol-value (nth 1 (car alist)))
- alist (cdr alist))
- (or (funcall owner-p-function selection)
- (delete-overlay overlay))))))
-
-(add-hook 'pre-command-hook 'mouse-sel-validate-selection)
+;;=== Handle loss of selections ===========================================
+
+(defun mouse-sel-lost-selection-hook (selection)
+ "Remove the overlay for a lost selection."
+ (let ((overlay (mouse-sel-selection-overlay selection)))
+ (delete-overlay overlay)))
+
+(add-hook 'x-lost-selection-hooks 'mouse-sel-lost-selection-hook)
;;=== Key bindings ========================================================
@@ -656,7 +629,6 @@ owns the selection."
'mouse-sel-selection-alist
'mouse-sel-set-selection-function
'mouse-sel-get-selection-function
- 'mouse-sel-selection-owner-p-function
'mouse-yank-at-point)))
;; mouse-sel.el ends here.