summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/minibuffer.el7
2 files changed, 9 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 99dff70118a..48eb3c9e955 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,8 @@
2010-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
+ * minibuffer.el (completion-fail-discreetly): New var.
+ (completion--do-completion): Use it.
+
* electric.el (electric-pair-pairs): New var.
(electric-pair-post-self-insert-function): Use it.
(electric-layout-post-self-insert-function): Don't insert a before
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 0275dc1923b..78580c86e45 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -530,6 +530,9 @@ candidates than this number."
(make-variable-buffer-local 'completion-all-sorted-completions)
(defvar completion-cycling nil)
+(defvar completion-fail-discreetly nil
+ "If non-nil, stay quiet when there is no match.")
+
(defun completion--do-completion (&optional try-completion-function)
"Do the completion and return a summary of what happened.
M = completion was performed, the text was Modified.
@@ -558,7 +561,9 @@ E = after completion we now have an Exact match.
(cond
((null comp)
(minibuffer-hide-completions)
- (ding) (minibuffer-message "No match") (minibuffer--bitset nil nil nil))
+ (unless completion-fail-discreetly
+ (ding) (minibuffer-message "No match"))
+ (minibuffer--bitset nil nil nil))
((eq t comp)
(minibuffer-hide-completions)
(goto-char (field-end))