Commit 7a2c7ca7 authored by Chong Yidong's avatar Chong Yidong
Browse files

Give completion field overlays high priority.

* lisp/minibuffer.el (completion-in-region, completion-help-at-point):
Give the completion field overlay a high priority.

Fixes: debbugs:6830
parent 82dcf4e4
2012-03-10 Chong Yidong <cyd@gnu.org> 2012-03-10 Chong Yidong <cyd@gnu.org>
* minibuffer.el (completion-in-region, completion-help-at-point):
Give the completion field overlay a high priority (Bug#6830).
* dired.el (dired-goto-file): Recognize absolute file name * dired.el (dired-goto-file): Recognize absolute file name
listings (Bug#7126). listings (Bug#7126).
(dired-goto-file-1): New helper function. (dired-goto-file-1): New helper function.
......
...@@ -1483,10 +1483,13 @@ exit." ...@@ -1483,10 +1483,13 @@ exit."
(minibuffer-completion-predicate predicate) (minibuffer-completion-predicate predicate)
(ol (make-overlay start end nil nil t))) (ol (make-overlay start end nil nil t)))
(overlay-put ol 'field 'completion) (overlay-put ol 'field 'completion)
;; HACK: if the text we are completing is already in a field, we
;; want the completion field to take priority (e.g. Bug#6830).
(overlay-put ol 'priority 100)
(when completion-in-region-mode-predicate (when completion-in-region-mode-predicate
(completion-in-region-mode 1) (completion-in-region-mode 1)
(setq completion-in-region--data (setq completion-in-region--data
(list (current-buffer) start end collection))) (list (current-buffer) start end collection)))
(unwind-protect (unwind-protect
(call-interactively 'minibuffer-complete) (call-interactively 'minibuffer-complete)
(delete-overlay ol))))) (delete-overlay ol)))))
...@@ -1653,9 +1656,10 @@ The completion method is determined by `completion-at-point-functions'." ...@@ -1653,9 +1656,10 @@ The completion method is determined by `completion-at-point-functions'."
;; introduce a corresponding hook (plus another for word-completion, ;; introduce a corresponding hook (plus another for word-completion,
;; and another for force-completion, maybe?). ;; and another for force-completion, maybe?).
(overlay-put ol 'field 'completion) (overlay-put ol 'field 'completion)
(overlay-put ol 'priority 100)
(completion-in-region-mode 1) (completion-in-region-mode 1)
(setq completion-in-region--data (setq completion-in-region--data
(list (current-buffer) start end collection)) (list (current-buffer) start end collection))
(unwind-protect (unwind-protect
(call-interactively 'minibuffer-completion-help) (call-interactively 'minibuffer-completion-help)
(delete-overlay ol)))) (delete-overlay ol))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment