Commit Graph

10747 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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