aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Belanger2004-11-26 22:35:35 +0000
committerJay Belanger2004-11-26 22:35:35 +0000
commit3a7a4adb2df59ce876640b4cbb5b2361ead8db21 (patch)
tree83aefe93b2c8599bd397f1892b81b772bdb7ab87
parent32bac5ed0dc8baba35d65307ced9a5b63858a699 (diff)
downloademacs-3a7a4adb2df59ce876640b4cbb5b2361ead8db21.tar.gz
emacs-3a7a4adb2df59ce876640b4cbb5b2361ead8db21.zip
(calc-given-value, calc-store-opers): Declare them.
(calc-var-name-map): Move declaration to earlier in the file. (calc-pv-pos): New variable. (calc-permanent-variable, calc-insert-permanent-variable): Replace variable pos by declared variable.
-rw-r--r--lisp/calc/calc-store.el52
1 files changed, 30 insertions, 22 deletions
diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el
index cb7156bfc78..495b9685562 100644
--- a/lisp/calc/calc-store.el
+++ b/lisp/calc/calc-store.el
@@ -3,8 +3,7 @@
3;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. 3;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
4 4
5;; Author: David Gillespie <daveg@synaptics.com> 5;; Author: David Gillespie <daveg@synaptics.com>
6;; Maintainers: D. Goel <deego@gnufans.org> 6;; Maintainer: Jay Belanger <belanger@truman.edu>
7;; Colin Walters <walters@debian.org>
8 7
9;; This file is part of GNU Emacs. 8;; This file is part of GNU Emacs.
10 9
@@ -44,6 +43,8 @@
44 (calc-store-into var))) 43 (calc-store-into var)))
45 44
46(defvar calc-given-value-flag nil) 45(defvar calc-given-value-flag nil)
46(defvar calc-given-value)
47
47(defun calc-store-into (&optional var) 48(defun calc-store-into (&optional var)
48 (interactive) 49 (interactive)
49 (calc-wrapper 50 (calc-wrapper
@@ -155,6 +156,24 @@
155 tag (and (not val) 1)) 156 tag (and (not val) 1))
156 (message "Stored to variable \"%s\"" (calc-var-name var))))))) 157 (message "Stored to variable \"%s\"" (calc-var-name var)))))))
157 158
159(defvar calc-var-name-map nil "Keymap for reading Calc variable names.")
160(if calc-var-name-map
161 ()
162 (setq calc-var-name-map (copy-keymap minibuffer-local-completion-map))
163 (define-key calc-var-name-map " " 'self-insert-command)
164 (mapcar (function
165 (lambda (x)
166 (define-key calc-var-name-map (char-to-string x)
167 'calcVar-digit)))
168 "0123456789")
169 (mapcar (function
170 (lambda (x)
171 (define-key calc-var-name-map (char-to-string x)
172 'calcVar-oper)))
173 "+-*/^|"))
174
175(defvar calc-store-opers)
176
158(defun calc-read-var-name (prompt &optional calc-store-opers) 177(defun calc-read-var-name (prompt &optional calc-store-opers)
159 (setq calc-given-value nil 178 (setq calc-given-value nil
160 calc-aborted-prefix nil) 179 calc-aborted-prefix nil)
@@ -178,22 +197,6 @@
178 svar)) 197 svar))
179 (intern var))))) 198 (intern var)))))
180 199
181(defvar calc-var-name-map nil "Keymap for reading Calc variable names.")
182(if calc-var-name-map
183 ()
184 (setq calc-var-name-map (copy-keymap minibuffer-local-completion-map))
185 (define-key calc-var-name-map " " 'self-insert-command)
186 (mapcar (function
187 (lambda (x)
188 (define-key calc-var-name-map (char-to-string x)
189 'calcVar-digit)))
190 "0123456789")
191 (mapcar (function
192 (lambda (x)
193 (define-key calc-var-name-map (char-to-string x)
194 'calcVar-oper)))
195 "+-*/^|"))
196
197(defun calcVar-digit () 200(defun calcVar-digit ()
198 (interactive) 201 (interactive)
199 (if (calc-minibuffer-contains "var-\\'") 202 (if (calc-minibuffer-contains "var-\\'")
@@ -530,11 +533,16 @@
530 var-PlotData5 var-PlotData6 533 var-PlotData5 var-PlotData6
531 var-DUMMY)) 534 var-DUMMY))
532 535
536;; The variable calc-pv-pos is local to calc-permanent-variable, but
537;; used by calc-insert-permanent-variable, which is called by
538;; calc-permanent-variable.
539(defvar calc-pv-pos)
540
533(defun calc-permanent-variable (&optional var) 541(defun calc-permanent-variable (&optional var)
534 (interactive) 542 (interactive)
535 (calc-wrapper 543 (calc-wrapper
536 (or var (setq var (calc-read-var-name "Save variable (default=all): "))) 544 (or var (setq var (calc-read-var-name "Save variable (default=all): ")))
537 (let (pos) 545 (let (calc-pv-pos)
538 (and var (or (and (boundp var) (symbol-value var)) 546 (and var (or (and (boundp var) (symbol-value var))
539 (error "No such variable"))) 547 (error "No such variable")))
540 (set-buffer (find-file-noselect (substitute-in-file-name 548 (set-buffer (find-file-noselect (substitute-in-file-name
@@ -556,16 +564,16 @@
556 (goto-char (point-min)) 564 (goto-char (point-min))
557 (if (search-forward (concat "(setq " (symbol-name var) " '") nil t) 565 (if (search-forward (concat "(setq " (symbol-name var) " '") nil t)
558 (progn 566 (progn
559 (setq pos (point-marker)) 567 (setq calc-pv-pos (point-marker))
560 (forward-line -1) 568 (forward-line -1)
561 (if (looking-at ";;; Variable .* stored by Calc on ") 569 (if (looking-at ";;; Variable .* stored by Calc on ")
562 (progn 570 (progn
563 (delete-region (match-end 0) (progn (end-of-line) (point))) 571 (delete-region (match-end 0) (progn (end-of-line) (point)))
564 (insert (current-time-string)))) 572 (insert (current-time-string))))
565 (goto-char (- pos 8 (length (symbol-name var)))) 573 (goto-char (- calc-pv-pos 8 (length (symbol-name var))))
566 (forward-sexp 1) 574 (forward-sexp 1)
567 (backward-char 1) 575 (backward-char 1)
568 (delete-region pos (point))) 576 (delete-region calc-pv-pos (point)))
569 (goto-char (point-max)) 577 (goto-char (point-max))
570 (insert "\n;;; Variable \"" 578 (insert "\n;;; Variable \""
571 (symbol-name var) 579 (symbol-name var)