diff options
| -rw-r--r-- | lisp/calc/calc-ext.el | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el index 89588b4ea74..80e801ab2b7 100644 --- a/lisp/calc/calc-ext.el +++ b/lisp/calc/calc-ext.el | |||
| @@ -1240,20 +1240,22 @@ calc-kill calc-kill-region calc-yank)))) | |||
| 1240 | 1240 | ||
| 1241 | (defun calc-reset (arg) | 1241 | (defun calc-reset (arg) |
| 1242 | (interactive "P") | 1242 | (interactive "P") |
| 1243 | (setq arg (if arg (prefix-numeric-value arg) nil)) | ||
| 1243 | (save-excursion | 1244 | (save-excursion |
| 1244 | (or (eq major-mode 'calc-mode) | 1245 | (or (eq major-mode 'calc-mode) |
| 1245 | (calc-create-buffer)) | 1246 | (calc-create-buffer)) |
| 1246 | (if calc-embedded-info | 1247 | (if calc-embedded-info |
| 1247 | (calc-embedded nil)) | 1248 | (calc-embedded nil)) |
| 1248 | (or arg | 1249 | (unless (and arg (> (abs arg) 0)) |
| 1249 | (setq calc-stack nil)) | 1250 | (setq calc-stack nil)) |
| 1250 | (setq calc-undo-list nil | 1251 | (setq calc-undo-list nil |
| 1251 | calc-redo-list nil) | 1252 | calc-redo-list nil) |
| 1252 | (let (calc-stack calc-user-parse-tables calc-standard-date-formats | 1253 | (let (calc-stack calc-user-parse-tables calc-standard-date-formats |
| 1253 | calc-invocation-macro) | 1254 | calc-invocation-macro) |
| 1254 | (mapcar (function (lambda (v) (set v nil))) calc-local-var-list) | 1255 | (mapcar (function (lambda (v) (set v nil))) calc-local-var-list) |
| 1255 | (mapcar (function (lambda (v) (set (car v) (nth 1 v)))) | 1256 | (if (and arg (<= arg 0)) |
| 1256 | calc-mode-var-list)) | 1257 | (calc-mode-var-list-restore-default-values) |
| 1258 | (calc-mode-var-list-restore-saved-values))) | ||
| 1257 | (calc-set-language nil nil t) | 1259 | (calc-set-language nil nil t) |
| 1258 | (calc-mode) | 1260 | (calc-mode) |
| 1259 | (calc-flush-caches t) | 1261 | (calc-flush-caches t) |