emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nicolas Goaziou <n.goaziou@gmail.com>
To: Bernt Hansen <bernt@norang.ca>
Cc: emacs-orgmode@gnu.org
Subject: Re: New Exporter BUG/Change in behaviour
Date: Fri, 05 Apr 2013 20:36:52 +0200	[thread overview]
Message-ID: <87hajkx1rv.fsf@gmail.com> (raw)
In-Reply-To: <87ppy8yl60.fsf@norang.ca> (Bernt Hansen's message of "Fri, 05 Apr 2013 12:52:39 -0400")

Hello,

Bernt Hansen <bernt@norang.ca> writes:

> My org file has
>
> #+OPTIONS: tasks:todo
>
> This globally skips DONE tasks in my exports when I export the entire
> file in both the old and new exporter.
>
> If I select a task with C-c @ that is DONE (or any done state) and try
> to export that in the new exporter I get nothing (except an empty table
> of contents) -- even if the Org buffer is narrowed to only that task.
>
> The old exporter would export this anyway but it seems the new exporter
> is honouring the global #+OPTIONS: task:todo even when it is outside the
> currently narrowed buffer range.

Indeed. OPTIONS is a buffer-wide keyword.

> There is no local property that I am aware of to say export all todo
> states. I have to list them individually which isn't user-friendly so I
> can't reverse the global setting with a local property in my
> task/subtree.  Having to add a property for my exports for email just to
> get it to override global options really isn't user-friendly since the
> options per file are different and the user has to know exactly what to
> undo (and future changes to the global options makes this a moving target)

> Is this a bug?

No, it isn't.

> My current workaround is to delete the global #+OPTIONS
> line (but that doesn't feel right since I have to add it back to export
> what is left to do for the entire file when sharing it with others).  I
> regularly export small subtrees (with C-c @) to copy ASCII / HTML export
> results to emails so the old exporter behaviour was much more
> predictable in the results I would get when using C-c @.

The new exporter distinguishes between subtree export (toggled with C-s
key within the dispatcher) and region export. In the old exporter, C-c @
+ export command would give you a subtree export. This is not the case
in the new exporter. You have to explicitly mention you want a subtree
export. On the other hand, you don't need to select a region beforehand.
In other words, you don't trigger a subtree export anymore with C-c @
(but it triggers a region export).

If you export a subtree in the new exporter jargon, you can override
locally #+options: line by setting top headline's :EXPORT_OPTIONS:
property to an appropriate value, e. g. :EXPORT_OPTIONS: tasks:t.

There is no such mechanism for a region export. But you can implement
a function that will remove the OPTIONS line when buffer is narrowed:

  (when (buffer-narrowed-p)
    (org-with-wide-buffer
     (goto-char (point-min))
     (let ((case-fold-search t))
       (while (re-search-forward "^[ \t]*#\\+options:" nil t)
         (when (eq (org-element-type (org-element-at-point)) 'keyword)
           (delete-region (line-beginning-position)
                          (progn (forward-line) (point))))))))

Then add it to `org-export-before-parsing-hook'.


Regards,

-- 
Nicolas Goaziou

  reply	other threads:[~2013-04-05 18:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-05 16:52 New Exporter BUG/Change in behaviour Bernt Hansen
2013-04-05 18:36 ` Nicolas Goaziou [this message]
2013-04-05 19:04   ` Bernt Hansen
2013-04-06 21:50   ` Thorsten Jolitz
2013-04-06 22:22     ` Nicolas Goaziou
2013-04-06 22:47       ` Thorsten Jolitz
2013-04-06 23:07         ` Nicolas Goaziou
2013-04-06 23:27           ` Thorsten Jolitz

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=87hajkx1rv.fsf@gmail.com \
    --to=n.goaziou@gmail.com \
    --cc=bernt@norang.ca \
    --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).