emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nicolas Goaziou <n.goaziou@gmail.com>
To: Carsten Dominik <carsten.dominik@gmail.com>
Cc: Bernt Hansen <bernt@norang.ca>, emacs-orgmode@gnu.org
Subject: Re: New exporter and dates in tables
Date: Wed, 10 Apr 2013 14:43:51 +0200	[thread overview]
Message-ID: <87fvyysghk.fsf@gmail.com> (raw)
In-Reply-To: <173ADFE7-A1FB-4ECB-A78A-C99662A8030F@gmail.com> (Carsten Dominik's message of "Tue, 9 Apr 2013 15:06:53 +0200")

[-- Attachment #1: Type: text/plain, Size: 1715 bytes --]

Hello,

Carsten Dominik <carsten.dominik@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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-ox-Don-t-skip-timestamps-within-tables.patch --]
[-- Type: text/x-patch, Size: 3027 bytes --]

From a2b4ef1ad24cbd816491122d0e969fecc6739377 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <n.goaziou@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)))))))))
 
 \f
 ;;; 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	other threads:[~2013-04-10 12:44 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-08  0:05 New exporter and dates in tables Bernt Hansen
2013-04-08  2:18 ` Mike McLean
2013-04-08  6:57 ` Nicolas Goaziou
2013-04-08 11:27   ` Bernt Hansen
2013-04-08 11:33     ` Carsten Dominik
2013-04-08 19:49       ` Nicolas Goaziou
2013-04-09 13:06         ` Carsten Dominik
2013-04-10 12:43           ` Nicolas Goaziou [this message]
2013-04-10 13:12             ` Carsten Dominik
2013-04-10 13:16             ` Bastien
2013-04-11 11:28               ` Nicolas Goaziou
2013-04-11 15:49                 ` Bastien
2013-04-13 10:54                   ` Nicolas Goaziou
2013-04-13 14:02                     ` Bastien
2013-04-13 17:33                       ` Nicolas Goaziou
2013-04-13 21:07                         ` Sebastien Vauban
2013-04-14  9:10                           ` Bastien
2013-04-14  8:58                         ` Bastien
2013-04-14 13:37                           ` Nicolas Goaziou
2013-04-14 13:45                             ` Bastien
2013-04-14 13:47                               ` Nicolas Goaziou
2013-04-14 14:01                                 ` Bastien
2013-04-14 14:06                                   ` Nicolas Goaziou
2013-04-14 14:24                                     ` Bastien
2013-04-14 20:36                                       ` Nicolas Goaziou
2013-04-15  3:58                                         ` Jambunathan K
2013-04-15  6:44                                         ` Bastien
2013-04-16  7:48                                         ` Bastien
2013-08-09  9:35                                           ` Carsten Dominik
2013-08-09 11:02                                             ` Bernt Hansen
2013-08-12  5:45                                               ` Carsten Dominik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fvyysghk.fsf@gmail.com \
    --to=n.goaziou@gmail.com \
    --cc=bernt@norang.ca \
    --cc=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).