;ELC ;;; compiled by jwz@thalidomide on Tue May 3 01:50:33 1994 ;;; from file /th/jwz/emacs19/lisp/prim/mouse.el ;;; emacs version 19.10 Lucid (beta19). ;;; bytecomp version 2.24; 26-Apr-94. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (byte-code "!!\"\"\"\"##" [provide mouse require mode-motion global-set-key button1 mouse-track (shift button1) mouse-track-adjust (control button1) mouse-track-insert (control shift button1) mouse-track-delete-and-insert define-key mode-line-map mouse-drag-modeline button3 mode-line-menu] 4) (defvar mouse-track-rectangle-p nil "\ *If true, then dragging out a region with the mouse selects rectangles instead of simple start/end regions.") (defun mouse-select nil "\ Select Emacs window the mouse is on." (interactive "@")) (fset 'mouse-delete-window #[nil " " [delete-window] 1 "\ Delete the Emacs window the mouse is on." "@"]) (fset 'mouse-keep-one-window #[nil " " [delete-other-windows] 1 "\ Select Emacs window mouse is on, then kill all other Emacs windows." "@"]) (fset 'mouse-select-and-split #[nil "!" [split-window-vertically nil] 2 "\ Select Emacs window mouse is on, then split it vertically in half." "@"]) (fset 'mouse-set-point #[(event) " ! !!! ! V b ! !A@Z  ! W V ! !!\"A\\V)*" [event-window event event-point pos window error gettext "not in a window" select-window 0 event-y window-edges ypos move-to-window-line nil event-x-pixel buffer-left-margin-pixwidth window-buffer assoc internal-border-width x-screen-defaults 5] 6 "\ Select Emacs window mouse is on, and move point to mouse position." "@e"]) (fset 'mouse-eval-last-sexpr #[(event) " !!)" [mouse-set-point event eval-last-sexp nil] 2 nil "@e"]) (fset 'mouse-line-length #[(event) " !!`y`Z\")!" [mouse-set-point event message gettext "Line length: %d" nil 0 sleep-for 1] 4 "\ Print the length of the line indicated by the pointer." "@e"]) (fset 'mouse-set-mark #[(event) "` !\"!*" [point-save ((goto-char point-save)) mouse-set-point event push-mark nil t sit-for 1] 3 "\ Select Emacs window mouse is on, and set mark at mouse position. Display cursor at that position for a second." "@e"]) (fset 'mouse-scroll #[(event) " !! !!)" [mouse-set-point event recenter 0 scroll-right event-x] 3 "\ Scroll point to the mouse position." "@e"]) (fset 'mouse-del-char #[(event) " !\")" [mouse-set-point event delete-char 1 nil] 3 "\ Delete the char pointed to by the mouse." "@e"]) (fset 'mouse-kill-line #[(event) " !!)" [mouse-set-point event kill-line nil] 2 "\ Kill the line pointed to by the mouse." "@e"]) (fset 'narrow-window-to-region #[(m n) " = b! U =? \n\"ZZ!*" [selected-window next-window split-window m recenter 0 minibuffer-depth shrink-window window-height count-lines n 1] 5 "\ Narrow window to region between point and last mark" "r"]) (fset 'mouse-window-to-region #[(event) "` !\"!*" [point-save ((byte-code "b \"" [point-save narrow-window-to-region region-beginning region-end] 3)) mouse-set-point event push-mark nil t sit-for 1] 3 "\ Narrow window to region between cursor and mouse pointer." "@e"]) (defun mouse-ignore nil "\ Don't do anything." (interactive)) (byte-code "MMMMMM! !MMMMMMMMMM!%!&!'!(!*!,!!!!-MMMMMN>@\"AB#CDMEFMGHMIJMKLMMNMOPḾQ!QRSMTUM" [mouse-scroll-down #[(nlines) " !" [scroll-down nlines] 2 nil "@p"] mouse-scroll-up #[(nlines) " !" [scroll-up nlines] 2 nil "@p"] mouse-scroll-down-full #[nil "!" [scroll-down nil] 2 nil "@"] mouse-scroll-up-full #[nil "!" [scroll-up nil] 2 nil "@"] mouse-scroll-move-cursor #[(nlines) " !" [move-to-window-line nlines] 2 nil "@p"] mouse-scroll-absolute #[(event) " ! ! ]  \n_  _\nb!-" [event-x event position event-y length buffer-size size 1 8000000 scale-factor newpos recenter (4)] 4 nil "@e"] boundp scrolled-lines 0 scroll-speed 1 incr-scroll-down #[(event) " !" [0 scrolled-lines incremental-scroll scroll-speed] 2 nil "@e"] incr-scroll-up #[(event) " [!" [0 scrolled-lines incremental-scroll scroll-speed] 2 nil "@e"] incremental-scroll #[(n) " ! !!!)  _T !N)" [t down sit-for mouse-track-scroll-delay input-pending-p next-command-event event button-press-event-p button-release-event-p nil dispatch-event scroll-speed scrolled-lines scroll-down n] 2] incr-scroll-stop #[(event) "!" [0 scrolled-lines sleep-for 1] 2 nil "@e"] mouse-scroll-left #[(ncolumns) " !" [scroll-left ncolumns] 2 nil "@p"] mouse-scroll-right #[(ncolumns) " !" [scroll-right ncolumns] 2 nil "@p"] mouse-scroll-left-full #[nil "!" [scroll-left nil] 2 nil "@"] mouse-scroll-right-full #[nil "!" [scroll-right nil] 2 nil "@"] mouse-scroll-move-cursor-horizontally #[(ncolumns) " !" [move-to-column ncolumns] 2 nil "@p"] mouse-scroll-absolute-horizontally #[(event) " \"" [set-window-hscroll selected-window 33] 3 nil "@e"] mouse-track-up-time mouse-track-up-x mouse-track-up-y mouse-track-type nil mouse-track-multiclick-time 400 mouse-track-timeout-id mouse-track-scroll-delay featurep lisp-float-type purecopy string-to-number "0.3" mouse-track-set-point-in-window #[(event window) " !\n=?? !ć" [event-window event window mouse-set-point t] 2] mouse-track-scroll-and-set-point #[(event window) " ! ! ! A@XA@Z ̏ b)`dY8SY\\8Z я b !!)*" [window-edges window event-y-pixel event x-pixel-height selected-screen screen-height row edges delta nil (scroll-down delta) ((error)) window-start 3 2 (scroll-up delta) ((error)) window-end vertical-motion backward-char 1] 4] mouse-track-set-point-and-timeout #[(event window) " \n\"? !# \n\"" [mouse-track-set-point-in-window event window mouse-track-timeout-id add-timeout mouse-track-scroll-delay mouse-track-scroll-undefined copy-event mouse-track-scroll-and-set-point] 5] mouse-track-cleanup-timeout #[nil "!‰" [mouse-track-timeout-id disable-timeout nil] 2] mouse-track-beginning-of-word #[(symbolp) "=ªêoȪ! o! ro!?u! ! uu*" [symbolp t "\\w\\|\\s_\\|\\s'" "\\w" "[^ \n]" "[ ]" white-space word-constituent nil looking-at backward-char] 2] byte-optimizer (nil byte-compile-inline-expand) error "%s already has a byte-optimizer, can't make it inline" put byte-compile-inline-expand mouse-track-end-of-word #[(symbolp) "=ªê!!uu!!uu*" [symbolp t "\\w\\|\\s_\\|\\s'" "\\w" "[^ \n]" "[ ]" white-space word-constituent looking-at nil] 2] mouse-track-normalize-point #[(type forwardp) "=ď=y‡= " [type word nil (byte-code "!‰=Ī Ū oʪ ! o ! ro !?u! ! uu+" [forwardp mouse-track-end-of-word t symbolp "\\w\\|\\s_\\|\\s'" "\\w" "[^ \n]" "[ ]" white-space word-constituent nil looking-at backward-char] 2) ((error)) line forwardp 0 buffer end-of-buffer beginning-of-buffer] 3] mouse-track-next-move #[(min-anchor max-anchor extent) "`X  `\nV\" :\n` #\n`X \n`# `\n#)" [min-anchor max-anchor anchor mouse-track-normalize-point mouse-track-type extent mouse-track-next-move-rect set-extent-endpoints] 4] mouse-track-next-move-rect #[(start end extents &optional pad-p) " W \n) U A\" ơ @ # Ɖ \n   bi\n bi \n W \n \n\n \n ZZ\n Z\\)y`} b m`\n\" @`#yU \"   A Q  \" ơm?m?`\n\"`\" @!\" @!\" B A )yUE \"<." [end start tmp mapcar delete-extent extents nil set-extent-endpoints p last right left rest indent-tabs-mode 0 move-to-column pad-p 1 make-extent e set-extent-face extent-face set-extent-priority extent-priority] 7] mouse-track-has-selection-p #[(buffer) "= ! !=" [window-system x x-selection-owner-p extentp primary-selection-extent buffer extent-buffer] 3] mouse-track-anchor #[(adjust previous-point) "p! ! !`W ` V`Z `ZV *`" [adjust mouse-track-has-selection-p extent-start-position primary-selection-extent extent-end-position end start previous-point] 3] mouse-track-next-type #[(type) "=‡=Ç=" [type char word line] 2] mouse-track-previous-point mouse-track-select #[(event adjust face) " !! \" !ɉ!#   \" T\" C !ZW !U !U ! ! !!%!p%!=%!` \"!%!%`Γ %!\"++b \"`)+b \"`))- /=   # ! ! \"_ ! != !\"I ! ! ! ! \" #Ή \" !!! !  : @  @@ABA!C@!B`BA!U`C@!U`CA!U@b*B !C !B D=`AUEAbmATEA@b))." [button-press-event-p event error gettext "%s must be invoked by a mouse-press" this-command event-window window make-extent 1 window-buffer extent t mouse-down nil min-anchor max-anchor result previous-point set-extent-face face set-extent-priority mouse-highlight-priority mouse-track-rectangle-p event-timestamp mouse-track-up-time mouse-track-multiclick-time event-x mouse-track-up-x event-y mouse-track-up-y mouse-track-next-type mouse-track-type adjust char select-window markerp mouse-track-previous-point marker-buffer marker-position mouse-track-set-point-and-timeout point-marker mouse-track-anchor anchor mouse-track-normalize-point zmacs-regions zmacs-deactivate-region window-system x x-disown-selection ((byte-code ":\"! " [extent mapcar delete-extent mouse-track-cleanup-timeout] 3)) mouse-track-next-move next-event mouse-track-cleanup-timeout motion-event-p timeout-event-p event-function mouse-track-scroll-undefined event-object button-release-event-p mouse-track-set-point-in-window key-press-event-p "Selection aborted" dispatch-event last first extent-start-position extent-end-position line end-p] 6] mouse-track-maybe-own-selection #[(pair type) "@A U`\nU \n! \n U =\n U ! \nΓ ΓB \"=\n U?\n {!*" [pair end start push-mark zmacs-regions zmacs-activate-region t zmacs-region-stays window-system x x-disown-selection type x-own-selection make-marker nil x-store-cutbuffer] 6]] 4) (fset 'mouse-track #[(event) " !!! !!! #\n\n\")" [event-window event error gettext "not in a window" select-screen window-screen mouse-track-select nil primary-selection pair mouse-track-maybe-own-selection PRIMARY] 4 "\ Make a selection with the mouse. This should be bound to a mouse button. If you click-and-drag, the selection will be set to the region between the point of the initial click and the point at which you release the button. These positions need not be ordered. If you click-and-release without moving the mouse, then the point is moved, and the selection is disowned (there will be no selection owner.) If you double-click, the selection will extend by symbols instead of by characters. If you triple-click, the selection will extend by lines. If you drag the mouse off the top or bottom of the window, you can select pieces of text which are larger than the visible part of the buffer; the buffer will scroll as necessary. The selected text becomes the current X Selection, and is also copied to the top of the kill ring. The point will be left at the position at which you released the button, and the mark will be left at the initial click position. See also the `mouse-track-adjust' command, on \\[mouse-track-adjust]." "e"]) (fset 'mouse-track-adjust #[(event) " !!! #\"" [select-screen window-screen event-window event mouse-track-maybe-own-selection mouse-track-select t primary-selection PRIMARY] 5 "\ Extend the existing selection. This should be bound to a mouse button. The selection will be enlarged or shrunk so that the point of the mouse click is one of its endpoints. This is only really meaningful after the `mouse-track' command (\\[mouse-track]) has been executed." "e"]) (fset 'mouse-track-insert #[(event &optional delete) ")š c)" [((byte-code " #@ A{ @ A\")" [mouse-track-select event nil primary-selection pair delete kill-region] 5)) s ""] 3 "\ Make a selection with the mouse and insert it at point. This is exactly the same as the `mouse-track' command on \\[mouse-track], except that point is not moved; the selected text is immediately inserted after being selected; and the selection is immediately disowned afterwards." "*e"]) (fset 'mouse-track-delete-and-insert #[(event) " \"" [mouse-track-insert event t] 3 "\ Make a selection with the mouse and insert it at point. This is exactly the same as the `mouse-track' command on \\[mouse-track], except that point is not moved; the selected text is immediately inserted after being selected; and the text of the selection is deleted." "*e"]) (fset 'mouse-drag-modeline #[(event) " !! \" !!! ! ! !D\" Ή Z!8U!!  ! ! !\\U !Y !=!8Z!!!V!!Z\"X!!\"ZW!!W!\\\"W\"!ZV!!UE!!!!E !ΉG ! !!E !E-" [button-press-event-p event error gettext "%s must be invoked by a mouse-press" this-command event-window "not over a modeline" t locate-window-from-coordinates event-screen event-x event-y selected-window nil delta ny old-window window mouse-down screen-height 1 3 window-edges "can't drag bottommost modeline" next-event motion-event-p 0 event-y-pixel 20 999 next-vertical-window "BLAT FOOP" window-height window-min-height "BLAT" "FOOP" select-window enlarge-window sit-for button-release-event-p key-press-event-p "" dispatch-event] 7 "\ Resize the window by dragging the modeline. This should be bound to a mouse button in `mode-line-map'." "e"]) (byte-code "M" [("Window Commands" ["Delete Window" delete-window t] ["Delete Other Windows" delete-other-windows t] ["Split Window" split-window-vertically t] ["Split Window Horizontally" split-window-horizontally t] ["Balance Windows" balance-windows t]) mode-line-menu #[(event) "\n!\n!\n!D\"\n!!= ! !\n! !!\"AB!*" [locate-window-from-coordinates event-screen event event-x event-y window minibuffer-window previous-window select-window t popup-menu-titles popup-menu format gettext "Window Commands for %S:" buffer-name window-buffer mode-line-menu] 7 nil "e"]] 2)