Commit Graph

450 Commits

Author SHA1 Message Date
Carsten Dominik 20dbb0c73f Footnotes: Fix some minor issues. 2009-01-24 12:25:36 +01:00
Carsten Dominik e793158bc8 Tables: Support for references to remote tables
Formulas can now refer to fields and regions in other tables, be it in
the same file or even in different files.

This also opens the door for more interesting R support, because
arbitrary tables in a file can now be accessed with appropriate
commands.

Finally, this commit also introduces a convenience for creating
references in tables.  For the purpose of references, it will always
be *assumed* that there is another hline at the end if each table.  So
for example in a table that has only a single hline, to separate
header from data, you can now access all of column two with
"@I$2..@II$2".
2009-01-24 10:51:21 +01:00
Carsten Dominik a167da89d1 Bugfix: Fix an incorrect face definition. 2009-01-22 10:24:09 +01:00
Carsten Dominik 7d05ba72c8 Clock: Independent face for clock overlay display.
William Henney writes:

     If a heading has tags, then that heading's time summary
     overlay (shown by C-c C-x C-d) is displayed using the
     org-tag face. This looks a bit strange. Is it intended? It
     is especially noticeable in my case, since I have my tags
     shown in a smaller font.

This is cause by the fact that we use the `secondary-selection' face
here which only highlights but inherits the rest from what is below.
The idea was that these clock times should have the same color as the
headline they belong to, but this idea is defeated when a line has tags
with a very different face.

This commit introduces a separate face for this purpose, so that users
can customize it.
2009-01-22 07:27:36 +01:00
Carsten Dominik 19351e35c2 Version number: pushed to 6.18trans 2009-01-21 17:59:42 +01:00
Carsten Dominik ae34f0beb3 Export: Include "<" in the options template.
`C-c C-e t' inserts a template with options.  Ian Barton reported that
this template was not complete, the timestamp switch "<" was missing.
2009-01-21 17:56:48 +01:00
Carsten Dominik ac2347589e Structure editing: Improved item/headline conversion
The conversion commands `C-c -' and `C-c *' are now better
    behaved and therefore more useful, I hope.

    If there is an active region, these commands will act on the
    region, otherwise on the current line.

    - C-c - :: This command turns headings or normal lines into
         items, or items into normal lines.  When there is a
         region, everything depends on the first line of the
         region:
         - if it is a item, turn all items in the region into
           normal lines.
         - if it is a headline, turn all headlines in the region
           into items.
         - if it is a normal line, turn all lines into items.
         - special case: if there is no active region and the
           current line is an item, cycle the bullet type of the
           current list.
    - C-c * :: This command turns items and normal lines into
         headings, or headings into normal lines.  When there is
         a region, everything depends on the first line of the
         region:
         - if it is a item, turn all items in the region into
           headlines.
         - if it is a headline, turn all headlines in the region
           into normal lines.
         - if it is a normal line, turn all lines into headlines.
2009-01-21 17:45:07 +01:00
Carsten Dominik c5338b69d7 LaTeX export: Properly protect entire LaTeX environments
LaTeX environments should be left as they are, fully protected.
There was a regular expression error in the code doing this.
2009-01-21 10:23:49 +01:00
Carsten Dominik 0e46dc3f9c LaTeX Export: Allow class definition in property
When exporting a region starting with a headline, a LaTeX_CLASS
property in that entry will be honored.

Requested by Robert Goldman.
2009-01-20 09:07:35 +01:00
Carsten Dominik 0ce821c5c4 LaTeX export: Make quotes exported right before a footnote reference.
Matt Lundin writes:

    I'm have a *minor* issue to report. It occurs when I export
    an org file with footnotes to LaTeX. Specifically, it has to
    do with the combination of American style quotation marks
    and footnotes.

    According to many American manuals of style, quotation marks
    are to be placed after a sentence ending period if the
    quoted passage is at the end of the sentence. E.g.

    ,----
    | Here is "a quote."
    |
    | not
    |
    | Here is "a quote".
    `----

    When I use American style quotation in conjuction with a
    footnote, the exporter does not convert the closing quote
    marks into a two single quotation marks (i.e., LaTeX smart
    quotes).

    Thus, the following source snippet:

    ,----
    | This is a footnote "with a quote."[fn:sample] And here
    |  is another footnote "with a quote".[fn:another]
    |
    | [fn:sample] Here is the sample footnote.
    |
    | [fn:another] Another footnote.
    `----

    Becomes

    ,----
    | This is a footnote ``with a quote."\footnote{Here is
    |    the sample footnote. } And here is another footnote ``with
    |  a quote''.\footnote{Another footnote. }
    `----

    Notice the double quotation mark (rather than two single
    apostrophes) at the end of the first sentence. Notice also
    the correct quotation mark format appears in the second
    sentence, where the period comes after the quotation mark.

This commit addresses this issue by checking of text
protection is off not after the quotation mark, but before.
2009-01-20 08:26:44 +01:00
Carsten Dominik ff85ca95db Export: Optionally use <textarea> for example export.
Examples and src block can now be exported as <textarea> elements to
HTML if this is desired.  See the documentation for more details.
2009-01-19 23:13:58 +01:00
Carsten Dominik 0405dde8ef Footnotes: Avoid matches in links.
Reported by Ian Barton.
2009-01-19 16:15:12 +01:00
Carsten Dominik bc530157aa Export: Keep relative path to image relative also after LaTeX export.
Reported by Manish.
2009-01-19 15:59:03 +01:00
Carsten Dominik e76dd96fce Bugfix: No "language" attribute in <script> tag.
Reported by Sebastian Rose.
2009-01-19 14:30:42 +01:00
Carsten Dominik 9aa72230a2 Agenda: Allow typing a question mark in an agenda query string
Reported by Paul R.
2009-01-19 10:40:38 +01:00
Carsten Dominik be6c0959bb Attachments: Allow user-chosen directory and inheritance
The directory used for attachments to an entry is by default chosen
automatically, with a name derived from the entry ID to make sure it
is unique.

However, in some cases it may be better to assign a user-chosen
directory to and entry, to be used for attachments.  This commits
implements this change.  See the documentation changes for information
on how things work.

Thanks to Jason Jackson for pushing this part.

The second change made bu this commit is that it is now possible to
inherit the attachment directory from a parent, so that an entire
project subtree can use a single directory.
2009-01-19 08:42:38 +01:00
Carsten Dominik 33897c104b Bugfix: Use `window-full-width-p' correctly. 2009-01-18 21:21:29 +01:00
Carsten Dominik 03d324ac2b Export: Better detection of images that can be inlined.
Two new variables, `org-export-html-inline-image-extensions' and
`org-export-latex-inline-image-extensions' now define the file
extensions that will be considered for inlining images.  The default
for HTML is png, jpg, jpeg, and gif files.  The default for LaTeX is
png, jpg, jpeg, and pdf, assuming processing with `pdflatex'.

For LaTeX export, this can lead to conflicts for links that point
to non-image PDF files.  To avoid that such a link will be inlined by
accident, always give a description text for such a link, one that is
not equal to the path.
2009-01-18 19:14:10 +01:00
Carsten Dominik 19421c2513 Agenda: Make block separator configurable.
The new option `org-agenda-block-separator' can be used for this.
2009-01-18 08:22:18 +01:00
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