diff options
| -rw-r--r-- | lisp/mouse.el | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el index 29f866019b2..fb49a2ced32 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -1206,6 +1206,8 @@ and selects that window." | |||
| 1206 | choice) | 1206 | choice) |
| 1207 | (save-excursion | 1207 | (save-excursion |
| 1208 | (set-buffer (window-buffer (posn-window (event-start event)))) | 1208 | (set-buffer (window-buffer (posn-window (event-start event)))) |
| 1209 | (if completion-reference-buffer | ||
| 1210 | (setq buffer completion-reference-buffer)) | ||
| 1209 | (save-excursion | 1211 | (save-excursion |
| 1210 | (goto-char (posn-point (event-start event))) | 1212 | (goto-char (posn-point (event-start event))) |
| 1211 | (skip-chars-backward "^ \t\n") | 1213 | (skip-chars-backward "^ \t\n") |
| @@ -1215,6 +1217,9 @@ and selects that window." | |||
| 1215 | (set-buffer buffer) | 1217 | (set-buffer buffer) |
| 1216 | (mouse-delete-max-match choice) | 1218 | (mouse-delete-max-match choice) |
| 1217 | (insert choice) | 1219 | (insert choice) |
| 1220 | ;; Update point in the window that BUFFER is showing in. | ||
| 1221 | (let ((window (get-buffer-window buffer t))) | ||
| 1222 | (set-window-point window (point))) | ||
| 1218 | (and (equal buffer (window-buffer (minibuffer-window))) | 1223 | (and (equal buffer (window-buffer (minibuffer-window))) |
| 1219 | (minibuffer-complete-and-exit)))) | 1224 | (minibuffer-complete-and-exit)))) |
| 1220 | 1225 | ||