]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/icomplete.el (icomplete-completions): Make sure the prefix is already
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 14 Dec 2013 14:24:36 +0000 (09:24 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 14 Dec 2013 14:24:36 +0000 (09:24 -0500)
displayed elsewhere before hiding it.

lisp/ChangeLog
lisp/icomplete.el

index 62045b9cb645f59849e0ebeb6a26ab4f20b86d0c..129dde734abac7e0fb79edb0c3470c9aed07fc3f 100644 (file)
@@ -1,3 +1,8 @@
+2013-12-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * icomplete.el (icomplete-completions): Make sure the prefix is already
+       displayed elsewhere before hiding it.
+
 2013-12-14  Dmitry Gutov  <dgutov@yandex.ru>
 
        * progmodes/ruby-mode.el (ruby-smie-rules): Return nil before
 2013-12-13  Teodor Zlatanov  <tzz@lifelogs.com>
 
        * progmodes/cfengine.el: Fix `add-hook' doc.
-       (cfengine-mode-syntax-functions-regex):
-       Initialize sensibly.
+       (cfengine-mode-syntax-functions-regex): Initialize sensibly.
        (cfengine3--current-word): Fix parameters.
        (cfengine3-make-syntax-cache): Simplify further.
-       (cfengine3-completion-function, cfengine3--current-function): Use
-       `assq' for symbols.
+       (cfengine3-completion-function, cfengine3--current-function):
+       Use `assq' for symbols.
        (cfengine3--current-function): Fix `cfengine3--current-word' call.
 
 2013-12-13  Glenn Morris  <rgm@gnu.org>
@@ -31,8 +35,8 @@
        cf-promises doesn't run.
        (cfengine3--current-word): Reimplement using
        `cfengine-mode-syntax-functions-regex'.
-       (cfengine3-completion-function, cfengine3--current-function): Use
-       `cfengine3-make-syntax-cache' directly.
+       (cfengine3-completion-function, cfengine3--current-function):
+       Use `cfengine3-make-syntax-cache' directly.
        (cfengine3-clear-syntax-cache): New function.
        (cfengine3-make-syntax-cache): Simplify and create
        `cfengine-mode-syntax-functions-regex' on demand.
@@ -85,8 +89,8 @@
 
 2013-12-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 
-       * progmodes/python.el (python-indent-calculate-indentation): Fix
-       de-denters cornercase. (Bug#15731)
+       * progmodes/python.el (python-indent-calculate-indentation):
+       Fix de-denters cornercase. (Bug#15731)
 
 2013-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 
index 7620adb3c9c6a67fedc8e5acfe2ed9068f6d1f8a..fccb2644ccb8d6fbca20e0f123dae59f5d558061 100644 (file)
@@ -416,18 +416,22 @@ are exhibited within the square braces.)"
                     ;; one line, increase the allowable space accordingly.
                     (/ prospects-len (window-width)))
                  (window-width)))
+             ;; Find the common prefix among `comps'.
+             ;; We can't use the optimization below because its assumptions
+             ;; aren't always true, e.g. when completion-cycling (bug#10850):
+             ;; (if (eq t (compare-strings (car comps) nil (length most)
+             ;;                         most nil nil completion-ignore-case))
+             ;;     ;; Common case.
+             ;;     (length most)
+             ;; Else, use try-completion.
             (prefix (when icomplete-hide-common-prefix
                       (try-completion "" comps)))
              (prefix-len
-              ;; Find the common prefix among `comps'.
-             ;; We can't use the optimization below because its assumptions
-             ;; aren't always true, e.g. when completion-cycling (bug#10850):
-             ;; (if (eq t (compare-strings (car comps) nil (length most)
-             ;;                         most nil nil completion-ignore-case))
-             ;;     ;; Common case.
-             ;;     (length most)
-             ;; Else, use try-completion.
-             (and (stringp prefix) (length prefix))) ;;)
+             (and (stringp prefix)
+                   ;; Only hide the prefix if the corresponding info
+                   ;; is already displayed via `most'.
+                   (string-prefix-p prefix most t)
+                   (length prefix))) ;;)
             prospects comp limit)
        (if (or (eq most-try t) (not (consp (cdr comps))))
            (setq prospects nil)