diff options
| author | Jay Belanger | 2004-11-26 22:35:35 +0000 |
|---|---|---|
| committer | Jay Belanger | 2004-11-26 22:35:35 +0000 |
| commit | 3a7a4adb2df59ce876640b4cbb5b2361ead8db21 (patch) | |
| tree | 83aefe93b2c8599bd397f1892b81b772bdb7ab87 | |
| parent | 32bac5ed0dc8baba35d65307ced9a5b63858a699 (diff) | |
| download | emacs-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.el | 52 |
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) |