Commit Graph

1624 Commits

Author SHA1 Message Date
Carsten Dominik 4462229742 Fix table formula bug with negative result numbers
Willian Henney writes:

> The following is using today's git trunk of org-mode with emacs
> 23.1.94.1 (aquamacs 2.0preview5)
>
>    Consider the following table
>
>    | -8 |
>    |    |
>    |    |
>    |    |
> #+TBLFM: $1=@-1 - 1::@1$1=-8
>
>    Evaluate formulas once (C-u C-c *):
>
>    | -8 |
>    | -9 |
>    |----|
>    | -1 |
>
>    Evaluate formulas again (C-u C-c *):
>
>    | -8 |
>    | -9 |
>    |----|
>    |----|
>
>    What I expected:
>
>    |  -8 |
>    |  -9 |
>    | -10 |
>    | -11 |
>
> The problem always seems to start at -10. When I turn on table
> debugging, it first calculates the -10 value correctly, but then fails
> to recognise the -10 cell as a number when calculating the next row,
> using 0 instead, which results in -1. This is because during the
> intermediate formatting of the cell the minus sign in -10 abuts the
> column separator: "|-10 |", and the "|-" part is then interpreted as
> the beginning of an hline.
2010-04-24 14:39:28 +02:00
Carsten Dominik 39f124ed0d Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-04-24 00:24:34 +02:00
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
Dan Davison 02e557745f org-src: different message in read-only mode 2010-04-23 10:10:01 -06:00
Dan Davison d1b8b347fe Allow org-src edit buffer to be used in read-only mode
org-edit-src-code gains extra optional arguments `code' and
`edit-buffer-name'. If `code' is supplied, then this code forms the
contents of the edit buffer, which is made read-only. In this case,
the mechanisms for writing back to the org buffer on save are
disabled.

Optional argument `edit-buffer-name' allows a name for the edit buffer
to be supplied.
2010-04-23 10:10:01 -06: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 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 cbf97141d0 Index: Allow index entries before the first headline
Requested by Stefan Vollmar.
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
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 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 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 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 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 0c8557b401 Silence compiler about called-interactively 2010-04-18 16:49:36 +02:00
Carsten Dominik 3672910d2f Export: Fix bug with ID property search
Jan Bcker writes:

> If you have a headline with an elisp code block containing the following
> line:
>
> " :ID:"
>
> the HTML code will be garbled at the beginning of the headline.
>
> I have attached a minimal test case and the resulting HTML file. The
> #+OPTIONS: line is not needed, but is included to make the HTML file
> less cluttered.
>
> There has to be whitespace between the " and :ID: and the string must be
> ended on the same line. For example, these lines trigger the bug:
>
> " :ID:"
> "   :ID:"
> " :ID: garble-my-html"
>
> while these do not:
>
> ":ID:"
> ":ID: garble-my-html"
> " :ID:
>
2010-04-16 05:12:19 +02:00
Carsten Dominik a74a748d0f Search backward from a footnote definition to find reference.
With multiple definitions of a footnote with the same label in a
buffer, this has a higher chance to find the right one.

Request by Samuel Wales
2010-04-14 16:45:45 +02:00
Carsten Dominik 12e73e58af Only record LAST_REPEAT if it makes sense.
The definition of "makes sense is here:

- either the user is logging repeats (org-log-repeat)
- or the entry contains clock data, in which case the LAST_REPEAT is
  needed to display clocking time properly.

Request by Dan Griswold, with some support from Bernt Hansen
2010-04-14 13:49:03 +02:00
Carsten Dominik 8788b14378 Move the older ChangeLog entries 2010-04-14 10:31:18 +02:00
Carsten Dominik 2339c5afa7 Fix bug in mapping entries
Patch by Peter Jones, following a bug report by Xiao-Jong Jin, who wrote:

> If you have the follow org file
>
> * test crypt							      :crypt:
> ** subheading 1
>   text 1
> ** subheading 2
>   text 2
>
> with setup as
>
> (require 'org-crypt)
> (setq org-tags-exclude-from-inheritance '("crypt"))
> (setq org-crypt-key "CBC0714E")              ; my key
>
> On calling org-encrypt-entry on the first head line, only
> subheading 1 get encrypted, subheading 2 remains plain text.
> But, if you add an empty line or some text under the first
> heading, both subheading 1 and 2 are encrypted.
2010-04-14 09:42:50 +02:00
Carsten Dominik 9cfebf0842 New command to align all tags 2010-04-13 09:05:00 +02:00
Carsten Dominik 5d5b4fd0ad Extensions to storing and opening links to Wanderlust messages.
By David Maus.

The gist of the extended capabilities:

- Remove filter conditions for messages in a filter folder

  If customization variable `org-wl-link-remove-filter' is non-nil,
  filter conditions are stripped of the folder name.

- Create web links for messages in a Shimbun folder

  If customization variable `org-wl-shimbun-prefer-web-links' is
  non-nil, calling `org-store-link' on a Shimbun message creates a
  web link to the messages source, indicated in the Xref: header
  field.

- Create web links for messages in a nntp folder

  If customization variable `org-wl-nntp-prefer-web-links' is
  non-nil, calling `org-store-link' on a nntp message creates a web
  link either to gmane.org if the group can be read trough gmane or
  to googlegroups otherwise. In both cases the message-id is used as
  reference.

- Open links in namazu search folder

  If `org-wl-open' is called with one prefix, WL opens a namazu
  search folder for message's message-id using
  `org-wl-namazu-default-index' as search index.  If this variable is
  nil or `org-wl-open' is called with two prefixes Org asks for the
  search index to use.

Regards,

-- David

Conflicts:

	lisp/ChangeLog
2010-04-13 07:58:59 +02:00
Carsten Dominik ada4127536 Remove dependency on cl-seq.el 2010-04-12 18:56:43 +02:00
Carsten Dominik 4b475bcd11 Merge commit 'jan/org-file-apps-ex'
Conflicts:
	lisp/ChangeLog
2010-04-12 18:45:58 +02:00
Carsten Dominik 32340d0389 Make the repeater target state configurable
The target state can now be fixed locally with the REPEAT_TO_STATE
property, or globally with the variable `org-todo-repeat-to-state'.

This was a request by John Wiegley.
2010-04-12 12:02:56 +02:00
Carsten Dominik 33e5924ba4 Remove microtype package from the defaults 2010-04-12 09:11:03 +02:00
Jan Böcker dfda58d720 org-open-file: match against dlink only if the command to be executed actually seems to use the subexpression matches as parameters.
This does not try to determine if a subexpression match is
actually used in the case of a custom lisp form.
2010-04-10 12:46:45 +02:00
Jan Böcker 6deb088a5c org-open-file: decide whether to match against filename or whole link based on wether the regexp makes use of grouping 2010-04-10 12:22:55 +02:00
Jan Böcker 55dee1d251 Match regexps in the new variable org-file-apps-ex against the whole link. 2010-04-09 21:15:56 +02:00