Commit Graph

316 Commits

Author SHA1 Message Date
Carsten Dominik 7a9e12dc00 Fix bug in VM code.
Matthew Lovell found that VM messages are only displayed reliably upon
following a link, when the function `vm-preview-current-message' is
called instead of `vm-beginning-of-message'.  This patch implements
this change.
2008-11-06 16:31:35 +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 a1d457133e Protect the attachment directory from getting a final newline.
This is a first attempt to fix a strange bug reported by Bernt Hansen,
where two attachment directories are created, one of them with a final
newline.
2008-11-05 23:43:04 +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 c4e9626bf4 Show state changes in agenda logbook mode.
Org records (depending on setup) various information about progress
achieved with projects and tasks.  It can record when an item is done
(when it is "closed"), it can record time spent working on these
entries (clocking), and it can record state changes.

In the daily/weekly agenda, turning on logbook mode with the `l' key
will lists the tasks closed or clocked on a day.

This patch implements showing recorded state changes in the agenda
logbook.  By default, showing state changes is not turned on.  But you
can configure the new variable `org-agenda-log-mode-items' to trigger
inclusion of state changes.  An alternative way is to press `C-u l' in
the agenda, to temporarily force inclusion of all possible entries
(closed, clock, state) into the agenda display.

In passing, this patch renames the function `org-agenda-get-closed' to
the now more appropriate `org-agenda-get-progress'.  The old name
continues to be available as an alias, but its use is deprecated.
2008-11-05 17:26:52 +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 9d13e3c536 Improve XHTML validation.
Horizontal rules are not allowed inside a <p>...</p> structure.
We now explicitly exit paragraph mode before inserting the <hr/> tag.
2008-11-03 21:54:28 +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 ca27c1d0b3 Reverse the changes that quoted " to &quot;
This change inerferred with other functionality of the exporter,
causing all kinds of issues.
2008-11-03 21:08:02 +01:00
Carsten Dominik c9cd22e861 Collect footnotes in HTML export.
All footnotes are now collected and put into a separate <div> at the
end of the HTML document, but before the footer.
2008-11-03 21:05:12 +01:00
Carsten Dominik 15b4ae9038 Process link descriptions in HTML export like any content.
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.
2008-11-03 14:26:18 +01:00
Carsten Dominik 0dc772285e Cleanup to make the compiler happy.
This is a regular task.  Follow up on the compiler message and try to
fix them so that the compiler will compile these files happily and
silently.
2008-11-03 13:44:42 +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 413d9b73b0 Make href's in XHTML output valid.
field (or in any other attribute value) must be written as "&amp;" 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.
2008-11-03 12:05:30 +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 cb1bbaf244 Don't keep buffers visited during index publishing.
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.
2008-11-02 17:13:25 +01:00
Carsten Dominik bdc93a9cd2 Mark style definitions as unparsed CDATA.
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.
2008-11-02 17:01:50 +01:00
Carsten Dominik d1f91f7e93 Re-introduce the org-publish-validate-link function. 2008-11-02 16:20:40 +01:00
Carsten Dominik 960ba70e7f ChangeLogs for the recent org-plot updates. 2008-11-02 15:10:18 +01:00
Carsten Dominik 35265f29f6 Fix problems with heading creation when subtree is hidden. 2008-11-02 08:43:18 +01:00
Carsten Dominik 33ea179f50 Stop linking to directories in sitemap. 2008-11-02 08:08:32 +01:00
Carsten Dominik 8c1e5c2d17 Improve XHTML validation. 2008-11-02 07:59:09 +01:00
Carsten Dominik fde28dbdb1 Remove language attribute from script tag.
This did cause validation problems.
2008-11-01 13:55:59 +01:00
Carsten Dominik b52b4159dc Removed filtered text from the exported agenda. 2008-11-01 13:48:54 +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 c6455acf3f New function org-fit-window-to-buffer.
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.
2008-10-29 14:55:22 +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
Carsten Dominik 13d2cb4638 Fix bug with redirecting remember target using prefix arguments. 2008-10-28 18:12:56 +01:00
Carsten Dominik cff8571c31 Fix priority bug in icalendar export. 2008-10-28 15:39:45 +01:00
Carsten Dominik 7c40034fd8 Remove the dependence on time-stamp.el. 2008-10-28 09:46:42 +01:00
Carsten Dominik 07657f3e80 Yank adjusted trees.
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.
2008-10-28 09:07:56 +01:00
Carsten Dominik 8cc9b150c8 Implement automatic level adjustment for yanked subtrees. 2008-10-28 08:49:37 +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 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
Carsten Dominik 3a9dc0c5ea Unhide locations visited by saveplace.el 2008-10-27 09:41:37 +01:00
Carsten Dominik 8c022e1b72 Fix lockfile/symlink problem in org-publish.
Richard Riley and Sebastian Rose hunted down this bug.
2008-10-27 07:44:12 +01:00
Carsten Dominik 0df8bfb77c Fix site-map directory bug.
Report and patch by Sebastian Rose.
2008-10-26 07:45:13 +01:00
Carsten Dominik 1f892af3e6 Fix typo. 2008-10-26 06:58:28 +01:00
Carsten Dominik d374f9e217 Fix bug in tags filter related to case-sensitive comparisons. 2008-10-25 12:40:13 +02:00
Carsten Dominik 2569aee1d3 Cleanup some typos in ChangeLog.
Patch by James TD Smith.
2008-10-24 07:03:15 +02:00
Carsten Dominik 78d2d64353 Bug fix.
Patch from Peter Jones.
2008-10-23 07:07:01 +02:00
Carsten Dominik e22ac452ad Fix ASCII export bug when exporting from indirect buffer. 2008-10-22 17:37:24 +02:00
Carsten Dominik 7d30bd5c47 Fixed bug with timestamp increment during S-RET copy in tables. 2008-10-22 17:29:27 +02:00
Carsten Dominik 722cbe8f5f Make some features of org-mouse optional.
New variable org-mouse-features.
2008-10-22 09:41:15 +02:00
Carsten Dominik 61cf8cd7ac Modify behavior at headling insertion.
C-RET now always inserts a heading, never an item.
The folding state of the heading before the newly inserted one
is preserved.

Patch by Peter Jones.
2008-10-22 07:53:22 +02:00
Carsten Dominik 69bf8ef2b4 Fix bug with sibling archiving on top level. 2008-10-21 22:29:03 +02:00
Bastien Guerry 8ba8432e46 Added \usepackage{graphicx} to the list of default packages. 2008-10-21 10:57:52 +02:00
Carsten Dominik 2dc6b163c2 Fixed bugs in filtering, and made filtering persist through agenda refresh. 2008-10-21 07:53:01 +02:00
Carsten Dominik a086743480 Merge branch 'filtering'
Conflicts:
	lisp/ChangeLog
2008-10-20 23:32:22 +02:00
Carsten Dominik aead878b46 Implement narrowing existing agenda filters, and effort filters. 2008-10-20 23:01:23 +02:00
Carsten Dominik 713328eb60 Intermediate 2008-10-20 09:38:23 +02:00
Carsten Dominik c7ff3d46e1 Fix bug with missing state notes when calling org-todo with prefix arg.
Reported by Robert Goldman.
2008-10-20 08:21:41 +02:00
Carsten Dominik 24d80b3928 Add CATEGORY as an retrievable entry property. 2008-10-20 08:10:13 +02:00
Carsten Dominik a6e5bc531d Fix bug in positioning notes.
Patch by James Smith.
2008-10-20 07:47:16 +02:00
Carsten Dominik 2f3e5eaa2b Fix bug with table tag in table html export.
Reported by
2008-10-18 18:04:38 +02:00
Carsten Dominik a669549843 Make PDF export work under windows. 2008-10-18 15:21:02 +02:00
Carsten Dominik 79e0ca32d2 The the problem of partial name matches with LaTeX entities. 2008-10-18 10:44:41 +02:00
Carsten Dominik 25b227e5ca Fix sub/superscript issues in LaTeX export. 2008-10-17 19:32:30 +02:00
Carsten Dominik fe57640127 Compute negative clock intervals correctly.
Patch by Chris Leyton.
2008-10-17 07:22:58 +02:00
Carsten Dominik 07f51279b2 Make drawer skipping for note insertion more sensible. 2008-10-16 18:35:17 +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 329a7a7d34 Implement tag changes triggered automatically by TODO state changes. 2008-10-16 09:54:30 +02:00
Carsten Dominik a1d3086419 New option `org-log-state-notes-insert-after-drawers'.
Default is nil.
2008-10-16 06:49:55 +02:00
Carsten Dominik 52fa7f817b Add commands to export to PDF.
This works by creating LaTeX first, and then processing it.
2008-10-15 17:21:52 +02:00
Carsten Dominik 491702483a Fix table parsing bug. 2008-10-15 13:11:48 +02:00
Carsten Dominik f0340c404a *** empty log message *** 2008-10-15 09:18:03 +02:00
Carsten Dominik 16e030620a Improve environment quoting for LaTeX export. 2008-10-14 18:11:01 +02:00
Carsten Dominik d6542dba1a Merge branch 'fix-latex-internal-links'
Conflicts:
	lisp/ChangeLog
2008-10-10 11:43:21 +02:00
Carsten Dominik 5b6a8a55e8 Fix problems with internal links for LateX export. 2008-10-10 11:42:01 +02:00
Carsten Dominik 76bc40a6e3 Keep artist-mode editing from eating empty lines. 2008-10-10 08:50:23 +02:00
Carsten Dominik 82f1c863ee Cleaning up attachment support.
Among other things, introduce a security query before deleting
the entire attachment directory.  And add a new method to delete
a single attachment.
2008-10-09 12:19:43 +02:00
Carsten Dominik b0ce57d27d Fix bug with getting list of attachments. 2008-10-08 14:59:14 +02:00
Carsten Dominik 1da27893e9 Make strings in `org-file-apps' being interpreted as regexps.
Also, a new way to make org-file-apps direct all files for
which Emacs has a major mode to be edited by Emacs itself.
2008-10-08 12:46:09 +02:00
Carsten Dominik 8518c9ed81 Allow different methods to get an attachment into the directory.
Supported methods are copy, link, and move.
2008-10-07 14:28:21 +02:00
Carsten Dominik 5548357d71 Fix bug with anniversaries in org-bbdb.el. 2008-10-06 20:45:02 +02:00
Carsten Dominik dc71bfc007 Fix reverse interpretation of the list value o `org-use-tag-inheritance'. 2008-10-06 18:53:51 +02:00
Carsten Dominik 2d33de3600 Tag entries that have attachments. 2008-10-06 09:38:50 +02:00
Carsten Dominik e71f9d0a62 Make the keypad work with orgtbl-mode. 2008-10-04 15:49:27 +02:00
Carsten Dominik e9a39cf1cd Merge branch 'latex-preamble'
Conflicts:
	lisp/ChangeLog
2008-10-02 23:56:49 +02:00
Carsten Dominik 8d8403399e Fix bug that could push note into a child.
Reported by Bernt Hansen.
2008-10-02 18:15:46 +02:00
Carsten Dominik be1a210045 Merge branch 'jd7' 2008-10-02 18:07:45 +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 20364d043a Implement #+LATEX_HEADER special.
Proposed by Austin Frank and apparently also by Russel Adams.
2008-10-02 15:00:14 +02:00
Carsten Dominik 7c0e0189f0 Fix property inheritance marker.
Now the function that retrieves a property with inheritance makes
sure that this function does not point anywhere if there was
no match.
2008-10-01 21:31:24 +02:00
Carsten Dominik c50a7b312f Intermediate. 2008-10-01 12:43:55 +02:00
Carsten Dominik b1d5e6c62d Allow multiple #+STYLE lines in the buffer. 2008-10-01 11:41:00 +02:00
Carsten Dominik d043e31182 Integrate John Wiegley's org-attach.el. 2008-10-01 09:25:18 +02:00
Carsten Dominik 46246169bf When moving items, keep the column position.
Reported by Rainer Stengele.
2008-09-29 12:46:15 +02:00
Carsten Dominik d5b9c3e04f Remove properties from `initial' text in remember.
This is to make sure that no bad properties end up in the remember buffer.

Report by Richard Riley.
2008-09-29 08:27:13 +02:00
Carsten Dominik f640c8982a Remove useless call to `wl-thread-open-all'. 2008-09-27 17:55:51 +02:00
Carsten Dominik 4e6b862560 Fix bug with remember template `bottom' location.
Reported by Ethan Blanton.
2008-09-27 07:44:43 +02:00
Carsten Dominik 7e7d79d60a Require bbdb in `org-bbdb-anniversaries'. 2008-09-26 18:38:27 +02:00
Carsten Dominik fcff45bc35 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode
Conflicts:
	lisp/ChangeLog
2008-09-26 18:28:45 +02:00
Carsten Dominik b1e7ec5010 Fix bug with updating parent statistics when children are hidden.
Report by Charles Sebold.
2008-09-26 17:06:17 +02:00
Bastien Guerry 0e0f5bba8c Cleaner message when repeating an entry. 2008-09-25 11:27:36 +02:00