;ELC ;;; compiled by kwzh@nutrimat.gnu.ai.mit.edu on Sun Jul 21 15:31:37 1996 ;;; from file /gd/gnu/emacs/19.0/lisp/viper-mous.el ;;; emacs version 19.31.94.1. ;;; bytecomp version FSF 2.10 ;;; 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.29"))) (error "`viper-mous.el' was compiled for Emacs 19.29 or later")) (byte-code "ÀÁ!ˆÂ BÄ BÅÆ!„ÇÆ BÈ  É BLJ" [require viper-util double-click-time current-load-list mouse-track-multi-click-time boundp vip-frame-of-focus nil selected-frame vip-current-frame-saved] 2) #@235 *Function that determines what constitutes a word for clicking events. Takes two parameters: a COUNT, indicating how many words to return, and CLICK-COUNT, telling whether this is the first click, a double-click, or a tripple-click. (defvar vip-surrounding-word-function (quote vip-surrounding-word) (#$ . -692)) #@86 *Time interval in millisecond within which successive clicks are considered related. (defconst vip-multiclick-timeout (byte-code "ƒ ‡\n‡" [vip-xemacs-p mouse-track-multi-click-time double-click-time] 1) (#$ . -1012)) (byte-code "ÀÁ!„ÂÁ BÀÄ!„ÂÄ BÀ‡" [boundp vip-current-click-count 0 current-load-list vip-last-click-event-timestamp] 2) #@20 nil (buffer local) (defvar vip-mouse-click-search-noerror t (#$ . 1365)) (make-variable-buffer-local (quote vip-mouse-click-search-noerror)) #@20 nil (buffer local) (defvar vip-mouse-click-search-limit nil (#$ . 1512)) (byte-code "ÀÁ!ˆÂÃ!„\fÄà Bć" [make-variable-buffer-local vip-mouse-click-search-limit boundp vip-global-prefix-argument nil current-load-list] 2) (defalias 'vip-multiclick-p #[nil "Á\fƒŠƥ\n\"‚ÅÇ \n#*?‡" [vip-multiclick-timeout t nodisp val vip-xemacs-p sit-for 1000.0 0] 4]) (put (quote vip-multiclick-p) (quote byte-optimizer) (quote byte-compile-inline-expand)) (defalias 'vip-mouse-click-window #[(click) "ƒÁ\n!‡\n‰A@)‰@)‡" [vip-xemacs-p event-window click event position] 3]) (put (quote vip-mouse-click-window) (quote byte-optimizer) (quote byte-compile-inline-expand)) (defalias 'vip-mouse-click-frame #[(click) "À \nƒ à !‚ ‰A@)‰@))!‡" [window-frame click vip-xemacs-p event-window event position] 4]) (put (quote vip-mouse-click-frame) (quote byte-optimizer) (quote byte-compile-inline-expand)) (defalias 'vip-mouse-click-window-buffer #[(click) "À \nƒ à !‚ ‰A@)‰@))!‡" [window-buffer click vip-xemacs-p event-window event position] 4]) (put (quote vip-mouse-click-window-buffer) (quote byte-optimizer) (quote byte-compile-inline-expand)) (defalias 'vip-mouse-click-window-buffer-name #[(click) "À   ƒÄ !‚ ‰A@)‰@))!)!‡" [buffer-name click window-buffer vip-xemacs-p event-window event position] 5]) (put (quote vip-mouse-click-window-buffer-name) (quote byte-optimizer) (quote byte-compile-inline-expand)) (defalias 'vip-mouse-click-posn #[(click) "ƒÁ\n!‡\n‰A@)‰A@:ƒ\fA@@‚ \fA@)‡" [vip-xemacs-p event-point click event position] 3]) (put (quote vip-mouse-click-posn) (quote byte-optimizer) (quote byte-compile-inline-expand)) #@752 Returns word surrounding point according to a heuristic. COUNT indicates how many regions to return. If CLICK-COUNT is 1, `word' is a word in Vi sense. If CLICK-COUNT is 2,then `word' is a Word in Vi sense. If the character clicked on is a non-separator and is non-alphanumeric but is adjacent to an alphanumeric symbol, then it is considered alphanumeric for the purpose of this command. If this character has a matching character, such as `(' is a match for `)', then the matching character is also considered alphanumeric. For convenience, in Lisp modes, `-' is considered alphanumeric. If CLICK-COUNT is 3 or more, returns the line clicked on with leading and trailing space and tabs removed. In that case, the first argument, COUNT, is ignored. (defalias 'vip-surrounding-word #[(count click-count) "ÀÁ‰‰‰ÈVƒ;ŠÉyˆÊ\nËÌ \n†#Î\n…+ÏÐ!$ˆ)`Áˆ `{)‚5Á`f‰…XÓ=†XzÔÕ !Á\">)†`Ö!)„ïŠ× ˆÖ )„xŠØ ˆÖ )ƒïÙÚ!ƒ‚Ú‚íÙÛ!ƒŒÜ‚íÙÝ!ƒ–Þ‚íÙß!ƒ à‚íÙá!ƒªâ‚íÙã!ƒ´ä‚íÙå!ƒ¾æ‚íÙç!ƒÈç‚í`f‰…âÓ=†âzÔÕ !Á\">)ƒêÀ‚íèg!ÙÛ!„éêë,!\"ƒÜPŠíVƒîï!ˆ‚ÕÖ!ƒM‰;„'ÀËï0ñ=ƒ4À‚620ñ=ƒE3P‚G#ˆ)‚Õ`f‰…kÓ=†kzÔÕ !Á\">)†sÖ!)„˜0ñ=ƒ‰ô53QÁx‚”öô2 QÏ÷!\"ˆ‚ÕíVƒ¦îï!ˆ‚Õ‰;„²ÀËï0ñ=ƒ¿À‚Á20ñ=ƒÐ3P‚Ò#ˆ)`Á8ÉVƒ0\fƒèØí!ˆùíVƒøîÌ!ˆ‚'‰;„ÀËÌ0ñ=ƒÀ‚20ñ=ƒ\"3P‚$#ˆ)8S‰8‚Û\n`{):ƒBûÉ GÁ $ˆ -‡" ["" nil word-beg result skip-flag beg modifiers click-count 2 0 within-line vip-skip-syntax forward vip-SEP-char-class "\n" vip-line-pos end addl-chars char 10 append vconcat vip-looking-at-alpha vip-backward-char-carefully vip-forward-char-carefully looking-at "\\\\" "-" "C-C-" "[][]" "][" "[()]" ")(" "[{}]" "{}" "[<>]" "<>" "[`']" "`'" "\\^" char-to-string string-match "lisp" symbol-name major-mode 1 vip-skip-nonseparators backward vip-syntax-preference strict-vi vip-ALPHA-char-class vip-strict-ALPHA-chars "^" vip-strict-SEP-chars skip-syntax-backward start count t vip-emacs-p set-text-properties] 7 (#$ . 3173)]) #@224 Returns word surrounding the position of a mouse click. Click may be in another window. Current window and buffer isn't changed. On single or double click, returns the word as determined by `vip-surrounding-word-function'. (defalias 'vip-mouse-click-get-word #[(click count click-count) "À \nƒ à !‚& ‰A@)‰A@:ƒ\" A@@‚% A@)) Æ \nƒ6Ç !‚@ ‰A@)‰@))!) \nË\f!„SÍ\fË!„]ÍŠÏ‹,‡" ["" click vip-xemacs-p event-point event position window-buffer event-window click-buf click-pos click-word natnump count 1 click-count ((byte-code "ƒ qˆbˆ\n \f\"‚ÆÇ!ˆ ‡" [click-pos click-buf vip-surrounding-word-function count click-count click-word error "Click must be over a window."] 3))] 6 (#$ . 5203)]) #@318 Insert word clicked or double-clicked on. With prefix argument, N, insert that many words. This command must be bound to a mouse click. The double-click action of the same mouse button must not be bound (or it must be bound to the same function). See `vip-surrounding-word' for the definition of a word in this case. (defalias 'vip-mouse-click-insert-word #[(click arg) "ƒÁ!ˆ\n¨„ \n<ƒ\n@¨ƒ\n@‚ ÃĉÈ \n ƒ<Ì\nÍ¥ \"‚CÌÎ\n #*„[Ï Ð!ƒ[\nÓ!‚¯Ó!‰ÃVƒmÄÕ\n#cˆ …¯ ‰¨†¡9ƒ×N†¡:…¡@9…¡@×N)…¯Ð !?…¯Ø !*‡" [vip-frame-of-focus select-frame arg 1 nil interrupting-event click-count vip-multiclick-timeout t nodisp val vip-xemacs-p sit-for 1000.0 0 vip-read-event vip-mouse-event-p last-input-event vip-global-prefix-argument vip-event-click-count click vip-mouse-click-get-word obj event-symbol-elements vip-set-unread-command-events] 5 (#$ . 5921) "e\nP"]) (defalias 'vip-mouse-event-p #[(event) "‰¨†! 9ƒ ÂN†! :…! @9…! @ÂN)…-ÃÄÅÆ!!\"‡" [event obj event-symbol-elements string-match "\\(mouse-\\|frame\\|screen\\|track\\)" prin1-to-string vip-event-key] 6]) (defalias 'vip-event-click-count #[(click) "ƒÁ\n! Z\fVƒÅÁ\n!T‰‡\nÈ8¨ƒ.È8‚/É)‡" [vip-xemacs-p event-timestamp click vip-last-click-event-timestamp vip-multiclick-timeout 0 vip-current-click-count event 2 1] 2]) #@367 Find the word clicked or double-clicked on. Word may be in another window. With prefix argument, N, search for N-th occurrence. This command must be bound to a mouse click. The double-click action of the same button must not be bound (or it must be bound to the same function). See `vip-surrounding-word' for the details on what constitutes a word for this command. (defalias 'vip-mouse-click-search-word #[(click arg) "ƒÁ!ˆÂ‰ È \n ƒ&Ì\nÍ¥ \"‚-ÌÎ\n #*„OÏ ˆÐ!ƒO†BÖ!‚ÚÖ!Ø # ÙVƒi†oÙÚ ˆ ˜ƒ’Û!ƒ’Ý!pšƒ’Þ=„¼ß ‰ È!Â\"#ƒ«ä!‚­‰%@˜„¼ %B%æÂÈ\"ˆÎV…ÚçÙ!ˆÂèéˆS‰‚Ã+‡" [vip-frame-of-focus select-frame nil vip-s-string previous-search-string click-count click-word vip-multiclick-timeout t nodisp val vip-xemacs-p sit-for 1000.0 0 vip-read-event vip-mouse-event-p last-input-event vip-global-prefix-argument arg last-command this-command vip-event-click-count click vip-mouse-click-get-word 1 vip-deactivate-mark markerp vip-search-start-marker marker-buffer vip-mouse-click-search-word point-marker vip-local-search-start-marker vip-mouse-click-search-noerror vip-mouse-click-search-limit vip-re-search regexp-quote vip-search-history push-mark vip-forward-word (byte-code "À \n #„+ÄŠÅ!ƒÇ!ƒbˆÈÉ!)ebˆÀ \nÄ#ˆÊ”bˆËÌ \"ˆÏXƒ?Ð ˆÄ‡" [search-forward click-word vip-mouse-click-search-limit vip-mouse-click-search-noerror nil markerp vip-local-search-start-marker marker-buffer vip-line-pos end 0 message "Searching for: %s" vip-s-string arg 1 vip-flash-search-pattern] 4) ((error (byte-code "ÀÁ!ˆ\n ˜ƒ\fÅ=„ÆÇÉp!#ˆ‚+ÆÊ\nÉp!#ˆÁ ÌÍ!ˆÎÐÒ!ƒCÔ!ƒCbˆÐ‡" [beep 1 click-word previous-search-string last-command vip-mouse-click-search-word message "`%s': String not found in %s" vip-s-string buffer-name "`%s': Last occurrence in %s. Back to beginning of search" arg sit-for 2 t vip-mouse-click-search-noerror nil vip-mouse-click-search-limit markerp vip-local-search-start-marker marker-buffer] 5)))] 5 (#$ . 7278) "e\nP"]) #@153 Catch the event of switching frame. Usually is bound to a 'down-mouse' event to work properly. See sample bindings in viper.el and in the Viper manual. (defalias 'vip-mouse-catch-frame-switch #[(event arg) "À\n\fÅ=ƒ \f‰‡" [nil vip-frame-of-focus arg prefix-arg last-command handle-switch-frame vip-current-frame-saved this-command] 2 (#$ . 9309) "e\nP"]) (defalias 'vip-remember-current-frame #[(frame) "À ‰‡" [handle-switch-frame last-command selected-frame vip-current-frame-saved] 2]) (byte-code "ÀÁÂÃ#ˆÄ ƒ› ƒÆ‚Ç ƒÉ‚Ê ƒ)Ì‚*Í ƒ4Ï‚5ÐÒ!?…DÒ !?Ò!?…SÒ!?ƒ`ÕÖ\"ˆƒkÕ×\"ˆƒvÕ Ø\"ˆƒÕØ\"ˆ ƒÙÚÁ\"ˆ‚™ÛÜÝÞß$ˆàÜß\"ˆ.áâ!‡" [put vip-remember-current-frame byte-optimizer byte-compile-inline-expand vip-window-display-p vip-xemacs-p [(meta shift button1up)] [M-S-mouse-1] search-key [(meta shift button1)] [M-S-down-mouse-1] search-key-catch [(meta shift button2up)] [M-S-mouse-2] insert-key [(meta shift button2)] [M-S-down-mouse-2] insert-key-catch key-binding search-key-unbound insert-key-unbound global-set-key vip-mouse-click-search-word vip-mouse-click-insert-word vip-mouse-catch-frame-switch add-hook mouse-leave-frame-hook ad-add-advice handle-switch-frame (vip-frame-advice nil t (advice lambda nil "Remember the selected frame before the switch-frame event." (vip-remember-current-frame (selected-frame)))) before nil ad-activate-on provide viper-mous] 5)