1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-27 07:37:33 +00:00

(vip-surrounding-word): modified to understand tripple clicks.

This commit is contained in:
Michael Kifer 1995-08-20 04:30:48 +00:00
parent 4040437e1f
commit c9dd7f74f6

View File

@ -84,25 +84,24 @@ For convenience, in Lisp modes, `-' is considered alphanumeric.
If CLICK-COUNT is 3 or more, returns the line clicked on with leading and 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, trailing space and tabs removed. In that case, the first argument, COUNT,
is ignored." is ignored."
(if (> click-count 2) (let ((basic-alpha "_a-zA-Z0-9") ; it is important for `_' to come first
(let (beg) (basic-alpha-B "[_a-zA-Z0-9]")
(basic-nonalphasep-B vip-NONALPHASEP-B)
(end-modifiers "")
(start-modifiers "")
vip-ALPHA vip-ALPHA-B
vip-NONALPHA vip-NONALPHA-B
vip-ALPHASEP vip-ALPHASEP-B
vip-NONALPHASEP vip-NONALPHASEP-B
beg skip-flag result
one-char-word-func word-function-forw word-function-back word-beg)
(if (> click-count 2)
(save-excursion (save-excursion
(beginning-of-line) (beginning-of-line)
(skip-chars-forward " \t") (skip-chars-forward " \t")
(setq beg (point)) (setq beg (point))
(end-of-line) (end-of-line)
(buffer-substring beg (point)))) (setq result (buffer-substring beg (point))))
(let* ((basic-alpha "_a-zA-Z0-9") ;; it is important for `_' to come first
(basic-alpha-B "[_a-zA-Z0-9]")
(basic-nonalphasep-B vip-NONALPHASEP-B)
(end-modifiers "")
(start-modifiers "")
vip-ALPHA vip-ALPHA-B
vip-NONALPHA vip-NONALPHA-B
vip-ALPHASEP vip-ALPHASEP-B
vip-NONALPHASEP vip-NONALPHASEP-B
skip-flag
one-char-word-func word-function-forw word-function-back word-beg)
(if (and (looking-at basic-nonalphasep-B) (if (and (looking-at basic-nonalphasep-B)
(or (save-excursion (vip-backward-char-carefully) (or (save-excursion (vip-backward-char-carefully)
@ -173,8 +172,14 @@ is ignored."
(setq count (1- count))) (setq count (1- count)))
(vip-forward-char-carefully) (vip-forward-char-carefully)
(buffer-substring word-beg (point))) (setq result (buffer-substring word-beg (point))))
))) ) ; if
;; XEmacs doesn't have set-text-propertiesr, but there buffer-substring
;; doesn't return properties together with the string, so it's not needed.
(if vip-emacs-p
(set-text-properties 0 (length result) nil result))
result
))
(defun vip-mouse-click-get-word (click count click-count) (defun vip-mouse-click-get-word (click count click-count)