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)
"S(OE~^eb^ÄÅÆ#f:
Best regards,
Johan
On Fri, Apr 30, 2010 at 5:03 PM, Carsten Dominik
<carsten.domi...@gmail.com <mailto:carsten.domi...@gmail.com>> 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.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode