diff lisp/prim/mouse.el @ 26:441bb1e64a06 r19-15b96

Import from CVS: tag r19-15b96
author cvs
date Mon, 13 Aug 2007 08:51:32 +0200
parents 0293115a14e9
children e04119814345
line wrap: on
line diff
--- a/lisp/prim/mouse.el	Mon Aug 13 08:51:05 2007 +0200
+++ b/lisp/prim/mouse.el	Mon Aug 13 08:51:32 2007 +0200
@@ -1036,13 +1036,25 @@
   (setq default-mouse-track-down-event (copy-event event))
   nil)
 
-(defun default-mouse-track-cleanup-hook ()
+(defun default-mouse-track-cleanup-extents-hook ()
+  (remove-hook 'pre-command-hook 'default-mouse-track-cleanup-extents-hook)
   (let ((extent default-mouse-track-extent))
     (if (consp extent) ; rectangle-p
 	(mapcar 'delete-extent extent)
       (if extent
 	  (delete-extent extent)))))
 
+(defun default-mouse-track-cleanup-hook ()
+  (if zmacs-regions
+      (funcall 'default-mouse-track-cleanup-extents-hook)
+    (let ((extent default-mouse-track-extent)
+	  (func #'(lambda (e) (set-extent-face e 'primary-selection))))
+      (add-hook 'pre-command-hook 'default-mouse-track-cleanup-extents-hook)
+      (if (consp extent)		; rectangle-p
+	  (mapcar func extent)
+	(if extent
+	    (funcall func extent))))))
+
 (defun default-mouse-track-cleanup-extent ()
   (let ((dead-func
 	 (function (lambda (x)