From 7a2c7ca7ca06089158560f7d3e2807554d3276cf Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sat, 10 Mar 2012 15:08:51 +0800 Subject: [PATCH] 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 --- lisp/ChangeLog | 3 +++ lisp/minibuffer.el | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 44190993887..c3b28cd8777 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2012-03-10 Chong Yidong + * 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 listings (Bug#7126). (dired-goto-file-1): New helper function. diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 1fdf33bf610..1a1a37258c4 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -1483,10 +1483,13 @@ exit." (minibuffer-completion-predicate predicate) (ol (make-overlay start end nil nil t))) (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 (completion-in-region-mode 1) (setq completion-in-region--data - (list (current-buffer) start end collection))) + (list (current-buffer) start end collection))) (unwind-protect (call-interactively 'minibuffer-complete) (delete-overlay ol))))) @@ -1653,9 +1656,10 @@ The completion method is determined by `completion-at-point-functions'." ;; introduce a corresponding hook (plus another for word-completion, ;; and another for force-completion, maybe?). (overlay-put ol 'field 'completion) + (overlay-put ol 'priority 100) (completion-in-region-mode 1) (setq completion-in-region--data - (list (current-buffer) start end collection)) + (list (current-buffer) start end collection)) (unwind-protect (call-interactively 'minibuffer-completion-help) (delete-overlay ol)))) -- 2.11.4.GIT