From: Stefan Monnier <monnier@iro.umontreal.ca>
Date: Fri, 5 Feb 2010 04:21:11 +0000 (-0500)
Subject: Make `initials' completion work for /hh -> /home/horn again (bug#5524).
X-Git-Tag: emacs-pretest-23.1.93~107
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=51b23c448632f4947fb0e364b8f7d35b90c04e39;p=emacs.git

Make `initials' completion work for /hh -> /home/horn again (bug#5524).
* minibuffer.el (completion-initials-expand): Only check the presence
of delims *within* the boundaries, since otherwise the / delim is
always found for files.
---

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 0d1538c0136..e177ccd84f6 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,10 @@
 2010-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	Make `initials' completion work for /hh -> /home/horn again (bug#5524).
+	* minibuffer.el (completion-initials-expand): Only check the presence
+	of delims *within* the boundaries, since otherwise the / delim is
+	always found for files.
+
 	Fix up various corner case problems.
 	* doc-view.el (doc-view-last-page-number): New function.
 	(doc-view-mode, doc-view-last-page, doc-view-goto-page): Use it.
@@ -18,8 +23,8 @@
 	Change strategy for marking < and > as template delimiters: mark
 	them strictly in matching pairs.
 
-	* cc-mode.el (c-before-change): Use
-	c-get-state-before-change-functions.
+	* cc-mode.el (c-before-change):
+	Use c-get-state-before-change-functions.
 	(c-common-init): Adapt to use
 	c-get-state-before-change-functions (note plural).
 
@@ -31,7 +36,7 @@
 	* cc-engine.el (c-clear-<-pair-props, c-clear->-pair-props)
 	(c-clear-<>-pair-props, c-clear-<-pair-props-if-match-after)
 	(c-clear->-pair-props-if-match-before)
-	(c-before-change-check-<>-operators): new functions.
+	(c-before-change-check-<>-operators): New functions.
 	(c-after-change-check-<>-operators): Use macro
 	c-unmark-<->-as-paren.
 
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index df2ff51a31a..d905b9df870 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -2063,9 +2063,12 @@ filter out additional entries (because TABLE migth not obey PRED)."
 ;; Complete /ums to /usr/monnier/src or lch to list-command-history.
 
 (defun completion-initials-expand (str table pred)
-  (unless (or (zerop (length str))
-              (string-match completion-pcm--delim-wild-regex str))
-    (let ((bounds (completion-boundaries str table pred "")))
+  (let ((bounds (completion-boundaries str table pred "")))
+    (unless (or (zerop (length str))
+                ;; Only check within the boundaries, since the
+                ;; boundary char (e.g. /) might be in delim-regexp.
+                (string-match completion-pcm--delim-wild-regex str
+                              (car bounds)))
       (if (zerop (car bounds))
           (mapconcat 'string str "-")
         ;; If there's a boundary, it's trickier.  The main use-case