emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v
Date: Wed, 30 Apr 2008 03:41:40 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        08/04/30 03:41:39

Index: minibuffer.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/minibuffer.el,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- minibuffer.el       29 Apr 2008 06:00:21 -0000      1.32
+++ minibuffer.el       30 Apr 2008 03:41:39 -0000      1.33
@@ -360,8 +360,9 @@
           ;; Insert in minibuffer the chars we got.
           (goto-char end)
           (insert completion)
-          (delete-region beg end)
-          (goto-char (+ beg comp-pos)))
+          (delete-region beg end))
+       ;; Move point.
+       (goto-char (+ beg comp-pos))
 
         (if (not (or unchanged completed))
           ;; The case of the string changed, but that's all.  We're not sure
@@ -1283,13 +1284,17 @@
          (all (completion-pcm--all-completions pattern table pred)))
     (when all
       (let* ((mergedpat (completion-pcm--merge-completions all pattern))
-             ;; `mergedpat' is in reverse order.
-             (pointpat (or (memq 'point mergedpat) (memq 'any mergedpat)))
-             ;; New pos from the end.
+             ;; `mergedpat' is in reverse order.  Place new point (by
+            ;; order of preference) either at the old point, or at
+            ;; the last place where there's something to choose, or
+            ;; at the very end.
+             (pointpat (or (memq 'point mergedpat) (memq 'any mergedpat)
+                          margedpat))
+             ;; New pos from the start.
              (newpos (length (completion-pcm--pattern->string pointpat)))
              ;; Do it afterwards because it changes `pointpat' by sideeffect.
              (merged (completion-pcm--pattern->string (nreverse mergedpat))))
-        (cons merged (- (length merged) newpos))))))
+        (cons merged newpos)))))
 
 
 (provide 'minibuffer)




reply via email to

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