Commit Graph

7206 Commits

Author SHA1 Message Date
Dan Davison a871c6a77c new :results behavior 2010-12-20 16:44:24 +00:00
Carsten Dominik 5f77fd6a81 Merge branch 't/patch491' 2010-12-20 15:50:23 +01:00
Carsten Dominik f9e174b74e Merge branch 't/patch490' 2010-12-20 15:50:04 +01:00
Carsten Dominik f11b134b46 Merge branch 't/patch489' 2010-12-20 15:49:44 +01:00
Carsten Dominik 2d47a109b2 Modify activation section in manual 2010-12-20 15:38:40 +01:00
Carsten Dominik ee035ae12b Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-12-20 15:14:12 +01:00
Carsten Dominik af33cb709a Fix bug with capture to datetree
* lisp/org-capture.el (org-capture-set-target-location): Use `current-time'.
2010-12-20 15:14:00 +01:00
Carsten Dominik d737c32130 Fix bug with capture to datetree
* lisp/org-capture.el (org-capture-set-target-location): Use `current-time'.
2010-12-20 14:22:14 +01:00
Bernt Hansen de62618009 Fix before first heading check
* lisp/org.el (org-before-first-heading-p): If point is on an org-mode heading line then we are not before the first heading

If point is anywhere on the first line of the first heading then we
are not before the first heading.  This makes
org-before-first-heading-p returns t instead of nil when on the '*' or
blank of the first level 1 heading in an org file.

This was noticed when the first heading has an encryption
tag :crypt:. C-c C-r would not decrypt this entry if point is at the
beginning of the line since it was considered before the first
heading.
2010-12-20 13:22:05 +01:00
Carsten Dominik 3ceee2fefe Timer: Run a hook when relative timer is continued
* lisp/org-timer.el (org-timer-continue-hook): Define the variable
(org-timer-pause-or-continue): Run hook after relative timer is
continued

There was a hook run when the relative timer is paused (and for most
other actions), but none for continuing afterwards.

One use for this would be to pause/continue playback in a media-player
app with the same keystroke used to pause/continue the timer.

TINYCHANGE

Patch by Christian Moe
2010-12-20 13:18:27 +01:00
Julien Danjou 2be22d9aa4 org-agenda: allow %() in prefix format
* org-agenda.el (org-compile-prefix-format): Allow %() expression.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-20 13:13:13 +01:00
Julien Danjou f73b121549 org-capture: use org-eval
* org-capture.el (org-capture-fill-template): Use org-eval.
2010-12-20 13:12:48 +01:00
Julien Danjou 2c1925f2a5 Add org-eval
* org-agenda.el (org-eval): New function.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-20 13:12:25 +01:00
Carsten Dominik a43055a26f Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-12-20 13:09:58 +01:00
Eric Schulte 61470f6ae1 org-mime: hooks run in org-mode buffer when composing an email
Thanks to Ethan Ligon for suggesting this functionality.

  An example hook such as the following will record when emails have
  been composed

    (add-hook 'org-mime-send-subtree-hook
            (lambda ()
              (org-entry-put (point) "mail_composed" (current-time-string))))

* contrib/lisp/org-mime.el (org-mime-send-subtree-hook): Hooks run
  in the org-mode subtree when composing an email.
  (org-mime-send-buffer-hook): Hooks run in the org-mode buffer when
  composing an email.
2010-12-19 18:46:15 -07:00
Eric Schulte 76661a853a org-mime: adding format specific pre-export hooks
Thanks to Niels Giesen for suggesting this change.

* contrib/lisp/org-mime.el (lambda): Adding format specific pre-export
  hooks.
  (org-mime-compose): Call pre-export hooks before export.
2010-12-19 16:36:54 -07:00
Dan Davison d6fefb406e babel: Interpret string results as file links with :results file
* lisp/ob.el (org-babel-execute-src-block): With :results file, when
:file is not supplied, interpret result as a file link as long as it
is a string.
2010-12-19 14:25:18 +00:00
David Maus 2a3663b314 Don't convert link description parts that look like numeric footnote
* lisp/org-latex.el (org-export-latex-preprocess): Don't convert link
description parts that look like numeric footnote.

Fixes a problem reported by Thomas S. Dye.
2010-12-19 14:54:16 +01:00
Eric Schulte 96c70f3d7e org-mime: now exports subtrees, and can read mail headers from subtree properties
Much of this code is reworking of a very nice function shared on the
  mailing list by Matt Lundin.

* contrib/lisp/org-mime.el (org-mime-htmlize): Fixed indentation.
  (org-mime-try): Short macro for safely checking for properties.
  (org-mime-send-subtree): Drops the current subtree into a mail
  buffer possible exported and mime-encoded.
  (org-mime-send-buffer): Drops the current buffer into a mail
  buffer possible exported and mime-encoded.
  (org-mime-compose): Exports and mime-encodes a string of org-mode
  text for sending via email.
  (org-mime-org-buffer-htmlize): Create an email buffer containing the
  current org-mode file exported to html and encoded in both html and
  in org formats as mime alternatives.
  (org-mime-subtree): Create an email buffer containing the current
  org-mode subtree exported to a org format or to the format specified
  by the MAIL_FMT property of the subtree.
2010-12-17 14:20:44 -07:00
Eric Schulte 5f1850af40 documentation of new attr_latex options for tables
* doc/org.texi (Tables in LaTeX export): Documentation of new
  attr_latex options for tables.
2010-12-17 14:00:51 -07:00
Eric Schulte d37705391e allow specification of table*, tabularx and tabulary table environments
e.g.

  #+CAPTION: A wide table with tabulary
  #+LABEL: tbl:wide
  #+ATTR_LaTeX: table* tabulary width=\textwidth align=l|lp{3cm}r|l
  | 1 | 2 | 3 |
  | 4 | 5 | 6 |

  #+CAPTION: A normal table with tabularx
  #+LABEL: tbl:wide
  #+ATTR_LaTeX: table tabularx width=\textwidth align=l|lp{3cm}r|l
  | 1 | 2 | 3 |
  | 4 | 5 | 6 |

  Thanks to Tom Dye for suggestions and LaTeX background knowledge.

* lisp/org-latex.el (org-export-latex-tables): Allowing specification
  of tabular[xy] inner environments through the ATTR_LaTeX line.
2010-12-17 13:36:09 -07:00
Julien Danjou ce837d0e8f org: rework `org-set-property'
* org-capture.el (org-capture-fill-template): Use `org-set-property'
directly.

* org.el (org-set-property): Split property and values reading.
(org-read-property-name, org-read-property-value)
(org-set-property-function): New functions.
(org-property-set-functions-alist): New variable.

The goal of this patch is to introduce a special variable
`org-property-set-functions-alist'. This variable allows to read
properties values in a more intelligent way from `org-set-property' or
from `org-capture'.

For that, it simplifies the `org-set-property' code and remove
duplication between `org-capture' and `org-set-property'.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-17 18:37:30 +01:00
Julien Danjou 3b9822f1a9 Fix org-agenda-prefix-format docstring
* org-agenda.el (org-agenda-prefix-format): Add missing `search' item
  in docstring.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-17 18:23:56 +01:00
Carsten Dominik 3324942408 Link to book edition of manual, and update news 2010-12-17 16:08:38 +01:00
Eric Schulte f68f1e6055 org-mime: set message subject from buffer title
* contrib/lisp/org-mime.el (org-mime-org-buffer-htmlize): Set message
  subject from buffer title.
2010-12-16 18:25:00 -07:00
Eric Schulte 943b6701c4 org-mime: insert contents *before* signature
Thanks to Rainer M. Krug for reporting

* contrib/lisp/org-mime.el (org-mime-org-buffer-htmlize): Insert
  contents *before* signature.
2010-12-16 18:18:24 -07:00
Eric Schulte 3c66db85f0 org-mime: Use new org-export-string function
* contrib/lisp/org-mime.el (org-mime-htmlize): Use new
  org-export-string function.
  (org-mime-org-buffer-htmlize): Use new org-export-string function.
2010-12-16 18:12:08 -07:00
Eric Schulte f8000a9bc1 org-export-string now accepts symbolic or string fmt argument
* lisp/org-exp.el (org-export-string): Use `format' to construct
  function call to allow symbolic or string arguments.
2010-12-16 18:09:51 -07:00
Carsten Dominik 8aacc708dd Capture: Better error message for invalid entry-type templates
* lisp/org-capture.el (org-capture-place-entry):
(org-capture-insert-template-here): Check tree for validity before
pasting it.
2010-12-16 16:51:04 +01:00
Julien Danjou dece850eca org-gnus: trim date
* org-gnus.el (org-gnus-store-link): Trim date.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-16 14:21:26 +01:00
Julien Danjou 073391f5a7 Allow to retrieve email link date
* org.el (org-email-link-description): Allow to retrieve email link date.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-16 14:17:54 +01:00
Lawrence Mitchell 32be74e098 Quote any special characters in org-make-target-link-regexp
* lisp/org.el (org-make-target-link-regexp): regexp-quote target
before replacing whitespace.

Previously a radio link <<<...>>> would match all three-letter words
in the buffer.  The manual indicates the radio links are meant to
match literally (modulo whitespace differences), so we should
regexp-quote all the targets to avoid over-eager matching.
2010-12-16 14:12:28 +01:00
John Wiegley c61cdced2f Undid one of the scatter-related changes 2010-12-15 23:31:19 -05:00
Eric Schulte f5f2851401 Noweb references can now be resolved from the library of babel.
* lisp/ob.el (org-babel-expand-noweb-references): Noweb references can
  now be resolved from the library of babel.
2010-12-15 10:16:58 -07:00
Eric Schulte e919c97d7e fixed insertion of trailing newline after code block evaluation
* lisp/ob.el (org-babel-result-end): No longer leaving trailing new
  line after block removal.
2010-12-15 09:58:57 -07:00
Carsten Dominik 8eee473f37 Anchor outline regexp during LaTeX tree export
* lisp/org-latex.el (org-export-latex-first-lines): Anchor outline
regexp during LaTeX tree export

Jrg Hagmann writes:

> - If you export the (new) minimal example below to latex (C-cC-e l), it works.
> - If you only export a tree (Subtree in the example; C-cC-e 1 l), the first table ends at the horizontal line and everything between it and the next node (Subsubtree) is eliminated. The second (identical) table is exported correctly.
> - If you remove the asterisk(s) in the first table, it works.
>
> This problem crept in in the last days or weeks before 7.4.
>
> It may not be a problem for most of you, but I happen to have a number of files where columns are automatically displayed as tables preceding the first subnode (#+BEGIN: columnview ...). An alternative would be to display %ITEM in column-view without the asterisks.
>
> Emacs 23.2.1 on OS X 10.6.5
> Org-mode version 7.4 (release_7.4.24.g48b11.dirty)
>
> Thanks, Jrg
>
> -------New minimal example------------
> * Subtree
>
>
> | One    | Two  | Three |
> |--------+------+-------|
> | * Test | text | text  |
> | ** One | text | text  |
>
>
> Some text
>
> ** Subsubtree
>
> | One    | Two  | Three |
> |--------+------+-------|
> | * Test | text | text  |
> | ** One | text | text  |
2010-12-15 12:37:45 +01:00
Bastien Guerry eb0d35dd18 Fix typo (which broke lisp/org.el).
Thanks to Matt Lundin for a warning about this.
2010-12-14 21:48:43 +01:00
John Wiegley 48b11c4420 Fixed an improper use of org-today 2010-12-14 02:02:41 -05:00
John Wiegley 14350cac34 Added FILE meta-property 2010-12-14 02:02:40 -05:00
Konrad Hinsen 8916e948d2 ob-python: ensure py-which-bufname is initialized
* lisp/ob-python.el (org-babel-python-initiate-session-by-key): Make
  sure that py-which-bufname is initialized, as otherwise it will be
  overwritten the first time a Python buffer is created.
2010-12-13 18:47:46 -07:00
Eric Schulte 19a0ca3182 ob-sh: Better escaping of variables with spaces.
* lisp/ob-sh.el (org-babel-sh-var-to-sh): Better escaping of variables
  with spaces.
2010-12-13 13:56:03 -07:00
Eric Schulte e3aeb07a17 ob-org: Padding code block with an empty title on LaTeX export.
* lisp/ob-org.el (org-babel-execute:org): Padding code block with an
  empty title on LaTeX export.
2010-12-13 13:23:10 -07:00
Eric Schulte 8efcd4338d adding test of error when exporting marked subtree with code blocks 2010-12-13 12:41:55 -07:00
Matt Lundin 4760c3b948 Make timestamp search in org-entry-properties more efficient.
* lisp/org.el: (org-entry-properties) Stop scanning for timestamps if
a specific timestamp property (e.g., DEADLINE, SCHEDULED, etc.) is
requested and a match is found. Also, if a specific timestamp property
is requested, do not push non-relevant timestamps onto property list.

This change only effects org-entry-properties when a specific
timestamp is requested with the special flag, as in:

(org-entry-properties nil 'special "SCHEDULED")

Previously, even if only the SCHEDULED timestamp was requested,
org-entry-properties would parse all the timestamps in an entry. This
extra parsing could slow down the construction of agenda views,
especially with entries that contained a large number of log
items (CLOCK, state changes, etc.). The function org-entry-get,
however, is only interested in the first occurrence of the item. When
looking for a specific type of timestamp, org-entry-properties now
stops searching for timestamps after the match is found, unless the
property is "CLOCK".

Here are the relevant ELP results:

Before:

org-entry-get	     296         0.4724579999  0.0015961418
org-entry-properties 31          0.3438769999  0.0110928064

After:

org-entry-get        296         0.1447729999  0.0004890979
org-entry-properties 31          0.015765      0.0005085483
2010-12-13 15:13:36 +01:00
Carsten Dominik 98015f3748 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-12-13 15:11:14 +01:00
Carsten Dominik fbe3eb4d2a Fix display of current time to show up only today
* lisp/org-agenda.el (org-agenda-add-time-grid-maybe): Show time only
when grid is being made for today.

Patch by Matt Lundin
2010-12-13 10:43:37 +01:00
John Wiegley 3542f0eed9 Scattering tasks first resets them to "today" 2010-12-13 01:20:04 -05:00
Matt Lundin bca4ac9998 Optimize calls to org-is-habit-p
* lisp/org-agenda.el: (org-agenda-get-scheduled) Don't call
  org-is-habit-p until after checking for for
  org-agenda-skip-scheduled-if-done.

Org-agenda-get-scheduled was calling org-is-habit-p on every scheduled
item (including DONE items when org-agenda-skip-scheduled-if-done was
set to t). Tweaking the timing of the test shaves some time off of
agenda construction when org-habit is loaded and
org-agenda-skip-scheduled-if-done is t.

Before:  org-is-habit-p  478         0.2434439999  0.0005092970
After:   org-is-habit-p	 81          0.057944      0.0007153580
2010-12-12 22:26:23 +01:00
Carsten Dominik b65ba05758 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-12-12 20:45:40 +01:00
Achim Gratz 8dfd6a6140 Fixup 95bb16661b
* org.el: remove spurious linebreak introduced by earlier patch
* ob.el, ob-ref.el: remove double fix of the same problem

Achim Gratz <Stromeko@Stromeko.DE> wrote:

> this patch had already been partially applied by Carsten and Eric (in
> slightly a different way than I suggested).  The changes to ob.el and
> ob-ref.el (the require statements) are therefore superfluous and should
> probably be backed out.  There was also a superfluous whitespace change
> in org.el (a closing paren that was broken onto the next line).  Patch
> to this effect is attached.  You've already cleaned up org-agenda.el and
> the conditions in org-macs...
2010-12-12 20:09:28 +01:00