aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Berman2014-05-14 12:21:13 -0400
committerStefan Monnier2014-05-14 12:21:13 -0400
commit34cba8e885f2ed1c0e9c805ad89b9464e0b5766a (patch)
tree68f6465e85de6da27a5c6e2d7623966227013328
parenta5d09243e7259152291f8a14b9528d7c177b6639 (diff)
downloademacs-34cba8e885f2ed1c0e9c805ad89b9464e0b5766a.tar.gz
emacs-34cba8e885f2ed1c0e9c805ad89b9464e0b5766a.zip
* lisp/minibuffer.el (completion-pcm--merge-try): Merge trailing / with
suffix. Fixes: debbugs:15419
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/minibuffer.el13
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 @@
12014-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
12014-05-14 Glenn Morris <rgm@gnu.org> 72014-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)