;ELC   
;;; Compiled by handa@psilocin.gnu.ai.mit.edu on Fri Jul 25 03:09:18 1997
;;; from file /gnu/gd/gd/1/gnu/emacs/lisp/term/bg-mouse.el
;;; in Emacs version 20.0.92.3
;;; with bytecomp version 2.32
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`bg-mouse.el' was compiled for Emacs 19.29 or later"))


#@79 *Non-nil for mouse hits to select new window, then execute; else just select.
(defvar bg-mouse-fast-select-window nil (#$ . -554))
(byte-code "ÀÁ\nBÃÄ\nBÃÅ\nBÆÇ\nBÈ	É\nBÊË\nBÌÍ\nBÎÏ\nBÀ‡" [1 bg-button-r current-load-list 2 bg-button-m bg-button-c 4 bg-button-l 8 bg-in-modeline 16 bg-in-scrollbar 24 bg-in-minibuf 59 semicolon] 2)
#@683 Read, parse, and execute a BBN BitGraph mouse click.

L-- move point             | These apply for mouse click in a window.
--R set mark               | If bg-mouse-fast-select-window is nil,
L-R kill region            | these commands on a nonselected window
-C- move point and yank    | just select that window.
LC- yank-pop		   |
-CR or LCR undo		   | "Scroll bar" is right-hand window column.

on modeline:		    on "scroll bar":	in minibuffer:
L-- scroll-up		    line to top		execute-extended-command
--R scroll-down		    line to bottom	eval-expression
-C- proportional goto-char  line to middle	suspend-emacs

To reinitialize the mouse if the terminal is reset, type ESC : RET
(defalias 'bg-mouse-report #[(prefix-arg) "À	!ˆÂ SÀ	!Ã¥^Å SÀ	!Æ¥ZÀÈ!É¦\nË\f\"\fÍ Ï\f!Ñ SU‰?…F Ó8SU?…[ ?…[ \fÕ8SY\f=…l \f?‰ƒw ‚x Úƒ‚ ‚ƒ Ú\\ƒŽ ‚ Ú\\Þà\n\\!\"!\f@Z\"A@Z#„¹ ƒÊ ä\f!ˆå!!ˆä!‚é „Ô ƒÛ å!!‚é ä\f!ˆ&…é å!!.‡" [bg-get-tty-num semicolon frame-width 9 screen-mouse-x frame-height 16 screen-mouse-y 99 8 bg-mouse-buttons bg-window-from-x-y bg-mouse-window selected-window bg-cursor-window window-edges edges screen-height minibuf-p 3 in-modeline-p 2 in-scrollbar-p same-window-p in-minibuf-p bg-in-minibuf 0 bg-in-modeline bg-in-scrollbar bg-mode-bits lookup-key mouse-map char-to-string bg-command bg-mouse-x bg-mouse-y select-window bg-command-execute bg-mouse-fast-select-window] 6 (#$ . 912) "P"])
#@43 Move point to location of BitGraph mouse.
(defalias 'bg-set-point #[nil "À	\n\"ˆÃ	‰‡" [bg-move-point-to-x-y bg-mouse-x bg-mouse-y next-line this-command temporary-goal-column] 3 (#$ . 2387) nil])
#@41 Set mark at location of BitGraph mouse.
(defalias 'bg-set-mark #[nil "À ˆÁ\n\"ˆÄ ‡" [push-mark bg-move-point-to-x-y bg-mouse-x bg-mouse-y exchange-point-and-mark] 3 (#$ . 2591) nil])
#@52 Move point to location of BitGraph mouse and yank.
(defalias 'bg-yank #[nil "À	\n\"ˆÃÃ ‡" [bg-move-point-to-x-y bg-mouse-x bg-mouse-y yank this-command] 3 (#$ . 2781) "*"])
(defalias 'yank-pop-1 #[nil "ÀÁ!‡" [yank-pop 1] 2 nil "*"])
#@96 Move point to location of BitGraph mouse and yank.  If last command
was a yank, do a yank-pop.
(defalias 'bg-yank-or-pop #[nil "Á=ƒ\n ÂÃ!‡Ä ‡" [last-command yank yank-pop 1 bg-yank] 2 (#$ . 3021) "*"])
(byte-code "ÀÁ\nBÀ‡" [8388607 bg-most-positive-fixnum current-load-list] 2)
#@134 Go to location in buffer that is the same percentage of the way
through the buffer as the BitGraph mouse's X position in the window.
(defalias 'bg-move-by-percentage #[nil "ÁUƒ\n Á‚& Â ¥Wƒ Â _Ä S¥‚& Â Ä S¥_bˆÁyˆÅ ‡" [bg-mouse-x 0 buffer-size bg-most-positive-fixnum window-width what-cursor-position] 3 (#$ . 3309) nil])
#@76 Scroll the line pointed to by the BitGraph mouse to the top of the window.
(defalias 'bg-mouse-line-to-top #[nil "À	!‡" [scroll-up bg-mouse-y] 2 (#$ . 3642) nil])
#@79 Scroll the line pointed to by the BitGraph mouse to the center 
of the window
(defalias 'bg-mouse-line-to-center #[nil "À	‰\\Â [\\Ã\\Ã¥!‡" [scroll-up bg-mouse-y window-height 2] 3 (#$ . 3811) nil])
#@70 Scroll the line pointed to by the mouse to the bottom of the window.
(defalias 'bg-mouse-line-to-bottom #[nil "À	ÂÃ Z\\!‡" [scroll-up bg-mouse-y 2 window-height] 4 (#$ . 4015) nil])
(defalias 'bg-kill-region #[nil "ÀÁ Â \"‡" [kill-region region-beginning region-end] 3 nil "*"])
#@144 Insert a copy of the word (actually sexp) that the mouse is pointing at.
Sexp is inserted into the buffer at point (where the text cursor is).
(defalias 'bg-insert-moused-sexp #[nil "ŠÀ	\n\"ˆÃÄ!ƒ Åuˆ‚ ÆÅ!ˆŠÇÅ!ˆ`)`{)É\n!ˆË ˆnƒ4 Ì ˆ‚J ŠÍuˆÃÎ!?…B ÃÏ!)„J ÐÑ!ˆÐ!ˆl†j ÃÒ!†j ÃÓ!ƒe ÃÔ!†j ŠÐÑ!))‡" [bg-move-point-to-x-y bg-mouse-x bg-mouse-y looking-at "\\s)" 1 forward-sexp backward-sexp moused-text select-window bg-cursor-window delete-horizontal-space indent-according-to-mode -1 "\\s\"" "[`'\"\\]\\|\\s(" insert-string " " "\\s.\\|\\s)" "'" "\\sw"] 3 (#$ . 4301) nil])
#@156 Read from terminal until TERM-CHAR is read, and return intervening number.
If non-numeric not matching TERM-CHAR, reprogram the mouse and signal an error.
(defalias 'bg-get-tty-num #[(term-char) "ÀÁ ÂZÀYƒ\" ÅXƒ\" \fÆ_\\Á ÂZ‰‚ Â\\=„2 È ˆÉÊ!ˆ\f*‡" [0 read-char 48 char num 9 10 term-char bg-program-mouse error "Invalid data format in bg-mouse command: mouse reinitialized."] 4 (#$ . 4880)])
#@95 Position cursor in window coordinates.
X and Y are 0-based character positions in the window.
(defalias 'bg-move-point-to-x-y #[(x y) "À	!ˆiÂ ÅVƒ SÆ\f\\\\!*‡" [move-to-window-line y window-hscroll scroll-offset zero-column 0 move-to-column x] 3 (#$ . 5287)])
#@105 Find window corresponding to screen coordinates.
X and Y are 0-based character positions on the screen.
(defalias 'bg-window-from-x-y #[(x y) "À Á\nÄ =„8 A@W„- Æ8Y„- @W„- È8Yƒ8 É\n!À\n!‚ \nÄ =ƒC Á‚M \n„L Ä ‚M \n*‡" [window-edges nil window edges selected-window y 3 x 2 next-window] 3 (#$ . 5562)])
(defalias 'bg-command-execute #[(bg-command) "À	!ƒ\n Â	!‡Ã ‡" [commandp bg-command command-execute ding] 2])
(defalias 'bg-program-mouse #[nil "ÀÁ!‡" [send-string-to-terminal ":0;7;;;360;512;9;16;9;16c"] 2])
(byte-code "À	!„	 Â À‡" [keymapp mouse-map make-keymap] 2)
#@43 Bind bg-mouse CLICK-CODE to run FUNCTION.
(defalias 'bind-bg-mouse-click #[(click-code function) "À	Â!\f#‡" [define-key mouse-map char-to-string click-code function] 4 (#$ . 6151)])
(byte-code "À	Â\"ˆÀÄ\"ˆÀÆ\"ˆÀ	\\Ç\"ˆÀ	\\È\"ˆÀ\\É\"ˆÀ	\\\\É\"ˆÀ\n	\\Ë\"ˆÀ\n\\Ì\"ˆÀ\n\\Í\"ˆÀ	\\Ï\"ˆÀ\\Ð\"ˆÀ\\Ñ\"ˆÀ	\\Ó\"ˆÀ\\Ô\"ˆÀ\\Õ\"ˆÖ×!‡" [bind-bg-mouse-click bg-button-l bg-set-point bg-button-m bg-yank bg-button-r bg-set-mark yank-pop-1 bg-kill-region undo bg-in-modeline scroll-up bg-move-by-percentage scroll-down bg-in-scrollbar bg-mouse-line-to-top bg-mouse-line-to-center bg-mouse-line-to-bottom bg-in-minibuf execute-extended-command suspend-emacs eval-expression provide bg-mouse] 3)
