]> code.delx.au - gnu-emacs/commitdiff
(completion-list-mode): Set completion-reference-buffer
authorRichard M. Stallman <rms@gnu.org>
Wed, 2 Mar 1994 23:09:40 +0000 (23:09 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 2 Mar 1994 23:09:40 +0000 (23:09 +0000)
to the buffer for which the completions were requested.
(completion-reference-buffer): New variable.

lisp/simple.el

index c74141cb1c2d5c1c67aa521204477a1d372d1742..cc847efec647f4a364f6fdbdb23021749f1104f7 100644 (file)
@@ -2339,6 +2339,9 @@ it were the arg to `interactive' (which see) to interactively read the value."
 ;; Completion mode is suitable only for specially formatted data.
 (put 'completion-list-mode 'mode-class 'special)
 
+;; Record the buffer that was current when the completion list was requested.
+(defvar completion-reference-buffer)
+
 (defun completion-list-mode ()
   "Major mode for buffers showing lists of possible completions.
 Type \\<completion-list-mode-map>\\[mouse-choose-completion] to select
@@ -2352,11 +2355,15 @@ a completion with the mouse."
 
 (defun completion-setup-function ()
   (save-excursion
-    (completion-list-mode)
-    (goto-char (point-min))
-    (if window-system
-       (insert (substitute-command-keys
-                "Click \\[mouse-choose-completion] on a completion to select it.\n\n")))))
+    (let ((mainbuf (current-buffer)))
+      (set-buffer standard-output)
+      (completion-list-mode)
+      (make-local-variable 'completion-reference-buffer)
+      (setq completion-reference-buffer mainbuf)
+      (goto-char (point-min))
+      (if window-system
+         (insert (substitute-command-keys
+                  "Click \\[mouse-choose-completion] on a completion to select it.\n\n"))))))
 
 (add-hook 'completion-setup-hook 'completion-setup-function)
 \f