Function: calc-substitute
calc-substitute is an autoloaded, interactive and byte-compiled
function defined in calc-alg.el.gz.
Signature
(calc-substitute &optional OLDNAME NEWNAME)
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-alg.el.gz
(defun calc-substitute (&optional oldname newname)
(interactive "sSubstitute old: ")
(calc-slow-wrapper
(let (old new (num 1) expr)
(if (or (equal oldname "") (equal oldname "$") (null oldname))
(setq new (calc-top-n 1)
old (calc-top-n 2)
expr (calc-top-n 3)
num 3)
(or newname
(progn (calc-unread-command ?\C-a)
(setq newname (read-string (concat "Substitute old: "
oldname
", new: ")
oldname))))
(if (or (equal newname "") (equal newname "$") (null newname))
(setq new (calc-top-n 1)
expr (calc-top-n 2)
num 2)
(setq new (if (stringp newname) (math-read-expr newname) newname))
(if (eq (car-safe new) 'error)
(error "Bad format in expression: %s" (nth 1 new)))
(setq expr (calc-top-n 1)))
(setq old (if (stringp oldname) (math-read-expr oldname) oldname))
(if (eq (car-safe old) 'error)
(error "Bad format in expression: %s" (nth 1 old)))
(or (math-expr-contains expr old)
(error "No occurrences found")))
(calc-enter-result num "sbst" (math-expr-subst expr old new)))))