summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-05-20 22:27:04 +0000
committerRichard M. Stallman <rms@gnu.org>1994-05-20 22:27:04 +0000
commitb6be5d958462e70e0b66b9cc66b1ad3558e46fb9 (patch)
treee66e2c1b7b2afcc131cf85f41ca7862e8d78d6f9 /lisp
parent3ee3ac774f3be2cf4f2ec479046d40147b70334d (diff)
downloademacs-b6be5d958462e70e0b66b9cc66b1ad3558e46fb9.tar.gz
(mouse-choose-completion):
Include words separated by single spaces in the completion.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/mouse.el16
1 files changed, 13 insertions, 3 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el
index cd40da2859f..2cceabab2f7 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1189,10 +1189,20 @@ and selects that window."
(setq buffer completion-reference-buffer))
(save-excursion
(goto-char (posn-point (event-start event)))
- (skip-chars-backward "^ \t\n")
- (let ((beg (point)))
+ (let (beg end)
(skip-chars-forward "^ \t\n")
- (setq choice (buffer-substring beg (point))))))
+ (while (looking-at " [^ \n\t]")
+ (forward-char 1)
+ (skip-chars-forward "^ \t\n"))
+ (setq end (point))
+ (skip-chars-backward "^ \t\n")
+ (while (and (= (preceding-char) ?\ )
+ (not (and (> (point) (1+ (point-min)))
+ (= (char-after (- (point) 2)) ?\ ))))
+ (backward-char 1)
+ (skip-chars-backward "^ \t\n"))
+ (setq beg (point))
+ (setq choice (buffer-substring beg end)))))
(let ((owindow (selected-window)))
(select-window (posn-window (event-start event)))
(bury-buffer)