diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2017-01-09 00:18:26 +0100 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2017-01-09 00:19:56 +0100 |
commit | b0cb4fe59b934e496b6cef5f28c59d9d9ef3d863 (patch) | |
tree | 2f111574b5ab49d9846e7c84b7420f1ad5f92b76 | |
parent | 7d4b3bbdb7a532aaa7b6dbff71e23f6f99a5d4b4 (diff) | |
download | org-mode-b0cb4fe59b934e496b6cef5f28c59d9d9ef3d863.tar.gz |
org-table: Speed up large tables calculation
* lisp/org-table.el (org-table-eval-formula): Do not check point is
really within a table when context analysis is not requested.
Reported-by: Thierry Banel <tbanelwebmin@free.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/111276>
-rw-r--r-- | lisp/org-table.el | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/lisp/org-table.el b/lisp/org-table.el index 977c0d6..7d84a35 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -2667,17 +2667,25 @@ For details, see the Org mode manual. This function can also be called from Lisp programs and offers additional arguments: EQUATION can be the formula to apply. If this -argument is given, the user will not be prompted. SUPPRESS-ALIGN is -used to speed-up recursive calls by by-passing unnecessary aligns. +argument is given, the user will not be prompted. + +SUPPRESS-ALIGN is used to speed-up recursive calls by by-passing +unnecessary aligns. + SUPPRESS-CONST suppresses the interpretation of constants in the -formula, assuming that this has been done already outside the function. -SUPPRESS-STORE means the formula should not be stored, either because -it is already stored, or because it is a modified equation that should -not overwrite the stored one. SUPPRESS-ANALYSIS prevents any call to -`org-table-analyze'." +formula, assuming that this has been done already outside the +function. + +SUPPRESS-STORE means the formula should not be stored, either +because it is already stored, or because it is a modified +equation that should not overwrite the stored one. + +SUPPRESS-ANALYSIS prevents analyzing the table and checking +location of point." (interactive "P") - (org-table-check-inside-data-field) - (or suppress-analysis (org-table-analyze)) + (unless suppress-analysis + (org-table-check-inside-data-field) + (org-table-analyze)) (if (equal arg '(16)) (let ((eq (org-table-current-field-formula))) (org-table-get-field nil eq) |