Hello,

Carsten Dominik <carsten.domi...@gmail.com> 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
>From a2b4ef1ad24cbd816491122d0e969fecc6739377 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <n.goaz...@gmail.com>
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

Reply via email to