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: Carsten Dominik
Subject: Re: [O] New exporter and dates in tables
Date: Wed, 10 Apr 2013 15:12:24 +0200

This looks good to me - with my limited understanding of the exporter lingo.

Thanks!

- Carsten

On 10 apr. 2013, at 14:43, Nicolas Goaziou <address@hidden> wrote:

> 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]