0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-23 07:10:44 +00:00
Commit graph

4823 commits

Author SHA1 Message Date
Carsten Dominik c59da3a3dd Add tags matching to clock tables
Adam Elliott writes:

> I have attached a git patch against master that implements a new
> parameter to clock tables, "tags".  This parameter is a tags-query as a
> string and is used to filter the headlines which are consulted when
> building the clock table.
>
> In my search of the archives to see if this feature already existed, I
> found a reference here:
>  http://article.gmane.org/gmane.emacs.orgmode/17304
> suggesting it was difficult.  The patch is not so large, though, so
> perhaps I am missing something.
>
> My rationale in implementing this feature was to keep track of the
> occasional task item that is not billable, yet still makes sense to
> include in the overall project structure.  Of course I could just avoid
> clocking the task item, or manually delete clock lines before generating
> a report, but this feature reduces the chance for error; no doubt there
> are other workflows enabled with this feature as well.  I don't make
> significant use of tags myself, but I know many do.
>
> In order to maintain a sensible report, headlines that don't match the
> tag filter may be included if they have descendants that do.  Any time
> clocked directly on non-matching headlines, however, is excluded.
>
> Specifying even a simple filter noticeably slows down clock table
> generation for non-toy reports, particularly for clock table reports
> with :step.  If there is no filter, though, there is no degradation in
> performance.
>
> Tag filter syntax is the standard one, as described at:
>  http://orgmode.org/manual/Matching-tags-and-properties.html
> Only tags are considered at the moment, although I suspect querying
> against all properties would be possible (if even slower).
>
> Examples:
>
> * development
>  CLOCK: => 1:00
> *** task 1
>    CLOCK: => 1:00
> *** task 2                                              :must:
> ***** task 2a
>      CLOCK: => 1:00
> ***** task 2b                                           :mustnot:
>      CLOCK: => 1:00
>
> Note I am using an unconventional but legal(ish) clock format for
> brevity.  Clock tables are also pruned to only relevant lines.
>
> [1] #+BEGIN: clocktable
> |   | *Total time* | *4:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 4:00   |      |      |
> | 2 | task 1       |        | 1:00 |      |
> | 2 | task 2       |        | 2:00 |      |
> | 3 | task 2a      |        |      | 1:00 |
> | 3 | task 2b      |        |      | 1:00 |
>
> [2] #+BEGIN: clocktable :tags "must"
> |   | *Total time* | *2:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 2:00   |      |      |
> | 2 | task 2       |        | 2:00 |      |
> | 3 | task 2a      |        |      | 1:00 |
> | 3 | task 2b      |        |      | 1:00 |
>
> [3] #+BEGIN: clocktable :tags "-mustnot"
> |   | *Total time* | *3:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 3:00   |      |      |
> | 2 | task 1       |        | 1:00 |      |
> | 2 | task 2       |        | 1:00 |      |
> | 3 | task 2a      |        |      | 1:00 |
>
> [4] #+BEGIN: clocktable :tags "must-mustnot"
> |   | *Total time* | *1:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 1:00   |      |      |
> | 2 | task 2       |        | 1:00 |      |
> | 3 | task 2a      |        |      | 1:00 |
>
> [5] #+BEGIN: clocktable :tags "must+mustnot"
> |   | *Total time* | *1:00* |      |      |
> |---+--------------+--------+------+------|
> | 1 | development  | 1:00   |      |      |
> | 2 | task 2       |        | 1:00 |      |
> | 3 | task 2b      |        |      | 1:00 |
>
> As you can see, in examples 2, 4, and 5, the time clocked on
> "development" itself is being removed.  Example 2 illustrates the effect
> of tag inheritance.
>
> Adam
2010-04-23 21:24:19 +02:00
Carsten Dominik 07198e34f6 XEmacs compatibility fix 2010-04-23 21:02:19 +02:00
Carsten Dominik ff38550278 Allow a dash in the name of a latex document class setup.
A line like    #+LATEX_CLASS: auto-report
will now work.

Report by Nicolas Girad.
2010-04-23 20:57:47 +02:00
Carsten Dominik 98026d21e3 New hooks to attach commands to S-cursor hooks 2010-04-23 20:52:28 +02:00
Carsten Dominik 899302ce86 Use \land and \lor for logical operators 2010-04-23 17:22:07 +02:00
Carsten Dominik 11baa7cf77 Make M-left and M-right affect only the item, not its children
This behavior is now parallel to the treatment of outline nodes.

This commit also introduces another change.  When an outline node or a
plain list item is folded by outline and contains hidden children,
M-left/right will refuse to act on this item.  You must either open
the tree, or use the subtree commands M-S-left and M-S-right.

Based on a patch by Matti De Craene, but significantly modified after
a discussion involving Bernt Hansen and others.
2010-04-23 10:26:15 +02:00
Carsten Dominik 9b6eeb4d2d Fix sitemap creation 2010-04-23 06:49:22 +02:00
Carsten Dominik 238a3d2818 Another fix for sitemap sorting 2010-04-23 00:06:10 +02:00
Carsten Dominik 830e0cfe40 Fix file sorting for publishing. 2010-04-22 18:04:13 +02:00
Carsten Dominik d3b8ca4a3e Use (featurep 'xemacs) to help the byte compiler 2010-04-22 15:30:12 +02:00
Carsten Dominik 16c0dd7f69 Fix a small issue with the sitemap code 2010-04-22 15:14:16 +02:00
Carsten Dominik c206caf969 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-04-22 10:23:07 +02:00
Carsten Dominik cbf97141d0 Index: Allow index entries before the first headline
Requested by Stefan Vollmar.
2010-04-22 09:27:43 +02:00
Carsten Dominik bc4b5de764 Add more acknowledgements 2010-04-22 09:27:43 +02:00
Carsten Dominik 2bc8590755 HTML export: Allow sorting of the site map
Patch by Sebastian Rose
2010-04-22 09:27:35 +02:00
Carsten Dominik 816ff72306 Terminating lists by indentation of #+SPECIALS too
Sebastien Rose writes:

> there was much discussion about a terminator and I ran into a problem,
> that made me think we need one. But then I found we had one --- it's
> just not used on HTML export.
>
>
> Below is a little file I wrote. Thanks to the `- __' items, it results
> in the XHTML closely to what I wanted it to.
> But only as long as I use those _undocumented_ `- __' items. Once you
> remove them, you'll see, that the `#+html: </div...' stuff ends up
> inside the last list item and the XHTML will not validate.
>
>
> As I looked at it, I found the most natural solution would be, to
> terminate the list by regarding the indentation of `#+WHATEVER' and
> `#+BEGIN_WHATEVER' if inside lists [fn:1].
>
>
>
> The patch below (diffed against `remove-compatibility-code') makes
> XHTML-export honor the indentation of `#+SPECIALS'.
>
>
>
> Here's the Org-file I wrote (remove and add the `- __' list items to see
> the effect):
>
> #+OPTIONS: toc:nil
> #+STYLE: <style type="text/css">
> #+STYLE: body,p,div,td{font-size:13px;font-family:sans-serif;}
> #+STYLE: div { text-align:left; }
> #+STYLE: #content {width:550px;
> #+STYLE:     margin-left:auto;margin-right:auto;text-align:center; }
> #+STYLE: #postamble { width:550px;clear:both;border-top:1px solid black;
> #+STYLE:      margin-left:auto;margin-right:auto;text-align:center; }
> #+STYLE: </style>
>
> * List of design patterns
>
>  #+HTML: <div style="width:48%;float:left;">
>  *Behavioural Patterns*
>    - [[file:BatchCommand][BatchCommand]]
>    - [[file:ChainOfResponsibility.org][Chain Of Responsibility]]
>    - [[file:Command.org][Command]], UndoableCommand and BatchCommand
>    - [[file:Interpreter.org][Interpreter]]
>    - [[file:Iterator.org][Iterator]]
>    - [[file:Mediator.org][Mediator]]
>    - [[file:Memento.org][Memento]]
>    - [[file:NullObject][NullObject]]
>    - [[file:Observer.org][Observer]]
>    - [[file:State.org][State]]
>    - [[file:Strategy.org][Strategy]]
>    - [[file:TemplateMethod.org][Template Method]]
>    - [[file:Visitor.org][Visitor]]
>  *Creational Patterns*
>    - [[file:AbstractFactory.org][Abstract Factory]]
>    - [[file:Builder.org][Builder]]
>    - [[file:Factory.org][Factory]]
>    - [[file:FactoryMethod.org][Factory Method]]
>    - [[file:Prototype.org][Prototype]]
>    - [[file:Singleton.org][Singleton]]
>    - __
>  #+html: </div>
>  #+html: <div style="width:48%;float:right;">
>  *Structural Patterns*
>    - [[file:Adapter.org][Adapter]]
>    - [[file:Composite.org][Composite]]
>    - [[file::Bridge.org][Bridge]]
>    - [[file:Decorator.org][Decorator]]
>    - [[file:Facade.org][Facade]]
>    - [[file:Flyweight.org][Flyweight]]
>    - [[file:Proxy.org][Proxy]]
>  *Unsorted*
>    - [[file:BusinessDelegate.org][Business Delegate]]
>    - [[file:DataAccessObject.org][Data Access Object]]
>    - [[file:DataTransferObject.org][Data Transfer Object]]
>    - [[file:DependencyInjection.org][Dependency Injection]]
>    - [[file:FluentInterface.org][Fluent Interface]]
>    - [[file:InversionOfControl.org][Inversion Of Control]]
>    - [[file:ModelViewControler.org][Model View Controler]]
>    - [[file:ModelViewPresenter.org][Model View Presenter]]
>    - [[file:Plugin.org][Plugin]]
>    - __
>  #+HTML: </div>
2010-04-22 08:41:09 +02:00
Eric Schulte 927ff1125b babel: `org-babel-ref-index-list' now converts trivial lists to scalars
Thanks to Darlan Cavalcante Moreira for this suggestion.
2010-04-21 09:35:13 -06:00
Carsten Dominik e84998ada8 Fix typo 2010-04-21 09:51:30 +02:00
Carsten Dominik 008dbe15ec Don't mistake ditaa figures for tables
Patch by Dan Davison, after a report by Bernt Hansen.
2010-04-21 09:49:31 +02:00
Carsten Dominik 75a68313fc Fix typo 2010-04-21 09:18:20 +02:00
Carsten Dominik e0ca9a5bdf More work on simplifying compatibility code 2010-04-21 09:18:12 +02:00
Carsten Dominik 56ba0892e5 Simplify XEmacs key bindings 2010-04-21 08:38:09 +02:00
Carsten Dominik aca565ca61 Document info links
Patch by Nick Dokos.
2010-04-20 20:04:19 +02:00
Carsten Dominik 5a62721822 Make inline task insertion deal with `org-odd-levels-only'
Also make it possible to define a default state for an inline task.

Patch by Sebastian Rose.
2010-04-20 18:31:03 +02:00
Carsten Dominik 1ac063248f Revert "Call org-reveal after refiling"
This reverts commit a30955b050.
2010-04-20 15:37:39 +02:00
Carsten Dominik cb624111af Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode
Conflicts:
	lisp/ChangeLog
2010-04-20 15:37:18 +02:00
Carsten Dominik c6ea2a1457 Use overlay-in and overlay-at instead of compatibility functions 2010-04-20 12:17:06 +02:00
Bastien Guerry e60353004c Modify `org-clock-set-current' to just return the headline itself, strip
the TODO keyword, the priority cookie and the tags.
2010-04-19 12:57:34 +02:00
Carsten Dominik b65f1f9489 Redefine the functions where XEmacs invisibility has to be turned off 2010-04-18 19:58:24 +02:00
Carsten Dominik 97e20048b2 Use `add-to-invisibility-spec' directly 2010-04-18 19:41:05 +02:00
Carsten Dominik b35b9914e6 Revert "Use `add-to-invisibility-spec' directly"
This reverts commit c2e5b13a2d.
2010-04-18 19:38:10 +02:00
Carsten Dominik c2e5b13a2d Use `add-to-invisibility-spec' directly 2010-04-18 19:26:30 +02:00
Carsten Dominik a000f6163d Merge branch 'simplify-but-keep-xemacs-compatibility'
Conflicts:
	lisp/ChangeLog
2010-04-18 16:55:32 +02:00
Carsten Dominik 3672a495e1 Fix minor bug with call to kill-buffer 2010-04-18 16:54:19 +02:00
Carsten Dominik bb0ef787b7 Require calendar already on top level in org.el 2010-04-18 16:50:13 +02:00
Carsten Dominik 354b6a0c3b Declare a function 2010-04-18 16:50:12 +02:00
Carsten Dominik 34884f6e9e Overlay changes for org-colview-xemacs.el 2010-04-18 16:50:12 +02:00
Carsten Dominik 8bd9308662 No linger bind obsolete calendar variables 2010-04-18 16:49:58 +02:00
Carsten Dominik b934169526 Get rid of some compiler warnings 2010-04-18 16:49:58 +02:00
Carsten Dominik f45e6a28b1 Use the normal overlay API, not Org's one 2010-04-18 16:49:58 +02:00
Carsten Dominik cedf376dee Better BATCH compile command 2010-04-18 16:49:58 +02:00
Carsten Dominik 0c8557b401 Silence compiler about called-interactively 2010-04-18 16:49:36 +02:00
Carsten Dominik 88149c2390 intermediate 2010-04-18 15:06:16 +02:00
Carsten Dominik 84f72287cc Fix typo 2010-04-18 08:12:47 +02:00
Carsten Dominik 106ae88091 Allow dashes and more in the ORGTBL SEND name 2010-04-18 08:11:07 +02:00
Carsten Dominik 2ca29086f1 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-04-17 07:40:06 +02:00
Carsten Dominik 5ef02b0c1d Minor fix 2010-04-17 07:39:59 +02:00
Eric Schulte 3652689944 org-mime: removed short string " xx " from semi syntax 2010-04-16 09:21:36 -06:00
Carsten Dominik 36d3e189a8 Fix some typos 2010-04-16 08:17:57 +02:00
Carsten Dominik 69402e690b Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-04-16 05:12:23 +02:00