emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Glenn Morris
Subject: [Emacs-diffs] Changes to emacs/lisp/complete.el,v
Date: Thu, 29 Mar 2007 03:24:37 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Glenn Morris <gm>       07/03/29 03:24:36

Index: complete.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/complete.el,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -b -r1.69 -r1.70
--- complete.el 28 Mar 2007 03:28:49 -0000      1.69
+++ complete.el 29 Mar 2007 03:24:36 -0000      1.70
@@ -244,7 +244,9 @@
    (lambda (choice buffer mini-p base-size)
      (if mini-p (goto-char (point-max))
        ;; Need a similar hack for the non-minibuffer-case -- gm.
-       (if PC-do-completion-end (goto-char PC-do-completion-end)))
+       (when PC-do-completion-end
+         (goto-char PC-do-completion-end)
+         (setq PC-do-completion-end nil)))
      nil))
   ;; Build the env-completion and mapping table.
   (when (and partial-completion-mode (null PC-env-vars-alist))
@@ -820,6 +822,8 @@
               (setq quit-flag nil
                     unread-command-events '(7))))))))
 
+;; Does not need to be buffer-local (?) because only used when one
+;; PC-l-c-s immediately follows another.
 (defvar PC-lisp-complete-end nil
   "Internal variable used by `PC-lisp-complete-symbol'.")
 
@@ -834,6 +838,12 @@
 or properties are considered."
   (interactive)
   (let* ((end (point))
+         ;; To complete the word under point, rather than just the portion
+         ;; before point, use this:
+;;;           (save-excursion
+;;;             (with-syntax-table lisp-mode-syntax-table
+;;;               (forward-sexp 1)
+;;;               (point))))
         (beg (save-excursion
                 (with-syntax-table lisp-mode-syntax-table
                   (backward-sexp 1)
@@ -877,8 +887,9 @@
     ;; the same way as beg. That would change the behaviour though.
     (if (equal last-command 'PC-lisp-complete-symbol)
         (PC-do-completion nil beg PC-lisp-complete-end)
-      (setq PC-lisp-complete-end (point-marker))
-      (set-marker-insertion-type PC-lisp-complete-end t)
+      (if PC-lisp-complete-end
+          (move-marker PC-lisp-complete-end end)
+        (setq PC-lisp-complete-end (copy-marker end t)))
       (PC-do-completion nil beg end))))
 
 (defun PC-complete-as-file-name ()




reply via email to

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