Commit Graph

303 Commits

Author SHA1 Message Date
Carsten Dominik b52ba29529 Improve file link matching.
Michael Ekstrand wrote:

    I've been trying to work with links to man pages in
    Org (using org-man.el).  When I try to create a link to a
    Perl module in the File package namespace, however,
    `org-insert-link' tries to do its same-file link detection
    and winds up breaking the link.  The result is that the link

       man:File::MimeInfo

    gets rewritten to

       file::MimeInfo

    Naturally, this isn't what I want.  Looking at
    `org-insert-link', it seems that the problem may be that its
    same-file link detection is matching 'file:' at
    beginning-of-word, which it is in this case.  In the general
    case for which 'file:' detection is being used, is there a
    reason to match against `\<' rather than `^' or
    `^[[:space:]]*'?  Changing to one of the latter two
    expressions would, I believe, keep it From rewriting these
    links I am trying to create.

Michael is right, and I have made this change.
2008-11-18 07:53:54 +01:00
Carsten Dominik 5d5f924782 Declare function. 2008-11-17 10:19:38 +01:00
Carsten Dominik 24b32f199b Switch version number to 6.12trans 2008-11-17 07:58:11 +01:00
Carsten Dominik f926b09e0d Allow using ido-completion all around Org.
If you set the variable `org-completion-use-ido' to t, and if you have
ido-mode turned on, most instanced of completion in Org-mode will use
ido-complete.

Thanks to Samuel Wales and Eric Schulte for patches to this effect.
2008-11-17 07:52:07 +01:00
Carsten Dominik c210ba6d90 Fix issues with property time tests.
There was a bug in the implementation of the "<today>" tag for time
comparison during property matching, and new tags "<yesterday>" and
"<tomorrow>" have been introduced.

Patch by Piotr Zielinski.
2008-11-17 07:21:55 +01:00
Carsten Dominik 4026415b2b Fix typos in link translation code. 2008-11-16 22:20:52 +01:00
Carsten Dominik 423ce71439 Fix bug with creating a new picture area.
The was a faulty regular expression in this function which never
matched, causing creation of a new picture area to mess up and start
the new area at the end of the previous line instead of the beginning
of the current.

Reported by Bernt Hansen.
2008-11-16 20:09:03 +01:00
Carsten Dominik d5d445d908 Install local link abbreviations when following link from agenda. 2008-11-15 15:58:02 +01:00
Carsten Dominik 4954225ce3 Implement link translation.
This patch implements the possibility to translate links.
It can be useful if use both planner and Org-mode, if you sometimes
copy text from one side to the other and you do not want to worry
about link syntax.  This patch allows links created with planner to
function correctly in Org-mode.  I would probably be simple to
implement the reverse conversion in planner as well.

This patch is a first shot at this functionality and very likely can
be improved.
2008-11-14 14:13:48 +01:00
Carsten Dominik f9f3c27b13 Make `yank-pop' work after an adjusting tree yank.
Org's `org-yank' now identifies itself as being `yank' by setting
`this-command', and by making sure that the mark is set correctly.  In
this way, `yank-pop' will work correctly after using `C-y' in an
Org-mode buffer.  Org-mode does not have its own implementation, to
`yank-pop' will insert content plainly, without adjusting tree levels,
and without folding.

Samuel Wales pointed out that `yank-pop' doe not work anymore.
2008-11-14 07:49:08 +01:00
Carsten Dominik 597a1be6e2 Allow '%h' in link abbreviations to insert a url-encoded target value
Patch by Steve Purcell.
2008-11-13 14:55:42 +01:00
Carsten Dominik ee2acad564 Fix documentation bugs. 2008-11-13 14:40:14 +01:00
Carsten Dominik 8b940593a6 Make invisible-of argument optional in `org-back-to-heading'. 2008-11-13 11:55:20 +01:00
Carsten Dominik 74a2ea6ee8 Install a better error message for the "Before first heading" error.
Org sometimes hits a "Before first heading" error.  This error happens
when `outline-back-to-heading' is called before the first heading in a
buffer.  In normal use, this is something easy to fix, because of
course you know where you are and you can identify the problem.

However, when Org scans many different buffers, for example to collect
agenda entries, you may not be able to tell easily where this error
happened.  This patch introduces a wrapper around
`outline-back-to-heading', with improving the error message by
spelling out buffer and location.
2008-11-13 09:54:30 +01:00
Carsten Dominik 3b5007cd2b Release 6.12b. 2008-11-12 23:58:49 +01:00
Carsten Dominik 29c5bfd7b5 Untabify ASCII image before returning to Org-mode.
When an ASCII image is edited with C-c ', it will in the end be quoted
by prepending colons to each line.  If tabulators are used in the
image, this may mess up the alignment.  Since tabulators are not a
good idea in ASCII images anyway, this patch makes sure that any
tabulators are replaced by spaces.
2008-11-12 11:48:46 +01:00
Carsten Dominik de5358f9ad Fix typos in documentation. 2008-11-11 16:11:39 +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 f5e3c482a2 Fine-tuning the behavior of `org-yank'.
Org-mode's `org-yank' command is used as a replacement for the normal
`yank' command.  It differs by giving special treatment to subtrees or
sets of subtrees when yanking them, by adjusting the level to fit the
outline, and by folding the trees after the yank.

This patch does fine-tune this behavior.

First of all, if any prefix argument is given to the command, it
immediately hands over the action to the standard `yank' command.  In
particular, you can use `C-u C-y' to yank as-is, with the only minor
side effect that the cursor will end up at the beginning of the yanked
text.

Secondly, the folding of the yanked trees will only happen if there is
no text directly after the insertion point that would be swallowed by
the folding process.  This was confusing in the past and is much
better now, with a message announcing that folding has been
suppressed.
2008-11-11 09:25:10 +01:00
Carsten Dominik 9a46feebfc Implement refiling for regions.
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.
2008-11-10 22:17:57 +01:00
Carsten Dominik c52b9af3a8 Document `org-completing-read'. 2008-11-10 18:02:21 +01:00
Carsten Dominik ebc9366762 Use safer regexps to retrieve property values.
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.
2008-11-10 08:59:05 +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 83419fc6d8 Implement changes from downstream Emacs.
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.
2008-11-08 22:00:03 +01:00
Carsten Dominik c708279809 Release 6.11 2008-11-08 16:43:48 +01:00
Carsten Dominik 4fa160447d Fix bug with cursor movement after org-yank.
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.
2008-11-07 21:35:27 +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 6bccfbc7d5 Remove forgotten (debug) form.
The last push contained a debug form which I had put there for testing.
2008-11-06 09:11:56 +01:00
Carsten Dominik de9e605297 Allow links to contain brackets
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.
2008-11-06 08:56:13 +01:00
Carsten Dominik 413264882c Introduce function to create links to attachments.
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.
2008-11-05 17:54:59 +01:00
Carsten Dominik 8787f59cef `C-u C-u C-c C-o' forces opening in an external application
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.
2008-11-05 10:46:20 +01:00
Carsten Dominik a80b84425b Abbreviate absolute file names in 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.
2008-11-04 09:43:58 +01:00
Carsten Dominik 7d1e644715 Fix inserting headlines at the end of the buffer.
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.
2008-11-03 22:18:25 +01:00
Carsten Dominik 01989e543a Fix quoting bug TODO state change code.
In a recent patch,  I forgot to quote a new variable in an expression
which tests if the variable is bound.  This has been fixed now.
2008-11-03 21:38:49 +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 0bbf3a9bd6 Improve feedback when completing repeated tasks from agenda view.
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.
2008-11-03 08:36:30 +01:00
Carsten Dominik 35265f29f6 Fix problems with heading creation when subtree is hidden. 2008-11-02 08:43:18 +01:00
Carsten Dominik 8c1e5c2d17 Improve XHTML validation. 2008-11-02 07:59:09 +01:00
Carsten Dominik d3ad08bcc0 Fix bug when changing timestamp type. 2008-11-01 14:45:06 +01:00
Carsten Dominik e3be5a3c08 Speed-up access to TODO keywords during tag searches.
Using a property-like expression like TODO="NEXT" it a tag
search now bypasses the property API and is therefore fast.
2008-10-31 09:11:52 +01:00
Carsten Dominik 75402a383e Fix bug when testing CLOSED property. 2008-10-29 17:42:58 +01:00
Carsten Dominik 17c55f1b10 Make gnus links use message-id. 2008-10-29 09:54:15 +01:00
Carsten Dominik 8f00f6226f Set HTML tags for ~verbatim~ emphasis. 2008-10-28 20:29:28 +01:00
Bernt Hansen cbc72efe27 Fix typo and documentation for remember filing to clocking functions 2008-10-28 12:03:01 -04:00
Carsten Dominik 99572d93b2 Bug fixes. 2008-10-28 09:52:52 +01:00
Carsten Dominik 8cc9b150c8 Implement automatic level adjustment for yanked subtrees. 2008-10-28 08:49:37 +01:00
Carsten Dominik 407a84af1b Yank subtree back in a level-adjusted way.
Now C-y does insert subtrees intelligently.
2008-10-27 17:57:53 +01:00
Carsten Dominik 2eb3594c5f Allow inactive time stamps in time comparisons. 2008-10-27 12:14:37 +01:00