X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/a57471f93507c55b55ee9e28c493ba78b46796e3..fa7886a46ff8d611cd75eaf651944f0fbc260324:/lisp/emulation/viper-mous.el diff --git a/lisp/emulation/viper-mous.el b/lisp/emulation/viper-mous.el index 778910017c..b95a341f8e 100644 --- a/lisp/emulation/viper-mous.el +++ b/lisp/emulation/viper-mous.el @@ -1,6 +1,6 @@ ;;; viper-mous.el --- mouse support for Viper -;; Copyright (C) 1994-1997, 2001-2011 Free Software Foundation, Inc. +;; Copyright (C) 1994-1997, 2001-2016 Free Software Foundation, Inc. ;; Author: Michael Kifer ;; Package: viper @@ -35,15 +35,8 @@ (defvar viper-s-string) (defvar viper-re-search) -;; loading happens only in non-interactive compilation -;; in order to spare non-viperized emacs from being viperized -(if noninteractive - (eval-when-compile - (require 'viper-cmd) - )) -;; end pacifier - (require 'viper-util) +;; end pacifier (defgroup viper-mouse nil @@ -63,10 +56,10 @@ (defvar viper-current-frame-saved (selected-frame)) (defcustom viper-surrounding-word-function 'viper-surrounding-word - "*Function that determines what constitutes a word for clicking events. + "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." +or a triple-click." :type 'symbol :group 'viper-mouse) @@ -77,7 +70,7 @@ or a tripple-click." mouse-track-multi-click-time double-click-time) 500) - "*Time interval in millisecond within which successive mouse clicks are + "Time interval in millisecond within which successive mouse clicks are considered related." :type 'integer :group 'viper-mouse) @@ -95,7 +88,7 @@ considered related." ;; remembers prefix argument to pass along to commands invoked by second ;; click. -;; This is needed because in Emacs (not XEmacs), assigning to preix-arg +;; This is needed because in Emacs (not XEmacs), assigning to prefix-arg ;; causes Emacs to count the second click as if it was a single click (defvar viper-global-prefix-argument nil) @@ -140,6 +133,10 @@ considered related." (posn-point (event-start click)))) + +(declare-function viper-backward-char-carefully "viper-cmd" (&optional arg)) +(declare-function viper-forward-char-carefully "viper-cmd" (&optional arg)) + (defun viper-surrounding-word (count click-count) "Returns word surrounding point according to a heuristic. COUNT indicates how many regions to return. @@ -148,7 +145,7 @@ 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 +character, such as `(' is a match for `)', then the matching character is also considered alphanumeric. For convenience, in Lisp modes, `-' is considered alphanumeric. @@ -253,7 +250,7 @@ On single or double click, returns the word as determined by 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\). +\(or it must be bound to the same function). See `viper-surrounding-word' for the definition of a word in this case." (interactive "e\nP") (if viper-frame-of-focus ;; to handle clicks in another frame @@ -335,12 +332,14 @@ See `viper-surrounding-word' for the definition of a word in this case." viper-current-click-count 0)))) +(declare-function viper-forward-word "viper-cmd" (arg)) +(declare-function viper-adjust-window "viper-cmd" ()) (defun viper-mouse-click-search-word (click arg) "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\). +same button must not be bound \(or it must be bound to the same function). See `viper-surrounding-word' for the details on what constitutes a word for this command." (interactive "e\nP") @@ -624,7 +623,7 @@ bindings in the Viper manual." (defcustom viper-mouse-search-key '(meta shift 1) - "*Key used to click-search in Viper. + "Key used to click-search in Viper. This must be a list that specifies the mouse button and modifiers. The supported modifiers are `meta', `shift', and `control'. For instance, `(meta shift 1)' means that holding the meta and shift @@ -640,7 +639,7 @@ This buffer may be different from the one where the click occurred." :group 'viper-mouse) (defcustom viper-mouse-insert-key '(meta shift 2) - "*Key used to click-insert in Viper. + "Key used to click-insert in Viper. Must be a list that specifies the mouse button and modifiers. The supported modifiers are `meta', `shift', and `control'. For instance, `(meta shift 2)' means that holding the meta and shift keys