From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: New exporter and dates in tables Date: Wed, 10 Apr 2013 14:43:51 +0200 Message-ID: <87fvyysghk.fsf@gmail.com> References: <87fvz1opiz.fsf@norang.ca> <8761zxwlvn.fsf@gmail.com> <87bo9pntym.fsf@norang.ca> <0604BF00-1FE8-4EAA-A346-C125A5127CAD@gmail.com> <877gkcvm3n.fsf@gmail.com> <173ADFE7-A1FB-4ECB-A78A-C99662A8030F@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([208.118.235.92]:44010) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPuNc-0007dY-JI for emacs-orgmode@gnu.org; Wed, 10 Apr 2013 08:44:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPuNY-0007rH-6D for emacs-orgmode@gnu.org; Wed, 10 Apr 2013 08:44:00 -0400 Received: from mail-wg0-x229.google.com ([2a00:1450:400c:c00::229]:45530) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPuNX-0007r2-Te for emacs-orgmode@gnu.org; Wed, 10 Apr 2013 08:43:56 -0400 Received: by mail-wg0-f41.google.com with SMTP id y10so5931811wgg.2 for ; Wed, 10 Apr 2013 05:43:55 -0700 (PDT) In-Reply-To: <173ADFE7-A1FB-4ECB-A78A-C99662A8030F@gmail.com> (Carsten Dominik's message of "Tue, 9 Apr 2013 15:06:53 +0200") 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: Carsten Dominik Cc: Bernt Hansen , emacs-orgmode@gnu.org --=-=-= Content-Type: text/plain Hello, Carsten Dominik writes: > Some people throw in time stamps often while they work, just > as a little label, indicating that they were working on this > at a specific date, or that the entry was created on a specific > date. Many people I know have a hook that throws in such a > time stamp in each new entry created. This creates a lot of > clutter when you print it, which is why you can turn off > export of timestamps. > > That option was not meant for a contextual line like your > first example. If you use the time stamps in this way, you > probably will not turn off timestamp export at all, you > will just leave it on. If you mix both ways of using > time stamps - well, too bad. > > Tabular data is different because you certainly wanted > that data in the table, so removing it will be confusing. > >> Anyway, there's still another thing to ponder. Since everything in >> a table is data, what happens with "tex:nil" (LaTeX snippets)? Should >> this option also be ignored within a table? If not, how can we explain >> the difference with "<:nil"? > > Tex macros are different. This is an internal way of > inserting special characters, and that syntax may get into > your way in some specific projects. Just like the fact > that _ creates a subscript. If you have to write text > with lots of _ but you never mean a subscript, this can > be really annoying. So you can turn off subscripts as you > can turn off interpretation of tex macros, as a convenience > if the syntax gets in your way. Then it should be turned > off anywhere, table or not. Fair enough. The following patch should do as decided in this thread. WDYT? Regards, -- Nicolas Goaziou --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-ox-Don-t-skip-timestamps-within-tables.patch >From a2b4ef1ad24cbd816491122d0e969fecc6739377 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Apr 2013 14:38:13 +0200 Subject: [PATCH] ox: Don't skip timestamps within tables * lisp/ox.el (org-export--skip-p): Never skip a timestamp within a table. (org-export-with-timestamps): Update docstring accordingly. * testing/lisp/test-ox.el: Add test. --- lisp/ox.el | 32 +++++++++++++++++++------------- testing/lisp/test-ox.el | 7 ++++++- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/lisp/ox.el b/lisp/ox.el index 7f33755..a9667d9 100644 --- a/lisp/ox.el +++ b/lisp/ox.el @@ -721,6 +721,9 @@ It can be set to `active', `inactive', t or nil, in order to export, respectively, only active timestamps, only inactive ones, all of them or none. +This variable has no effect on timestamps within tables, which +will always be exported. + This option can also be set with the OPTIONS keyword, e.g. \"<:nil\"." :group 'org-export-general @@ -2013,19 +2016,22 @@ a tree with a select tag." (not (org-export-get-previous-element blob options)))) (table-row (org-export-table-row-is-special-p blob options)) (timestamp - (case (plist-get options :with-timestamps) - ;; No timestamp allowed. - ('nil t) - ;; Only active timestamps allowed and the current one isn't - ;; active. - (active - (not (memq (org-element-property :type blob) - '(active active-range)))) - ;; Only inactive timestamps allowed and the current one isn't - ;; inactive. - (inactive - (not (memq (org-element-property :type blob) - '(inactive inactive-range)))))))) + ;; Timestamps in tables are not affected by `:with-timestamps'. + (unless (eq (org-element-type (org-export-get-parent-element blob)) + 'table-row) + (case (plist-get options :with-timestamps) + ;; No timestamp allowed. + ('nil t) + ;; Only active timestamps allowed and the current one isn't + ;; active. + (active + (not (memq (org-element-property :type blob) + '(active active-range)))) + ;; Only inactive timestamps allowed and the current one isn't + ;; inactive. + (inactive + (not (memq (org-element-property :type blob) + '(inactive inactive-range))))))))) ;;; The Transcoder diff --git a/testing/lisp/test-ox.el b/testing/lisp/test-ox.el index 6203f8b..0900037 100644 --- a/testing/lisp/test-ox.el +++ b/testing/lisp/test-ox.el @@ -408,7 +408,12 @@ Paragraph" "<2012-04-29 sun. 10:45>\n")) (should (equal (org-export-as 'test nil nil nil '(:with-timestamps inactive)) - "[2012-04-29 sun. 10:45]\n"))))) + "[2012-04-29 sun. 10:45]\n")))) + (should + (equal "| [2012-03-29 Thu] |\n" + (org-test-with-temp-text "| [2012-03-29 Thu] |" + (org-test-with-backend test + (org-export-as 'test nil nil nil '(:with-timestamps nil))))))) (ert-deftest test-org-export/comment-tree () "Test if export process ignores commented trees." -- 1.8.2.1 --=-=-=--