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.
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.
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.
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
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.
See <E1KE2Mh-0005EC-CF@cvs.savannah.gnu.org> in emacs-commit@:
* org.el (org-agenda-skip-unavailable-files):
* org-clock.el (org-clock-out-when-done): Doc fixes.
The bug affected the exportation of commented subtree: case cannot be
ignored when checking for the COMMENT cookie ("Comment" is a frequent
word in french, and has a completely different meaning.)
Replace all occurrences of the format string "%d:%02d" with
org-time-clocksum-format, which contains the same string by default.
This allows anyone to customize the appearance of clock summaries.
For example:
(setq org-time-clocksum-format "%02d:%02d")
Clock-related markers and agenda markers used to get lost
when editing a file using cut and paste. Now some cut
and past operations move the markers with them. In particular,
structure editing like moving subtrees up and down.
Also, when exiting a remember buffer with a running clock, the clock
can now be moved along with the entry to the target location.
Now it is possible to select also the current clocking task after
pressing C-u C-c C-x C-i. What will happen then is that this
entry will be clocked out, and then clocked in again.
Recently clocked tasks are now remembered as well as a default
task and an interrupted task.
There is no automatic clock-in yet.
Also, a number of bug fixes have sneaked into this patch,
sorry for the mess.
There is an old XEmacs bug with indentation in the presence of
an extent with an invisibility property. We work around this now
by turning the invisibility property off, temporarily.
This is a new display mode in the agenda view. It appends a clock
table to the daily/weekly agenda view that covers clocked time
for the time span shown in the agenda, and also limited to the
files that were used to create the current view.