Org-mode uses a special setup with a number of different customization
variables to specify how a file should be opened when following a
:file:..." link with `C-c C-o'. By using a `C-u' prefix, it was
possible to overrule the customized setup and to force opening the
file in Emacs.
Samuel Wales requested to amend this process, so that a double prefix
argument would do the opposite: force opening the application *outside*
of Emacs, using a system default application. This is what this patch
implements.
Internally this works through a new entry in system specific constants
`org-file-apps-defaults-gnu', org-file-apps-defaults-macosx', and
`org-file-apps-defaults-windowsnt'. The new entry has the car
`system' and specifies the command that should be used for the double
C-u calls. As before, the user option `org-file-apps' can overrule
these default settings.
Note that all this only applies to following "file:" links, and does
not make a difference for, for example, "http:" links.
This is a bug fix. When the option `org-link-file-path-type' has the
value `adaptive', absolute file names would not be abbreviated if they
are relative to the users home directory. For any other values of
this variable except `noabbrev', absolute links are in fact
abbreviated, so the previous behavior is an inconsistency,
as noticed by Matt Lundin.
This patch fixes this problem and makes sure that also in this case,
file names are abbreviated.
Finally, the patch also fixes a structural bug that would ignore
the double C-u prefix if it was given.
Rick Moynihan noticed that a function name in an example does not
reflect correctly the purpose of this function, which does skip all
entries that do not have a WAITING tag.
This patch renames the function to remedy this situation.
When the cursor is at the end of the buffer but not at the beginning
of a line, inserting a new headline with C-RET did insert the stars
into the last line, without adding the needed newline. The new line
is now added.
Link descriptions where so far exported literally. However, really
they need to escape special characters and have TeX-like macros
interpreted and emphasis enabled just like any other text.
This patch makes sure link descriptions are passed through a new
filter, `org-export-html-format-desc' which does just that.
This fix is a follow-up to a report by Sebastian Rose.
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.
field (or in any other attribute value) must be written as "&" in
order to be valid XHMTL. This patch implements a new filter function
through which every href value is passed, and which enforces this
standard.
This is was triggered by a report by Sebastian Rose.
When marking a repeated entry DONE in the daily or weekly agenda, that
task would previously still be shown as TODO, because the repeater
immediately restores the TODO state after moving the time stamp. This
is bad feedback.
This problem was hard to fix. Because the same line may be present in
other lines in the same weekly agenda, we cannot simply update all
lines related to this entry.
What we do now is this: Before the repeater does its work in shifting
the time stamp and resetting the TODO keyword, we take a snapshot of
the headline as it looks then. And then, when we update the agenda
view, we change only the line at the cursor instead of all lines
related to this entry. We also make sure that this is only so if the
cursor is in a daily/weekly agenda, on TODAY's date.
There still remain possible inconsistencies. For example, if you have
a daily repeating task in the weekly agenda, and you move the cursor a
few days into the future and mark it DONE there, the entry will
actually be marked DONE for today, but still show up in today's task
list as TODO. refreshing the agenda will fix the display in such an
unlikely case.
Thanks to Jack ??? for noticing and reporting this issue.
The index generation of org-publish does briefly visit all files in
order to extract the correct page title. Visiting is necessary,
because the title may be set by the first line in the buffer, by a
Before this patch, this would cause the generation of a large number
of buffers, one for each file mentioned in the index. This patch
arranges for these buffers to be removed again. However, buffers
which were already present will not be removed.
There is still one open problem: The files to be published are
visited twice, one for publishing them, a second time for creating the
index. Visiting causes some overhead, and we would like to limit this
overhead. For now, however, this is not done.
Org-mode does sometimes included CSS definitions directly
into an exported XHTML file. To pass validation tests
for XHTML, these sections need to be wrapped in
order to pass as CDATA, not PCDATA. This patch
(written by Sebastian Rose) does implement this change.
It also fixes some typos.
On 28 Oct 2008, Eric Schulte wrote:
> Hi Charles, The patch looks great, I vote we drop it 'as is' into
> org-plot.el. The only enhancement that comes to mind would be to
> expose the `time-ind' variable as a plot option. Allowing users to
> specify different time formats, but really if they're that
> sophisticated in their use of gnuplot, then they can do that on their
> own through the `set:' option. Thanks for the addition! -- Eric
If I understand you correctly, then what we want to expose is the
"timefmt" that is put into the data file and then passed to gnuplot.
The following patch is a complete one against current which adds this
(it works for me, at least), and documents the new +PLOT option
behavior.
The one thing I'm not sure about is my method of passing the timefmt
parameter all the way into the temp file creation function. I made a
buffer-local variable there to do it. That seemed the least intrusive
way to accomplish this, but it seemed like poor practice. Thoughts?
You know, I really ought to allow a person to customize this variable (I
mean, using customize).
------------------------------------------------------------------------
Changes in origin/master
Modified doc/org.texi
This function only does its job if no side-by-side
window would be affected as well. Also, if
fit-window-to-buffer is not defined, use
shrink-window-if-larger-than-buffer instead.
When yanking a cut/copied subtree or a series of trees, even
the nomal yank key `C-y' does now adjust the level of the tree
to make it fit into the current outline position, without
loosing its identity, and without swallowing other subtrees.
This uses the command `org-past-subtree'. An additional
change in that command has been implemented: Normally, this
command picks the right outline level from the surrounding
*visible* headlines, and uses the smaller on. So it the
cursor is between a level 4 and a level 3 headline, the tree
will be pasted as level 3. Now, if the cursor is actually
*at* the beginning of a headline, the level of that headline
will be used. So lets say you have a tree like this:
* Level one
** Level two
(1)
(2)* Level one again
with (1) and (2) indicating possible cursor positions for the
insertion. When at (1), the tree will be pasted as level 2.
When at (2), it will be pasted as level 1.
If you do not like `C-y' to behave like this, configure the
variable `org-yank-adjusted-subtrees'.
Thanks to Samuel Wales for this idea and a partial implementation.
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