Commit Graph

347 Commits

Author SHA1 Message Date
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
Carsten Dominik 07c77bc4dc Make S-SPC work in orgtbl-mode.
S-SPC did lead to an error in orgtbl-mode, because there is no binding
to this key.  Now orgtbl-self-insert-command falls back on calling
self-insert-command for such cases.
2008-11-26 08:30:21 +01:00
Carsten Dominik c0a779bd9d Fix bug with handling of targets in ASCII export.
Target text used to disappear, now it is kept as it should be.
2008-11-26 07:32:10 +01:00
Carsten Dominik 7e3aa26628 Finalize the relative-timer setup.
This cleans up the implementation of the timer.  Most important change
is that, after starting a time list with `C-c C-x -', you can then
simply use M-RET to add new items, which is addictive!
2008-11-25 20:20:52 +01:00
Carsten Dominik 4b2d3c6feb Implement timer for timed notes.
This patch implements a relative time for taking timed notes, useful
for example while watching a video, or during a meeting which is also
recorded.  Here are the new commands:

    - `C-c C-x .' ::
      Insert a relative time into the buffer.  The first time
      you use this, the timer will be started.  When called
      with a prefix argument, the timer is reset to 0.

    - `C-c C-x -' ::
      Insert a description list item with the current relative
      time.  With a prefix argument, first reset the timer to 0.

    - `C-c C-x 0' ::
      Reset the timer without inserting anything into the buffer.
      By default, the timer is reset to 0.  When called with a
      `C-u' prefix, reset the timer to specific starting
      offset.  The user is prompted for the offset, with a
      default taken from a timer string at point, if any, So this
      can be used to restart taking notes after a break in the
      process.  When called with a double prefix argument
      `C-c C-u', change all timer strings in the active
      region by a certain amount.  This can be used to fix timer
      strings if the timer was not started at exactly the right
      moment.
2008-11-25 12:07:23 +01:00
Carsten Dominik 8e31f6f99c Fix publishing of component files.
When starting the publishing process with
`org-publish-current-project' from a file that is located in a project
that is also a component of a parent project, this patch now makes
sure that the entire parent project is published instead.
2008-11-25 10:56:37 +01:00
Carsten Dominik 4e4bdf3646 Fix site-map creation in org-publish.
The creation of an automatic site map in org-publish with the
:auto-index and :index-filename parameter does exclude the index
file name from being added to the index.  There was a bug which would
exclude this file name also in all subdirectories in a project. This
patch switches the comparison from looking at file names only to
looking at the complete path.
2008-11-25 07:18:36 +01:00
Carsten Dominik aacbb2756c Fix RET in orgtbl-mode, when cursor is at the beginning of the buffer.
RET did fail in orgtbl-mode, if the cursor was at the beginning of the
buffer.  Now it opens a new line whenever the cursor is at the
beginning of a line, and that includes the beginning of the buffer.....
2008-11-24 22:45:56 +01:00
Carsten Dominik 663960af62 Improve removal of temporary buffers during publishing.
Report by Richard Riley.
2008-11-24 18:27:14 +01:00
Carsten Dominik 1ba1ac5045 Merge changes from downstream Emacs. 2008-11-24 12:21:40 +01:00
Carsten Dominik 74e7111a5f Implement outline-path-completion in one go. 2008-11-24 10:59:10 +01:00
Carsten Dominik 3bd0676370 Issue warning if the clock cannot be resumed.
If a clock-save file tries to restore the running clock, but the task
does not have an unfinished clock, warn the user with a message.
2008-11-23 08:07:56 +01:00
Carsten Dominik 382eedaab4 Make sure the clocktable sees the first line of the buffer.
Org-mode still has a few operations that do not work well when the
first line of a buffer is a headline.  One was constructing the clock
table, but this one is eliminated by this patch.
2008-11-23 07:30:18 +01:00
Carsten Dominik ad62fc94e4 Fix mixup about interactive and non-interactive elisp links.
Patch by Christopher Suckling.
2008-11-23 00:35:20 +01:00
Carsten Dominik 33744b0de5 Allow one comment line before the first headline.
When the export skips the text before the first headline, we now
include the comment line before the first headline, if any.
This makes sure that we can specify an anchor for this headline.
2008-11-21 19:45:51 +01:00
Carsten Dominik a99a1814fa Enhance XEmacs compatibility by avoiding `indent-to' calls. 2008-11-21 17:44:05 +01:00
Carsten Dominik 6fbcc77e99 Fix customize definition so that it works also in XEmacs.
`org-refile-target' was using (const :tag), which can be confusing,
and XEmacs is actually confused by it.

So we now use (const :value :tag) instead.
2008-11-21 15:32:26 +01:00
Carsten Dominik db5c609be9 6.13pre04 2008-11-21 13:35:45 +01:00
Carsten Dominik 0a402deeb9 Fix bug with MEW case folder.
Reported by Harri Kiiskinen, fixed by Tokuya Kameshima.
2008-11-21 13:31:42 +01:00
Carsten Dominik 94e8fa7ca0 Remove "\\" during ASCII export.
"\\" at the end of a line marks forces line breaks for HTML and LaTeX
export.  ASCII export does preserve lines anyway, but these line break
indicators might still be present and need to be removed.

Reported by Rustom Mody.
2008-11-21 13:16:18 +01:00
Carsten Dominik 59f70c6ba6 Remove the "i:" prefix for ido-complete prompts. 2008-11-21 12:48:43 +01:00
Carsten Dominik 8a13a7704f Fix XEmacs compatibility problems. 2008-11-21 09:14:26 +01:00
Carsten Dominik 272a536080 Make it possible to have two spaces after some list bullets.
This patch introduces a new variable,
`org-list-two-spaces-after-bullet-regexp'.  It can be a regular
expression matching plain list bullets.  When it matches, changing the
bullet type will introduce two spaces instead of one after each
bullet.

For example,

   (setq org-list-two-spaces-after-bullet-regexp "[.)]")

will make two spaces after "1." and "1)".
2008-11-21 06:54:46 +01:00
Carsten Dominik da7b292ce9 More clean-up of the clock persistence code.
This patch compacts the persistence code.  It also make sure that no
variables outside Org's name space are created.  Finally, it makes
sure that the resumed clock is not hidden after a restart of Emacs.
2008-11-21 06:19:29 +01:00
Carsten Dominik ab20e602b1 Allow a second space after "1." bullet for line wrapping. 2008-11-21 06:00:42 +01:00
Carsten Dominik 0529c08e5b Do much more consistency checking when storing and resuming the clock.
Saving the clock history and the running clock could lead to pointers
to non-existing buffer, or to dired buffers of directories.  This
patch implements more consistency checks.

It also allows a new value for `org-clock-persist'.  When this is
`clock', only the running clock, but not the entire clock history
is saved.
2008-11-20 17:54:26 +01:00
Carsten Dominik 461c9df562 Adapt indentation when bullet width changes.
Commands that modify the bullet style of a plain list, or that
renumber such a list may lead to changes in the width of a bullet.
The indentation of the lines below such a bullet is now automatically
adapted.

Also fixes a bug in bullet style cycling.
2008-11-20 10:03:31 +01:00
Carsten Dominik 06ec0e46ad Describe new modules in various places. 2008-11-19 17:33:23 +01:00
Carsten Dominik fb22510c1c Use the new minor mode to exit remember buffers.
Since we have now a minor mode in remember buffers, we use its
keymap also to exit and to abort the remember process.
2008-11-19 11:49:17 +01:00
Carsten Dominik 545ffe93b4 Fix some typos. 2008-11-19 10:03:01 +01:00
Carsten Dominik e51d317a21 New minor org-remember-mode, for extra keybindings.
This patch defines a new minor mode, `org-remember-mode', which is
turned on when Org-mode is used to handle a remember buffer.  This
provides a safe way to modify keybindings (in
`org-remember-mode-map'), without overwriting keys in `org-mode-map'.
Since Org put remember buffers into Org-mode, remember-mode-map will
be entirely ignored.
2008-11-18 20:32:01 +01:00
Carsten Dominik c60cf93d15 No ido completion for free prompts in remember templates.
do completion does not work well with values including white space,
which means we cannot use it in completion of values in remember
templates.  This patch turns it off for this application.

Report by Richard Riley.
2008-11-18 09:48:34 +01:00
Carsten Dominik 9f1e6fa952 Avoid error when ID is created in buffer without a file.
When ID's are created, Org tries to remember in which file the id is
located.  However, if an ID is created in a remember buffer, no file
is known.  This patch makes sure that this condition does not lead to
an error.
2008-11-18 08:59:39 +01:00
Carsten Dominik 627cc45e71 Fix bug with allowed property values for remember templates.
When an org-remember template inserts a property, the template-creating
function tries to support the user by retrieving a list of allowed
values to facilitate completion.  So far this was done by getting the
property with inheritance, ignoring that the cursor in the target file
buffer may not be in an entry at all.  So now we just look at the global
and file lists of allowed values.

Reported by James TD Smith.
2008-11-18 08:27:26 +01:00
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