summaryrefslogtreecommitdiff
path: root/lisp/calc/calc-store.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/calc/calc-store.el')
-rw-r--r--lisp/calc/calc-store.el43
1 files changed, 23 insertions, 20 deletions
diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el
index c0dd77d9b2a..023dd40c155 100644
--- a/lisp/calc/calc-store.el
+++ b/lisp/calc/calc-store.el
@@ -163,19 +163,19 @@
tag (and (not val) 1))
(message "Variable \"%s\" changed" (calc-var-name var)))))))
-(defvar calc-var-name-map nil "Keymap for reading Calc variable names.")
-(if calc-var-name-map
- ()
- (setq calc-var-name-map (copy-keymap minibuffer-local-completion-map))
- (define-key calc-var-name-map " " 'self-insert-command)
- (mapc (lambda (x)
- (define-key calc-var-name-map (char-to-string x)
- 'calcVar-digit))
- "0123456789")
- (mapc (lambda (x)
- (define-key calc-var-name-map (char-to-string x)
- 'calcVar-oper))
- "+-*/^|"))
+(defvar calc-var-name-map
+ (let ((map (copy-keymap minibuffer-local-completion-map)))
+ (define-key map " " #'self-insert-command)
+ (mapc (lambda (x)
+ (define-key map (char-to-string x)
+ #'calcVar-digit))
+ "0123456789")
+ (mapc (lambda (x)
+ (define-key map (char-to-string x)
+ #'calcVar-oper))
+ "+-*/^|")
+ map)
+ "Keymap for reading Calc variable names.")
(defvar calc-store-opers)
@@ -188,12 +188,15 @@
(let* ((calc-store-opers store-opers)
(var (concat
"var-"
- (let ((minibuffer-completion-table
- (mapcar (lambda (x) (substring x 4))
- (all-completions "var-" obarray)))
- (minibuffer-completion-predicate
- (lambda (x) (boundp (intern (concat "var-" x)))))
- (minibuffer-completion-confirm t))
+ (minibuffer-with-setup-hook
+ (lambda ()
+ (setq-local minibuffer-completion-table
+ (mapcar (lambda (x) (substring x 4))
+ (all-completions "var-" obarray)))
+ (setq-local minibuffer-completion-predicate
+ (lambda (x)
+ (boundp (intern (concat "var-" x)))))
+ (setq-local minibuffer-completion-confirm t))
(read-from-minibuffer
prompt nil calc-var-name-map nil
'calc-read-var-name-history)))))
@@ -586,7 +589,7 @@
(defun calc-permanent-variable (&optional var)
(interactive)
(calc-wrapper
- (or var (setq var (calc-read-var-name "Save variable (default all): ")))
+ (or var (setq var (calc-read-var-name (format-prompt "Save variable" "all"))))
(let (calc-pv-pos)
(and var (or (and (boundp var) (symbol-value var))
(error "No such variable")))