Current File : //proc/thread-self/root/kunden/kunden/proc/self/root/usr/share/emacs/27.2/lisp/mouse-copy.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#@45 Internal to `mouse-drag-secondary-pasting'.
(defvar mouse-copy-last-paste-start nil (#$ . 408))
#@45 Internal to `mouse-drag-secondary-pasting'.
(defvar mouse-copy-last-paste-end nil (#$ . 510))
#@99 Set to enable mouse-copy-work-around-drag-bug.
See `mouse-copy-work-around-drag-bug' for details.
(defvar mouse-copy-have-drag-bug nil (#$ . 610))
#@628 Code to work around a bug in post-19.29 Emacs: it drops mouse-drag events.
The problem occurs under XFree86-3.1.1 (X11R6pl11) but not under X11R5,
and under post-19.29 but not early versions of Emacs.
19.29 and 19.30 seems to drop mouse drag events
sometimes. (Reproducible under XFree86-3.1.1 (X11R6pl11) and
XFree86-3.1.2 under Linux 1.2.x. Doesn't occur under X11R5 and SunOS
4.1.1.)
To see if you have the problem:
Disable this routine (with (setq mouse-copy-have-drag-bug nil)).
Click and drag for a while.
If highlighting stops tracking, you have the bug.
If you have the bug (or the real fix :-), please let me know.
(defalias 'mouse-copy-work-around-drag-bug #[(start-event end-event) "\212\306!\307\n!\310\211@\262!\211q\210\311\312 !\312!\211:\2030 \3138\250\2030 \3138\262\2023 \314\262S#\211@
A@\203P \315#\210\202Z \316\312!\"\317\320\321#\210\fq\210\322\323{\".\207" [start-event start-posn end-event end-posn end-buffer range event-start event-end window-buffer mouse-start-end posn-point 2 1 move-overlay make-overlay overlay-put face secondary-selection gui-set-selection SECONDARY beg end mouse-secondary-overlay] 7 (#$ . 764)])
#@242 Drag out a secondary selection, then paste it at the current point.
To test this function, evaluate:
(global-set-key [M-down-mouse-1] \='mouse-drag-secondary-pasting)
put the point at one place, then click and drag over some other region.
(defalias 'mouse-drag-secondary-pasting #[(start-event) "\203% \211:\203 \3058\250\203 \3058\262\202 \306\262\305Y\203% \n|\210\307 !\203? \2034 \310 \f\"\210`\311\312!c\210`\211\207\313\211\207" [mouse-copy-last-paste-start start-event mouse-copy-last-paste-end mouse-copy-have-drag-bug last-input-event 2 1 mouse-drag-secondary mouse-copy-work-around-drag-bug gui-get-selection SECONDARY nil] 3 (#$ . 1959) "e"])
#@352 Kill the text in the secondary selection, but leave the selection set.
This command is like \[mouse-kill-secondary] (that is, the secondary
selection is deleted and placed in the kill ring), except that it also
leaves the secondary buffer active on exit.
This command was derived from mouse-kill-secondary in emacs-19.28
by johnh@ficus.cs.ucla.edu.
(defalias 'mouse-kill-preserving-secondary #[nil "\303 \211\211GS\234\304\n! <\203 \305\306 !\211@\262!\202 p=\204&