diff options
| author | Stephen Berman | 2014-05-14 12:21:13 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2014-05-14 12:21:13 -0400 |
| commit | 34cba8e885f2ed1c0e9c805ad89b9464e0b5766a (patch) | |
| tree | 68f6465e85de6da27a5c6e2d7623966227013328 | |
| parent | a5d09243e7259152291f8a14b9528d7c177b6639 (diff) | |
| download | emacs-34cba8e885f2ed1c0e9c805ad89b9464e0b5766a.tar.gz emacs-34cba8e885f2ed1c0e9c805ad89b9464e0b5766a.zip | |
* lisp/minibuffer.el (completion-pcm--merge-try): Merge trailing / with
suffix.
Fixes: debbugs:15419
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/minibuffer.el | 13 |
2 files changed, 17 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index da8f90d3b3b..c4df237a668 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-05-14 Stephen Berman <stephen.berman@gmx.net> | ||
| 2 | Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 3 | |||
| 4 | * minibuffer.el (completion-pcm--merge-try): Merge trailing / with | ||
| 5 | suffix (bug#15419). | ||
| 6 | |||
| 1 | 2014-05-14 Glenn Morris <rgm@gnu.org> | 7 | 2014-05-14 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * vc/emerge.el (emerge-temp-file-prefix): | 9 | * vc/emerge.el (emerge-temp-file-prefix): |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 929ab3dc325..242dc7fe94e 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -3215,11 +3215,20 @@ the same set of elements." | |||
| 3215 | ;; Not `prefix'. | 3215 | ;; Not `prefix'. |
| 3216 | mergedpat)) | 3216 | mergedpat)) |
| 3217 | ;; New pos from the start. | 3217 | ;; New pos from the start. |
| 3218 | (newpos (length (completion-pcm--pattern->string pointpat))) | 3218 | (newpos (length (completion-pcm--pattern->string pointpat))) |
| 3219 | ;; Do it afterwards because it changes `pointpat' by side effect. | 3219 | ;; Do it afterwards because it changes `pointpat' by side effect. |
| 3220 | (merged (completion-pcm--pattern->string (nreverse mergedpat)))) | 3220 | (merged (completion-pcm--pattern->string (nreverse mergedpat)))) |
| 3221 | 3221 | ||
| 3222 | (setq suffix (completion--merge-suffix merged newpos suffix)) | 3222 | (setq suffix (completion--merge-suffix |
| 3223 | ;; The second arg should ideally be "the position right | ||
| 3224 | ;; after the last char of `merged' that comes from the text | ||
| 3225 | ;; to be completed". But completion-pcm--merge-completions | ||
| 3226 | ;; currently doesn't give us that info. So instead we just | ||
| 3227 | ;; use the "last but one" position, which tends to work | ||
| 3228 | ;; well in practice since `suffix' always starts | ||
| 3229 | ;; with a boundary and we hence mostly/only care about | ||
| 3230 | ;; merging this boundary (bug#15419). | ||
| 3231 | merged (max 0 (1- (length merged))) suffix)) | ||
| 3223 | (cons (concat prefix merged suffix) (+ newpos (length prefix))))))) | 3232 | (cons (concat prefix merged suffix) (+ newpos (length prefix))))))) |
| 3224 | 3233 | ||
| 3225 | (defun completion-pcm-try-completion (string table pred point) | 3234 | (defun completion-pcm-try-completion (string table pred point) |