* org.el (org-narrow-to-block): New function to narrow to block.
Bound this function to `C-x n b'.
* org.texi (Dynamic blocks, Structure editing): Mention
the function `org-narrow-to-block'.
This is inspired by a request by Leonidas Tsampros.
* org-agenda.el (org-agenda-repeating-timestamp-show-all):
Allow to use a list of TODO keywords as the value of this
variable. The agenda will show repeating stamps for entries
matching these TODO keywords.
(org-agenda-get-timestamps, org-agenda-get-deadlines)
(org-agenda-get-scheduled): Allow the use of a list of
keywords in `org-agenda-repeating-timestamp-show-all'.
---
This was suggested by Jeff Horn and supported by Detlef Steuer.
* org-latex.el (org-export-latex-emph-format): Don't use
`org-export-latex-use-verb'. Remove this variable.
This variable was introduced by Carsten for testing purpose,
it was not meant to be a user variable.
* org-archive.el (org-archive-save-context-info): Fix
docstring typo.
(org-archive-subtree-add-inherited-tags): New variable to
control whether inherited tags should be appended to local
tags when archiving subtrees.
(org-archive-subtree): Use the new variable.
This feature was suggested by Carsten, after a request by Osamu OKANO.
* org-crypt.el (org-decrypt-entry): Delete \n on top level heading.
This avoids a display bug showing the heading outlined where the text
is not since it does not have the outline property.
Restore subtree visibility state after decryption.
Cc: John Wiegley <johnw@gnu.org>
Cc: Peter Jones <pjones@pmade.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
On Mon, Jan 17 2011, Carsten Dominik wrote:
> have you been following this thread? I think this has to do with your
> rewrite of the dagenda span stuff. Maybe you can find out better and
> faster that I why this goes wrong? Please read the entire thread.
I've followed but not sure I understood what the bug is. But from my
various tries, I found a bug: when pressing 'j', the current span is
discarded.
Attached is a patch that should fix that, even for future use of
`org-agenda-list' with the span unspecified. :)
>From 9dd2fe6650b858a4083ebc083bb8d10a0d6ac7f2 Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Mon, 17 Jan 2011 16:05:28 +0100
Subject: [PATCH] Fix agenda span on date jump
* org-agenda.el (org-agenda-list): Use org-agenda-current-span as a
possible default span if it is set.
Signed-off-by: Julien Danjou <julien@danjou.info>
* lisp/org-src.el (org-edit-src-persistent-message): Change docstring.
(org-edit-src-code): Get rid of help message in echo area.
* lisp/ob.el (org-babel-do-in-edit-buffer): Do not pass 'quietly
argument to org-edit-src-code as this has been removed
\protectedtexttt for the =...= emphasis and \verb for the
~...~ emphasis.
(org-export-latex-use-verb): now defaults to t.
(org-export-latex-emph-format): distinguish between =...= and
~...~ emphasis.
---
This patch was submitted by Carsten as a variation on Thomas Dye's
original patch.
On Sat, Jan 29 2011, Matt Lundin wrote:
> The regexp in org-link-expand-abbrev does not allow for accented
> characters in the link abbreviation. I am not sure whether this is an
> intended limitation or a bug. :)
I don't see any reason. Patch attached.
>From 1ec1e178aaa6a9935819a873ae492be7a2ddb2f6 Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Mon, 31 Jan 2011 21:19:07 +0100
Subject: [PATCH] Allow more char type in link abbrev
* org.el (org-link-expand-abbrev): Allow any type of character
in link expand.
Signed-off-by: Julien Danjou <julien@danjou.info>
At Mon, 17 Jan 2011 18:55:54 +0100,
Bastien wrote:
>
> David Maus <dmaus@ictsoc.de> writes:
>
> >> It seems that such a non-regression test base and script do not
> >> exist. However that would be good to have in order to check that any
> >> correction does not break anything.
> >
> > That's exactly what the testing framework[1] could and should do.
> > I've just not figured out how to best write tests for entire export
> > operations. Thinking of it: We could create an input file dedicated
> > to test link exporting, put in different kinds of links, export and
> > then use regexps to check if the links have been exported fine.
>
> I've just added testing/links.org to the testing framework.
>
> Vincent, feel free to suggest any addition to testing/ so that we can
> enrich our test-base with various examples! Being able to reproduce
> errors on those files will help people feel confident the error does
> not come from their configuration.
Attached patch factors out the link handling part of
`org-export-as-html' in a separat function which takes the processed
line and the exporting options as arguments and returns the possibly
modified line. Having the link handling in a separate function makes
it way easier to test this specific behaviour of export.
Best,
-- David
On Jan 26, 2011, at 10:34 AM, Eli Zaretskii wrote:
> The file org-complete.el, added about a month ago, causes a file-name
> clash with org-compat.el after 8+3 truncation. This causes trouble
> when unpacking Emacs tarballs on DOS filesystems.
Also rename org-complete-* functions in org-pcomplete.el and remove a
wrong reference to org-complete in doc/org.texi.
We still use org-complete-* namespace for the custom group and the
custom variables.
* lisp/org-latex.el (org-latex-default-figure-position): New defcustom
for default placement of latex figures.
(org-export-latex-tables): Positioning tables using the new
defcustom variable.
(org-export-latex-format-image): Positioning images using the new
defcustom variable.
* lisp/ob-exp.el (org-babel-exp-do-export): Simplified, no longer need
to do anything to export code.
(org-babel-exp-results): No longer returns a replacement for the
code block.
(org-babel-exp-inline-src-blocks): Simplified.
(org-babel-exp-src-block): Removed unnecessary pluralization from
function name.
* lisp/ob-exp.el (org-babel-exp-inline-src-blocks): Simplified
exportation of inline code blocks using normal code block execution
mechanism to insert results.
(org-babel-exp-results): Results exportation mechanism is unified
for both inline and regular code blocks.
* lisp/ob.el (org-babel-where-is-src-block-result): Returns the point
after an inline code block for inline code blocks.
* lisp/ob.el (org-babel-insert-result): Special handling of the
position of results of inline code blocks.
(org-babel-examplize-region): Now able to comment inline regions.
* org-exp.el (org-export-with-LaTeX-fragments): Fix docstring so that
\\[ a = b \\] is not interpreted as a keybinding by
`substitute-command-keys'.
In a docstring \\[text] is used to indicate that text should be
interpreted by `substitute-command-keys'. To avoid this
interpretation, we need to prefix it with \\=.
`org-export-process-option-filters' is supported for HTML export but not
for latex export. The patch at the bottom fixes that.
I note that there is one other location in the same function where it
seems the same change could be made. I suspect this is not necessary,
but if someone is familiar with the org-latex code they might like to
have a look. (I didn't manage to understand the roles of the several
variables with names like *-opt-plist *-options-plist in that function.)
I'm protecting this patch from patchwork with ^$; it's the patch at the
bottom that I propose.
$ diff --git a/lisp/org-latex.el b/lisp/org-latex.el
$ index 51ee6d2..53d6b40 100644
$ --- a/lisp/org-latex.el
$ +++ b/lisp/org-latex.el
$ @@ -700,7 +700,8 @@ when PUB-DIR is set, use this as the publishing directory."
$ '(:org-license-to-kill nil))))
$ (org-update-radio-target-regexp)
$ (org-export-latex-set-initial-vars ext-plist arg)
$ - (setq org-export-opt-plist org-export-latex-options-plist)
$ + (setq org-export-opt-plist
$ + (org-export-process-option-filters org-export-latex-options-plist))
$ (org-install-letbind)
$ (run-hooks 'org-export-latex-after-initial-vars-hook)
$ (let* ((wcf (current-window-configuration))
$
Support `org-export-process-option-filters' in latex export
* lisp/org-latex.el (org-export-as-latex): Process export property
list with `org-export-process-option-filters' early in latex export
Modified lisp/org-latex.el
I just found a left over in org-list.el. :)
Updated patch attached.
>From bf6c65a42e04d4753c58795442a479685bb5f318 Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Wed, 26 Jan 2011 11:14:11 +0100
Subject: [PATCH] org: remove org-invisible-p
* org.el: Remove org-invisible-p: outline-invisible-p is
available in Emacs 22 and in recent XEmacs 21. Replace in
various files.
Signed-off-by: Julien Danjou <julien@danjou.info>
* org-agenda.el (org-agenda-get-progress): Fix regexp for statep: it
must has \\ at the end of the line. This avoid matching the following
heading when there's no newline between the logged state and the next
heading.
Signed-off-by: Julien Danjou <julien@danjou.info>
* lisp/org-publish.el (org-publish-get-base-files): Add sitemap file.
I noticed some wonkiness in getting my sitemap created on my webserver
when pushing my website, and the problem seems to lie in
org-publish-get-base-files only returning existing files, and not
picking up on the soon to be generated sitemap. My patch always adds
the sitemap file to the list of returned files if a sitemap is
requested, regardless of if it exists or not.
* lisp/org-agenda.el: (org-agenda-todo-ignore-deadlines): New option.
(org-agenda-todo-ignore-scheduled): New option.
(org-agenda-todo-ignore-timestamp): New option.
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item): Allow user
to specify custom distance to ignore (future or past).
(org-agenda-todo-custom-ignore-p): New function.
This patch gives users greater control over which past or future items
they would like to ignore in the global todo list. By setting
org-agenda-todo-ignore-scheduled to 7, for instance, a user can ignore
all items scheduled 7 or more days in the future. Similarly, by
setting org-agenda-todo-ignore-scheduled to -1, a user can ignore all
items that are truly in the past (unlike the 'past setting, which
ignores items scheduled today). Thanks to Paul Sexton for the idea for
this new functionality.
* lisp/org-habit.el: (org-habit-parse-todo) Don't parse more days than
needed.
When constructing a consistency graph, org-habit now stops searching
for timestamps when the number of matches exceeds the span of time
displayed in the graph. This can lead to a significant speedup in
agenda construction, especially for entries with many logbook entries.
Previously, org-habit would parse all logbook timestamps, even if they
numbered in the hundreds.
* lisp/ob.el (org-babel-map-inline-src-blocks): Macro for executing
code in each inline code block.
(org-babel-execute-buffer): Executes inline code blocks as well as
regular code blocks.
* lisp/org-clock.el (org-clock-before-select-task-hook): New hook.
(org-clock-select-task): Run new hook.
Hi Org-moders,
I am often frustrated because I clock a lot of things and some of them
are repeated (i.e, coffee, read mails, etc.). So when I want to clock
time I spend drinking coffee, the best I found was to search for a
headline matching "Coffee". Or to tag frequent clocks and do some
agenda research on this tag. Too long. :-)
So here is a solution for this need : to add a shortcut property to
entries I would like to "bookmark" and insert matching entries in the
org-clock-select-task menu. This can be done with :
* TODO Pause and drink coffee
:PROPERTIES:
:SHORTCUT: p
:END:
then C-u C-c C-x C-i p. And voil, "Pause and drink coffee" is clocked!
Here is a patch that adds a hook into org-clock-select-task and a module
that adds the shortcut feature. I tried to be the least intrusive
possible, if this proves to be useful, the hook trick might not be
needed.
Benj
TINYCHANGE
* org-agenda.el (org-agenda-get-blocks): Fix time of start/end
of events with range. This display things like:
<2011-01-22 Sat 14:00>--<2011-01-23 Sun 20:00>
correctly, with the event starting at 14:00 and ending at 20:00.
Signed-off-by: Julien Danjou <julien@danjou.info>
* lisp/org-ascii.el (org-ascii-level-start): Catch the case of levels
which do not have an equivalent in the list of underline characters.
For more information see
http://thread.gmane.org/gmane.emacs.orgmode/36097
Hi Carsten,
On Sat, Jan 8, 2011 at 11:35 PM, Carsten Dominik
<carsten.dominik@gmail.com> wrote:
> Hi Puneeth,
>
> can cou please augment the patch with a propert ChangeLog-like entry, and
> with documentation for the manual, and then resubmit?
Here is a patch with a ChangeLog entry and documentation for the
manual. Please tell me if it looks OK. Also, I hope using
git-format-patch is the right way to send this page. If not, what is
the right way?
Thanks,
Puneeth
>From 4a9be5b1a7a19c5d092ed14a86d29ad83122e9a8 Mon Sep 17 00:00:00 2001
From: Puneeth Chaganti <punchagan@gmail.com>
Date: Sun, 9 Jan 2011 00:48:51 +0530
Subject: [PATCH] Include only specified range of line numbers of a file
* doc/org.texi (Include files): Document :lines.
* lisp/org-exp.el (org-export-handle-include-files): Support :lines
property.
(org-get-file-contents): New argument lines to include specify a range
of lines to include.
On Fri, Jan 7, 2011 at 1:29 PM, Puneeth <punchagan@gmail.com> wrote:
> On Fri, Jan 7, 2011 at 10:03 AM, Venkatesh Choppella
> <venkatesh.choppella@iiit.ac.in> wrote:
>> I would like to include a part of a file (between a given range of
>> line numbers) instead of the whole file. Is there a way to do that
>> in org-mode?
>
> It isn't possible to include files using line numbers, as of now.
> Here's a quick patch that would add this feature. I have tested it
> with small files and works fine. Can somebody tell me if it looks
> good?
>
> :lines "5-10" will include the lines from 5 to 10, 10 excluded.
> :lines "-10" will include the lines from 1 to 10, 10 excluded.
> :lines "5-" will include the lines from 1 to the end of the file.
>
> HTH,
> Puneeth
Xin Shi <shixin111@gmail.com> wrote:
>
> Shr\"odinger will give the o with two dots on top. Notice that the " is a double quotation mark.
>
> However, when org translate that into LaTeX, it will become two single quotation mark! \'' (it's very hard to see the difference, but the pdf version will
> see the wrong result).
>
> Could someone tell me how to do that?
>
It works correctly in headlines, but not in running text. I think [fn:1]
that it is a bug and that the following patch fixes it:
--8<---------------cut here---------------start------------->8---
--8<---------------cut here---------------end--------------->8---
but I have not tested it extensively and it may do more harm than good:
I'd wait for a more definitive opinion.
Alternatively, you can use UTF-8 in your org file and write Schrödinger
explicitly. This will survive the LaTeX export intact and the
\usepackage[utf8]{inputenc} in the LaTeX file will do the right thing
with it.[fn:2]
Nick
Footnotes:
[fn:1] but I'm really not sure: I've lost track of how things work in
LaTeX export - sigh...
[fn:2] I'm not sure whether it will survive the email trip
though. Here's hoping that it will.
* org-latex.el (org-export-latex-make-header): Export email in
author line if `org-export-email-info' is non-nil.
Previously exporting to LaTeX would not include the document author's
email address when org-export-email-info was set. This patch corrects
this oversight using the \thanks command to add a footnote to the
author line.
On Mon, Jan 17 2011, Bernt Hansen wrote:
>
> Thanks for this patch. I think this fixes the issue I was having with
> 'j' in the agenda switching from week-view back to single-day view when
> org-agenda-ndays is set to 1.
>
> There is still a (new?) problem with jumping to today.
>
> Set the following variable
>
> (setq org-agenda-start-on-weekday 6)
>
> | Key Sequence | Notes |
> |--------------+------------------------------------------------|
> | C-c a a | Display weekly agenda |
> | f | Go forward a week |
> | d | Display day agenda |
> | . | Go to to day - but it goes to Saturday instead |
>
> This should go to today and not the first day of the week.
Attached is a fix for that.
>From f566a5612560f997f4760144ca850dda5c06bc5e Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Mon, 17 Jan 2011 18:09:30 +0100
Subject: [PATCH] Fix org-agenda-goto-today not respecting the current span.
* org-agenda.el (org-agenda-goto-today): Respect current span.
Signed-off-by: Julien Danjou <julien@danjou.info>
* lisp/org-complete.el (pcomplete/org-mode/link):
(pcomplete/org-mode/todo):
(pcomplete/org-mode/prop): Copy list before uniquifying.
For a description of the bug, see
http://thread.gmane.org/gmane.emacs.orgmode/35640
* lisp/ob-tangle.el (org-babel-spec-to-string): Adding "noweb" as a
linking comment type
(org-babel-tangle-comment-links): Returns comment links for the
source code block at point
* lisp/ob.el (org-babel-expand-noweb-references): When :comments is
set to "noweb" then wrap noweb references in comment links.
* lisp/org-agenda.el (org-agenda-skip-function-global): New option.
(org-agenda-skip-eval): New function.
(org-agenda-skip): Use `org-agenda-skip-eval' and also check for the
global skipping condition.
This was a request by John Wiegley
* org-html.el (org-export-as-html): Handle timestamps after handling
links.
otherwise a link description with an ISO date is handled as an
inactive timestamp and replaced by a timestamp span.
Bug reported by Vincent Belaïche.
Carsten Dominik <carsten.dominik@gmail.com> writes:
Hi Carsten,
> is that patch on the patchwork server? If you find it, can you please
> send me the ID?
No, I cannot find it there. I'll attach it to this mail.
From 4a0fe0bfd4aafed16f658e963fc10e966601d651 Mon Sep 17 00:00:00 2001
From: Tassilo Horn <tassilo@member.fsf.org>
Date: Thu, 13 Jan 2011 19:25:04 +0100
Subject: [PATCH 3/3] * org-gnus.el (org-gnus-store-link): Don't error out if mail
has no or bogus Date: header.
Thanks to Leo Alekseyev for bringing this bug to my attention
* lisp/ob.el (org-babel-open-src-block-result): Must collect result
*before* jumping to the result buffer.
* lisp/ob.el (org-babel-temp-file): Ensure that
org-babel-temporary-directory is bound before using.
(org-babel-remove-temporary-directory): Safer error throwing.
I noticed the choices for org-export-htmlize-output-type aren't listed
in its docstring. I had to load up the customize interface to see what
the choices were.
* lisp/org-capture.el (org-capture-templates): Add %f and %F escapes
(org-capture): Add more information to capture property list
(org-capture-fill-template): Handle %f and %F escapes
* lisp/org.el (org-occur-next-match): New function.
(org-mode): Set the variable `next-error-function'.
(org-highlight-new-match): Add an `org-type' property to the overlays.
* doc/org.texi (Sparse trees): Document the next-error / previous-error
functionality.
After a sparse tree construction, `M-g n' and `M-g p' will now jump to
the location of matches.
* Makefile (LISPF): Add org-special-blocks to the list of Lisp files
* lisp/org-special-blocks.el (htmlp):
(latexp):
(line): Add defvars for dynamically scoped variables.
* lisp/org.el (org-modules): Move org-special-blocks into
the core modules section.
* lisp/org-agenda.el (org-agenda-goto): Display invisible entry text
* lisp/org-agenda.el (org-agenda-switch-to): Display invisible entry text
Visiting clock lines with RET or TAB in the agenda can put point on a
folded clock drawer. This means you are editing invisible/hidden text
inside the task entry. Now when moving to invisible regions show the
entry so point is always visible.
* lisp/org.el (org-get-category): New optional argument FORCE-REFRESH.
Automatically refresh if the property is not there.
(org-entry-properties): Remove refresh - this is now done in
org-get-category.
* lisp/org-clock.el (org-clock-insert-selection-line): Let `org-get-category'
do the property refresh.
* lisp/org-archive.el (org-archive-subtree): Force a refresh of
category properties.
Based on a patch by Julien Danjou.
* org-icalendar.el (org-print-icalendar-entries): Do not manually
refresh categories.
* org-clock.el (org-clock-insert-selection-line): Do not manually
refresh categories.
* org.el (org-get-category): Refresh categories if no category found.
(org-entry-properties): Do not manually refresh categories.
(org-prepare-agenda-buffers): Do not manually refresh categories.
It seems a very bad thing to call manually for a category refresh. It
seems better to try to refresh if we do not have a category.
Signed-off-by: Julien Danjou <julien@danjou.info>
* lisp/ob-R.el (org-babel-R-write-object-command): Force evaluation of
user code prior to the R exception-handling, so that errors in user
code are unhandled.
* lisp/org-src.el (org-src-font-lock-fontify-block): Test, early on,
that a major-mode function corresponding to the language string
exists.
Thanks to Bernt Hansen for the report and investigation.
* lisp/org-exp.el (org-export-mark-list-ending): insert additional
newline characters if end-list-marker is at a wrong position.
This solves a problem arising when exporting a region to HTML with a
list ending at the end of region. The marker would then be inserted on
the last line, following text from the list.
* lisp/ob.el (org-babel-script-escape): Replace commas with spaces for
better list reading when list items are packed with commas,
e.g. Haskell list output.
Thanks to Vladimir Alexiev for submitting this patch
* lisp/ob.el (org-babel-confirm-evaluate): Fix for the case when
org-confirm-babel-evaluate is a function (used to always ask no matter
what the function returns).
* doc/org.texi (Code evaluation security): Add example for using a
function.
These languages are capable of writing results to file; for several of
them this is their only mode of operation. These changes cause the
languages to return to ob.el either the computed result, or nil, when
they have written results to file themselves. This is in place of the
previous method of returning the output file name as a string to
ob.el.
* lisp/ob-asymptote.el (org-babel-execute:asymptote): Return nil to
signal that the intended content has been written to file.
* lisp/ob-ditaa.el (org-babel-execute:ditaa): Return nil to signal
that the intended content has been written to file.
* lisp/ob-dot.el (org-babel-execute:dot): Return nil to signal that
the intended content has been written to file.
* lisp/ob-gnuplot.el (org-babel-execute:gnuplot): Return nil to signal
that the intended content has been written to file.
* lisp/ob-latex.el (org-babel-execute:latex): Return nil to signal
that the intended content has been written to file.
* lisp/ob-mscgen.el (org-babel-execute:mscgen): Return nil to
signal that the intended content has been written to file.
* lisp/ob-octave.el (org-babel-execute:octave): Return result; not
name of output file.
* lisp/ob-plantuml.el (org-babel-execute:plantuml): Return nil to
signal that the intended content has been written to file.
* lisp/ob-python.el (org-babel-execute:python): Return result; not
name of output file.
* lisp/ob-ruby.el (org-babel-execute:ruby): Return result; not
name of output file.
* lisp/ob-sass.el (org-babel-execute:sass): Return nil if result has
been written to file
":results graphics" is now required in addition to ":file filename" in
order for graphical output to be sent automatically to file. If :file
is supplied, but not ":results graphics", then the default behavior
obtains: i.e., either "value" or "output" results are written to file,
depending on which of those options is in effect.
* lisp/ob-R.el (org-babel-R-graphical-output-file): New function
returns the name of the output file iff R has been instructed to send
graphical output to file by means of the ":results graphics"
directive.
(org-babel-expand-body:R): Use `org-babel-R-graphical-output-file'
when constructing the R code to evaluate, which may be augmented with
code implementing the writing of graohical output to file.
(org-babel-execute:R): Use `org-babel-R-graphical-output-file' to
determine whether R is taking responsibility for writing output to
file; if so, this is signalled to ob.el by returning a nil result.
* lisp/ob.el (org-babel-format-result): New function to format results
of src block execution.
(org-babel-execute-src-block): Use `org-babel-format-result' when
writing to file.
(org-babel-open-src-block-result): Use `org-babel-format-result' when
displaying results in a buffer; name results buffer differently.
* lisp/org-inlinetask.el (org-inlinetask-in-task-p): small
refactoring, do not modify match data either.
(org-inlinetask-goto-end): small refactoring, remove case-sensitivity.
(org-inlinetask-goto-beginning): small refactoring, remove case-sensitivity.
* 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.
* 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
* 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.
* 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>
* 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.
* 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 |
* 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.
* 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
* 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
* 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...
* lisp/org-html.el (org-export-html-mathjax-template): displaymath
environment and MathJax
Greetings All.
The following patch makes MathJax consider \begin{displaymath} and
\end{displaymath} as math environmetn boundaries. For someone who, like
me, keeps "The not so short introduction to LaTeX2e" alway around, the
displaymath environment is the default way to introduce a block of math.
In fact '\[' and '\]' are also mentioned there but the environment is
used in every single example so the patch minimizes the surprise.
* lisp/org-faces.el (org-agenda-current-time): New face.
* lisp/org-agenda.el (org-agenda-show-current-time-in-grid):
(org-agenda-current-time-string): New options.
(org-agenda-add-time-grid-maybe): Add current time to time grid.
suvayu ali <fatkasuvayu+linux@gmail.com> writes:
> I actually tried to set the text properties for the string instead,
> but looks like org-agenda is ignoring that.
>
> (defun jd:org-current-time ()
> "Return current-time if date is today."
> (when (equal date (calendar-current-date))
> (propertize (format-time-string "%H:%M Current time") 'font-lock-face
> '(:weight bold :foreground "DodgerBlue4" :background "snow"))))
To accomplish this you'd have to apply the following patch and use 'face
property rather than font-lock-face.
Why can't a sexp choose its 'face after all?
--8<---------------cut here---------------start------------->8---
--8<---------------cut here---------------end--------------->8---
* org-footnote.el (org-footnote-create-definition): Place Footnotes
section before message-signature-separator also in modes derived
from message-mode.
* lisp/org-list.el (org-list-top-point-with-indent,
org-list-bottom-point-with-indent): Pay also attention to
'original-indentation property of text, as blocks are put to column
0 upon exporting.
* lisp/ob.el (org-babel-remove-temporary-directory): Handle exception
with message informing of failure to remove directory.
Thanks to Antti Kaihola for the bug report:
http://thread.gmane.org/gmane.emacs.orgmode/34394
From: Antti Kaihola <akaihola <at> gmail.com>
Subject: Can't close Emacs+org-mode if /tmp and /home on different partitions
Newsgroups: gmane.emacs.orgmode
Date: 2010-12-02 08:33:28 GMT (6 days, 1 hour and 22 minutes ago)
I have /tmp on my root partition and a separate partition for /home.
When trying to close an Emacs session which is using org-mode, I get
this error:
move-file-to-trash: Non-regular file: Is a directory, /tmp/babel-XXXXXXX
(where XXXXXXX are random characters).
I tracked down the problem to org-babel-remove-temporary-directory
which ob.el adds to kill-emacs-hook. It tries to remove the temporary
directory using delete-directory, which in turn tries to move the
directory (by renaming) into trash, which is in my home directory.
I added this to my ~/.emacs.d/init.el:
(custom-set-variables '(temporary-file-directory "/home/akaihola/tmp/"))
and closing Emacs works correctly again. However, since my init.el is
part of emacs-starter-kit which I update frequently, I'd prefer not to
modify that file. Unfortunately the customization hook
emacs-starter-kit provides (~/.emacs.d/custom.el) is loaded too late
to affect the temporary directory.
I'm running emacs-snapshot 1:20090909-1 in Ubuntu 10.10. Looks like
this is really an Emacs bug and is already fixed:
http://groups.google.com/group/gnu.emacs.bug/browse_thread/thread/0446b8684a8ef504
* lisp/ob-clojure.el (org-babel-header-arg-names:clojure): Adding
`package' to the list of Clojure header arguments which will be read
from heading properties.
* lisp/org-inlinetask.el (org-inlinetask-export-templates): added
Sébastien Vauban's suggestion for LaTeX export in docstring. This is
not default as it requires an additional LaTeX package: "todonotes".
* org-inlinetask.el (org-inlinetask-export-templates): new variable
* org-inlinetask.el (org-inlinetask-export-handler): make use of
templates to export inline tasks
* org-inlinetask.el (org-inlinetask-outline-regexp): new function
* org-inlinetask.el (org-inlinetask-goto-beginning): new function
* org-inlinetask.el (org-inlinetask-goto-end): new function
* org.el (org-mark-subtree): new command
* org.el (org-speed-commands-default, org-mode-map): make use of new command