(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)