emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs/lisp ChangeLog emacs-lisp/lisp.el


From: Stefan Monnier
Subject: [Emacs-diffs] emacs/lisp ChangeLog emacs-lisp/lisp.el
Date: Sun, 30 Aug 2009 21:45:41 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        09/08/30 21:45:40

Modified files:
        lisp           : ChangeLog 
        lisp/emacs-lisp: lisp.el 

Log message:
        (lisp-complete-symbol): Use minibuffer-complete.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16067&r2=1.16068
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/emacs-lisp/lisp.el?cvsroot=emacs&r1=1.103&r2=1.104

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16067
retrieving revision 1.16068
diff -u -b -r1.16067 -r1.16068
--- ChangeLog   30 Aug 2009 18:17:20 -0000      1.16067
+++ ChangeLog   30 Aug 2009 21:45:36 -0000      1.16068
@@ -1,3 +1,7 @@
+2009-08-30  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/lisp.el (lisp-complete-symbol): Use minibuffer-complete.
+
 2009-08-30  Juanma Barranquero  <address@hidden>
 
        * subr.el (do-after-load-evaluation): Fix last change: use `mapc'

Index: emacs-lisp/lisp.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/emacs-lisp/lisp.el,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -b -r1.103 -r1.104
--- emacs-lisp/lisp.el  30 Aug 2009 15:13:38 -0000      1.103
+++ emacs-lisp/lisp.el  30 Aug 2009 21:45:40 -0000      1.104
@@ -622,21 +622,6 @@
 symbols with function definitions, values or properties are
 considered."
   (interactive)
-  (let ((window (get-buffer-window "*Completions*" 0)))
-    (if (and (eq last-command this-command)
-            window (window-live-p window) (window-buffer window)
-            (buffer-name (window-buffer window)))
-       ;; If this command was repeated, and
-       ;; there's a fresh completion window with a live buffer,
-       ;; and this command is repeated, scroll that window.
-       (with-current-buffer (window-buffer window)
-         (if (pos-visible-in-window-p (point-max) window)
-             (set-window-start window (point-min))
-           (save-selected-window
-             (select-window window)
-             (scroll-up))))
-
-      ;; Do completion.
       (let* ((end (point))
             (beg (with-syntax-table emacs-lisp-mode-syntax-table
                    (save-excursion
@@ -644,7 +629,6 @@
                      (while (= (char-syntax (following-char)) ?\')
                        (forward-char 1))
                      (point))))
-            (pattern (buffer-substring-no-properties beg end))
             (predicate
              (or predicate
                  (save-excursion
@@ -664,43 +648,16 @@
                          nil
                        ;; Else, we assume that a function name is expected.
                        'fboundp)))))
-            (completion (try-completion pattern obarray predicate)))
-       (cond ((eq completion t))
-             ((null completion)
-              (if (window-minibuffer-p (selected-window))
-                  (minibuffer-message (format " [No completions of \"%s\"]" 
pattern))
-                (message "Can't find completion for \"%s\"" pattern))
-              (ding))
-             ((not (string= pattern completion))
-              (delete-region beg end)
-              (insert completion)
-              ;; Don't leave around a completions buffer that's out of date.
-              (let ((win (get-buffer-window "*Completions*" 0)))
-                (if win (with-selected-window win (bury-buffer)))))
-             (t
-              (let ((minibuf-is-in-use
-                     (eq (minibuffer-window) (selected-window))))
-                (unless minibuf-is-in-use
-                  (message "Making completion list..."))
-                (let ((list (all-completions pattern obarray predicate)))
-                  (setq list (sort list 'string<))
+         (ol (make-overlay beg end nil nil t)))
+    (overlay-put ol 'field 'completion)
+    (let ((completion-annotate-function
                   (unless (eq predicate 'fboundp)
-                    (let (new)
-                      (dolist (compl list)
-                        (push (if (fboundp (intern compl))
-                                  (list compl " <f>")
-                                compl)
-                              new))
-                      (setq list (nreverse new))))
-                  (if (> (length list) 1)
-                      (with-output-to-temp-buffer "*Completions*"
-                        (display-completion-list list pattern))
-                    ;; Don't leave around a completions buffer that's
-                    ;; out of date.
-                    (let ((win (get-buffer-window "*Completions*" 0)))
-                      (if win (with-selected-window win (bury-buffer))))))
-                (unless minibuf-is-in-use
-                  (message "Making completion list...%s" "done")))))))))
+             (lambda (str) (if (fboundp (intern-soft str)) " <f>"))))
+          (minibuffer-completion-table obarray)
+          (minibuffer-completion-predicate predicate))
+      (unwind-protect
+          (call-interactively 'minibuffer-complete)
+        (delete-overlay ol)))))
 
 ;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e
 ;;; lisp.el ends here




reply via email to

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