summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/minibuffer.el29
2 files changed, 26 insertions, 14 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9d7bab9d327..1aef1c8d701 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-hilit-commonality): Revert last change:
+ the leftover code was actually useful.
+
2008-05-02 Sam Steingold <sds@gnu.org>
* vc.el (vc-dir-mode-map): Enable mouse bindings.
@@ -8,8 +13,8 @@
2008-05-02 Nick Roberts <nickrob@snap.net.nz>
- * progmodes/gdb-ui.el (gdb-info-breakpoints-custom): Don't
- throw error if no file is found.
+ * progmodes/gdb-ui.el (gdb-info-breakpoints-custom):
+ Don't throw error if no file is found.
2008-05-02 Juanma Barranquero <lekktu@gmail.com>
@@ -18,7 +23,7 @@
2008-05-02 Richard Sharman <rsharman@pobox.com>
- * hilit-chg.el (highlight-changes-mode): Removed references to
+ * hilit-chg.el (highlight-changes-mode): Remove references to
hooks that no longer exist. Because define-minor-mode is used the
hook highlight-changes-mode-hook exists and can do what both the
old hooks used to do. The documentation at the top of the file
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 58097a91374..2890978908a 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -654,17 +654,24 @@ of the differing parts is, by contrast, slightly highlighted."
(setcdr last nil)
(nconc
(mapcar
- (lambda (str)
- ;; Don't modify the string itself.
- (setq str (copy-sequence str))
- (put-text-property 0 com-str-len
- 'font-lock-face 'completions-common-part
- str)
- (if (> (length str) com-str-len)
- (put-text-property com-str-len (1+ com-str-len)
- 'font-lock-face 'completions-first-difference
- str))
- str)
+ (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)))))
+ (put-text-property 0 com-str-len
+ 'font-lock-face 'completions-common-part
+ str)
+ (if (> (length str) com-str-len)
+ (put-text-property com-str-len (1+ com-str-len)
+ 'font-lock-face 'completions-first-difference
+ str)))
+ elem)
completions)
base-size))))