emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] New exporter and dates in tables


From: Nicolas Goaziou
Subject: Re: [O] New exporter and dates in tables
Date: Wed, 10 Apr 2013 14:43:51 +0200

Hello,

Carsten Dominik <address@hidden> 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 <address@hidden>
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

[Prev in Thread] Current Thread [Next in Thread]