Hi,
I've tried the functions but I get the error described above.
I've put the functions in my .emacs exactly as written in the mail.
I use the latest org-mode (using Git) and I use emacs 23.1.1 on
a 64-bit openSuse 11.1 linux laptop.
Do the cursor need to be located anywhere specific when executing
the functions? I've tried to execute the functions while having all tables
expanded and the cursor somewhere in the last table.
Hi,
both functions work without any problem for me, so I do not know what you are doing differently. maybe you ned to describe exactly how you are calling the functions.
- Carsten
On May 6, 2010, at 1:34 PM, T Helms wrote:
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 <carsten.dominik@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
- 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