summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-06-29 01:02:59 +0000
committerRichard M. Stallman <rms@gnu.org>1996-06-29 01:02:59 +0000
commit5377087736872b0ea7e400647a986ef6f74d58ef (patch)
treed83413ae1993032d355e1d81122385b0378ae451
parent77f76e3e1b83c55e1a033aef28bce51e16b1612a (diff)
downloademacs-5377087736872b0ea7e400647a986ef6f74d58ef.tar.gz
(mouse-start-end): Support selecting strings by double
clicking on a character with quote syntax.
-rw-r--r--lisp/mouse.el25
1 files changed, 25 insertions, 0 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 41fda55689b..23f5c192e3f 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -651,6 +651,31 @@ If DIR is positive skip forward; if negative, skip backward."
(backward-sexp 1)
(point))
(1+ start)))
+ ((and (= mode 1)
+ (= start end)
+ (char-after start)
+ (= (char-syntax (char-after start)) ?\"))
+ (let ((open (or (eq start (point-min))
+ (save-excursion
+ (goto-char (- start 1))
+ (looking-at "\\s(\\|\\s \\|\\s>")))))
+ (if open
+ (list start
+ (save-excursion
+ (condition-case nil
+ (progn
+ (goto-char start)
+ (forward-sexp 1)
+ (point))
+ (error end))))
+ (list (1+ start)
+ (save-excursion
+ (condition-case nil
+ (progn
+ (goto-char (1+ start))
+ (backward-sexp 1)
+ (point))
+ (error end)))))))
((= mode 1)
(list (save-excursion
(goto-char start)