From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Iterate many tables Date: Fri, 14 May 2010 15:57:30 +0200 Message-ID: References: <4BE2A954.7010401@gmail.com> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=WINDOWS-1252; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Return-path: Received: from [140.186.70.92] (port=56464 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OCvOS-0003eQ-St for emacs-orgmode@gnu.org; Fri, 14 May 2010 09:57:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OCvOQ-00078E-KO for emacs-orgmode@gnu.org; Fri, 14 May 2010 09:57:36 -0400 Received: from ey-out-1920.google.com ([74.125.78.147]:8896) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OCvOQ-000789-BT for emacs-orgmode@gnu.org; Fri, 14 May 2010 09:57:34 -0400 Received: by ey-out-1920.google.com with SMTP id 13so348678eye.34 for ; Fri, 14 May 2010 06:57:33 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Johan Ekh Cc: emacs-orgmode@gnu.org Good to hear. Latest version is *always* a good idea when reporting bugs. :-) - Carsten On May 14, 2010, at 3:43 PM, Johan Ekh wrote: > Hi again, > I removed "org-publish.el" and the upgrade worked. Thus I now have =20 > the latest version of org-mode. > Guess what, your functions now work perfectly! > > Thanks! > > Johan > > On Fri, May 14, 2010 at 3:05 PM, Johan Ekh =20 > wrote: > Hi, > You're right, I'm actually not using the latest version. It fails to =20= > install. I use the version "6.33trans". > When I try to upgrade with Git I get the compilation error: > > > In org-publish-get-base-files-1: > org-publish.el:407:13:Warning: reference to free variable `sitemap-=20 > requested' > org-publish.el:915:1:Error: Invalid read syntax: "#" > make: *** [lisp/org-publish.elc] Error 1 > > > Do you know what is wrong? I checked line 915 in "org-publish.el" =20 > but there is > no "#" in that line. > > Do you know what is wrong? > > Best regards, > Johan > > > On Fri, May 14, 2010 at 2:32 PM, Carsten Dominik = > wrote: > 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 =20= > tables > expanded and the cursor somewhere in the last table. > > Best regards, > Johan > > On Fri, May 7, 2010 at 9:36 AM, Carsten Dominik = > wrote: > Hi, > > both functions work without any problem for me, so I do not know =20 > what you are doing differently. maybe you ned to describe exactly =20 > 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 =20 > (function) "Apply FUNCTION to the start of all tables in the =20 > buffer." (save-excursion (save-restriction (widen) (goto-char (point-=20= > min)) (while (re-search-forward org-table-any-line-regexp nil t) =20 > (message "Mapping tables: %d%%" (/ (* 100.0 (point)) (buffer-size))) =20= > (beginning-of-line 1) (when (looking-at org-table-line-regexp) (save-=20= > excursion (funcall function)) (or (looking-at org-table-line-regexp) =20= > (forward-char 1))) (re-search-forward org-table-any-border-regexp =20 > nil 1)))) (message "Mapping tables: done")), 2 > > org-iterate-all-tables: > while: Wrong number of arguments: (lambda (function) "Apply FUNCTION =20= > to the start of all tables in the buffer." (save-excursion (save-=20 > restriction (widen) (goto-char (point-min)) (while (re-search-=20 > forward org-table-any-line-regexp nil t) (message "Mapping tables: %d=20= > %%" (/ (* 100.0 (point)) (buffer-size))) (beginning-of-line 1) (when =20= > (looking-at org-table-line-regexp) (save-excursion (funcall =20 > function)) (or (looking-at org-table-line-regexp) (forward-char 1))) =20= > (re-search-forward org-table-any-border-regexp nil 1)))) (message =20 > "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) =20= > "=8A=8C~=88eb=88=C4 =C5=C6#=83: > > > Best regards, > Johan > > > > > > > On Fri, Apr 30, 2010 at 5:03 PM, Carsten Dominik = > 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 =20 > fields that depends on fields > in the previous table. Thus, if I change something in the first =20 > table, I must go down manually > and recalculate (or iterate) each table. Is there a way to =20 > 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 =20 > (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 > > > > > - Carsten