]> git.eshelyaron.com Git - emacs.git/commitdiff
(calc-copy-special-constant): New function.
authorJay Belanger <jay.p.belanger@gmail.com>
Mon, 16 May 2005 03:55:11 +0000 (03:55 +0000)
committerJay Belanger <jay.p.belanger@gmail.com>
Mon, 16 May 2005 03:55:11 +0000 (03:55 +0000)
lisp/calc/calc-store.el

index 966f9acbdd74947c4e2e891aa8f563b21c61b16d..fa61acb0f5f84900c53dc009fecbc1186320b74f 100644 (file)
   (interactive)
   (calc-recall (intern (format "var-q%c" last-command-char))))
 
+(defun calc-copy-special-constant (&optional sconst var)
+  (interactive)
+  (let ((sc '(("")
+              ("e" . (special-const (math-e)))
+              ("pi" . (special-const (math-pi)))
+              ("i" . (special-const (math-imaginary 1)))
+              ("phi" . (special-const (math-phi)))
+              ("gamma" . (special-const (math-gamma-const))))))
+  (calc-wrapper
+   (or sconst (setq sconst (completing-read "Special constant: " sc nil t)))
+   (unless (string= sconst "")
+     (let ((value (cdr (assoc sconst sc))))
+       (or var (setq var (calc-read-var-name
+                            (format "Copy special constant %s, to: " 
+                                    sconst))))
+       (if var
+           (let ((msg (calc-store-value var value "")))
+             (message (concat "Special constant \"%s\" copied to \"%s\"" msg)
+                      sconst (calc-var-name var)))))))))
+
 (defun calc-copy-variable (&optional var1 var2)
   (interactive)
   (calc-wrapper