0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-22 16:10:44 +00:00
Commit graph

481 commits

Author SHA1 Message Date
Carsten Dominik fee4492f57 Export: Fix bug with LaTeX export of tables.
The special first column in some tables was not removed for LaTeX
export.  This bug was probably introduces recently, while trying to
fix problems with special characters in LaTeX tables.
Export is now working again properly.

Reported by Giovanni Ridolfi.
2009-01-17 15:07:10 +01:00
Carsten Dominik 1edd9d0cc6 Plotting: Fix histogram plotting.
William Henney writes:

     The following table works correctly with org-plot
    #+PLOT: title:"org-plot test" ind:1 type:2d with:hist set:"style fill
    solid" set:"yrange [0:]"
     |  Year | a | b |
     |-------+---+---|
     | x2006 | 3 | 1 |
     |  2007 | 1 | 2 |
     |  2008 | 2 | 0 |

     However, if the "x" is removed from the start of all the years, it no
     longer works:

    #+PLOT: title:"org-plot bug" ind:1 type:2d with:hist set:"style fill
    solid" set:"yrange [0:]"
     | Year | a | b |
     |------+---+---|
     | 2006 | 3 | 1 |
     | 2007 | 1 | 2 |
     | 2008 | 2 | 0 |

     From glancing through org-plot.el, it seems as though the problem is
     that the text-ind parameter is false when all the values in the
     "independent variable" column are legal numbers. However, my lisp
     skills are not up to fixing this.

This patch is by Charles Sebold and Eric Schulte fixes the problem.
2009-01-16 19:43:33 +01:00
Carsten Dominik b95178f38e Column View: Catch it when a date property does not have allowed values defined.
When a property for column view is supposed to contain a date, not
defining allowed values could lead to an obscure error message.  This
is now improved.

Reported by Charles Cave.
2009-01-16 12:50:09 +01:00
Carsten Dominik 8cb1d66f86 Mapping: Restore point and restriction in current buffer.
Daniel Clemente writes:

    Hi. After you eval this (for instance to count the number of
    headlines under a tree):

     (org-map-entries 'ignore t 'tree)

    you end up with a different view of the buffer
    because (org-narrow-to-subtree) was called. This seems an
    unwanted side effect since narrowing is not org-map-entries' job.

     Should (save-excursion) be used inside (org-map-entries
    ... 'tree) ?

He is right, and save-restriction is needed as well.  This is
what this commit implements.
2009-01-14 21:22:37 +01:00
Carsten Dominik bc8a90da1d Bugfix: Make sure property time comparison works correctly.
Hsiu-Khuern Tang writes:

    I find that doing a tags search for SCHEDULED or DEADLINE turns
    up headings that do not have any schedule or deadlines.

    Using the example from
    http://article.gmane.org/gmane.emacs.orgmode/10274:

    #+SEQ_TODO: NEXT WAITING | DONE
    #+STARTUP: overview

    * DONE Test1
       CLOSED: [2009-01-07 Wed 12:26]

    * NEXT Test2
       DEADLINE: <2009-01-28 Wed>

    * Test3

    If I type

       C-c \ +DEADLINE<="<2009-01-28>" <RET>

    all three headlines are selected!  I expected to match the second
    headline only.

Indeed, this exposes an error in the time comparison functions
which would take a empty time stamp to mean 0.  This commit does
fix the bug.
2009-01-13 10:33:50 +01:00
Carsten Dominik 74a4244db1 Archiving: Allow file name interpolation in target headline
Matt Lundin writes:

    I had one more question/request concerning archives. Would
    it perhaps be possible to enable the file name
    substitution (i.e., "%s") after the double semi-colon, so
    that the file name can be used as a headline within the
    archive file? My ideal setup would be to have a single
    archive file for each year's work, with headlines named
    according to the original files of the archived subtrees.

    E.g.,

    ,----
    | * finances.org
    | ** archived item
    | * notes.org
    | ** archived item
    | ** another archived item
    `----

This commit does implement this request.
2009-01-11 21:51:53 +01:00
Carsten Dominik 5a8f775d79 Archive: Avoid problems when multiple files use the same archive.
Matt Lundin writes:

   When I have multiple org files archive to a single file, as in

   ,----
   | (setq org-archive-location "~/2009.org_archive::")
   `----

   I find that including archive files in the agenda display (C-u v)
   results in multiple identical entries in the agenda display (in my
   case, when doing a word search).

   In fact, the number of duplicate lines exactly matches the number of
   agenda files that archive to that file (in my case 16). Is the agenda
   function perhaps searching the archive file once for each of the
   agenda files and then displaying the results as separate lines?

Indeed, when putting together the list o archive files to search,
Org did not check for duplicates.  This commit implements
uniquification of the list.
2009-01-10 21:51:08 +01:00
Carsten Dominik 703be2056c Maintenance: Better implementation of `fit-window-to-buffer'.
This function now uses `window-full-width-p' to check if the window
has the full width.
2009-01-09 09:09:42 +01:00
Carsten Dominik b3d6d903bc Export: Better handling of colon examples.
Lines preceded by a colon are treated as fixed-width examples.
This commit improves the moment when the protection of these lines
happens during preprocessing.  And it enforces that a space must
follow the colon for the line to be treated in this way.
2009-01-09 08:28:43 +01:00
Carsten Dominik 907d548353 Utilities: New function `org-heading-components'.
This is a new function that returns the contents of the current
heading, already analyzed.
2009-01-08 23:19:50 +01:00
Carsten Dominik 32ba462be1 Export: Make id: links work after export.
id: links to entries in other files will now work after export to
HTML, provided that the published target file is on the same relative
path.
2009-01-08 22:35:57 +01:00
Carsten Dominik 41bd25b724 Bugfix: Protect string-match against nil string.
Friedrich Delgado Friedrichs writes:

A while ago I had this problem:
org-infojs-handle-options: Wrong type argument: stringp, nil

I wonder if my patch ever reached the mailing list, or if it
was overlooked because it was too close to christmas:

Friedrich Delgado Friedrichs schrieb:
From 0fef25f56c837ae9f434449c6f30268e0474f7ab Mon Sep 17 00:00:00 2001
From: Friedrich Delgado Friedrichs <delgado@dfn-cert.de>
Date: Tue, 23 Dec 2008 12:10:42 +0100
Subject: [PATCH] fix string-match against nil when no in-file options are set for jsinfo

---
lisp/org-jsinfo.el |    3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/lisp/org-jsinfo.el b/lisp/org-jsinfo.el
index 8f2d7e8..19faa9e 100644
--- a/lisp/org-jsinfo.el
+++ b/lisp/org-jsinfo.el
@@ -140,7 +140,8 @@ Option settings will replace the %MANAGER-OPTIONS cookie."
            default (cdr (assoc opt org-infojs-options)))
      (and (symbolp default) (not (memq default '(t nil)))
           (setq default (plist-get exp-plist default)))
-      (if (string-match (format " %s:\\(\\S-+\\)" opt) v)
+      (if (and v
+               (string-match (format " %s:\\(\\S-+\\)" opt) v))
          (setq val (match-string 1 v))
        (setq val default))
      (cond
2009-01-08 15:35:32 +01:00
Carsten Dominik e3eac575bf Export: Fix bugs with LaTeX export.
1. Export hangs during LaTeX export.  That was a bug using an empty
   regular expression that was defined only locally in Org files, but
   not in the buffer used by the LaTeX exporter.

2. Underscores in links can get special treatment by the LaTeX
   exporter.  Now the link is protected from this.
2009-01-08 14:25:26 +01:00
Carsten Dominik c170516b5f Export: Make switches for literal examples work in include files.
When including s file in example or src markup, you can now also
specify the switches for code references and line numbering that work
also when directly adding SRC or EXAMPLE blocks.

Reported by Manish.
2009-01-08 12:10:47 +01:00
Carsten Dominik 1371205fc2 Maintenance: Rename some ill-named functions. 2009-01-08 11:19:37 +01:00
Carsten Dominik b0f848e873 Timer: Pause and continue, and mode-line display.
The relative timer is now shown in the mode-line while running.
There is a new command to pause and continue it.

Thanks to Alan Davis for driving this change.
2009-01-08 11:07:27 +01:00
Carsten Dominik 15ad97ac3c Editing: Automatic empty lines before new entries.
The variable `org-blank-before-new-entry' regulates if Org should
insert a blank line before a new entry, when making a new headline or
plain list item.  Up to now, the possible values in each case where t
or nil, i.e. unconditionally do or don't insert a blank line.

Now each setting can also be `auto'.  If this is the case,  Org will
look if the current entry, of which the command creates a sibling,
does have a blank line before it.  If yes, it will also make a blank
line.  If not, it will not.  This seems so useful that I have made
this behavior the default.
2009-01-08 09:30:55 +01:00
Carsten Dominik d31ebe2c98 Export: Do not HTML process URLs when they are also used as descriptions. 2009-01-07 13:25:46 +01:00
Carsten Dominik e0bc2c7528 Bugfix: Deadlines with yearly repeat.
Bernt Hansen writes:

    I've been bad and let a couple of my overhead tasks slip past
    their deadline dates.

    *** TODO Q1 Accounting: October
       DEADLINE: <2008-11-30 Mon +1y>
       - CLOSING NOTE [2008-01-30 Wed 12:18]

    This task does not show up on my agenda anymore (probably because
    the year changed).  If I change the deadline entry to this:

       DEADLINE: <2008-11-30 Mon>

    then it shows up as 37 days late.  I'm bringing this up as soon as
    I noticed it just so people are aware of this.  I have a few of
    these tasks that just dropped off my agenda (probably at the
    beginning of the year).

This interesting bug seems only to happen when the repeat is yearly,
and after crossing the December 31st year boundary.  It was a sorting
issue - Org-mode (in the function `org-closest-date') computes two
dates that are consistent with the repeater, one before and one after
the target date.  When the computation is done with a preference for
the past date (as it happens for deadlines), it should use the earlier
date.  In fact, it did choose "n1", assuming that it was the earlier
one.  This assumption does hold for daily, weekly and monthly
repeaters, but not for yearly ones.

This commits make sure that "n1" always holds the earlier date, so
that the logic at the end of the function works again.
2009-01-06 23:32:16 +01:00
Carsten Dominik 9dc65e4811 LaTeX Export: More standardization
This commit removes some of the stuff that was specific for the LaTeX
exporter, and falls back to the default configuration that works for
all backends.

Here is what the commit does:

- The variable `org-export-latex-remove-from-headlines' is now
  obsolete.  Instead, also LaTeX export now responds to the settings
  in the variables org-export-with-todo-keywords',
  `org-export-with-priority', and `org-export-with-tags' and in the
  corresponding OPTION settings.

- Removal of time stamps and related keywords now already happens in
  the preprocessor, so that it will be perfectly the same for all
  backends.

- The list functions have been extended to accept an additional
  parameter list, to overrule the default setting for a particular
  list function.  This is used to make the checkbox appearance in
  LaTeX configurable, through the new variable
  `org-export-latex-list-parameters'.
2009-01-06 17:31:44 +01:00
Carsten Dominik 3bfed1ed35 LaTeX export: Better analysis of math environments
We now use the export preprocessor to identify all math snippets in
advance, this is superior to calling org-inside-LaTeX-fragment-p from
the inside.
2009-01-06 12:56:30 +01:00
Carsten Dominik c52ec32582 org-w3m.el: Always deactivate the mark after copying.
Patch from Andy Steward.
2009-01-06 09:54:17 +01:00
Carsten Dominik 52ee4c0bd2 Agenda: Have series options available when finalizing agenda.
An agenda series can have a set of global options.  Matt Lundin
reported that these options to not work completely.  There reason was
that, when calling `org-finalize-agenda' for a series, the dynamic
binding of those options was already off again.  This commit makes
sure that these bindings are available also during this final step.
2009-01-06 09:47:45 +01:00
Carsten Dominik 389419334d Export: Protect examples from headline processing
Lines that looked like headlines in examples could still be processes
as headings.  This commit make sure all converted examples are
protected.
2009-01-06 09:37:34 +01:00
Carsten Dominik e30bf26061 Bugfix: Fix regexp
The regular expression org-complex-heading-regexp had an error,
it would also match lines where there is no space after the stars.
2009-01-06 09:37:34 +01:00
Carsten Dominik 1a3abc8018 Coderefs: Revamp label syntax.
This commit revamps the syntax used for code line references in
literal examples.  See the documentation for details about the new
format.
2009-01-05 13:25:21 +01:00
Carsten Dominik f6fa33eceb Remember: Show context when jumping to previous storage location
When using "C-u C-u M-x org-remember RET" in order to jump to the last
storage location, the code failed to show the matching entry.  This
commit makes sure that at least the headline of the last remember note
is made visible.
2009-01-05 13:18:28 +01:00
Carsten Dominik c0100ad2b1 Footnotes: Fix bug with insertion at end of buffer
With the "* Footnotes" heading as last line in the buffer, footnote
insertion did not position new definitions correctly.  This commit
fixes the problem.

Reported by Matt Lundin.
2009-01-05 13:15:12 +01:00
Carsten Dominik feef4db6d3 org-w3m.el: Minor updates and fixes.
This commit adds an option to org-w3m, to decide whether the mark
should be deactivated after copying the region.

New version from author Andy Steward.
2009-01-04 08:36:38 +01:00
Carsten Dominik 3559b2dc93 Footnotes: Activate labels as links
This commit add a new face for footnote labels, and activates footnote
labels for mouse clicks and for `C-c C-o', to jump to the
corresponding reference or definition.
2009-01-02 16:28:35 +01:00
Carsten Dominik 9255522b91 Footnotes: Allow "-" and "_" in footnote names.
These characters are now allowed in addition to word constituents.
2009-01-01 10:59:11 +01:00
Carsten Dominik 1ed9c50457 Export: Fix some problems with protection.
The previous changes had created problems with lines stating with a
colon, there where no longer protected.  They are now again.
2009-01-01 09:55:54 +01:00
Carsten Dominik df07e0a4f3 Export: New hooks for preprocessing
This patch introduces more hooks for preprocessing the export buffer,
at various strategic moments.  See the Changes.org file for a
description of the hooks.
2008-12-31 18:37:33 +01:00
Carsten Dominik d9c47b107f Bugfix: Indentation for converted headlines with `C-c -' 2008-12-31 01:22:57 +01:00
Carsten Dominik 71aeeec70a Footnotes: Add ChangeLog entries. 2008-12-31 01:21:48 +01:00
Carsten Dominik 3018b775e2 Coderefs: Add ChangeLog entries. 2008-12-26 23:23:39 +01:00
Carsten Dominik 28c6318dba Remember: Safer way to access new buffer.
The remember handler was creating a buffer with `find-file-noselect',
and then trying to find it back using `get-file-buffer'.  Apparently
there are situations where this can fail, to we now use directly the
buffer returned by `find-file-noselect'.
2008-12-23 07:16:10 +01:00
Carsten Dominik 76e18b30e9 Remember: Fix bug cause by expand-file-name on nil file. 2008-12-23 06:15:04 +01:00
Carsten Dominik 951d117a47 Spreadsheet: Don't assume every last row filed has a formula
In a recent patch we have introduced names for all fields in the last
row.  This has lead to a bug, that Org thinks there might be a field
formula associated with those fields.  Now we check if there really is
one, and only in this case ask to overwrite it with a column formula.

Report by Henry Atting.
2008-12-22 23:10:32 +01:00
Carsten Dominik 2deee3e6e4 Column view: Capture also from locations in other files.
The dynamic block capturing column view has an :id parameter that does
select from where the column view should be captured.  The routine
searching for this entry so far only searched the current file, now it
uses the full ID API to find the entry also in another file.

Furthermore, a value "file:path/to/file.org" will capture the global
column view of that file.

Report by Francois Lagarde.
2008-12-22 08:56:42 +01:00
Carsten Dominik 23856be044 Completion: Improve docstring of option `org-completion-use-ido'. 2008-12-21 11:23:06 +01:00
Carsten Dominik 9f0060acc2 LaTeX export: Fix two bugs.
1.  When LaTeX export was done with a time-stamped file, a format
    error in the timestamp format caused the output file to not
    have the % comment in front of the time string.  As this line
    is early in the file, a LaTeX error would result.

2.  Replacement of some special characters could fail.  Strangely
    this shows up only in XEmacs, but it still is a bug.

Both bugs were reported by Hugh Daschbach.
2008-12-21 11:00:05 +01:00
Carsten Dominik fcad0fbc4e Refile: Compare expanded file names
When refiling to the current file, the completion commands do not show
the file name.  This was broken because I had switched from comparing
truenames to normal names. Now I am using expanded names, this is fast
and works well.
2008-12-20 11:10:12 +01:00
Carsten Dominik e092a5ba91 Integrate changes from downstream Emacs. 2008-12-20 09:56:52 +01:00
Carsten Dominik 9c042e68e8 Faces: Force initialization of the tags-faces-regexp.
When `org-tag-faces' is set too late, the regexp
is not initialized properly.  This patch makes sure it is
initializes anyway.
2008-12-19 21:36:06 +01:00
Carsten Dominik 9ac252830d Agenda view: Make sure tags have the correct case.
Reported by Wanrong Lin.
2008-12-19 18:46:25 +01:00
Carsten Dominik 9011bd9303 Fix some small bugs. 2008-12-19 18:36:53 +01:00
Carsten Dominik dadc9a1af1 Tables: Implement last-row references.
After the failed implementation of `@0' as a reference for the last
line, this is a second attempt to provide such references.  I would
have liked to allow `@last' as the reference, that would have been
beautiful.  However, too many regular expressions directly search for
`@' followed by a number, so this is too hard to implement.

Therefore, I am now turning the last row into a row of implicitly
named fields.  From now on, $LR1, $LR2,... can be used to refer to
fields in the last row.  These names may also appear on the left hand
side of formulas.
2008-12-19 18:28:58 +01:00
Carsten Dominik 14ef6932e4 Store link: Capture description for ID links.
Creating links with org-store-link in org files did not capture the
link description (the headline).  Fixed with this patch.  Report by
F.D. Friedrichs.
2008-12-19 16:40:12 +01:00
Carsten Dominik c668817bf3 Revert "HTML export: Remove the name attribute from anchors that do not need it."
This reverts commit 642620ebb3.
2008-12-19 15:06:47 +01:00
Carsten Dominik 642620ebb3 HTML export: Remove the name attribute from anchors that do not need it. 2008-12-19 12:50:36 +01:00
Carsten Dominik 1b655ff4af Fix problem with <pre> of source code inside a paragraph. 2008-12-19 12:46:46 +01:00
Carsten Dominik db2485cb41 Fix invalid <img> tag. 2008-12-19 12:38:17 +01:00
Carsten Dominik a53ea4e72b New command org-ido-iswitchb.
Patch by Chris Leyon.
2008-12-19 06:14:55 +01:00
Carsten Dominik 9cd1518bad Allow to view full entry from agenda.
A prefix argument to the `org-agenda-show' command is now interpreted
to make sure the entire entry is made visible in the other window, not
only the headline.
2008-12-18 09:22:21 +01:00
Carsten Dominik f796043bf1 Add a COMPARE-FUNC argument to the internal sorting routine.
Patch by John Wiegley.
2008-12-18 09:14:13 +01:00
Carsten Dominik ff8ef0aa14 Fix bug with updating agenda lines with correct tags.
Updating agenda lines did display tags incorrectly, because it used
the list of tags available as a property to remake the list.  However,
that list contains down-cased versions of the tags, because all the
filtering in the agenda does ignore case in tags.

This patch implements a fresh scan for the tags each time a line is
updated, and in this way fixes the problem.  It also reverses a
previous attempt to fix a similar problem.
2008-12-18 09:03:06 +01:00
Carsten Dominik 821c4304c6 Fix bug in menu, for tags-setting command. 2008-12-18 00:34:11 +01:00
Carsten Dominik ec702aa4ba Release 6.15d. 2008-12-17 11:52:55 +01:00
Carsten Dominik d41340b1a0 Fix typo with variable name.
The variable `org-agenda-overriding-columns-format' was, in one place,
called `org-overriding-columns-format'.
2008-12-17 09:52:46 +01:00
Carsten Dominik 1eef2abe15 Mark last sync with Emacs in ChangeLog. 2008-12-16 14:09:51 +01:00
Carsten Dominik e967f71794 Avoid refining of entries into themselves.
Reported by Samuel Wales.
2008-12-16 10:16:16 +01:00
Carsten Dominik e4ed09207d Quote special characters in tables for LaTeX export.
Text inside tables did not receive the full treatment of handling sub-
and superscripts, and of special character quoting like %, &, and {}.
This patch does fix this, but I am worried that I am overlooking the
true reason why Bastien did switch off these conversions.  We'll see
if and what this will break.
2008-12-16 07:44:13 +01:00
Carsten Dominik 0ea9fb46c5 Implement longtable support for LaTeX export.
Exporting tables to LaTeX suffered from the problem that Org tables
are often long, but that the tabular environment in LaTeX cannot
handle long tables.  This patch fixes this issue.

LaTeX export can now deal with very long tables, by setting an option
in the "ATTR_LaTeX:" line.  Also, you can specify the alignment by
hand.  Here is an example:

Also, table export now correctly deals with tables that start with a
hline.  In such a case, also the LaTeX version will have this extra
hline before the first line.
2008-12-16 07:04:05 +01:00
Carsten Dominik 45cc93478d Fix LaTeX export bug with regions and initial content.
This re-implements and fixes the commit
b786f4da93, which we had reverted
earlier today.  The new version seems to work OK.
2008-12-16 07:04:05 +01:00
Carsten Dominik 2b49ebc8fc Fix bug with tags setting from agenda.
Setting tags from the agenda no longer updated the agenda display
correctly.  Now this works again.

Report by John Wiegley.
2008-12-16 05:50:46 +01:00
Carsten Dominik 411f9d174f Switch to \verb in LaTeX export for code-like snippets.
Emphasis expressions ~...~ and =...= are not typeset using \verb.
You cannot include the vertical bar in these snippets as this is the
delimiter.
2008-12-15 13:01:50 +01:00
Carsten Dominik b786f4da93 Revert "Fix LaTeX export bug with regions and initial content."
This reverts commit 73ab743a6f.
2008-12-15 12:58:40 +01:00
Carsten Dominik 33675c3b0c Introduce maxlevel for org-goto using refile interface.
This is just a new option, `org-goto-max-level'.  The smaller this
number is, the faster the org-goto interface will become.
2008-12-15 10:34:55 +01:00
Carsten Dominik 552ededaae Speed up refile target collection.
This patch introduces three improvements to refile target construction,
which should speed these functions up significantly.

1. A faster way to move up a level in the outline hierarchy
2. A better way to construct the outline path, in the case
   that the command is scanning the entire hierarchy anyway
3. Avoid comparing the true-names of files.
2008-12-15 10:23:56 +01:00
Tassilo Horn ddcdaa7f87 Changelog entry for org-gnus patch. 2008-12-13 00:57:49 +01:00
Carsten Dominik 73ab743a6f Fix LaTeX export bug with regions and initial content.
This is an old and nagging bug, see

  http://thread.gmane.org/gmane.emacs.orgmode/8809/focus=8838

for more information.  This fixes the bug, hopefully.
2008-12-13 00:18:35 +01:00
Carsten Dominik 7f08a00779 Improve docstring of `org-table-recalculate'. 2008-12-12 14:50:43 +01:00
Carsten Dominik 5ff646fc90 Make @0 reference the last data line in a table.
The last data line in a table is often a line with important data, for
example sums of a column.  In tables with varying length, the row
number of this line is constantly changing, which makes it hard to
write programs creating tables and then installing formulas.

This patch introduces @0 as a special reference to the last row, so
that @0$3 would be the field in the last row, 3rd column.
2008-12-12 08:53:43 +01:00
Carsten Dominik 8e6239b867 Update docstring of org-log-done.
Patch by Danie Clemente.
2008-12-11 06:05:30 +01:00
Carsten Dominik cf75cdb7f3 Fix bugs with new figure <div>. 2008-12-10 23:43:24 +01:00
Carsten Dominik ac83bc01d7 Better implementation of unique entry IDs.
Unique identifiers for entries can now be used more efficiently.
Internally, a hash array has replaced the alist used so far to
keep track of the files in which an ID is defined.  This makes it
quite fast to find an entry by ID.

There is now a new link type which looks like this:

id:GLOBALLY-UNIQUE-IDENTIFIER

This link points to a specific entry.  When you move the entry to
a different file, for example if you move it to an archive
file, this link will continue to work.

The file /org-id.el/ contains an API that can be used to write
code using these identifiers, including creating IDs and finding
them wherever they are.

Org has its own method to create unique identifiers, but if the
system has /uuidgen/ command installed (Mac's and Linux systems
generally do), it will be used by default.  You an also select
the method by hand, using the variable =org-id-method=.

If the ID system ever gets confused about where a certain ID is,
it initiates a global scan of all agenda files with associated
archives, all files previously known containing any IDs, and all
currently visited Org-mode files to rebuild the hash.  You can
also initiate this by hand: =M-x org-id-update-id-locations=.
Running this command will also dump into the =*Messages*= buffer
information about any duplicate IDs.  These should not exist, but
if you /copy/ an entry with its properties, duplicate IDs will
inevitably be produced.  This is unavoidable in a plain text
system that allows you to edit the text in arbitrary ways, and a
portion of care on your side is needed to keep this system clean.

The hash is stored in the file =~/.emacs.d/.org-id-locations=.
This is also a change from previous versions where the file was
=~/.org=id-locations=.  Therefore, you can remove this old file
if you have it.  I am not sure what will happen if the =.emacs.d=
directory does not exists in your setup, but in modern Emacsen, I
believe it should exist.  If you do not want to use IDs across
files, you can avoid the overhead with tracking IDs by
customizing the variable =org-id-track-globally=.  IDs can then
still be used for links inside a single file.

IDs will also be used when you create a new link to an Org-mode
buffer.  If you use =org-store-link= (normally at =C-c l=) inside
en entry in an Org-mode buffer, and ID property will be created
if it does not exist, and the stored link will be an =id:= link.
If you prefer the much less secure linking to headline text, you
can configure the variable =org-link-to-org-use-id=.  The default
setting for this variable is =create-if-interactive=, meaning
that an ID will be created when you store a link interactively,
but not if you happen to be in an Org-mode file while you create
a remember note (which usually has a link to the place where you
were when starting remember).
2008-12-10 23:32:37 +01:00
Carsten Dominik b2ad719f51 Implement a new link type "id:" to link to entry ids. 2008-12-10 14:31:18 +01:00
Carsten Dominik 45102b68ce Captions and attributes for images and tables during export
Tables, and Hyperlinks that represent inlined images, can now be
equipped with additional information that will be used during
export.  The information will be taken from the following special
lines in the buffer and apply to the first following table or
link.

  - #+CAPTION: :: The caption of the image or table.  This string
       should be processed according to the export backend, but
       this is not yet done.
  - #+LABEL: :: A label to identify the figure/table for cross
       references.  For HTML export, this string will become the
       ID for the `<div class="figure">' element that encapsulates
       the image tag and the caption.  For LaTeX export, this
       string will be used as the argument of a `\label{...}'
       macro.  These lables will be available for internal links
       like `[[label][Table] ]'.
  - #+ATTR_HTML: :: Attributes for HTML export of image, to be
       added as attributes into the `<img...>' tag.  This string
       will not be processed, so it should have immediately the
       right format.
  - #+ATTR_LaTeX: :: Attributes for LaTeX export of images, to
       be inserted into the optional argument of the
       `\includegraphics[...]{file}' command, to specify scaling,
       clipping and other options.  This string will not be
       processed, so it should have immediately the right
       format, like `width=5cm,angle=90'

For LaTeX export, if either a caption or a label is given, the
element will be exported as a float, i.e. wrapped into a figure
or table environment.
2008-12-10 12:50:07 +01:00
Carsten Dominik a64bf8f599 Fix bug in XEmacs compatibility code.
Calling `org-substring-no-properties' with a nil value for FROM would
cause XEmacs to throw an error.

Thanks to Thomas Fuchs for the fix.
2008-12-08 21:57:46 +01:00
Carsten Dominik acfdd25581 Move the org-before-first-heading-p function to org.el.
This function was defined in org-registry.el, but it is generally useful.
2008-12-08 17:34:16 +01:00
Carsten Dominik 0216c9a27c Fix minor problems with blockquote and verse HTML export.
Xerxes Folupa writes:

> I spotted a little inconsistency in the way Org strips tags when
> processing #+begin_verse ... #+end_verse, and #+begin_quote
> ... #+end_quote blocks, compared with other literal blocks that strip
> superfluous <p> tags correctly (e.g. #+html)

[...]

> Additional question: is the space before the <br/> in verse blocks a
> design decision?

This patch fixes these issues.
2008-12-07 21:16:14 +01:00
Carsten Dominik 37d2872508 Remove double let-bindings. 2008-12-05 16:10:25 +01:00
Carsten Dominik 94fa3dcffa Rename some ill-named function in org-table.el. 2008-12-05 13:19:36 +01:00
Carsten Dominik 575dcb3d3b Make table formulas error when a relative row reference tries to cross hline.
Tassilo Horn asked for this, because he finds the default behavior of
silently choosing a different row too confusing.  I actually do agree.

The main use of this feature was running averages, if you need this
feature, you can customize the variable
`org-table-error-on-row-ref-crossing-hline'.
2008-12-05 13:14:24 +01:00
Carsten Dominik 520ff98609 Fix problem with moving trees in XEmacs.
Moving trees up or down with XEmacs caused a problem when the tree is
at the beginning if the buffer or narrowed region.  This patch
protects the relevant calls to outline-flag-region so that they are
only executed if the range is valid.
2008-12-05 09:39:37 +01:00
Carsten Dominik 4298df987b Fix bug with radio targets.
The variable containing the regexp for radio target matches was not
buffer-local, causing all sorts of problems.
2008-12-05 08:16:55 +01:00
Carsten Dominik d996cbb312 Customizable faces for individual tags.
Samuel Wales writes:

> It would be really nice if you could set tags to different
> faces the way you can with todo keywords.
>
> For example, you could set :urgent: to a bright color.  Or
> set a face for all contexts.

This patch add a new customization variable `org-tag-faces' that can
be used to specify such faces.  The rest of the patch implements these
new faces in Org-mode buffers as well as in the agenda.
2008-12-04 14:24:21 +01:00
Carsten Dominik 760c3ec098 Implement new quoting for CDATA elements.
It seems that CSS and Java-script stuff should be quoted in a very
strange way in order to make sure that the resulting file functions
correct in current browsers *and* validates against various XHTML and
XML standards.  To be honest, the quoting technique seem really
strange, but Sebastian Rose argues, that this is the way to handle
this issue.
2008-12-03 23:55:10 +01:00
Carsten Dominik bac235cb67 Install w3m copying command in w3m-minor-mode-map.
Gnus uses w3m to wash HTML messages and installs w3m-minor-mode-map in
these buffers.  Therefore, this patch makes sure that the special copy
command that converts HTML links to Org-mode links also gets installed
into the minor mode map.

This is as yet untested.
2008-12-03 16:10:41 +01:00
Carsten Dominik 6e31b9eace Fix bug with multiple archiving to sibling.
Calling `org-archive-to-archive-sibling' caused problems when used
several times in a row.  The new killed subtree would be appended to
the current head of the kill-ring, instead of being pushed there.  The
reason for this is that the command `kill-region', which is called by
`org-cut-subtree' changes the variable `this-command', so that during
the next archive command, `kill-region' will think that the previous
command was also a kill and do the append.

Normally this is wanted, to make sure that several kill commands
create one big yank string.  But in this case it has to be avoided.
The patch fixes the problem by let-binding (and therefore protecting)
the value of `this-command' around the call to `org-cut-subtree'.

Reported by Bernt Hansen.
2008-12-03 15:00:10 +01:00
Carsten Dominik b266f5a90c Make LOCATION property inheritable for iCalendar export.
Harri Kiiskinen suggested that it might be useful to make the LOCATION
property an inherited property during iCalendar export.  In this way
you can have set the LOCATION for a whole set of items by setting it
only in the parent.

While this will slow down iCalendar export for large files, I think it
can be quite useful.  This patch does implement the basic code needed
for this functionality.  However, you still need to tell Org that
LOCATION should be inherited, by setting org-use-property-inheritance.
If you set it to t, beware that this may trigger a significant
slowdown when creating the match view in the agenda.  So it may be
better to set this variable to

(setq org-use-property-inheritance '("LOCATION"))

instead.
2008-12-03 08:28:26 +01:00
Carsten Dominik aa07f68c12 Better handling of export options.
This patch improves the internal handling of the large number of
export options that Org-mode has.  In particular, it now defines a
single constant, `org-export-plist-vars' that contains the full list
of options, and how these can be accessed through variables, and
through the #+OPTIONS line.  Before the patch, there used to be a
separate list or the OPTIONS handling, which has gotten out of sync.
This now no longer can happen.

Also, this patch adds two new variables, `org-export-with-priority',
and `org-export-with-todo-keywords', which can be used to turn the
export of TODO keywords and priority cookies on and off, so that these
can simply disappear and not be shown in the exported file.  In fact,
the default for the priority cookie is to remove it.
2008-12-03 07:33:05 +01:00
Carsten Dominik 4800fd8b7c Fix bugs in implementation and documentation of the mapping API.
There were bugs in the mapping API, pointed to by Samuel Wales:

    Manual says:

     The following example counts the number of entries with TODO keyword
     WAITING, in all agenda files.

        (length (org-map-entries t "/+WAITING" nil 'agenda))

    Org says invalid function for the string.

First of all, the example in the manual was wrong, the "nil" should be
gone.  Second, the mapping function did not return all results in a
list, so that `length' could not count them.

This patch fixes these issues.
2008-12-02 16:53:25 +01:00
Carsten Dominik 269c5a85bc New ways to specify time comparison values in property searches.
In addition to "<now>", "<today>", "<yesterday>", and
"<tomorrow>", there are more special values accepted now in
time comparisons in property searches:  You may use strings
like =<+3d>= or =<-2w>=, with units d, w, m, and y for day,
week, month, and year, respectively

Thanks to Linday Todd for this proposal.
2008-11-29 19:12:03 +01:00
Carsten Dominik 0bb7429c3d Fix org-gnus.el for XEmacs. 2008-11-29 07:53:22 +01:00
Carsten Dominik 733dfca36b Allow to exclude specific tags from inheritance.
So far, the only way to select tags for inheritance was to
allow it for all tags, or to do a positive selection using
one of the more complex settings for
`org-use-tag-inheritance'.  It may actually be better to
allow inheritance for all but a few tags, which was difficult
to achieve with this methodology.

This patch introduces a new option,
`org-tags-exclude-from-inheritance' which allows to specify an
exclusion list for inherited tags.
2008-11-27 13:15:29 +01:00
Carsten Dominik f6b9e77ded Show inherited tags in the agenda.
This patch does a lot of things.  First, it makes sure that the tags
transferred to the agenda as text properties on each line are do carry
information about there origin (in the form of an `inherited' text
property).  Then it modifies the function creating agenda lines so
that inherited tags will be listed and identified as such in the
agenda.

This new feature can be turned off with a new variable,
`org-agenda-show-inherited-tags'.
2008-11-27 09:25:50 +01:00
Carsten Dominik a196eaa15c New file org-w3m.el, by Andy Stewart.
This file implements a special function to copy text from a w3m buffer
in a way that when the text is yanked back into an Org-mode buffer,
the links will be translated to Org syntax.
2008-11-26 15:45:50 +01:00
Carsten Dominik 69ac82e1e6 Make `C-c |' work in orgtbl-mode.
This key needs special treatment, because it needs to work *outside*
tables.  The patch introduces a special command to call the
creation/conversion function if there is no conflicting binding to
`C-c |' outside of orgtbl-mode.
2008-11-26 09:14:09 +01:00