emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-24 r117113: * lisp/minibuffer.el (completion-pcm--me


From: Stefan Monnier
Subject: [Emacs-diffs] emacs-24 r117113: * lisp/minibuffer.el (completion-pcm--merge-try): Merge trailing / with
Date: Wed, 14 May 2014 16:21:19 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117113
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15419
author: Stephen Berman <address@hidden>
committer: Stefan Monnier <address@hidden>
branch nick: emacs-24
timestamp: Wed 2014-05-14 12:21:13 -0400
message:
  * lisp/minibuffer.el (completion-pcm--merge-try): Merge trailing / with
  suffix.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/minibuffer.el             
minibuffer.el-20091113204419-o5vbwnq5f7feedwu-8622
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-05-14 06:59:12 +0000
+++ b/lisp/ChangeLog    2014-05-14 16:21:13 +0000
@@ -1,3 +1,9 @@
+2014-05-14  Stephen Berman <address@hidden>
+            Stefan Monnier  <address@hidden>
+
+       * minibuffer.el (completion-pcm--merge-try): Merge trailing / with
+       suffix (bug#15419).
+
 2014-05-14  Glenn Morris  <address@hidden>
 
        * vc/emerge.el (emerge-temp-file-prefix):

=== modified file 'lisp/minibuffer.el'
--- a/lisp/minibuffer.el        2014-05-05 23:54:06 +0000
+++ b/lisp/minibuffer.el        2014-05-14 16:21:13 +0000
@@ -3215,11 +3215,20 @@
                          ;; Not `prefix'.
                          mergedpat))
            ;; New pos from the start.
-           (newpos (length (completion-pcm--pattern->string pointpat)))
+          (newpos (length (completion-pcm--pattern->string pointpat)))
            ;; Do it afterwards because it changes `pointpat' by side effect.
            (merged (completion-pcm--pattern->string (nreverse mergedpat))))
 
-      (setq suffix (completion--merge-suffix merged newpos suffix))
+      (setq suffix (completion--merge-suffix
+                    ;; The second arg should ideally be "the position right
+                    ;; after the last char of `merged' that comes from the text
+                    ;; to be completed".  But completion-pcm--merge-completions
+                    ;; currently doesn't give us that info.  So instead we just
+                    ;; use the "last but one" position, which tends to work
+                    ;; well in practice since `suffix' always starts
+                    ;; with a boundary and we hence mostly/only care about
+                    ;; merging this boundary (bug#15419).
+                    merged (max 0 (1- (length merged))) suffix))
       (cons (concat prefix merged suffix) (+ newpos (length prefix)))))))
 
 (defun completion-pcm-try-completion (string table pred point)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]