Commit Graph

327 Commits

Author SHA1 Message Date
Eric Schulte 742c4e976b Merge branch 'origin-maint' 2012-01-27 16:31:11 -07:00
Eric Schulte 3451d35fcd allow *any* punctuation to proceed an inline src block
Thanks to Martyn Jago for this change.

* lisp/ob.el (org-babel-get-inline-src-block-matches): Allow *any*
  punctuation to proceed an inline src block.
2012-01-27 16:21:49 -07:00
Eric Schulte 25019d8147 Merge branch 'origin-maint' 2012-01-27 16:17:37 -07:00
Eric Schulte 8c69417861 add ( to the list of characters allowed to proceed an inline src block
* lisp/ob.el (org-babel-get-inline-src-block-matches): Add ( to the
  list of characters allowed to proceed an inline src block.
2012-01-27 16:17:21 -07:00
Eric Schulte 3d25553588 allow customization of the noweb reference syntax
Thanks to Sean O'Halpin for suggesting this change.

* lisp/ob-tangle.el (org-babel-tangle-clean): Use the customizable
  noweb wrappers.
* lisp/ob.el (org-babel-noweb-wrap-start): Begin a noweb reference.
  (org-babel-noweb-wrap-end): End a noweb reference.
  (org-babel-noweb-wrap): Apply the customizable noweb wrappers.
  (org-babel-expand-noweb-references): Use the customizable noweb
  wrappers.
2012-01-27 16:04:09 -07:00
Martyn Jago c82ca2f19a Fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'.
* lisp/ob.el:

Fix `org-babel-result-end' command to provide consistent result
removal where result is type `wrap'. Prior to this fix
multiple (org-ctrl-c-ctrl-c) commands will add multiple newlines to
the end of results (one newline per block execution).

This fixes the test `test-ob/org-babel-remove-result--results-wrap'

* testing/lisp/test-ob.el:

Uncomment test since it now passes.
2012-01-24 09:36:40 -07:00
Eric Schulte afb9860487 Merge branch 'origin-maint' 2012-01-24 09:17:08 -07:00
Eric Schulte 1bb2a3c23a fixed two issues with noweb reference expansion
* lisp/ob.el (org-babel-expand-noweb-references): Only allow
  reference names which start and end with non-whitespace characters.
  Also, raise errors as appropriate given org-babel-noweb-error-langs.
2012-01-24 07:23:43 -07:00
Eric Schulte 2395c3eff1 Merge branch 'origin-maint' 2012-01-24 00:02:52 -07:00
Eric Schulte 11d31e89c4 replace org-babel-noweb-separator variable with :noweb-sep header argument
* doc/org.texi (noweb-sep): Document new header argument.
* lisp/ob.el (org-babel-common-header-args-w-values): Add new header
  argument.
  (org-babel-expand-noweb-references): Use header argument rather than
  customization variable.
2012-01-23 23:57:51 -07:00
Eric Schulte fce92180d1 Merge branch 'origin-maint' 2012-01-23 19:43:28 -07:00
Eric Schulte 269a509615 customizable noweb reference separator
* lisp/ob.el (org-babel-noweb-separator): Custom variable for
  accumulated noweb references.
  (org-babel-expand-noweb-references): Allow separator for noweb
  references.
* doc/org.texi (noweb-ref): Documentation of this new custom variable.
2012-01-23 19:42:06 -07:00
Eric Schulte a9510349ea Merge branch 'origin-maint' 2012-01-23 11:07:36 -07:00
Eric Schulte 978fd46069 don't report valid header arguments as suspicious
* lisp/ob.el (org-babel-check-src-block): Don't report valid header
  arguments as suspicious.
2012-01-23 11:07:27 -07:00
Eric Schulte 10f26fb805 Merge branch 'origin-maint' 2012-01-20 12:00:31 -07:00
Eric Schulte 4f5b6317b5 correctly position point when mapping hits an inline code block
* lisp/ob.el (org-babel-map-executables): Correctly position point when
  mapping hits an inline code block.
2012-01-20 11:59:53 -07:00
Eric Schulte 97e8e03eea Ensure params are incorporated *before* checking if evaluation is legal
* lisp/ob.el (org-babel-execute-src-block): Ensure params are
  incorporated *before* checking if evaluation is legal.
2012-01-20 11:44:12 -07:00
Eric Schulte bded90ba48 Disambiguate intersection name.
* lisp/ob.el (org-babel-noweb-p): Disambiguate intersection name.
2012-01-19 15:04:36 -07:00
Eric Schulte 3be1f755b0 Merge branch 'origin-maint' 2012-01-19 11:07:41 -07:00
Eric Schulte 70c58b93f1 Revert "remove #+name and #+result hiding"
This reverts commit 8a8a56c277.
2012-01-19 11:07:12 -07:00
Eric Schulte b44c08dd45 remove all calls to `gensym'
* lisp/ob.el (org-babel-map-src-blocks): Replace gensym with make-symbol.
  (org-babel-map-inline-src-blocks): Replace gensym with make-symbol.
  (org-babel-map-call-lines): Replace gensym with make-symbol.
  (org-babel-map-executables): Replace gensym with make-symbol.
2012-01-19 11:07:11 -07:00
Eric Schulte 102adf13d4 Merge branch 'origin-maint' 2012-01-12 18:12:19 -07:00
Eric Schulte fc92b2e2fe fix whole-buffer evaluation order and symbol intrusion in related macros
* lisp/ob.el (org-babel-map-src-blocks): Don't pollute symbol space.
  (org-babel-map-inline-src-blocks): Don't pollute symbol space.
  (org-babel-map-call-lines): Don't pollute symbol space.
  (org-babel-map-executables): Map over *all* executable Org-mode
  elements.
  (org-babel-execute-buffer): Execute elements in buffer order instead
  of arbitrarily.
2012-01-12 18:11:52 -07:00
Eric Schulte d8aa48f77b capitalize RESULTS in :wrap'd code block results
* lisp/ob.el (org-babel-insert-result): Capitalize RESULTS in :wrap'd
  code block results.
2012-01-11 19:43:00 -07:00
Eric Schulte 43fb184634 Merge branch 'origin-maint' 2012-01-11 13:54:54 -07:00
Eric Schulte 9ac673c5e2 default to all-caps #+RESULTS: for code-block generated content
* lisp/ob.el (org-babel-results-keyword): New user-configurable
  results keyword.
  (org-babel-where-is-src-block-result): Use new user-configurable
  results keyword.
2012-01-11 13:54:20 -07:00
Eric Schulte abf3060e47 new "no-export" option to :noweb header argument, and consolidated noweb logic
* lisp/ob-exp.el (org-babel-exp-src-block): Use `org-babel-noweb-p'.
  (org-babel-exp-inline-src-blocks): Use `org-babel-noweb-p'.
* lisp/ob-tangle.el (org-babel-tangle-collect-blocks): Use
  `org-babel-noweb-p'.
* lisp/ob.el (org-babel-execute-src-block): Use `org-babel-noweb-p'.
  (org-babel-expand-src-block): Use `org-babel-noweb-p'.
  (org-babel-load-in-session): Use `org-babel-noweb-p'.
  (org-babel-merge-params): Use `org-babel-noweb-p'.
  (org-babel-noweb-p): New function used to determine if noweb
  expansion should be carried out in a given context.
2012-01-11 10:15:20 -07:00
Eric Schulte 73b67cd8a5 introduce new ":wrap" header argument for wrapping results in named blocks
* lisp/ob.el (org-babel-common-header-args-w-values): Add the new
  header argument name.
  (org-babel-insert-result): Respect the value of the :wrap header
  argument when inserting results.
  (org-babel-result-end): Find the end of arbitrarily named result
  blocks.
2012-01-10 09:45:43 -07:00
Eric Schulte 37da88caa3 resurrect dropped pieces of a previous patch
* lisp/ob.el (org-babel-expand-noweb-references): Resurrect dropped
  pieces of a previous patch.
2012-01-05 10:44:11 -07:00
Eric Schulte d35c79aca9 resurrect dropped pieces of a previous patch
* lisp/ob.el (org-babel-expand-noweb-references): Resurrect dropped
  pieces of a previous patch.
2012-01-05 10:42:17 -07:00
Eric Schulte 2c2e1a5448 fixed bug in org-babel-balanced-split when run on Emacs22
Thanks to Martyn Jago for the test case

* lisp/ob.el (org-babel-balanced-split): Explicit checking if list
  before calling member.
* testing/lisp/test-ob.el (test-ob/org-babel-balanced-split): Testing
  the new Emacs22-proof behavior.
2012-01-03 11:45:27 -07:00
Eric Schulte 8cffe3aabf fixed bug in org-babel-balanced-split when run on Emacs22
Thanks to Martyn Jago for the test case

* lisp/ob.el (org-babel-balanced-split): Explicit checking if list
  before calling member.
* testing/lisp/test-ob.el (test-ob/org-babel-balanced-split): Testing
  the new Emacs22-proof behavior.
2012-01-03 11:44:46 -07:00
Bastien Guerry e44d2975ff Fix copyright (to 2012) year and Org version (to 7.8.03). 2012-01-03 18:47:01 +01:00
Bastien Guerry 9167cba326 Merge branch 'master' into maint 2012-01-03 08:31:58 +00:00
Eric Schulte 1471af0b44 Resolve :noweb-ref when set at the property level during noweb expansion
* lisp/ob.el (org-babel-expand-noweb-references): Rather than using a
  pure regexp solution to resolve noweb references, actually check the
  information of every code block in the buffer.  This will cause a
  slowdown in noweb reference expansion, but is necessary for correct
  behavior.
2012-01-03 09:17:03 +01:00
Eric Schulte a2cdccf5cb move `org-babel-lob-one-liner-regexp' into ob.el to fix autoloading error
* lisp/ob.el (org-babel-map-call-lines): Moved this file from
  ob-lob.el into ob.el to ease dependency pains.
2012-01-03 09:12:36 +01:00
Eric Schulte 9e4a6f3781 optional "quick and dirty" :noweb reference expansion
* lisp/ob.el (*org-babel-use-quick-and-dirty-noweb-expansion*):
  Controls the method in which noweb references are expanded.
  (org-babel-expand-noweb-references): Bring back the option for
  regexp-based noweb expansion.
2012-01-02 10:59:53 -07:00
Eric Schulte 18708a2b5a Resolve :noweb-ref when set at the property level during noweb expansion
* lisp/ob.el (org-babel-expand-noweb-references): Rather than using a
  pure regexp solution to resolve noweb references, actually check the
  information of every code block in the buffer.  This will cause a
  slowdown in noweb reference expansion, but is necessary for correct
  behavior.
2011-12-29 12:51:03 -07:00
Eric Schulte 34eb48dc3f move `org-babel-lob-one-liner-regexp' into ob.el to fix autoloading error
* lisp/ob.el (org-babel-map-call-lines): Moved this file from
  ob-lob.el into ob.el to ease dependency pains.
2011-12-17 09:04:20 -07:00
Bastien Guerry e56e2c8760 Silent a few byte-compiler warnings.
* org.el (org-block-regexp)
(org-heading-keyword-regexp-format)
(org-heading-keyword-maybe-regexp-format): Move up to keep the
byte-compiler happy.

* org-special-blocks.el (org-html): Require 'org-html.
(org-open-par, org-close-par-maybe): Declare as functions.

* ob.el (org-reduce): Declare as a function.
(org-current-export-file): Declare.

* ob-ref.el (org-babel-update-intermediate): Make a defvar.
2011-12-12 18:04:15 +01:00
Eric Schulte 3bf8d8fd86 fixed regexp when resolving noweb references
* lisp/ob.el (org-babel-expand-noweb-references): Fixed regexp.
* testing/lisp/test-ob.el (test-ob/noweb-expansion): Test both named
  code block and noweb-ref header argument references.
2011-12-11 12:02:02 -07:00
Eric Schulte 8a8a56c277 remove #+name and #+result hiding
Given that arbitrary regions may already be hidden using a drawer the
ability to hide any named entity is redundant.  In addition the name
based hiding does not mix well with other keywords.

Thanks to Nicolas Goaziou for raising this issue and suggesting the
removal of #+name based hiding.
2011-12-11 09:51:28 -07:00
Eric Schulte 1b58f780cf faster method of collecting continuing code blocks
* lisp/ob.el (org-babel-expand-noweb-references): Rather than collect
  the info from *every* block in the current buffer, simply regexp
  search for those blocks which appear to match the continued source
  name.
2011-12-11 09:51:28 -07:00
Eric Schulte a706d16127 wrap code block results in drawers rather than blocks
* lisp/ob.el (org-babel-insert-result): Do not examplize wrapped
  scalar results, simply wrap them.
  (org-babel-result-end): Find the end of results wrapped in a RESULTS
  drawer.
2011-12-11 09:51:27 -07:00
Bastien Guerry 92d305092a Fix typos (already fixed in Emacs trunk.)
Thanks to Juanma Barranquero for spotting and fixing them in Emacs.
2011-12-06 19:20:21 +01:00
Bastien Guerry 90868e2d88 Fix typo fixed in Emacs trunk.
* ob.el (org-babel-execute-src-block): Fix typo.

Thanks to Juanma Barranquero for spotting this.
2011-11-28 15:13:04 +01:00
Eric Schulte 1234afcc54 correctly toggle visibility of named code blocks
* lisp/ob.el (org-babel-hide-result-toggle): Skip over header argument
  lines when toggling named code block visibility.
2011-11-22 08:05:34 -07:00
Eric Schulte a998cae722 the :eval header argument now takes 4(6) possible values
* doc/org.texi (eval): Documenting the full range of :eval header
  argument values.
* lisp/ob.el (org-babel-confirm-evaluate): Adding support for new
  range of :eval header arguments.
* testing/lisp/test-ob.el (test-ob/eval-header-argument): Testing the
  :eval header argument.
2011-11-22 07:32:39 -07:00
Eric Schulte edef1fa5ca ":eval non-export" inhibits evaluation during export
* doc/org.texi (eval): Documentation of the new :eval option.
* lisp/ob.el (org-babel-confirm-evaluate): Inhibit evaluation during
  export when eval is set to "non-export".
2011-11-21 18:19:45 -07:00
Eric Schulte 82c0f9bf69 Allow spaces around "=" in code block variable specifications
* lisp/ob.el (org-babel-join-splits-near-ch): Rejoins a list of a
  split string when a character appears on either side of the split.
  (org-babel-parse-multiple-vars): Rejoin splits around "=" signs.
2011-11-20 09:40:08 -07:00