emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Christian Egli <christian.egli@sbs.ch>
To: emacs-orgmode@gnu.org
Subject: Re: [BUG] ox-taskjuggler: unable to use depends {gapduration}
Date: Wed, 05 Nov 2014 09:21:52 +0100	[thread overview]
Message-ID: <871tpiys4f.fsf@sbs.ch> (raw)
In-Reply-To: CA+M2ft9FCBT7F-OpDezfeOKvS3CR+C6B6qRaSpfuBi9UbzRE7w@mail.gmail.com

John Hendy <jw.hendy@gmail.com> writes:

> I ran into an odd issue with a taskjuggler task tree I'm working on
> when trying to apply a gapduration attribute to a task dependency.
> Typically, I can just pass any valid taskjuggler attribute through
> using properties, but my export was producing an error when trying to
> use:
>
> :depends: task {gapduration 1h}
>
> Oddly, the output is as follows (task section):
>
> #+begin_src test.tjp
>
> task test "test" {
>   task task1 "task1" {
>     milestone
>     start 2014-11-05-08:00
>   }
>   task task2 "task2" {
>     depends !task1 t :taskjuggl
>     duration 1h
>   }
> #+end_src
>
> For some reason it's grabbing the taskjuggler tag! I tried with the
> example in ox-taskjuggler.el with the same result.
>
> Is this a bug or am I mis-interpreting how this would work?

No it is indeed a bug. At first I thought this was simply no longer
working in the new exporter but I was wrong. Nicolas of course
implemented it and way more. But there is a subtle bug. I actually found
it because I wondered about the funny "t :taskjuggl" in the output.
Here's the fix.

diff --git a/contrib/lisp/ox-taskjuggler.el b/contrib/lisp/ox-taskjuggler.el
index 807d702..9e977f6 100644
--- a/contrib/lisp/ox-taskjuggler.el
+++ b/contrib/lisp/ox-taskjuggler.el
@@ -600,7 +600,7 @@ doesn't include leading \"depends\"."
 		   (let ((id (org-element-property :TASK_ID dep)))
 		     (and id
 			  (string-match (concat id " +\\({.*?}\\)") dep-str)
-			  (org-match-string-no-properties 1))))
+			  (org-match-string-no-properties 1 dep-str))))
 		  path)
 	      ;; Compute number of exclamation marks by looking for the
 	      ;; common ancestor between TASK and DEP.

Nicolas, I can push this myself but I haven't pushed to the repo in
years. What is the current way? Do I just push to master?

Thanks
Christian
-- 
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland

  reply	other threads:[~2014-11-05  8:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-05  6:39 [BUG] ox-taskjuggler: unable to use depends {gapduration} John Hendy
2014-11-05  8:21 ` Christian Egli [this message]
2014-11-05 13:27   ` Nicolas Goaziou
2014-11-06  8:19     ` Christian Egli
2014-11-06 17:33       ` Nicolas Goaziou
2014-11-06  0:41   ` John Hendy

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=871tpiys4f.fsf@sbs.ch \
    --to=christian.egli@sbs.ch \
    --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).