From c51f4e0d2c9429dde673f84d112120e5b36dcff7 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 27 Mar 1997 00:25:39 +0000 Subject: [PATCH] (set-variable): Take default from `variable-at-point'. --- lisp/simple.el | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lisp/simple.el b/lisp/simple.el index 7f8aa1deff0..3b7913ff753 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -2979,7 +2979,15 @@ If you want VALUE to be a string, you must surround it with doublequotes. If VARIABLE has a `variable-interactive' property, that is used as if it were the arg to `interactive' (which see) to interactively read the value." (interactive - (let* ((var (read-variable "Set variable: ")) + (let* ((var (let ((v (variable-at-point)) + (enable-recursive-minibuffers t) + val) + (setq val (completing-read (if v + (format "Set variable (default %s): " v) + "Set variable: ") + obarray 'boundp t)) + (if (equal val "") + v (intern val)))) (minibuffer-help-form '(funcall myhelp)) (myhelp -- 2.39.2