|
@@ -73,14 +73,7 @@
|
|
;; resolve user variables, calc built in
|
|
;; resolve user variables, calc built in
|
|
;; variables are handled automatically
|
|
;; variables are handled automatically
|
|
;; upstream by calc
|
|
;; upstream by calc
|
|
- (mapcar (lambda (el)
|
|
|
|
- (if (and (consp el) (equal 'var (car el))
|
|
|
|
- (member (cadr el) var-syms))
|
|
|
|
- (progn
|
|
|
|
- (calc-recall (cadr el))
|
|
|
|
- (prog1 (calc-top 1)
|
|
|
|
- (calc-pop 1)))
|
|
|
|
- el))
|
|
|
|
|
|
+ (mapcar #'ob-calc-maybe-resolve-var
|
|
;; parse line into calc objects
|
|
;; parse line into calc objects
|
|
(car (math-read-exprs line))))))))
|
|
(car (math-read-exprs line))))))))
|
|
(calc-eval line))))))))
|
|
(calc-eval line))))))))
|
|
@@ -90,6 +83,16 @@
|
|
(with-current-buffer (get-buffer "*Calculator*")
|
|
(with-current-buffer (get-buffer "*Calculator*")
|
|
(calc-eval (calc-top 1)))))
|
|
(calc-eval (calc-top 1)))))
|
|
|
|
|
|
|
|
+(defun ob-calc-maybe-resolve-var (el)
|
|
|
|
+ (if (consp el)
|
|
|
|
+ (if (and (equal 'var (car el)) (member (cadr el) var-syms))
|
|
|
|
+ (progn
|
|
|
|
+ (calc-recall (cadr el))
|
|
|
|
+ (prog1 (calc-top 1)
|
|
|
|
+ (calc-pop 1)))
|
|
|
|
+ (mapcar #'ob-calc-maybe-resolve-var el))
|
|
|
|
+ el))
|
|
|
|
+
|
|
(provide 'ob-calc)
|
|
(provide 'ob-calc)
|
|
|
|
|
|
;; arch-tag: 5c57a3b7-5818-4c6c-acda-7a94831a6449
|
|
;; arch-tag: 5c57a3b7-5818-4c6c-acda-7a94831a6449
|