Make `initials' completion work for /hh -> /home/horn again (bug#5524).
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 5 Feb 2010 04:21:11 +0000 (23:21 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 5 Feb 2010 04:21:11 +0000 (23:21 -0500)
* minibuffer.el (completion-initials-expand): Only check the presence
of delims *within* the boundaries, since otherwise the / delim is
always found for files.

lisp/ChangeLog
lisp/minibuffer.el

index 0d1538c..e177ccd 100644 (file)
@@ -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.
 
index df2ff51..d905b9d 100644 (file)
@@ -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