Commit Graph

588 Commits

Author SHA1 Message Date
Carsten Dominik a6d10bc848 Publishing: Copy attachment only if target directory is different 2009-03-06 17:43:11 +01:00
Carsten Dominik 0850b14c8f Clocktable: Use inactive time stamps for stepwise table
Adam Elliott writes:

>  When run in day-step mode, the clocktable header line for each day's
>  table contains an active timestamp.  I figure it should be an inactive
>  timestamp, since otherwise I get a junk entry in the agenda each day
>  (whatever heading was previous to the clocktable).
>
>  I'm talking about the output from a spec such as the following:
>
>  #+BEGIN: clocktable :block thisweek :step day

This commit is the patch Adam sent in.
2009-03-05 16:11:57 +01:00
Carsten Dominik 5faf13a071 Completion: Add missing #+ keywords for completion 2009-03-05 10:18:26 +01:00
Carsten Dominik 6ccc6b4652 Export: Fix problem with exporting message mode src regions
Message-mode assigns auto-safe file names to temporary buffers, in the
draft directory.  This causes problems when running message-mode in a
temporary buffer with with-temp-buffer.  When the form tries to kill
the buffer, is asks for saving it....

This commit turns off the buffer-modified flag and so avoids the
query.

Patch by Nick Dokos.
2009-03-05 00:01:50 +01:00
Carsten Dominik d685f0fc87 Mapping: Remove inheritance penalty when scanning for tags
Running a command that would use the tag scanner could suffer a large
slow-down when many entries match, because the tag list with
inheritance forces each matching entry to walk the hierarchy.

Now, it is possible to avoid this penalty by using the variable
`org-scanner-tags', or by binding the `org-trust-scanner-tags' to t
around calls to `org-get-tags-at' and `org-entry-properties' when
retrieving tags and properties for the current entry in the
scanner/mapper.
2009-03-04 11:38:02 +01:00
Carsten Dominik 3d02600149 Tags: Use internal tags list for agenda
An agenda item carries a full list of tags.  The list must normally be
made, but not during a tags scan.  So now the tags scan does pass on
its list instead, which should make things faster.
2009-03-04 09:46:19 +01:00
Carsten Dominik 7cd006b1d7 Tags: Make matches case-sensitive
Tags matches used to be case-insensitive.  But this causes too many
problems in the code, o from now on, tag matches will be
case-sensitive.
2009-03-04 09:21:45 +01:00
Carsten Dominik 3a959f9d30 Agenda: Fix bug with tag inheritance
Jeff Mickey writes:

>  Hey all,
>
>  To reproduce:
>
>  * TODO Make Bicycle :project:workshop:
>  ** TODO Buy stuff
>  ** TODO Build stuff
>  ** TODO Test stuff
>
>  (setq org-use-tag-inheritance t)
>  (setq org-tags-exclude-from-inheritance '("project"))
>
>  <C-a m> to type in a match string to search, I type in "project"
>
>  I expected to see:
>  TODO Make Bicycle
>
>  I saw:
>  TODO Make Bicycle
>  .TODO Buy stuff
>  .TODO Build stuff
>  .TODO Test stuff
>
>  I assume this isn't what is supposed to happen.  I'm currently at work
>  so I can't investigate and provide a diff, but it seems like there
>  needs to be a check in org.el:10144:org-get-tags-at to remove tags
>  that are explicitly excluded from inheritance.

This commit fixes the bug.
2009-03-04 09:11:39 +01:00
Carsten Dominik 3b396b0e77 Bugfix: Don't add CLOSED timestamp when repeating 2009-03-04 00:18:43 +01:00
Carsten Dominik 8c412ca71f Agenda: Allow custom commands to specify a filter preset.
Custom commands can now bind `org-agenda-filter-preset'.  This filter
will then be present in the agenda view and persist through refresh
and further filtering.  Only a new agenda command will remove the
filter again.
2009-03-03 15:41:15 +01:00
Carsten Dominik d8e4a35974 HTML Export: Make IDs valid
uuidgen ids may start with a number and therefore are not valid names
in HTML.  Therefore we now use and "ID-" prefix for such IDs when
exporting to HTML.
2009-03-03 14:06:11 +01:00
Carsten Dominik d3d2b3e835 Priorities: Allow specific faces for priority cookies
The variable org-priority-faces can now be used to set special faces
for different priority cookies.

Also, in the agenda, the default is now to fontify only the priority
cookie, not the entire task.  See the variable
`org-agenda-fontify-priorities'.
2009-03-03 12:44:53 +01:00
Carsten Dominik 23d9c79654 HTML export: Add validation link to page
An exported document can now have a link for XHTML validation
included.

Patch by Sebastian Rose
2009-03-03 10:57:33 +01:00
Carsten Dominik e688c534a8 HTML export: Find bibliography and move to to after the last section.
Before, the bibliography will exist inside the outline structure, as
part of the last section.  This commit adds code to find it, cut it
out, and move it to a better location.
2009-03-03 10:46:55 +01:00
Carsten Dominik a68eb4b1e6 HTML export: Add <div id="content"> around everything in <body> 2009-03-03 10:26:31 +01:00
Carsten Dominik a5b2a0c759 Documentation: Improve and collect documentation about the match view 2009-03-03 10:20:23 +01:00
Carsten Dominik f33787b7a8 Archiving: Fix new bug with archiving when heading is not given.
Reported by Ed Hirgelt.
2009-03-02 21:52:00 +01:00
Carsten Dominik 721dae7dd5 Bugfix: Better indentation for new clock/logbook drawers 2009-03-02 06:41:29 +01:00
Peter Jones 8b38105040 Conditionally delete windows in agenda quit
Before this patch, org-agenda-quit would delete the agenda window if
the frame had more than one window.  This patch changes that behavior
slightly so that if org-agenda-window-setup is 'current-window, the
agenda window won't be deleted.
2009-03-01 17:18:35 +01:00
Carsten Dominik 89e0d3608d Tags: Fix implementation of line breaks in fast tag interface
Patch by Christopher Suckling
2009-03-01 13:56:48 +01:00
Carsten Dominik 2b4788ae9d ASCII export: Fix issues with new link export 2009-02-28 21:56:55 +01:00
Carsten Dominik 7c92da7ba8 Archive: Fix bug when archiving to top-level
Org erroneously filed top-level headings as level 2, because it
assumes that if should file below some heading.  However, if there is
no heading to file under, this should be turned off.

Patch by igrekster.
2009-02-27 16:48:43 +01:00
Carsten Dominik 75ba44f877 Docs: Improve documentation for BBDB anniversaries 2009-02-27 08:27:44 +01:00
Carsten Dominik 06c40a9ad7 Lists: No automatic empty lines if empty lines terminate the list
When inserting new list entries, sometime empty lines will be
inserted automatically.  This, however, makes only sense if empty
lines do not terminate the list, as configured by
`org-empty-line-terminates-plain-lists'.

This commit makes sure that, if
`org-empty-line-terminates-plain-lists' is set, automatic empty lines
will never be inserted.
2009-02-26 22:30:23 +01:00
Carsten Dominik b4455950e3 Publishing: Fix bug with finding project for a file.
Ian Barton writes:

>
> This has been happening for a while. I suspect it's something in my
> settings, but I can't work out what. When I publish a single file, I
> get the following error:
>
> Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
>  file-truename(nil)
> org-publish-file("/home/ian/nfs/firewall/Documents/org/holiday/holiday.org")
>  org-publish-current-file(nil)
>  call-interactively(org-publish-current-file)
>  org-export(nil)
>  call-interactively(org-export)
>
> Publishing a whole project works fine.

This was caused by an attempt of the publishing code to always find
the top enclosing project.  While this makes sense when publishing a
project, for a single file we want just the smallest enclosing
project.  This commit makes sure that this difference is treated
correctly.
2009-02-26 22:18:16 +01:00
Carsten Dominik f4d1d56046 Agenda export: Implement PDF export
The agenda can ow also be written to a pdf file.  This requires the
ps2pdf utility to be present on the system.
2009-02-26 21:19:11 +01:00
Carsten Dominik aadcc50e00 Agenda export: Allow entry text to be inlined for export.
A new hook is introduced, `org-agenda-before-write-hook'.
A function that ca be added to this hook is
`org-agenda-add-entry-text'.   When this is done, each of the entries
shown in the agenda is amended with text that in the original buffer
is part of the entry text below the headline.  Drawers are not copied,
and also the line with scheduling and deadline information is not
used.  Finally, the number of ines to be added is imited by
`org-agenda-add-entry-text-maxlines'.
2009-02-26 20:56:26 +01:00
Carsten Dominik 7455d5aaf8 Improve some docstrings 2009-02-26 13:39:30 +01:00
Carsten Dominik fe03884553 ASCII export: Better link export.
Links with description not create a note before the next headline that
contains the link.  In the text, the description will be shown.

The new variable `org-export-ascii-links-to-notes' can be configured
to turn off this behavior, then the reference will be inserted inline
in the text.  If the line becomes too long because of this, it will
be wrapped.
2009-02-26 12:59:10 +01:00
Carsten Dominik 3dba115548 Agenda: New option to stop searching headline for a time.
If the headline contains a time-of-day in one format or another, it
will be used to sort the entry into the time sequence of items for a
day.  Some people have time stamps in the headline that refer to the
creation time or so, and then this produces an unwanted side effect.
If this is the case for your, use the new option
`org-agenda-search-headline-for-time' to turn off searching the
headline for a time.
2009-02-25 13:01:28 +01:00
Carsten Dominik f44631e70f Agenda: Make prefix argument to `org-agenda' optional.
This is to make it easier to call this function from lisp.

Patch by Eric Schulte.
2009-02-25 12:51:00 +01:00
Carsten Dominik 8b0d614702 Undo: Cluster self-insert characters for undo
Undo will now remove up to 20 characters typed consecutively, just
like Emacs normally does.  We need a special implementation for this
because Org has its own self-insert command.

The code for doing this is a patch by Martin Pohlack.
2009-02-25 12:46:09 +01:00
Carsten Dominik 21221dd564 Export: Fix bug with ending colon example
There was a bug that would not close a colon example properly if the
line after the example would not have the required space after the
colon.
2009-02-24 05:23:55 +01:00
Carsten Dominik 2512bc972d LaTeX Export: Better error message for emphasis alist conflicts 2009-02-22 20:51:19 +01:00
Carsten Dominik a93c5d2e2e Bugfix: Avoid raising buffer-modified flag during LaTeX export
This had, as usually, to do with changing text properties.

Report by Russel Adams.
2009-02-22 20:50:12 +01:00
Carsten Dominik 405186a16a Editing: Allow separate special settings for C-a and C-e
Alan E. Davis writes:

>  I have found the behavior of the cursor at the beginning of
>  the line to be clumsy, and troublesome.  I cannot easily set
>  a region, for example.
>
>  However, the special setting of ctrl-e is extremely useful.
>
>  A single variable controls these two variables, in a unified
>  way.  This variable also has two aliases.  The aliases are
>  not recognized by the functions that are affected by these
>  variables in org.el: org-beginning-of-line, and
>  org-end-of-line.  As far as I can see, there seems no reason
>  to keep these two aliased variables as references to a
>  single unified variable, insofar as the underlying code is
>  concerned.
>
>  Because, at least for me, the behaviors have sufficiently
>  distinct behaviors, I propose these should be separated.

This is a reasonable request, and this commit implements it.
To have separate values, set org-special-ctrl-a/e to a cons
cell with the setting for C-a in the car and the setting for
C-e in the cdr.
2009-02-22 15:08:33 +01:00
Carsten Dominik 4138be27ba Bugfix: Avoid unnecessary empty line inserted by changing TODO entry.
This commit fixes the bug discussed in:

   http://thread.gmane.org/gmane.emacs.orgmode/11106

The reason for the empty line being inserted is subtle:

The function `org-add-planning-info' is used to add and remove planning
info time stamps (deadline, scheduled, closed) from the second line in
an entry.  Usually, the function is called to add something, with an
optional argument to also remove something.  In doing so, it assumes
that the second line must be there, and if it is not there, it creates
it.

Now, sometimes `org-add-planning-info' is called only to remove a time
stamp.  In this particular case it was to remove the CLOSED time
stamp.  This happens when the state is changed from a DONE or nil
state to a not-done state.  The idea behind this is that maybe to
entry was marked earlier as DONE, but the user has changed his mind,
so the timestamp recording when it was finished should be removed.

So in this case, an empty line was created, assuming that there would
be something to add - only nothing was added.

This commit arranges for checking if there is something to add before
creating an empty line.
2009-02-22 13:44:01 +01:00
Carsten Dominik 9989e5f030 orgstruct++-mode: Make more visible in docs, parse item body
orgstruct++-mode is an enhanced version of orgstruct mode that
also imports all indentation and paragraph settings into the major
mode.  Furthermore, it now allows to use M-RET and M-S-RET in items
after the first line.  The latter change was a request by Austin
Frank.
2009-02-22 12:42:20 +01:00
Carsten Dominik 825efa1ef9 Better way to load uncompiled code for backtrace production
The new command `org-reload' allows to reload all Org lisp files.
By default it will load compiled files if these are available.  If
not, or when called with a C-u prefix argument, uncompiled code will
be loaded.  This is good for producing a meaningful backtrace when an
error occurs.
2009-02-21 08:09:47 +01:00
Carsten Dominik 4be7e8e9b3 HTML export: Also wrap tags into classes.
Like TODO keywords before, now also tags each get their own CSS class,
given by the tag itself.  Invalid characters in tags are all replaced
by "_" to make sure the resulting HTML remains valid.

Two new variables can be used to add a prefix to the class names for
TODO keywords and tags.
2009-02-21 08:02:46 +01:00
Carsten Dominik 8bd874cd30 LaTeX export: More tuning for the options import
Russel Adams writes:

>  That worked, the only point I may make would be to exclude
>  LATEX_HEADER and TEXT from that list.
>
>  I'm also trying to resolve an ordering issue. I want to have a
>  header/footer line declared in the header, but I want to use these
>  orgTITLE macros in that. Currently LATEX_HEADER and the class go first
>  before the definitions, and TEXT occurs inside the document. If the
>  macro isn't defined before the header/footer, you get an error.
>
>  I may have to manually code those, which defeats the purpose of using
>  the org options.

OK, I removed those two fields, and I switched things around so that
the new macros are defined earlier.
2009-02-20 23:04:29 +01:00
Carsten Dominik 081eabb3f6 Agenda: Fix bug with state change matching for log display
Reported by Matt Lundin.
2009-02-20 22:55:50 +01:00
Carsten Dominik 01a061c2fa Lists: Make promotion and demotion work on regions. 2009-02-20 17:20:46 +01:00
Carsten Dominik 40a38050fd Agenda: Fix remote editing of priorities from agenda.
There was a bug when the entry to be edited was invisible.
2009-02-20 09:30:31 +01:00
Carsten Dominik be7d0c4a6c Column view: Fix bug when editing TODO field.
Since we now have org-use-fast-todo-selection set by default,
there is no reason for special treatment of the prefix argument
anymore.

Reported by Wanrong Lin.
2009-02-20 09:12:10 +01:00
Carsten Dominik 3c121459b4 Completion: Allow spaces in some fields
Org has a number of places where the value read by completing-read may
contains spaces.  For these occasions, the space character needs to be
a normal character.

The recent support for ido.el invalidated these special cases because
ido has its own way of dealing with spaces.

This commit now makes sure that ido is off for the critical cases
where completion must allow spaces.
2009-02-20 08:12:47 +01:00
Carsten Dominik 933d88ef3e LaTeX Export: Define TeX macros for in-buffer settings
This commit implements the possibility to import the in-buffer export
options as TeX macros, like \orgTITLE, \orgAUTHOR etc.

Requested by Russel Adams.
2009-02-20 07:55:05 +01:00
Carsten Dominik 08788604e7 Agenda: Fix bug with dimming blocked tasks when subtree is hidden.
Reported by Paul Mead.
2009-02-19 15:47:26 +01:00
Carsten Dominik 06056781fe Agenda: Do not make tasks invisible if they are blocked by checkboxes.
John Rakestraw writes:

>  I noticed today that, at least in my set-up, setting these variables
>  this way:
>
>    (setq org-agenda-dim-blocked-tasks 'invisible)
>    (setq org-enforce-todo-checkbox-dependencies t)
>
>  means that a TODO task with checkboxes doesn't get included in the
>  agenda. However, the sub-tasks in the checkbox list don't get included,
>  either. So the TODO task with checkboxes doesn't show up in the agenda.
>
>  It makes sense given the way the variables work. However, I wonder if
>  it makes more sense for a task with checklisted sub-tasks to be
>  included in the agenda so that the tasks and sub-tasks don't get lost.
>  Or, to put the point slightly differently, I think that a TODO that's
>  blocked because it has dependent TODOs might be treated differently in
>  agenda listings than a TODO that's blocked because it has dependent
>  checklist items.
>
>  Not a big deal to me because I don't typically use checkboxes for TODO
>  items. But I thought I'd raise it for consideration.

I agree with this view and the commit implements exactly this.
2009-02-19 11:12:52 +01:00
Carsten Dominik fa54d8104a Agenda: Fix problems with follow mode. 2009-02-19 10:40:08 +01:00