Thanks for bringing this up, it would be a useful tool.
I get an error using the functions as well
org-recalculate-all-tables:
org-recalculate-all-tables: Wrong number of arguments: (lambda
(function) "Apply FUNCTION to the start of all tables in the
buffer." (save-excursion (save-restriction (widen) (goto-char (point-
min)) (while (re-search-forward org-table-any-line-regexp nil t)
(message "Mapping tables: %d%%" (/ (* 100.0 (point)) (buffer-size)))
(beginning-of-line 1) (when (looking-at org-table-line-regexp) (save-
excursion (funcall function)) (or (looking-at org-table-line-regexp)
(forward-char 1))) (re-search-forward org-table-any-border-regexp
nil 1)))) (message "Mapping tables: done")), 2
org-iterate-all-tables:
while: Wrong number of arguments: (lambda (function) "Apply FUNCTION
to the start of all tables in the buffer." (save-excursion (save-
restriction (widen) (goto-char (point-min)) (while (re-search-
forward org-table-any-line-regexp nil t) (message "Mapping tables: %d
%%" (/ (* 100.0 (point)) (buffer-size))) (beginning-of-line 1) (when
(looking-at org-table-line-regexp) (save-excursion (funcall
function)) (or (looking-at org-table-line-regexp) (forward-char 1)))
(re-search-forward org-table-any-border-regexp nil 1)))) (message
"Mapping tables: done")), 2
On 05/05/2010 03:37 PM, Johan Ekh wrote:
Any idea what could be wrong?
Error meassage:
org-recalculate-all-tables: Wrong number of arguments: #[(function)
"ŠŒ~ˆebˆÄÅÆ#ƒ:
Best regards,
Johan
On Fri, Apr 30, 2010 at 5:03 PM, Carsten Dominik <address@hidden
> wrote:
On Apr 30, 2010, at 4:07 PM, Johan Ekh wrote:
Hi all,
I have a series of tables in a single file. Each table have some
fields that depends on fields
in the previous table. Thus, if I change something in the first
table, I must go down manually
and recalculate (or iterate) each table. Is there a way to
recalculate all tables in a file simultaneously?
Hi Johan,
This should work if the dependence is only backwards.
(defun org-recalculate-all-tables ()
(interactive)
(org-table-map-tables (lambda () (org-table-recalculate t)) t))
If you have dependencies in both directions, this might work
(untested):
(defun org-iterate-all-tables ()
(interactive)
(let* ((imax 10)
(checksum (md5 (buffer-string)))
c1
(i imax))
(catch 'exit
(while (> i 0)
(setq i (1- i))
(org-table-map-tables (lambda () (org-table-recalculate t)) t)
(if (equal checksum (setq c1 (md5 (buffer-string))))
(progn
(message "Convergence after %d iterations" (- imax i))
(throw 'exit t))
(setq checksum c1)))
(error "No convergence after %d iterations" imax))))
If it does, this could be added to org-hacks on Worg.
HTH
- Carsten
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode