Hi Suvayu, Suvayu Ali <fatkasuvayu+li...@gmail.com> writes:
> That said, the problem I am facing is org-export-with-tags evaluates to > not-in-toc irrespective of what is set by the tags: option (see for > example the test file earlier in the thread). So effectively the test > is not checking what it is supposed to check. So I was wondering > whether I missed something I should be doing. The problem is that `org-export-with-tags' is a global option, storing the default value for any buffer (and _a fortiori_ any subtree) -- while you want to check local options, which may be different at export time. Local options are stored in a `org-export-opt-plist'. You get the value of the "tags:" option by checking the property list like this: (plist-get org-export-opt-plist :tags)) Hence the patch below, which you can try to make sure it does what you want. Thanks!
diff --git a/lisp/org-exp.el b/lisp/org-exp.el index fa54242..b4f6338 100644 --- a/lisp/org-exp.el +++ b/lisp/org-exp.el @@ -2160,20 +2160,24 @@ can work correctly." (defun org-export-get-title-from-subtree () "Return subtree title and exclude it from export." (let ((rbeg (region-beginning)) (rend (region-end)) - (inhibit-read-only t) title) + (inhibit-read-only t) + (tags (plist-get org-export-opt-plist :tags)) + title) (save-excursion (goto-char rbeg) (when (and (org-at-heading-p) (>= (org-end-of-subtree t t) rend)) ;; This is a subtree, we take the title from the first heading (goto-char rbeg) - (looking-at org-todo-line-regexp) - (setq title (match-string 3)) + (looking-at org-todo-line-tags-regexp) + (setq title (if (eq tags t) + (format "%s\t%s" (match-string 3) (match-string 4)) + (match-string 3))) (org-unmodified (add-text-properties (point) (1+ (point-at-eol)) (list :org-license-to-kill t))) - (setq title (or (org-entry-get nil "EXPORT_TITLE") title)))) - title)) + (setq title (or (org-entry-get nil "EXPORT_TITLE") title)) + title)))) (defun org-solidify-link-text (s &optional alist) "Take link text and make a safe target out of it."
-- Bastien