Commit Graph

11568 Commits

Author SHA1 Message Date
Nicolas Goaziou c6d9a4ec22 Fix false positive SCHEDULED lines in sparse tree
* lisp/org.el (org-check-before-date, org-check-after-date,
  org-check-dates-range): Make sure we're really at a timestamp before
  validating the entry.

Reported-by: James Harkins <jamshark70@qq.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/93126>
2014-12-23 12:22:16 +01:00
Nicolas Goaziou f0a13a09d8 Implement `org-at-planning-p'
* lisp/org.el (org-at-planning-p): New function.
* testing/lisp/test-org.el (test-org/at-planning-p): New test.
2014-12-23 12:14:40 +01:00
Nicolas Goaziou 1c5014740e Compare `org-current-level' and `org-outline-level'
* lisp/org.el (org-outline-level, org-current-level): Update
  docstrings to insist on the difference between the two functions.
2014-12-23 11:12:00 +01:00
Nicolas Goaziou 6dcaafff3e Tiny refactoring
* lisp/org.el (org-current-level): Tiny refactoring.
2014-12-22 00:09:08 +01:00
Nicolas Goaziou c5ba48072c Fix typo
* lisp/org.el (org-re-timestamp): Fix typo introduced in
  eae19b1284.
2014-12-21 23:39:38 +01:00
Nicolas Goaziou eae19b1284 Fix default value in `org-sparse-tree-default-date-type'
* lisp/org.el (org-sparse-tree-default-date-type): Use new default
  value instead of the undocumented previous one.  Fix docstring, too.
(org-sparse-tree): Apply change to previous variable.
(org-re-timestamp): Apply change to previous variable.  Refactor code.
2014-12-21 23:20:14 +01:00
Nicolas Goaziou 6f5bd30f0b org-entities: Remove `replace-amp'
* lisp/org-entities.el (replace-amp): Remove function.

The function is unused throughout the code base and is in the wrong
namespace.
2014-12-21 22:34:03 +01:00
Nicolas Goaziou 7dc8a1b362 Move `org-do-sort' into "org-table.el"
* lisp/org.el (org-do-sort): Remove function.

* lisp/org-table.el (org-table--do-sort): New function.
(org-table-sort-lines): Use new function.

`org-do-sort' is really a helper function for `org-table-sort-lines',
which applies exclusively on tables.
2014-12-21 22:23:11 +01:00
Nicolas Goaziou 4a214a0647 `org-outline-level' ignores narrowing
* lisp/org.el (org-outline-level): Ignore narrowing.  Refactor to be
  slightly faster.
2014-12-21 22:14:26 +01:00
Rasmus 077a24b8d0 ox-html.el: Trim list items
* ox-html.el (org-html-format-list-item): Trim contents to avoid
  spurious space.
2014-12-20 23:32:44 +01:00
Nicolas Goaziou 442216871a Fix `org-log-beginning' on empty entries
* lisp/org.el (org-log-beginning): Check for the need to insert
  a drawer in all cases.

Suggested-by: Eric Abrahamsen <eric@ericabrahamsen.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/93538>
2014-12-20 21:59:51 +01:00
Nicolas Goaziou 13711d4583 Fix table sorting with ?F key
* lisp/org.el (org-do-sort): Properly reverse results when ?F and
  a compare function is provided.  Small refactoring.

* testing/lisp/test-org-table.el (test-org-table/sort-lines): New
  test.
2014-12-20 21:29:51 +01:00
Jon Snader 71b098702c org.el: Implement user-defined table sorting
* lisp/org.el (org-do-sort): Implement the ?f and ?F sorting options
  to allow user-defined table sorting.  Update the DOC string.

* lisp/org-table (org-table-sort-lines): Add the GETKEY-FUNC and
  COMPARE-FUNC optional parameters and pass them to the call to
  `org-do-sort'.  Update the DOC string.

* doc/org.texi (org-table-sort-lines): Update documentation to reflect
  the addition of the ?f and ?F options.

This patch implements user-defined extraction and comparison functions
for table sorting.  Thanks to Nicolas Goaziou for helpful suggestions.

This patch was discussed on the Org Mode mailing list:
http://article.gmane.org/gmane.emacs.orgmode/93334
2014-12-20 20:36:57 +01:00
Toby S. Cubitt 54dfb86719 org-archive.el: Add command to archive entries with timestamps before today
* lisp/org-archive.el (org-archive-all-old): archive all entries with
  timestamps prior to today.
  (org-archive-subtree): double prefix argument invokes
  org-archive-all-old.
  (org-archive-all-matches, org-archive-all-done): factor out common
  code into org-archive-all-matches.
2014-12-17 00:08:39 +01:00
Nicolas Goaziou a949b23aa6 Merge branch 'master' of orgmode.org:org-mode 2014-12-16 23:55:56 +01:00
Nicolas Goaziou c1558d34d7 Fix low-high estimates
* doc/org.texi (Column attributes): Emphasize estimates format.
  Document degenerate case of plain numbers.
* lisp/org-colview.el (org-columns-compute): Properly sum estimates.
(org-columns-string-to-number): Recognize estimates containing an
unit.
(org-estimate-mean-and-var, org-estimate-print): Allow numbers as
a degenerate case of estimates.

Reported-by: yary <not.com@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/93505>
2014-12-16 23:53:15 +01:00
Alan Schmitt 57b76e2771 org.el: Allow calendars to be in their own frame
* lisp/org.el (org-read-date): Create and delete frames if
`calendar-setup' is set to 'calendar-only.
2014-12-16 19:09:22 +01:00
Nicolas Goaziou 389274c1c4 Fix `org-hide-archived-subtrees'
* lisp/org.el (org-hide-archived-subtrees): Prevent an error when END
  argument doesn't match the end of a subtree.  Prevent false
  positives.  Also, archive tag is case-sensitive.
2014-12-16 10:28:34 +01:00
Nicolas Goaziou eac147621e Fix 434103
* lisp/org.el (org-log-into-drawer): Fix
  04f6830a46e54db23afbe3c94de38a22c3.
2014-12-15 13:07:10 +01:00
Nathaniel Flath 90c047d2ff org-table.el: org-table-recalculate is quieter
* lisp/org-table.el (org-table-recalculate): Removed message for start of
processing.  When ALL is t, messages are printed at most once per second.

TINYCHANGE
2014-12-14 22:06:25 +01:00
Nathaniel Flath 2945c1e8c5 org-table.el: org-table-recalculate early returns
* lisp/org-table.el (org-table-recalculate): Add early return.

TINYCHANGE
2014-12-14 22:06:20 +01:00
Nicolas Goaziou e990bedc51 Change default value for `org-clock-into-drawer'
* lisp/org-clock.el (org-clock-into-drawer): Update docstring.  Change
  default value.
(org-clock-jump-to-current-clock): Properly find current clock drawer,
if any.
(org-clock-find-position): Tiny fix.
(org-clock-out): Properly check if clock and log drawers are the same.
(org-clock-find-position, org-clock-out,
(org-clock-remove-empty-clock-drawer): Use new function.
2014-12-14 18:22:31 +01:00
Nicolas Goaziou 43410304f6 Function `org-log-into-drawer' returns a string or nil
* lisp/org.el (org-log-into-drawer): Update docstring.  Function
  returns a string or nil, not t anymore.
(org-mode-flyspell-verify): Small refactoring.
2014-12-14 18:21:42 +01:00
Nicolas Goaziou aa0bfcdcdb Merge branch 'maint'
Conflicts:
	lisp/ob-core.el
2014-12-14 09:41:38 +01:00
Nicolas Goaziou 89a0acc75e ob-core: Source blocks are case-insensitive
* lisp/ob-core.el (org-babel-map-src-blocks,
  org-babel-map-inline-src-blocks): Make sure to ignore case when
  looking for source blocks.

Reported-by: Christopher Genovese <genovese@cmu.edu>
<http://permalink.gmane.org/gmane.emacs.orgmode/93454>
2014-12-14 09:39:08 +01:00
Nicolas Goaziou d0c14a12fd ob-core: Tiny fix
* lisp/ob-core.el (org-babel-active-location-p): Use appropriate
  accessor.
2014-12-14 09:36:50 +01:00
Eric Abrahamsen 94c1099dab Use `org-log-into-drawer' in `org-log-beginning'
* lisp/org.el (org-log-beginning): Use existing function for
  discovering the log specification.
2014-12-14 09:13:29 +01:00
Nicolas Goaziou 4f7b6ccf39 Merge branch 'maint' 2014-12-13 22:57:35 +01:00
Nicolas Goaziou dbc988e272 ox-md: Correctly export footnote references
* lisp/ox-md.el (md): Do not ignore footnote references.

Footnotes do not exist in Markdown syntax, but we can fallback on
HTML.

Reported-by: Vasilij Schneidermann <v.schneidermann@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/93447>
2014-12-13 22:55:45 +01:00
Aaron Ecay b8d790a076 org-table: introduce an upper bound on `org-table-convert-region-max-lines'.
* lisp/org-table.el (org-table-convert-region-max-lines): New
defcustom.
(org-table-convert-region): Use it.

This is useful primarily for babel results.  If a large table-like
object is returned by a code block, this function will become bogged
down in trying to read it, and hang emacs (necessitating a C-g).  This
situation most commonly arises when a :results none header has been
omitted.  With the patch, the user will not experience a hang, but
rather an error message.
2014-12-11 23:51:57 -05:00
Aaron Ecay 7c86747881 org-src: add a note about bogosity of read-only overlays
* lisp/org-src.el (org-src--make-source-overlay): Add a TODO comment.
2014-12-11 23:48:27 -05:00
Aaron Ecay 398286a00c org-src: fix two bugs
* lisp/org-src.el (org-src--edit-buffer): Construe equality for
markers properly.
(org-edit-src-save): Place point properly when writing back changes.

Thanks to Vikas Rawal for reporting:
<http://mid.gmane.org/C8148BF2-87AF-44A4-B103-6BD338DA8D96@agrarianresearch.org>
2014-12-11 23:34:35 -05:00
Aaron Ecay 9db1f7af78 ox-beamer: Don’t auto-label allowframebreaks frames; beamer forbids it.
* lisp/ox-beamer.el (org-beamer--format-frame): Don’t give a label if
allowframebreaks” is set.
2014-12-10 17:03:38 -05:00
Aaron Ecay f12e3d4589 org-table: various small fixes
* lisp/org-table.el (org-table-rewrite-old-row-references): Rename function.
(org-table-eval-formula): Update caller.
(org-table--to-generic-cell): Fix typo in string constant.
(orgtbl-to-orgtbl): Properly respect params argument.
2014-12-10 17:03:38 -05:00
Aaron Ecay 53771153a2 org-entities.el: Add safe predicates to defcustoms.
* lisp/org-entities.el (org-entities--user-safe-p): New function.
(org-entities-ascii-explanatory, org-entities-user): Add :safe predicates.
2014-12-10 17:03:38 -05:00
Aaron Ecay 2cb1324bfb ob-latex: Use htlatex by default if available.
* lisp/ob-latex.el (org-babel-latex-htlatex): Set to “htlatex” by
default.
(org-babel-execute:latex): Update to match new default.
2014-12-10 17:03:38 -05:00
Oleh Krehel 433b66f2c7 org-src: allow `org-babel-edit-prep:.*' to mark region
* lisp/org-src.el (org-edit-src-code): Let `deactivate-mark' nil.

<http://permalink.gmane.org/gmane.emacs.orgmode/93053>
2014-12-09 17:26:02 +01:00
Kyle Meyer 5d25e6e68e org-todo-yesterday: Ignore `org-use-effective-time'
* lisp/org.el (org-todo-yesterday):
* lisp/org-agenda.el (org-agenda-todo-yesterday): Ignore global
`org-use-effective-time' value.

Otherwise, if `org-use-effective-time' being nil,
`org-extend-today-until' will not be considered, resulting in the
current time being used instead of 23:59 yesterday.

Reported-by: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/93224>
2014-12-09 10:25:24 +01:00
Kyle Meyer 173b0cb6d6 org-timer.el: Merge API for the two timers
* lisp/org-timer.el (org-timer-stop): Support countdown timers in addition
to relative timers.

* lisp/org-timer.el (org-timer-cancel-timer): Remove function.

* lisp/org-timer.el (org-timer-pause-or-continue): Support countdown
timers in addition to relative timers.

* testing/lisp/test-org-timer.el: New file.

* doc/org.texi: Merge relative and countdown timer nodes.

Several previous issues are fixed with these changes.

- org-timer-set-timer and org-timer-cancel-timer did not reset
  org-timer-start-time after countdown completed.

- Because org-timer-start did not return org-timer-pause-time to nil,
  the modeline remained stuck at the paused time.

- When org-timer-start was called with a countdown timer, the modeline
  was updated for the new relative timer, but the countdown timer
  remained scheduled.

- When org-timer-pause-or-continue was called with a countdown timer
  running, the modeline was put in a paused state, but the countdown
  timer remained scheduled.

- When org-timer-stop was called with a countdown timer running, the
  timer was removed from the modeline, but the countdown timer remained
  scheduled.

- When org-timer-set-timer was called with a paused relative timer, the
  relative timer was not reset properly (org-timer-pause-time was still
  non-nil) and the modeline remained in the paused state of the relative
  timer, even though the countdown timer was scheduled with
  run-with-timer.

- Running org-timer-set-timer at the beginning of an empty buffer
  resulted in an args-out-of-range error (due to the org-get-at-eol
  call).
2014-12-09 10:13:29 +01:00
Kyle Meyer dc460fcad1 org-timer.el (org-timer): Recognize double prefix
* lisp/org-timer.el (org-timer): Follow the behavior described in the
docstring for a double prefix argument.
2014-12-09 10:09:38 +01:00
Nicolas Goaziou 8985b3de64 Fix multiple property drawers insertion with repeated tasks
* lisp/org.el (org-add-log-setup): A property drawer may be inserted
  where the note is going to be added.  Make sure the note ends after
  the drawer.

Reported-by: Bradley M. Kuhn <bkuhn@ebb.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/93199>
2014-12-08 00:31:50 +01:00
Nicolas Goaziou f212f7cf0d Make Org future-proof
* lisp/org.el (org-small-year-to-year): Do not hardcode 2037 as the
  last future year for Org.  Always foresee the next 30 years.
2014-12-07 00:01:29 +01:00
Nicolas Goaziou fb906e15d7 ox-html: Fix docstring
* lisp/ox-html.el (org-html-protect-char-alist): Fix docstring.

Reported-by: Marcin Borkowski <mbork@wmi.amu.edu.pl>
2014-12-06 22:28:19 +01:00
Nicolas Goaziou db078f4764 Fix Sparse trees properties matches
* lisp/org.el (org-cached-entry-get): Matches against properties names
  are case-insensitive.

* testing/lisp/test-org.el (test-org/match-sparse-tree): New test.

Reported-by: Puneeth Chaganti <punchagan@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/93171>
2014-12-06 21:20:55 +01:00
Nicolas Goaziou c10ae1a1bb Fix 6289d8e
* lisp/org.el (org-set-regexps-and-options): Do not ignore "^:nil"
  options.
(org--setup-collect-keywords): Fix docstring.
2014-12-05 23:26:40 +01:00
Nicolas Goaziou 6d2a661fcc Do not blank a table cell after expanding a snippet
* lisp/org.el (org-self-insert-command): Do not blank a table cell if
  last command is `yas-expand'.

Thanks to Sébastien Vauban for reporting it.
<http://permalink.gmane.org/gmane.emacs.orgmode/92918>
2014-12-03 21:36:15 +01:00
Nicolas Goaziou 6289d8ecf4 Resurrect ^:{} option
* lisp/org.el (org-set-regexps-and-options,
  org--setup-collect-keywords): Check OPTIONS keywords for information
  about sub/superscript.

Reported-by: Thomas Holst <thomas.holst@de.bosch.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/93117>
2014-12-03 18:48:48 +01:00
Nicolas Goaziou e1adb17ba5 Fix custom timestamps during export
* lisp/org.el (org-translate-time): Remove function.
(org-timestamp-translate): Rewrite function so it doesn't use the one
above.

* lisp/ox-ascii.el (org-ascii-clock, org-ascii-planning):
* lisp/ox-html.el (org-html-clock, org-html-planning, org-html-timestamp):
* lisp/ox-latex.el (org-latex-clock, org-latex-planning):
* lisp/ox-texinfo.el (org-texinfo-clock, org-texinfo-planning): Use
  `org-timestamp-translate' instead of `org-translate-time'.

* etc/ORG-NEWS: Document function removal.

Reported-by: Ian Barton <lists@wilkesley.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/93127>
2014-12-03 17:18:16 +01:00
Nicolas Goaziou e4727803be org-element: Interpret diary timestamps
* lisp/org-element.el (org-element-timestamp-interpreter): Interpret
  diary timestamps.
2014-12-03 17:17:00 +01:00
Nicolas Goaziou 83249b668e org-clock: Fix clocking when `org-clock-into-drawer' is a number
* lisp/org-clock.el (org-clock-find-position): Check if
  `org-clock-into-drawer' is a number when inserting the first clock.

Reported-by: Rainer Stengele <rainer.stengele@online.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/93128>
2014-12-03 15:24:40 +01:00
Nicolas Goaziou dcf64c7ee3 org-timer: Fix `org-timer-stop'
* lisp/org-timer.el (org-timer-stop): Do not modify
  `org-timer-current-timer', which is related to countdown timer,
  a different feature.
2014-12-02 11:47:18 +01:00
Nicolas Goaziou bbacea55f5 org-timer: Fix "No running timer" error
* lisp/org-timer.el (org-timer-stop): Do not look after
  `org-timer-current-timer', which is a variable related to countdown
  timer, whereas the function is related to relative timer.

Reported-by: Randy Smith <perlstalker@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/93081>
2014-12-02 11:28:15 +01:00
Bastien Guerry 92e823c43d org.el (org-add-planning-info): Remove spurious blank line
* org.el (org-add-planning-info): Remove spurious blank line
left after "unclosing" an entry.
2014-12-01 15:36:40 +01:00
Nicolas Goaziou 5945beef05 `org-add-planning-info' need not be interactive
* lisp/org.el (org-add-planning-info): Remove interactive status.  Fix
  docstring.
2014-11-27 00:23:35 +01:00
Nicolas Goaziou 80d13fffe0 Preserve indentation when modifying planning info
* lisp/org.el (org-add-planning-info): Preserve indentation when
  modifying planning info.  Refactor code.

Thanks to Sébastien Vauban for suggesting the idea.
2014-11-27 00:23:34 +01:00
Nicolas Goaziou ae9ac316a5 Erase `org-insert-labeled-timestamps-at-point'
* lisp/org.el (org-insert-labeled-timestamps-at-point): Remove
  variable.
(org-add-planning-info): Remove reference to removed variable.

* lisp/org-agenda.el (org-agenda-schedule, org-agenda-deadline):
  Remove reference to removed variable.

* etc/ORG-NEWS (Skipping): Document removal.

Org syntax assumes planning info line is always right below the
headline.  Setting this variable to anything but nil defeats that and,
as a consequence, produces invalid planning lines.
2014-11-26 23:32:52 +01:00
Nicolas Goaziou bd3bd83092 Merge branch 'maint' 2014-11-25 09:24:02 +01:00
Karl Fogel a712cec60f org.el: Improve accuracy of message
* lisp/org.el (org-remove-file): Reword success message.

Before this change, when `org-remove-file' succeeded in removing a
file from `org-agenda-files', it would display this unduly alarming
message to the user: "Removed file: foo.org".  This made it seem as
though the file itself were removed from the filesystem, rather than
simply being delisted from `org-agenda-files'.

After this change, the message "Removed from Org Agenda list: foo.org"
is displayed instead, so the user will experience only the normal
level of panic involved in using Org Mode, not the increased panic
that results from thinking a file has been removed when it hasn't.

TINYCHANGE
2014-11-25 09:23:36 +01:00
Nicolas Goaziou 9eff31aada `org-edit-special' edits export blocks
* lisp/org.el (org-edit-special): Allow to edit export blocks.
* etc/ORG-NEWS: Document feature.
2014-11-24 00:14:13 +01:00
Nicolas Goaziou bde27ccacc org-src: Fix docstring
* lisp/org-src.el (org-src-ask-before-returning-to-edit-buffer): Fix
  docstring.  Move variable in appropriate section.
2014-11-24 00:07:39 +01:00
Nicolas Goaziou 367827f005 Fix failing test
* lisp/org.el (org-indent-region): Fix failing test.
2014-11-24 00:07:39 +01:00
Nicolas Goaziou 203bf5870f org-src: Unify source editing tools
* lisp/org-src.el (org-src-strip-leading-and-trailing-blanklines,
  org-edit-src-force-single-line, org-edit-src-picture,
  org-edit-src-from-org-mode, org-edit-src-allow-write-back-p,
  org-edit-src-beg-marker, org-edit-src-end-marker,
  org-edit-src-overlay, org-edit-src-block-indentation,
  org-edit-src-saved-temp-window-config, org-edit-src-code-timer):
  Remove variables.
(org-src--allow-write-back-p, org-src--beg-marker,
org-src--block-indentation, org-src--code-timer, org-src--end-marker,
org-src--end-marker, org-src--from-org-mode, org-src--overlay,
org-src--saved-temp-window-config, org-src--type,
org-src--babel-info): New variables.

(org-src--construct-edit-buffer-name, org-src--edit-buffer,
org-src--source-buffer, org-src--get-lang-mode, org-src--coordinates,
org-src--goto-coordinates, org-src--element-contents-area,
org-src--make-source-overlay, org-src--on-element-p,
org-src--contents-for-write-back, org-src--edit-element,
org-edit-table.el, org-edit-export-block): New functions.
(org-edit-src-find-buffer, org-src-construct-edit-buffer-name,
org-src-tangle, org-src-in-org-buffer): Remove functions.

(org-edit-src-code, org-edit-fixed-width-region, org-edit-src-abort,
org-edit-src-save): Use new functions and variables.
(org-edit-src-exit): Use new functions and variables.  Change
signature.

* lisp/org.el (org-edit-special, org-indent-line, org-indent-region):
  Use new functions and variables.

* lisp/ob-core.el (org-babel-do-in-edit-buffer): Remove useless check.
(org-babel-expand-src-block): Apply signature change.

This patches resolves discrepancies between source editing tools and
globally simplifies process (auto-save feature, region
preservation...).  It introduces export block editing.  It also moves
internal variables and functions into an appropriate namespace and
delete some unused functions.
2014-11-24 00:07:39 +01:00
Nicolas Goaziou 9c06f8cce9 org-src: Remove unused functions and variables
* lisp/org-src.el (org-edit-src-region-extra): Remove variable.
(org-edit-src-find-region-and-lang, org-edit-src-get-lang,
org-edit-src-get-label-format, org-edit-src-get-indentation,
org-src-fontify-block, org-src-fontify-buffer): Remove functions.

(org-src-font-lock-fontify-block): Remove reference to removed
function in docstring.

Remove all functions and variables related to parsing, which is now
delegated to org-element.el.  Also reorder a defcustom and
a declaration in the library.
2014-11-22 20:59:08 +01:00
Nicolas Goaziou 3953cb19b4 Merge branch 'maint' 2014-11-22 00:04:51 +01:00
Peter Moresi aa65ac35aa ob-js: Fix passing multiline variables
* lisp/ob-js.el (org-babel-js-var-to-js): Replace newline characters
  with "\n" in strings.

Let's say I have a multi-line string stored in an example block.

I want to store my CSV in an example block.

  ColA,ColB,ColC
  1,2,3
  4,5,6

I have a JavaScript function that accepts a string named 'csv' and passing in 'my-csv-data'.

  console.log(csv);

When I expand the source block I end up with:

var csv="ColA,ColB,ColC
  1,2,3
  4,5,6";
console.log(csv);

This will not execute correctly because JavaScript does not support newlines in strings.

What I want instead is:

  var csv="ColA,ColB,ColC\n  1,2,3\n  4,5,6";
  console.log(csv);

TINYCHANGE
2014-11-22 00:02:00 +01:00
Nicolas Goaziou 40f2b885f6 Open outer link on nested links
* lisp/org.el (org-open-at-point): Open outer link on nested links.

* testing/lisp/test-org.el (test-org/open-at-point/inline-image): New
  test.

Suggested-by: Daniel Bausch <bausch@dvs.tu-darmstadt.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/92796>
2014-11-20 23:35:28 +01:00
rasmus 0e52f02f2c org-entities.el: Add parallel symbol
* org-entities.el (org-entities): Add parallel symbol.

From patch proposal by Brady Trainor.

TINYCHANGE
2014-11-19 14:50:21 +01:00
Nicolas Goaziou 78773315ee Merge branch 'maint' 2014-11-18 19:46:44 +01:00
Nicolas Goaziou 4f31b68e8f org-element: Fix 'search failed ":"' error
* lisp/org-element.el (org-element-context): Fix 'search failed ":"'
  error when point is on a blank line after a keyword.

* testing/lisp/test-org-element.el (test-org-element/context): Add
  tests.
2014-11-18 19:44:46 +01:00
Nicolas Goaziou 4df091b431 Tiny refactoring
* lisp/org.el (org-entry-properties): Tiny refactoring.
2014-11-18 10:43:50 +01:00
Nicolas Goaziou 3e13ffdfb6 Fix CATEGORY property retrieval
* lisp/org.el (org-entry-properties): Fix returned CATEGORY property
  when no specific keyword is provided.

* testing/lisp/test-org.el (test-org/entry-properties): Add test.
2014-11-18 10:27:45 +01:00
Nicolas Goaziou 4375a941cc Fix SCHEDULED property retrieval
* lisp/org.el (org-entry-properties): Fix storing SCHEDULED property
  when specific argument is not specified.

* testing/lisp/test-org.el (test-org/entry-properties): Add test.

Reported-by: Richard Lawrence <richard.lawrence@berkeley.edu>
<http://permalink.gmane.org/gmane.emacs.orgmode/92728>
2014-11-18 10:27:36 +01:00
Nicolas Goaziou 1dfa77dee4 Fix order of TODO keywords with S-right
* lisp/org.el (org-set-regexps-and-options): Fix order of TODO
  keywords with S-right.

Thanks to Sébastien Vauban for reporting it.
<http://permalink.gmane.org/gmane.emacs.orgmode/92708>
2014-11-17 17:41:31 +01:00
Nicolas Goaziou 919722a6a6 ox-latex: Do not message "PDF file produced" for fragments
* lisp/ox-latex.el (org-latex-compile): Do not message "PDF file
  produced" for fragments.
2014-11-16 17:58:11 +01:00
Nicolas Goaziou 6b3aa71061 Fix `org-indent-line' on blank lines after a paragraph
* lisp/org.el (org--get-expected-indentation): Properly compute
  expected indentation on blank lines after a paragraph.
(org-indent-line): Update docstring.

* testing/lisp/test-org.el (test-org/indent-line): Add test.
2014-11-16 17:39:04 +01:00
Nicolas Goaziou 1452b15235 org-element: Fix docstring
* lisp/org-element.el (org-element-lineage): Fix docstring.
2014-11-16 16:49:18 +01:00
Nicolas Goaziou 409560b7f8 Merge branch 'maint' 2014-11-16 15:51:13 +01:00
Nicolas Goaziou 59111b77ef Fix `org-insert-heading'
* lisp/org.el (org-insert-heading): Fix some corner case when point is
  in an invisible list.

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

Reported-by: Luke Crook <luke@balooga.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/92619>
2014-11-16 15:48:58 +01:00
Nicolas Goaziou a7e62499f2 Fix `org-return'
* lisp/org.el (org-return): Avoid false positives in function.

* testing/lisp/test-org.el (test-org/return): New test.

Thanks to Sébastien Vauban for reporting it.

<http://permalink.gmane.org/gmane.emacs.orgmode/92657>
2014-11-16 14:02:13 +01:00
Nicolas Goaziou 61ba40c371 ox: Deprecate `org-export-get-genealogy' for `org-element-lineage'
* lisp/ox.el (org-export-collect-tree-properties,
  org-export-numbered-headline-p, org-export-get-tags,
  org-export-resolve-fuzzy-link, org-export-get-ordinal,
  org-export-get-parent-headline, org-export-get-parent-element,
  org-export-get-parent-table):

* lisp/ox-ascii.el (org-ascii--current-text-width):

* lisp/ox-beamer.el (org-beamer--frame-level):

* lisp/ox-icalendar.el (org-icalendar-blocked-headline-p):

* lisp/ox-latex.el (org-latex-footnote-reference):

* lisp/ox-odt.el (org-odt--enumerate, org-odt-link--infer-description,
  org-odt-table): Use `org-element-lineage' instead of
  `org-export-get-genealogy'.
2014-11-16 13:30:33 +01:00
Nicolas Goaziou 182d61fc8f org-element: Implement `org-element-lineage'
* lisp/org-element.el (org-element-lineage): New function.

* testing/lisp/test-org-element.el (test-org-element/lineage): New
  test.
2014-11-16 13:30:33 +01:00
Nicolas Goaziou 4c4f91800e org-info: Throw an error when following an info link fails
* lisp/org-info.el (org-info-follow-link): Throw an error instead of
  a message when search fails.
2014-11-16 00:18:24 +01:00
Kim 96e1971f0f org-info: Try info index if info node is not found
* lisp/org-info.el (org-info-follow-link): Attempt index lookup if node
  lookup fails.

* doc/org.texi (External links): Update info links.

Info index is almost always finer grain than info nodes.  For example
with this change, [[info:libc#close]] brings up not only
"(libc)Opening and Closing Files" info node, but also place the cursor
on the line that documents "close" function within the node.  This is
done by looking up "close"in the index upon failing to find a node
named "close".  Hence one can now link function, variable and other
names that are in the index rather than being limited to info node
names.  Typically there are far more index items than there are node
names.  For example libc manual has about 700 nodes, but over 4000
concept, type, function, and variables index items.  More examples of
new ways to create links are shown using org.info as example

- [[info:org#org-clock-idle-time]] uses "Variable Index"
- [[info:org#org-capture]] uses "Command and Function Index".
- [[info:org#timestamp]] uses "Main Index"
- [[info:org#C-c C-c]] uses "Key Index"

TINYCHANGE
2014-11-16 00:14:29 +01:00
Nicolas Goaziou 4670b0420c Merge branch 'maint' 2014-11-16 00:10:08 +01:00
Florian Beck 685d3ba4af Replace obsolete aliases of calendar functions
* lisp/org-agenda.el (org-agenda-diary-entry): Replace obsolete functions.
2014-11-16 00:09:37 +01:00
Teika kazura acdbc34995 Let `org-read-date' respect `org-replace-disputed-keys' again
* lisp/org.el (org-read-date): Respect `org-replace-disputed-keys'.

Beginning from org-8.1, org-read-date ignores
`org-replace-disputed-keys'.  This commit restores the original
behavior.  Users who want the org-8.1 behavior should customize
`org-read-date-minibuffer-local-map' instead.

See http://thread.gmane.org/gmane.emacs.orgmode/90626/focus=91318 for
the discussion on this issue.

This commit in effect reverts a6986494a0
and e8023dde58.

TINYCHANGE
2014-11-13 21:40:19 +01:00
Nicolas Goaziou 83d8a2b16d Fix cba2f0a
* lisp/org.el (org-adapt-indentation): Update docstring.
(org-fixup-indentation): Ignore contents of source blocks and example
blocks when indentation should be preserved.

* testing/lisp/test-org.el (test-org/demote, test-org/promote): Add
  tests.
2014-11-10 20:40:03 +01:00
Nicolas Goaziou ece68a7a6f org-colview: Use regular "ITEM" property
* lisp/org-colview.el (org-columns-display-here): Use regular "ITEM"
  value instead of computing another one.  Simplify process.
  (org-columns-cleanup-item): Remove function.

* contrib/lisp/org-colview-xemacs.el (org-columns-display-here): Use
  regular "ITEM" value instead of computing another one.  Simplify
  process.  (org-columns-cleanup-item): Remove function.

* etc/ORG-NEWS: Document change.
2014-11-10 16:51:33 +01:00
Nicolas Goaziou 9309fd5d20 Add "ITEM" to special properties
* lisp/org.el (org-special-properties): Add "ITEM".  Tiny fix to
  docstring.
(org-entry-properties): Compute "ITEM" property's value.
(org-buffer-property-keys): Remove hack since "ITEM" now officially
belongs to the special properties list.

* doc/org.texi (Special properties): Document "ITEM" change.

* testing/lisp/test-org.el (test-org/entry-properties): Add test.
2014-11-10 16:45:36 +01:00
Nicolas Goaziou 7af7edc505 Tags completion ignores narrowing
* lisp/org.el (org-get-buffer-tags): Ignore narrowing, if any.  Small
  refactoring.
2014-11-10 09:43:01 +01:00
Nicolas Goaziou 34bbb39454 Fix parser wrt to defcustom syntax related changes
* lisp/org-element.el (org-element-paragraph-separate,
  org-element--object-regexp): Turn defconst into defvar.
(org-element--set-regexps): Properly set previous variables.
(org-element-update-syntax): New function.

* lisp/org-list.el (org-plain-list-ordered-item-terminator,
  org-list-allow-alphabetical): Call new function whenever these
  variables are modified and Org is already loaded.

* lisp/org.el (org-add-link-type): Call new function since a new link
  type triggers a rebuild of syntax regexps, possibly invalidating
  cache in all Org buffers.

Reported-by: Christopher Dannheim <ch.dannheim@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/92487>
2014-11-10 00:08:44 +01:00
Nicolas Goaziou 3f78abf0b0 Merge branch 'maint' 2014-11-08 21:40:59 +01:00
Mario Frasca 4c37a937a7 org-plot: Correction in callback registration
org-plot.el (org-plot/gnuplot): Correct the callback for the and
register it as soon as possible.

The data-file variable is not in the scope of the callback, one needs
to grab its value while registering the callback.  With this patch the
timer is set as soon as the file is created.  Without this patch the
timer is set at the end of a let-block, if anything goes wrong in the
let-block before the timer is set, the file will not be removed.

TINYCHANGE
2014-11-08 21:38:52 +01:00
Mario Frasca 9f28685b29 org-plot: Reset gnuplot process instead of killing it
org-plot.el (org-plot/gnuplot): Do not kill the gnuplot process. just
jump to end of buffer and rely on command to do the resetting job.

Without this patch, the gnuplot process associated to the gnuplot
buffer is killed before each batch of instructions from orgmode to
gnuplot.  With or without this patch, Org mode sends a reset
instruction to the gnuplot process as first instruction.

TINYCHANGE
2014-11-08 21:37:15 +01:00
Nicolas Goaziou cba2f0a2a3 Improve `org-promote' and `org-demote'
* lisp/org.el (org-promote, org-demote): Fix docstring.  Small
  refactoring.  Ignore narrowing.
(org-fixup-indentation): Smarter indentation: handle inlinetasks and
footnote definitions.

* testing/lisp/test-org.el (test-org/demote, test-org/promote): New
  test.

`org-called-with-limited-levels' check is removed when promoting
a top-level headline.  The motivation behind it in this particular
case wasn't clear (see 10aba6b126) and
I couldn't find a good reason to keep it.

Suggested-by: Sébastien Vauban
<http://permalink.gmane.org/gmane.emacs.orgmode/92450>
2014-11-08 14:40:24 +01:00
Nicolas Goaziou e80894fcc0 Silence byte-compiler 2014-11-08 10:18:42 +01:00
Nicolas Goaziou 77f088066d Silence byte-compiler 2014-11-07 21:46:08 +01:00
Nicolas Goaziou f49833293a ox: Fix "wrong type argument listp" when filtering tags
* lisp/org.el (org--setup-process-tags): Fill `org-tag-groups-alist'
  only when group tags are defined.

Reported-by: Elric Milon <emacs@whirm.eu>
<http://permalink.gmane.org/gmane.emacs.orgmode/92406>
2014-11-07 21:12:10 +01:00
Nicolas Goaziou a2f8a48ab5 Merge branch 'maint'
Conflicts:
	lisp/ox.el
2014-11-07 00:16:42 +01:00
Leslie H. Watter d4a4fc740e ox.el: Add pt_BR translations to export engine
* lisp/ox.el: (org-export-dictionary) Add pt_BR messages to the list.

TINYCHANGE
2014-11-06 23:47:28 +01:00
Nicolas Goaziou c177d3ca9e Merge branch 'maint' 2014-11-06 19:20:13 +01:00
Nicolas Goaziou 320381990e ox-beamer: Fix undefined reference with internal links
* lisp/ox-beamer.el (org-beamer-target): Use label macro instead of
  hypertarget.

Moreover, target syntax cannot take advantage of hypertarget's second
parameter.

<http://permalink.gmane.org/gmane.emacs.orgmode/92455>
2014-11-06 19:18:34 +01:00
Nicolas Goaziou 588ec53124 Merge branch 'maint' 2014-11-04 22:25:18 +01:00
Nicolas Goaziou f8d7da4c33 ox-publish: Fix publishing components asynchronously
* lisp/ox-publish.el (org-publish): Ensure asynchronous process
  doesn't encounter :components parts in the project, as it may not
  know how to expand them.

Reported-by: Julien Cubizolles <j.cubizolles@free.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/92319>
2014-11-04 22:21:30 +01:00
Marco Wahl 5bc289df21 Merge branch 'maint' 2014-11-04 11:17:06 +01:00
Marco Wahl 33786d4645 org-agenda: Switch to current API for two calendar calls
* lisp/org-agenda.el (org-agenda-phases-of-moon, org-agenda-holidays):
  Update to use the current API

This commit fixes the display of holidays in the agenda for emacs 25.

Further for getting the lunar phases the usage of an obsolete alias
has been replaced by the current name.
2014-11-04 11:06:37 +01:00
Nicolas Goaziou 31b56b9c9d Update `customize-package-emacs-version-alist'
* lisp/org.el (customize-package-emacs-version-alist): Update value.
2014-11-03 21:58:37 +01:00
Eric Abrahamsen f1cc6dce3b Make org-transpose-words use text-mode-syntax-table
* lisp/org.el (org-mode-transpose-word-syntax-table): Make this table
  inherit from `text-mode-syntax-table'.
2014-11-03 21:12:05 +01:00
Nicolas Goaziou c78a62c918 Merge branch 'maint' 2014-11-03 21:10:53 +01:00
Kyle Meyer 4508b8c2a7 org-goto: Update for isearch changes
* lisp/org.el (org-goto): Update for isearch changes that removed
isearch-other-control-char.

isearch-other-control-char has been removed from isearch.el [1]. The
default interface for org-goto uses isearch-other-control-char to pass
certain key presses from org-goto-local-auto-isearch-map to
org-goto-map. Specifically, 'C-i' calls org-cycle and 'C-m' calls
org-goto-ret.

With the current isearch, the keys that should be passed to org-goto-map
can be set to nil. In addition to 'C-i' and 'C-m', RET must also be set
to nil because isearch-mode-map sets both 'C-m' and RET.

[1] bzr revision 114586, git commit aa04ac2c6,
    http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15200

<http://thread.gmane.org/gmane.emacs.orgmode/92317>
2014-11-03 21:07:20 +01:00
Nicolas Goaziou 4073847729 Fix menu entries: Move Subtree Up/Down
* lisp/org.el (org-org-menu): Fix entries.

`org-shiftmetaup' and `org-shiftmetadown' only drag a single line up
or down.  They are not about structure editing.

Reported-by: James Harkins <jamshark70@qq.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/92299>
2014-11-03 21:05:17 +01:00
Nicolas Goaziou ff1305efc9 Update some defcustoms keywords
* lisp/org.el (org-structure-template-alist): Fix :version keyword
  value.
(org-effort-durations): Add missing keywords.
2014-11-03 00:26:50 +01:00
Nicolas Goaziou c8a54e7727 Allow "min" modifier in effort durations
* lisp/org.el (org-effort-durations): Allow "min" modifier.

This is a standard abbreviation.  It also improves compatibility with
other programs using this property (e.g. "Taskjuggler").
2014-11-03 00:18:43 +01:00
Nicolas Goaziou 9b0de2a9cf Merge branch 'maint' 2014-11-02 23:11:44 +01:00
Nicolas Goaziou b26616091d ox-md: Enforce blank line between paragraph and plain list
* lisp/ox-md.el (org-md-separate-elements): Enforce blank line between
  paragraph and plain list.

Suggested-by: Charles C. Berry <ccberry@ucsd.edu>
<http://permalink.gmane.org/gmane.emacs.orgmode/92321>
2014-11-02 23:09:48 +01:00
Nicolas Goaziou fbcdc5d6d5 Merge branch 'maint' 2014-11-02 10:42:09 +01:00
Roberto Huelga Díaz cdb0a962bc org-capture.el: Fix expand template order
* lisp/org-capture.el (org-capture-fill-template): Expand %(sexp) after
  %:keywords, per documentation about capture templates expansion.

When a template is expanded first the simple %-escapes, %:keywords and
after that the %(sexp).

TINYCHANGE
2014-11-02 10:40:31 +01:00
Nicolas Goaziou e665307040 Merge branch 'maint' 2014-11-02 09:21:50 +01:00
Kyle Meyer e975eac4ce org.el (org-adapt-indentation): Fix typo
* lisp/org.el (org-adapt-indentation): Fix typo in docstring.
2014-11-02 09:20:24 +01:00
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
Nick Dokos 50da53de51 Revert "org-clean-before-export matches non-special columns spuriously"
This reverts commit 79873390ed.
The fix was wrong and gave rise to a different problem  - see

   http://thread.gmane.org/gmane.emacs.orgmode/89945

Revert it for now, since there is a workaround for the original
problem and plan on a correct fix in the near future.
2014-08-20 22:14:53 -04:00
Achim Gratz 64821bd967 ob-lilypond: Code cleanup
* lisp/ob-lilypond.el (org-babel-lilypond-OSX-ly-path,
  org-babel-lilypond-OSX-pdf-path, org-babel-lilypond-OSX-midi-path,
  org-babel-lilypond-nix-ly-path, org-babel-lilypond-nix-pdf-path,
  org-babel-lilypond-nix-midi-path, org-babel-lilypond-w32-ly-path,
  org-babel-lilypond-w32-pdf-path, org-babel-lilypond-w32-midi-path,
  org-babel-lilypond-determine-ly-path,
  org-babel-lilypond-determine-pdf-path,
  org-babel-lilypond-determine-midi-path): Remove.
  (org-babel-lilypond-ly-command, org-babel-lilypond-midi-command,
  org-babel-lilypond-pdf-command): Replacement for removed variables
  and functions.  Adapt all calls to the removed functions to use
  these variables instead.
  (org-babel-lilypond-commands): New defcustom for setting up
  the *-command variables.  Keep different defaults for different
  systems as the original code did to avoid tripping up unsuspecting
  users.
  (org-babel-lilypond-execute-tangled-ly,
  org-babel-lilypond-check-for-compile-error): Revert conditions to
  avoid superfluous forms.  Remove unused return values.
* testing/lisp/test-ob-lilypond.el: Do test for new variables and
  replace removed function calls with the appropriate variable
  content.  Exercise the new defcustom thoroughly.
2014-08-20 22:24:01 +02:00
Achim Gratz b03ce7fc8d Merge branch 'maint' 2014-08-20 21:12:23 +02:00
Achim Gratz b8bd2147cb ob-lilypond: change prefix to org-babel-lilypond
* lisp/ob-lilypond.el, testing/lisp/test-ob-lilypond.el: Change prefix
  from `ly-' to `org-babel-lilypond-' throughout.
2014-08-20 21:10:00 +02:00
Nicolas Goaziou 258b572cd4 Merge branch 'maint' 2014-08-19 23:37:37 +02:00
Nicolas Goaziou f2ac6db0a6 ox-texinfo: Fix language case
* lisp/ox-texinfo.el (org-texinfo-template): Fix language and encoding
  case.

Thanks to Brian J. Carlson for reporting it and providing a patch.
http://permalink.gmane.org/gmane.emacs.orgmode/89965
2014-08-19 23:35:08 +02:00
Nicolas Goaziou 3a1fff1b22 Merge branch 'maint' 2014-08-16 16:22:48 +02:00
Nicolas Goaziou 3fed03941a ox-md: Fix blank lines in output
* lisp/ox-md.el (org-md-separate-elements): Outside of lists, preserve
  blank lines between paragraphs and plain lists.

For example

    Consider this list:

    - three
    - four

should become

  # Another test<a id="sec-2"></a>

  Consider this list:

  -   three
  -   four

Thanks to Rafael for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/89840
2014-08-16 16:21:46 +02:00
Aaron Ecay 2cbaa47fcc ob-R: Fix redundant code.
* lisp/ob-R.el (org-babel-R-check-evaluate-package): Fix redundant
code.
2014-08-16 00:48:10 -04:00
Aaron Ecay d582b3b563 fix docstring typo
* lisp/org.el (org-insert-heading): Fix docstring typo.
2014-08-16 00:45:39 -04:00
Aaron Ecay 246df88c95 ob-latex: fixes and improvements
* lisp/ob-latex.el (convert-pdf): Rename function to have
org-babel-latex- prefix.
(org-babel-execute:latex): Use renamed function.  Include :headers
when generating SVG/HTML also.
2014-08-16 00:43:37 -04:00
Nicolas Goaziou 88101ef434 Merge branch 'maint' 2014-08-15 21:52:17 +02:00
Nicolas Goaziou 60851f4fc7 org-element: Fix common indentation removal in verse block
* lisp/org-element.el (org-element-normalize-contents): Fix
  indentation removal when there is an empty line within a verse block.
* testing/lisp/test-org-element.el (test-org-element/normalize-contents):
  Add test.
2014-08-15 21:46:46 +02:00
Nicolas Goaziou cc6aa45f3b Merge branch 'maint'
Conflicts:
	lisp/ox-texinfo.el
2014-08-14 14:11:40 +02:00
Nicolas Goaziou 1adec31993 ox-texinfo: Fix parse tree corruption
* lisp/ox-texinfo.el (org-texinfo--normalize-headlines): Properly add
  a section to the contents.
2014-08-14 14:08:16 +02:00
Nicolas Goaziou 57644f7ebf ox-texinfo: Small refactoring
* lisp/ox-texinfo.el (org-texinfo--normalize-headlines): Do not set
  pre blanks since the value is now hard-coded.
(org-texinfo-headline): Force one blank line before contents, when non
empty.  Refactoring.
(org-texinfo-src-block): Refactor code.  Comply to predicate naming.
2014-08-14 14:06:48 +02:00
Nicolas Goaziou 6b9108741b ob-forth: Silence byte-compiler 2014-08-14 11:15:37 +02:00
Grégoire Jadi 34900f41d5 lisp/org-agenda.el (org-agenda-refile): Documentation improvement
* lisp/org-agenda.el (org-agenda-refile): State explicitly that
  '(16) = C-u C-u and that '(64) = C-u C-u C-u.
2014-08-12 20:49:44 +02:00
Nicolas Goaziou 644e602343 Merge branch 'maint' 2014-08-11 19:48:58 +02:00
Nicolas Goaziou e112f3c0df ox-texinfo: Fix corner case when fixing a node name
* lisp/ox-texinfo.el (org-texinfo--sanitize-node): Handle
  " (not)allowed" case.
2014-08-11 19:47:47 +02:00
Nicolas Goaziou 0a18095984 ox-texinfo: Do not sanitize sectioning titles
* lisp/ox-texinfo.el (org-texinfo-headline): Do not sanitize
  sectioning titles.
2014-08-11 15:46:21 +02:00
Nicolas Goaziou 2e98c7f43e Merge branch 'maint' 2014-08-11 15:45:35 +02:00
Nicolas Goaziou 7286925b7d ox-texinfo: Remove wrong code comments
* lisp/ox-texinfo.el (org-texinfo-headline): Remove wrong code
  comments.
2014-08-11 15:44:12 +02:00
Nicolas Goaziou ca46777144 Silence byte-compiler 2014-08-11 15:35:33 +02:00
Nicolas Goaziou 6400c9a8e5 Merge branch 'maint'
Conflicts:
	doc/org.texi
	lisp/ox-texinfo.el
2014-08-11 15:00:57 +02:00
Nicolas Goaziou 3c35300162 ox-texinfo: Remove `not-in-toc' case in headline export
* lisp/ox-texinfo.el (org-texinfo-headline): Remove `not-in-toc'
  special case for tags.

Check is useless for 2 reasons :

  1. there is no way to control @contents in the file header so
     sectioning name,

  2. menu entries provide their own title.  If it has to be handled,
     that should be elsewhere anyway.
2014-08-11 14:56:01 +02:00
Nicolas Goaziou 9f81c11d71 ox-texinfo: Remove left-over LaTeXism
* lisp/ox-texinfo.el (org-texinfo-headline): Remove LaTeXism (optional
  arguments within square brackets).
2014-08-11 14:56:01 +02:00
Nicolas Goaziou dcf5510053 ox-texinfo: Tiny refactoring
* lisp/ox-texinfo.el (org-texinfo-info-process): Fix docstring.
(org-texinfo-compile): Do not check for impossible cases (e.g., if the
previous variable contains a function).
2014-08-11 14:56:01 +02:00
Nicolas Goaziou d17cd9962f ox-texinfo: Fix a docstring
* lisp/ox-texinfo.el (org-texinfo-max-toc-depth): Fix docstring.
2014-08-11 14:56:00 +02:00
Nicolas Goaziou 4acfe1cba8 ox-texinfo: Remove unused internal functions
* lisp/ox-texinfo.el (org-texinfo--make-option-string,
  org-texinfo--sanitize-headline,
  org-texinfo--sanitize-headline-contents): Remove.
2014-08-11 14:56:00 +02:00
Nicolas Goaziou 6d75d708a1 ox-texinfo: Fix node names
* lisp/ox-texinfo.el (org-texinfo--sanitize-node): "@", "{" and "}"
  characters are allowed in a node name.  So are "(" and ")" unless
  "(" starts the name and there is ")" somewhere in the name.  Also
  trim and collapse whitespace characters.  Renamed from
  `org-texinfo--sanitize-menu'.
(org-texinfo--get-node): Do not sanitize node names over zealously.
Ensure returned node names are unique.
(org-texinfo-headline): Only add @node command where it makes sense.
2014-08-11 14:56:00 +02:00
Nicolas Goaziou 2ef63acae2 ox-texinfo: Fix docstrings
* lisp/ox-texinfo.el (org-texinfo--sanitize-menu,
  org-texinfo--sanitize-content): Fix docstrings.
2014-08-11 13:38:50 +02:00
Nicolas Goaziou 3ee7895c03 ox-texinfo: Fix blank lines in output
* lisp/ox-texinfo.el (org-texinfo--normalize-headlines): Make sure
  a blank line always follows nodes.
2014-08-11 13:38:50 +02:00
Nicolas Goaziou ee5c224017 ox-texinfo: Fix menus
* lisp/ox-texinfo.el (org-texinfo-make-menu): Change signature.
  Remove some intermediate functions.  Generate the full master menu
  when asked.
(org-texinfo--build-menu):  Use a simpler algorithm.
(org-texinfo--format-entries): Fix entries when both node and title
are different.
(org-texinfo--menu-entries): Renamed from `org-texinfo--generate-menu-list'.
(org-texinfo-headline): Move menu handling to next function.
(org-texinfo-section): Handle menu for current parent.
(org-texinfo--menu-headlines, org-texinfo--generate-detailed): Remove
functions.
(org-texinfo--normalize-headlines): New function.
2014-08-11 13:38:44 +02:00
Nicolas Goaziou 6326697f4e ox-texinfo: Fix appendix command
* lisp/ox-texinfo.el (org-texinfo-headline): Fix @appendix command.
2014-08-10 22:49:25 +02:00
Nicolas Goaziou 710e40f96a ox-texinfo: Fix heading text
* lisp/ox-texinfo.el (org-texinfo-headline): Do not sanitize heading
  text for sectioning command.

For example

  * This is ~code~

should be possibly exported as

  @chapter This is @code{code}

not

  @chapter This is @@code@{code@}
2014-08-10 22:49:18 +02:00
Eric Schulte f85aeea69f error behavior for forth code blocks
* lisp/ob-forth.el (org-babel-forth-session-execute): Add error
  handling for the forth interpreter using
  `org-babel-eval-error-notify'.
2014-08-09 21:35:27 -04:00
Eric Schulte 385746d69c add support for forth code blocks
Currently only session code block evaluation is supported, however
  this is a reasonable default for forth.

* lisp/org.el (org-babel-load-languages): Add "Forth" to the list of
  loadable languages.

* list/ob-forth.el: New file.
2014-08-09 19:00:02 -04:00
Federico Beffa b3fbd31f17 org.el: Add function to indent environment inserted by cdlatex-enviroment
* lisp/org.el (org-cdlatex-environment-indent): New function.

New function is bound to "\C-c{" in `org-cdlatex-mode-map' to add
a LaTeX environment and indent it.

TINYCHANGE
2014-08-09 09:50:53 +02:00
Nicolas Goaziou d2c0bbcf52 Merge branch 'maint' 2014-08-09 00:08:12 +02:00
Nicolas Goaziou 1faeb4e680 ox-texinfo: Fix ":COPYING: nil" node properties
* lisp/ox-texinfo.el (org-texinfo--generate-menu-list): ":COPYING:
  nil" is expected to be equivalent to no COPYING property at all.
2014-08-09 00:05:43 +02:00
Nicolas Goaziou 80525f5384 Merge branch 'maint' 2014-08-08 22:42:45 +02:00
Nicolas Goaziou 70fce0270f ox-texinfo: Fix blank lines between in items
* lisp/ox-texinfo.el (org-texinfo-item): Fix blank lines between
  items.
2014-08-08 22:42:08 +02:00
Nicolas Goaziou b1406dcddb Merge branch 'maint'
Conflicts:
	doc/org.texi
	lisp/ox-texinfo.el
2014-08-08 22:07:45 +02:00
Nicolas Goaziou fe133aadca ox-org: Update wrt `org-element-block-name-alist' change
* lisp/ox-org.el (org-org-keyword): Do not check for keywords
  targeting other export back-ends since
  `org-element-block-name-alist' doesn't contain such information
  anymore.
2014-08-08 10:34:34 +02:00
Nicolas Goaziou c7a2024f65 ox-org: OPTIONS keyword belong to the template
* lisp/ox-org.el (org-org-keyword): Do not handle OPTIONS keywords
  since those are handled in the template.
(org-org-template): Handle OPTIONS keyword.

As a consequence, OPTIONS keyword do not appear anymore when doing
a body-only export.

Thanks to Thorsten Jolitz for suggesting the idea.
http://permalink.gmane.org/gmane.emacs.orgmode/89633
2014-08-08 10:29:59 +02:00
Aaron Ecay 59cd25cd75 Revert "ob-R.el: Improve the capturing of output-type results in sessions."
This reverts commit b51746332d.
2014-08-07 14:00:01 -04:00
Nicolas Goaziou dd085235e3 ox-texinfo: Code comments clean-up 2014-08-07 15:35:45 +02:00
Joe Corneli 3ea1ce2e85 Fix bug associated with setting image size via ATTR.
* lisp/org.el (org-display-inline-images): This change is necessary to
  make ATTR work.  Removed unnecessary save-match-data forms.
2014-08-07 15:02:42 +02:00
Nicolas Goaziou 879010160e org-element: Accept missing final newlines in block values
* lisp/org-element.el (org-element-comment-block-interpreter,
  org-element-example-block-interpreter,
  org-element-src-block-interpreter): Handle values with missing final
  newline, e.g., when built by the user.

* testing/lisp/test-org-element.el (test-org-element/comment-block-interpreter,
  test-org-element/example-block-interpreter,
  test-org-element/src-block-interpreter): Add tests

Thanks to Thorsten Jolitz for suggesting the idea.
http://permalink.gmane.org/gmane.emacs.orgmode/89602
2014-08-07 14:55:48 +02:00
Aaron Ecay b51746332d ob-R.el: Improve the capturing of output-type results in sessions.
* lisp/ob-R.el (org-babel-R-evaluate-session): Improve the capturing
of R output.

This uses a built-in facility of R to write the output to a file,
rather than trying to capture it in an emacs buffer using ESS (a
process by which the output can get mixed with other irrelevant text,
such as R command prompts).
2014-08-07 01:54:23 -04:00
Aaron Ecay d035c14765 ob-R.el: fix a bug when a :var is propertized text
* lisp/ob-R.el (org-babel-R-assign-elisp): Strip text properties from
strings.

Before this change, babel would try to format propertized strings
using elisp read syntax.  The upshot is that evaluating the following
code block would give an error (in R, not emacs), since the “bar” in
foo-ex gets text properties via font lock:

| #+name: foo-ex
| #+begin_example
| bar
| #+end_example
|
| #+name: foo
| #+begin_src R :var foo=foo-ex
|   foo
| #+end_src
2014-08-07 01:54:23 -04:00
Nicolas Goaziou d58a2960e0 ox-texinfo: Fix plain lists export
* lisp/ox-texinfo.el (org-texinfo-plain-list): Fix format string.
  Small refactoring.
2014-08-07 00:02:16 +02:00
Nicolas Goaziou 73809c1aa8 ox-texinfo: Allow to set a different title for hard copy
* lisp/ox-texinfo.el (texinfo): Provide new export property.
(org-texinfo-template): Use dedicated title for hard copy, when
available.
2014-08-07 00:02:16 +02:00
Nicolas Goaziou e0dbe1c776 ox-texinfo: Appendix has precedence over regular sectionning
* lisp/ox-texinfo.el (org-texinfo-headline): Always obey to
  a non-nil :APPENDIX: property.  Small refactoring.
2014-08-07 00:02:16 +02:00
Nicolas Goaziou 3e018d0afd ox-texinfo: Fix verse block export
* lisp/ox-texinfo.el (org-texinfo-verse-block): Generate somewhat
  meaningful Texinfo code instead of LaTeX.
2014-08-07 00:02:16 +02:00
Nicolas Goaziou 3b1d2811a8 ox-texinfo: Fix table export
* lisp/ox-texinfo.el (org-texinfo-table): Remove reference to
  "verbatim" attribute.  Handle table.el tables.  Tiny refactoring.
(org-texinfo-table--org-table, org-texinfo-table--table.el-table):
Remove functions.
(org-texinfo-table-column-widths): Indent code correctly.  Ignore
special column, if any.  Add a comment about the limitation on the
width computation.
(org-texinfo-table-row): Small refactoring.
2014-08-07 00:01:18 +02:00
Nicolas Goaziou beed9cbe63 ox-texinfo: Fix @setfilename command
* lisp/ox-texinfo.el (texinfo): Do not provide a default value for
  @setfilename value.
(org-texinfo-filename): Remove variable.
(org-texinfo-template): Correctly find value for @setfilename command.
If none is possible, do not provide the command at all.
2014-08-07 00:00:25 +02:00
Nicolas Goaziou 9f9aa52f14 ox: Provide output file name, if any, to back-ends
* lisp/ox.el (org-export-to-file): Provide output file name in
  communication channel, through :output-file property.

This change is needed to fix back-ends needing this information during
the process, e.g., `texinfo'.
2014-08-07 00:00:19 +02:00
Rick Frankel 6fa58b3cc2 Fix html checkbox output.
* lisp/ox-html.el (html): Add missing `:html-checkbox-type' option.
2014-08-06 10:24:27 -04:00
Aaron Ecay 107a2c83ba ob-core.el: add :output-dir header arg to org-babel-common-header-args-w-values
* lisp/ob-core.el (org-babel-common-header-args-w-values): Add
:output-dir'.

Otherwise tthis property is not inherited correctly from
subtree-/file-level properties.
2014-08-06 00:04:52 -04:00
Nicolas Goaziou f002451544 ox-texinfo: Do not hardcode "Manual" in top node
* lisp/ox-texinfo.el (org-texinfo-template): Do not hardcode "Manual"
  in top node.
2014-08-05 10:53:39 +02:00
Nicolas Goaziou 4b6f9b25b8 ox-texinfo: Fix `org-texinfo-classes'
* lisp/ox-texinfo.el (org-texinfo-classes): Change default value.
  Update docstring.
(org-texinfo-template): Insert header string from current class after
"@settitle" command.  Always provide "\input texinfo" at the beginning
of the output.

Header string in the class was inserted before "@setfilename".
Texinfo ignores anything between "\input texinfo" and that command,
making any value besides the default one useless.
2014-08-05 10:52:19 +02:00
Nicolas Goaziou 3ff46fdbff ox-texinfo: Remove spurious blank lines in output
* lisp/ox-texinfo.el (org-texinfo-template): Remove spurious blank
  lines in output.  Refactor code.
2014-08-05 10:52:14 +02:00
Nicolas Goaziou 33f6dc57ae ox-texinfo: Fix multi-line subtitles
* lisp/ox-texinfo.el (org-texinfo-template): Fix multi-line subtitles.
2014-08-05 10:51:46 +02:00
Nicolas Goaziou 6f73155454 ox-texinfo: Check options before inserting TOC
* lisp/ox-texinfo.el (org-texinfo-template): Make sure table of
  contents are allowed before inserting them.
2014-08-05 10:51:46 +02:00
Nicolas Goaziou b3fdf490b7 ox-texinfo: Handle documents without copying information
* lisp/ox-texinfo.el (org-texinfo-template): Check if copying data is
  not nil before using it.
2014-08-05 10:51:43 +02:00
Nicolas Goaziou 2dfaf78058 ox-texinfo: Properly handle subauthors and email
* lisp/ox-texinfo.el (org-texinfo-template): Fix multi-line
  subauthors.  Correctly add email, when provided.  Check if author
  info is wanted first.

This patch also removes AUTHOR variable since it's up to the user to
set it or not, through a class or a header keyword.
2014-08-04 13:29:26 +02:00
Nicolas Goaziou e9c1f5ca53 ox-texinfo: Fix docstrings
* lisp/ox-texinfo.el (org-texinfo-node-description-column,
  org-texinfo-format-drawer-function): Fix docstrings.
2014-08-04 13:29:26 +02:00
Nicolas Goaziou 60a407a7f5 ox-texinfo: Fix comments handling
* lisp/ox-texinfo.el (texinfo): Make sure comments are ignored.
(org-texinfo-comment, org-texinfo-comment-block): Remove functions.

This is consistent with all other back-ends, which ignore any comment.
2014-08-04 13:29:26 +02:00
Nicolas Goaziou fddee022b7 ox-texinfo: Fix error with wide @direntry
* lisp/ox-texinfo.el (org-texinfo-template): Properly pad @direntry
  description.
2014-08-04 13:29:26 +02:00
Eric Schulte 003eddb82e protect lisp code blocks from ending comments
* lisp/ob-lisp.el (org-babel-lisp-dir-fmt): Protect lisp code blocks
  from ending comments by adding newlines behind code in format
  strings.
2014-08-03 21:33:13 -04:00
Nicolas Goaziou 0feec82c63 ox-ascii: Fix error preventing export
* lisp/ox-ascii.el (org-ascii-filter-paragraph-spacing): Fix "concat:
  Wrong type argument: wholenump, auto" error.

Thanks to Xebar Saram for reporting the bug and to Eric Abrahamsen for
finding it out.
http://permalink.gmane.org/gmane.emacs.orgmode/89096
2014-08-03 21:41:37 +02:00
Nicolas Goaziou 381ad4b33a Small refactoring
* lisp/org.el (org-fill-paragraph): Avoid calling
  `fill-region-as-paragraph' if BEG is equal to END.
2014-08-03 09:57:37 +02:00
Nicolas Goaziou d649b792c0 Small refactoring
* lisp/org.el (org-fill-paragraph): Small refactoring.
2014-08-02 23:16:05 +02:00
Nicolas Goaziou cbb82d0c6e Speed up paragraph filling
* lisp/org.el (org-fill-paragraph): Do not parse objects in whole
  paragraph if none looks like a line break.
2014-08-02 22:49:24 +02:00
Nicolas Goaziou 604b93892c ox: Title fallbacks to nil instead of file name
* lisp/ox.el (org-export--get-inbuffer-options):
(org-export-as): Remove title default value handling.
(org-export--get-buffer-attributes): Remove unnecessary property.

* doc/org.texi (Document title):
(Export settings):
* doc/orgguide.texi (Export options): Update documentation.

* testing/lisp/test-ox.el (test-org-export/set-title): Update tests
  according to new specifications.
2014-08-02 21:14:22 +02:00
Nicolas Goaziou 6ba05e3200 ox-html: Fix missing <span> block around section number
* lisp/ox-html.el (org-html-headline): Add <span> element around
  section number.

http://permalink.gmane.org/gmane.emacs.orgmode/89369
2014-08-02 15:36:42 +02:00
Moritz Kiefer 91eee36742 ox-latex.el: Add page number of link when exporting to latex
* lisp/ox-latex.el (org-latex--inline-image): Use page
number (:search-option) of pdf links as page option in
includegraphics.

TINYCHANGE
2014-08-02 10:24:41 +02:00
Bastien Guerry 296d82a383 New alias `org-toggle-latex-fragment' for `org-preview-latex-fragment'
* org.el (org-ellipsis, org-remove-highlights-with-change):
Enhance docstring.
(org-preview-latex-fragment): Make obsolete.  Alias to the new
name `org-toggle-latex-fragment'.
(org-mode, org-mode-map): Use `org-toggle-latex-fragment'.
2014-08-01 13:52:32 +02:00
Nicolas Goaziou cdb85242d6 Fix block hiding
* lisp/org.el (org-hide-block-toggle): Correctly find boundaries of
  the block at point.  Fix `off' argument behavior.  Allow to hide
  a block when at any affiliated keyword.

* testing/lisp/test-org.el (test-org/hide-block-toggle): New test.

Thanks to Andrea Rossetti for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/89324
2014-08-01 10:50:36 +02:00
Nicolas Richard 350fdfd676 ox: Signal an error if keyword is unknown while defining backends
* lisp/ox.el (org-export-define-backend):
(org-export-define-derived-backend): Signal an error if keyword is
unknown.
2014-07-31 12:22:00 +02:00
Nicolas Goaziou 5ec0468e0a Merge branch 'maint'
Conflicts:
	lisp/org-element.el
2014-07-31 12:19:40 +02:00
Nicolas Goaziou f5065b2ff6 org-element: Fix docstring
* lisp/org-element.el (org-element-headline-parser): Add missing
  `:post-blank' property in docstring.
2014-07-31 12:17:35 +02:00
Nicolas Goaziou cc7d757571 ox-html: Fix missing section number in ids
* lisp/ox-html.el (org-html-headline): Fix missing section number in
  div ids.

Thanks to Matt Lundin for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/89291
2014-07-31 10:59:58 +02:00
Matt Lundin 282d8c86e7 Fix broken links in html publishing
* lisp/ox-html.el: Fix incorrect property name in :options-alist of
  html backend definition.
2014-07-30 09:57:18 +02:00
Bastien Guerry 3b6f386795 Merge branch 'maint' 2014-07-29 23:28:34 +02:00
Achim Gratz 60bfafcb0c org.el (org-refresh-category-properties): Enhance regexp
* org.el (org-refresh-category-properties): Enhance regexp.
2014-07-29 23:28:08 +02:00
Matt Lundin a40f568f19 Protect open buffers when publishing sitemap
* lisp/ox-publish.el: (org-publish-find-title) (org-publish-find-date)
  Make sure to call org-export-get-environment in copy of buffer if
  emacs is already visiting. Otherwise, #+bind variables meant for
  export can be set in live buffers.

This patch also optimizes the above functions by inhibiting
org-startup on buffers emacs visits temporarily.
2014-07-29 23:20:19 +02:00
Matt Lundin dc4942442c Fix docstring of org-agenda-inhibit-startup
* lisp/org.el: org-agenda-inhibit-startup: fix docstring to reflect
  default value
2014-07-29 23:19:10 +02:00
Bastien Guerry 2558de0ab3 Merge branch 'master' of orgmode.org:org-mode 2014-07-29 23:18:49 +02:00
Achim Gratz ec231c5db2 Fix 600d3bb56b
* lisp/org-table.el: The reference has been saved in `formrpl', not
  `repl'.
2014-07-29 21:35:43 +02:00
York Zhao 12d5d5f775 org-table.el (org-table-eval-formula): Fix variable name typo 2014-07-29 19:27:57 +02:00
Bastien Guerry 8d8dfacfc6 Fix code typo in 3af4949a 2014-07-29 16:56:44 +02:00
Nicolas Goaziou c9ca0b6df8 ox-html: Use options instead of hard-coded variables
* contrib/lisp/ox-s5.el (org-s5--format-toc-headline): Apply signature
  change.

* lisp/ox-md.el (org-md-headline): Apply signature change.

* lisp/ox-html.el (org-html-format-drawer-function,
  org-html-publish-to-html): Small reformatting.

(org-html-infojs-install-script, org-html--build-meta-info,
org-html--build-mathjax-config, org-html-format-spec,
org-html--build-pre/postamble, org-html-template, org-html-toc,
org-html--format-toc-headline, org-html-list-of-listings,
org-html-list-of-tables, org-html-bold, org-html-drawer,
org-html-headline, org-html-inlinetask, org-html-italic,
org-html-checkbox, org-html-inline-image-p, org-html-link,
org-html-section, org-html-strike-through, org-html-table-cell,
org-html-table-row, org-html-underline, org-html-verbatim,
org-html-final-function, org-html-export-to-html): Do not use
hard-coded variable names.

(org-html-format-headline-function,
org-html-format-inlinetask-function): Change default value.  Require
an additional argument.

(org-html-format-footnote-reference,
org-html-format-footnotes-section,
org-html-format-footnote-definition, org-html-format-headline,
org-html-format-headline--wrap, org-html-format-section): Remove
functions.

(org-html-footnote-section, org-html-footnote-reference): Apply
function removal.  Do not use hard-coded variable names.

(org-html--anchor, org-html--todo, org-html--tags): Change signature.
Do not use hard-coded variable names.

(org-html-radio-target, org-html-target): Apply signature change.

(org-html-format-headline-default-function,
org-html-format-inlinetask-default-function): New functions.
2014-07-29 15:45:18 +02:00
Nicolas Goaziou 3c22bb19e0 ox-odt: Use options instead of hard-coded variables
* lisp/ox-odt.el (org-odt-styles-dir,
  org-odt-create-custom-styles-for-srcblocks, org-odt-table-styles,
  org-odt-get-table-cell-styles): Fix docstring.
(org-odt-format-headline-function,
org-odt-format-inlinetask-function): Change default value.

(org-odt-template, org-odt-drawer, org-odt-format-headline--wrap,
org-odt-inlinetask, org-odt--enumerate, org-odt--image-size,
org-odt--enumerable-image-p, org-odt--enumerable-latex-image-p,
org-odt--enumerable-formula-p, org-odt-link, org-odt-table-style-spec,
org-odt-timestamp): Use option instead of hard-coded variables.

(org-odt-format-headline): Remove function.

(org-odt-do-format-code): Change signature.  Use options instead of
hard-coded variables.
(org-odt-fixed-width, org-odt-latex-environment,
org-odt-link--inline-image, org-odt-format-code): Apply signature
change.

(org-odt-format-headline-default-function,
org-odt-format-inlinetask-default-function): New functions.

(org-odt-link--inline-image): Fix indentation.
2014-07-29 15:45:18 +02:00
Nicolas Goaziou 0540dccadd Use options instead of hard-coded variables
* lisp/ox-beamer.el (org-beamer--format-frame,
  org-beamer--format-block, org-beamer-template): Use options instead
  of hard-coded variables.

* lisp/ox-man.el (org-man-inline-src-block, org-man-src-block,
  org-man-table, org-man-table-cell): Use options instead of
  hard-coded variables.

* lisp/ox-md.el (org-md-headline): Use options instead of hard-coded
  variables.

* lisp/ox-texinfo.el (org-texinfo-format-headline-function,
  org-texinfo-format-inlinetask-function): Change default value.
(org-texinfo--text-markup, org-texinfo--format-menu): Change signature
(org-texinfo--build-menu, org-texinfo-bold, org-texinfo-code,
org-texinfo-comment, org-texinfo-italic, org-texinfo-verbatim): Apply
signature change.

(org-texinfo-template, org-texinfo-clock, org-texinfo-drawer,
org-texinfo-link, org-texinfo-plain-list, org-texinfo-planning,
org-texinfo-table, org-texinfo-table-cell, org-texinfo-timestamp): Use
options instead of variable names.

(org-texinfo-format-headline-default-function,
org-texinfo-format-inlinetask-default-function): New functions.
(org-texinfo-headline, org-texinfo-inlinetask): Use new functions.
2014-07-29 15:45:18 +02:00
Nicolas Goaziou fd448cb1e2 Remove some options associated to variables
* lisp/ox-html.el: Remove options.

* lisp/ox-icalendar.el: Remove options.

* lisp/ox-latex.el (org-latex-guess-inputenc, org-latex-compile,
  org-latex--collect-warnings): Use full variable name instead of an
  option.

* lisp/ox-man.el: Remove options.

* lisp/ox-odt.el: Remove options.

* lisp/ox-texinfo.el: Remove options.

* doc/org.texi (Publishing options): Update documentation accordingly.

These variables are meant to be used outside (or on the fringe) of the
export process, where information channel is not available.

remove
2014-07-29 15:45:18 +02:00
Nicolas Goaziou 011df55c70 ox-latex: Use options instead of hard-coded variables
* lisp/ox-latex.el (org-latex-format-inlinetask-function): Change
  default value.
(org-latex-guess-inputenc, org-latex--text-markup, org-latex-template,
org-latex-clock, org-latex-drawer, org-latex-footnote-reference,
org-latex-headline, org-latex-inline-src-block, org-latex-keyword,
org-latex--inline-image, org-latex-link, org-latex-planning,
org-latex-src-block, org-latex-table, org-latex--org-table,
org-latex--table, org-latex--math-table, org-latex-table-cell,
org-latex-table-row, org-latex-timestamp, org-latex-compile,
org-latex--collect-warnings): Use options instead of hard-coded
variables.

(org-latex-format-inlinetask-default-function): New function.
(org-latex-inlinetask): Use new function.

(org-latex--text-markup): Change signature.
(org-latex-bold, org-latex-code, org-latex-italic,
org-latex-strike-through, org-latex-underline, org-latex-verbatim):
Apply signature change.
2014-07-29 15:45:18 +02:00
Bastien Guerry 06aa1b615c org.el (org-yank): Small docstring enhancement
* org.el (org-yank): Small docstring enhancement.
2014-07-29 15:35:39 +02:00
Malcolm Purvis 3af4949a07 org.el (org-refresh-category-properties): Regexp enhancement
* org.el (org-refresh-category-properties): Regexp enhancement.

TINYCHANGE
2014-07-29 15:22:54 +02:00
Bastien Guerry a98a6afe56 Merge branch 'maint' 2014-07-29 15:21:31 +02:00
Matt Lundin 507244d56b Remove unnecessary invocations of org-mode
* lisp/ox-publish.el: (org-publish-find-title) (org-publish-find-date)
  Fix unnecessary invocations of org-mode with
  org-inhibit-startup.

The functions above call org-mode with org-inhibit-startup in org
buffers that are already open. The result is that these open buffers
lose some crucial local variables during publishing. For instance,
an open buffer will lose its dir-local-variables-alist setting
during publishing. There is no need to call org-mode here, because
org-mode is a) either already initialized in the buffer or b)
initialized via earlier call to find-file-no-select.

This looks to me like a relic of some past time when these functions were
called in temporary buffers that contained copies of the file's contents.
2014-07-29 15:21:21 +02:00
Bastien Guerry 2dbb338ad3 Merge branch 'maint' 2014-07-28 19:23:04 +02:00
Bastien Guerry 812a889657 org-agenda.el (org-agenda-prepare): Reset preset filters
* org-agenda.el (org-agenda-prepare): Reset preset filters
when using sticky agendas.

Thanks to Thomas Morgan for reporting this.
2014-07-28 19:22:53 +02:00
Bastien Guerry f8b42e8ebe Don't use an overlay for src blocks backgrounds
* org-faces.el (org-block-background): Delete.

* org.el (org-fontify-meta-lines-and-blocks-1): Don't use an
overlay for the block background.
(org-in-src-block-p): Check against the `src-block' text
property, not against an overlay.

The overlay was introduced here:
http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=27d98d879
and fixed here
http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=69811ff44

But (1) it makes fontification slowler, (2) it makes
`org-in-src-block-p' slower and it prevents correct ps-printing
of Org buffers.

If we want to use a different background color, we need another
solution than using overlays.
2014-07-28 18:54:00 +02:00
Bastien Guerry 98295a8a25 Remove useless declaration 2014-07-28 18:29:24 +02:00
Bastien Guerry e56ea43008 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2014-07-28 18:22:29 +02:00
Bastien Guerry 6efe8eacf0 org-agenda.el (org-agenda-get-sexps): Don't add tags as text properties
* org-agenda.el (org-agenda-get-sexps): Don't add tags as text
properties.

Thanks to Raimund Berger for reporting this.
2014-07-28 18:21:58 +02:00
Bastien Guerry 7f21cfc658 Merge branch 'maint' 2014-07-28 18:08:44 +02:00
Bastien Guerry 1387694888 org-capture.el (org-capture-fill-template): Small fix
* org-capture.el (org-capture-fill-template): Take
`org-extend-today-until' into account when setting the format
time string.
2014-07-28 18:08:34 +02:00
Bastien Guerry 63160e9aab org-clock.el: Various improvements
* org-clock.el (org-clock-display-default-range): New option.
(org-clock-display): Use the new option.
(org-clock-sum-custom): New parameters `range' and `propname'.
(org-clock-special-range): Allow to enter a special range
through the calendar.
2014-07-28 17:43:15 +02:00
Bastien Guerry e8b51c0ce5 org.el (org-self-insert-command): Use `yas-expand'
* org.el (org-self-insert-command): Use `yas-expand' as
yas/expand is obsolete since Yasnippet 0.8.

Thanks to Craig Tanis for reporting this.
2014-07-28 17:28:54 +02:00
Nikolai Weibull 5512bedee6 org-agenda.el (org-agenda-insert-diary-make-new-entry): Fix ordering
* org-agenda.el (org-agenda-insert-diary-make-new-entry):
Fix ordering.

TINYCHANGE
2014-07-28 16:22:04 +02:00
Nicolas Richard 3d7a9f8517 Make org-get-limited-outline-regexp usable outside of org.
This allows org-narrow-to-subtree to function in Outline mode.

* lisp/org-macs.el (org-get-limited-outline-regexp): Use
  outline-regexp instead of org-outline-regexp when not in Org mode.
2014-07-28 16:14:39 +02:00
Bastien Guerry 2cd70ef915 org.el (org-set-font-lock-defaults): Highlight COMMENT
* org.el (org-set-font-lock-defaults): Highlight COMMENT in
headlines with `org-special-keyword'.
2014-07-28 16:03:05 +02:00
Bastien Guerry 31c7e3f065 org.el (org-comment-dwim): Fix docstring location
* org.el (org-comment-dwim): Fix docstring location.
2014-07-28 16:00:23 +02:00
Bastien Guerry c259952b9e Merge branch 'master' of orgmode.org:org-mode 2014-07-28 15:41:14 +02:00
Bastien Guerry 8b7b2f6600 org.el (org-open-at-point): Also open links in comment blocks
* org.el (org-open-at-point): Also open links in comment blocks.
2014-07-28 15:40:49 +02:00
Nicolas Goaziou b459972435 Merge branch 'maint' 2014-07-28 15:27:02 +02:00
Nicolas Goaziou d83bf0e800 ox-latex: Fix defcustoms
* lisp/ox-latex.el (org-latex-table-scientific-notation): Set
  appropriate value.
(org-latex-listings-options): Fix docstring.
2014-07-28 15:25:50 +02:00
Bastien Guerry 44aaaad8c0 ox-html.el (org-html-fontify-code): Possibly deactivate fci-mode
* ox-html.el (org-html-fontify-code): Possibly deactivate fci-mode.

Thanks to Kaushal for suggesting this.
2014-07-28 11:07:03 +02:00
Bastien Guerry 9139521186 Complete commit 9e006d11
* org.el (org-preview-latex-fragment): Remove LaTeX fragments
overlays when they are displayed.  Fix message.
2014-07-28 01:24:56 +02:00
Bastien Guerry 96323cf2aa Merge branch 'maint' 2014-07-28 01:03:03 +02:00
Bastien Guerry d8a0ee7aad org.el (org-paste-subtree): Fix match subexpression
* org.el (org-paste-subtree): Fix match subexpression.

Thanks to Anders Johansson for reporting this.
2014-07-28 01:02:50 +02:00
Bastien Guerry aef3b6c3f9 org-refile: Don't copy the refiled subtree to the clipboard
* org.el (org-paste-subtree): New parameter `remove', to
remove the pasted subtree from the `kill-ring'.
(org-refile): Use the new parameter of `org-paste-subtree'.

Thanks to Samuel Wales for suggesting this.
2014-07-28 00:49:01 +02:00
Bastien Guerry 99f999944e org-src.el (org-src-font-lock-fontify-block): Do not use `font-lock-ensure'
* org-src.el (org-src-font-lock-fontify-block): Use
`font-lock-fontify-buffer' instead of `font-lock-ensure',
otherwise fonts are not displayed for src blocks.

Thanks to Mathäus Meyer for reporting this.
2014-07-28 00:34:55 +02:00
Bastien Guerry 8f3a1f3d22 Fix trailing whitespace in previous commit 2014-07-28 00:01:23 +02:00
Rainer M. Krug 4c415f38a5 Make transfer of values from R type aware
* lisp/ob-R.el (org-babel-R-assign-elisp): Add different cases for
transfering integer, float, string and other variables to R so that
integer values are transferred as integers (L) and stored in R as
such.  This change is backward compatible as integer values are
numerical values in R.

Moved definition of R functions for transfer of tables into defconst
ob-R-transfer-variable-table-with-header and
ob-R-transfer-variable-table-without-header.
2014-07-28 00:01:00 +02:00
Rainer M. Krug fdfb59454a lisp/ob-R.el: Fix tangling with tables
* lisp/ob-R.el (org-babel-R-assign-elisp): Fix variable transfer of
tables by using text connections in R instead of files.  Variable
transfer of tables does not depend on files anymore, i.e. works also
when tangling.
2014-07-28 00:00:52 +02:00
Bastien Guerry da8b695b2b ob-core.el (org-babel-insert-header-arg): Tiny message fix
* ob-core.el (org-babel-insert-header-arg): Tiny message fix.
2014-07-27 23:25:41 +02:00
Bastien Guerry ac4b11e565 ox-html.el (org-html-protect-char-alist): Make a defvar
* ox-html.el (org-html-protect-char-alist): Make a defvar.
2014-07-27 19:55:49 +02:00
Bastien Guerry 9e006d1128 org.el (org-ctrl-c-ctrl-c): Don't remove LaTeX fragments overlays
* org.el (org-ctrl-c-ctrl-c): Don't remove LaTeX fragments overlays.
2014-07-27 19:44:40 +02:00
Rainer M. Krug 2aec9fddd4 ox-latex.el (org-latex-listings-langs): Add `(makefile "make")'
* ox-latex.el (org-latex-listings-langs): Add `(makefile "make")'.
2014-07-27 16:20:45 +02:00
Bastien Guerry 3aef08ddeb org.el (org-activate-plain-links): Don't activate :elisp: and 🐚 tags
* org.el (org-activate-plain-links): Don't activate :elisp:
and 🐚 tags as links.  Enhance the docstring.
(org-activate-angle-links, org-activate-footnote-links)
(org-activate-bracket-links, org-activate-dates)
(org-activate-target-links): Minor docstrings enhancement.

Thanks to Andrea Rossetti for reporting this.
2014-07-27 15:58:13 +02:00
Bastien Guerry d4799ebfc1 org-table.el (org-table-eval-formula): Better error throwing
* org-table.el (org-table-eval-formula): Throw an error when
trying to replace a wrong formula specifier.

Thanks to Alejandro Suarez for reporting this.
2014-07-27 15:05:48 +02:00
Nicolas Goaziou fbc7097ffa Merge export and special blocks within back-ends
* lisp/ox-ascii.el (org-ascii-export-block): Remove function.
(org-ascii-special-block): Handle raw special blocks.

* lisp/ox-beamer.el (org-beamer-export-block): Remove function.

* lisp/ox-html.el (org-html-export-block): Remove function.
(org-html-special-block): Handle raw special blocks.

* lisp/ox-latex.el (org-latex-export-block): Remove function.
(org-latex-special-block): Handle raw special blocks.

* lisp/ox-man.el (org-man-export-block): Remove function.
(org-man-special-block): Handle raw special blocks.

* lisp/ox-md.el (org-md-export-block): Remove function.

* lisp/ox-odt.el (org-odt-export-block): Remove function.
(org-odt-special-block): Handle raw special blocks.

* lisp/ox-texinfo.el (org-texinfo-export-block): Remove function.
(org-texinfo-special-block): Handle raw special blocks.

* contrib/lisp/ox-groff.el (org-groff-export-block): Remove function.
(org-groff-special-block): Handle raw special blocks.

* contrib/lisp/ox-koma-letter.el (org-koma-letter-export-block):
  Remove function.
2014-07-27 14:29:24 +02:00
Nicolas Goaziou bc43228e6d Remove `export-block' syntax type
* lisp/org-element.el (org-element-all-elements): Remove
  `export-block' type.
(org-element-block-name-alist): Make it a defconst since it is not
meant to be changed anymore.
(org-element-export-block-parser,
org-element-export-block-interpreter): Remove functions.

* lisp/ox.el (org-export-filters-alist): Remove export block filter.
(org-export-register-backend): Do not alter
`org-export-block-name-alist' anymore.
(org-export-define-backend, org-export-define-derived-backend): Update
docstring.
(org-export-filter-export-block-functions): Remove variable.

* testing/lisp/test-org-element.el (test-org-element/export-block-parser,
  test-org-element/export-block-interpreter): Remove tests.

* testing/lisp/test-ox.el (test-org-export/define-backend): Update test.
2014-07-27 14:29:21 +02:00
Nicolas Goaziou 173ade7078 org-element: Add `:raw-value' property to special blocks
* lisp/org-element.el (org-element-special-block-parser): Add
  `:raw-value' property.
2014-07-27 14:29:17 +02:00
Nicolas Goaziou b77a026a24 Merge branch 'maint' 2014-07-27 14:28:53 +02:00
Nicolas Goaziou 2160b3d242 ox: Implement predicate for export blocks
* lisp/ox.el (org-export-raw-special-block-p): New function.

* testing/lisp/test-ox.el (test-org-export/raw-special-block-p): New
  test.

This patch is a forward-compatibility measure since the function is
mandatory for export back-ends in Org 8.3. It makes it easier for
back-end maintainers to provide a back-end compatible with both Org
8.2 and 8.3.
2014-07-27 14:25:44 +02:00
Nicolas Goaziou 451e20d982 Merge branch 'maint'
Conflicts:
	testing/lisp/test-org-element.el
2014-07-26 15:10:22 +02:00
Nicolas Goaziou 38ff96ecc3 org-element: Fix parsing multi-line links
* lisp/org-element.el (org-element-link-parser): Properly handle
  multi-line links according to RFC 3986 when enclosed within square
  brackets.

* testing/lisp/test-org-element.el (test-org-element/link-parser): Add
  test.
2014-07-26 15:08:23 +02:00
Nicolas Goaziou ef3c574715 org-element: Update regexps
* lisp/org-element.el (org-element--cache-sensitive-re): Update
  regexps.
2014-07-25 20:37:37 +02:00
Nicolas Goaziou 214ef7d461 Merge branch 'maint' 2014-07-25 15:24:45 +02:00
Nicolas Goaziou 0e01e3eb13 org-element: Fix object parsing in captions
* lisp/org-element.el (org-element-parse-secondary-string): Clone all
  local variables from current buffer before parsing a secondary
  string.  Small refactoring.
(org-element-object-variables): Remove variable.

* testing/lisp/test-org-element.el (test-org-element/secondary-string-parsing):
  Add test.

Thanks to Thomas S. Dye for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88850
2014-07-25 15:11:10 +02:00
Nicolas Goaziou b15a9c0c1c ox-ascii: Fix line break preservation
* lisp/ox-ascii.el (org-ascii--justify-element): Fix line break
  preservation.

Thanks to Miguel Ruiz for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88866
2014-07-25 14:05:58 +02:00
Nicolas Goaziou dd6b4ffcef ox-ascii: Use options instead of defcustoms in code
* lisp/ox-ascii.el (org-ascii--current-text-width,
  org-ascii--build-title, org-ascii--build-toc,
  org-ascii--list-listings, org-ascii--list-tables,
  org-ascii-template--document-title, org-ascii-inner-template,
  org-ascii-template, org-ascii-code, org-ascii-drawer,
  org-ascii-headline, org-ascii-inline-src-block,
  org-ascii-format-inlinetask-default, org-ascii-inlinetask,
  org-ascii-link, org-ascii-paragraph, org-ascii-quote-block,
  org-ascii-section, org-ascii-src-block, org-ascii-table,
  org-ascii--table-cell-width, org-ascii-table-cell,
  org-ascii-verbatim, org-ascii-verse-block,
  org-ascii-filter-headline-blank-lines,
  org-ascii-filter-paragraph-spacing): Use options instead of
  hard coded variables.
2014-07-25 13:48:28 +02:00
Nicolas Goaziou f4455f4902 Merge branch 'maint' 2014-07-25 11:21:56 +02:00
Nicolas Goaziou 43a8b979f8 ox-odt: Silence byte-compiler
* lisp/ox-odt.el (org-odt--format-paragraph): Change signature to
  include info.
(org-odt-footnote-reference, org-odt-paragraph): Apply signature
change.
2014-07-25 11:20:49 +02:00
Nicolas Goaziou ced4fa3205 Merge branch 'maint' 2014-07-25 11:05:49 +02:00
Nicolas Goaziou bacfe5b4f7 org-clock: Update syntax for indentation in clock tables
* lisp/org-clock.el (org-clocktable-indent-string): Use "\emsp"
  instead of "\__", which is not supported anymore since Org 8.0.

Thanks to Buddy Butterfly for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88842
2014-07-25 11:02:55 +02:00
Nicolas Goaziou 010d105b04 Merge branch 'maint' 2014-07-24 15:01:25 +02:00
Nicolas Goaziou 776972cfe8 ox-odt: Fix handling of quoted and centered paragraphs
* lisp/ox-odt.el (org-odt--paragraph-style): New function.
(org-odt--format-paragraph): Use new function to get proper style to
apply.

Thanks to Baptiste for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88798
2014-07-24 14:59:24 +02:00
Nick Dokos db0130468b Merge branch 'maint' 2014-07-23 23:58:13 -04:00
Nick Dokos c9613c0cad When editing a table formula, point is not necessarily on its referent.
* org-table.el (org-table-show-reference): Call `set-window-start'
  with the calculated values `min' and `max', not with
  (point-min) and (point-max).

Reported by Luke Crook (http://article.gmane.org/gmane.emacs.orgmode/88610)
	    Thorsten Grothe (http://thread.gmane.org/gmane.emacs.orgmode/88698)
	    and Robert Klein in the latter thread.

Robert Klein bisected it down to 30220ffcdc.
2014-07-23 23:57:06 -04:00
Rasmus 0be96db56e org-element.el: Allow one-line LaTeX environments
* org-element.el (org-element--latex-begin-environment,
org-element--latex-end-environment): New format strings to identify
beginning and ending of LaTeX environments.
(org-element-latex-environment-parser, org-element-paragraph-parser,
org-element--current-element): Use `org-element--latex-begin-environment'
and `org-element--latex-end-environment'.

* test-org-element.el (test-org-element/latex-environment-parser):
Add tests.
2014-07-23 10:24:10 +02:00
Nicolas Goaziou 29f3662035 Merge branch 'maint' 2014-07-23 10:09:04 +02:00
Nicolas Goaziou d0959d410b org-element: Fix test failure
* lisp/org-element.el (org-element--current-element): Fix regexp.
2014-07-23 10:07:55 +02:00
Nicolas Goaziou 02f2d5b42a Merge branch 'maint' 2014-07-22 11:55:33 +02:00
Nicolas Goaziou ec0e3cf70b org-element: Fix regexp matching LaTeX environments
* lisp/org-element.el (org-element--current-element): Fix regexp
  matching latex environments.  Discrepancy with regexp used in
  `org-element-latex-environment-parser' introduced matching errors.
2014-07-22 11:52:32 +02:00
Nicolas Goaziou 8feb8b93d5 org-element: Small optimization
* lisp/org-element.el (org-element--cache-for-removal): Do not remove
a robust element whenever only its contents are modified.  Remove
inlinetasks as robust elements since modifying a node property inside
implies to parse the task again.
2014-07-20 19:35:52 +02:00
Nicolas Goaziou 3c14db8685 org-element: Fix infloop in cache
* lisp/org-element.el (org-element--cache-process-request): Take into
  consideration changes to come so as to avoid parsing elements with
  false beginning positions.
(org-element--cache-sync): Change signature.

Thanks to Thorsten Jolitz for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88673
2014-07-20 19:09:52 +02:00
Nicolas Goaziou 7bd8fafe7a org-element: Better collision handling in cache sync requests
* lisp/org-element.el (org-element--cache-process-request): Handle
  cases where procesing the first request brings us past the start of
  the next one.
2014-07-20 19:08:58 +02:00
Nick Dokos 335e97f5ab Merge branch 'maint'
Merge bug fix for org-table.el:org-table-clean-before-export.
2014-07-18 23:47:03 -04:00
Nick Dokos 79873390ed org-clean-before-export matches non-special columns spuriously
* org-table.el (org-table-clean-before-export): The regexes match
  spaces in addition to the special characters that might be used in
  the first column as special marking characters.  Remove the space
  from the character class.

  In addition, the `special' variable included a backslash which
  afaict does nothing: delete it.

  The function itself takes an optional parameter which is not used by
  any of the callers: get rid of it.  Getting rid of it allows a small
  simplification of the code.

The bug was found by Thorsten Grothe:

    http://thread.gmane.org/gmane.emacs.orgmode/88634
2014-07-18 23:44:46 -04:00
Nicolas Goaziou 05be573e92 org-element: Fix re-parenting during cache synchronization
* lisp/org-element.el (org-element--cache-process-request): Correctly
  re-parent elements in cache in some corner cases.
* testing/lisp/test-org-element.el (test-org-element/cache): Add tests.
2014-07-17 18:12:59 +02:00
Nicolas Goaziou 33a344be33 org-element: Fix corner case in cache synchronization
* lisp/org-element.el (org-element--cache-submit-request): When
  changes happen before first know element, start from phase 1 instead
  of phase 2 in order to properly re-parent subsequent elements, if
  needed.
(org-element--cache-process-request): Do not propagate beginning
position since it is already available to the request.
2014-07-17 18:12:49 +02:00
Nicolas Goaziou 476ea10a70 org-element: Fix "wrong-type-argument" error in cache
* lisp/org-element.el (org-element--cache-sync): Do not copy phase
  number into next request.  This is a special case that deserves to
  be handled locally.  See below.
(org-element--cache-process-request): Properly transfer phase in
a special case, which is now commented.  Also fix phase numbers in
comments.  Small refactoring.

Thanks to Alan Schmitt for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88406
2014-07-17 16:34:06 +02:00
Nicolas Goaziou 8d0f7340ed ox: Fix inline footnote definitions
* lisp/ox.el (org-export-collect-tree-properties): Make sure changes
  to the parse tree propagate to the value of
  `org-export-get-footnote-definition'.

Thanks to Florian Beck for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88419
2014-07-16 16:11:52 +02:00
Nicolas Goaziou baa2c5943a org-element: Avoid using a slow regexp
* lisp/org-element.el (org-element-latex-fragment-parser): Avoid using
  a slow regexp.
2014-07-06 23:55:48 +02:00
Nicolas Goaziou 4235718d79 org-element: Small optimizations
* lisp/org-element.el (org-element-latex-fragment-parser): Avoid
  matching twice regexps in some cases.
(org-element--object-lex): Avoid making a funcall if a line break
isn't possible.

This patch also removes the limit on the number of lines a latex
fragment with a single dollar can span over.
2014-07-06 23:15:44 +02:00
Nicolas Goaziou 0ce82e53a1 org-element: Fix docstring
* lisp/org-element.el (org-element-footnote-reference-interpreter):
  Fix docstring.
2014-07-06 19:06:54 +02:00
Nicolas Goaziou ca6ecf9e49 org-element: Remove :inline-definition from inline footnotes
* lisp/org-element.el (org-element-recursive-objects): Add
  `footnote-reference'.
(org-element-secondary-value-alist): Remove reference to
`footnote-reference'.
(org-element-footnote-reference-parser): Definition for inline
references is stored as the contents of the reference, not in
a secondary string.
(org-element-footnote-reference-interpreter): Apply changes from
parser.

* lisp/ox.el (org-export-get-footnote-definition,
  org-export-get-environment): Apply changes from parser.

* testing/lisp/test-org-element.el (test-org-element/footnote-reference-parser):
  Update test.
(test-org-element/context): Add test.

Storing definition in a secondary string was a poor design choice as
there is no "primary" string anyway.  This also prevents
`org-element-context' from finding objects within the inline
definition.
2014-07-06 11:24:12 +02:00
Nicolas Goaziou df9ccbd119 org-element: Reach orphaned elements during cache sync
* lisp/org-element.el (org-element--cache-sync-requests): Change
  pattern.
(org-element--cache-sync, org-element--cache-submit-request): Update
request pattern.
(org-element--cache-process-request): Remove orphaned elements during
first phase.

An orphaned element is an element not directly altered by changes to
buffer but with one of its parent removed.
2014-07-05 10:54:09 +02:00
Nicolas Goaziou f1433d82ae org-element: Fix buffer positions when merging requests
* lisp/org-element.el (org-element--cache-submit-request): Correctly
  compute buffer positions where cache is missing, taking into account
  the request not yet applied.
2014-07-05 10:54:09 +02:00
Eric Schulte fdc673dac0 remove extra escape org-emphasis-regexp-components
specifically in the second 'post' element

* lisp/org.el (org-emphasis-regexp-components): Remove extra escape
  org-emphasis-regexp-components, specifically in the second 'post'
  element.
2014-07-03 07:59:15 -04:00
Nicolas Goaziou 126e2bcebd org-element: Fix corner case
* lisp/org-element.el (org-element--cache-for-removal): Fix corner
  case when changes happen in a robust element (e.g., a center block)
  within a fragile element (e.g., a plain list).  Do not assume that
  all parents from a robust element are also robust.
2014-06-30 23:47:37 +02:00
Nicolas Goaziou ef8e9cf045 org-element: Fix bug in sync request submission
* lisp/org-element.el (org-element--cache-submit-request): Do not
  modify ending position twice.
2014-06-30 23:47:37 +02:00
Nicolas Goaziou d1f2d73b08 org-element: Improve sychronization request submission
* lisp/org-element.el (org-element--cache-submit-request): Store
  parent of first element to delete, if any.  This saves a call to
  `org-element--cache-find' in a very common use case.
(org-element--cache-sync-requests): Update docstring accordingly.
2014-06-30 23:47:36 +02:00
Nicolas Goaziou 67c1e54a5b org-element: Tiny refactoring
* lisp/org-element.el (org-element--cache-submit-request): Tiny
  refactoring.
2014-06-30 23:47:36 +02:00
Nicolas Goaziou 093d455f7f org-element: Better threshold computation during synchronization
* lisp/org-element.el (org-element--cache-process-request): Threshold
  is based off beginning of the first element to shift instead of the
  end of the changes.
2014-06-30 23:47:36 +02:00
Nicolas Goaziou 1a9b074d9f org-element: Simplify request processing
* lisp/org-element.el (org-element--cache-process-request): Do not try
  to find orphans for now.  Remove useless comments.  Refactor code.
2014-06-30 23:45:20 +02:00
Nicolas Goaziou ba9c43fc81 org-element: Do not trust a stored request after cache sync
* lisp/org-element.el (org-element--cache-submit-request): Do not
  trust a stored request after calling `org-element--cache-sync' since
  it may as well not exist anymore (i.e., the synchronization was
  complete).
2014-06-30 23:44:51 +02:00
Nicolas Goaziou 815c218f22 org-element: Small fix
* lisp/org-element.el (org-element--cache-submit-request): Fix off by
  one error when updating cache.  Changes happening at the beginning
  to the previous ones, which are always located at the beginning of
  an element, imply to delete previous element.  Also do not call
  `org-element--cache-sync' if there's nothing to synchronize.
2014-06-29 17:17:23 +02:00
Nicolas Goaziou f12f9543fc org-element: Tiny fix
* lisp/org-element.el (org-element-headline-parser): Do not assume
  property drawers are correctly formed.
2014-06-29 15:25:54 +02:00
Nicolas Goaziou 49f3c6e558 org-element: Fix inlinetask parsing
* lisp/org-element.el (org-element-inlinetask-parser): Do not infloop
  when parsing property drawer in an inlinetask.

* testing/lisp/test-org-element.el (test-org-element/headline-properties):
  Add test.

Thanks to Aaron Ecay for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88133
2014-06-29 15:23:22 +02:00
Nicolas Goaziou 2824502e2e org-element: Fix cache corruption when altering a drawer
* lisp/org-element.el (org-element--cache-submit-request): Correctly
  update cache when changes alter the contents of a greater
  element (e.g. a property drawer).

Thanks to Alan Schmitt for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/88086
2014-06-28 00:28:45 +02:00
Nicolas Goaziou 2ae77c5e50 org-element: Fix parsing path starting with ~
* lisp/org-element.el (org-element-link-parser): Do not prepend "//"
  to paths starting with "~".

Since b1dcd0fb0b, link parser doesn't
expand file names anymore. We need to prevent it from "fixing" paths
starting with "~", as it can cause trouble to some
exporters (e.g. latex).
2014-06-27 17:28:56 +02:00
Nicolas Goaziou 16c71d6b78 org-element: Small refactoring
* lisp/org-element.el (org-element--cache-generate-key): Small
  refactoring.
2014-06-26 22:00:27 +02:00
Nicolas Goaziou db995f2b9d org-element: Use full range of integers for cache keys
* lisp/org-element.el (org-element--cache-generate-key): Allow
  negative numbers in keys.  Small refactoring.
2014-06-26 21:13:43 +02:00
Nicolas Goaziou afa759f27c Merge branch 'maint' 2014-06-26 12:18:35 +02:00
Nicolas Goaziou a5beff869f ox-ascii: Fix tables with a width cookie
* lisp/ox-ascii.el (org-ascii--table-cell-width): Correctly export
  tables with width cookies.
2014-06-26 12:17:28 +02:00
Nicolas Goaziou d5bc5859af org-element: Fix typo
* lisp/org-element.el (org-element--cache-generate-key): Fix typo in
  docstring.
2014-06-26 01:11:26 +02:00
Nicolas Goaziou d40dbc6ca2 org-element: More refactoring
* lisp/org-element.el (org-element--cache-generate-key): Refactor key
  computation.
(org-element--cache-default-key): Remove variable.
2014-06-26 01:08:15 +02:00
Nicolas Goaziou 03040f109f org-element: Refactoring
* lisp/org-element.el (org-element--cache-sensitive-re): New variable
(org-element--cache-opening-line, org-element--cache-closing-line):
Removed variables.
(org-element--cache-before-change, org-element--cache-after-change):
Refactoring.  Also simplify process.
2014-06-25 23:53:23 +02:00
Nicolas Goaziou e46c62d96f org-element: Small cache fix
* lisp/org-element.el (org-element--cache-before-change): Ignore case
  sensitivity when looking for a modified sensitive line.
2014-06-25 23:51:04 +02:00
Nicolas Goaziou c9eaea360a Fix `org-drag-element-backward'
* lisp/org.el (org-drag-element-backward): Correcly drag elements in
  a drawer or a block.
* testing/lisp/test-org.el (test-org/drag-element-backward): Add test.
2014-06-25 10:49:52 +02:00
Eric Schulte 1c3bdbb80a inhibit <p> wraps on a whole-list basis
* lisp/ox-html.el (org-html-paragraph): Extend the special case of
  inhibiting <p> wrappers to only perform such inhibition when *every*
  element of the list is a single paragraph long.  Otherwise unsightly
  spacing results.
2014-06-23 20:08:09 -04:00
Eric Schulte 518b60aa42 allow square brackets in emphasis post-match
* lisp/org.el (org-emphasis-regexp-components): Allow square brackets
  in the emphasis post match.
2014-06-23 17:47:03 -04:00
Nicolas Goaziou 77e234e578 org-element: Fix thinko
* lisp/org-element.el (org-element--cache-key-less-p): Fix thinko.
2014-06-23 23:45:00 +02:00
Achim Gratz 6d15cd3b89 ob-shell: honor the specified shell for :session
* lisp/ob-shell.el: Remove defcustom `org-babel-sh-command' and
  replace with `shell-file-name' throughout.
  (org-babel-variable-assignments:sh): Make check for bash work in more
  cases.

The original code and the patched version rely on the shell being
available via PATH.  Instead the shell name should be mapped to the
appropriate executable via an alist and invoked via an absolute
filename.  For security reasons the permissible shells should probably
be taken from /etc/shells or equivalent by default.  Instead of
checking for bash, the same or another alist could provide the
information of whether or not the shell supports arrays (which indeed
were introduced by ksh originally).
2014-06-23 20:53:22 +02:00
Achim Gratz 2685f31a50 ob-shell: stratify shell variable quoting
* lisp/ob-shell.el: Remove unused defcustom
  `org-babel-sh-var-quote-fmt'.
  (org-babel-variable-assignments:bash_array):
  (org-babel-variable-assignments:bash_assoc): Remove superfluous
  `mapcar' and double quotes around parameters.
  (org-babel-sh-var-to-sh): Single-quote the whole string and escape
  all single quotes in the original string.
2014-06-23 20:53:16 +02:00
Matt Lundin 4a4dbe16d8 Fix speedkeys to move subtrees up and down
* lisp/org.el (org-speed-commands-default): Bind "U" and "D" to
`org-metaup' and `org-metadown'.

Org speed keys were not updated to reflect the recent changes to
org-shiftmetaup and org-shiftmetadown.  As a result the default
bindings for speedkeys "U" and "D" were destructive, since they moved
only single lines.  Binding them to org-metaup and org-metadown fixes
the problem.

Thanks to Marco Wahl for reporting the problem:
http://permalink.gmane.org/gmane.emacs.orgmode/87873
2014-06-23 16:55:21 +02:00
Nicolas Goaziou 69773248c5 org-element: Fix cache
* lisp/org-element.el (org-element--cache-after-change): Preserve
  match data.

Thanks to Matt Lundin for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87871
2014-06-23 12:28:11 +02:00
Rasmus def0361b7b ox-latex.el: Extends `org-latex-logfiles-extensions'
ox-latex.el (org-latex-logfiles-extensions): Add more extensions.
2014-06-23 11:26:17 +02:00
Bastien Guerry ddb536e833 Merge branch 'maint' 2014-06-23 09:45:48 +02:00
Bastien Guerry be9a1638af Fix typos: backport revision r117377 from emacs trunk 2014-06-23 09:40:19 +02:00
Eric Schulte 8ad20618d1 map alternate code blocks shell names to sh-mode
* lisp/org-src.el (org-src-lang-modes): Map alternate shell names to
  sh-mode.
2014-06-22 19:50:31 -04:00
Achim Gratz 22410544c7 org: correct package-version for org-structure-template-alist
* lisp/org.el (org-structure-template-alist): Package version should
  be a symbol name, not a string.

Fixes ce41c076c0.
2014-06-22 10:26:43 +02:00
Aaron Ecay 551945e396 lisp/ox-latex.el (org-latex-logfiles-extensions): add more extensions
* lisp/ox-latex.el (org-latex-logfiles-extensions): Add several more
file extensions.

- biber: bcf, blg, run.xml
- tikz externalize: figlist
- xelatex -no-pdf: xdv
2014-06-22 00:14:47 -04:00
Aaron Ecay ce41c076c0 org.el: insert missing quote 2014-06-21 23:32:18 -04:00
Aaron Ecay 5ee0d29f57 Remove another vestige of org-mtags
* lisp/org-src.el (org-edit-src-find-region-and-lang): Remove old
<foo>-style tags.

This completes commit 94939bd
2014-06-21 21:38:32 -04:00
Aaron Ecay 94939bd473 org-mtags: remove
* contrib/lisp/org-mtags.el: Delete file.
* lisp/org.el (org-structure-template-alist): Remove <foo>-style tags.
(org-complete-expand-structure-template): Don't handle <foo>-style tags.
2014-06-21 20:48:46 -04:00
Bastien Guerry ce2359eb80 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-20 08:44:06 +02:00
Bastien Guerry 4b0557bdd8 org.el: Delete `org-fix-ellipsis-at-bol'
* org.el (org-fix-ellipsis-at-bol): Delete.
(org-mode, org-show-context, org-isearch-end): Don't use
`org-fix-ellipsis-at-bol'.
2014-06-20 08:41:34 +02:00
Nicolas Goaziou f336de2f82 org-element: Tweak cache parameters
* lisp/org-element.el (org-element-cache-sync-idle-time,
  org-element-cache-sync-break): Increase values as synchronizing
  cache too makes editing somewhat sluggish without any benefit.
2014-06-19 22:32:23 +02:00
Nicolas Goaziou 8e49c823fd org-element: Optimize cache
* lisp/org-element.el (org-element--cache-for-removal): New function.
(org-element--cache-submit-request): Do not synchronize cache when
changes can be merged with next request.

This shortcut is particularly useful when many changes happen in the
same area, which is expensive to parse (e.g., a large list).
2014-06-19 22:32:23 +02:00
Nicolas Goaziou b2f200f0a1 org-element: Sync cache after changes instead of before them
* lisp/org-element.el (org-element--cache-sync,
  org-element--cache-process-request): Change signature.
(org-element--cache-before-change): Do not synchronize cache
preemptively.
(org-element--cache-submit-request): Synchronize cache preemptively.

This change makes possible to skip cache preemptive synchronization
under some circumstances.
2014-06-19 22:32:22 +02:00
Nicolas Goaziou 87dbce239d org-element: Extend format for cache sync requests
* lisp/org-element.el (org-element--cache-sync-requests): Also store
  beginning position for buffer modifications.
(org-element--cache-sync, org-element--cache-process-request)
(org-element--cache-submit-request): Adapt to new request template.

This change is required for a future cache optimization.
2014-06-19 22:32:22 +02:00
Nicolas Goaziou 2084ff06d8 org-element: Tiny refactoring
* lisp/org-element.el (org-element--cache-sync): Do not check return
  value from `org-element--cache-process-request'.
(org-element--cache-process-request): Throw `interrupt' when the
request cannot be processed.
(org-element--cache-process-request): Do not catch interruption from
  `org-element--parse-to'.
(org-element--parse-to): Throw `interrupt' when the process stops
before finding the result.
2014-06-19 22:32:22 +02:00
Nicolas Goaziou 8b959237fc ox: Small refactoring
* lisp/ox.el (org-export-get-category): Refactor code.
2014-06-18 23:30:54 +02:00
Nicolas Goaziou ab145f0df5 org-element: Properly parse headline properties
* lisp/org-element.el (org-element-headline-parser,
  org-element-inlinetask-parser): First find appropriate property
  drawer in order to read properties.

* testing/lisp/test-org-element.el (test-org-element/headline-properties):
  Add tests.

Thanks to Sébastien Vauban for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87701
2014-06-18 23:28:19 +02:00
Nicolas Goaziou b1dcd0fb0b org-element: Do not expand file name when parsing links
* lisp/org-element.el (org-element-link-parser): Do not expand file
  name when parsing links so that Tramp doesn't kick in.

Thanks to Sébastien Vauban for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87696
2014-06-18 19:22:21 +02:00
Thierry Banel 25fc4d8344 Make C, C++, D, Java, Groovy compilers customizable
* ob-C.el (org-babel-C-compiler):
	(org-babel-C++-compiler):
	(org-babel-D-compiler): changed defvar to defcustom
	* ob-java.el (org-babel-java-command):
	(org-babel-java-compiler): changed defvar to defcustom
	* ob-groovy.el (org-babel-groovy-command):
	changed defvar to defcustom
2014-06-16 11:05:01 -04:00
Bastien Guerry d100d590e1 org-agenda.el (org-agenda-filter-by-tag): Don't refresh the agenda
* org-agenda.el (org-agenda-filter-by-tag): Don't refresh the
agenda.
2014-06-16 11:44:25 +02:00
Bastien Guerry 1c9aa1e78e Merge branch 'maint' 2014-06-16 11:41:36 +02:00
Bastien Guerry 5556865893 org-agenda.el (org-agenda-filter-apply): Fix setting of `org-agenda-filtered-by-category'
* org-agenda.el (org-agenda-filter-apply): Fix setting of
`org-agenda-filtered-by-category'.
2014-06-16 11:41:14 +02:00
Bastien Guerry b414844daa Merge branch 'maint' 2014-06-15 10:49:36 +02:00
Bastien Guerry 88036251eb org.el (org-fontify-meta-lines-and-blocks-1): Fix handling of `org-hidden-keywords'
* org.el (org-fontify-meta-lines-and-blocks-1): Fix handling
of `org-hidden-keywords'.

Thanks to Leu Zhe for reporting this.
2014-06-15 10:49:01 +02:00
Bastien Guerry e30c6cc44b Merge branch 'maint' 2014-06-15 10:43:47 +02:00
Bastien Guerry af8ee5fcf2 org-agenda.el (org-cmp-ts): Fix agenda entry type checking
* org-agenda.el (org-cmp-ts): Fix agenda entry type checking.

Thanks to Trevor Murphy for reporting this.
2014-06-15 10:43:17 +02:00
Bastien Guerry 49d59859f0 Merge branch 'master' of orgmode.org:org-mode 2014-06-15 10:38:18 +02:00
Bastien Guerry e966070396 Merge branch 'maint' 2014-06-15 10:37:09 +02:00
Bastien Guerry e26e47c8a1 org-agenda.el (org-entries-lessp): Fix inactive timestamp comparison
* org-agenda.el (org-entries-lessp): Fix inactive timestamp
comparison.
2014-06-15 10:36:59 +02:00
Nicolas Goaziou 7a8de7d1e3 ox-beamer: Remove `org-beamer-insert-options-template'
* lisp/ox-beamer.el (beamer): Re-order keywords.
(org-beamer-insert-options-template): Remove function.

* doc/org.texi (Beamer export): Remove reference to the previous
  function.

Use the generic insertion mechanism provided in "ox.el"
instead (`org-export-insert-default-template') in order to avoid code
duplication.
2014-06-15 10:26:40 +02:00
Nicolas Goaziou 03dfc23505 Merge branch 'maint' 2014-06-15 09:30:54 +02:00
Bernt Hansen 61e06a038a org-macs: Remove restriction when locating markers
* org-macs.el: Remove restriction when locating markers

Allows org-with-point-at to locate point outside the current
restriction.
2014-06-15 09:27:16 +02:00
Bastien Guerry 8d613e9c4f ob-C.el: Tiny formatting fix 2014-06-14 14:36:10 +02:00
Eric Schulte f652196723 fix bug in ob-C
* lisp/ob-C.el (org-babel-C-val-to-C-type): Fix miss-named variable
  bug.
2014-06-13 07:46:29 -04:00
Bastien Guerry 74c252c905 org-gnus.el: silent compiler 2014-06-13 12:26:10 +02:00
Bastien Guerry 4104ec2591 Minor code clean-up
Thanks to Thorsten for this.
2014-06-13 12:24:50 +02:00
Eric Abrahamsen 7eba1c2f54 Create org-gnus links from original group, not virtual
* lisp/org-gnus.el (org-gnus-store-link): When in a virtual group,
use the real group instead.
2014-06-13 11:54:33 +02:00
Eric Schulte 6900ec41e3 customizable parameter to raise more noweb errors
* lisp/ob-core.el (org-babel-noweb-error-all-langs): Raise noweb
  errors regardless of language.
  (org-babel-expand-noweb-references): Make use of the new
  `org-babel-noweb-error-all-langs' variable.
2014-06-12 19:39:32 -04:00
Bastien Guerry 560c3adedb Merge branch 'maint' 2014-06-12 15:25:56 +02:00
Bastien Guerry feca87b9ac Fix 30220ff 2014-06-12 15:25:42 +02:00
Bastien Guerry bb61df9d91 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2014-06-12 15:08:53 +02:00
Bastien Guerry 2e9c2d7128 org-agenda.el: Fix bug when redoing sticky agendas with log mode and/or clockreport mode on
* org-agenda.el (org-agenda-mode): Let `org-agenda-redo' DTRT
when agenda are sticky.
(org-agenda-tag-filter-while-redo): Delete.
(org-agenda-list, org-agenda-redo, org-agenda-filter-by-tag):
Remove unused code.
(org-agenda-clockreport-mode, org-agenda-set-mode-name): Don't
consider tag filters.

Thanks to Bernt Hansen for reporting this.
2014-06-12 15:07:35 +02:00
Bastien Guerry 4014947f31 Merge branch 'maint' 2014-06-12 12:05:00 +02:00
Bastien Guerry 30220ffcdc Prefer `set-window-start' over `recenter' in some places.
* org-agenda.el (org-agenda-show-1):
* org-table.el (org-table-show-reference):
* org.el (org-fix-ellipsis-at-bol)
(org-first-headline-recenter): Use `set-window-start' instead
of `recenter'.

* org-agenda.el (org-recenter-heading): Delete.
2014-06-12 12:04:24 +02:00
Nicolas Goaziou 39d0433637 Small optimization
* lisp/org.el (org-adaptive-fill-function): Do not compute fill prefix
  if point is at a heading or an inlinetask.  Also change "? " into
  "?\s" for better code readability.
2014-06-11 22:42:31 +02:00
Nicolas Goaziou c9a5ba09f1 ob-exp: Fix export error
* lisp/ob-exp.el (org-babel-exp-process-buffer): Fix error when
  `org-confirm-babel-evaluate' is set to a function.

Thanks to Charles C. Berry for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87403
2014-06-11 22:12:15 +02:00
Bastien Guerry a3f58c8891 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-11 17:46:40 +02:00
Bastien Guerry 6c9b3ad91f org.el (org-insert-heading): Be more consistent in respecting content
* org.el (org-insert-heading): With one universal prefix
argument or `org-insert-heading-respect-content' set to `t',
always respect the content, i.e. don't insert a list item and
don't convert normal lines into headings.  Update docstring.
(org-insert-heading-respect-content): Remove unused arg.
(org-insert-todo-heading-respect-content): Don't use
`org-insert-todo-heading-respect-content', use the second
argument of `org-insert-todo-heading' instead.

* org-mobile.el (org-mobile-edit): Use only one arg.

Thanks to Bernt Hansen for reporting this.
2014-06-11 17:45:13 +02:00
Bastien Guerry b88c5464db org.el (org-overview): Don't call `recenter'
* org.el (org-overview): Don't call `recenter'.

Thanks to Nicolas Richard for suggesting this.
2014-06-10 16:20:47 +02:00
Nicolas Goaziou 5cca90edf8 Merge branch 'maint'
Conflicts:
	lisp/org.el
	testing/lisp/test-org.el
2014-06-09 18:11:19 +02:00
Nicolas Goaziou 8cc4e09950 Fix `org-insert-heading' before first headline
* lisp/org.el (org-insert-heading): Fix error when inserting
  a headline before first headline, with point not at bol.  Remove
  source block check for consistency with behavior after first
  headline.  Tiny fix to docstring.

* testing/lisp/test-org.el (test-org/meta-return): Remove unnecessary
  test (not testing specifications).
(test-org/insert-heading): New test.
2014-06-09 18:07:07 +02:00
Thierry Banel 54ab0e1c60 Babel C, C++, D support for non-homogeneous input tables
* ob-C.el: handling of non-homogeneous tables,
        support for table header,
        support for iterating over table cells.
        (org-babel-expand-body:C++): uncomment
        (org-babel-C-execute): cosmetic changes
        (org-babel-C-expand-C): add support for table columns names,
        add support for table dimensions,
        add standard includes
        (org-babel-C-val-to-C-type): rewrite to support non-homogeneous
        tables cells
        (org-babel-C-table-sizes-to-C): new function to gain access
        to the table dimensions
        (org-babel-C-utility-header-to-C):
        (org-babel-C-header-to-C): new functions to generate
        support for table header.

        * ob-C-test.org: added D sibling tests similar to C++,
        added non-homogeneous table example for C++ and D

        * test-ob-C.el: new tests for D and non-homogeneous tables
        (ob-C/simple-program):
        (ob-C/simple-program):
        (ob-D/simple-program):
        (ob-C/integer-var):
        (ob-D/integer-var):
        (ob-C/two-integer-var):
        (ob-D/two-integer-var):
        (ob-C/string-var):
        (ob-D/string-var):
        (ob-C/preprocessor):
        (ob-C/table):
        (ob-D/table):
        (ob-C/list-var):
        (ob-D/list-var):
        (ob-C/vector-var):
        (ob-D/vector-var):
        (ob-C/list-list-var):
        (ob-D/list-list-var):
        (ob-C/inhomogeneous_table):
        (ob-D/inhomogeneous_table): add compiler availability check
        (ob-D/simple-program):
        (ob-D/integer-var):
        (ob-D/two-integer-var):
        (ob-D/string-var):
        (ob-D/table):
        (ob-D/list-var):
        (ob-D/vector-var):
        (ob-D/list-list-var):
        (ob-D/inhomogeneous_table): add D unit tests
        (ob-C/inhomogeneous_table):
        (ob-D/inhomogeneous_table): add non-homogeneous table
        unit tests
2014-06-08 19:20:16 -04:00
Achim Gratz 47c5701172 ob-exp: forward declare function
* lisp/ob-exp.el (org-id-get): Forward declare `org-id-get'.
2014-06-07 18:11:34 +02:00
Achim Gratz 4ed554196b ox: implement additional #+INCLUDE markup
* lisp/ox.el (org-export-expand-include-keyword): Change parsing so
  that arbitrary blocks around the included content can be used.
  Content is not code-escaped unless it is a literal block, this
  applies to "src" and "example".
* doc/org.texi (Include files): Document the additional markup.
* testing/lisp/test-ox.el (test-org-export/expand-include): Add test
  for an #+INCLUDE with "html" and "center" markup.
* testing/examples/include.html: New file, used for testing
  "#+INCLUDE html".
2014-06-07 18:02:52 +02:00
Eric Schulte a3745c375b tangle option to not post-process tangle comments
* lisp/ob-tangle.el (org-babel-tangle-comment-format-beg): Mention the
  new `org-babel-tangle-uncomment-comments' variable in the
  documentation.
  (org-babel-tangle-comment-format-end): Mention the new
  `org-babel-tangle-uncomment-comments' variable in the documentation.
  (org-babel-tangle-uncomment-comments): New customization variable to
  inhibit the post-processing of tangle comments.
  (org-babel-spec-to-string): Post-processing of tangle comments is
  now dependent upon a customization variable.
2014-06-07 11:29:03 -04:00
Eric Schulte c3e497f394 awk code blocks handle tabular input
Protected by a new unit test.

* lisp/ob-awk.el (org-babel-execute:awk): Use the
  `org-babel-awk-var-to-awk' function instead of a simple format
  string.
2014-06-07 11:16:55 -04:00
Nicolas Goaziou 4357dde362 org-element: Small fix
* lisp/org-element.el (org-element--cache-generate-key): Small fix.
  Check if UPPER is non nil before comparing its car with 1.  This is
  a safety feature, though, as a key shouldn't end on 0 anyway.
2014-06-07 15:32:47 +02:00
Eric Schulte 6fb033c791 fix a bug in new ob-awk code
thank you test suite

* lisp/ob-awk.el (org-babel-execute:awk): Don't need to apply the
  append, just need to append.

* testing/lisp/test-ob-awk.el (ob-awk/input-src-block-1): Renamed to
  avoid name duplication and over-definition.
  (ob-awk/input-src-block-2): Renamed to avoid name duplication and
  over-definition.
2014-06-06 13:11:46 -04:00
Eric Schulte 7469454f54 improved variable handling for awk code blocks
Thanks to Greg Minshall for suggesting these changes.

* lisp/ob-awk.el (org-babel-expand-body:awk): Simply return the body
  unmodified.
  (org-babel-execute:awk): Assign variables on the command line using
  the `-v' command line option to awk.
2014-06-06 12:50:14 -04:00
Eric Schulte 0ba8b4f2ea un-duplicate ditaa eps file name generation
* lisp/ob-ditaa.el (org-babel-execute:ditaa): Un-duplicate ditaa eps
  file name generation.
2014-06-06 12:21:56 -04:00
Anders Johansson 11ffc4f80e generate intermediate EPS on ditaa pdf generation
TINYCHANGE

* lisp/ob-ditaa.el (org-babel-execute:ditaa): When generating a pdf,
  ensure that an intermediate EPS file is generated first.
2014-06-06 12:21:01 -04:00
Eric Schulte 266233164f when present resolve orig-buffer headlines w/IDs
* lisp/ob-exp.el (org-babel-exp-in-export-file): Instead of using the
  headline text use the headline ID when one is present.  This fixes a
  bug in the resolution of code block headers in properties during
  export when multiple headlines with the same name are present.
2014-06-06 12:04:04 -04:00
Eric Schulte ac7c465766 TODO in ob-exp.el 2014-06-06 08:35:52 -04:00
Bastien Guerry a5991acd69 Remove useless code 2014-06-05 12:16:23 +02:00
Nicolas Goaziou 9263654e5b Merge branch 'maint' 2014-06-03 23:28:56 +02:00
Nicolas Goaziou 88f2625f28 Fix typo
* lisp/org.el (org-scan-tags): Fix typo in docstring.
2014-06-03 23:28:08 +02:00
Nicolas Goaziou 38ac0d8b56 Merge branch 'maint'
Conflicts:
	lisp/ox.el
2014-06-03 22:13:31 +02:00
Nicolas Goaziou 0fbc4893ed ox: Fix priority bug in :title property
* lisp/ox.el (org-export--get-inbuffer-options): Return the empty
  string instead of nil when TITLE keywords has no value.
(org-export--get-buffer-attributes): Do not set :title property
early.
(org-export--get-global-options): Do not ignore anymore nil values.
Small refactoring.
(org-export-as): Correctly set :title here.

Thanks to Nicolas Richard for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/87149
2014-06-03 22:07:35 +02:00
Bastien Guerry 3969268e2a Merge branch 'maint' 2014-06-02 20:00:20 +02:00
Bastien Guerry 6f64027fee org-agenda.el (org-agenda-custom-commands-local-options): Fix misquoted values
* org-agenda.el (org-agenda-custom-commands-local-options):
Fix misquoted values.

Thanks to Thomas Morgan for reporting this.
2014-06-02 19:59:36 +02:00
Bastien Guerry 3518403790 Merge branch 'maint'
Conflicts:
	lisp/org.el
2014-06-02 15:57:41 +02:00
Bastien Guerry 89cb26ed17 org.el: Fix setting and deleting properties with a null value
* org.el (org-property-re): Also match null properties by
default.
(org-entry-delete): Also delete null properties.
(org-read-property-value): Allow the empty string as a new
value.
(org-delete-property): Throw a message when there is not
property to delete.

Thanks to Andrea Rossetti for reporting this.
2014-06-02 15:40:04 +02:00
Achim Gratz 8978ca05b2 Reverting "org-footnote: forward declare functions"
Revert "org-footnote: forward declare functions"

This reverts commit 814188ac7e.

Accidentally applied to the wrong branch.
2014-06-01 14:28:13 +02:00
Achim Gratz 2b980a4257 Merge branch 'maint' 2014-06-01 14:23:18 +02:00
Achim Gratz 8e4b52235c ob-J: Do not use cl or cl-lib functions at runtime
* lisp/ob-J.el: Do not use `second', `third', `fourth', `minusp' and
  `plusp'.
2014-06-01 14:22:42 +02:00