comparison lisp/mouse.el @ 9206:06864fef4ec3

(mouse-secondary-click-count): New variable. (mouse-secondary-save-then-kill, mouse-drag-secondary): Use mouse-secondary-click-count, not mouse-selection-click-count.
author Richard M. Stallman <rms@gnu.org>
date Sat, 01 Oct 1994 07:30:18 +0000
parents 77933f36ddc2
children 114fe3739aa3
comparison
equal deleted inserted replaced
9205:43c062993ed0 9206:06864fef4ec3
634 ;; An overlay which records the current secondary selection 634 ;; An overlay which records the current secondary selection
635 ;; or else is deleted when there is no secondary selection. 635 ;; or else is deleted when there is no secondary selection.
636 ;; May be nil. 636 ;; May be nil.
637 (defvar mouse-secondary-overlay nil) 637 (defvar mouse-secondary-overlay nil)
638 638
639 (defvar mouse-secondary-click-count 0)
640
639 ;; A marker which records the specified first end for a secondary selection. 641 ;; A marker which records the specified first end for a secondary selection.
640 ;; May be nil. 642 ;; May be nil.
641 (defvar mouse-secondary-start nil) 643 (defvar mouse-secondary-start nil)
642 644
643 (defun mouse-start-secondary (click) 645 (defun mouse-start-secondary (click)
692 ;; Don't count the mode line. 694 ;; Don't count the mode line.
693 (1- (nth 3 bounds)))) 695 (1- (nth 3 bounds))))
694 (click-count (1- (event-click-count start-event)))) 696 (click-count (1- (event-click-count start-event))))
695 (save-excursion 697 (save-excursion
696 (set-buffer (window-buffer start-window)) 698 (set-buffer (window-buffer start-window))
697 (setq mouse-selection-click-count click-count) 699 (setq mouse-secondary-click-count click-count)
698 (or mouse-secondary-overlay 700 (or mouse-secondary-overlay
699 (setq mouse-secondary-overlay 701 (setq mouse-secondary-overlay
700 (make-overlay (point) (point)))) 702 (make-overlay (point) (point))))
701 (overlay-put mouse-secondary-overlay 'face 'secondary-selection) 703 (overlay-put mouse-secondary-overlay 'face 'secondary-selection)
702 (if (> (mod click-count 3) 0) 704 (if (> (mod click-count 3) 0)
823 (if mouse-secondary-start 825 (if mouse-secondary-start
824 (marker-buffer mouse-secondary-start)))) 826 (marker-buffer mouse-secondary-start))))
825 (error "Wrong buffer")) 827 (error "Wrong buffer"))
826 (save-excursion 828 (save-excursion
827 (set-buffer (window-buffer (posn-window posn))) 829 (set-buffer (window-buffer (posn-window posn)))
828 (if (> (mod mouse-selection-click-count 3) 0) 830 (if (> (mod mouse-secondary-click-count 3) 0)
829 (if (not (and (eq last-command 'mouse-secondary-save-then-kill) 831 (if (not (and (eq last-command 'mouse-secondary-save-then-kill)
830 (equal click-posn 832 (equal click-posn
831 (car (cdr-safe (cdr-safe mouse-save-then-kill-posn)))))) 833 (car (cdr-safe (cdr-safe mouse-save-then-kill-posn))))))
832 ;; Find both ends of the object selected by this click. 834 ;; Find both ends of the object selected by this click.
833 (let* ((range 835 (let* ((range
834 (mouse-start-end click-posn click-posn 836 (mouse-start-end click-posn click-posn
835 mouse-selection-click-count))) 837 mouse-secondary-click-count)))
836 ;; Move whichever end is closer to the click. 838 ;; Move whichever end is closer to the click.
837 ;; That's what xterm does, and it seems reasonable. 839 ;; That's what xterm does, and it seems reasonable.
838 (if (< (abs (- click-posn (overlay-start mouse-secondary-overlay))) 840 (if (< (abs (- click-posn (overlay-start mouse-secondary-overlay)))
839 (abs (- click-posn (overlay-end mouse-secondary-overlay)))) 841 (abs (- click-posn (overlay-end mouse-secondary-overlay))))
840 (move-overlay mouse-secondary-overlay (car range) 842 (move-overlay mouse-secondary-overlay (car range)
856 (progn 858 (progn
857 (mouse-save-then-kill-delete-region 859 (mouse-save-then-kill-delete-region
858 (overlay-start mouse-secondary-overlay) 860 (overlay-start mouse-secondary-overlay)
859 (overlay-end mouse-secondary-overlay)) 861 (overlay-end mouse-secondary-overlay))
860 (setq mouse-save-then-kill-posn nil) 862 (setq mouse-save-then-kill-posn nil)
861 (setq mouse-selection-click-count 0) 863 (setq mouse-secondary-click-count 0)
862 (delete-overlay mouse-secondary-overlay))) 864 (delete-overlay mouse-secondary-overlay)))
863 (if (and (eq last-command 'mouse-secondary-save-then-kill) 865 (if (and (eq last-command 'mouse-secondary-save-then-kill)
864 mouse-save-then-kill-posn 866 mouse-save-then-kill-posn
865 (eq (car mouse-save-then-kill-posn) (car kill-ring)) 867 (eq (car mouse-save-then-kill-posn) (car kill-ring))
866 (equal (cdr mouse-save-then-kill-posn) (list (point) click-posn))) 868 (equal (cdr mouse-save-then-kill-posn) (list (point) click-posn)))