# HG changeset patch # User Stefan Monnier # Date 1265343671 18000 # Node ID d9f5c24a36cb2ca9258c84cea6fcc7ecf5bbf930 # Parent ef8266a66d376a0dfc136ba0901dc1817cb11e11 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 -r ef8266a66d37 -r d9f5c24a36cb lisp/ChangeLog --- a/lisp/ChangeLog Thu Feb 04 22:54:49 2010 -0500 +++ b/lisp/ChangeLog Thu Feb 04 23:21:11 2010 -0500 @@ -1,5 +1,10 @@ 2010-02-05 Stefan Monnier + 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 -r ef8266a66d37 -r d9f5c24a36cb lisp/minibuffer.el --- a/lisp/minibuffer.el Thu Feb 04 22:54:49 2010 -0500 +++ b/lisp/minibuffer.el Thu Feb 04 23:21:11 2010 -0500 @@ -2063,9 +2063,12 @@ ;; 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