From: Kenichi Handa Date: Thu, 30 Jul 1998 01:34:38 +0000 (+0000) Subject: (mouse-skip-word): If point is at word constituent X-Git-Tag: emacs-20.3~227 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=258e3295297a7255fe98e020ea10a4a9367a236f;p=emacs.git (mouse-skip-word): If point is at word constituent characters, pay attention to word-separating-categories by using forward-word instead of skip-syntax-forward/backward. --- diff --git a/lisp/mouse.el b/lisp/mouse.el index 1902db0a32d..be760126499 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -639,7 +639,18 @@ remains active. Otherwise, it remains until the next input event." If DIR is positive skip forward; if negative, skip backward." (let* ((char (following-char)) (syntax (char-to-string (char-syntax char)))) - (cond ((or (string= syntax "w") (string= syntax " ")) + (cond ((string= syntax "w") + ;; Here, we can't use skip-syntax-forward/backward because + ;; they don't pay attention to word-separating-categories, + ;; and thus they will skip over a true word boundary. So, + ;; we simularte the original behaviour by using + ;; forward-word. + (if (< dir 0) + (if (not (looking-at "\\<")) + (forward-word -1)) + (if (or (looking-at "\\<") (not (looking-at "\\>"))) + (forward-word 1)))) + ((string= syntax " ") (if (< dir 0) (skip-syntax-backward syntax) (skip-syntax-forward syntax)))