From: Glenn Morris Date: Tue, 4 Mar 2014 17:01:37 +0000 (-0800) Subject: * minibuffer.el (completion-hilit-commonality): Revert 2014-03-01 short-cut, X-Git-Tag: emacs-24.3.90~290 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3106d59bce024deba9d6b2193531c09b6a6d3c91;p=emacs.git * minibuffer.el (completion-hilit-commonality): Revert 2014-03-01 short-cut, which changed the return value. Fixes: debbugs:16933 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 52d2728dad7..939f150e56e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-03-04 Glenn Morris + + * minibuffer.el (completion-hilit-commonality): + Revert 2014-03-01 short-cut, which changed the return value. (Bug#16933) + 2014-03-04 Juanma Barranquero * hilit-chg.el (hilit-chg-unload-function): New function. diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index da3a8ad9df1..526fdb62bc3 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -1597,36 +1597,34 @@ This adds the face `completions-common-part' to the first It returns a list with font-lock properties applied to each element, and with BASE-SIZE appended as the last element." (when completions - (if (zerop prefix-len) - completions - (let ((com-str-len (- prefix-len (or base-size 0)))) - (nconc - (mapcar - (lambda (elem) - (let ((str - ;; Don't modify the string itself, but a copy, since the - ;; the string may be read-only or used for other purposes. - ;; Furthermore, since `completions' may come from - ;; display-completion-list, `elem' may be a list. - (if (consp elem) - (car (setq elem (cons (copy-sequence (car elem)) - (cdr elem)))) - (setq elem (copy-sequence elem))))) - (font-lock-prepend-text-property - 0 - ;; If completion-boundaries returns incorrect - ;; values, all-completions may return strings - ;; that don't contain the prefix. - (min com-str-len (length str)) - 'face 'completions-common-part str) - (if (> (length str) com-str-len) - (font-lock-prepend-text-property com-str-len (1+ com-str-len) - 'face - 'completions-first-difference - str))) - elem) - completions) - base-size))))) + (let ((com-str-len (- prefix-len (or base-size 0)))) + (nconc + (mapcar + (lambda (elem) + (let ((str + ;; Don't modify the string itself, but a copy, since the + ;; the string may be read-only or used for other purposes. + ;; Furthermore, since `completions' may come from + ;; display-completion-list, `elem' may be a list. + (if (consp elem) + (car (setq elem (cons (copy-sequence (car elem)) + (cdr elem)))) + (setq elem (copy-sequence elem))))) + (font-lock-prepend-text-property + 0 + ;; If completion-boundaries returns incorrect + ;; values, all-completions may return strings + ;; that don't contain the prefix. + (min com-str-len (length str)) + 'face 'completions-common-part str) + (if (> (length str) com-str-len) + (font-lock-prepend-text-property com-str-len (1+ com-str-len) + 'face + 'completions-first-difference + str))) + elem) + completions) + base-size)))) (defun display-completion-list (completions &optional common-substring) "Display the list of completions, COMPLETIONS, using `standard-output'.