summaryrefslogtreecommitdiff
path: root/lisp/calc/calc-rewr.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/calc/calc-rewr.el')
-rw-r--r--lisp/calc/calc-rewr.el20
1 files changed, 9 insertions, 11 deletions
diff --git a/lisp/calc/calc-rewr.el b/lisp/calc/calc-rewr.el
index 545b9338a0b..eed8a756e8e 100644
--- a/lisp/calc/calc-rewr.el
+++ b/lisp/calc/calc-rewr.el
@@ -1439,21 +1439,19 @@
(put 'calcFunc-vxor 'math-rewrite-default '(vec))
(defmacro math-rwfail (&optional back)
- (list 'setq 'pc
- (list 'and
- (if back
- '(setq btrack (cdr btrack))
- 'btrack)
- ''((backtrack)))))
+ `(setq pc (and ,(if back
+ '(setq btrack (cdr btrack))
+ 'btrack)
+ '((backtrack)))))
;; This monstrosity is necessary because the use of static vectors of
;; registers makes rewrite rules non-reentrant. Yucko!
(defmacro math-rweval (form)
- (list 'let '((orig (car rules)))
- '(setcar rules (quote (nil nil nil no-phase)))
- (list 'unwind-protect
- form
- '(setcar rules orig))))
+ `(let ((orig (car rules)))
+ (setcar rules '(nil nil nil no-phase))
+ (unwind-protect
+ ,form
+ (setcar rules orig))))
(defvar math-rewrite-phase 1)