Commit Graph

11049 Commits

Author SHA1 Message Date
Nicolas Goaziou 82de7dafa3 Fix "Symbol nil may not be buffer-local" error
* lisp/org.el (org-set-regexps-and-options): Fix "Symbol nil may not
  be buffer-local" error when encountering an nonexistent startup
  keyword.

Reported-by: Mike McLean <mike.mclean@pobox.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/92279>
2014-11-01 12:07:14 +01:00
Nicolas Goaziou 17d014ec65 Fix infloop with multiple tags
* lisp/org.el (org--setup-collect-keywords): Fix infloop when parsing
  multiple tags.

Reported-by: Kyle Meyer <kyle@kyleam.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/92245>
2014-11-01 11:53:46 +01:00
Nicolas Goaziou d85ce34fc5 Fix missing syntax highlighting with #+SETUPFILE
* lisp/org.el (org--setup-collect-keywords): Fix wrong argument
  order.  Avoid needless recursion.

Reported-by: Kyle Meyer <kyle@kyleam.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/92208>
2014-10-30 16:30:43 +01:00
Nicolas Goaziou 1b92b8b8fe ox-latex: Add missing defcustom keywords
* lisp/ox-latex.el (org-latex-caption-above): Add missing keywords.
2014-10-29 22:18:00 +01:00
Nicolas Goaziou e4bc5645ce Fix 8daf4a8
* lisp/org.el (org-format-latex): Fix regexp.
2014-10-29 11:57:42 +01:00
Nicolas Goaziou 8daf4a89f1 Fix preview latex
* lisp/org.el (org-toggle-latex-fragment): Fix previewing nested
  environments.
(org-format-latex): Change signature.  Rewrite using Elements.

* lisp/ox-html (org-html-format-latex):
* lisp/ox-odt (org-odt--translate-latex-fragments): Apply signature
  change.

Reported-by: Andreas Leha <andreas.leha@med.uni-goettingen.de>

<http://permalink.gmane.org/gmane.emacs.orgmode/92142>
2014-10-28 23:55:01 +01:00
Nicolas Goaziou b8d8078368 Refactor logging code
* lisp/org.el (org-log-beginning): New function.
(org-ts-regexp-inactive): New variable.
(org-add-log-setup): Use new function.
(org-skip-over-state-notes): Make function more robust to
customization.
(org-store-log-note): Update function according to previous changes.
Small refactoring.
2014-10-28 14:23:53 +01:00
Nicolas Goaziou 95c2c7f38c Update custom properties handling
* lisp/org.el (org-toggle-custom-properties-visibility): Improve
correctness and speed.

* testing/lisp/test-org.el (test-org/custom-properties): New test.
2014-10-28 14:23:53 +01:00
Nicolas Goaziou 0374533827 Fix multiple TODO keywords
* lisp/org.el (org--setup-collect-keywords): Correctly collect
  multiple TODO lines.
* testing/lisp/test-org.el (test-org/set-regexps-and-options): Add
test.

Thanks to Eric Abrahamsen for reporting it.
2014-10-28 14:23:53 +01:00
Nicolas Goaziou 705a2cdeab Fix property drawer insertion with consecutive headlines
* lisp/org.el (org-get-property-block): Fix property drawer insertion
  with consecutive headlines
* testing/lisp/test-org.el (test-org/entry-put): Add test.

Thanks to Eric Abrahamsen for reporting it.
2014-10-28 14:23:53 +01:00
Nicolas Goaziou 61a241f0dc Rewrite setup keywords initialization
* lisp/org-table.el (org-table-set-constants): Remove function.
* lisp/org.el (org-set-regexps-and-options): Rewrite function.  Merge
  it with `org-set-regexps-and-options-for-tags'.
(org-set-regexps-and-options-for-tags): Remove function
(org--setup-collect-keywords, org--setup-process-tags): New functions.
(org-mode): Remove `org-set-regexps-and-options-for-tags' call.
(org-agenda-prepare-buffers): Use optimized setup for tags in all
cases.  Improve docstring.
(org-make-options-regexp): Make returned regexp more efficient.
2014-10-28 14:23:52 +01:00
Nicolas Goaziou 0b74864bfb org-table: Do not look after CONSTANTS in Orgtbl mode
* lisp/org-table.el (orgtbl-ctrl-c-ctrl-c): Do not set constants.

Orgtbl provides limited support for Org tables in an arbitrary major
mode.  Any Org syntax outside tables, including keywords, cannot be
supported in this environment.  Therefore there is no point to look
for CONSTANTS keywords.  Moreover, constants can be defined within the
table.

This change allows to move `org-table-set-constants' feature to
`org-set-regexps-and-options' and treat CONSTANTS keyword like any
other keyword (e.g., defining it in a SETUPFILE).
2014-10-28 14:23:52 +01:00
Nicolas Goaziou fd87746836 Turn buffer local syntax variables into constants
* lisp/org.el (org-ds-keyword-length, org-deadline-regexp,
  org-deadline-time-regexp, org-deadline-time-hour-regexp,
  org-deadline-line-regexp, org-scheduled-regexp,
  org-scheduled-time-regexp, org-scheduled-time-hour-regexp,
  org-closed-time-regexp, org-keyword-time-regexp,
  org-keyword-time-not-clock-regexp, org-maybe-keyword-time-regexp,
  org-all-time-keywords): Turn into a defconst, no longer
  buffer-local.
(org-set-regexps-and-options): No need to set anymore previous
variables.
2014-10-28 14:23:52 +01:00
Nicolas Goaziou 1c34ec85b0 ox: Update INCLUDE keywords wrt property drawers
* lisp/ox.el (org-export--inclusion-absolute-lines): Fix comment.
(org-export--prepare-file-contents):  Do not look for property drawers
after a drawer, since this is impossible.

* testing/examples/include.org: Fix test data.
2014-10-28 14:23:52 +01:00
Nicolas Goaziou 1ff01cc07a Small refactoring
* lisp/org.el (org-add-planning-info): Small refactoring.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou ed825d738b Insert logs after planning info and property drawer
* lisp/org.el (org-add-log-setup): Set `org-log-note-marker' after
  planning info and property drawer.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou 52b63aed04 org-clock: Insert clocks after meta data
* lisp/org-clock.el (org-clock-find-position): Make sure clocks, and
  possibly drawer containing them, are inserted after planning info
  and any property drawer.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou 8d8ad98382 Rewrite `org-entry-properties'
* lisp/org.el (org-special-properties): Remove "CLOCK" as a special
  keyword.
(org-entry-properties): Rewrite function according to property drawer
syntax.  Change signature.
(org-entry-get): Apply signature change.

"CLOCK" removal is motivated by the fact that it isn't listed as
a special keyword in the manual, it is not used throughout the code
base, and there is no meaningful value for this property.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou 622619334a Update property API
* lisp/org.el (org-entry-put): Refactor code, taking into account
  changes to property drawer syntax.  Fix errors when handling special
  values, which cannot be symbols.  Remove CLOCKSUM handling.
(org-entry-get): Refactor code.
(org-entry-delete): Small refactoring, do not rely on
`org-remove-empty-drawer-at' since parser is not necessary here.
(org-buffer-property-keys): Fix infloop.  Ignore final "+" in extended
properties.  Refactor code.
(org-property-values): Include extended values.
(org-entry-get-with-inheritance, org-insert-property-drawer): Small
refactoring.
(org-insert-drawer): Fix docstring and comments.
(org--update-property-plist): Renamed from org-update-property-plist.
Use side effects.  Improve speed.

CLOCKSUM special property in `org-entry-put' is buggy (symbols instead
of strings) and ignores provided value.  Since the expected behaviour
is neither clear nor documented, the property is not handled anymore
by the function.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou 57d8b68d95 Update `org-get-property-block'
* lisp/org.el (org-at-property-p): Rewrite.  Don't use `org-element-at-point'.  It
is faster to retrieve the property drawer location instead.
(org-get-property-block): Update function and docstring.  Change
  signature.
(org-entry-properties, org-entry-put, org-buffer-property-keys): Apply
signature change.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou ae35b8c4ad org-element: Update property drawers parsing
* lisp/org-element.el (org-element--get-node-properties,
  org-element--get-time-properties): New functions.
(org-element-headline-parser, org-element-inlinetask-parser): Use new
functions.
(org-element-property-drawer-parser): Change signature.  Simplify
parsing.
drawer.
(org-element--current-element, org-element--next-mode): Property
drawers are located right after a headline or a planning element.

* testing/lisp/test-org-element.el (test-org-element/drawer-parser,
  test-org-element/node-property,
  test-org-element/property-drawer-interpreter): Update tests.
(test-org-element/property-drawer-parser): Add tests.
* testing/lisp/test-org.el (test-org/indent-line,
  test-org/indent-region, test-org/forward-paragraph,
  test-org/backward-paragraph): Update tests.
2014-10-28 14:23:51 +01:00
Nicolas Goaziou 824faa7255 Update property drawer and node property regexps
* lisp/org.el (org-property-drawer-re, org-property-re): Update
  regexp.
2014-10-28 14:23:50 +01:00
Oleh Krehel f70439f190 ob-clojure.el: Fix compatibility issue
* lisp/ob-clojure.el (org-babel-execute:clojure): Fix compatibility
    issue with cider >0.7.0.
2014-10-27 15:26:47 +01:00
Nicolas Goaziou ca31d59f24 Fix Flyspell check in row separators and empty verse blocks
* lisp/org.el (org--flyspell-object-check-p): New function.
(org-mode-flyspell-verify): Check that table row or verse block under
point is not empty.  Use previous function.
2014-10-26 16:54:01 +01:00
Rasmus 58bb3a21f8 ox-html: Fix bug in c9ca0b6d.
* ox-html.el (org-html-inlinetask): Fix bug.
2014-10-26 02:50:14 +02:00
Nicolas Goaziou 926553c608 ox-latex: Change default value for `org-latex-caption-above'
* lisp/ox-latex.el (org-latex-caption-above): Change default value.

`org-latex-table-caption-above' is removed completely since default
value do not match anymore.

See <http://permalink.gmane.org/gmane.emacs.orgmode/91363>.
2014-10-25 00:10:02 +02:00
Nicolas Goaziou d849804ac7 ox: Remove unnecessary code comments 2014-10-24 21:13:47 +02:00
Nicolas Goaziou 7f97406542 Bump Emacs version
* lisp/ob-core.el (org-babel-examplize-region):
* lisp/ob-exp.el (org-babel-exp-inline-code-template):
* lisp/org-table.el (org-table-copy-increment):
(org-table-formula-create-columns):
* lisp/org.el (org-agenda-ignore-drawer-properties):
(org-agenda-ignore-properties):
* lisp/ox-ascii.el (org-ascii-list-margin):
* lisp/ox-html.el (org-html-format-headline-function):
(org-html-format-inlinetask-function):
* lisp/ox-latex.el (org-latex-hyperref-template):
(org-latex-custom-id-as-label):
(org-latex-format-inlinetask-function):
(org-latex-known-warnings):
* lisp/ox-odt.el (org-odt-format-headline-function):
(org-odt-format-inlinetask-function):
* lisp/ox-texinfo.el (org-texinfo-format-headline-function): Bump
  Emacs version.
2014-10-24 11:56:09 +02:00
Achim Gratz 7429f35efe Merge branch 'maint' 2014-10-22 21:10:18 +02:00
Marco Wahl 8b63dc9503 org.el: Fix bindings of < and > for calendar scrolling
* lisp/org.el (org-read-date-minibuffer-local-map): Switch to the
  current calendar API for scrolling the calendar.
2014-10-20 21:47:42 +02:00
Yann Hodique d4cce42123 org.el: Use normalized names in org-agenda-file-p
* lisp/org.el (org-agenda-file-p): Make sure all filenames are
normalized before performing comparison.
2014-10-20 15:36:17 +02:00
Bastien Guerry eb973f90a9 org-clock.el (org-clock-select-task): Kill temporary buffer
* org-clock.el (org-clock-select-task): Kill temporary buffer.

Thanks to Marcin Borkowski for this idea.
2014-10-20 15:27:46 +02:00
Nicolas Goaziou c27d86d6f1 ox-latex: Possibly make a matrix out of tabular environment
* lisp/ox-latex.el (org-latex--math-table): Properly create matrix if
  "tabular" environment is used.  Make sure cells are centered instead
  of applying usual alignment rules.
2014-10-18 10:16:04 +02:00
Nicolas Goaziou 79789e47aa ox-latex: Tiny fix to latex-matrices pseudo-elements
* lisp/ox-latex.el (org-latex--wrap-latex-matrices): Make sure
  contiguous element is also an Org table.
2014-10-18 10:15:29 +02:00
Nicolas Goaziou 3bb75bc14c ox-latex: Add `org-latex-caption-above'
* lisp/ox-latex.el (org-latex-caption-above): New variable.
(org-latex-table-caption-above): Remove variable.  Make it an obsolete
alias of the previous one.
(org-latex--caption-above-p): New function.
(org-latex--inline-image, org-latex-src-block,
org-latex-special-block, org-latex table): Handle new variable.

* doc/org.texi (Publishing options):
* etc/ORG-NEWS: Document new option.
2014-10-17 21:42:17 +02:00
Nicolas Goaziou 33719e2ef9 ox-latex: Refactor matrices code
* lisp/ox-latex.el (latex): Introduce a dedicated pseudo-element:
  `latex-matrices'.
  (org-latex--wrap-latex-matrices, org-latex-matrices,
  org-latex-matrices-tree-filter): New functions.
  (org-latex--math-table): Delegate environment wrapping to new
  pseudo-element translator.
2014-10-17 21:33:25 +02:00
Kyle Meyer 70e0b08e66 org-clock: Fix CLOCK_INTO_DRAWER property check
* lisp/org-clock.el (org-clock-into-drawer): Fix processing of
properties so that they can override global value.

Previously, if the 'CLOCK_INTO_DRAWER' or 'LOG_INTO_DRAWER' property was
nil, the local property setting would not override the global
variable [1]. These changes make the behavior match the docstring
description ('CLOCK_INTO_DRAWER' and 'LOG_INTO_DRAWER' properties
override `org-clock-into-drawer', with 'CLOCK_INTO_DRAWER' given
precedence).

[1] http://stackoverflow.com/questions/26405415/how-to-locally-unset-org-clock-into-drawer-t

TINYCHANGE
2014-10-17 00:09:32 +02:00
Eric Abrahamsen 1feafbfa99 org-attach: Maybe delete heading attachments when archiving
* lisp/org-attach.el (org-attach-archive-delete): New option
  controlling what to do with attachments when
  archiving.
(org-attach-archive-delete-maybe): New function that runs as a hook on
  org-archive-hook.  Checks the value of `org-attach-archive-delete',
  and behaves accordingly.
2014-10-16 18:57:39 +02:00
Eric Abrahamsen a7c72e0de5 org-archive: Provide a hook during the archive process
* lisp/org-archive.el (org-archive-hook): New hook.
  (org-archive-subtree): Run hook.
2014-10-16 18:57:34 +02:00
Andrew Burgess 587280ea68 org-capture: Better indentation when creating a new list
lisp/org-capture.el (org-capture-place-item): When starting a new list
use org-indent-line to establish the correct indentation rather than
just using 0.

Creating an entry in org-capture-templates of type item adds entries
into a list, however, currently, if the list is empty then the first
list item will always be indented to depth 0 (so hard on the left),
which looks like this:

  * Top Level
  ** Second Level
  - item #1
  - item #2
  - item #3

This is fine if org-adapt-indentation is nil, however, with the
default value of t lists should be indented more like this:

  * Top Level
  ** Second Level
     - item #1
     - item #2
     - item #3

The patch below changes org-capture-place-item so that, when starting
a new list, the items are indented as above.

Care is taken to preserve two features of the existing behaviour,
first, when adding to an existing list, new items are indented to
match the items already in the list.  And secondly, when there is some
introductory text before the list new items are inserted after the
text, like this:

  * Top Level
  ** Second Level
     This is some introductory text:
     - item #1
     - item #2
     - item #3

TINYCHANGE
2014-10-14 22:24:30 +02:00
Nicolas Goaziou 39963a61d4 ob-clojure: Silence byte-compiler 2014-10-13 22:05:12 +02:00
Nicolas Goaziou ce2090ccfd Fix indentation in lists
* lisp/org-list.el (org-list-item-body-column): Take into
  consideration empty items and bullets followed by two spaces.

* lisp/org.el (org--get-expected-indentation): Fix return value for
  items in lists.
(org-indent-region): Fix infloop when indenting some types of plain
lists.  Also fix error when region starts with blank lines at the
beginning of the buffer.

* testing/lisp/test-org.el (test-org/indent-region): Add tests.
2014-10-13 19:03:14 +02:00
Marco Wahl fdd9b18598 [PATCH] Fix: Emacs 25 fancy diary inclusion in agenda
* lisp/org-agenda.el (org-get-entries-from-diary): Use the suitable
  display function.  Drop the usage of the obsolete diary-display-hook.

fancy-diary-display has been dropped in Emacs 25.  diary-fancy-display
is the long known replacement of fancy-diary-display.

diary-display-hook has been marked obsolete before Emacs 23.2.
2014-10-13 00:19:07 +02:00
Nicolas Goaziou 89f5ad36d7 Merge branch 'maint' 2014-10-12 22:55:38 +02:00
Nicolas Goaziou a0ac1344fc ox: Fix 88457acff4
* lisp/ox.el (org-export-async-start): Limit first argument to lambda
  expressions.
* lisp/ox-publish.el (org-publish, org-publish-all,
  org-publish-current-file): Replace `ignore', per limit stated above.

Due to a hack allowing to provide quasi-quoted lambda expressions,
symbols are not allowed as result handler.  This limitation is not
much of a problem as `org-export-async-start' is only meant to be used
internally.
2014-10-12 22:53:01 +02:00
Aaron Ecay bc9a582f1e [export] Raise an error if footnote definition is not found.
* lisp/ox.el (org-export-get-footnote-definition): Raise an error if
footnote definition is not found.
2014-10-12 16:47:09 +01:00
Aaron Ecay 5f423f1208 Warn about unexpanded macros on export
* lisp/org-macro.el (org-macro-replace-all): Add optional `finalize'
argument.
* lisp/ox.el (org-export-as): Use it.
2014-10-12 16:47:09 +01:00
Thierry Banel 4753bfa3bf Enable multiple files in :includes header
* ob-C.el (org-babel-C-expand-C, org-babel-C-expand-D): Let
:includes, :defines, :imports accept several items separated by
blanks without enclosing them in parenthesis.

Thanks to Will Everett for reporting this.
2014-10-12 14:00:51 +02:00
Thierry Banel 0e07eb5665 Ascii and Gnuplot key-bindings
* org.el (org-mode-map): change key-binding from C-c p to C-c " a add
C-c " g key-binding for Gnuplot
(org-tbl-menu): add sub-menu for plotting featuring Gnuplot and ascii
plot
* org-table.el (orgtbl-setup): add sub-menu for plotting featuring
Gnuplot and ascii plot
2014-10-12 11:25:51 +02:00
Dima Kogan 1c1f91811d org-table: Field formulas can now create columns as needed
* org-table.el (org-table-formula-create-columns): New variable.
(org-table-recalculate): Use the new org-table-formula-make-new-cols
customization to control whether org creates new columns when
a formula explicitly targets them.
2014-10-12 11:11:57 +02:00
Christopher Schmidt 9c3d22f864 org.el (orgstruct-make-binding): Do not use loop in interpreted code.
* lisp/org.el (orgstruct-make-binding): Do not use loop in
interpreted code.
2014-10-12 06:57:35 +02:00
Christopher Schmidt 2b98cd6554 org.el (orgstruct-make-binding): Do not use loop in interpreted code.
* lisp/org.el (orgstruct-make-binding): Do not use loop in
interpreted code.
2014-10-11 21:40:45 +02:00
Marco Wahl 4a872ae3a0 [PATCH] Fix: Emacs 25 fancy diary inclusion in agenda
* lisp/org-agenda.el (org-get-entries-from-diary): Use the suitable
  display function.  Drop the usage of the obsolete diary-display-hook.

fancy-diary-display has been dropped in Emacs 25.  diary-fancy-display
is the long known replacement of fancy-diary-display.

diary-display-hook has been marked obsolete before Emacs 23.2.
2014-10-11 18:16:36 +02:00
Nicolas Goaziou 39eb7796e8 org-table: Fix :raw parameter in radio tables
* lisp/org-table.el (org-table--to-generic-cell): Use
  `org-element-interpret' data when parameter :raw is non-nil so
  pseudo elements and objects are not ignored.

* testing/lisp/test-org-table.el (test-org-table/to-latex): Add test.

Thanks to Giuseppe Lipari for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/91559
2014-10-11 17:10:05 +02:00
Aaron Ecay fcce67cdeb ob-R: fix interaction with ESS for new sessions
* lisp/ob-R.el (org-babel-R-initiate-session): Properly wait on a new
ESS process.
2014-10-10 12:35:57 -04:00
Nicolas Goaziou fac4677e51 Merge branch 'maint' 2014-10-10 11:11:06 +02:00
Nicolas Goaziou 88457acff4 ox: Fix "void-variable ignore" error when publishing
* lisp/ox.el (org-export-async-start): Allow to use symbols as
  function.

Thanks to Julien Cubizolles for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/91532
2014-10-10 11:05:06 +02:00
Rainer M. Krug 780db69cdf ob-R.el: Add package name to read.table call
* lisp/ob-R.el: (ob-R-transfer-variable-table-with-header)
(ob-R-transfer-variable-table-without-header): Add package name to
call of R function `read.table'.

Thus, it now reads `utils::read.table'.  This clarifies the call as
well as avoids "could not find function" error in R with the devtools
package.  See
<https://github.com/hadley/devtools/issues/336#issuecomment-23517837>.
2014-10-10 00:16:31 -04:00
Nicolas Goaziou 06944507f1 Merge branch 'maint' 2014-10-07 12:29:35 +02:00
Mike McLean d5c531725a org-agenda.el: Update docstring
* org-agenda.el (org-agenda-time-grid): Change docstring.

TINYCHANGE
2014-10-07 12:28:51 +02:00
Bastien Guerry 942eb607e6 ob-clojure.el: Fix compatibility issue
* ob-clojure.el (org-babel-execute:clojure): Fix compatibility
issue with cider >0.7.0.  This breaks compatibility with Cider
<=0.7.0.

Thanks to Daniel Szmulewicz for the suggested fix.
2014-10-06 15:47:40 +02:00
Bastien Guerry 9c64957609 Merge branch 'master' of orgmode.org:org-mode 2014-10-06 14:25:40 +02:00
Bastien Guerry e81b911c46 ob-clojure.el: Remove nrepl.el support
* ob-clojure.el (org-babel-clojure-backend)
(org-babel-execute:clojure): Remove nrepl.el support.
2014-10-06 11:56:04 +02:00
rasmus b54ad32a79 ob-table: Updated documentation.
* ob-table.el (org-sbe): Updated documentation.
2014-10-04 12:10:49 +02:00
Nicolas Goaziou a526ee3b82 Fix 464cd96
* lisp/ox-html.el (org-html-link):
* lisp/ox-md.el (org-md-link): Fix errors introduced in
  464cd965cb.
2014-10-03 22:23:25 +02:00
Rasmus 464cd965cb ox: Support unnumbered headlines via property
* ox.el (org-export--collect-headline-numbering): Ignore unnumbered headline.
(org-export-get-headline-id,
org-export--collect-unnumbered-headline-id): New functions.
(org-export-numbered-headline-p): Further tests for unnumbered headline.
* ox-odt.el (org-odt-headline, org-odt-link,
org-odt-link--infer-description)
ox-md.el (org-md-headline, org-md-link),
ox-latex.el (org-latex-headline, org.latex-link),
ox-html.el (org-html-headline, org-html-link),
ox-ascii.el (org-ascii-link): Support unnumbered headlines.
* test-ox.el (test-org-export/org-export-get-headline-id): New test.
* OrgOdtStyles.xml: Add styles for unnumbered headings.
2014-10-03 22:06:34 +02:00
Nicolas Goaziou cf77a8e878 Fix `org-edit-special' on file names with spaces
* lisp/org.el (org-edit-special): Fix function when INCLUDE or
  SETUPFILE keyword points to a file name with spaces.
2014-10-02 19:23:03 +02:00
Rasmus 986037a538 ox: Allow file-links with #+INCLUDE-keyword
* org.el (org-edit-special): Handle file-links for INCLUDE.
* ox.el (org-export--prepare-file-contents): Handle links and
add option no-heading.
* ox.el (org-export-expand-include-keyword): Resolve headline
links and add option :only-contents.
* orgguide.texi (Include files)
org.texi (Include files): Updated.
* testing/examples/include.org: New examples.
* test-ox.el (test-org-export/expand-include): New tests.
2014-10-02 18:51:37 +02:00
Marco Wahl 58d95c3a4f org-eww: Org-module to store url from eww
* contrib/lisp/org-eww.el: New file
* contrib/README: Added org-eww.
* lisp/org.el (org-modules): Add org-eww to the pool of org-modules.

The hook gets hooked in the module.

The file is more or less a fraction of the org-w3m module with 'w3m'
replaced by 'eww'.
2014-10-01 13:48:55 -04:00
Nicolas Goaziou 39f5f03946 ox: Resurrect :input-buffer property
* lisp/ox.el (org-export--get-buffer-attributes):
  Resurrect :input-buffer property.

This property was removed in 604b9389. since it wasn't necessary
anymore internally.  It is back again as a consequence of a user
request.
http://permalink.gmane.org/gmane.emacs.orgmode/91230
2014-09-28 23:29:59 +02:00
Aaron Ecay 9386b0c584 [ox-latex] add \phantomsection where appropriate.
* lisp/ox-latex.el (org-latex--wrap-label): Add \phantomsection.

Without this, links will jump to the nearest sectioning command
instead of to the exact spot of definition.
2014-09-28 00:03:50 -04:00
Aaron Ecay 710d3c864e allow speed commands to have prefix args
* lisp/org.el (org-self-insert-command): Allow speed commands to be
invoked with prefix args.
2014-09-27 23:37:14 -04:00
Aaron Ecay c29209d919 org-faces: remove org-copy-face
* lisp/org-faces.el (org-copy-face): Remove function.
(org-checkbox-statistics-todo, org-checkbox-statistics-done)
(org-block-begin-line, org-block-end-line, org-quote)
(org-verse, org-agenda-date, org-agenda-date-today)
(org-agenda-clocking, org-agenda-date-weekend)
(org-agenda-current-time, org-mode-line-clock)
(org-mode-line-clock-overrun): Convert to `defface' from
`org-copy-face'.

The ‘org-copy-face’ function didn’t properly deal with face
customizations and color themes.
2014-09-27 23:36:37 -04:00
Nicolas Goaziou f3b2b74baf Merge branch 'maint' 2014-09-27 14:58:51 +02:00
Sebastien Vauban d2ecbe637a ox-ascii: Fix boxquote characters in UTF-8 export
* ox-ascii.el (org-ascii--box-string): Choose more universal Unicode
characters for boxquote corners.
2014-09-27 14:57:19 +02:00
Nicolas Goaziou 45a00a4d82 Merge branch 'maint' 2014-09-26 11:11:34 +02:00
Kyle Meyer 4f81b8cac0 ox.el: Fix typo in documentation
* lisp/ox.el (org-export-show-temporary-export-buffer): Fix typo.

TINYCHANGE
2014-09-26 11:11:02 +02:00
Aaron Ecay 200eeb5723 ox-latex: support :float nil with caption for minted listings
* lisp/ox-latex.el (org-latex-src-block): Support :float nil with
caption for minted.
(org-latex-listings): Edit docstring to describe this usecase.
* lisp/org.el (org-latex-default-packages-alist): Add “capt-of”
package.

This takes advantage of the capt-of package’s \captionof command,
which allows to insert a caption (with autogenerated number and
\ref-able label) without creating a floating environment.  One example
of where this is useful is in the case of a minted source code listing
that spans more than one page.  (Latex floats can’t be larger than a
page, generally speaking.)

The listings package already handles this case using its own mechanism.
2014-09-22 22:46:26 -04:00
Nicolas Goaziou a24ac01cd5 Merge branch 'maint'
Conflicts:
	lisp/ox-latex.el
2014-09-22 17:43:30 +02:00
Nicolas Goaziou 05d8d76e74 ox-latex: Fix link to unnumbered headline
* lisp/ox-latex.el (org-latex-link): Improve test for unnumbered
  headlines.
2014-09-22 17:40:55 +02:00
Achim Gratz 7585fe449b ob-ruby: clean up the session code some more and work around an I/O sync problem in comint
* lisp/ob-ruby.el (org-babel-ruby-evaluate): Clean up the session code
  and remove a superfluous `butlast'.  Work around a problem in comint
  where the first prompt in a session may be printed after the
  evaluation has already started, thus producing a spurious line in
  the output.

* testing/lisp/test-ob-ruby.el (test-ob-ruby/session-output-1,
  test-ob-ruby/session-output-2 test-ob-ruby/session-output-3): Test
  correct transfer of interpreter state across several session
  invocations.
2014-09-21 17:59:49 +02:00
Achim Gratz 4ef78e68c1 ob-ruby: fix a24775dc79 again
* lisp/ob-ruby.el (org-babel-ruby-evaluate): Temporarily disable the
  irb prompt to ensure that the output is properly recognized using
  the standard settings from inf-ruby and no extra settings in .irbrc
  or other configuration files from Ruby.  Remove superfluous
  `comint-send-input' that produced a spurious empty line in output.
* testing/lisp/test-ob-ruby.el (test-ob-ruby/session-output): Remove
  spurious emtpy line in expected output.
2014-09-21 12:57:49 +02:00
Steven Rémot e228cd1060 ob-sql.el: Clean mysql parameters generation
* lisp/ob-sql.el (dbstring-mysql): Rename function and tweak a bit its
  implementation
  (org-babel-execute:sql): Use new function name

Prefix `dbstring-mysql' function with the namespace "org-babel-sql" to
avoid name collisions.

Also replace the call to `remq' by `delq' because it is a bit more
efficient, and also to be consistent with
`org-babel-sql-dbstring-postgresql'.
2014-09-20 23:06:40 +02:00
Steven Rémot e5e9fc974d ob-sql.el: Enhance postgresql support
* lisp/ob-sql.el (org-babel-sql-dbstring-postgresql): New function
  (org-babel-execute:sql): Use new function.

Before this patch, it was necessary to use :cmdline parameter to
specify host, user and database different the the default ones.  Now,
this can be done using parameters that are independents of the engine
used.

This is not trivial (and not recommended) to pass password as a
command line argument to psql, so :dbpassword is not supported.
2014-09-20 23:06:36 +02:00
Nicolas Goaziou 20539b8d1d Merge branch 'maint' 2014-09-20 23:02:20 +02:00
marcowahlsoft@gmail.com 60418c5ca8 Fix to determine a bulk-markable line
* lisp/org-agenda.el (org-agenda-bulk-mark,
  org-agenda-bulk-mark-regexp, org-agenda-bulk-toggle-all): This fixes
  e.g. org-agenda-bulk-mark-all when time-grid is shown.

TINYCHANGE
2014-09-20 23:01:51 +02:00
Nicolas Goaziou aaa7aa983d ox-ascii: Implement plain-lists own extra margin
* lisp/ox-ascii.el (org-ascii-list-margin): New variable.
(ascii): New property.
(org-ascii--current-text-width, org-ascii-plain-list): Take into
account list margin.

* doc/org.texi (Publishing options):
* etc/ORG-NEWS (argument): Document new variable.
2014-09-20 15:06:22 +02:00
Nicolas Goaziou 0491ae5204 Merge branch 'maint' 2014-09-20 01:06:22 +02:00
Nicolas Goaziou 1b17e8c8da ox-ascii: Fix filling with preserve break
* lisp/ox-ascii.el (org-ascii--fill-string): Allow filling even when
  `org-export-preserve-breaks' is non-nil.
2014-09-20 01:05:22 +02:00
Nicolas Goaziou 0620fe98cb Merge branch 'maint' 2014-09-19 21:03:27 +02:00
Nicolas Goaziou 3f484a5277 Fix headline insertion after an empty headline
* lisp/org.el (org-N-empty-lines-before-current): Make sure to delete
  only empty lines, not trailing whitespaces.

* testing/lisp/test-org.el (test-org/insert-heading): Add test.

Thanks to Oleh for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90876
2014-09-19 20:59:40 +02:00
Aaron Ecay 5bb58daa22 org-table: fix docstring
* lisp/org-table.el (org-table-get): Fix docstring.
2014-09-19 14:38:23 -04:00
Achim Gratz 37e1a11b9e ob-R: declare ess-current-process-name
* lisp/ob-R.el: Forward declare `ess-current-process-name'.
2014-09-19 12:03:43 +02:00
Achim Gratz c478b57d4e Merge branch 'maint' 2014-09-19 11:53:46 +02:00
Achim Gratz 98afe0046f ob-sh: compatibility fix for "Marker does not point anywhere" errors in Emacs 23
* lisp/ob-sh.el (org-babel-sh-initiate-session): After initiating a
  session, initialize the marker `comint-last-output-start' since it
  is going to be used by the ANSI color filter without further checks
  in Emacs 23 and throws an error.
2014-09-19 11:52:30 +02:00
Achim Gratz 7d8523d9d1 ob-shell: compatibility fix for "Marker does not point anywhere" errors in Emacs 23
* lisp/ob-shell.el (org-babel-sh-initiate-session): After initiating a
  session, initialize the marker `comint-last-output-start' since it
  is going to be used by the ANSI color filter without further checks
  in Emacs 23 and throws an error.
2014-09-19 11:34:09 +02:00
Achim Gratz 1aa719cff2 ox-texinfo: fix bug in 3432681fbe
* lisp/ox-texinfo.el: Add missing argument to call of
  `org-element-property'.
2014-09-19 10:39:02 +02:00
Achim Gratz 1483df8c99 org-table: for compatibility, use org-file-equal-p
* lisp/org-table.el: Predicate function `file-equal-p' is not
  available in older Emacsen, use compatibility function
  `org-file-equal-p' instead.
2014-09-19 10:05:15 +02:00
Nicolas Goaziou dd70cf773c Merge branch 'master' of orgmode.org:org-mode 2014-09-18 22:09:40 +02:00
Nicolas Goaziou 80e493a1f7 Merge branch 'maint'
Conflicts:
	lisp/ox-html.el
2014-09-18 22:08:30 +02:00
Achim Gratz e5f61642a3 ob-R: make it work with older ESS versions
* lisp/ob-R.el (org-babel-R-initiate-session): The PROC argument is
  mandatory for older ESS versions.
2014-09-18 21:56:53 +02:00
Nicolas Goaziou 873fe49811 ox-html: Fix linking to deep level headlines
* lisp/ox-html.el (org-html-headline): Make sure even listified
  headlines have proper anchors so internal links can refer to them.
  Small refactoring.

Thanks to Bruce Gilstrap for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90835
2014-09-18 21:37:07 +02:00
chasberry 0fd29a5ee7 lisp/ob-R.el: use `ess-wait-for-process' to assure clean session startup
* lisp/ob-R.el (org-babel-R-initiate-session): Make sure that (R) has
finished before `rename-buffer' is run.

TINYCHANGE
2014-09-17 21:10:40 -04:00
Nicolas Goaziou 3432681fbe Parsing and exporting special blocks preserve case
* lisp/org-element.el (org-element-special-block-parser):
* lisp/ox-latex.el (org-latex-special-block):
* lisp/ox-html.el (org-html-special-block):
* lisp/ox-man.el (org-man-special-block):
* lisp/ox-odt.el (org-odt-special-block):
* lisp/ox-texinfo.el (org-texinfo-special-block):
* contrib/lisp/ox-groff.el (org-groff-special-block): Preserve case.

* testing/lisp/test-org-element.el (test-org-element/special-block-parser):
  Add test.
2014-09-17 20:52:54 +02:00
Nicolas Goaziou b2fca73e30 Tiny refactoring
* lisp/org.el (org-hide-block-toggle-maybe): Tiny refactoring.
2014-09-16 09:30:29 +02:00
Nicolas Goaziou c8a7e474ec Fix `org-hide-block-toggle' return value
* lisp/org.el (org-hide-block-toggle-maybe): Do not return a non-nil
  value when toggling failed.
(org-hide-block-toggle): Update docstring.

* testing/lisp/test-org.el (test-org/hide-block-toggle-maybe): New
  test.
2014-09-16 09:29:28 +02:00
Nicolas Goaziou 2afd5fbb09 Fix `org-hide-block-toggle-maybe'
* lisp/org.el (org-hide-block-toggle-maybe): Never throw an error.
  Improve docstring.
(org-hide-block-toggle): Improve docstring.
2014-09-15 20:21:20 +02:00
Nicolas Goaziou 9ba9f916e8 Fix `org-up-heading-safe'
* lisp/org.el (org-up-heading-safe): Do not throw any error, as
  advertised in the docstring.
2014-09-15 18:49:19 +02:00
Nicolas Goaziou a927894d12 ob-gnuplot: Fix error when table contains dates
* lisp/ob-gnuplot.el (org-babel-gnuplot-table-to-data): Dynamically
  bind `org-babel-gnuplot-timestamp-fmt' instead of making it
  buffer-local, since export takes place in another buffer anyway.

Thanks to Thomas Holst for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90709
2014-09-15 13:47:20 +02:00
Nicolas Goaziou 3aa27acfcb Fix "Not at a block" error on dynamic blocks
* lisp/org.el (org-hide-block-toggle, org-indent-block): Recognize
  dynamic blocks.

Thanks to Eric S Fraga for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90711
2014-09-15 13:32:50 +02:00
Bastien Guerry e17ee8e577 Merge branch 'master' of orgmode.org:org-mode 2014-09-14 11:02:51 +02:00
Michael Brand 739136e17f Table formula: Fix for Lisp return value nil
* lisp/org-table.el (org-table-eval-formula): Substitute `listp' with
`consp'.

* testing/lisp/test-org-table.el (test-org-table/lisp-return-value):
Fix test.
2014-09-14 10:44:28 +02:00
Nicolas Goaziou 3f88821f01 org-element: Fix outdated comment 2014-09-13 22:34:15 +02:00
Nicolas Goaziou 97ae50fab3 org-element: Fix planning parsing
* lisp/org-element.el (org-element-planning-parser): Remove useless
  check.
(org-element--next-mode): Change signature.
(org-element--parse-elements, org-element--parse-to): Apply signature
change.

* testing/lisp/test-org-element.el (test-org-element/planning-parser):
  Add test.
2014-09-13 22:31:06 +02:00
Bastien Guerry e6074ec4d7 Merge branch 'master' of orgmode.org:org-mode 2014-09-13 15:52:17 +02:00
Nicolas Goaziou 9209aa3c9d org-table: Use "ox.el" internally for radio tables
* lisp/org-table.el (org-table-clean-before-export, orgtbl-get-fmt,
  orgtbl-apply-fmt, orgtbl-eval-str, orgtbl-format-line,
  orgtbl-format-section): Remove functions.
(org-table-clean-did-remove-column, *orgtbl-table*, *orgtbl-rtn*,
  *orgtbl-hline*, *orgtbl-sep*, *orgtbl-default-fmt*, *orgtbl-fmt*,
  *orgtbl-efmt*, *orgtbl-lfmt*, *orgtbl-llfmt*, *orgtbl-lstart*,
  *orgtbl-llstart*, *orgtbl-lend*, *orgtbl-llend*): Remove variables.

(org-table-export, orgtbl-send-table): Apply function removal.  Do not
set `org-table-last-alignment' and `org-table-last-column-widths'
anymore.
(org-table-to-lisp, orgtbl-send-replace-tbl): Small refactoring.

(org-table--to-generic-table, org-table--to-generic-row,
org-table--to-generic-cell): New functions.
(orgtbl-to-generic): Rewrite function.  Handle :skip and :skipcols
parameters.
(orgtbl-to-latex, orgtbl-to-html, orgtbl-to-texinfo, orgtbl-to-orgtbl,
orgtbl-to-unicode): Use new `orgtbl-to-generic' features.

* testing/lisp/test-org-table.el (test-org-table/to-generic,
  test-org-table/to-latex, test-org-table/to-texinfo,
  test-org-table/to-html, test-org-table/to-unicode,
  test-org-table/send-region): New tests.

* doc/org.texi (Radio tables, A @LaTeX{} example, Translator
  functions): Update documentation.

* etc/ORG-NEWS (argument): Document new features.
2014-09-13 15:10:26 +02:00
Nicolas Goaziou 66b1263d9a ox-latex: Tweak table row export
* lisp/ox-latex.el (org-latex-table-row): Rewrite code to distinguish
  between regular rows and separators.
2014-09-13 00:13:46 +02:00
Bastien Guerry 2bd8370d06 Merge branch 'master' of orgmode.org:org-mode 2014-09-12 21:40:17 +02:00
Nicolas Goaziou 70a0c5bfa1 Fix "Not at a block" error on export blocks
* lisp/org.el (org-hide-block-toggle): Fix "Not at a block" error on
  export blocks.
2014-09-12 20:58:47 +02:00
Bastien Guerry fdd9d878e0 Merge branch 'master' of orgmode.org:org-mode 2014-09-12 19:02:50 +02:00
Nicolas Goaziou 4cb0bc089f Fix "Not at a block" error on special blocks
* lisp/org.el (org-hide-block-toggle): Fix "Not at a block" error on
  special blocks.

Thanks to Fabrice Popineau for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90663
2014-09-12 18:40:49 +02:00
Bastien Guerry 8b416bf96b Merge branch 'master' of orgmode.org:org-mode 2014-09-12 14:14:03 +02:00
Nicolas Goaziou 6eb9827d53 org-element: Fix cache error on empty drawers
* lisp/org-element.el (org-element--cache-for-removal): Handle case
  when greater element is totally empty.

Thanks to Malcolm Purvis for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90639
2014-09-11 23:19:22 +02:00
Nicolas Goaziou 3d45b4285b Merge branch 'maint' 2014-09-11 18:27:22 +02:00
Nicolas Goaziou 01f736b763 org-src: Fix idle auto-save feature
* lisp/org-src.el (org-edit-src-code): Fix regexp.
(org-edit-src-exit): Do not remove auto-save timer.  This is
handled by the timer itself.

`org-edit-src-save' calls `org-edit-src-exit', which then clears the
auto-save timer, thus preventing any further auto-saves before the
next `org-edit-src-code' call.

Thanks to Adriaan Sticker for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90650
2014-09-11 18:21:41 +02:00
Bastien Guerry a11e884723 Merge branch 'master' of orgmode.org:org-mode 2014-09-10 11:45:20 +02:00
Achim Gratz ec8f245d27 ob-eval: Do not use read-only mode, switch to compilation mode only once
* lisp/ob-eval.el (org-babel-eval): Switch to compilation mode only if
  the current mode is not already (a derived mode of)
  compilation-mode.  Remove the read-only state from the buffer
  directly without using `read-only-mode'.
2014-09-10 11:22:43 +02:00
Bastien Guerry 7520cf33d9 Merge branch 'master' of orgmode.org:org-mode 2014-09-08 15:00:00 +02:00
Nicolas Goaziou b5c9de618e Merge branch 'maint' 2014-09-08 12:10:28 +02:00
Nicolas Goaziou 7c48bdd7a8 Revert "ox: Implement predicate for export blocks"
This reverts commit 2160b3d242.
2014-09-08 12:09:52 +02:00
Nicolas Goaziou e3369c07f0 Revert "Merge export and special blocks within back-ends"
This reverts commit fbc7097ffa.

Conflicts:
	lisp/ox-texinfo.el
2014-09-08 11:57:27 +02:00
Bastien Guerry 59d2f28024 Merge branch 'master' of orgmode.org:org-mode 2014-09-07 00:44:33 +02:00
Nicolas Goaziou 1a7c9d7d79 ox-html: Fix 9a34a1
* lisp/ox-html.el (org-html-paragraph): Only apply special rule in
  list items.

Thanks to Richard Lawrence for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90532
2014-09-06 19:03:18 +02:00
Bastien Guerry 41eae9bd42 Merge branch 'master' of orgmode.org:org-mode 2014-09-06 10:47:11 +02:00
Nicolas Goaziou c235bd83d2 ox: Implement body filter
* lisp/ox.el (org-export-filters-alist): Add body filter.
(org-export-filter-body-functions): New variable.
(org-export-as): Call body filter.

* doc/org.texi (Advanced configuration):
* etc/ORG-NEWS (argument): Document new filter.
2014-09-06 10:28:38 +02:00
Bastien Guerry ffa0b1b1b4 Merge branch 'master' of orgmode.org:org-mode 2014-09-02 23:34:12 +02:00
Nicolas Goaziou 38d0eb64b0 org-element: Do not consider property drawers as robusts
* lisp/org-element.el (org-element--cache-for-removal): Do not
  consider property drawers as robusts: if contents are modified,
  remove the whole drawer from cache.
2014-09-02 21:18:40 +02:00
Bastien Guerry bfab7af162 Merge branch 'master' of orgmode.org:org-mode 2014-09-02 16:23:05 +02:00
Nicolas Goaziou aaa70b90ef Fix failing tests
* lisp/org.el (org--align-node-property): Fix failing tests.
2014-09-02 12:45:07 +02:00
Nicolas Goaziou f51a72c95c Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-09-02 12:34:47 +02:00
Nicolas Goaziou 2de0c1c3da Fix 37bf05
* lisp/org.el (org-re-property): Fix regexp.  Improve docstring.
* testing/lisp/test-org-element.el (test-org-element/node-property):
  Update test.

Thanks to Daimrod for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90383
2014-09-02 12:33:35 +02:00
Bastien Guerry cdccf1f15b Merge branch 'master' of orgmode.org:org-mode 2014-09-01 07:07:37 +02:00
Aaron Ecay a4a1d85ed0 ob-comint.el: Fix bug.
* lisp/ob-comint.el (org-babel-comint-eval-invisibly-and-wait-for-file):
Fix bug.

The intention is to test whether the string ends with a newline, so we
should just do that.  Otherwise:

(string-match "\n$" "foo\n\nbar") ;; => 3 => :-(
2014-09-01 00:52:13 -04:00
Bastien Guerry 5ac96a4503 Merge branch 'master' of orgmode.org:org-mode 2014-09-01 05:09:41 +02:00
Nicolas Goaziou 2df0785fbd org-element: Complete 2125806
* lisp/org-element.el (org-element--parse-to): Do not bother checking
  for a planning line at the beginning of buffer.
2014-08-31 19:11:29 +02:00
Bastien Guerry 255f060ad0 Merge branch 'master' of orgmode.org:org-mode 2014-08-31 17:41:45 +02:00
Nicolas Goaziou 21258060ad org-element: Small optimization
* lisp/org-element.el (org-element--current-element): Only look after
  planning lines right after parsing a section.
(org-element--next-mode): New function.
(org-element--parse-elements, org-element--parse-to): Use new
function.
2014-08-31 16:31:59 +02:00
Nicolas Goaziou 539eac9211 org-element: Recognize planning info only right after a headline
* lisp/org.el (org-planning-line-re): New variable.  Renamed from
  `org-planning-or-clock-line-re'.

* lisp/org-element.el (org-element-paragraph-separate,
  org-element-headline-parser, org-element-inlinetask-parser, ,
  org-element--current-element): Use new variable.
(org-element-planning-parser): Check previous line before parsing
planning info.  When right after a headline, fallback to paragraph
parsing.

* testing/lisp/test-org-element.el (test-org-element/planning-parser):
  Add a test.  Update others.
(test-org-element/timestamp): Remove a test.
* testing/lisp/test-ox.el (test-org-export/handle-options): Update
  test.
2014-08-31 15:39:35 +02:00
Nicolas Goaziou 288ffa15f5 Fix failing tests
* lisp/org.el (org--align-node-property): Properly align properties
  with empty values.
2014-08-31 11:43:38 +02:00
Nicolas Goaziou d2643be6d8 Merge branch 'maint'
Conflicts:
	lisp/org-element.el
2014-08-31 11:43:27 +02:00
Nicolas Goaziou 37bf0576f2 org-element: Make properties parsing more robust
* lisp/org-element.el (org-element-property-drawer-parser,
  org-element-node-property-parser): Ignore lines that are not node
  properties.
(org-element-node-property-interpreter): Allow nil properties.

* lisp/org.el (org-re-property): Fix regexp to match properties with
  empty values.

* testing/lisp/test-org-element.el (test-org-element/node-property):
  Add tests.

Thanks to Eike for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90293
2014-08-31 11:10:56 +02:00
Bastien Guerry ad640ce115 Merge branch 'master' of orgmode.org:org-mode 2014-08-29 10:34:50 +02:00
Thierry Banel 851b779d1a org-table: Add ascii plotting in tables
* org-table.el (orgtbl-ascii-plot): Top-level function.
(orgtbl-ascii-draw), (orgtbl-uc-draw-grid), (orgtbl-uc-draw-cont):
Functions which go in table formulas for drawing bars.
* org.el: key binding and menu binding

Thanks to Michael Brand and Nicolas Goaziou for feedback and
enhancements.
2014-08-29 10:00:35 +02:00
Nicolas Goaziou 73cd3ba7b3 ox-beamer: Use \columnwidth instead of \textwidth for columns
* lisp/ox-beamer.el (org-beamer--format-block): Use columnwidth
  instead of textwidth.

Thanks to Julien Cubizolles for suggesting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90246
2014-08-29 09:47:46 +02:00
Bastien Guerry 27533656d7 Merge branch 'master' of orgmode.org:org-mode 2014-08-28 18:39:50 +02:00
Ernesto Durante ccf52269aa ob-C: fix missing function org-babel-expand-body:cpp 2014-08-28 10:46:56 -04:00
Ernesto Durante e4e80bfa33 org-babel-eval: compilation-mode to deal with errors in (C/C++/D) 2014-08-28 10:45:25 -04:00
Nicolas Goaziou 92aeca04b2 ox-icalendar: Small fix
* lisp/ox-icalendar.el (org-icalendar-export-current-agenda): Add
  missing properties.  Also fix typo for body-only argument.
2014-08-28 11:23:50 +02:00
Nicolas Goaziou 3b4745d32a Merge branch 'maint'
Conflicts:
	lisp/org-element.el
2014-08-28 11:10:15 +02:00
Nicolas Goaziou 2e5b3dede1 org-element: Interpret headlines according to `org-odd-levels-only'
* lisp/org-element.el (org-element-headline-interpreter): Take into
  consideration `org-odd-levels-only' value.  Small refactoring.

* testing/lisp/test-org-element.el (test-org-element/headline-interpreter):
  Add test.
2014-08-28 11:07:24 +02:00
Bastien Guerry 91e2158977 Merge branch 'master' of orgmode.org:org-mode 2014-08-28 10:19:41 +02:00
Nicolas Goaziou 5da35ee0ca Merge branch 'maint' 2014-08-28 01:04:01 +02:00
Nicolas Goaziou 42271d8c43 ox-texinfo: Fix link export
* lisp/ox-texinfo.el (org-texinfo--get-node): Return a node or anchor
  name.
(org-texinfo--sanitize-content): Fix regexp.
(org-texinfo-link): Fix various bugs in link export.
2014-08-28 00:57:29 +02:00
Nicolas Goaziou ae457e7dce Fix exporting radio link with missing radio target
* contrib/lisp/ox-groff.el (org-groff-link):
* lisp/ox-beamer.el (org-beamer-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-odt.el (org-odt-link): When radio link has no valid
  target (e.g., this is a subtree export and the radio target is not
  in the exported subtree), simply return contents.

Thanks to Daniel Clement for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90218
2014-08-28 00:48:17 +02:00
Bastien Guerry eb787638e8 Merge branch 'master' of orgmode.org:org-mode 2014-08-27 14:39:47 +02:00
Konubinix ef5ec3d536 Use `org-clock-string' whenever possible
* lisp/org-clock.el (org-find-open-clocks):
* lisp/org.el (org-clone-subtree-with-time-shift,
 org-insert-property-drawer, org-at-clock-log-p): Use
 `org-clock-string' whenever possible instead of hardcoded "CLOCK".
(org-clock-line-re): New variable.
2014-08-27 10:10:24 +02:00
Aaron Ecay 7b8a24194b org-faces.el: fix docstring typo 2014-08-26 21:31:13 -04:00
Bastien Guerry 671a01c765 Merge branch 'master' of orgmode.org:org-mode 2014-08-26 16:23:36 +02:00
Nicolas Goaziou 2593b4d878 org-element: Add :post-affiliated property to all elements
* lisp/org-element.el (org-element-headline-parser,
  org-element-inlinetask-parser, org-element-item-parser,
  org-element-section-parser, org-element-clock-parser,
  org-element-node-property-parser, org-element-planning-parser,
  org-element-table-row-parser): Add dummy :post-affiliated property.

* lisp/org.el (org--get-expected-indentation, org-indent-line,
  org-indent-region, org-adaptive-fill-function,
  org-toggle-fixed-width, org-forward-paragraph,
  org-backward-paragraph, org-mode-flyspell-verify): Remove nullity
  checks for :post-affiliated.

Even though these elements cannot have affiliated keywords, beginning
of element is a logical default value.  It makes checking the nullity
of the unnecessary.
2014-08-26 16:05:19 +02:00
Nicolas Goaziou d47f66d6d0 ox: Implement `org-export-table-row-in-header-p'
* lisp/ox.el (org-export-table-row-in-header-p): New function.
(org-export-table-row-starts-header-p,
org-export-table-row-ends-header-p): Use new function.

* testing/lisp/test-ox.el (test-org-export/table-row-in-header-p): New
  test.
2014-08-26 15:05:52 +02:00
Nicolas Goaziou 81906c52ae ox: Extend first and last sibling predicates to all elements
* lisp/ox.el (org-export-first-sibling-p, org-export-first-sibling-p):
  Extend to all elements and objects.

* testing/lisp/test-ox.el (test-org-export/first-sibling-p,
  test-org-export/last-sibling-p): Add tests.

* etc/ORG-NEWS: Document change.
2014-08-26 14:48:05 +02:00
Bastien Guerry 079ea0bf20 Merge branch 'master' of orgmode.org:org-mode 2014-08-26 10:37:36 +02:00
Nicolas Goaziou 9a34a13c07 ox-html: Better criterion for first paragraphs in lists
* lisp/ox-html.el (org-html-paragraph): Do not wrap first paragraph in
  an item within <p> tags in the most simple cases.

Thanks to Daniel Clemente for suggesting it.
http://permalink.gmane.org/gmane.emacs.orgmode/89413
2014-08-26 09:55:54 +02:00
Oleh Krehel b3ef4b9ea8 ob-J: adapt to new `org-babel-process-params'
* lisp/ob-J.el (org-babel-execute:J): Use `cdr' instead of `nth 1' to
  get the session info.
2014-08-26 09:16:28 +02:00
Bastien Guerry c9fdd7f8b1 Merge branch 'master' of orgmode.org:org-mode 2014-08-26 07:02:31 +02:00
Nicolas Goaziou 67ae102b4b ox-icalendar: Speed up `org-agenda-write' process
* lisp/ox-icalendar.el (org-icalendar-create-uid): Remove unused
  optional argument.
(org-icalendar--combine-files): Change signature.  Simplify process.
(org-icalendar-combine-agenda-files): Apply signature change. Do not
check anymore ICALENDAR-MARK property.
(org-icalendar-entry): Do not check anymore ICALENDAR-MARK property.
(org-icalendar-export-to-ics): Comply to comments.
(org-icalendar-export-current-agenda): Rewrite function.

* lisp/org-agenda.el (org-agenda-write): Update docstring.

Instead of parsing every agenda before picking up needed entries, copy
these entries in a temporary buffer, then export it.
2014-08-26 02:14:18 +02:00
Nicolas Goaziou 6987059a20 Merge branch 'maint' 2014-08-25 15:34:14 +02:00
Nicolas Goaziou 409913b253 Fix `org-promote' error
* lisp/org.el (org-called-with-limited-levels): Initialize variable.

http://permalink.gmane.org/gmane.emacs.orgmode/90119
2014-08-25 15:32:35 +02:00
Nicolas Goaziou c33afd5683 Merge branch 'maint' 2014-08-25 15:22:24 +02:00
Nicolas Goaziou e191a76ddd org-agenda: Fix order when writing to an ".org" file
* lisp/org-agenda.el (org-agenda-write): Write headings in proper
  order.

`org-paste-subtree' leaves point before inserted text, so there is no
need to reverse contents.

http://permalink.gmane.org/gmane.emacs.orgmode/89867
2014-08-25 15:21:50 +02:00
Nicolas Goaziou 2f359a6502 ox-latex: Protect special characters in tags
* lisp/ox-latex.el (org-latex-format-headline-function,
  org-latex-format-inlinetask-function): Update docstring.
(org-latex-format-headline-default-function,
org-latex-format-inlinetask-default-function): Change signature.
Protect special characters (e.g., "_").
(org-latex-headline, org-latex-inlinetask): Apply signature change.

Thanks to Thorsten Jolitz for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90125
2014-08-25 14:36:49 +02:00
Nicolas Goaziou d2b8bd06a7 ox-latex: Small clean-up
* lisp/ox-latex.el (org-latex-plain-text): Simplify character
  escaping.
(org-latex-timestamp, org-latex-verse-block, org-latex-compile): Small
refactoring.
2014-08-25 14:21:28 +02:00
Bastien Guerry facff6f605 Merge branch 'master' of orgmode.org:org-mode 2014-08-25 06:06:47 +02:00
Nicolas Goaziou 11e9fcc50c Merge branch 'maint' 2014-08-24 21:29:55 +02:00
Nicolas Goaziou e7b7c9cd8e org-element: Enhance docstring
* lisp/org-element.el (org-element-table-interpreter): Enhance
  docstring.
2014-08-24 21:28:56 +02:00
Bastien Guerry cad2400443 Merge branch 'master' of orgmode.org:org-mode 2014-08-24 09:44:02 +02:00
Eric Schulte 088739b649 slightly smarter result parsing for js
* lisp/ob-js.el (org-babel-js-read): Match multi-line results.
2014-08-23 23:49:37 -04:00
Bastien Guerry 1840df2219 Merge branch 'master' of orgmode.org:org-mode 2014-08-23 18:29:28 +02:00
Aaron Ecay 7cf7e4454f ox-beamer.el: Match latex backend in generation of \author.
* lisp/ox-beamer.el (org-beamer-template): Match latex backend in
generation of \author.
2014-08-22 15:42:45 -04:00
Bastien Guerry 3e01c7ff1b Revert "org-agenda.el (org-agenda-insert-diary-make-new-entry): Fix ordering"
This reverts commit 5512bedee6.
2014-08-22 15:49:23 +02:00
Konubinix 7a5f3fb5a5 Make the regexp matching the beginning of a table more explicit
* org-table.el (org-table-get-remote-range): Enhance regexp.

TINYCHANGE
2014-08-22 15:44:20 +02:00
Nicolas Goaziou e7df9bc5ae Merge branch 'maint' 2014-08-22 14:54:03 +02:00
Nicolas Goaziou 1a89ec59fa ox-md: Fix b8b34ea
* lisp/ox-md.el (org-md-link): Fix b8b34ea.
2014-08-22 14:53:07 +02:00
Nicolas Berthier 6f0843d8a3 ob-core: Preserve inline-ness of source blocks when inserting results
* lisp/ob-core.el (org-babel-insert-result): Preserve inline-ness of
source blocks.

* testing/lisp/test-ob-exp.el: Update newly passing tests.
2014-08-22 14:39:39 +02:00
Nicolas Berthier 2ea7bf4042 ox-html: Support for exporting inline source code to HTML
* lisp/ox-html.el (org-html-inline-src-block): support for exporting
inline source code to HTML.
2014-08-22 14:39:39 +02:00
Nicolas Berthier 795c004396 ob: Support for exporting inline source code
* lisp/ob-exp.el (org-babel-exp-inline-code-template): New
customizable variable to export inline source code (similar to
`org-babel-exp-code-template').
(org-babel-exp-code): New `type' argument to differentiate between
inline and standard code blocks.

* lisp/ob-core.el (org-babel-inline-src-block-regexp): Allow empty set
of switches and header arguments as in "src_sh[]{echo foo;}".  Also
permit spaces before them.

* testint/lisp/test-org-element.el
(test-org-element/inline-src-block-parser): Test extended syntax for
inline source code.

* testing/lisp/test-ob-exp.el (ob-exp/exports-inline-code): New
function for testing inline source code handling.  Also add three new
failing tests exhibiting unexpected results with ":results code"
switches.

* testing/lisp/test-ob.el
(test-org-babel/org-babel-get-inline-src-block-matches): Test for
inline source blocks with empty header arguments.

* testing/examples/babel.org: New sections for testing (i) exported
inline source code (used by `ob-exp/exports-inline-code'); (ii)
parsing inline source blocks with empty header arguments (used by
`test-org-babel/org-babel-get-inline-src-block-matches').

Until now pieces of inline source code were handled as standard code
blocks during export.  These changes enable them to be exported.
2014-08-22 14:39:38 +02:00
Nicolas Goaziou 767895c970 Merge branch 'maint' 2014-08-21 11:08:44 +02:00
Nicolas Goaziou b8b34eadb4 ox-md: Allow custom link type export function
* lisp/ox-md.el (org-md-link): Allow custom link type export function.

`md' back-end is now on par with other core export back-ends.

Thanks to Ken Markoff for reponting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90011
2014-08-21 11:05:45 +02:00
Richard Lawrence 24a61a2938 ox-latex: fix lost export option
* lisp/ox-latex.el (latex): reintroduce `latex-custom-id-labels' option in backend

TINYCHANGE
2014-08-21 01:26:58 -04:00
Nick Dokos f15a83ab9f Merge branch 'maint'
Revert commit 79873390ed.
The fix was wrong and gave rise to a different problem - see

    http://thread.gmane.org/gmane.emacs.orgmode/89945
2014-08-20 22:18:07 -04:00