Commit Graph

1068 Commits

Author SHA1 Message Date
Carsten Dominik c1d00fa463 Export: General mechanism for local settings
Many different people want to set many different variables in a
buffer-local way for export.  This cannot be done with file variables,
because the Org buffer is not current while the exporter is running.

Lots of variables can be set with the #+OPTIONS lines, but finding
abbreviations goes only so far.

Therefore we have now a general mechanism that can be used to bind
variables during export operations.

a line like:   #+BIND: variable value

will bind the variable to value.  For example,
the line

>>      #+OPTIONS: toc:nil

can now equivalently be written as

>>      #+BIND: org-export-with-toc nil
2009-07-06 17:00:03 +02:00
Carsten Dominik e7ceeb3a49 Bug fix: Hide drawers after showing entry content
Bernt Hansen writes:

> I recently noticed that using SPACE or TAB in the agenda displays
> the task in the other window but all of the drawers are exposed.
> If you fold the org file with S-TAB to Overview or Contents
> display and then switch to the agenda and SPACE or TAB on a
> folded task it unfolds the entire thing including the drawers.
>
> Expanding the file to SHOW ALL and then using follow mode from
> the agenda shows me the view I'm really looking for so that's
> what I'm doing as a workaround right now.
>
> While doing my weekly review of tasks I use follow mode to view
> task detail and the expanded :LOGBOOK: and :PROPERTIES: drawers
> hide detail scrolled off the bottom of the window.  My :LOGBOOK:
> drawer for repeated tasks tends to be l-o-n-g and shoves detail
> way down the file (such as my weekly review checklist :) ).
>
> Is it possible to control expansion of the drawers when
> displaying a task from the agenda?  The view I'm looking for is
> the same as SHOW ALL from S-TAB.  It seems that if the task is
> expanded from the agenda it expands everything including the
> drawers.
2009-07-05 16:30:02 +02:00
Carsten Dominik 0795e42daf Footnotes: Allow automatic sorting and renumbering
Customize the new variable org-footnote-auto-adjust or use the STARTUP
option fnadjust to get automatic renumbering and sorting of footnotes
after each insertion/deletion.
2009-07-03 17:56:47 +02:00
Carsten Dominik d19ebd84c3 Agenda bulk commands: Add Schedule and Deadline
Agenda bulk commands on marked entries now can also set the scheduling
date or a deadline.  Normally, all entries will be set to the
specified date.  However, when writing the change as "++5d" or "++2w",
then each time stamp will independently be shifted by that amount.
2009-07-02 17:10:03 +02:00
Carsten Dominik 9a6261df78 Tables: Allow #+TABNAME to be indented 2009-07-02 09:10:20 +02:00
Carsten Dominik c1a4c5901a Plain lists: Improvements to cycling with TAB.
TAB now cycles visibility in plain lists if the cursor is in a plain
list.  This corresponds now to the new default value `t' of
`org-cycle-include-plain-lists'.  If you want to treat plain list
items as part of the outline hierarchy during cycling of outline
headings (this is what a `t' value used to mean), set this variable to
`integrate'.
2009-07-01 09:34:13 +02:00
Carsten Dominik 31e35da863 Improve the paragraph-start regexp to work better with LaTeX commands. 2009-07-01 08:55:40 +02:00
Carsten Dominik b5edb36f94 Fix bug with matching sublevels 2009-06-28 08:45:56 +02:00
Carsten Dominik 0ec316bbb5 Fix docstring 2009-06-27 14:17:10 +02:00
Carsten Dominik bcb0cccbe5 Tags-todo searches: No longer force org-tags-match-list-sublevels to t
Patrick Bahr writes:

> I use tags-todo searches in my custom agenda
> commands. Unfortunately, tags-todo does not honour the
> org-agenda-todo-list-sublevels variable which I want to use in
> order to ignore nested todo items. Is there a way to persuade
> tags-todo to do this? I know that there is a variable
> org-agenda-tags-todo-honor-ignore-options which does this for
> org-agenda-todo-ignore-with-date etc. It would be nice if there
> is something similar to this for
> org-agenda-todo-list-sublevels. Even better would be if this
> could be adjusted per individual tags-todo search. For example
> for certain cases I do not want to see nested TODO items but I do
> want to see nested WAITING items. With two tags-todo searches
> having different behaviour on nested todo items this would be
> feasible.

This behavior is a loft-over from the old days, and I am changing
this now.
2009-06-27 12:06:42 +02:00
Carsten Dominik f648323253 Push version number to 6.28trans 2009-06-26 17:26:50 +02:00
Carsten Dominik cd4e52a5ef Release 6.28d 2009-06-26 17:23:27 +02:00
Carsten Dominik 9f91de32e9 Bug fixes:
Make PDF export work on windows.
Use only compatible overlay API.
2009-06-26 13:09:40 +02:00
Carsten Dominik 00ddc4dba7 Release 6.28c 2009-06-26 09:27:50 +02:00
Carsten Dominik e7ffcc1d4d Release 6.28b 2009-06-25 09:01:20 +02:00
Carsten Dominik 7906427aa6 Release 6.28 2009-06-25 08:59:59 +02:00
Carsten Dominik 2e3a26ae35 Agenda: Refile and bulk action
This commit implements refiling directly from the agenda.

It also implements a mechanism for selecting a number of entries in
the agenda and then executing a command on all of them.  Possible
actions include archive, refile, todo state setting, and more.
2009-06-24 21:50:42 +02:00
Carsten Dominik c7703d1eeb Make store-link work like interactive when executing a keyboard macro. 2009-06-24 14:16:49 +02:00
Carsten Dominik c1c3c3f7cb Tables: Allow forced alignment to left or right.
Michael Brand writes:

>  2) One could like to have configurable left/right alignment, even
>     combinable with column width, e. g.
>
>  | <l10>      | <r>       |
>  | 3.14       |      0x10 |
>  | 3.141592=> | 0x32 0x10 |

Good idea, I would say.
2009-06-21 22:40:45 +02:00
Carsten Dominik 94c4f801a2 Tables: Fix auto-blanking of fields is yasnippet is active.
When yasnippet is active, it is the official binding of TAB.  That
means, the org-mode self-insert command must know that it may blank
table fields if the last command was yas/expand.
2009-06-21 22:19:15 +02:00
Carsten Dominik 51ad548037 Better default description for link to Org-mode heading
Requested by Stefan Vollmar.
2009-06-20 21:10:55 +02:00
Carsten Dominik 62142723fd Fix critical bug in ID search.
Patch by Michael Hohmuth.
2009-06-19 12:13:41 +02:00
Carsten Dominik 164678d549 Column view: Protect vertical bars in fields when capturing column view
Capturing column view creates an Org-mode table, where the field
values cannot have vertical bars.  These are now protected.
2009-06-18 17:25:03 +02:00
Carsten Dominik 57c12e8bef Subtree cloning: Also modify inactive timestamps 2009-06-18 09:14:17 +02:00
Carsten Dominik a5f080361a Clock: Manipulating effort strings, and a mode line menu
Clicking on the clock in the mode line now pops up a menu with
clocking options.

A new command `C-c C-x C-e' allows to set or change the effort
estimate of the task currently being clocked.  This is mainly useful
when using an alert notification when the task should be finished.

Based on a patch by Konstantin Antipin.
2009-06-17 07:40:22 +02:00
Carsten Dominik 951125da8d intermediate 2009-06-16 09:42:05 +02:00
Carsten Dominik 389a2cc336 Docstring improvement 2009-06-14 08:11:49 +02:00
Carsten Dominik dc5bc0d443 Move variable `org-protecting-blocks' to org.el 2009-06-14 08:05:18 +02:00
Carsten Dominik 7a9275fd89 Consistent behavior when changing TODO keywords with S-cursor.
When the variable `org-treat-S-cursor-todo-selection-as-state-change'
is turned off, switching TODO keywords with S-cursor will not only
turn off logging, but also blocking.
2009-06-14 08:03:14 +02:00
Carsten Dominik 74e8c78b93 Move org-exp-blocks.el into the core 2009-06-11 16:17:50 +02:00
Carsten Dominik 7d20a088f5 Minor fixes 2009-06-09 12:10:27 +02:00
Carsten Dominik a554e0ce5c Improve flyspell support in verbatim emphasis strings 2009-06-08 08:36:33 +02:00
Carsten Dominik 379b24cc63 Fix whitespace issues 2009-06-08 08:00:46 +02:00
Carsten Dominik ef57d7b90c Indentation: Make #+end line up with #+begin 2009-06-07 23:21:55 +02:00
Carsten Dominik 503e571e43 Keep byte compiler happy 2009-06-07 17:07:07 +02:00
Carsten Dominik 73c522f727 New file org-src.el, split out of org.el 2009-06-07 16:28:10 +02:00
Carsten Dominik d8e44c1fa0 Minor fix 2009-06-07 10:14:14 +02:00
Carsten Dominik a2f787a643 New contributed modules org-mac-iCal.el by Christopher Suckling 2009-06-06 07:59:19 +02:00
Carsten Dominik ea1265539f Make C-c C-c also update clock timings in a CLOCK line 2009-06-04 09:28:42 +02:00
Carsten Dominik 3ca7add20a Fix bug with time sorting
Reported by Jrg Hagmann.
2009-06-03 17:15:16 +02:00
Carsten Dominik 45d80c3a31 Remove flyspell overlays in places where they are not wanted 2009-06-03 14:38:23 +02:00
Carsten Dominik 97f9817836 Insert drawers/ planning info unindented when org-adapt-indentation is nil
Requested by Samuel Wales
2009-06-03 14:08:37 +02:00
Carsten Dominik 5e39f24715 Minor fixes 2009-06-02 19:12:30 +02:00
Carsten Dominik cc3bb658ec Editing Source Code Examples: Make C-x C-s save the original buffer
Path by Dan Davison
2009-06-02 18:01:25 +02:00
Carsten Dominik 1db461321a Keep compiler happy 2009-06-02 14:49:38 +02:00
Carsten Dominik ee4bcda0e9 Clock: More control about what time is shown in mode line while clocking
This commit changes which time is shown in the mode line while
clocking.  Normally this will now be the total time ever clocked on
this task and its children.

However, when the task is a repeating one, only the time since the
last reset of the task will be shown.  The time of the last reset is
now recorded in a LAST_REPEAT property.

You can also set the CLOCK_MODELINE_TOTAL property to the value
"current" to only show the current clocking instance.  Or it may be
the value "today", to only add up the time spent today on this task.
Other possible values are "repeat", "all", or "auto".

Finally, you can set your default for this property with
`org-clock-modeline-total'.
2009-06-02 13:47:50 +02:00
Carsten Dominik 9b823a4586 Repeating entries: Record last repeat time in LAST_REPEAT property 2009-06-02 12:05:16 +02:00
Carsten Dominik 6c5428d5d4 Block editing: Do not quote # lines if there is no plus after # 2009-06-02 09:39:50 +02:00
Carsten Dominik bfa7c38c1c Hide and show the contents of blocks
Patch by Eric Schulte, with modifications.
2009-06-02 09:23:00 +02:00
Carsten Dominik 831050b23d Add Effort property to completion list. 2009-05-30 07:44:02 +02:00
Carsten Dominik 0b5dcee06d Minor fixes 2009-05-30 06:59:46 +02:00
Carsten Dominik 76979e62bd Fix bug with LaTeX entities 2009-05-29 14:34:50 +02:00
Carsten Dominik c030d53eb0 Fix indentation problem with editing blocks 2009-05-29 06:27:25 +02:00
Carsten Dominik 9efd83addd Make the list of blocks protecting their content cofigurable 2009-05-28 17:44:44 +02:00
Carsten Dominik 19748886eb Tables: Allow #+TBLFM to be indented 2009-05-28 17:44:12 +02:00
Carsten Dominik 0c49456103 Export: Allow #+label, #+caption, and #_attr_... to be indented. 2009-05-28 17:44:12 +02:00
Carsten Dominik 3089eb6150 Insert block templates indented to cursor cookie position
When a template cookie like "<s" is typed indented on a line, the
amount of white space before the cookie is applied to each new line in
the template.
2009-05-28 17:44:12 +02:00
Carsten Dominik 1fc138838a Blocks: Make editing indented blocks work correctly 2009-05-28 17:44:12 +02:00
Carsten Dominik aea59ca7a6 Export: Allow example and src blocks to be indented 2009-05-28 13:41:29 +02:00
Carsten Dominik 476493d3b3 Fontification: Better treatment of #+ lines and blocks
The content of blocks like #+begin_example will be marked with a
separate face.  That same face is also used for single lines
introducing text for specific backends.
2009-05-28 13:41:28 +02:00
Carsten Dominik c4a566df87 Fix typo 2009-05-28 06:43:35 +02:00
Carsten Dominik ff222e41b8 Bind ESC sequences explicitly because translation does not always work.
Patch by Paolo Petta
2009-05-27 20:04:25 +02:00
Carsten Dominik a18546c360 TODO entries: Control over when selecting a state is treated as state change.
This commit introduces two new variables:

- org-treat-insert-todo-heading-as-state-change

  Default is nil.  When set to t, adding a new TODO item will be done
  by adding an item and the executing an "official" state change which
  potentially will trigger state logging.

- org-treat-S-cursor-todo-seletion-as-state-change

  Default is t.  When set to nil, selecting a TODO state with
  S-left/right will not trigger logging, only selecting a new state
  with `C-c C-t'.  I actually like this a lot and would even consider
  making this the default.
2009-05-27 18:54:44 +02:00
Carsten Dominik ae7b8f6b12 Push version number to 6.27trans 2009-05-26 15:41:44 +02:00
Carsten Dominik 0421dead4b Release 6.27a 2009-05-25 16:04:45 +02:00
Carsten Dominik 1cd03213f5 Fix bug with time sorting 2009-05-25 15:55:59 +02:00
Carsten Dominik b681c7b26e Release 6.27 2009-05-23 08:22:04 +02:00
Carsten Dominik 86a19f342e Priorities: Conditionally disable priority commands
The new option `org-enable-priority-commands' can now be used to turn
off all priority-setting commands, to avoid setting a priority by
accident.
2009-05-21 18:01:08 +02:00
Carsten Dominik 97c19c43fd Keep compiler happy 2009-05-20 10:53:29 +02:00
Carsten Dominik f54ff074d2 TODO statistics: Allow recursive statistics
Setting the new option `org-hierarchical-todo-statistics' to nil will
make TODO statistics to be computed recursively.  This means, not only
the direct children of a node contribute to its TODO statistics, but
the entire subtree.

You can also set the COOKIE_DATA property and add the word "recursive"
there to get recursive statistics for a specific tree.
2009-05-20 10:47:38 +02:00
Carsten Dominik 8e44b1fd8b Logging: New property LOG_INTO_DRAWER
Setting this property will overrule the value of org-log-into-drawer
for the scope of the subtree.

Requested by Daniel J. Sinder
2009-05-19 10:35:28 +02:00
Carsten Dominik c88c9ad519 Statistics: New hooks 2009-05-19 09:22:44 +02:00
Carsten Dominik 388a302d51 Source snippet editing: Mark the text in the original buffer while editing 2009-05-18 12:53:32 +02:00
Carsten Dominik cc50f83583 Example editing: Allow multiple editing buffers
Hsiu-Khuern Tang writes:

> Hi Carsten,
>
> You recently changed org-edit-src-code to use a separate buffer
> instead of an indirect buffer.  One side effect of this is that I
> can no longer edit several code examples at the same time:
> opening the second buffer will silently discard any changes made
> in the first.  I would prefer this behavior: when opening the
> second edit source buffer, write any changes in the first buffer
> to the originating Org buffer (but don't save it, of course).
>
> Another approach is to use different buffer names.

The better approach is clearly to allow several buffers, now
implemented with this commit.
2009-05-16 17:08:24 +02:00
Carsten Dominik e7e711148a Refile: New hook
Requested by Keith Swartz.
2009-05-14 14:51:42 +02:00
Carsten Dominik 7de716943f Sorting: Run a hook when done with sorting
Requested by Keith Swartz.
2009-05-14 14:47:51 +02:00
Carsten Dominik 610f0004c8 Modularize `org-yank'.
Patch by Derek Upham.
2009-05-12 16:29:58 +02:00
Carsten Dominik 3065dcbd42 Keep compiler happy 2009-05-10 09:16:30 +02:00
Carsten Dominik 762736d18d Links: Implement special completion support for some link types
The commit implements a general mechanism for providing special
(e.g. completion) support for specific link types when entering links
with `C-c C-l'.  After calling `C-c C-l', you may now press RET after
inserting a link prefix, and Org will look for a function
`org-PREFIX-complete-link'.  Such functions may be defined for any
link types, including link abbreviations.  Currently, Org has
`org-file-complete-link' for file name completion, and
`org-bbdb-complete-link' for completion of record names from BBDB.
2009-05-10 08:51:18 +02:00
Carsten Dominik e516a3be22 Visibility cycling: Fix bug when org-cycle-include-plain-lists is t
Peter Westlake writes:

>  On Fri, 8 May 2009 06:24:54 +0200, "Carsten Dominik"
>  <carsten.dominik@gmail.com> said:
>
>  I anyone could make an example that allos me to reproduce this
>  problem, then I might be able to fix it.
>
>  It's trivial:
>
>   * top
>   ** sub 1
>   Set org-cycle-include-plain-lists.
>   Type TAB on this line, and the whole of top gets folded.
>
>   ** sub 2
>   This entry is not needed to reproduce the bug. It just
>   makes it more visible.

There was indeed a bug, I think it is fixed now.
2009-05-08 12:51:32 +02:00
Carsten Dominik dd1268dcac New file: contrib/lisp/org-special-blocks.el
Contributed by Chris Gray
2009-05-07 13:53:35 +02:00
Carsten Dominik 412314ab2b ASCII export: Fix autoloading 2009-05-07 08:39:12 +02:00
Carsten Dominik f8c8ac606d Sorting: Improve documentation, and implement better time sorting
Sorting entries by time is now much more flexible, and can be
specified to creation, scheduled, and deadline time.
2009-05-06 10:50:22 +02:00
Carsten Dominik 99c86ec8b8 Edit source code examples: Allow to switch off permanent message 2009-05-05 17:58:48 +02:00
Carsten Dominik 453115c82e Fix docstring 2009-05-05 16:24:47 +02:00
Carsten Dominik fc7b9e8d8c Editing code examples: No longer use indirect buffer
Editing source code examples and pictures is not done in a truly
separate buffer, not in an indirect buffer.  Indirect buffers had
caused problems with fontification, for example.
2009-05-05 13:58:13 +02:00
Carsten Dominik e1f6e949ed Clock history: Present all tasks fontified
Bernt Hansen requested this.
2009-05-05 10:23:47 +02:00
Carsten Dominik 3dcd1b1f78 Remove duplicate function 2009-05-03 21:51:00 +02:00
Carsten Dominik d3689276ec LaTeX fragments: Better error message when latex/dvipng unavailable
Thomas Morgan writes:

>  I just tried exporting an Org file with LaTeX fragments to HTML
>  on a computer that doesn't have dvipng.  There were error messages
>  in *Messages* ("Failed to create png file..."), but this wasn't
>  obvious to me at first glance because those messages were replaced
>  in the echo area by "Exporting... done" before I could see them.
>
>  So I was wondering, is there a good way to make the user aware of
>  those errors?  Maybe by printing "Exporting... done (with errors)"?

There is now a better error message when either the latex or the
dvipng program does not exist.
2009-04-30 22:52:42 +02:00
Carsten Dominik 8619361669 Reload: New key, works also in the Agenda
The key is now `C-c C-x !'.
2009-04-30 16:11:35 +02:00
Carsten Dominik 327d23f9bd Sorting: Make priority sorting work under XEmacs
The XEmacs default sorting function does not work correctly with
characters, probably because characters in XEmacs are not integers.
2009-04-30 16:02:01 +02:00
Carsten Dominik 4b6f0cf77b Optimization: Make org-end-of-subtree much faster 2009-04-24 16:45:01 +02:00
Carsten Dominik d072797344 Fix parenthesis bug 2009-04-24 14:46:28 +02:00
Carsten Dominik 4d2f9e1943 Speed up find-buffer-visiting 2009-04-24 14:38:46 +02:00
Carsten Dominik 692873550e Agenda: Try to speed up getting tags 2009-04-24 11:39:34 +02:00
Carsten Dominik 9fc88c0a0e Remember: Avoid error when before first headline in org file 2009-04-24 07:08:29 +02:00
Carsten Dominik b5775974b4 Bug fix: Catch a throw to nextfile 2009-04-23 22:40:49 +02:00
Carsten Dominik 69e6d249aa Push version number to 6.26trans 2009-04-22 09:08:13 +02:00
Carsten Dominik 73854f435d Release 6.26d 2009-04-22 06:42:17 +02:00
Carsten Dominik 595e9603ac Release 6.26c 2009-04-21 20:26:27 +02:00
Carsten Dominik 093bd3343e Statistics cookies: Disambiguate using properties.
The property COOKIE_DATA can be used to disambiguate the meaning
of statistics cookies in a headline.

This was a request by Ulf Stegemann.
2009-04-21 17:01:24 +02:00
Carsten Dominik e0cd12716a Release 6.26b 2009-04-21 10:21:36 +02:00
Carsten Dominik 9c2436713c New hooks for commands attaching themselves to the TAB key.
Three new hooks are available for commands to attach themselves to the
TAB key.
2009-04-21 09:53:07 +02:00
Bernt Hansen 187dac5f8e Add NOBLOCKING to org-default-properties
This allows setting the NOBLOCKING property by hitting C-c C-c on
the :PROPERTIES: drawer
2009-04-21 06:10:38 +02:00
Carsten Dominik b8a5f1a7fc Release 6.26a 2009-04-19 22:31:36 +02:00
Bernt Hansen 7707803c32 Fix CUSTOM_ID completion for PROPERTY drawers
The wrong name was added for CUSTOM_ID in the completion list for
properties in commit 931e13d (Custom IDs: Documentation and
improvements)
2009-04-19 22:27:56 +02:00
Carsten Dominik ba66d2c8ae Release 6.26 2009-04-19 08:38:49 +02:00
Carsten Dominik fa99e696a6 Refile: The verification function may move point.
If the target verification function decides against a target, it may
also move point to continue the search from a different location.
2009-04-19 08:17:44 +02:00
Carsten Dominik 88468ff7fe Bug fix: Place rear-nonsticky property correctly.
Stefan Monnier says that rear-nonsticky properties should only be put
at the last character of a range with equal properties, not at the
entire range.
2009-04-19 07:28:53 +02:00
Carsten Dominik 0394a77f8b EXPORT: Additional properties for setting export options
Matt Lundin writes:

>  If it's not too much trouble, I was wondering if I could
>  request the following properties to set export options for
>  subtrees:
>
>  EXPORT_AUTHOR
>  EXPORT_DATE
>
>  In addition to specifying an EXPORT_FILE and EXPORT_TITLE
>  for a subtree, I often find myself wanting to change the
>  date and author lines.
2009-04-18 18:23:40 +02:00
Carsten Dominik 4b4328e29b Refile: New function to verify a target.
The variable `org-refile-target-verify-function' can be set to a
function that will be called to verify a refile target.  The function
must return t if the target is valid.
2009-04-17 17:57:18 +02:00
Carsten Dominik 931e13d800 Custom IDs: Documentation and improvements 2009-04-17 17:25:50 +02:00
Bernt Hansen a30955b050 Call org-reveal after refiling
Sometimes refiling a task displays the next task heading after ... at the
end of a folded task.  This keeps the next task the cursor is on starting
in column 1 which feels more natural.
2009-04-16 06:01:50 +02:00
Carsten Dominik e2bdc488ee Refiling: Allow to create new nodes.
When refiling, you can now create new parent nodes on the fly.  To do
this, set the variable `org-refile-allow-creating-parent-nodes' to
`confirm'.  Then, at a refiling prompt, proceed with completion until
you have an existing heading, and then add "/new heading", i.e. a
slash followed by the new heading.  That heading will be created as a
child of the existing heading, and the entry to be refiled will end up
under that new heading.
2009-04-14 17:58:32 +02:00
Carsten Dominik a26f9b5502 LaTeX export: Format time stamps
Time stamps in LaTeX export now also honor custom time stamp formats.
Furthermore, the new option `org-export-latex-timestamp-markup' can
specify special markup for time stamps.
2009-04-13 08:53:58 +02:00
Carsten Dominik 6e9fb4550f TODO keywords: Should be case sensitive
Samuel Wales writes:

>  A lower case version of a todo kw at the beginning of a
>  headline, when in lower case, causes sort to ignore the
>  word.
>
>  Also, setting priority with shift down causes the cookie to
>  be inserted in the wrong place.

Both problems are address in this commit.
2009-04-11 08:16:41 +02:00
Bernt Hansen d0b9701549 Document more org-refile related variables in the docstring
Make it easier to find variables related to refiling by just reading
the docstring.
2009-04-10 10:26:44 +02:00
Bernt Hansen 7be5320866 Report org-version after reloading 2009-04-10 10:24:29 +02:00
Carsten Dominik 7887f9d5e5 Rename org-export-latex.el to org-latex.el
For consistency, this file gets a new name.
2009-04-09 17:25:44 +02:00
Carsten Dominik b077f71076 Support using url-hexlify 2009-04-09 15:28:06 +02:00
Carsten Dominik 99c7dacd66 Dependencies: New property NOBLOCKING
A NOBLOCKING property makes sure that an entry is never blocked by
whatever function in org-blocker-hook.
2009-04-08 17:01:54 +02:00
Carsten Dominik 627eaa32e6 Tags scanner: Fix bad bad bug
The Tags scanner was totally broken, because of a wrong setting of point.
2009-04-08 07:32:04 +02:00
Carsten Dominik 2b96f05551 Mark obsolete packages
The following contributed packages are (partially) obsolete.

org-browser-url.el
org-annotation-helper.el
  The functionality of both these packages is a subset of
  org-protocol.el, which is now part of the Emacs core
  and is recommended.

org-depend.el
  A significant fraction of the org-depend functionality
  dependence on siblings, children, and parents) is now
  built-in into the Org core.  Org-depend remains
  in the distribution as a proof-of-concept fro complex
  and remote dependencies.

org-interactive-query.el
  I believe that much of what this package was build for
  is now available with tag filtering.

These packages are now marked in org-modules as such.
2009-04-07 21:06:43 +02:00
Carsten Dominik bc6f83e966 HTML export: moved functions to separate file. 2009-04-07 20:00:31 +02:00
Carsten Dominik b6c7e8054e iCalendar and XOXO export: Functions moved to new files. 2009-04-07 19:08:24 +02:00
Carsten Dominik 9682e038ff ASCII export: moved functions to new file, org-ascii.el 2009-04-07 18:43:43 +02:00
Carsten Dominik ef2ee3df5d Version number pushed to 6.25trans 2009-04-07 18:43:42 +02:00
Carsten Dominik 61530a1db1 Reload: Only load files that were loaded before
The command org-reload did not only reload any loaded files, but all
lisp files in the Org distribution.  Also, it actually never reloaded
any files from the contrib directory.  Both of these problems are now
fixed.
2009-04-07 18:43:35 +02:00
Carsten Dominik 9b594be48e Visibility cycling: New hook called before the change of visibility.
This new hook `org-pre-cycle-hook' is the companion to
`org-cycle-hook'.

Patch by Andreas Butzlaff.
2009-04-06 07:15:27 +02:00
Carsten Dominik eef47f820f Release 6.25d 2009-04-05 15:29:45 +02:00
Carsten Dominik 56a8ae9414 Compatibility: Make `org-reload' work on XEmacs.
This uses ideas by Tony E. Bennett.
2009-04-05 15:24:40 +02:00
Carsten Dominik c9675ebc96 Mapping: More user control over the location from where mapping continues.
Mapping call a function for each matching entry.  So far this has
always assumed that the entry stays in the buffer and search can
continue from there.  However, when the mapper function removes the
tree, more control is needed to specify from where the search should
continue.

The action function handed to the mapping function can now set the
variable `org-map-continue-from' to the position from where mapping
should continue.
2009-04-05 13:41:59 +02:00
Carsten Dominik e2eebc83a1 Release 6.25c 2009-04-05 08:45:39 +02:00
Carsten Dominik b5c9ebef58 TODO states: Case-sensitive matching during TODO changes 2009-04-05 08:42:08 +02:00
Carsten Dominik 9936b09ec3 Links: Fix opening links to current file from a string.
Patch by Andreas Burtzlaff.
2009-04-04 04:57:08 +02:00
Carsten Dominik 979e7c8573 Refile: Allow to refile to top-level entries.
By completing only the file name, you can now refile as a top-level
entry.
2009-04-03 22:27:18 +02:00
Carsten Dominik 8cc49120fa Tags scan: Also find the first line in a buffer. 2nd attempt. 2009-04-03 20:41:36 +02:00
Carsten Dominik 5624263d97 Release 6.25b 2009-04-03 19:18:41 +02:00
Carsten Dominik b1c6a40772 Revert "Tags scan: Also find the first line in a buffer"
This reverts commit 1fbe1f7f50.
2009-04-03 19:17:36 +02:00
Carsten Dominik c27fe63388 Dependencies: Improve TODO dependency checking
Daniel Hochheimer writes:

> It seems there is a bug in the handling of simple dependencies.
> I think an example tree is the best solution, to show you the bug:
>
> * Projects
> #+CATEGORY: Projects
> *** TODO foo bar project
>   :PROPERTIES:
>   :ORDERED:  t
>   :END:
> ***** TODO foo subproject        :FooSubproject:
> ******* TODO Task 1
> ***** TODO bar subproject        :BarSubproject:
> ******* TODO Task 1
>
> This is in my .emacs file:
> (setq org-enforce-todo-dependencies t)
> (setq org-agenda-dim-blocked-tasks 'invisible)
> (setq org-odd-levels-only t)
>
> the expected global todo agenda view imho is:
>
> Projects:    Task 1       :FooSubproject:
>
> but actual it is unfortunately:
>
> Projects:    Task 1       :FooSubproject:
> Projects:    Task 1       :BarSubproject:
>
>
> Imho "Task 1" from "bar subproject" should not be visible,
> because "bar subproject " is blocked because of the
> ORDERED property (therefore it's childs should be blocked, too)
>
>
> Is it easy / possible to fix this bug? My whole GTD system is
> heavily based on such project / subproject-Constructs. But with
> this bug my global todo agenda view is unfortunately "polluted"
> a little bit with tasks from projects that shouldn't be active.

After some back and forth, Daniel convinced me, and this is now done
correctly.
2009-04-03 17:24:48 +02:00
Carsten Dominik 1426f8bcfd Release 6.25a 2009-04-02 18:24:52 +02:00
Carsten Dominik 1fbe1f7f50 Tags scan: Also find the first line in a buffer 2009-04-02 18:16:35 +02:00
Carsten Dominik aeb5cb98d6 Release 6.25 2009-04-01 16:00:39 +02:00
Carsten Dominik a36ebd79c8 Bugfix: Add file name only once to refile targets
With the setting

   (setq org-refile-use-outline-path 'file)

the file names ended up twice, like

    "xxx.org/level 1/level 2 (xxx.org)"

Now the second occurrence is omitted.
2009-04-01 15:49:35 +02:00
Carsten Dominik ef738cf38a Fix customization types: integer instead of number, where appropriate 2009-04-01 13:58:27 +02:00
Carsten Dominik 3d9a05b81f Minor change 2009-04-01 13:30:49 +02:00
Carsten Dominik d9a03c553a HTML export: Allow modification of table attributes.
The #+ATTR_HTML line can now be used to set attributes for the
following table.
2009-03-31 13:00:34 +02:00
Carsten Dominik 167a7bfdfe Adding new file org-protocol.el 2009-03-31 07:55:08 +02:00
Carsten Dominik 2409f4bb89 Bugfix 2009-03-30 22:53:27 +02:00
Carsten Dominik c442366e23 Minor fix. 2009-03-30 20:02:07 +02:00
Carsten Dominik 95f4088990 Bugfix: Swapping the last two subtrees in a file.
Rustom Mody writes:

>  The last two lines of my org file are
>
>  *** Vishnu Sahasranam
>  *** Ram Navami
>
>  without a newline at the end
>
>  Trying to reorder these two lines I do a M-S-down on second last
>  line I get
>
>  *** Ram Navami*** Vishnu Sahasranam
2009-03-30 17:36:55 +02:00
Carsten Dominik cd6907beb9 Inline tasks: New module org-inlinetask.el
This module implements inline tasks in Org-mode.  Inline tasks are
tasks that have all the properties of normal outline nodes, including
the ability to store meta data like scheduling dates, TODO state, tags
and properties.  However, these nodes are treated specially by the
visibility cycling and export commands.
2009-03-30 13:15:36 +02:00
Carsten Dominik e341a34297 intermediate 2009-03-30 11:58:43 +02:00
Carsten Dominik 49878b0387 Emphasis: Allow braces in pre and post match, important for LaTeX footnotes. 2009-03-30 11:49:10 +02:00
Carsten Dominik 13b2f06ba4 DocBook export: Installed the new DocBook exporter by Baoqiu Cui 2009-03-30 07:20:06 +02:00
Carsten Dominik a7ed5b9b76 Citations: Use RefTeX to insert citations
RefTeX can now be used to create a citation in Org-mode buffers.
Setup the buffer with #+BIBLIOGRAPHY: bibbase style

and create citations with `C-c C-x ['.
2009-03-28 14:57:10 +01:00
Carsten Dominik a26aa3777e Dependencies: Fix bug in blocker hook
The blocker hook did block entries if an older sibling had TODO children.
2009-03-27 15:02:41 +01:00
Carsten Dominik bf1a21ce81 Bugfix: org-ido-switchb
Chris Leyon writes:

>  For some semi-short time, org-ido-switchb has been broken, complaining
>  about wrong type arguments.  The attached one-line patch corrects
>  this.

Patch by Chris fixes this problem.
2009-03-26 17:15:36 +01:00
Carsten Dominik c7e078eeaa Links: Use buffer name as link description in w3-mode buffers 2009-03-26 05:05:42 +01:00
Carsten Dominik 72908042c3 org-feed.el: re-written 2009-03-25 22:45:57 +01:00
Carsten Dominik 70b975f89c Agenda: Fix bugs with FILETAGS
Harri Kiiskinen writes:

>  It seems that org-use-tag-inheritance set to regexp, the use of
>  #+FILETAGS: and org-todo-list do not work together. It seems, that a
>  regexp in org-use-tag-inheritance matching a tag set in #+FILETAGS
>  causes this error:
>
>  Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>   string-match("^ +" nil)
>  [...]
>  when org-use-tag-inheritance is set to regexp "te"
>  with this file:
>
>  --------
>  #+STARTUP:
>  #+FILETAGS: tea
>  * TODO testing 		       :test:
>  ** TODO too			       :data:
>  -----
>
>  When the regexp is "tes", so that the FILETAG does not match,
>  org-todo-list produces a correct list.

This is indeed a bug.  The all to `org-get-tags-at' does change the
match data if there is a match for the inheritance regexp.  This
problem is now avoided by first extracting (match-string 1), and then
getting the tags.

Studying this bug also exposed another one, namely that file tags are
not marked as inherited tags.  This is now fixed, immediately when
the #+FILETAGS line is parsed.
2009-03-25 09:20:12 +01:00
Carsten Dominik b6e7a1c5ca New file lisp/org-feed.el 2009-03-24 12:28:32 +01:00
Carsten Dominik 19f700a606 Bugfix: Add explamation mark to post-emphasis characters
Reported by Baoqiu Cui.
2009-03-23 11:14:29 +01:00
Carsten Dominik 1aabee4a8a Read-date: New hook
The new hook `org-read-date-minibuffer-setup-hook'.
2009-03-22 17:04:46 +01:00
Carsten Dominik d6e81d3150 Documentation: Better info about S-cursor keys 2009-03-21 18:38:58 +01:00
Carsten Dominik c7718a1999 Tables: Make M-a and M-e go to beginning and end of table field
This commit overloads the sentence commands M-a and M-e so that they
will work on table fields in tables.
2009-03-21 18:25:11 +01:00
Carsten Dominik d9d7398edd Column view: Exclude archived trees, for speed. 2009-03-21 18:25:01 +01:00
Carsten Dominik 7924dcb1bf New face for items switched in agenda to DONE.
Items are listed in the agenda sometimes in bright colors, to draw
attention to important tasks or deadlines.  When such an item is
switched to DONE, the state change is reflected by the new TODO
keyword, but the line itself might still be bright.  Org de-emphasizes
the line by changing the face of the line.  It used to change it to
the face `org-done', but now we use a new, independent face
`org-agenda-done'.
2009-03-21 18:25:01 +01:00
Carsten Dominik 132dc95042 Agenda: No longer indent matching sublevels by dots.
When a tags/property match does match an entry and its sublevels, the
sublevels used to be indented by dots, to indicate that the matches
likely result from tag inheritance.  This is now no longer the
default, but you can get it back with

   (setq org-tags-match-list-sublevels 'indented)
2009-03-21 18:25:01 +01:00
Carsten Dominik cf6cdd5c44 Checkboxes: New face
Checkboxes not have their own face.  This can be used to make them
look different.  Default is still just bold.
2009-03-20 14:09:10 +01:00
Carsten Dominik d48a1e49e2 Refile: Don't error for self-refile when only going to a place
Refiling checks if an entry is refiled to itself.  Of course, this
check is irrelevant when using refile to jump to a location.
2009-03-19 10:48:43 +01:00
Carsten Dominik aaedf7d01a Stuck projects: Search subtree of un-stuck projects
This commit implements an important change:  When, during a
stuck-project search, a project tree is identified as not stuck, so
far the search would continue after the end of the project tree.  From
now on, the search continues in the subtree, so that stuck subprojects
can still be identified.
2009-03-19 10:47:04 +01:00
Carsten Dominik 5a286e45da Bugfix: Make mouse click on tags do a tags search.
This used to work, but the tags search part was no longer reached
because of a bug in the sequence of checking regular expressions.
2009-03-17 11:59:51 +01:00
Carsten Dominik ad11d7f675 Centering: Implement markup for centered text. 2009-03-16 22:14:15 +01:00
Carsten Dominik e217a11329 Docstrings: Fix typos. 2009-03-15 14:44:52 +01:00
Carsten Dominik fd4670fe67 Sparse tree: New tree for times after a certain date.
Keys are `C-c / a', this command is for symmetry with `C-c / b'.
2009-03-15 14:39:48 +01:00
Carsten Dominik 3d2e1c0f04 Notes: Remove empty drawer if note is aborted.
When a note is taken, the new drawer is created before the note is
taken.  Now the drawer is removed again if the note gets aborted and
if the drawer is empty.
2009-03-15 14:04:39 +01:00
Carsten Dominik e56c7097f4 Bugfix: Adding stars with C-c *
When calling C-c * before the first headline, the results where wrong.
Fixed now.
2009-03-15 12:27:49 +01:00
Carsten Dominik e5c0da5c48 Date prompt: Use own history
The date prompt now has its own history.
2009-03-15 12:19:12 +01:00
Bastien Guerry 730ef5f5f6 Fix bug in `org-toggle-fixed-width-section'.
Fixed-width sections start with a column followed by a space.
This function now toggle fixed-width sections accordingly to
the manual.
2009-03-14 17:33:15 +01:00
Carsten Dominik 722fc9a490 Version number to 6.24trans 2009-03-14 08:03:10 +01:00
Carsten Dominik acfcb14c82 Time stamps: Changing time ranges as a block.
Anupam Sengupta writes:

>  I routinely use time ranges (and occasionally time-stamp ranges)
>  in my org files to document the scheduled block of time for a
>  meeting or activity.  As an example, I will mark meetings as:
>
>  * A Meeting
>   <2009-03-12 Thu 10:00-11:00>
>
>  As often happens with meetings, rescheduling needs to be done and
>  I use S-<up> or S-<down> on the time-stamp to make the
>  modifications.  While this works fine, it usually leads to a
>  duplication when the *time* part of the time-stamp needs to be
>  changed.
>
>  For the same example above, if the time-block has now changed to
>  11:00-12:00, then I need to do S-<up> on both the "10:00" and the
>  "11:00" string.  I.e,
>
>
>  * A Meeting
>   <2009-03-12 Thu 11:00-11:00>
>                    ^
>                    +---------------- After the first S-<up>
>
>  * A Meeting
>   <2009-03-12 Thu 11:00-12:00>
>                          ^
>                          +---------------- After the second S-<up>
>
>  Can we have a feature (with a toggle option perhaps) which would
>  *move* the block (i.e., both time entries) by the same amount
>  when either one is moved in the same direction. I.e., the
>  proposal is to have:
>
>  * A Meeting
>   <2009-03-12 Thu 11:00-12:00>
>                    ^     ^
>                    |     |
>                    |     +---------- Automatically shifted
>                    +---------------- After the S-<up>

This is in fact how changing time works in many applications, and
it does make sense here as well.  The commits implements this
change.

It also implements a way to change the start time of an entry from
the agenda.  The date is normally changed with S-right/left.
Now, if you add a C-u prefix, the hour will be changed.  If you
immediately press S-right/left again, hours will continue to be
changed.

A double prefix will do the same for minutes.
2009-03-14 08:02:09 +01:00
Carsten Dominik c8b6a9cc60 Release 6.24c 2009-03-12 12:51:17 +01:00
Carsten Dominik 6cda490b12 Cloning tasks
New command to clone tasks, with time stamps shifted.
2009-03-11 15:13:59 +01:00
Carsten Dominik 680d8cb440 Release 6.24b 2009-03-10 17:50:17 +01:00
Carsten Dominik a2a7550591 Bugfix: Make sure TODO keyword is inserted at the right position
Wanrong Lin writes:

>  Suppose I have an org file with following lines:
>
>  * Test1
>  Test2
>
>  Now if I put the cursor at the beginning of the "Test2" line and
>  press "M-S-RET"  (Alt-Shift-Return on my machine), I got this:
>
>  * Test1
>  * Test2TODO
>
>  The "TODO" keyword was inserted at the end instead of the
>  beginning of the task text. This seems a bug to me.

Yes, this is a bug that occurs in the special case when the
heading stars are inserted in front of an existing line.  The
commit adds code to make sure the correct position is used.
2009-03-10 17:27:10 +01:00
Carsten Dominik 7e8a387184 Release 6.24a 2009-03-09 05:37:09 +01:00
Carsten Dominik 4782607781 Minor fix 2009-03-07 07:50:58 +01:00
Carsten Dominik 20828f3176 Release 6.24 2009-03-05 21:11:18 +01:00
Carsten Dominik 5faf13a071 Completion: Add missing #+ keywords for completion 2009-03-05 10:18:26 +01:00
Carsten Dominik f41f942e53 Adding org-collector.el as a contributed package 2009-03-04 17:19:51 +01:00
Carsten Dominik f9d05d0317 Bug fix 2009-03-04 13:28:13 +01:00
Carsten Dominik fc25bbd76f Minor fix 2009-03-04 11:55:28 +01:00
Carsten Dominik d685f0fc87 Mapping: Remove inheritance penalty when scanning for tags
Running a command that would use the tag scanner could suffer a large
slow-down when many entries match, because the tag list with
inheritance forces each matching entry to walk the hierarchy.

Now, it is possible to avoid this penalty by using the variable
`org-scanner-tags', or by binding the `org-trust-scanner-tags' to t
around calls to `org-get-tags-at' and `org-entry-properties' when
retrieving tags and properties for the current entry in the
scanner/mapper.
2009-03-04 11:38:02 +01:00
Carsten Dominik 3d02600149 Tags: Use internal tags list for agenda
An agenda item carries a full list of tags.  The list must normally be
made, but not during a tags scan.  So now the tags scan does pass on
its list instead, which should make things faster.
2009-03-04 09:46:19 +01:00
Carsten Dominik 7cd006b1d7 Tags: Make matches case-sensitive
Tags matches used to be case-insensitive.  But this causes too many
problems in the code, o from now on, tag matches will be
case-sensitive.
2009-03-04 09:21:45 +01:00
Carsten Dominik 3a959f9d30 Agenda: Fix bug with tag inheritance
Jeff Mickey writes:

>  Hey all,
>
>  To reproduce:
>
>  * TODO Make Bicycle :project:workshop:
>  ** TODO Buy stuff
>  ** TODO Build stuff
>  ** TODO Test stuff
>
>  (setq org-use-tag-inheritance t)
>  (setq org-tags-exclude-from-inheritance '("project"))
>
>  <C-a m> to type in a match string to search, I type in "project"
>
>  I expected to see:
>  TODO Make Bicycle
>
>  I saw:
>  TODO Make Bicycle
>  .TODO Buy stuff
>  .TODO Build stuff
>  .TODO Test stuff
>
>  I assume this isn't what is supposed to happen.  I'm currently at work
>  so I can't investigate and provide a diff, but it seems like there
>  needs to be a check in org.el:10144:org-get-tags-at to remove tags
>  that are explicitly excluded from inheritance.

This commit fixes the bug.
2009-03-04 09:11:39 +01:00
Carsten Dominik 3b396b0e77 Bugfix: Don't add CLOSED timestamp when repeating 2009-03-04 00:18:43 +01:00
Carsten Dominik 42cbb29b3e Documentation fixes 2009-03-03 18:27:11 +01:00
Carsten Dominik d8e4a35974 HTML Export: Make IDs valid
uuidgen ids may start with a number and therefore are not valid names
in HTML.  Therefore we now use and "ID-" prefix for such IDs when
exporting to HTML.
2009-03-03 14:06:11 +01:00
Carsten Dominik d3d2b3e835 Priorities: Allow specific faces for priority cookies
The variable org-priority-faces can now be used to set special faces
for different priority cookies.

Also, in the agenda, the default is now to fontify only the priority
cookie, not the entire task.  See the variable
`org-agenda-fontify-priorities'.
2009-03-03 12:44:53 +01:00
Carsten Dominik a5b2a0c759 Documentation: Improve and collect documentation about the match view 2009-03-03 10:20:23 +01:00
Carsten Dominik f33787b7a8 Archiving: Fix new bug with archiving when heading is not given.
Reported by Ed Hirgelt.
2009-03-02 21:52:00 +01:00
Carsten Dominik c8fdb461d0 Docs: minor improvements 2009-03-01 16:48:16 +01:00
Carsten Dominik bb7db5f96f New file: Taru Karttunen's org-exp-bibtex.el 2009-03-01 16:47:51 +01:00
Carsten Dominik 89e0d3608d Tags: Fix implementation of line breaks in fast tag interface
Patch by Christopher Suckling
2009-03-01 13:56:48 +01:00
Carsten Dominik 06c40a9ad7 Lists: No automatic empty lines if empty lines terminate the list
When inserting new list entries, sometime empty lines will be
inserted automatically.  This, however, makes only sense if empty
lines do not terminate the list, as configured by
`org-empty-line-terminates-plain-lists'.

This commit makes sure that, if
`org-empty-line-terminates-plain-lists' is set, automatic empty lines
will never be inserted.
2009-02-26 22:30:23 +01:00
Carsten Dominik c91bca9d1c Push version number to 6.23trans 2009-02-26 21:32:04 +01:00
Carsten Dominik 0a5c3f892d Add a docstring to `org-run-like-in-org-mode' 2009-02-26 15:52:45 +01:00
Carsten Dominik 7455d5aaf8 Improve some docstrings 2009-02-26 13:39:30 +01:00
Carsten Dominik 8b0d614702 Undo: Cluster self-insert characters for undo
Undo will now remove up to 20 characters typed consecutively, just
like Emacs normally does.  We need a special implementation for this
because Org has its own self-insert command.

The code for doing this is a patch by Martin Pohlack.
2009-02-25 12:46:09 +01:00
Carsten Dominik df0a5baf5d Reload: Keyboard and menu access to the reload command
`org-reload' is now accessible with `C-c C-x r', and through the menu.
2009-02-25 12:41:04 +01:00
Carsten Dominik 3c06ae6000 Export: Implement macro replacement during export
A line: #+MARCO: name    replacement text

can be referenced by {{{name}}}.  As special cases, {{{title}}} will
reference #+TITLE, and similar with similar lines.
2009-02-23 14:49:29 +01:00
Carsten Dominik 6c8beec225 Release 6.23b 2009-02-22 18:37:24 +01:00
Carsten Dominik 405186a16a Editing: Allow separate special settings for C-a and C-e
Alan E. Davis writes:

>  I have found the behavior of the cursor at the beginning of
>  the line to be clumsy, and troublesome.  I cannot easily set
>  a region, for example.
>
>  However, the special setting of ctrl-e is extremely useful.
>
>  A single variable controls these two variables, in a unified
>  way.  This variable also has two aliases.  The aliases are
>  not recognized by the functions that are affected by these
>  variables in org.el: org-beginning-of-line, and
>  org-end-of-line.  As far as I can see, there seems no reason
>  to keep these two aliased variables as references to a
>  single unified variable, insofar as the underlying code is
>  concerned.
>
>  Because, at least for me, the behaviors have sufficiently
>  distinct behaviors, I propose these should be separated.

This is a reasonable request, and this commit implements it.
To have separate values, set org-special-ctrl-a/e to a cons
cell with the setting for C-a in the car and the setting for
C-e in the cdr.
2009-02-22 15:08:33 +01:00
Carsten Dominik 4138be27ba Bugfix: Avoid unnecessary empty line inserted by changing TODO entry.
This commit fixes the bug discussed in:

   http://thread.gmane.org/gmane.emacs.orgmode/11106

The reason for the empty line being inserted is subtle:

The function `org-add-planning-info' is used to add and remove planning
info time stamps (deadline, scheduled, closed) from the second line in
an entry.  Usually, the function is called to add something, with an
optional argument to also remove something.  In doing so, it assumes
that the second line must be there, and if it is not there, it creates
it.

Now, sometimes `org-add-planning-info' is called only to remove a time
stamp.  In this particular case it was to remove the CLOSED time
stamp.  This happens when the state is changed from a DONE or nil
state to a not-done state.  The idea behind this is that maybe to
entry was marked earlier as DONE, but the user has changed his mind,
so the timestamp recording when it was finished should be removed.

So in this case, an empty line was created, assuming that there would
be something to add - only nothing was added.

This commit arranges for checking if there is something to add before
creating an empty line.
2009-02-22 13:44:01 +01:00
Carsten Dominik 9989e5f030 orgstruct++-mode: Make more visible in docs, parse item body
orgstruct++-mode is an enhanced version of orgstruct mode that
also imports all indentation and paragraph settings into the major
mode.  Furthermore, it now allows to use M-RET and M-S-RET in items
after the first line.  The latter change was a request by Austin
Frank.
2009-02-22 12:42:20 +01:00
Carsten Dominik 482216f300 Release 6.23a 2009-02-21 15:18:39 +01:00
Carsten Dominik 825efa1ef9 Better way to load uncompiled code for backtrace production
The new command `org-reload' allows to reload all Org lisp files.
By default it will load compiled files if these are available.  If
not, or when called with a C-u prefix argument, uncompiled code will
be loaded.  This is good for producing a meaningful backtrace when an
error occurs.
2009-02-21 08:09:47 +01:00
Carsten Dominik 01a061c2fa Lists: Make promotion and demotion work on regions. 2009-02-20 17:20:46 +01:00
Carsten Dominik 82f2fca21e Release 6.23 2009-02-20 11:16:03 +01:00
Carsten Dominik 40a38050fd Agenda: Fix remote editing of priorities from agenda.
There was a bug when the entry to be edited was invisible.
2009-02-20 09:30:31 +01:00
Carsten Dominik 3c121459b4 Completion: Allow spaces in some fields
Org has a number of places where the value read by completing-read may
contains spaces.  For these occasions, the space character needs to be
a normal character.

The recent support for ido.el invalidated these special cases because
ido has its own way of dealing with spaces.

This commit now makes sure that ido is off for the critical cases
where completion must allow spaces.
2009-02-20 08:12:47 +01:00
Carsten Dominik 4db9120c23 Refile: Turn off partial-completion-mode.
Partial completion mode did mess up completion of refile targets.  So
we just force it off.
2009-02-20 06:55:31 +01:00
Carsten Dominik 08788604e7 Agenda: Fix bug with dimming blocked tasks when subtree is hidden.
Reported by Paul Mead.
2009-02-19 15:47:26 +01:00
Carsten Dominik 06056781fe Agenda: Do not make tasks invisible if they are blocked by checkboxes.
John Rakestraw writes:

>  I noticed today that, at least in my set-up, setting these variables
>  this way:
>
>    (setq org-agenda-dim-blocked-tasks 'invisible)
>    (setq org-enforce-todo-checkbox-dependencies t)
>
>  means that a TODO task with checkboxes doesn't get included in the
>  agenda. However, the sub-tasks in the checkbox list don't get included,
>  either. So the TODO task with checkboxes doesn't show up in the agenda.
>
>  It makes sense given the way the variables work. However, I wonder if
>  it makes more sense for a task with checklisted sub-tasks to be
>  included in the agenda so that the tasks and sub-tasks don't get lost.
>  Or, to put the point slightly differently, I think that a TODO that's
>  blocked because it has dependent TODOs might be treated differently in
>  agenda listings than a TODO that's blocked because it has dependent
>  checklist items.
>
>  Not a big deal to me because I don't typically use checkboxes for TODO
>  items. But I thought I'd raise it for consideration.

I agree with this view and the commit implements exactly this.
2009-02-19 11:12:52 +01:00
Carsten Dominik 6ab17902aa Bugfix: Protect line indentation in orgstruct-mode
(org-indent-line-function): Make sure this works even if there is not
`org-drawer-regexp' defined.  This can happen when orgstruct-mode is
used in a non-org buffer.
2009-02-19 09:46:34 +01:00
Carsten Dominik 8b31b5e798 Tags: Implement newlines for fast tag interface
This commit makes it possible to force new lines and even empty lines
in the fast tag selection interface, either by splitting tags
definition into several lines, or by inserting "\n" into the tags
list, or by inserting (:newline) into the tags alist.

This is largely a patch from Christopher Suckling
2009-02-19 09:43:51 +01:00
Carsten Dominik e6e3d97797 Checkboxes: Enforce sequential processing with ORDERED property
When the ORDERED property of an entry is set, checkboxes must be
completed in sequence.
2009-02-19 09:13:08 +01:00
Carsten Dominik c0cc9181db Added org-R.el to contrib/lisp/ 2009-02-18 17:23:47 +01:00
Carsten Dominik 113bec9eeb Completion: Fix some issues with ido 2009-02-18 08:10:17 +01:00
Carsten Dominik 18a07a276d Deadlines: Deal with "incorrect" positioning of warning period 2009-02-18 01:13:11 +01:00
Carsten Dominik 950334edb3 Completion: Turn off ido.el for completing outline paths in steps. 2009-02-17 22:36:48 +01:00
Carsten Dominik a6c8fac4f9 Agenda: Make sure all entries have a todo-state property
This is needed for sorting, and I had forgotten to add this property
to tag scans, and to sexps.

Reported by Christopher Suckling.
2009-02-16 07:52:41 +01:00
Carsten Dominik 626e47ce7c Docs: Improve consistency of checkbox command description. 2009-02-15 22:34:19 +01:00
Carsten Dominik 43f9c50665 Bugfix: Make prefix arg with C-a, C-n work correctly.
The special implementation did not look at prefix arguments.

Reported by Ken Harris.
2009-02-15 22:07:59 +01:00
Carsten Dominik 6f2a247611 Bugfix: Make cycling work in plain list item at end of file
Reported by Wanrong Lin.
2009-02-15 21:32:54 +01:00
Carsten Dominik c595453eb6 Indentation: Improvements around drawers
The :END: line is now indented like the line starting the drawer.  And
the first line after the drawer is now indented like the :END: line.

The latter problem was pointed out by Christopher Suckling.
2009-02-15 20:15:13 +01:00
Carsten Dominik cac8788f35 Clocking: Capture clock in LOGBOOK drawer, abandon CLOCK drawer
Clock lines are now by default captured into the drawer LOGBOOK.  This
means that, if state notes are also captured into a drawer, they will
be mixed with notes.
2009-02-15 09:22:14 +01:00
Carsten Dominik 245f589c57 Fix some compiler problems 2009-02-13 23:04:23 +01:00
Carsten Dominik 1f1574c9a2 Hooks: New system to tap into context-sensitive keys
Org-mode has many context-sensitive keys.  A new hook system now
allows add-ons to add functionality to these keys for contexts that
are special for the add-on.

For example, if an add-on wants to use C-c C-c in a special context,
if must add a function to `org-ctrl-c-ctrl-c-hook' that will check for
the context and run its command when the context is present.
2009-02-13 22:59:37 +01:00
Carsten Dominik 2ba674092e Make autoloading of org-plot.el more stable 2009-02-13 17:34:34 +01:00
Carsten Dominik 220be33da3 Doc fixes 2009-02-13 07:51:12 +01:00
Carsten Dominik 492a5b5ea9 Version number: Push to 6.22trans 2009-02-13 07:45:42 +01:00
Carsten Dominik 304cb36530 Reverting: also handle id locations.
Saving all buffers will now also safe the id locations.
Reverting all buffers will now also reload the id locations.
2009-02-13 07:45:36 +01:00
Carsten Dominik edd2aab5ee Document the special meaning of LEVEL when `org-odd-levels-only' is used. 2009-02-12 21:22:26 +01:00
Carsten Dominik f939957dc1 State Notes: Allow capturing state notes in a drawer, LOGBOOK
Wanrong Lin writes:

     2. Can we put all of those state change history logging messages
        into a drawer like "STATE-HIST" (when the drawer is defined in
        org-drawers), so it is less intrusive in the file?

Yes we can.  This commit provides this functionality.  It introduces a
new drawer, LOGBOOK.  When the variable
`org-log-state-notes-into-drawer' is set, state change time stamps and
notes will go into this drawer, or another one specified by that
variable.
2009-02-12 18:29:56 +01:00
Carsten Dominik a625558f07 State Notes: Fix indentation when adding to end
When the variable org-log-states-order-reversed was nil, so that notes
would be appended to the list of notes, the indentation of the item
was wrong.  This commit fixes the problem.
2009-02-12 18:29:56 +01:00
Carsten Dominik c32de18ae0 Allow previous state to be shown in state change log notes.
Wanrong Lin writes:

     My TODO sequence is set up as following:

     (setq org-todo-keywords '((sequence "TODO(t)" "STARTED(s!)"
     "WAITING(w@/!)"      "MAYBE(m/!)" "DELEGATED(g@/!)"
     "DEFERRED(d!/!)" "HOLD(h!/!)" "|" "DONE(x)"      "CANCELED(c)")))

     The state change logging is great, but I wonder whether we can
     further improve it:

     1. Can we also include the original state in the log message?
     i.e.: instead of having      - State "DEFERRED"   [2009-02-11 Wed 11:38]
     we can have
     - State "DEFERRED"  from "HOLD" [2009-02-11 Wed 11:38]

     The message will be clearer, and useful even when somebody edited
     the TODO keyword in place without using the "org-todo" command
     (in that case, simply looking at all the "destination states" in
     the log message does not give us the right information).

This strikes me like a good idea, so I have implemented it with this
commit.
2009-02-12 09:48:07 +01:00
Carsten Dominik bc5b0056e7 Release 6.22b 2009-02-10 20:21:33 +01:00
Carsten Dominik ce42b4be86 Agenda: New command to revert all Org-mode buffers from files 2009-02-10 20:21:27 +01:00
Carsten Dominik e592c77846 Release 6.22a 2009-02-10 10:11:23 +01:00
Carsten Dominik 8d213584ff Release 6.22 2009-02-10 08:23:35 +01:00
Carsten Dominik b00df4025e Label `org-tab-follows-link' as deprecated. 2009-02-09 12:46:31 +01:00
Carsten Dominik 2d795f8ae0 TODO: Make in-buffer keyword setting more general
Now any line like

  #+XYZ_TODO:

will be assumed to define some kind of TODO chain.  If the handlers in
`org-todo-setup-filter-hook' do not do anything with this sequence, it
will be treated as `sequence'.
2009-02-09 12:36:06 +01:00
Carsten Dominik aeba61e640 Implement org-return-follows-link directly in `org-return'.
This used to depend on the mouse map, but I no longer think this is a
good idea.  So the function org-return now directly handles this case.
2009-02-09 12:15:19 +01:00
Carsten Dominik 56692965b7 Add Tom Breton's org-choose.el as a contributed package 2009-02-08 13:57:37 +01:00
Bernt Hansen 3015cd1fb7 Fix grammar in description of org-refile-targets 2009-02-07 16:47:25 +01:00
Carsten Dominik 5f68200625 Tables: Allow sorting inactive time stamps.
Hsui-Khuern Tang writes:

   I have a table where one column consists of inactive dates, such as
   this:

     | Date             | OK? |
     |------------------+-----|
     | [2009-01-30 Fri] | x   |
     | [2009-01-27 Tue] | x   |
     | [2009-01-28 Wed] | x   |

   I can't sort the table by that column.  If I change the dates to
   active, then sorting (by time) works fine.  Is this behavior
   intentional?

Yes, intentional, because the same routine also does sorting of
entries and should prefer active time stamps.  However, I realize that
we can still look for an inactive time stamp when no active one can be
found.   This is what this commit implements.
2009-02-06 16:50:35 +01:00
Carsten Dominik c1ecf88788 Improve documentation of `org-directory'. 2009-02-06 15:01:02 +01:00
Carsten Dominik 44ed0394c4 Export: Stop LaTeX fragment processing in protected examples
LaTeX fragments like math environments were still matched inside
protected code examples.  Fixed now.
2009-02-06 08:24:18 +01:00
Carsten Dominik 723ac9ab57 Pullback: org-return-follows-link back to nil.
Setting this to t causes some issues which I need to think more
carefully about.
2009-02-04 23:48:36 +01:00
Carsten Dominik be9557bf44 Allow chaining sibling's scheduled time.
Patch by Andrew Hyatt

Andrew Hyatt writes:

    I like to schedule items I'm supposed to be working on, so I like
    when I complete a task that the next sibling task gets the
    schedule from the previous one.  This implements that kind of
    workflow with the org-depend contrib package.

    I've also added a few methods to org.el to make working with
    schedules & deadlines easier.
2009-02-04 15:37:58 +01:00
Carsten Dominik 93ec228f36 Push version number to 6.21trans 2009-02-03 00:06:22 +01:00
Carsten Dominik c81bdc7757 Fix typos. 2009-02-02 22:19:59 +01:00
Carsten Dominik 0b424cb238 Release 6.21b 2009-02-02 21:42:20 +01:00
Carsten Dominik 0edabb9408 TODO statistics: Fix bug with counting and hook calling
When there were multiple cookies in a headline, the counting would be
double.  Also the hook got called always, even if no cookie was
present.
Fixed now.
2009-02-02 21:40:29 +01:00
Carsten Dominik 2fa17ebf74 Release 6.21a 2009-02-02 14:23:54 +01:00
Carsten Dominik c11a0b2de9 Dependencies: Make them work reliably even if variables are set too late.
Turns out a number of people set their variables too late so that
activating dependencies does not work correctly.  We now double-check
in the mode hook that everything is in order.....
2009-02-02 13:47:18 +01:00
Carsten Dominik 193fab0788 Release 6.21 2009-02-02 12:18:44 +01:00
Carsten Dominik 2949012f0f Change default values of some variables. 2009-02-01 23:49:03 +01:00
Carsten Dominik c1296074f2 Release 6.20i 2009-02-01 00:16:43 +01:00
Carsten Dominik 924110aecc Release 6.20h 2009-01-30 18:31:37 +01:00
Carsten Dominik dc6658d9ed Blocking: Make it possible that checkboxes block TODO state changes
See the documentation for details.
2009-01-30 18:31:31 +01:00
Carsten Dominik f99b00f61c Release 6.20g 2009-01-30 09:20:41 +01:00
Carsten Dominik bb3570eae9 Release 6.20f 2009-01-29 15:29:07 +01:00
Carsten Dominik 11fa49dd21 Release 6.20e 2009-01-29 14:13:30 +01:00
Carsten Dominik 317f08c69b Release 6.20d 2009-01-29 10:38:35 +01:00
Carsten Dominik e793fd8831 Dependencies: Key bindings and Menu entries
This commit adds a key (`C-c C-x o') to toggle the ORDERED property of
a tree.  And it adds menu entries for doing this, which also reflect
the current state of the tree.
2009-01-29 10:23:09 +01:00
Carsten Dominik 80514f743e Dependencies: Add completion support for ORDERED. 2009-01-28 17:22:59 +01:00
Carsten Dominik a79d36f2aa Statistics: Update more than one statistics cookie
When a line now contains several statistics cookies, all of them will
be updated.

Jari Aalto submitted a patch to this effect which I did end up not
using.  Thanks anyway!
2009-01-28 17:21:15 +01:00
Carsten Dominik 435ac059bf Release 6.20c 2009-01-28 14:35:50 +01:00
Carsten Dominik bc19e4df69 Release 6.20b 2009-01-28 14:04:56 +01:00
Carsten Dominik 10ea33b5bc Bugfix: Make sure TODO selection does not move point. 2009-01-28 14:03:45 +01:00
Carsten Dominik 16f7c4f384 Release 6.20a 2009-01-28 12:28:54 +01:00
Carsten Dominik b81f597de0 Release 6.20 2009-01-28 09:30:12 +01:00
Carsten Dominik 49e8ee37a8 Dependencies: Integrate John Wiegley's TODO dependency code.
See the documentation for details.
2009-01-28 09:02:37 +01:00
Carsten Dominik 78b4ca8cfc Release 6.19e 2009-01-27 11:44:49 +01:00
Carsten Dominik 452f7352f6 Maintenance: Cleanup and minor fixed. 2009-01-27 11:42:32 +01:00
Carsten Dominik 2860252c9e Minor fixes, and release 6.19d 2009-01-27 09:11:34 +01:00
Carsten Dominik c848dae4be Release 6.19c 2009-01-27 09:02:13 +01:00
Carsten Dominik f88f3bb89f Shift-selection: More tweaking. 2009-01-27 09:01:23 +01:00
Carsten Dominik 7a202e6100 Bugfix: Fix property-driven startup visibility
A user setting of

  (setq org-show-entry-below t)

could overrule a visibility property with value FOLDED.  This commit
fixes this by turning off the above setting for the context of setting
startup visibility.
2009-01-27 07:36:01 +01:00
Carsten Dominik f0899954a3 Shift-selection: More tweaking
I have changed my mind and turned off shift-selection support again by
default, because it causes confusing behavior, sometimes calling an Org
command and sometimes doing shift selection.  The default behavior is
now:

- in special contexts, execute Org commands

- outside special contexts, create an error that will point users to
  configure the variable `org-support-shift-select'.  Hopefully that
  will make them read the docstring and then decide for themselves
  what to do.
2009-01-27 07:24:23 +01:00
Carsten Dominik 773a3c624e Support for Shift Selection
Emacs 23 introduces `shift-selection-mode', and even turns it on by
default.  Therefore, it is fair to assume that users of Emacs 23 will
expect to be able to select a region by holding down shift will moving
the cursor.  This conflicts with the use of shifted cursor keys in
Org-mode for other purposes, in particular to "change the item under
the cursor", like it is done for time stamps, item bullet types, TODO
keywords and priorities.

This commit tries to support `shift-selection-mode' as much as possible,
while retaining these valuable commands keys for Org-mode.  The
following things are changed:

1. The range of contexts where Org's commands do act is reduced.

  - S-up and S-down no longer jump to the previous and next plain list
    item - you can use the paragraph commands C-up and C-down for this
    quite well.

  - S-left and S-right only change the bullet type of a plain list
    item when the cursor is *exactly* on the bullet, not just anywhere
    in the item line.

2. When a S-cursor key is used outside a special context, a region is
   started or extended.

3. When a region has already been started, it will be continue to
   extend even if the S-cursor keys move the cursor into a special
   context.

4. If you want S-cursor selection to work in headlines as well, you
   can set the variable `org-support-shift-select' to
   `even-in-headlines'.  Then you need to rely on `C-c C-t' to set
   TODO keywords, and on `C-c ,' to set priorities.

If you want everything to behave the way it was, set
`org-support-shift-select' to nil.
2009-01-26 16:23:44 +01:00
Carsten Dominik f31255c8f3 Maintenance: Remove unused variables. 2009-01-26 11:04:45 +01:00
Carsten Dominik ea446a6ff7 Release 6.19b 2009-01-26 08:22:14 +01:00
Carsten Dominik 41db8545a8 Maintenance: Support `delete-selection-mode' also for `org-yank'.
Patch by Steven E. Harris
2009-01-25 18:36:56 +01:00
Carsten Dominik 5e965557b3 Release 6.19a 2009-01-25 16:08:16 +01:00
Carsten Dominik 41e51dfef4 Release 6.19 2009-01-25 13:41:09 +01:00
Carsten Dominik 4260aad09d Maintenance: Fix declarations and necessary require statements. 2009-01-25 13:07:23 +01:00
Carsten Dominik 3fed83614e Agenda: A tags-todo search can now ignore timestamped items
The variables =org-agenda-todo-ignore-with-date=,
=org-agenda-todo-ignore-with-date=, and
=org-agenda-todo-ignore-with-date= make it possible to
exclude TODO entries which have this kind of planning info
associated with them.  This is most useful for people who
schedule everything, and who use the TODO list mainly to find
things that are not yet scheduled.  Thomas Morgan pointed out
that also the tags-todo search may serve exactly this
purpose, and that it might be good to have a way to make
these variables also apply to the tags-todo search.  I can
see than, but could not convince myself to make this the
default.  A new variable must be set to make this happen:
=org-agenda-tags-todo-honor-ignore-options=.
2009-01-25 07:39:26 +01:00
Carsten Dominik 20dbb0c73f Footnotes: Fix some minor issues. 2009-01-24 12:25:36 +01:00
Carsten Dominik 19351e35c2 Version number: pushed to 6.18trans 2009-01-21 17:59:42 +01:00
Carsten Dominik ac2347589e Structure editing: Improved item/headline conversion
The conversion commands `C-c -' and `C-c *' are now better
    behaved and therefore more useful, I hope.

    If there is an active region, these commands will act on the
    region, otherwise on the current line.

    - C-c - :: This command turns headings or normal lines into
         items, or items into normal lines.  When there is a
         region, everything depends on the first line of the
         region:
         - if it is a item, turn all items in the region into
           normal lines.
         - if it is a headline, turn all headlines in the region
           into items.
         - if it is a normal line, turn all lines into items.
         - special case: if there is no active region and the
           current line is an item, cycle the bullet type of the
           current list.
    - C-c * :: This command turns items and normal lines into
         headings, or headings into normal lines.  When there is
         a region, everything depends on the first line of the
         region:
         - if it is a item, turn all items in the region into
           headlines.
         - if it is a headline, turn all headlines in the region
           into normal lines.
         - if it is a normal line, turn all lines into headlines.
2009-01-21 17:45:07 +01:00
Carsten Dominik 5f814319eb Release 6.18c 2009-01-21 10:34:03 +01:00
Carsten Dominik d164a22da6 Release 6.18a 2009-01-21 10:24:46 +01:00
Carsten Dominik b76b28f2a7 Release 6.18 2009-01-20 10:23:26 +01:00
Carsten Dominik 0405dde8ef Footnotes: Avoid matches in links.
Reported by Ian Barton.
2009-01-19 16:15:12 +01:00
Carsten Dominik 9aa72230a2 Agenda: Allow typing a question mark in an agenda query string
Reported by Paul R.
2009-01-19 10:40:38 +01:00
Carsten Dominik 03d324ac2b Export: Better detection of images that can be inlined.
Two new variables, `org-export-html-inline-image-extensions' and
`org-export-latex-inline-image-extensions' now define the file
extensions that will be considered for inlining images.  The default
for HTML is png, jpg, jpeg, and gif files.  The default for LaTeX is
png, jpg, jpeg, and pdf, assuming processing with `pdflatex'.

For LaTeX export, this can lead to conflicts for links that point
to non-image PDF files.  To avoid that such a link will be inlined by
accident, always give a description text for such a link, one that is
not equal to the path.
2009-01-18 19:14:10 +01:00
Carsten Dominik 8cb1d66f86 Mapping: Restore point and restriction in current buffer.
Daniel Clemente writes:

    Hi. After you eval this (for instance to count the number of
    headlines under a tree):

     (org-map-entries 'ignore t 'tree)

    you end up with a different view of the buffer
    because (org-narrow-to-subtree) was called. This seems an
    unwanted side effect since narrowing is not org-map-entries' job.

     Should (save-excursion) be used inside (org-map-entries
    ... 'tree) ?

He is right, and save-restriction is needed as well.  This is
what this commit implements.
2009-01-14 21:22:37 +01:00
Bernt Hansen 6de54f877d Bugfix: Functions were renamed so rename the callers too
Rename functions missed in commit 1371205.

Changing timestamps for the currently clocked task generated the
following error:

org-clock-update-time-maybe: Symbol's function definition is void: org-update-mode-line
2009-01-13 07:41:43 -05:00
Carsten Dominik bc8a90da1d Bugfix: Make sure property time comparison works correctly.
Hsiu-Khuern Tang writes:

    I find that doing a tags search for SCHEDULED or DEADLINE turns
    up headings that do not have any schedule or deadlines.

    Using the example from
    http://article.gmane.org/gmane.emacs.orgmode/10274:

    #+SEQ_TODO: NEXT WAITING | DONE
    #+STARTUP: overview

    * DONE Test1
       CLOSED: [2009-01-07 Wed 12:26]

    * NEXT Test2
       DEADLINE: <2009-01-28 Wed>

    * Test3

    If I type

       C-c \ +DEADLINE<="<2009-01-28>" <RET>

    all three headlines are selected!  I expected to match the second
    headline only.

Indeed, this exposes an error in the time comparison functions
which would take a empty time stamp to mean 0.  This commit does
fix the bug.
2009-01-13 10:33:50 +01:00
Carsten Dominik 74a4244db1 Archiving: Allow file name interpolation in target headline
Matt Lundin writes:

    I had one more question/request concerning archives. Would
    it perhaps be possible to enable the file name
    substitution (i.e., "%s") after the double semi-colon, so
    that the file name can be used as a headline within the
    archive file? My ideal setup would be to have a single
    archive file for each year's work, with headlines named
    according to the original files of the archived subtrees.

    E.g.,

    ,----
    | * finances.org
    | ** archived item
    | * notes.org
    | ** archived item
    | ** another archived item
    `----

This commit does implement this request.
2009-01-11 21:51:53 +01:00
Carsten Dominik 907d548353 Utilities: New function `org-heading-components'.
This is a new function that returns the contents of the current
heading, already analyzed.
2009-01-08 23:19:50 +01:00
Carsten Dominik 0782fbf785 Export: Try to do a better job with LaTeX math.
Fixes some issues reported by Rasmus Pank Roulund.
2009-01-08 21:36:01 +01:00
Carsten Dominik 1371205fc2 Maintenance: Rename some ill-named functions. 2009-01-08 11:19:37 +01:00
Carsten Dominik b0f848e873 Timer: Pause and continue, and mode-line display.
The relative timer is now shown in the mode-line while running.
There is a new command to pause and continue it.

Thanks to Alan Davis for driving this change.
2009-01-08 11:07:27 +01:00
Carsten Dominik 15ad97ac3c Editing: Automatic empty lines before new entries.
The variable `org-blank-before-new-entry' regulates if Org should
insert a blank line before a new entry, when making a new headline or
plain list item.  Up to now, the possible values in each case where t
or nil, i.e. unconditionally do or don't insert a blank line.

Now each setting can also be `auto'.  If this is the case,  Org will
look if the current entry, of which the command creates a sibling,
does have a blank line before it.  If yes, it will also make a blank
line.  If not, it will not.  This seems so useful that I have made
this behavior the default.
2009-01-08 09:30:55 +01:00
Carsten Dominik 34867369df Push version number to 6.17trans 2009-01-07 13:27:02 +01:00
Carsten Dominik 6b686333fb Release 6.17c 2009-01-06 23:35:50 +01:00
Carsten Dominik e0bc2c7528 Bugfix: Deadlines with yearly repeat.
Bernt Hansen writes:

    I've been bad and let a couple of my overhead tasks slip past
    their deadline dates.

    *** TODO Q1 Accounting: October
       DEADLINE: <2008-11-30 Mon +1y>
       - CLOSING NOTE [2008-01-30 Wed 12:18]

    This task does not show up on my agenda anymore (probably because
    the year changed).  If I change the deadline entry to this:

       DEADLINE: <2008-11-30 Mon>

    then it shows up as 37 days late.  I'm bringing this up as soon as
    I noticed it just so people are aware of this.  I have a few of
    these tasks that just dropped off my agenda (probably at the
    beginning of the year).

This interesting bug seems only to happen when the repeat is yearly,
and after crossing the December 31st year boundary.  It was a sorting
issue - Org-mode (in the function `org-closest-date') computes two
dates that are consistent with the repeater, one before and one after
the target date.  When the computation is done with a preference for
the past date (as it happens for deadlines), it should use the earlier
date.  In fact, it did choose "n1", assuming that it was the earlier
one.  This assumption does hold for daily, weekly and monthly
repeaters, but not for yearly ones.

This commits make sure that "n1" always holds the earlier date, so
that the logic at the end of the function works again.
2009-01-06 23:32:16 +01:00
Carsten Dominik d31eb4cce9 Agenda: Fix bug with column view
Column view could fail when the agenda contains entries from the Diary
which start with a *.  This commit fixes this problems by making
`org-entry-properties' check for an org-mode buffer.
2009-01-06 16:31:30 +01:00
Carsten Dominik 3bfed1ed35 LaTeX export: Better analysis of math environments
We now use the export preprocessor to identify all math snippets in
advance, this is superior to calling org-inside-LaTeX-fragment-p from
the inside.
2009-01-06 12:56:30 +01:00
Carsten Dominik 621d11687d Update copyright notice to 2009 2009-01-06 10:47:36 +01:00
Carsten Dominik da36bd29ab Release 6.17b 2009-01-06 09:56:42 +01:00
Carsten Dominik e30bf26061 Bugfix: Fix regexp
The regular expression org-complex-heading-regexp had an error,
it would also match lines where there is no space after the stars.
2009-01-06 09:37:34 +01:00
Carsten Dominik 35c0798d69 Release 6.17a 2009-01-05 13:25:58 +01:00
Carsten Dominik 1a3abc8018 Coderefs: Revamp label syntax.
This commit revamps the syntax used for code line references in
literal examples.  See the documentation for details about the new
format.
2009-01-05 13:25:21 +01:00
Carsten Dominik f6fa33eceb Remember: Show context when jumping to previous storage location
When using "C-u C-u M-x org-remember RET" in order to jump to the last
storage location, the code failed to show the matching entry.  This
commit makes sure that at least the headline of the last remember note
is made visible.
2009-01-05 13:18:28 +01:00
Carsten Dominik 2f38ef0c60 Release 6.17 2009-01-04 09:00:34 +01:00
Carsten Dominik d79cc1aebf Footnotes: New startup keyowrd fnlocal
The fnlocal startup keyword sets `org-footnote-section' to nil.
2009-01-04 08:53:59 +01:00
Carsten Dominik 3559b2dc93 Footnotes: Activate labels as links
This commit add a new face for footnote labels, and activates footnote
labels for mouse clicks and for `C-c C-o', to jump to the
corresponding reference or definition.
2009-01-02 16:28:35 +01:00
Carsten Dominik 317990dd8a Footnotes: Automatic label creation.
This patch implements fully automatic creation of unique labels for
footnotes, which is also turned on as the default setting.  The
automatic labels look like [fn:1], [fn:2], etc, using the first
available unused number.

The commit introduces a new variable, `org-footnote-auto-label' with a
number of different options ranging from no auto creation (prompting
the user for a label) to fully automatic creation.

Also, the commit introduces new #+STARTUP options that can be used to
select these settings on a per-file basis.
2009-01-02 15:54:34 +01:00
Carsten Dominik 75ca89400a Utilities: New perl program to extract hooks
A new perl program, list-hooks.pl, now extracts the full list of hook
and function variables in Org, for inclusion into Worg's org-hooks.org.

Also, add a docstring to a few hooks that did not have one.
2009-01-01 09:54:13 +01:00
Carsten Dominik d9c47b107f Bugfix: Indentation for converted headlines with `C-c -' 2008-12-31 01:22:57 +01:00
Carsten Dominik 70930f09ba Footnotes: Introduce STARTUP options for footnotes
New STARTUP options fninline and nofninline can be used to configure
the option `org-footnote-define-inline'.
2008-12-31 00:33:31 +01:00
Carsten Dominik f55fa707b5 Footnotes: Load the code and install keybindings for it.
This patch only adds the require for the footnote code, and adds the
key and menu bindings for it.
2008-12-31 00:33:31 +01:00
Carsten Dominik c80b4a6c24 Coderefs: Supporting functionality
This patch adds support functionality for the new code references.  It
makes sure that `C-c C-o' will follow a code reference correctly.  It
also extends the command org-store-link to actually create a new code
reference cookie when used in a source code temporary buffer created
with "C-c '".  The new link will be stored, so that it can be inserted
with `C-c C-l'.  When inserting such a link, no description will be
prompted for, because these coderef links should best not have a
description part.
2008-12-26 23:23:39 +01:00
Carsten Dominik 49f0a8d8b7 Coderefs: Insert links in export backends
This patch covers the three main backends, html, latex, and ascii.  It
adds the code to make sure the coderef links identified by the
preprocessing will be implemented correctly when a backend does its work.
2008-12-26 23:23:39 +01:00
Carsten Dominik 8915859c08 Version number back to 6.16trans. 2008-12-25 11:10:02 +01:00
Carsten Dominik 20f2f8e1e1 Release 6.16c 2008-12-25 11:06:35 +01:00
Carsten Dominik 76e18b30e9 Remember: Fix bug cause by expand-file-name on nil file. 2008-12-23 06:15:04 +01:00
Carsten Dominik a8282e38c3 Version number: Pushed to 6.16trans. 2008-12-22 07:35:14 +01:00
Carsten Dominik f35b0549ec Release 6.16a 2008-12-21 12:47:50 +01:00
Carsten Dominik 23856be044 Completion: Improve docstring of option `org-completion-use-ido'. 2008-12-21 11:23:06 +01:00
Carsten Dominik d89284b240 Release 6.16 2008-12-20 11:16:01 +01:00
Carsten Dominik fcad0fbc4e Refile: Compare expanded file names
When refiling to the current file, the completion commands do not show
the file name.  This was broken because I had switched from comparing
truenames to normal names. Now I am using expanded names, this is fast
and works well.
2008-12-20 11:10:12 +01:00
Carsten Dominik e092a5ba91 Integrate changes from downstream Emacs. 2008-12-20 09:56:52 +01:00
Carsten Dominik 9c042e68e8 Faces: Force initialization of the tags-faces-regexp.
When `org-tag-faces' is set too late, the regexp
is not initialized properly.  This patch makes sure it is
initializes anyway.
2008-12-19 21:36:06 +01:00
Carsten Dominik 9ac252830d Agenda view: Make sure tags have the correct case.
Reported by Wanrong Lin.
2008-12-19 18:46:25 +01:00
Carsten Dominik 14ef6932e4 Store link: Capture description for ID links.
Creating links with org-store-link in org files did not capture the
link description (the headline).  Fixed with this patch.  Report by
F.D. Friedrichs.
2008-12-19 16:40:12 +01:00
Carsten Dominik 952c6b9901 Version number to 6.15trans. 2008-12-19 09:14:00 +01:00
Carsten Dominik a53ea4e72b New command org-ido-iswitchb.
Patch by Chris Leyon.
2008-12-19 06:14:55 +01:00
Carsten Dominik 8ff0c60894 Release 6.15f 2008-12-18 23:38:53 +01:00
Carsten Dominik 3a930aa8fa Improve the docstring of org-refile-targets. 2008-12-18 23:07:14 +01:00
Carsten Dominik f796043bf1 Add a COMPARE-FUNC argument to the internal sorting routine.
Patch by John Wiegley.
2008-12-18 09:14:13 +01:00
Carsten Dominik 2075b26a92 Pushing version number to 6.15trans. 2008-12-18 09:04:15 +01:00
Carsten Dominik 821c4304c6 Fix bug in menu, for tags-setting command. 2008-12-18 00:34:11 +01:00
Carsten Dominik ec702aa4ba Release 6.15d. 2008-12-17 11:52:55 +01:00
Carsten Dominik 181235f605 Release 6.15c. 2008-12-17 09:59:25 +01:00
Carsten Dominik 9029d93e3a Release 6.15b. 2008-12-17 09:18:32 +01:00
Bernt Hansen 323c9cd36c Fix typos in logic for org.el 2008-12-16 11:55:51 -05:00
Bernt Hansen 01c792a0e7 Fix typos in org.el 2008-12-16 11:55:50 -05:00
Carsten Dominik 96d9a2e467 Release 6.15a 2008-12-16 10:40:42 +01:00
Carsten Dominik e967f71794 Avoid refining of entries into themselves.
Reported by Samuel Wales.
2008-12-16 10:16:16 +01:00
Carsten Dominik 67a50839e9 Release 6.15 2008-12-16 08:30:55 +01:00
Carsten Dominik 63acb9f06c Remove issues that caused compiler warnings. 2008-12-16 07:56:19 +01:00
Carsten Dominik 33675c3b0c Introduce maxlevel for org-goto using refile interface.
This is just a new option, `org-goto-max-level'.  The smaller this
number is, the faster the org-goto interface will become.
2008-12-15 10:34:55 +01:00
Carsten Dominik 552ededaae Speed up refile target collection.
This patch introduces three improvements to refile target construction,
which should speed these functions up significantly.

1. A faster way to move up a level in the outline hierarchy
2. A better way to construct the outline path, in the case
   that the command is scanning the entire hierarchy anyway
3. Avoid comparing the true-names of files.
2008-12-15 10:23:56 +01:00
Carsten Dominik 8e6239b867 Update docstring of org-log-done.
Patch by Danie Clemente.
2008-12-11 06:05:30 +01:00
Carsten Dominik c5ca477c38 Pushed version number to 6.14trans. 2008-12-10 23:34:16 +01:00
Carsten Dominik ac83bc01d7 Better implementation of unique entry IDs.
Unique identifiers for entries can now be used more efficiently.
Internally, a hash array has replaced the alist used so far to
keep track of the files in which an ID is defined.  This makes it
quite fast to find an entry by ID.

There is now a new link type which looks like this:

id:GLOBALLY-UNIQUE-IDENTIFIER

This link points to a specific entry.  When you move the entry to
a different file, for example if you move it to an archive
file, this link will continue to work.

The file /org-id.el/ contains an API that can be used to write
code using these identifiers, including creating IDs and finding
them wherever they are.

Org has its own method to create unique identifiers, but if the
system has /uuidgen/ command installed (Mac's and Linux systems
generally do), it will be used by default.  You an also select
the method by hand, using the variable =org-id-method=.

If the ID system ever gets confused about where a certain ID is,
it initiates a global scan of all agenda files with associated
archives, all files previously known containing any IDs, and all
currently visited Org-mode files to rebuild the hash.  You can
also initiate this by hand: =M-x org-id-update-id-locations=.
Running this command will also dump into the =*Messages*= buffer
information about any duplicate IDs.  These should not exist, but
if you /copy/ an entry with its properties, duplicate IDs will
inevitably be produced.  This is unavoidable in a plain text
system that allows you to edit the text in arbitrary ways, and a
portion of care on your side is needed to keep this system clean.

The hash is stored in the file =~/.emacs.d/.org-id-locations=.
This is also a change from previous versions where the file was
=~/.org=id-locations=.  Therefore, you can remove this old file
if you have it.  I am not sure what will happen if the =.emacs.d=
directory does not exists in your setup, but in modern Emacsen, I
believe it should exist.  If you do not want to use IDs across
files, you can avoid the overhead with tracking IDs by
customizing the variable =org-id-track-globally=.  IDs can then
still be used for links inside a single file.

IDs will also be used when you create a new link to an Org-mode
buffer.  If you use =org-store-link= (normally at =C-c l=) inside
en entry in an Org-mode buffer, and ID property will be created
if it does not exist, and the stored link will be an =id:= link.
If you prefer the much less secure linking to headline text, you
can configure the variable =org-link-to-org-use-id=.  The default
setting for this variable is =create-if-interactive=, meaning
that an ID will be created when you store a link interactively,
but not if you happen to be in an Org-mode file while you create
a remember note (which usually has a link to the place where you
were when starting remember).
2008-12-10 23:32:37 +01:00
Carsten Dominik b2ad719f51 Implement a new link type "id:" to link to entry ids. 2008-12-10 14:31:18 +01:00
Carsten Dominik 45102b68ce Captions and attributes for images and tables during export
Tables, and Hyperlinks that represent inlined images, can now be
equipped with additional information that will be used during
export.  The information will be taken from the following special
lines in the buffer and apply to the first following table or
link.

  - #+CAPTION: :: The caption of the image or table.  This string
       should be processed according to the export backend, but
       this is not yet done.
  - #+LABEL: :: A label to identify the figure/table for cross
       references.  For HTML export, this string will become the
       ID for the `<div class="figure">' element that encapsulates
       the image tag and the caption.  For LaTeX export, this
       string will be used as the argument of a `\label{...}'
       macro.  These lables will be available for internal links
       like `[[label][Table] ]'.
  - #+ATTR_HTML: :: Attributes for HTML export of image, to be
       added as attributes into the `<img...>' tag.  This string
       will not be processed, so it should have immediately the
       right format.
  - #+ATTR_LaTeX: :: Attributes for LaTeX export of images, to
       be inserted into the optional argument of the
       `\includegraphics[...]{file}' command, to specify scaling,
       clipping and other options.  This string will not be
       processed, so it should have immediately the right
       format, like `width=5cm,angle=90'

For LaTeX export, if either a caption or a label is given, the
element will be exported as a float, i.e. wrapped into a figure
or table environment.
2008-12-10 12:50:07 +01:00
Carsten Dominik acfdd25581 Move the org-before-first-heading-p function to org.el.
This function was defined in org-registry.el, but it is generally useful.
2008-12-08 17:34:16 +01:00
Carsten Dominik 7b6ad9054e Release 6.14. 2008-12-06 07:34:30 +01:00
Carsten Dominik 0e157c59ba 6.14pre01
Moving toward a release.
2008-12-05 14:55:58 +01:00
Carsten Dominik 520ff98609 Fix problem with moving trees in XEmacs.
Moving trees up or down with XEmacs caused a problem when the tree is
at the beginning if the buffer or narrowed region.  This patch
protects the relevant calls to outline-flag-region so that they are
only executed if the range is valid.
2008-12-05 09:39:37 +01:00
Carsten Dominik 4298df987b Fix bug with radio targets.
The variable containing the regexp for radio target matches was not
buffer-local, causing all sorts of problems.
2008-12-05 08:16:55 +01:00
Carsten Dominik db782da26b Remove unnecessary whitespace. 2008-12-04 15:33:43 +01:00
Carsten Dominik d996cbb312 Customizable faces for individual tags.
Samuel Wales writes:

> It would be really nice if you could set tags to different
> faces the way you can with todo keywords.
>
> For example, you could set :urgent: to a bright color.  Or
> set a face for all contexts.

This patch add a new customization variable `org-tag-faces' that can
be used to specify such faces.  The rest of the patch implements these
new faces in Org-mode buffers as well as in the agenda.
2008-12-04 14:24:21 +01:00
Carsten Dominik 4800fd8b7c Fix bugs in implementation and documentation of the mapping API.
There were bugs in the mapping API, pointed to by Samuel Wales:

    Manual says:

     The following example counts the number of entries with TODO keyword
     WAITING, in all agenda files.

        (length (org-map-entries t "/+WAITING" nil 'agenda))

    Org says invalid function for the string.

First of all, the example in the manual was wrong, the "nil" should be
gone.  Second, the mapping function did not return all results in a
list, so that `length' could not count them.

This patch fixes these issues.
2008-12-02 16:53:25 +01:00
Carsten Dominik 269c5a85bc New ways to specify time comparison values in property searches.
In addition to "<now>", "<today>", "<yesterday>", and
"<tomorrow>", there are more special values accepted now in
time comparisons in property searches:  You may use strings
like =<+3d>= or =<-2w>=, with units d, w, m, and y for day,
week, month, and year, respectively

Thanks to Linday Todd for this proposal.
2008-11-29 19:12:03 +01:00
Carsten Dominik 733dfca36b Allow to exclude specific tags from inheritance.
So far, the only way to select tags for inheritance was to
allow it for all tags, or to do a positive selection using
one of the more complex settings for
`org-use-tag-inheritance'.  It may actually be better to
allow inheritance for all but a few tags, which was difficult
to achieve with this methodology.

This patch introduces a new option,
`org-tags-exclude-from-inheritance' which allows to specify an
exclusion list for inherited tags.
2008-11-27 13:15:29 +01:00
Carsten Dominik f6b9e77ded Show inherited tags in the agenda.
This patch does a lot of things.  First, it makes sure that the tags
transferred to the agenda as text properties on each line are do carry
information about there origin (in the form of an `inherited' text
property).  Then it modifies the function creating agenda lines so
that inherited tags will be listed and identified as such in the
agenda.

This new feature can be turned off with a new variable,
`org-agenda-show-inherited-tags'.
2008-11-27 09:25:50 +01:00
Carsten Dominik a196eaa15c New file org-w3m.el, by Andy Stewart.
This file implements a special function to copy text from a w3m buffer
in a way that when the text is yanked back into an Org-mode buffer,
the links will be translated to Org syntax.
2008-11-26 15:45:50 +01:00
Carsten Dominik 825fdfa95e Change version number to 6.13trans. 2008-11-25 20:42:53 +01:00
Carsten Dominik fee7fdaa80 Fix compiler issues related to the timer.
Also, one function had a wrong name, my-hms-to-secs....
2008-11-25 20:42:06 +01:00
Bernt Hansen b76ff93b84 Fix typo 2008-11-25 07:03:07 -05:00
Carsten Dominik 4b2d3c6feb Implement timer for timed notes.
This patch implements a relative time for taking timed notes, useful
for example while watching a video, or during a meeting which is also
recorded.  Here are the new commands:

    - `C-c C-x .' ::
      Insert a relative time into the buffer.  The first time
      you use this, the timer will be started.  When called
      with a prefix argument, the timer is reset to 0.

    - `C-c C-x -' ::
      Insert a description list item with the current relative
      time.  With a prefix argument, first reset the timer to 0.

    - `C-c C-x 0' ::
      Reset the timer without inserting anything into the buffer.
      By default, the timer is reset to 0.  When called with a
      `C-u' prefix, reset the timer to specific starting
      offset.  The user is prompted for the offset, with a
      default taken from a timer string at point, if any, So this
      can be used to restart taking notes after a break in the
      process.  When called with a double prefix argument
      `C-c C-u', change all timer strings in the active
      region by a certain amount.  This can be used to fix timer
      strings if the timer was not started at exactly the right
      moment.
2008-11-25 12:07:23 +01:00
Carsten Dominik eb48aaa7c1 Release 6.13a. 2008-11-24 12:22:56 +01:00
Carsten Dominik 1ba1ac5045 Merge changes from downstream Emacs. 2008-11-24 12:21:40 +01:00
Carsten Dominik 74e7111a5f Implement outline-path-completion in one go. 2008-11-24 10:59:10 +01:00
Carsten Dominik 06edd56942 Release 6.13 2008-11-23 08:10:04 +01:00
Carsten Dominik ad62fc94e4 Fix mixup about interactive and non-interactive elisp links.
Patch by Christopher Suckling.
2008-11-23 00:35:20 +01:00
Carsten Dominik 5810f0a8c9 6.13pre05
Getting close.....
2008-11-22 10:25:55 +01:00
Carsten Dominik 560fec1921 Fix customization group for `org-completion-use-ido'. 2008-11-22 08:11:47 +01:00
Carsten Dominik a99a1814fa Enhance XEmacs compatibility by avoiding `indent-to' calls. 2008-11-21 17:44:05 +01:00