Commit Graph

826 Commits

Author SHA1 Message Date
Carsten Dominik f49cee2cc4 Column View: Handle empty fields when computing 2009-05-21 10:47:56 +02:00
Carsten Dominik 91f77d7029 Export: Make all export commands push the result to the kill ring
All export commands now push the result to the kill ring by default.
This is subject to the variable `org-export-push-to-kill-ring'.

Also, this commit adds a new variable
`org-export-show-temporary-export-buffer' which can be used to turn
off the display of the temporary buffer containing the exported text.
Since this stuff is now automatically pushed onto the kill ring, some
people might prefer not to see this buffer.
2009-05-21 09:14:33 +02:00
Carsten Dominik 11a7656069 Column View: Implement new operators
Mikael Fornius writes:

> This is my suggestion of an implementation of min/mean/max computation
> in columnview summaries. If you like it feel free to use it.
>
> New operators: {min}, {max} and {mean} possibly prefixed with : for use
> with timevalues.
>
> Example from my running exercise diary:
>
> #+COLUMNS: %DISTANCE{+;%.1f} %HEARTRATE{mean;%.1f} %SPEED{:min} %CALORIES{+}
>
> Gives a colview with summaries:
>
> total distance, mean heartrate, fastest speed (min/km) and total
> calories.
>
> I have tested it on emacs-23 and it works well for me now, also with the
> interactive colview functions.
>
> But you never know really. ;-) Anyway, there should not be any emacs-23
> specific elisp code added afik.
>
> (Because I do not use xemacs I have not tested it with xemacs but the
> small changes I made should be compitable to both xemacs and emacs. I
> would appreciate if someone on this list who uses xemacs will give it a
> try for me. Thanks!)
>
> (This fix also opens up for using user defined lisp functions to
> calculate colview summaries, but I am not sure if that is something
> useful. Like this:
>
> (defun std (&rest values)
>  "Compute standard deviation."
>  ...)
>
> #+COLUMNS: %DATA{eval:std}
>
> If someone finds this attractive it would now be easy to implement as well.)
>
2009-05-21 07:56:55 +02:00
Carsten Dominik 7ca0b03b72 Merge branch 'recursive-todo-stats' 2009-05-20 10:50:13 +02:00
Carsten Dominik f54ff074d2 TODO statistics: Allow recursive statistics
Setting the new option `org-hierarchical-todo-statistics' to nil will
make TODO statistics to be computed recursively.  This means, not only
the direct children of a node contribute to its TODO statistics, but
the entire subtree.

You can also set the COOKIE_DATA property and add the word "recursive"
there to get recursive statistics for a specific tree.
2009-05-20 10:47:38 +02:00
Carsten Dominik f5fc821214 HTML export: Make xml declaration configurable 2009-05-20 08:24:49 +02:00
Carsten Dominik 83e82f9ccd Publishing: Fix `C-u C-c C-e X'.
Publishing a project with prefix argument to
force publishing was broken.  Actually, the entire interactive side of
this function was implemented badly.  Fixed now.
2009-05-19 17:46:09 +02:00
Carsten Dominik 8e44b1fd8b Logging: New property LOG_INTO_DRAWER
Setting this property will overrule the value of org-log-into-drawer
for the scope of the subtree.

Requested by Daniel J. Sinder
2009-05-19 10:35:28 +02:00
Carsten Dominik c88c9ad519 Statistics: New hooks 2009-05-19 09:22:44 +02:00
Carsten Dominik b681a86075 ASCII export: Hide output buffer and dump exported text to kill ring 2009-05-19 08:12:56 +02:00
Carsten Dominik 9236cff71a ASCII export: Fix bug when exporting links 2009-05-17 23:22:52 +02:00
Carsten Dominik cc50f83583 Example editing: Allow multiple editing buffers
Hsiu-Khuern Tang writes:

> Hi Carsten,
>
> You recently changed org-edit-src-code to use a separate buffer
> instead of an indirect buffer.  One side effect of this is that I
> can no longer edit several code examples at the same time:
> opening the second buffer will silently discard any changes made
> in the first.  I would prefer this behavior: when opening the
> second edit source buffer, write any changes in the first buffer
> to the originating Org buffer (but don't save it, of course).
>
> Another approach is to use different buffer names.

The better approach is clearly to allow several buffers, now
implemented with this commit.
2009-05-16 17:08:24 +02:00
Carsten Dominik 0c29415de8 iCalendar export: Fix problem with match data.
Harri Kiiskinen writes:

> There is an elusive bug in the ICal export functions. To
> demonstrate it, open this file, allow for the use of the local
> variable, and run 'org-export-icalendar-this-file'. What I get is
> the message "Wrong type argument: stringp, nil"
>
> -----------------------------
> #+FILETAGS: test
> * TODO header
>
> # Local Variables:
> # org-use-tag-inheritance: "^[t]"
> # End:
> -----------------------------
>
> Now, the funny thing is, that if you change the filetag from
> "test" to "est", close the file, and open it again, the file will
> be exported fine! It seems, that if the filetag does match the
> regular expression in org-use-tag-inheritance, then the result is
> error.

This bug was due to a missing save-match-data around a call to
org-get-tags-at.  However, when studying this bug it turned out
that explicitly checking for the archive tag is not needed,
because we already have a call to `org-agenda-skip' in the same
loop.
2009-05-16 16:05:50 +02:00
Carsten Dominik cad9a82ea4 Macros: Use semicolon as argument separator 2009-05-15 16:20:52 +02:00
Carsten Dominik fbe4f09cd8 HTML export: Add XML declaration
Patch by Sebastian Rose
2009-05-15 09:21:46 +02:00
Carsten Dominik e7e711148a Refile: New hook
Requested by Keith Swartz.
2009-05-14 14:51:42 +02:00
Carsten Dominik 7de716943f Sorting: Run a hook when done with sorting
Requested by Keith Swartz.
2009-05-14 14:47:51 +02:00
Carsten Dominik 0962662663 Agenda: Fix bug with time of day for clocking lines
Peter Frings writes:

> Good day, org-ers
>
> I have seen a *small* problem in the Agenda's log mode.
>
> Org-mode version 6.26d
> GNU Emacs 22.3.1 (i386-apple-darwin9.5.0, Carbon Version 1.6.0) of 2008-11-01
>
>
> I have this in time-sheets.org:
>
>
> * Project AI
> ** Enhancement PT <2009-04-30 Thu 10:00-11:00 +1w>
>    CLOCK: [2009-05-14 Thu 09:55]--[2009-05-14 Thu 10:45] =>  0:50
>
>
> But, the Agenda shows this:
>
> Day-agenda (W20):
> Thursday   14 May 2009
>                9:00...... ----------------
>   planning:    9:12- 9:55 Clocked:   (0:43) BUSY Notifications
>   time-sheet: 10:00-11:00 Clocked:   (0:50) Enhancement PT
>   time-sheet: 10:00-11:00 Enhancement PT
>               10:00...... ----------------
>               11:00...... ----------------
>

He is right.  Progress lines should never take their
time from the headline, always only from the triggering line.
2009-05-14 14:24:17 +02:00
Carsten Dominik cc440f8529 LaTeX export: Fix bug in removal of TODO keywords
There was a problem that not in all cases the correct regexp was used
to find TODO keywords.
2009-05-14 10:20:04 +02:00
Carsten Dominik d885d8f686 Agenda: Allow to start with log mode active
Benjamin Andresen writes:

> I was curious as to why a value such log-mode wasn't customizable
> to be run on start-up as follow-mode and clock-report-mode are.
>
> If Carsten thinks this is a good idea, I've attached a patch that
> may shave of 5 seconds of him adding it. It applies cleanly to
> current git HEAD.

This commit applies Beanjamin's patch
2009-05-14 09:40:53 +02:00
Carsten Dominik 80fb1b566a LaTeX export: Allow uncentered tables 2009-05-14 09:33:07 +02:00
Carsten Dominik 2e9202362f Publishing: Allow to publish the Org source file
There is now a new export function, `org-export-as-org', which
basically creates a copy of the Org file with things like archived
trees, commented trees, and trees deselected by export tags,
stripped.
2009-05-14 09:33:00 +02:00
Carsten Dominik 610f0004c8 Modularize `org-yank'.
Patch by Derek Upham.
2009-05-12 16:29:58 +02:00
Carsten Dominik 90204fe238 LaTeX export: Make TODO keyword markup configurable 2009-05-12 12:27:56 +02:00
Carsten Dominik ab0397758e Export: More default macros.
This commit adds:

{{{date(FORMAT)}}} current date/time, formatted with
`format-time-string'

{{{modification-time(FORMAT)}}} date/time of last modification of
file, formatted with `format-time-string'

{{{input-file}}} the file name of the source Org file.
2009-05-11 22:44:04 +02:00
Carsten Dominik 0a01a7a12b iCalendar export: Make it possible to export only unblocked TODO
entries.

Guy Wiener writes:

> Hello everyone,
>
> I use orgmode to write down TODO tasks with dependencies (using
> org-enforce-todo-dependencies). I want to export the tasks to an
> iCalendar file, but *without* the blocked tasks (i.e, tasks that have
> unfinished dependencies). The agenda view hides these tasks if you set
> org-agenda-dim-blocked-tasks. It there a way to configure the
> iCalendar export to ignore these tasks too, like in the agenda view?

This commit implements this, when the value of
`org-icalendar-include-todo' is the symbol `unblocked'.
2009-05-10 12:32:05 +02:00
Carsten Dominik a607b5b218 Checkboxes: Allow recursive statistics.
Patch by Richard Klinda.
2009-05-10 09:06:03 +02:00
Carsten Dominik 762736d18d Links: Implement special completion support for some link types
The commit implements a general mechanism for providing special
(e.g. completion) support for specific link types when entering links
with `C-c C-l'.  After calling `C-c C-l', you may now press RET after
inserting a link prefix, and Org will look for a function
`org-PREFIX-complete-link'.  Such functions may be defined for any
link types, including link abbreviations.  Currently, Org has
`org-file-complete-link' for file name completion, and
`org-bbdb-complete-link' for completion of record names from BBDB.
2009-05-10 08:51:18 +02:00
Carsten Dominik e516a3be22 Visibility cycling: Fix bug when org-cycle-include-plain-lists is t
Peter Westlake writes:

>  On Fri, 8 May 2009 06:24:54 +0200, "Carsten Dominik"
>  <carsten.dominik@gmail.com> said:
>
>  I anyone could make an example that allos me to reproduce this
>  problem, then I might be able to fix it.
>
>  It's trivial:
>
>   * top
>   ** sub 1
>   Set org-cycle-include-plain-lists.
>   Type TAB on this line, and the whole of top gets folded.
>
>   ** sub 2
>   This entry is not needed to reproduce the bug. It just
>   makes it more visible.

There was indeed a bug, I think it is fixed now.
2009-05-08 12:51:32 +02:00
Carsten Dominik e15ada501b Initialize time zone from environment 2009-05-08 09:14:59 +02:00
Carsten Dominik 8a1e3d0773 HTML export: Specify the scope parameter in table header fields 2009-05-08 06:34:13 +02:00
Carsten Dominik e28c8b7329 New option `org-export-html-table-use-header-tags-for-first-column' 2009-05-07 15:05:41 +02:00
Carsten Dominik dd1268dcac New file: contrib/lisp/org-special-blocks.el
Contributed by Chris Gray
2009-05-07 13:53:35 +02:00
Carsten Dominik 412314ab2b ASCII export: Fix autoloading 2009-05-07 08:39:12 +02:00
Carsten Dominik 8ac2704c26 New variable `org-ical-timezone'. 2009-05-06 15:49:24 +02:00
Carsten Dominik a01ae6ee38 Export: Respect the description in a coderef
Shaun Johanson writes:

> Consider the following Org file:
>
>   * Test
>
>    See [[(foo)][FOOBIE]]
>
>    #+BEGIN_EXAMPLE
>    <foo>: blah blah       (ref:foo)
>    #+END_EXAMPLE
>
> Question 1)
>  In Org mode the link displays as FOOBIE, in the exported HTML it
>  displays as (foo). Is there any way to cause the link to use the
>  description (FOOBIE) in HTML? If not would this be a useful option
>  to add?

This was a bug, fixed now.
2009-05-06 12:17:24 +02:00
Carsten Dominik f8c8ac606d Sorting: Improve documentation, and implement better time sorting
Sorting entries by time is now much more flexible, and can be
specified to creation, scheduled, and deadline time.
2009-05-06 10:50:22 +02:00
Carsten Dominik 99c86ec8b8 Edit source code examples: Allow to switch off permanent message 2009-05-05 17:58:48 +02:00
Carsten Dominik 88673a8724 Clock history: Second try to get fontification right. 2009-05-05 14:44:05 +02:00
Carsten Dominik fc7b9e8d8c Editing code examples: No longer use indirect buffer
Editing source code examples and pictures is not done in a truly
separate buffer, not in an indirect buffer.  Indirect buffers had
caused problems with fontification, for example.
2009-05-05 13:58:13 +02:00
Carsten Dominik e1f6e949ed Clock history: Present all tasks fontified
Bernt Hansen requested this.
2009-05-05 10:23:47 +02:00
Carsten Dominik d79696d914 Export: org-export-latex-image-default-option can be buffer-local
Jason Riedy writes:

>  I'm trying to change org-export-latex-image-default-option
>  to "width=.7\\linewidth" in a file local variable.  It's set
>  correctly as a buffer local variable, and it's having no
>  effect on the export.  My guess is that the buffer-local
>  property is stopping it as soon as org-export-as-latex runs
>  set-buffer.
>
>  I can smuggle the value in by adding an entry to org-export-plist-vars
>  referring to org-export-latex-image-default-option and pulling the value
>  from the plist, but that feels incorrect.

It is actually the correct way to do this, and I have
implemented this change.
2009-05-05 10:22:37 +02:00
Carsten Dominik 93e63999d5 HTML export: Treat explicit links description better 2009-05-04 21:05:43 +02:00
Carsten Dominik 46532af16d ASCII Export: Implement export to buffer
Samuel Wales writes:

> I frequently export to ascii without wanting a file to be created,
> especially not in a useful directory, as the files are temporary.
>
> Is there a way to export ascii to just a buffer?

There is now, `C-c C-e A'.

This commit also implements commands
- org-export-as-ascii-to-buffer
- org-replace-region-by-ascii
- org-export-region-as-ascii

which are similar to what is available for HTML and LaTeX.

`C-c C-e A' used to be the key for publishing all projects.
This functionality has now been moved to `C-c C-e E'.
2009-05-04 18:26:42 +02:00
Carsten Dominik 34a91b7f5b Moved `org-reset-checkbox-state-subtree' to org-list.el 2009-05-04 16:57:26 +02:00
Carsten Dominik 12ec4f4b67 Remember: Force selection of a valid template
Scot Beker writes:

>  I have org-remember working successfully (I can't believe that it took
>  me so long to experiment with it.  It has made a huge difference in my
>  work).
>
>  But if, after calling the extension with C-c r, I type a "wrong" tag
>  selector (e.g. I mistype a right one), I get
>  (1) the error message 'no template'  (good)
>  (2) a remember buffer without a bullet point, with the point at the
>  very top of the file (sure, what do I expect?)
>  (3) but, having realized my mistake, I can't get out of it gracefully.
>  I can't abort (C-c C-k), and can't (C-c C-c).
>  I get the error message    "Args out of range 0, 1"
>
>  Any idea whether I've set something up wrong or if org just has no
>  mercy on those who can't manage to type one of the selected values?
>  Otherwise, org-remember works well.

This situation is now avoided by forcing the selection of a valid
template.
2009-05-04 16:06:33 +02:00
Carsten Dominik 52a8783d1d LaTeX export: Fix bugs with exporting the region
Matt Lundin writes:

>  When I select a region and invoke
>  org-replace-region-by-latex, the region is removed, but no
>  latex output is put in its place. In other words, the region
>  is simply deleted.
>
>  Strangely, if I select multiple headlines, they are
>  converted to latex.  But if I select only text underneath a
>  headline, it is not replaced.

This is hopefully fixed now.
2009-05-04 07:46:46 +02:00
Carsten Dominik b3460507b1 XEmacs: Fix bug in column view
Alex Mizrahi writes:

>  I'm trying to use column view to work with effort estimates, but it
>  does not seem to work in XEmacs.  When I press C-c C-x C-c columns
>  show up in agenda view (I'm not sure if 100% correcly, but
>  more-or-less so), but when I try editing anything, column view goes
>  away and error appears:
>
>   Wrong number of arguments: #<subr local-variable-p>, 1
2009-05-04 05:26:42 +02:00
Carsten Dominik abc874cefc Export: New hooks for Chris Gray's LaTeX/HTML blocks
Chris Gray had the idea to have arbitrary blocks turned in LaTeX
environments and HTML divs.  These three new hooks allow
implementation has an add-on rather than a patch.
2009-05-02 09:24:28 +02:00
Carsten Dominik d3689276ec LaTeX fragments: Better error message when latex/dvipng unavailable
Thomas Morgan writes:

>  I just tried exporting an Org file with LaTeX fragments to HTML
>  on a computer that doesn't have dvipng.  There were error messages
>  in *Messages* ("Failed to create png file..."), but this wasn't
>  obvious to me at first glance because those messages were replaced
>  in the echo area by "Exporting... done" before I could see them.
>
>  So I was wondering, is there a good way to make the user aware of
>  those errors?  Maybe by printing "Exporting... done (with errors)"?

There is now a better error message when either the latex or the
dvipng program does not exist.
2009-04-30 22:52:42 +02:00
Carsten Dominik 8619361669 Reload: New key, works also in the Agenda
The key is now `C-c C-x !'.
2009-04-30 16:11:35 +02:00
Carsten Dominik 327d23f9bd Sorting: Make priority sorting work under XEmacs
The XEmacs default sorting function does not work correctly with
characters, probably because characters in XEmacs are not integers.
2009-04-30 16:02:01 +02:00
Carsten Dominik 47227d087a Remember: Fix auto-save issues
Carsten Dominik writes:

> On Apr 26, 2009, at 12:08 AM, Samuel Wales wrote:
>
> > I noticed the following regarding
> > org-remember-backup-directory:
> >
> > 1) auto-saving does not save contents
> >    - solution: put (auto-save-mode 1) before or after (not
> >      sure which) the call to org-set-local in the
> >      following lines in org-remember:
> >
> >       # 	  (expand-file-name
> >       # 	   (format-time-string "remember-%Y-%m-%d-%H-%M-%S")
> >       # 	   org-remember-backup-directory))
> >       #     (save-buffer)
> >       #     (org-set-local 'auto-save-visited-file-name t))
> >       #   (when (save-excursion
>
> Done.
>
>
> > 2) save-buffer is called before there are any contents
> >    - this causes files without useful content to stick
> >      around in the dir if the buffer is killed or
> >      something.
> >    - solution: don't save the buffer; let auto-saving do
> >      that work.  will this work?
>
> Usually, the template expansion will have filled in stuff like
> links and initial contents, so I would prefer to keep the
> save-buffer here and let the user deal with the extra files.
>
> > 3) if you have auto-save-file-name-transforms set,
> >    auto-saving is done according to that variable instead
> >    of saving in place.
> >
> > I am now turning that variable off, locally in the remember buffer.
> > Does that fix the problem?
>
> - Carsten
>
> >    - solution: is this an emacs bug?  i am not sure.  the
> >      auto-saving should be done in place, saving in
> >      org-remember-backup-directory and not saving in the
> >      place where the transforms variable tells it to save.
> >      perhaps each user can kludge transforms or perhaps
> >      emacs needs fixing?  i have reached debugging ability
> >      limit.
2009-04-30 15:32:45 +02:00
Carsten Dominik 5f86fd7ae2 LaTeX export: Protect eqnarray* and similar environments.
Environment names ending in a star were not properly protected.  Now
they are.
2009-04-29 21:36:28 +02:00
Carsten Dominik 0fb28c3405 Plain lists: Fix regular expression.
There was a bug in a regular expression, visible when
`org-list-two-spaces-after-bullet-regexp' is set to ?)
2009-04-29 21:21:36 +02:00
Carsten Dominik 4b6f0cf77b Optimization: Make org-end-of-subtree much faster 2009-04-24 16:45:01 +02:00
Carsten Dominik f4f1d5cfd5 Stuck projects: Improve docstring of org-stuck-projects 2009-04-24 15:37:38 +02:00
Carsten Dominik 06491c24d8 Agenda: more optimization 2009-04-24 13:31:20 +02:00
Carsten Dominik 692873550e Agenda: Try to speed up getting tags 2009-04-24 11:39:34 +02:00
Carsten Dominik 9fc88c0a0e Remember: Avoid error when before first headline in org file 2009-04-24 07:08:29 +02:00
Carsten Dominik b5775974b4 Bug fix: Catch a throw to nextfile 2009-04-23 22:40:49 +02:00
Carsten Dominik 1c9d7a6d73 org-protocol: Remove dependency on url.el
Patch by Sebastian Rose
2009-04-23 06:45:00 +02:00
Carsten Dominik ff07d933ea PDF export: Make processing commands configurable 2009-04-23 06:39:59 +02:00
Carsten Dominik 10cc01f7e7 Agenda: Allow to find multiple same-day time stamps in one entry
Tassilo Horn writes:

>  I have this entry in an org-file.
>
>  --8<---------------cut here---------------start------------->8---
>  ** bung Grundlagen der Softwaretechnik (B 016)        :teaching:
>    <2009-04-22 Wed 08:30-10:00 +1w>
>    <2009-04-29 Wed 10:15-11:45> (Fr Hannes bernehmen)
>  --8<---------------cut here---------------end--------------->8---
>
>  I expect it to be displayed every wednesday after 2009-04-22
>  for 08:30-10:00 and on 2009-04-29 it should be displayed
>  twice: one at the usual time and one for 10:15-11:45.
>
>  But the agenda shows only the regular entry (08:30-10:00)
>  and omitts the exception.  If I reorder the timestamps, so
>  that the exception comes first, only the exception will be
>  shown on 2009-04-29.  Every other wednesday shows the
>  regular repeater date.
>
>  What do I have to do to make that entry showing up twice on
>  29th April?

This commit adds a new option
`org-agenda-skip-additional-timestamps-same-entry'.  When set
to t, an entry that has multiple active time stamps will get
multiple lines in the agenda.
2009-04-22 09:54:18 +02:00
Carsten Dominik 38b5a9e704 Clock: New variable to allow finding a recent task with `org-clock-goto' 2009-04-22 06:41:15 +02:00
Carsten Dominik ec773949d1 Export: Handle empty drawers, and drawers that are missing the :END:
Export could loose large parts of a document if an empty drawer was
present.
2009-04-22 06:37:00 +02:00
Carsten Dominik 654e629ed9 Clock: Make `C-c C-x C-j' jump to most recently clocked task as well.
If there is no running clock, this command will go to the most
recently clocked task.
2009-04-21 20:25:30 +02:00
Carsten Dominik 093bd3343e Statistics cookies: Disambiguate using properties.
The property COOKIE_DATA can be used to disambiguate the meaning
of statistics cookies in a headline.

This was a request by Ulf Stegemann.
2009-04-21 17:01:24 +02:00
Carsten Dominik 9c2436713c New hooks for commands attaching themselves to the TAB key.
Three new hooks are available for commands to attach themselves to the
TAB key.
2009-04-21 09:53:07 +02:00
Carsten Dominik 642c6f7c6a Export: Reset the list of preferred targets
The list of preferred targets needs to be reset for each run of the
preprocessor.

Reported by Bernt Hansen.
2009-04-19 22:31:12 +02:00
Carsten Dominik fa99e696a6 Refile: The verification function may move point.
If the target verification function decides against a target, it may
also move point to continue the search from a different location.
2009-04-19 08:17:44 +02:00
Carsten Dominik 6316b53c46 LaTeX export: Fix bugs with timestamp export.
The formatting of timestamp keywords was wrong.
2009-04-19 07:46:54 +02:00
Carsten Dominik 88468ff7fe Bug fix: Place rear-nonsticky property correctly.
Stefan Monnier says that rear-nonsticky properties should only be put
at the last character of a range with equal properties, not at the
entire range.
2009-04-19 07:28:53 +02:00
Carsten Dominik 13fe6b1858 Org-protocol.el: Fix encoding problems, and call server-edit
Patch by Sebastian Rose.
2009-04-18 20:53:32 +02:00
Carsten Dominik 0394a77f8b EXPORT: Additional properties for setting export options
Matt Lundin writes:

>  If it's not too much trouble, I was wondering if I could
>  request the following properties to set export options for
>  subtrees:
>
>  EXPORT_AUTHOR
>  EXPORT_DATE
>
>  In addition to specifying an EXPORT_FILE and EXPORT_TITLE
>  for a subtree, I often find myself wanting to change the
>  date and author lines.
2009-04-18 18:23:40 +02:00
Carsten Dominik 68ffdca675 Docbook export: Improve timestamp handling 2009-04-18 08:34:51 +02:00
Carsten Dominik 4b4328e29b Refile: New function to verify a target.
The variable `org-refile-target-verify-function' can be set to a
function that will be called to verify a refile target.  The function
must return t if the target is valid.
2009-04-17 17:57:18 +02:00
Carsten Dominik 931e13d800 Custom IDs: Documentation and improvements 2009-04-17 17:25:50 +02:00
Carsten Dominik 53d0746d8d Export: Use custom IDs.
Users can now define custom IDs for use in HTML export.
These IDs are stores as property CUSTOM_ID.  When present, HTML will
prefer using these over automatic targets like "sec-N.M".
2009-04-17 06:10:17 +02:00
Carsten Dominik c6fd49726f LaTeX export: Fix some problems with protection of inline latex commands
Scot Becker writes:

>  Prompted by Chris Gray's request for org markup in Latex
>  environment, I thought I'd submit a note (for his sake and
>  others') about a few quirks of org-latex-export's handling
>  of embedded Latex markup in org documents.  I have been
>  puzzling with these for a while but only discovered the
>  problem triggers (and workarounds) this morning just before
>  Chris' mail arrived.  These are both about inline Latex
>  commands:
>
>  I use a few custom commands \mycommand{like this}, and
>  occasionally have to invoke the odd bit of standard LaTeX
>  markup, for example /when \textbf{embedding bold text}
>  inside italics/.  For the most part, these work fine, but
>  I've discovered the following two 'gotchas' that happen when
>  exporting to LaTeX.
>
>  1.  Inline Latex commands get their final curly brace
>  escaped with a slash (and therefore don't work) if they
>  spill over into another line, i.e. if they contain one or
>  more newlines.  This is true also for standard LaTeX
>  commands like \textbf{} and \emph{}.
>
>  ----------------SAMPLE------------------------
>  \mycommand{So, for example this
>  wrapped setence gets a slash added just after the
>  final period and before the curly brace.}  Org is quite
>  helpfully escaping the slash for LaTeX, apparently.
>
>  \mycommand{no trouble if it's all on one line}
>  ------------------END-------------------------
>
>  The workaround of putting all such commands on one line is
>  no hardship for me, since I use visual-line-mode in Emacs 23
>  and keep my paragraphs as single logical lines.  It might be
>  harder for those accustomed to hard-wrapping their
>  paragraphs.
>
>
>  2.  If you have two inline Latex commands on the same
>  logical line, org's latex export doesn't treat the text
>  between them in its usual manner.  Italics get processed,
>  but not the latexification of quotes.  ("this" --> ``this'')
>  For example:
>
>  ----------------SAMPLE------------------------
>  I have a short custom command to tell Latex to invoke a
>  Hebrew-language right-to-left environment when I want to refer to a
>  Hebrew phrase like this: \heb{phrase here}.  But then if I "quote
>  something,"  and follow that by another \heb{phrase}, the inner
>  quotation marks don't get processed.  Oddly enough, this problem is
>  only triggered when there is an inline Latex command both before and
>  after the  quoted material on the same logical line.
>
>  Now if you put a footnote in between those two inline Latex commands,
>  the output is really nutty:
>
>  And \heb{phrase here} with a footnote[fn:: Footnote here.]  I'm not
>  sure what funky org commands get invoked, but again, only when
>  bookended by an inline Latex command like \heb{phrase here}.
>  ------------------END-------------------------
>
>  The nutty output is a number in square brackets like
>  this[1], with the following at the bottom of the document:
>
>  \$\^{}{1}\$ Footnote here.
>
>  This has a the opposite work-around: break the lines so
>  those elements are not all on the same logical line. Put in
>  a few newlines.  Latex, of course doesn't care.  Do take
>  care not to start a newline with the org-footnote, like this
>  [fn:: Org doesn't parse a footnote command which starts on
>  its own line.]
>
>  This is just "for what it's worth" to those who use org-mode
>  as a front-end to writing for LaTeX.

These problems were caused by a regular expression for
matching latex macros with arguments, that did not allow any
newlines.  Now we have a much better regexp, that even
allows for three levels of nested braces.
2009-04-16 14:17:51 +02:00
Carsten Dominik cb302b1715 Remember: Allow filing to non org-mode files.
If the heading field in the remember template entry is either `top' or
`bottom', it is now OK to file to a file that is not in org mode, and
the content of the remember buffer is inserted without forcing an
Org-style header.
2009-04-15 18:22:53 +02:00
Carsten Dominik f701ba332d Feeds: Support for parsing atom feeds.
Patch by Magnus Henoch.
2009-04-15 16:37:13 +02:00
Carsten Dominik c0f97f14e2 Tables: Allow standard references in remote references.
Rares Vernica writes:

>  I think the standard references do not work correctly in the
>  "remote" function. Moreover, the "edit all formulas" (C-c ')
>  window replaces the internal references with standard
>  references. Even if I toggle the references back to internal
>  ones, the references in the "remote" function do not get
>  updated.
>
>  Here is an example:
>
>  #+TBLNAME: TableA
>  | 101 |
>  #+TBLFM: @1$1=remote(TableC,@1$1)
>
>  #+TBLNAME: TableB
>  | A1 |
>  #+TBLFM: @1$1=remote(TableC,A1)
>
>  #+TBLNAME: TableC
>  | 101 |
>
>  If I do C-c * in TableA, it works correctly. In TableB it
>  doesn't. If I do C-c ' in TableA and then (with or without
>  C-c C-r) C-c C-c and C-c *, then the contents of TableA will
>  be equivalent to the ones of TableB and the reference will
>  be broken.

Standard references like A1 are now allowed in call to
remote().
2009-04-15 15:16:05 +02:00
Carsten Dominik 06ddc5e9d2 Tables: Don't modify remote references when changing a table
Rares Vernica writes:

>  I think I found another bug related to remote
>  references. When I insert/remove a row/column using the
>  table commands, the remote references to other tables are
>  also updated. I think org treats "remote" as a regular
>  function and updates the references inside it.
>
>  Here is an example:
>
>  #+TBLNAME: TableA
>  | 101 |
>  #+TBLFM: @1$1=remote(TableB,@1$1)
>
>  #+TBLNAME: TableB
>  | 101 |
>
>  If I go in the cell of TableA and do M-S-down arrow, I get
>  the following:
>
>  #+TBLNAME: TableA
>  |     |
>  | 101 |
>  #+TBLFM: @2$1=remote(TableB,@2$1)
>                             ^^^^
>
>  As you can see the remote reference has been updated. I
>  similar update happens when I remove a row or insert/remove
>  a column.

This commit makes sure that references inside calls to
remote() are not touched.
2009-04-15 15:15:17 +02:00
Carsten Dominik 1bc9b1e302 LaTeX export: Fix regexp bug.
Report and patch by Baoqiu Cui
2009-04-15 08:34:31 +02:00
Carsten Dominik 281a116938 Feeds: Avoid problems with sha1.el in Emacs 22
sha1-string is not autoloaded in sha1.el as in the version distributed
with Emacs 22.  Instead of relying on autoloads, the sha1 library is
now required by org-feed.el.
2009-04-14 18:02:41 +02:00
Carsten Dominik e2bdc488ee Refiling: Allow to create new nodes.
When refiling, you can now create new parent nodes on the fly.  To do
this, set the variable `org-refile-allow-creating-parent-nodes' to
`confirm'.  Then, at a refiling prompt, proceed with completion until
you have an existing heading, and then add "/new heading", i.e. a
slash followed by the new heading.  That heading will be created as a
child of the existing heading, and the entry to be refiled will end up
under that new heading.
2009-04-14 17:58:32 +02:00
Carsten Dominik e06b3e5d25 HTML export: New span element around time stamps
New wrapper span around keyword plus time stamp, with class
timestamp-wrapper.

    .timestamp-wrapper {float: right;}

could be a nice entry in a CSS style file.
2009-04-14 13:17:20 +02:00
Carsten Dominik 633e8cdd90 Clock: Fix bugs when resuming the clock.
Adam Elliot writes:

>  Automatically resuming the clock after an Emacs restart
>  fails under the following cases:
>
>  1. If org-log-states-order-reversed set to t (default), and
>     a state change line precedes the clock line to resume.
>     Error message is "Cannot restart clock because task does
>     not contain unfinished clock".
>
[...]
>  2. If org-log-states-order-reversed set to nil.  Error
>     message is the same.  Reason: point is placed *after*
>     last clock line and so fails looking-at test.
>

This commit fixes the problem, in a slightly different way
than Adam proposed.  Instead of trying to fix the old way to
find the position of the clock, we now simple search the
entry if there is an unfinished clock and go there.  Since
new clocks are added before older ones, this should be a
safe bet.
2009-04-14 09:50:05 +02:00
Carsten Dominik a26f9b5502 LaTeX export: Format time stamps
Time stamps in LaTeX export now also honor custom time stamp formats.
Furthermore, the new option `org-export-latex-timestamp-markup' can
specify special markup for time stamps.
2009-04-13 08:53:58 +02:00
Carsten Dominik 008969cd6f Add intangible property for emacs 23
It seems that Emacs 23 does again need the intangible text property.
2009-04-13 08:48:12 +02:00
Carsten Dominik 933137aa02 Export: Handle undefined variables.
Some of the standard export options are now defined in backend
specific files.  This commit makes sure that building the options
property list will not cause an error because of unneeded (for the
backend) undefined variables.
2009-04-12 08:22:39 +02:00
Carsten Dominik 6e9fb4550f TODO keywords: Should be case sensitive
Samuel Wales writes:

>  A lower case version of a todo kw at the beginning of a
>  headline, when in lower case, causes sort to ignore the
>  word.
>
>  Also, setting priority with shift down causes the cookie to
>  be inserted in the wrong place.

Both problems are address in this commit.
2009-04-11 08:16:41 +02:00
Carsten Dominik 325164a1d2 org-feed.el: Fix an undefined-variable bug 2009-04-09 17:26:49 +02:00
Carsten Dominik f48c35a8e6 Export: Start paragraphs after the end of literal examples.
Patch by Baoqiu Cui.
2009-04-09 09:09:34 +02:00
Carsten Dominik 99c7dacd66 Dependencies: New property NOBLOCKING
A NOBLOCKING property makes sure that an entry is never blocked by
whatever function in org-blocker-hook.
2009-04-08 17:01:54 +02:00
Carsten Dominik 627eaa32e6 Tags scanner: Fix bad bad bug
The Tags scanner was totally broken, because of a wrong setting of point.
2009-04-08 07:32:04 +02:00
Carsten Dominik 2b96f05551 Mark obsolete packages
The following contributed packages are (partially) obsolete.

org-browser-url.el
org-annotation-helper.el
  The functionality of both these packages is a subset of
  org-protocol.el, which is now part of the Emacs core
  and is recommended.

org-depend.el
  A significant fraction of the org-depend functionality
  dependence on siblings, children, and parents) is now
  built-in into the Org core.  Org-depend remains
  in the distribution as a proof-of-concept fro complex
  and remote dependencies.

org-interactive-query.el
  I believe that much of what this package was build for
  is now available with tag filtering.

These packages are now marked in org-modules as such.
2009-04-07 21:06:43 +02:00
Carsten Dominik bc6f83e966 HTML export: moved functions to separate file. 2009-04-07 20:00:31 +02:00
Carsten Dominik b6c7e8054e iCalendar and XOXO export: Functions moved to new files. 2009-04-07 19:08:24 +02:00