* lisp/org.el (org-timestamp-change): some locales don't use the same
length for date abbreviations. Set a marker at origin in case length
of new timestamp is different.
Thanks to Tom for analyzing this.
* lisp/org-archive.el (org-archive-subtree): while it might be
possible to archive an headline of a temporary buffer (i.e. not
visiting a file), it wouldn't be really sensical.
* lisp/org-archive.el (org-extract-archive-file,
org-extract-archive-heading, org-archive-subtree): buffer-file-name
is nil in an indirect buffer. Thus,
use (buffer-file-name (buffer-base-buffer)), which will, in any
case, return the file-name.
Thanks to Ilya Shlyakhter for reporting and analyzing this.
* lisp/org-capture.el (org-capture): if dired isn't loaded,
`dired-buffers' isn't defined, and %F will fail.
Thanks to Puneeth Chaganti for reporting this.
* lisp/org-footnote.el (org-footnote-in-valid-context-p): avoid cited
lines and headers in message-mode.
(org-footnote-at-reference-p): remove check for cited lines, this is
now handled by the previous function. Refactor.
* lisp/org-capture.el (org-capture): if no file is associated to
current buffer, check dired buffer and try to retreive a possibly
directory associated.
`org-outline-regexp' ought to be a defconst but is let-binded
in some places -- e.g. see the macro `org-with-limited-levels'
and this produces misleading warnings.
Thanks to Matthew Sauer for reporting this.
* lisp/ob-exp.el (org-babel-exp-results): Resolve hashes in the
current (not original) file buffer.
* lisp/ob.el (org-babel-current-result-hash): More informative name,
and remove useless optional argument.
* lisp/org-footnote.el (org-footnote-at-reference-p): test if match is
in cited text, when replying to a message.
(org-footnote-new): do not create a new footnote at bol, as it might
be seen as a definition.
(org-footnote-at-definition-p): ignore definitions in forbidden
blocks, as it is already the case for references.
* lisp/org-list.el (org-list-insert-item): actualize code comments.
(org-insert-item): for consistency, point cannot be moved at
a surprising place when the user is being asked to choose a new
description term to insert in the list. Point should stay where the
user called the command.
This commit introduce `org-loop-over-siblings-within-active-region-p'
as a new defcustom that you can turn on (`non-nil') to allow commands
to loop over siblings in the active region.
The list of commands is this:
- org-archive-subtree
- org-archive-to-archive-sibling
- org-toggle-archive-tag
- org-deadline
- org-schedule
When `org-loop-over-siblings-within-active-region-p' is `non-nil' and
you run one of the command above on a region containing several headlines,
then Org will apply the command to each headline.
This can be particularily useful for archiving several headlines, or to
add a deadline or schedule several entries.
* org.el (org-loop-over-siblings-within-active-region-p): New
defcustom so that `org-loop-over-siblings-in-active-region'
can be turned on and off.
(org-deadline, org-schedule): Use the new macro.
* org-macs.el (org-loop-over-siblings-in-active-region): New
macro to let some commands act upon several siblings in the
active region.
* org-archive.el (org-archive-subtree)
(org-archive-to-archive-sibling, org-toggle-archive-tag): Use
`org-loop-over-siblings-in-active-region'.
Use `org-outline-regexp' instead or `outline-regexp'. Also use the
new defconst `org-outline-regexp-bol' to match `org-outline-regexp'
at the beginning of line.
* org.el (org-outline-regexp-bol): New defconst.
(org-outline-level, org-set-font-lock-defaults, org-cycle)
(org-overview, org-content, org-flag-drawer)
(org-first-headline-recenter, org-insert-todo-heading)
(org-map-region, org-move-subtree-down, org-paste-subtree)
(org-kill-is-subtree-p, org-context-p, org-refile)
(org-refile-new-child, org-toggle-comment, org-todo)
(org-add-planning-info, org-add-log-setup, org-scan-tags)
(org-set-tags, org-insert-property-drawer)
(org-prepare-agenda-buffers, org-preview-latex-fragment)
(org-speed-command-default-hook, org-check-for-hidden)
(org-toggle-item, org-toggle-heading)
(org-indent-line-function, org-set-autofill-regexps)
(org-fill-paragraph, org-toggle-fixed-width-section)
(org-yank-generic, org-yank-folding-would-swallow-text)
(org-first-sibling-p, org-goto-sibling)
(org-goto-first-child, org-show-entry): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
* org-remember.el (org-remember-handler): Use
`org-outline-regexp-bol'.
* org-mouse.el (org-mouse-match-todo-keyword, org-mode-hook)
(org-mouse-move-tree, org-mouse-transform-to-outline): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
* org-macs.el (org-with-limited-levels)
(org-get-limited-outline-regexp): Use `org-outline-regexp'.
* org-indent.el (org-indent-outline-re)
(org-indent-refresh-section, org-indent-refresh-to): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
* org-html.el (org-export-as-html): Use
`org-outline-regexp-bol'.
* org-footnote.el (org-footnote-at-definition-p)
(org-footnote-normalize): Use `org-outline-regexp' and
`org-outline-regexp-bol'.
* org-exp.el (org-export-preprocess-string): Don't redefine
`outline-regexp'.
* org-docbook.el (org-export-as-docbook): Use
`org-outline-regexp-bol'.
* org-colview.el (org-columns, org-columns-compute): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
* org-colview-xemacs.el (org-columns, org-columns-compute):
Use `org-outline-regexp-bol'.
* org-clock.el (org-clock-insert-selection-line)
(org-clock-in, org-clock-out, org-dblock-write:clocktable):
Use `org-outline-regexp' and `org-outline-regexp-bol'.
* org-ascii.el (org-export-as-ascii)
(org-export-ascii-push-links): Use `org-outline-regexp' and
`org-outline-regexp-bol'.
* org-archive.el (org-archive-to-archive-sibling)
(org-archive-all-done): Use `org-outline-regexp' and
`org-outline-regexp-bol'.
* org-agenda.el (org-agenda, org-search-view)
(org-agenda-list-stuck-projects, org-agenda-get-timestamps)
(org-agenda-get-progress, org-agenda-get-blocks): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
* lisp/org.el (org-update-parent-todo-statistics): COOKIE_DATA should
be checked for parent, not current headline. Also, this function
doesn't need to be interactive.
* lisp/org-list.el (org-list-send-item, org-list-struct-apply-struct,
org-apply-on-list, org-toggle-checkbox): make markers point nowhere
when they have become useless.
* lisp/org-list.el (org-list-insert-item): when insertion point is in
some white line after the end of the list, remove all unnecessary
white lines there before proceeding. Also refactor a snippet of
code.
* ob.el (org-babel-strip-protective-commas): Return `nil'
instead of an error if no argument is given.
(org-babel-parse-src-block-match): Make sure body is defined
in the let construct.
* lisp/org-bibtex.el (org-babel-trim): Declare this function to the
compiler.
(org-bibtex-get): Trimming whitespace off of bibtex fields read from
properties.
* lisp/org-exp.el (org-export-preprocess-string): add the possibility
to call recursively the function. Also change order of some function
calls. Comment export process for footnotes.
* lisp/org-footnote.el (org-footnote-normalize): change the export
specific parameter to hold properties of export. Thus, the function
can send every footnote definition in the buffer through
`org-export-process-string'.
* lisp/org-latex.el (org-export-latex-preprocess): first insert
footnotes in the temporary buffer so their contents can properly be
protected from further transformations if required.
* lisp/org-latex.el (org-export-latex-list-parameters): complete
default value with cbtrans option.
* lisp/org-list.el (org-list-to-latex): set a more consistent default
value.
* lisp/org-list.el (org-list-swap-items): move it to a meaningful
position in source code (i.e. before any function using it), and
rename it to an easier name.
* lisp/org-list.el (org-list-use-circular-move): new variable.
(org-previous-item, org-next-item): make use of the new variable.
(org-move-item-down, org-move-item-up): make use of the new
variable. Simplify code.
* org-agenda.el (org-agenda-bulk-custom-functions): New
variable for custom bulk action functions.
(org-agenda-bulk-action): Use it.
Thanks to Julien Cubizolles for triggering this idea.
* org-latex.el (org-export-latex-quotes): New defcustom.
(org-export-latex-quotation-marks): Use it.
This allows users to define what quotes they want to use as a
replacement of english double-quotes while exporting to LaTeX.
In particular, if you use the csquote package, you can configure
Org to output something like \endquote{some quoted text} instead
of "some quoted text".
Thanks to Frederik for bringing this issue up, and to Thomas S.
Dye, Nick Dokos and Stefan Nobis for elaborating this solution.
* org-capture.el (org-capture-finalize): bugfix about
inserted blank line when killing the capture buffer and
`org-blank-before-new-entry' tells to not insert anything
before a heading.
Thanks to Leo for reporting this.
* org-html.el (org-export-html-content-div): Rename from
`org-export-content-div'.
(org-export-as-html): Use new name.
Thanks to Jambunathan for spotting this.
I'm testing whether patchwork catches the patches again.
You are free to test the feature as well :)
>From 2064e28c44ffc6f4020c8a5ec46e0d6bcf559c01 Mon Sep 17 00:00:00 2001
From: Bastien Guerry <bzg@altern.org>
Date: Mon, 11 Jul 2011 12:10:32 +0200
Subject: [PATCH] Make `org-set-property' defaults to the last set property.
* org.el (org-last-set-property): New variable.
(org-read-property-name): Use the new variable: the prompt
defaults to the last property set, unless there is a property
in the line at point.
* lisp/ob-awk.el (org-babel-execute:awk): Use "verbatim" as synonym
for "scalar".
* lisp/ob-sh.el (org-babel-sh-evaluate): Use "verbatim" as synonym for
"scalar".
* lisp/ob-sqlite.el (org-babel-execute:sqlite): Use "verbatim" as
synonym for "scalar".
* lisp/ob.el (org-babel-merge-params): Use "verbatim" as synonym for
"scalar".
* org.el (org-shiftcontrolup, org-shiftcontroldown): New
commands to use `org-clock-timestamps-change'.
* org-clock.el (org-clock-timestamps-change)
(org-clock-timestamps-down, org-clock-timestamps-up)
(org-at-clock-log-p): New functions to let the user update
clock log timestamps while keeping the same clock duration.
Thanks to Rainer Stengele for this idea.
* lisp/org.el (org-in-block-p): new function.
* lisp/org-footnote.el (org-footnote-forbidden-blocks): new variable.
(org-footnote-in-valid-context-p): new function.
(org-footnote-at-reference-p): use new function. Allow inline
footnotes to start at bol.
* Makefile (LISPF): Adding ob-lilypond.el.
* lisp/ob-lilypond.el (show-all): Declaring function from outline.el.
(org-babel-default-header-args:lilypond): Declared.
(ly-process-basic): Use the appropriate prefix for the temporary
file, and don't call a function from ob-dot.el.
(ly-version): Let-bind a free variable.
This reverts commit 5a2eec3207.
The replacement of `buffer-substring-filters' by
`filter-buffer-substring-functions' requires some rewriting
of functions like `org-indent-remove-properties-from-string'.
* install/git/org-mode/lisp/org.el (org-mode): Use org-default as
the default face in org-mode.
* install/git/org-mode/lisp/org-faces.el (org-default): New face.
M-x customize-face RET org-default RET lets the user define a default
face for org-mode.
* install/git/org-mode/lisp/org-publish.el
(org-publish-cache-file-needs-publishing): Takes care of more
recently included files, returning `t' in case the file including
them needs to be republished.
> Hi
>
> I've added functionality to make ob-lilypond act in a consistent
> org-babel way by default (think ob-dot).
>
> The previous modus operandi is now known as arrange-mode and is
> selected by setting ly-arrange-mode to t
>
> More details including examples are at
> http://github.com/mjago/ob-lilypond
`org-export-export-preprocess-string' was a dummy copy of
`org-export-preprocess-string', adapted for specific needs
of org-mw-export. We now use `org-export-preprocess-string'
directly. This requires a minor change in this latter function:
if :for-backend is not explicitely passed, then the let binding
of `org-export-current-backend' falls back on the previous value
of org-export-current-backend'.
* lisp/org-exp.el (org-export-preprocess-string): if the last subtree
is a task, footnotes may be removed along with the subtree. This
patch ensures footnotes are put at the end of the buffer after the
subtree has been removed.
* lisp/org-footnote.el (org-footnote-at-reference-p): verify that what
looks like a footnote doesn't belong to a link.
(org-footnote-next-reference-or-definition): check more strictly
footnote definitions.
The lua-mode for instance was throwing errors that killed the tangling process.
* lisp/ob-tangle.el (org-babel-tangle): Ignore errors thrown by
language modes.
* lisp/ob-python.el (org-babel-python-evaluate-session): Introduced a
new local function for sending input with a slight delay to allow
pythong to re-draw the prompt. No longer removing newlines inside
code block bodies (was due to a defective regexp).
* install/git/org-mode/lisp/org-table.el
(org-table-time-seconds-to-string): use `org-format-seconds'
instead of `format-seconds'.
* install/git/org-mode/lisp/org-macs.el (org-format-seconds):
handle case where `format-seconds' does not exist.
* org-publish.el (org-publish-cache-ctime-of-src): Properly handle
relative symlinks.
At Thu, 07 Apr 2011 01:11:00 -0400,
Nick Dokos wrote:
>
> org-publish-cache-ctime-of-src tries (but does not always succeed) to
> deal with symlinks: file-symlink-p returns the target as a string, but
> if the target is relative to the symlink, that's not going to fly.
> e.g. if c is a symlink like this
>
> /a/b/c->../d/f
>
> then (file-symlink-p "/a/b/c") -> "../d/f"
> but if the current directory is any place other than /a/b, the target
> will not be found, the file attributes are going to be nil and
> the function will blow up.
* org-latex.el (org-export-latex-preprocess): Use function argument
instead of dynamically scoped symbol.
Export options are passed to org-export-preprocess-string which passes
them down to backend specific preprocessor. The :footnotes option is
included.
* org-freemind.el (org-freemind-convert-links-helper)
(org-freemind-convert-text-p, org-freemind-write-mm-buffer)
(org-freemind-get-node-style): Use org-string-match-p for backward
compatibility with Emacs22.
* ob-haskell.el (org-babel-haskell-export-to-lhs): Call kill-buffer
with argument indiciating to kill current buffer. Emacs 22
compatibility.
GNU Emacs 22.3.2 (i686-pc-linux-gnu) of 2011-05-28 on x60s
C-h f kill-buffer RET
kill-buffer is an interactive built-in function in `C source code'.
It is bound to C-x k.
(kill-buffer buffer)
Kill the buffer buffer.
The argument may be a buffer or the name of a buffer.
With a nil argument, kill the current buffer.
* install/git/org-mode/lisp/org-table.el
(org-table-time-string-to-seconds)
(org-table-time-seconds-to-string): New functions.
(org-table-eval-formula): Implement the "T" (time) flag for
computing durations.
This uses the macro David Maus suggests. In particular, it doesn't
use the (let (pc-mode ...)) binding, which, as David states, could
cause leakage if the pc-mode variable is used within ,@body.
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Include header
lines.
(org-additional-option-like-keywords): Include data as a synonym for
results.
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Fix test for src blocks
lang attribute
When there is no lang attribute to a block (for quote, verse or others), the
lang variable is not nil, but an empty string.
* lisp/ob-org.el (org-babel-expand-body:org): Implemented this
function, only action is to expand variables.
(org-babel-execute:org): Uses the new body-expansion function.
* lisp/org-list.el (org-list-full-item-re): allow counter and
check-box to be separated by white spaces.
(org-list-struct-apply-struct): reflect changes made to
`org-list-full-item-re'.
* lisp/org-html.el (org-html-export-list-line): recognize spaces
between counter and check-boxes as valid.
* lisp/org-docbook.el (org-export-docbook-list-line): ditto.