Mercurial > emacs
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))) |