From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Alexander Subject: Re: reference to same row in spreadsheet Date: Thu, 18 Dec 2008 16:55:19 +0000 Message-ID: <81A865AF-3655-43C2-A02F-21EE5BD46394@alexanderonline.org> References: <494A65E5.8050309@cs.tu-berlin.de> Mime-Version: 1.0 (Apple Message framework v929.2) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LDM9o-0005Wi-RX for emacs-orgmode@gnu.org; Thu, 18 Dec 2008 11:55:28 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LDM9o-0005WJ-3s for emacs-orgmode@gnu.org; Thu, 18 Dec 2008 11:55:28 -0500 Received: from [199.232.76.173] (port=59719 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LDM9n-0005WC-UR for emacs-orgmode@gnu.org; Thu, 18 Dec 2008 11:55:27 -0500 Received: from harley.gnservers.com ([72.52.242.16]:48807) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LDM9n-0007hh-Ep for emacs-orgmode@gnu.org; Thu, 18 Dec 2008 11:55:27 -0500 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: Carsten Dominik Cc: Stephan Schmitt , emacs-orgmode@gnu.org How about adding a customizable variable which defaults to nil. (Call it org-use-new-spreadsheet-semantics). If it is nil, whenever the new syntax is used, raise a warning. The warning could be: 1. just a message to the echo area 2. inserted into the top of the updated table 3. an error which aborts spreadsheet calculations This pushes the responsibility onto users to check their tables before they set the option. So I'm thinking it's unfair to make that an org-wide setting... More thinking... Another option is to include a file only variable like this #+ORG_VERSION: [6.2]-- or #+ORG_VERSION: --[6.2] The first option would cause old versions of org-mode to abort processing, and the second would cause new versions to abort. This might help with any and all future changes to syntax, and perhaps allow users to mark the files they don't want to change yet. Perhaps, if they are careful, they'll be able to load a different version of org-mode to process an individual file. I'm reminded of something I had learned about perl, long ago. If Carsten and community like this, perhaps someone could suggest the most elisp like way of doing version comparisons. Failing that, I'd suggest looking at the perl way of doing it, which allowed for multiple dots in the version string 1.0 < 2.0 < 3.0 < 10.0 < 20.0 < 100.0 and 1.0< 1.1 < 1.2 < 1.100 < 2.0 I think (but can't remember) that version numbers had to have pairs of digits (1.1.1 was illegal you had to use 1.1.1.0). There must have been a reason OR I'm wrong about the requirement. Just my musings On 2008-Dec-18, at 16:25, Carsten Dominik wrote: > You are right, this is an incompatible change. Dammit. > > What should do? Opinions? > > The problem is that this change may lead to older tables > evaluated incorrectly. I do like the new convention and > think that @+0 or leaving out the row specifications are > good alternatives - but maybe we are obliged to keep > the old convention.... > > - Carsten > > On Dec 18, 2008, at 4:01 PM, Stephan Schmitt wrote: > >> Hello, >> >> the reference to the last row @0 led to incompatible changes: >> >> * spreadsheet: relative reference to same row >> (using Org mode version 6.15d) >> >> The Org mode version 6.15 introduced @0 as a reference to the last >> row for spreadsheet (org-table) formulas. This leads to problems if >> you used it as reference to the same row before. >> >> - description from [[http://orgmode.org/Changes.html][Org-mode list >> of >> user-visible changes]]: >> >> Spreadsheet references to the last table line. >> >> You may now use @0 to reference the last dataline in a table in a >> stable way. >> >> - according to [[info:org:References]]: >> >> `0' refers to the current row and column. Also, if you omit >> either the column or the row part of the reference, the current >> row/column is implied. >> >> However this doesn't work since @0 refers to the last line. >> >> If you press `C-c *' with the cursor inside the tables below, the >> second column should contain the doubled value of the first. >> >> ** @0 refers to last line >> >> |---+---| >> | 1 | 4 | >> | 2 | 4 | >> |---+---| >> #+TBLFM: $2=2*@0$-1 >> >> this has worked before as reference to the same row, now it refers >> to the last row >> >> ** bug: omitting explicit reference >> >> |---+--------| >> | 1 | #ERROR | >> | 2 | #ERROR | >> |---+--------| >> #+TBLFM: $2=2*$-1 >> >> this seems to be a bug, should refer to the same row >> >> ** @+0 refers to same row >> >> |---+---| >> | 1 | 2 | >> | 2 | 4 | >> |---+---| >> #+TBLFM: $2=2*@+0$-1 >> >> works as expected >> >> >> Greetings, >> Stephan >> >> >> >> _______________________________________________ >> Emacs-orgmode mailing list >> Remember: 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 > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode