From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: [BUG] org-table: time difference delivers wrong results Date: Wed, 23 Nov 2011 05:23:49 -0500 Message-ID: <14198.1322043829@alphaville.dokosmarshall.org> References: <201111152212.45996.DanielBausch@gmx.de> <201111230738.34220.DanielBausch@gmx.de> Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([140.186.70.92]:51613) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RT9ze-0006Lh-OT for emacs-orgmode@gnu.org; Wed, 23 Nov 2011 05:23:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RT9zd-0000xJ-8G for emacs-orgmode@gnu.org; Wed, 23 Nov 2011 05:23:54 -0500 Received: from g4t0016.houston.hp.com ([15.201.24.19]:5470) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RT9zd-0000xB-1z for emacs-orgmode@gnu.org; Wed, 23 Nov 2011 05:23:53 -0500 In-Reply-To: Message from Martyn Jago of "Wed\, 23 Nov 2011 09\:13\:01 GMT." List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Martyn Jago Cc: nicholas.dokos@hp.com, emacs-orgmode@gnu.org Martyn Jago wrote: > Martyn Jago writes: > > Apologies I had a typo - please ignore the previous mail. So this looks more sensible: > > > Daniel Bausch writes: > > > >> Anyone? It might be a duplicate of what Gustav Wiktrom reported on 1st of > >> September, but his problem was not resolved, either. > >> > >> Daniel > >> > >> Am Dienstag 15. November 2011, 22:12:45 schrieb Daniel Bausch: > >>> Hello list, > >>> > >>> consider the following example: > >>> | A | B | C | > >>> | > >>> |----------+-----------+-----------| > >>> | > >>> | 07:11:00 | -08:00:00 | -01:11:00 | > >>> > >>> #+TBLFM: $3=$1+$2;T > > > > [...] > > > > > | Data 1 | Data 2 | Total | > |----------+----------+-----------| > | 00:00:00 | 00:00:00 | 00:00:00 | > | 00:00:00 | 00:00:01 | -01:59:59 | > | 00:00:00 | 00:00:02 | -01:59:58 | > | 00:00:00 | 00:00:03 | -01:59:57 | > | 00:00:00 | 00:00:04 | -01:59:56 | > | 00:00:00 | 00:00:05 | -01:59:55 | > | 00:00:00 | 00:00:06 | -01:59:54 | > | 00:00:00 | 00:00:07 | -01:59:53 | > | 00:00:00 | 00:00:08 | -01:59:52 | > | 00:00:00 | 00:00:09 | -01:59:51 | > | 00:00:00 | 00:00:10 | -01:59:50 | > | 00:00:00 | 00:00:11 | -01:59:49 | > | 00:00:00 | 00:00:12 | -01:59:48 | > | 00:00:00 | 00:00:13 | -01:59:47 | > | 00:00:00 | 00:00:14 | -01:59:46 | > | 00:00:00 | 00:00:15 | -01:59:45 | > #+TBLFM: @2$3=$1-$2;T::@3$3=$1-$2;T::@4$3=$1-$2;T::@5$3=$1-$2;T::@6$3=$1-$2;T::@7$3=$1-$2;T::@8$3=$1-$2;T::@9$3=$1-$2;T::@10$3=$1-$2;T::@11$3=$1-$2;T::@12$3=$1-$2;T::@13$3=$1-$2;T::@14$3=$1-$2;T::@15$3=$1-$2;T::@16$3=$1-$2;T::@17$3=$1-$2;T > > | Data 1 | Data 2 | Total | > |----------+----------+-----------| > | 00:00:00 | 00:00:16 | -01:59:44 | > | 00:00:00 | 00:00:17 | -01:59:43 | > | 00:00:00 | 00:00:18 | -01:59:42 | > | 00:00:00 | 00:00:19 | -01:59:41 | > | 00:00:00 | 00:00:20 | -01:59:40 | > | 00:00:00 | 00:00:21 | -01:59:39 | > | 00:00:00 | 00:00:22 | -01:59:38 | > | 00:00:00 | 00:00:23 | -01:59:37 | > | 00:00:00 | 00:00:24 | -01:59:36 | > | 00:00:00 | 00:00:25 | -01:59:35 | > | 00:00:00 | 00:00:26 | -01:59:34 | > | 00:00:00 | 00:00:27 | -01:59:33 | > | 00:00:00 | 00:00:28 | -01:59:32 | > | 00:00:00 | 00:00:29 | -01:59:31 | > | 00:00:00 | 00:00:30 | -01:59:30 | > | 00:00:00 | 00:00:31 | -01:59:29 | > #+TBLFM: @2$3=$1-$2;T::@3$3=$1-$2;T::@4$3=$1-$2;T::@5$3=$1-$2;T::@6$3=$1-$2;T::@7$3=$1-$2;T::@8$3=$1-$2;T::@9$3=$1-$2;T::@10$3=$1-$2;T::@11$3=$1-$2;T::@12$3=$1-$2;T::@13$3=$1-$2;T::@14$3=$1-$2;T::@15$3=$1-$2;T::@16$3=$1-$2;T::@17$3=$1-$2;T > > | Data 1 | Data 2 | Total | > |----------+----------+-----------| > | 00:00:00 | 00:00:59 | -01:59:01 | > | 00:00:00 | 00:01:00 | -01:59:00 | > | 00:00:00 | 00:01:01 | -01:58:59 | > | 00:00:00 | 00:01:02 | -01:58:58 | > | 00:00:00 | 00:01:03 | -01:58:57 | > | 00:00:00 | 00:01:04 | -01:58:56 | > | 00:00:00 | 00:01:05 | -01:58:55 | > | 00:00:00 | 00:01:06 | -01:58:54 | > | 00:00:00 | 00:01:07 | -01:58:53 | > | 00:00:00 | 00:01:08 | -01:58:52 | > | 00:00:00 | 00:01:09 | -01:58:51 | > | 00:00:00 | 00:01:10 | -01:58:50 | > | 00:00:00 | 00:01:11 | -01:58:49 | > | 00:00:00 | 00:01:12 | -01:58:48 | > | 00:00:00 | 00:01:13 | -01:58:47 | > | 00:00:00 | 00:01:14 | -01:58:46 | > #+TBLFM: @2$3=$1-$2;T::@3$3=$1-$2;T::@4$3=$1-$2;T::@5$3=$1-$2;T::@6$3=$1-$2;T::@7$3=$1-$2;T::@8$3=$1-$2;T::@9$3=$1-$2;T::@10$3=$1-$2;T::@11$3=$1-$2;T::@12$3=$1-$2;T::@13$3=$1-$2;T::@14$3=$1-$2;T::@15$3=$1-$2;T::@16$3=$1-$2;T::@17$3=$1-$2;T > > Best, Martyn > > -- > > I _will_ engage brain before posting to the ML :( > > I can't see straight at this time of the night, but aren't all these formulas equivalent to a column formula? #+TBLFM: $3 = $1 - $2;T Assuming that's the case, the problem is that org-table-time-to-string assumes that it is given a positive number and mishandles negative numbers, eg. the first row in the last table invokes: ,---- | (org-table-time-seconds-to-string -59 nil) | "-01:59:01" `---- I didn't check carefully, but it looks as if the other-way function, org-table-time-string-to-seconds, deals correctly with "negative" time strings. Nick