Commit Graph

119 Commits

Author SHA1 Message Date
Bernt Hansen 757f6beed0 Fix typos in org-clock.el comments 2008-12-16 11:55:50 -05:00
Carsten Dominik 96d9a2e467 Release 6.15a 2008-12-16 10:40:42 +01:00
Carsten Dominik 67a50839e9 Release 6.15 2008-12-16 08:30:55 +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 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 db782da26b Remove unnecessary whitespace. 2008-12-04 15:33:43 +01:00
Carsten Dominik 825fdfa95e Change version number to 6.13trans. 2008-11-25 20:42:53 +01:00
Carsten Dominik eb48aaa7c1 Release 6.13a. 2008-11-24 12:22:56 +01:00
Carsten Dominik 06edd56942 Release 6.13 2008-11-23 08:10:04 +01:00
Carsten Dominik 3bd0676370 Issue warning if the clock cannot be resumed.
If a clock-save file tries to restore the running clock, but the task
does not have an unfinished clock, warn the user with a message.
2008-11-23 08:07:56 +01:00
Carsten Dominik 382eedaab4 Make sure the clocktable sees the first line of the buffer.
Org-mode still has a few operations that do not work well when the
first line of a buffer is a headline.  One was constructing the clock
table, but this one is eliminated by this patch.
2008-11-23 07:30:18 +01:00
Carsten Dominik 5810f0a8c9 6.13pre05
Getting close.....
2008-11-22 10:25:55 +01:00
Carsten Dominik db5c609be9 6.13pre04 2008-11-21 13:35:45 +01:00
Carsten Dominik 8a13a7704f Fix XEmacs compatibility problems. 2008-11-21 09:14:26 +01:00
Carsten Dominik 7d45c9f4bf 6.13p03 2008-11-21 07:18:35 +01:00
Carsten Dominik da7b292ce9 More clean-up of the clock persistence code.
This patch compacts the persistence code.  It also make sure that no
variables outside Org's name space are created.  Finally, it makes
sure that the resumed clock is not hidden after a restart of Emacs.
2008-11-21 06:19:29 +01:00
Carsten Dominik 0529c08e5b Do much more consistency checking when storing and resuming the clock.
Saving the clock history and the running clock could lead to pointers
to non-existing buffer, or to dired buffers of directories.  This
patch implements more consistency checks.

It also allows a new value for `org-clock-persist'.  When this is
`clock', only the running clock, but not the entire clock history
is saved.
2008-11-20 17:54:26 +01:00
Carsten Dominik 81e3b95843 6.13pre02. 2008-11-20 15:02:53 +01:00
Carsten Dominik 926bab3a67 Pushing version number to 6.13pre01. 2008-11-20 08:28:02 +01:00
Carsten Dominik 24b32f199b Switch version number to 6.12trans 2008-11-17 07:58:11 +01:00
Carsten Dominik 3b5007cd2b Release 6.12b. 2008-11-12 23:58:49 +01:00
Carsten Dominik b55ec41bc4 Release 6.12a
Because I forgot to push before I pressed the release button.....
2008-11-11 11:21:36 +01:00
Carsten Dominik ed81800ccf Release 6.12 2008-11-11 11:03:17 +01:00
Carsten Dominik e41a0d9608 Implement table formulas for clocktables.
Org-mode produces summaries of clocked items in the form of Org-mode
tables.  This patch implements the possibility to define formulas that
should be applied to the clock tables, in order to do additional
analysis.

Formulas for clock tables are supported in two ways.

First, a formula can simply be added by hand to a table.  Part of this
patch makes sure that, when the previous version of the table contains
a #+TBLFM: line, it will be copied to the new version.

Secondly, the clocktable definition allows a new parameter
`:formula'.  The string value of this parameter will be installed as
the formula line for the table.  If a formula parameter is given, it
will overrule any previous formula line.

As a special case, using the symbol `%' as the formula will install a
formula that will compute the fraction of total time that was spent in
a subtree.

In both cases, the formulas will be immediately evaluated after the
table has been created.
2008-11-10 20:57:48 +01:00
Carsten Dominik 1ffa6b76f5 Release 6.11c. 2008-11-09 08:20:00 +01:00
Carsten Dominik eb4f62ae34 Release 6.11a. 2008-11-08 22:29:54 +01:00
Carsten Dominik c708279809 Release 6.11 2008-11-08 16:43:48 +01:00
Carsten Dominik 2c0291287a Push version number to 6.11pre01.
We are moving toward the next release, please test!
2008-11-06 09:14:14 +01:00
Carsten Dominik 293d3311d6 Check for horizontally-split windows when shrinking a window.
So far, Org used either `fit-window-to-buffer' or
`shrink-window-if-larger-than-buffer' without any further checks when
displaying one of its many help and selection buffers.  This can cause
problems if the user has set up Emacs to split windows horizontally
rather than vertically, because the window being shrunken then may be
side-by-side with another window, and shrinking the height of one will
also change the other.

With this patch, shrinking a window always goes through the new
function `org-fit-window-to-buffer' which only acts if the current
window spans the whole width of the frame.

Furthermore, this function also helps with compatibility, because it
falls back to `shrink-window-if-larger-than-buffer' if
`fit-window-to-buffer' does not exist, as is the case on older version
of Emacs and XEmacs.
2008-11-03 13:38:25 +01:00
Carsten Dominik 99572d93b2 Bug fixes. 2008-10-28 09:52:52 +01:00
Carsten Dominik 7c40034fd8 Remove the dependence on time-stamp.el. 2008-10-28 09:46:42 +01:00
Carsten Dominik 67070b0289 Initial documentation of the new clock features. 2008-10-28 07:36:33 +01:00
James TD Smith 6ca2053982 Add clock persistence.
Clock-related data are saved when exiting emacs ands restored when emacs
is restarted. The data saved include the contents of `org-clock-history',
and the running clock, if there is one.

To use this, you will need to add

(require 'org-clock)
(org-clock-persistence-insinuate)

to your .emacs and either add

(setq org-clock-persist t)
(setq org-clock-in-resume t)

or set those options to t in custom.

This patch requires the clock resume patch.

Add missing blank line to changelog
2008-10-27 23:04:25 +00:00
James TD Smith a70426f115 Add clock resuming.
If the option `org-clock-resume' is t, and the first clock line in an entry is is
open, clocking into that task resumes the clock from that time.
2008-10-27 23:03:10 +00:00
Carsten Dominik 523cf1fe31 Release 6.10c. 2008-10-25 12:56:42 +02:00
Carsten Dominik 3794f574e2 Release 6.10b. 2008-10-25 12:54:49 +02:00
Carsten Dominik 88d4405e86 Release 6.10a. 2008-10-24 23:16:42 +02:00
Carsten Dominik 794839f1da Release 6.10. 2008-10-23 09:19:43 +02:00
Carsten Dominik b7db897e6d Moving toward the 6.10 release. 2008-10-22 09:57:42 +02:00
Carsten Dominik f70127dd3f Allow org-clock-in-switch-to-state to be a function.
Allow org-clock-in-switch-to-state to be a function. This lets you have
different clocked in states for different TODO keyword sets, for example

(defun ahkt-clock-state (state)
  (cond ((string= state "TOREAD") "READING")
	((string= state "TOWATCH") "WATCHING")
	(t state)))

Also fix indentation on clock lines, and empty clock drawers when they are
inserted.
2008-10-16 18:26:43 +02:00
Carsten Dominik 4574d894ce Release 6.09a. 2008-10-12 07:36:18 +02:00
Carsten Dominik 5ebc1a7982 Release 6.09. 2008-10-09 13:18:25 +02:00
Carsten Dominik 57e912c275 Push version number to 6.09pre01. 2008-10-07 15:45:58 +02:00
Carsten Dominik 4c55b885d5 Documentation fixes. 2008-10-05 12:57:01 +02:00
Carsten Dominik e195a3ee4b Release 6.08a. 2008-10-05 08:31:54 +02:00
Carsten Dominik c0292f955e Release 6.08. 2008-10-05 08:27:53 +02:00
Carsten Dominik 2a8dac9f70 Store remember notes under the current clock entry with `C-2 C-c C-c'.
Patch from James TD Smith, but modified.
2008-10-02 18:07:12 +02:00
Carsten Dominik d6d72b3436 Merge branch 'js' 2008-09-21 08:34:45 +02:00