Hi Johan,

I think you are not using the latest version of Org?  Please upgrade.

- Carsten

On May 14, 2010, at 12:07 PM, Johan Ekh wrote:

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.

Best regards,
Johan

On Fri, May 7, 2010 at 9:36 AM, Carsten Dominik <carsten.domi...@gmail.com > wrote:
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.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

- 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


- 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

Reply via email to