* lisp/ob-exp.el (org-babel-exp-non-block-elements): More accurate
white space handling when evaluating inline-src-block, babel-call and
inline-babel-call elements or objects. Also removed use of
`org-babel-examplize-region' since it would never be called anyway
(return value from `org-babel-exp-do-export' is never nil).
* org-html.el (org-export-html-preprocess)
(org-export-html-format-image): Use
`org-latex-preview-ltxpng-directory'.
* org-odt.el (org-export-odt-do-preprocess-latex-fragments):
Ditto.
Commit 8474115b20 breaks LaTeX
image exports as HTML and ODT. This fixes it.
* org.el (org-create-formula-image-with-dvipng): Fixes a bug
introduced in 149cc04782 that made it
fail with no :foreground and :background attributes set, due to bad
handling of "Transparent" color.
* org.el (org-activate-plain-links): Don't try to check if we
are in a bracket link already.
This partially reverts commit ad35e2.
The problem that this commit was trying to
address needs to be rethought.
Thanks to Scott Randby for reporting this.
* org.el (org-read-date-analyze): Fix bug introduced in commit
cc5f9f: adding a time should not prevent relative answers to
be parsed correctly.
Thanks to Michael Brand for reporting this.
* org-agenda.el (org-agenda-bulk-action): Always read the date
through `org-read-date'. When possible, use the date at point
as the default date.
The previous behavior was trying to mimik the previous behavior
we had with `k m' (to mark the item at point) followed by ̀k s'
(to rescheduled it to the date at point, with no question.)
The current behavior always ask for a date/time interactively,
but takes the date at point as the current date, which makes it
fast enough.
Thanks to Nick Dokos for raising concerns about this.
* org-agenda.el (org-agenda-add-time-grid-maybe): Use the
correct number of parameters for `org-agenda-format-item'.
Add a docstring.
Thanks to Nick Dokos for hunting this issue thoroughly.
* org.el (org-outline-level): Go at the beginning of the
headline first to always return a sensible result.
* org-agenda.el (org-search-view, org-agenda-get-todos)
(org-agenda-get-timestamps, org-agenda-get-sexps)
(org-agenda-get-progress, org-agenda-get-deadlines)
(org-agenda-get-scheduled, org-agenda-get-blocks): Return the
correct level depending on `org-odd-levels-only'.
* lisp/ob-exp.el (org-export-blocks-preprocess): Improve blank lines
handling in function. Add comments. Remove
`org-export-blocks-postblock-hook' since it's defined nowhere
now (and doesn't need to, there's `org-export-before-parsing-hook'
already).
* lisp/org-exp-blocks.el: Delete file.
* lisp/ob-exp.el (org-export-blocks-preprocess): Moved from
"org-export-blocks.el".
* lisp/ob-ditaa.el (org-ditaa-jar-path): Moved from
"org-export-blocks.el".
* lisp/ob-exp.el (org-babel-exp-src-block): Remove unused argument.
(org-babel-exp-non-block-elements): Rewrite function using Org Element.
* lisp/org-exp-blocks.el (org-export-blocks-preprocess): Rewrite
function using Org Element.
* lisp/org-element.el (org-element--current-element): At the very
beginning of a footnote definition or an item, next element is
always a paragraph.
* testing/lisp/test-org-element.el: Add tests.
This patch fixes parsing for following cases:
- - text
or
[fn:1] # Some text
* org.el (org-format-latex-options): Add `auto' to docstring.
(org-format-latex): Get face colors at point and put them inside opt.
(org-create-formula-image-with-dvipng): Fix bug when colors are not
`default'.
(org-create-formula-image-with-imagemagick): Fix bug when handling
"Transparent" bg color.
(org-dvipng-color-format): Same as `org-latex-color-format' for
dvipng-style color specification.
If `auto' is used for the :foreground or :background value in
org-format-latex-options, the the appropriate color is chosen
from the face in which the formula is displayed.
* org-agenda.el (org-agenda-prefix-format): A new specifier
`%l' allows to insert X spaces when the item is of level X.
(org-search-view, org-get-entries-from-diary)
(org-agenda-get-todos, org-agenda-get-timestamps)
(org-agenda-get-sexps, org-agenda-get-progress)
(org-agenda-get-deadlines, org-agenda-get-scheduled)
(org-agenda-get-blocks, org-agenda-change-all-lines): Add a
new text property 'level, a string with as many whitespaces as
the level of the item.
(org-agenda-format-item, org-compile-prefix-format): Handle
the new `%l' specifier.
This new specifier allows to have a visual clue about the level
of the item in agenda views.
This reverts commit 7719734dd7.
* lisp/org-id.el: Do not use (random t), we just want a new random
number, not a re-seeding of the PRNG for which (random t) doesn't
provide enough entropy anyway. Even if (random) would always
produce the same sequence, the other components going into the MD5
hash ensure that the result will be unique.
This commit resurrects the `org-create-formula-image' function which was
removed in commit a9d3ce. This function is still called elsewhere, and
provides a simpler interface to the two backend-specific image creation
functions.
This also simplifies `org-format-latex', which still has some serious
problems such as optional arguments such as PROCESSING-TYPE which are
never assigned a default value, and extraneous variables.
At some point the `org-create-formula-image-with-imagemagick' and
`org-create-formula-image-with-dvipng' functions should be combined as a
great deal of code and logic is duplicated between the two functions.
* lisp/org.el (org-format-latex): Simplified and now makes use of the
new `org-create-formula-image' function.
(org-create-formula-image): Provides a simpler interface to the two
backend-specific functions.
* org-capture.el (org-capture-use-agenda-date): New option.
(org-capture): Use it.
* org-agenda.el (org-agenda-capture): New command.
(org-agenda-mode-map): Bind it to `k'.
(org-agenda-menu): Add it to the menu.
* org.texi (Agenda commands): Document the new command and the
new option.
Thanks to Eric Abrahamsen who suggested this change, along with
other merging about bulk actions.
* org-agenda.el (org-agenda-bulk-action): Possibly use the day
at point to reset the scheduled or deadline cookie. On date
headers, use it without prompting the user. On an item, use
the item's date as the default prompt for `org-read-date'.
* lisp/org-element.el (org-element-section-parser): Make sure section
cannot contain an headline.
(org-element--current-element): Fix bug requiring to parse a quote
section even when point is at an headline.
* testing/lisp/test-org-element.el: Add test.
* org-colview.el (org-columns-goto-top-level): Correctly move
the marker `org-columns-top-level-marker'.
(org-agenda-columns): Don't set
`org-agenda-overriding-columns-format' as a buffer variable,
as we only need it dynamically.
(org-agenda-colview-summarize): Fix a bug in returning the
match string.
(The problem with `org-columns-goto-top-level' was introduced
by the commit 8d9e83.)
Thanks to Hannes Schulz and Jacob Riko who reported this.
* org-colview.el (org-columns-next-allowed-value): Add the
CLOCKSUM property to the list of properties that can be
changed interactively from the column view.
* org.el (org-entry-put): Allow to set the CLOCKSUM property
by updating the most recent clock. This is useful in the
column view when you want to use S-<left/right> to update the
last clock of the entry at point.
Thanks to Rainer Stengele who suggested something along those
lines.
* org.el (org-image-actual-width): Rename from
`org-image-fixed-width'. Update the docstring. Give more
choice.
(org-display-inline-images): Use the option new choices.
* org.el (org-image-fixed-width): New option to set a fixed
width for inline images.
(org-display-inline-images): Use the new option.
This option only takes effect for Emacs >=24.1, build with
imagemagick support.
Thanks to Alexander Willand who requested a similar feature.
* org-agenda.el (org-agenda-span-to-ndays): Make the second
argument `starting-day' optional.
(org-agenda-goto-date): Keep parameters of custom agendas.
* org-agenda.el (org-agenda-list): Allow setting the agenda
buffer name through a temporary variable.
(org-agenda-buffer-tmp-name): New variable to temporary store
the agenda buffer name.
Thanks to Rainer Stengele for reporting this bug.
* org-agenda.el (org-agenda-goto-date): Fix behavior when
using sticky agendas.
Thanks to Charles Philip Chan and Rainer Stengele who reported
problems about this.
2012-08-25 Michael Sperber <mike@xemacs.org>
* org.el (org-fill-paragraph): Pass optional argument to
`fill-paragraph' to fix compatibility with XEmacs.
* org-agenda.el (org-diary): Don't check whether there is an
agenda buffer when trying to compile the prefix format.
(org-compile-prefix-format): Check if there is an agenda
buffer. If not, use the current buffer.
* org-agenda.el (org-agenda-get-day-entries): Set the agenda
buffer inconditionnally.
For example, when `org-agenda-get-day-entries' is called
through ̀org-diary', we need to make sure `org-agenda-buffer'
is set, otherwise org-diary triggers an error.
* org-agenda.el (org-class): Allow to use holiday strings for
the `skip-weeks' arguments.
Thanks to Enda for this suggestion.
For example, this task will now be skipped only on new year's day:
* Task
<%%(org-class 2012 1 1 2013 12 12 2 "New Year's Day")>
* ob.el (org-babel-named-src-block-regexp-for-name): Generate
a more general regexp.
Thanks to Loris Bennett for reporting this, and to Nicolas Girard for
pointing out what was the problem precisely.
* org.el (org-mode): Set the syntax of the " character to
"string quote".
Thanks to Samuel Wales for asking a related question and to Nick Dokos
for suggesting this solution.
Remove some duplicate declarations.
When the variable is declared in another file,
use (defvar [var]). When it is dynamically bound
in this file (defvar [var]) is enough, but mixed
installations make (defvar [var] [val]) safer.
* lisp/org-timer.el (org-timer-set-mode-line): Check
`org-timer-display' when value is 'off.
This solves the error of (org-timer-set-mode-line 'off) when
`org-timer-display' is 'mode-line. In this case `frame-title-format'
may not be a list.
TINYCHANGE
* lisp/org-clock.el (org-x11idle-exists-p): Only shell out when running
on X.
The definition of this variable currently executes "command" via the
shell during evaluation, irrespective of the platform on which
Org-mode is running. Unfortunately, on Windows, this matches the
"command.com" NT Virtual DOS Machine executable and so this gets
launched, but this is a shell and therefore sits there waiting for
user input and never returns. The net result is that Emacs will hang
on Windows when evaluating org-clock.el with the ntdvm.exe process
spinning at 100%.
The simple fix is to check that the platform is X before trying to
deal with the "x11idle" external process.
TINYCHANGE
* org-agenda.el (org-agenda-local-vars): Remove
̀org-agenda-last-arguments' from the list of local variables.
(org-agenda-mode-map): `g' does the same than `r' in buffers
with only one agenda view, but its behavior differs when there
are several views. In manually appended agendas (with `A'),
`g' displays only the agenda under the point. With multiple
agenda blocks, `g' reinitializes the view by discarding any
temporary changes (e.g. with ̀f' or `w'), while ̀r' keeps those
temporary changes for the agenda view under the point.
(org-agenda-run-series, org-agenda-redo): Implement the above
changes.
(org-agenda-mark-header-line): Don't set useless properties.
(org-agenda-list, org-todo-only, org-search-view)
(org-todo-list, org-tags-view, org-agenda-list-stuck-projects)
(org-agenda-manipulate-query, org-agenda-goto-today)
(org-agenda-later, org-agenda-change-time-span): Use text
properties for storing the last command and the last arguments
for each agenda block.
(org-unhighlight-once): Delete.
* org-agenda.el (org-agenda-pre-window-conf): Rename from
`org-pre-agenda-window-conf'.
(org-agenda-local-vars, org-agenda-prepare-window)
(org-agenda-Quit, org-agenda-quit): Use the new name.
* org-agenda.el (org-keys, org-match): New variable,
dynamically scoped in `org-agenda'.
(org-agenda, org-agenda-list, org-search-view, org-todo-list)
(org-tags-view): Use the new variables.
(org-batch-store-agenda-views): Let-bind `match'.
* org-agenda.el (org-search-view, org-todo-list)
(org-tags-view): Do not let `org-agenda-sticky' prevent the
use of these functions programmatically. Also use the sticky
agenda function correctly.
* org-agenda.el (org-agenda-fit-window-to-buffer): Rename from
`org-fit-agenda-window'.
(org-agenda-run-series, org-agenda-prepare, org-agenda-list)
(org-search-view, org-todo-list, org-tags-view): Use the new
name.
* org-agenda.el (org-agenda-list): Fix bug: don't throw an
error when called from programs as (org-agenda-list).
Thanks to Rainer Thiel for reporting this bug.
* lisp/org.el (org-mode): Call external initalizers. Now both filling
code and comments code have their own independant part in org.el.
(org-setup-filling): Renamed from `org-set-autofill-regexps'.
(org-setup-comments-handling): New function.
* lisp/org.el (org-fill-paragraph): Refine filling in comments and in
paragraphs. Allow commented blank lines. Take into consideration
the indentation of the second line of the paragraph being filled.
(org-comment-or-uncomment-region): Rewrite function. Now comment
region at a fixed column: the minimal indentation of the region.
(org-fill-context-prefix): Rename function into
`org-adaptive-fill-function'. Also, In a paragraph, choose the same
prefix as the current line.
* org-agenda.el (org-agenda): In sticky agendas, use the
current command's match to set the buffer name. This gives
more information to the user and allows to distinguish various
agendas triggered by the same key.
(org-batch-store-agenda-views): Handle the new sticky agenda
buffer name.
* org-table.el (org-table-number-regexp): Allow the user to
set it to a new regexp, which allows commas as decimal mark.
The default is to not use this setting, but the one before
commit 7ff8c1, which has ben reverted.
See the discussion here:
http://thread.gmane.org/gmane.emacs.orgmode/59389
* org-agenda.el (org-agenda-overriding-cmd)
(org-agenda-multi-current-cmd)
(org-agenda-multi-overriding-arguments): New variables.
(org-agenda-run-series): `org-agenda-overriding-arguments'
defaults to the last agenda block arguments, so don't use it
globally.
(org-agenda-mark-header-line): Add properties needed so that
`org-agenda-overriding-arguments', `org-agenda-current-span'
and `org-agenda-last-arguments' can be set to their correct
contextual value.
(org-agenda-multi-back-to-pos): New variable.
(org-agenda-later): Retrieve `org-agenda-current-span' and
`org-agenda-overriding-arguments' from text properties. Also
handle numeric span.
(org-agenda-later, org-agenda-change-time-span): Set
`org-agenda-overriding-cmd' so that we to take overriding
arguments into account for this command only.
The behavior for agenda blocks where there is only one (agenda)
command is not changed. Changing the time span and redoing with
`g' will keep the new time span. The behavior changed for blocks
where there are multiples (agenda) blocks. In this case, redoing
will restore the initial view (before any time span change) and
changing the time span is done independantly for each block.
Thanks to Charles Philip Chan for reporting this nasty bug.