From: Stefan Monnier 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 + 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