瀏覽代碼

Work around calc-eval regression

* lisp/org-table.el (org-table-eval-formula): Work-around for
  calc-eval regression.

Calc-eval can no longer be called without initializing the
*Calculator* buffer first.
Carsten Dominik 12 年之前
父節點
當前提交
10e239f434
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      lisp/org-table.el

+ 4 - 1
lisp/org-table.el

@@ -2701,7 +2701,6 @@ not overwrite the stored one."
 			(org-table-make-reference
 			 x keep-empty numbers lispp))
 		      t t form)))
-
 	(if lispp
 	    (setq ev (condition-case nil
 			 (eval (eval (read form)))
@@ -2712,6 +2711,10 @@ not overwrite the stored one."
 				   duration-output-format) ev))
 	  (or (fboundp 'calc-eval)
 	      (user-error "Calc does not seem to be installed, and is needed to evaluate the formula"))
+	  (or (get-buffer "*Calculator*")
+	      (progn
+		(require 'calc)
+		(save-window-excursion (calc))))
 	  ;; Use <...> time-stamps so that Calc can handle them
 	  (setq form (replace-regexp-in-string org-ts-regexp3 "<\\1>" form))
 	  ;; I18n-ize local time-stamps by setting (system-time-locale "C")