From e06d1742ac85ade308af0ee83a4938784d1bb527 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 5 Sep 2002 02:38:41 +0000 Subject: [PATCH] (help-with-tutorial): Properly set up completion-reference-buffer in the *Completion* buffer. --- lisp/help-fns.el | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 652dd6a859f..8f5510c01a9 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -45,15 +45,27 @@ If there's no tutorial in that language, `TUTORIAL' is selected. With arg, you are asked to choose which language." (interactive "P") (let ((lang (if arg - (progn + (let (completion-buffer) ;; Display a completion list right away ;; to guide the user. (with-output-to-temp-buffer "*Completions*" (display-completion-list (all-completions "" language-info-alist (lambda (elm) - (and (listp elm) (assq 'tutorial elm)))))) - (read-language-name 'tutorial "Language: " "English")) + (and (listp elm) (assq 'tutorial elm))))) + (setq completion-buffer standard-output)) + ;; Arrange to set completion-reference-buffer + ;; in *Completions* to point to the minibuffer, + ;; after entering the minibuffer. + (let ((minibuffer-setup-hook minibuffer-setup-hook)) + (add-hook 'minibuffer-setup-hook + (lambda () + (let ((mini (current-buffer))) + (with-current-buffer completion-buffer + (make-local-variable 'completion-reference-buffer) + (setq completion-reference-buffer + mini))))) + (read-language-name 'tutorial "Language: " "English"))) (if (get-language-info current-language-environment 'tutorial) current-language-environment "English"))) -- 2.39.2