;;; compiled by mycroft@hal on Tue Sep 22 05:00:19 1992
;;; from file /src/emacs-19.0/lisp/bg-mouse.el
;;; emacs version 19.0.426.
;;; bytecomp version FSF 2.08
;;; optimization is on.

(defvar bg-mouse-fast-select-window nil "\
*Non-nil for mouse hits to select new window, then execute; else just select.")
(byte-code "\n" [1 bg-button-r 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] 1)
(fset 'bg-mouse-report (make-byte-code (quote (prefix-arg)) "	! S	!\"^ S	!\"Z!\"\" ! SU?I 8SU?^ ?^ 8SY=o ?z {     \\\\!\\!\"#@Z$A@Z%  !#!!   #! !( #!." [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 "\
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" "P"))
(fset 'bg-set-point (make-byte-code (quote nil) "	\n\"	" [bg-move-point-to-x-y bg-mouse-x bg-mouse-y next-line this-command temporary-goal-column] 3 "\
Move point to location of BitGraph mouse." nil))
(fset 'bg-set-mark (make-byte-code (quote nil) " \n\" " [push-mark bg-move-point-to-x-y bg-mouse-x bg-mouse-y exchange-point-and-mark] 3 "\
Set mark at location of BitGraph mouse." nil))
(fset 'bg-yank (make-byte-code (quote nil) "	\n\" " [bg-move-point-to-x-y bg-mouse-x bg-mouse-y yank this-command] 3 "\
Move point to location of BitGraph mouse and yank." "*"))
(byte-code "&M" [yank-pop-1 make-byte-code nil "!" [yank-pop 1] 2 "*"] 8)
(fset 'bg-yank-or-pop (make-byte-code (quote nil) "=\n ! " [last-command yank yank-pop 1 bg-yank] 2 "\
Move point to location of BitGraph mouse and yank.  If last command
was a yank, do a yank-pop." "*"))
(byte-code "" [8388607 bg-most-positive-fixnum] 1)
(fset 'bg-move-by-percentage (make-byte-code (quote nil) "U\n +  \"W!  \" S\"+   S\"\"b! " [bg-mouse-x 0 buffer-size / bg-most-positive-fixnum * window-width forward-line what-cursor-position] 4 "\
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." nil))
(fset 'bg-mouse-line-to-top (make-byte-code (quote nil) "	!" [scroll-up bg-mouse-y] 2 "\
Scroll the line pointed to by the BitGraph mouse to the top of the window." nil))
(fset 'bg-mouse-line-to-center (make-byte-code (quote nil) "\n [\\\\\\\"!" [scroll-up / bg-mouse-y window-height 2] 6 "\
Scroll the line pointed to by the BitGraph mouse to the center 
of the window" nil))
(fset 'bg-mouse-line-to-bottom (make-byte-code (quote nil) "	 Z\\!" [scroll-up bg-mouse-y 2 window-height] 4 "\
Scroll the line pointed to by the mouse to the bottom of the window." nil))
(byte-code "&M" [bg-kill-region make-byte-code nil "  \"" [kill-region region-beginning region-end] 3 "*"] 8)
(fset 'bg-insert-moused-sexp (make-byte-code (quote nil) "	\n\"! ! !Ȋ!`)`\")\n! n6  M !!?E !)M !\n!lm !m !h !m !))" [bg-move-point-to-x-y bg-mouse-x bg-mouse-y looking-at "\\s)" forward-char 1 forward-sexp buffer-substring 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 "\
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)." nil))
(fset 'bg-get-tty-num (make-byte-code (quote (term-char)) " ZY# X# \"\\ Z \\=3  !*" [0 read-char 48 char num 9 * 10 term-char bg-program-mouse error "Invalid data format in bg-mouse command: mouse reinitialized."] 4 "\
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."))
(fset 'bg-move-point-to-x-y (make-byte-code (quote (x y)) "	!i V S\\\\!*" [move-to-window-line y window-hscroll scroll-offset zero-column 0 move-to-column x] 4 "\
Position cursor in window coordinates.
X and Y are 0-based character positions in the window."))
(fset 'bg-window-from-x-y (make-byte-code (quote (x y)) " \n =8 A@W- 8Y- @W- 8Y8 \n!\n! \n =C M \nL  M \n*" [window-edges nil window edges selected-window y 3 x 2 next-window] 3 "\
Find window corresponding to screen coordinates.
X and Y are 0-based character positions on the screen."))
(byte-code "$M$M!  Ǉ" [bg-command-execute make-byte-code (bg-command) "	!\n 	! " [commandp bg-command command-execute ding] 2 bg-program-mouse nil "!" [send-string-to-terminal ":0;7;;;360;512;9;16;9;16c"] keymapp mouse-map make-keymap] 6)
(fset 'bind-bg-mouse-click (make-byte-code (quote (click-code function)) "	!#" [define-key mouse-map char-to-string click-code function] 4 "\
Bind bg-mouse CLICK-CODE to run FUNCTION."))
(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] 4)
