The refile command allows to move a subtree to under some other
heading, in the current file or even in a different file.
Sometimes one has a number of sibling subtrees that should all be
refiled to the same location. This patch implements a simplification
for this process. You can mark the region of subtrees (using
transient-mark-mode in required for this) and then move them all with
a single command.
Bernt Hansen recently reported that occasionally he got a newline
included with property values returned by `org-entry-get'. While the
reason for this is not understood (maybe some dark mingling with
character syntax), these new regexps are explicit about what they
interpret as a non-white character and therefore should make this
matching safer.
These are changes that where made in the Emacs CVS.
The change in org-publish is not final, it is still being
discussed - however, the current change should make it possible
to compile and run the code with the latest CVS version of Emacs.
When org-yank inserts a subtree, it moves the cursor to the headline
after the yank. A structural bug in the `org-yank' function did cause
this motion also to happen after a normal yank. Fixed now.
Links in the standard form [[link][description]] are allowed to have
brackets in them when these are escapes %5B and %5D. Creating links
through the Org link interface automatically does this conversion.
However, as noticed by Paul R, there is a bug when actually following
such links, when the link will be cut off at the first closing bracket
in the link.
This patch fixes this problem by adjusting the appropriate regexp.
This patch introduces two new functions in org-attach.el,
`org-attach-expand', and `org-attach-expand-link'. Both take a file
name as an argument, assume that this file is an attachment of the
current entry, and return the full path to this file or a
"file:..." link to it, respectively.
With these functions, it becomes very easy to use link abbreviations
to create a new link type to attachments:
After
(setq org-link-abbrev-alist '(("att" . org-attach-expand-link)))
links like [[att:file.txt]] will work.
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.
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.
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.
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.
C-c C-c still works with the cursor in a headline,
but I wanted a special binding as the default, mainly
in order to be able to set tags in a remember buffer.
The new default asks to open all those files in Emacs, for which
`auto-mode-alist' does contain an entry. The reasoning is that
Org-mode users are Emacs users and probably like to use exactly
this setup. The only exception configured as such by default is
that files with html or xhtml extensions will be opened using
the system default, most likely a browser.
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.)
trees that are marked with the ARCHIVE tag and even archive files
can now temporarily be included into an agenda view.
Press `v' in the agenda to get trees with ARCHIVE tags.
Press `C-u v' to get archive files included.
This bug was reported by Manuel Hermenegildo. There
were really two issues: The parsing of the FILETAGS line
was broken, and the function `org-get-tags-at' did ignore
these tags. Both problems are fixed now.
This only lead to a contributed file, this is neither robust nor fast.
But maybe throwing the existing code into a contrib file
will make someone come up with an idea.
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")
The #+STARTUP etc lines that define settings on a per-file
basis can now be collected in a separate file and included
with a line:
#+SETUPFILE: "/path/to/setup.org"
This has been a frequent request in the past, now it is
finally possible.
Because entering property value wit the command `org-set-property'
offers completion on existing values of the property,
space was treated as a completion command in the minibuffer.
This is now fixed. Also, completion is now case-insensitive here.
When there was a lone weekday abbreviation like "fri"
is was interpreted relative to the default date. I think
now this special case should always be relative to today.
This was a bug report from David Kritzberg.
These are implemented as part of plain lists, so a leading
"-" or "+" is still needed. Maybe this is not the most pretty
implementation, but it works without rewriting the quite
complex list formatting code. So all the list formatting
continues to work just fine. The description tag
is highlighted in bold, so still easy to spot.
The HTML exporter does export these already, the LaTeX
exporter still needs to be adapted.
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.
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.
You can slice a single table full of calculations in different ways
into separate destinations. Or you can format the table differently.
There are many fun and exciting possible uses.
A fancier implementation would scan the document *once* for the
set of destinations. That could help implement another function
to update all destinations from all sources.
Refactor orgtbl-to-generic; explicitly separate heading from body.
Support last-line specializers.
Allow functions for some orgtbl parameters.
Add a :remove-nil-lines parameter to orgtbl-to-generic.
So far only internal links that lead to a dedicated target where
converted correctly during HTML export. Now, also heuristic
links create a working jump in a file.
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.
The default is now taken from the entry at point or the first
entry in the agenda, an can originate from a property, from
a #+COLUMNS line, or from the variable `org-columns-default-format'.
Now you can set this stuff directly from the org-mode file.
Documentation is still missing, this is a work-in-progress
commit and still needs check with Sebastian's script.
Bug fix with note taking when auto-repeating a task:
There was a problem if the state change already triggered the
recording of a time, then the request for a *note* in
`org-log-repeat' was ignored. Reported by Bernt Hansen.
The clocktable can now more easily select the correct time range
that should be considered when summing times. S-right and S-left
in the "#+BEGIN: clocktable" line allow to shift the time block around.
Also some code-cleanup.
This required changing the Makefile.
I also added a new program set-version.pl that can be used
to synchronize the version number in all core files of the
distribution, along with the web files.