143 |
(calc-pop-push-record-list n "rwrt" (list expr))) |
(calc-pop-push-record-list n "rwrt" (list expr))) |
144 |
(calc-handle-whys))) |
(calc-handle-whys))) |
145 |
|
|
146 |
(defun calc-match (pat) |
(defun calc-match (pat &optional interactive) |
147 |
(interactive "sPattern: \n") |
(interactive "sPattern: \np") |
148 |
(calc-slow-wrapper |
(calc-slow-wrapper |
149 |
(let (n expr) |
(let (n expr) |
150 |
(if (or (null pat) (equal pat "") (equal pat "$")) |
(if (or (null pat) (equal pat "") (equal pat "$")) |
151 |
(setq expr (calc-top-n 2) |
(setq expr (calc-top-n 2) |
152 |
pat (calc-top-n 1) |
pat (calc-top-n 1) |
153 |
n 2) |
n 2) |
154 |
(if (interactive-p) (setq calc-previous-alg-entry pat)) |
(if interactive (setq calc-previous-alg-entry pat)) |
155 |
(setq pat (if (stringp pat) (math-read-expr pat) pat)) |
(setq pat (if (stringp pat) (math-read-expr pat) pat)) |
156 |
(if (eq (car-safe pat) 'error) |
(if (eq (car-safe pat) 'error) |
157 |
(error "Bad format in expression: %s" (nth 1 pat))) |
(error "Bad format in expression: %s" (nth 1 pat))) |