* contrib/babel/lisp/langs/org-babel-latex.el (org-babel-latex-body-to-tex-file):
now calling `org-export-latex-fix-inputenc' to sort out encodings in
latex package list
* contrib/babel/lisp/org-babel.el (org-babel-set-interpreters): less
greedy regexp for inline source blocks ensures that there is no
confusion when two inline blocks are on the same line.
e.g. placing the following at the top of your buffer
will result in all source-code blocks in the buffer having their
:session header argument set to "example"
* contrib/babel/lisp/org-babel-lob.el (org-babel-lob-execute): now
included buffer-wide header arguments in lob header arguments
* contrib/babel/lisp/org-babel.el (org-babel-params-from-buffer): new
function for grabbing header arguments from the top of the buffer
(org-babel-parse-src-block-match): now includes buffer-wide header
arguments
(org-babel-parse-inline-src-block-match): now includes buffer-wide
header arguments
(org-babel-current-buffer-properties): buffer-local variable to hold
buffer-wide header arguments
* contrib/babel/lisp/org-babel-exp.el (org-babel-exp-lob-one-liners):
exportation of #+lob and #+call type lines is now correctly handling
the addition of the indentation information to the info list
* contrib/babel/lisp/org-babel-lob.el
(org-babel-lob-one-liner-regexp):
(org-babel-lob-get-info):
(org-babel-lob-execute):
all org-babel elements should now work when indented
* contrib/babel/lisp/org-babel-ref.el
(org-babel-ref-at-ref-p):
all org-babel elements should now work when indented
* contrib/babel/lisp/org-babel.el
(org-babel-set-interpreters):
(org-babel-execute-src-block):
(org-babel-expand-src-block):
(org-babel-get-src-block-info):
(org-babel-hash-at-point):
(org-mode-hook):
(org-babel-parse-src-block-match):
(org-babel-where-is-src-block-result):
(org-babel-read-result):
(org-babel-insert-result):
(org-babel-result-end):
all org-babel elements should now work when indented
Thanks to Sébastien Vauban for pointing this out -- as well as the
previous babel commit :)
* contrib/babel/lisp/org-babel.el (org-babel-insert-result):
results are now indented to the level of any existing #+results
line.
* contrib/babel/lisp/org-babel-ref.el (org-babel-ref-resolve-reference):
now able to recognize #+tblname, #+resname and #+results lines which
do not start on column 0
* contrib/babel/lisp/org-babel-exp.el (org-babel-exp-inline-src-blocks):
only evaluate inline source code blocks if they do not appear in a
verbatim or quoted context
(org-babel-in-example-or-verbatim): check if the point is currently
located in a verbatim or quoted context
* contrib/babel/lisp/org-babel-exp.el (org-babel-exp-results):
removing forced verbatim '=' tags from around inline source code
results, if users want their results displayed in this way they can
add the '='s easily themselves, but there is no way to remove '='s
inserted automatically by Org-babel.
this is required because in the temporary org-mode file used during
export code blocks may be removed entirely leading to unresolved
references
* contrib/babel/lisp/org-babel-exp.el (org-babel-exp-src-blocks):
expanding noweb references during export now takes place in the
pre-export buffer
(org-babel-exp-inline-src-blocks): expanding noweb references during
export now takes place in the pre-export buffer
(org-babel-exp-results): ensure that the expanded body is passed
through to org-babel-execute-src-block
Thanks to Tom Dye for pointing out the need for this fix
* contrib/babel/lisp/org-babel.el (org-babel-expand-noweb-references):
now able to find noweb references even outside of the narrowed
portion of the buffer when the buffer is narrowed
* contrib/babel/lisp/org-babel-ref.el (org-babel-ref-resolve-reference):
now able to resolve references which are located outside of the
narrowed portion of the buffer when the buffer is narrowed
Thanks to Graham Smith for pointing out the need for in-place
results updates
* contrib/babel/lisp/org-babel.el (org-babel-merge-params): adding
append and prepend as exclusive options to the :results header
argument
(org-babel-insert-result): now updating results in place, and
honoring the `prepend' and `append' :results header arguments
* contrib/babel/lisp/org-babel.el (org-babel-header-arg-names): adding
:noeval header argument which can be specified to inhibit the
execution of a source block during export.
* contrib/babel/lisp/org-babel-exp.el (org-babel-exp-do-export):
adding :noeval header argument which can be specified to inhibit the
execution of a source block during export.
* contrib/babel/lisp/org-babel-comint.el (org-babel-comint-with-output):
Placing a more general regexp substitution for matching newlines
returned by comint. This new option should definitely cover all
cases.
* contrib/babel/lisp/org-babel-comint.el (org-babel-comint-with-output):
If there is dangling text left after the process mark in a comint
buffer, it will now be safely stored away during babel execution,
and then replaced when babel is finished with the buffer.
This commit also fixes some indentation issues.
* contrib/babel/lisp/langs/org-babel-ruby.el (org-babel-ruby-initiate-session):
Adding a small wait after stating a new ruby session. This avoids
errors with `ansi-color-process-output' not being able to find the
process mark.
* contrib/babel/lisp/org-babel.el (org-babel-insert-result): Replaced
call to `org-cycle' with a call to the simpler and more appropriate
`org-table-align'.
* contrib/babel/library-of-babel.org (Read/Write): adding
library-of-babel functions for file I/O
* contrib/babel/lisp/org-babel-exp.el (org-babel-exp-do-export):
This brings babel more inline with Sweave, by ensuring that any code
block which could change the state in a persistent session is
executed. Prior to this change the following org-mode text like would
not export as expected because the x variable would not be
initialized.
** inline expressions
:PROPERTIES:
:session: *R*
:END:
#+begin_src R :exports code :results silent
x<-5
#+end_src
the sum of 1 and 4 is equal to src_R{x}
* contrib/lisp/org-special-blocks.el (org-special-blocks-make-special-cookies):
Emacs 22 doesn't have string-match-p
* lisp/org-freemind.el (org-freemind-write-mm-buffer):
(org-freemind-get-node-style):
Emacs 22 doesn't have string-match-p
* lisp/org-html.el (org-html-make-link):
Use new org-string-match-p for compatibility
* contrib/babel/lisp/org-babel-tangle.el (org-babel-spec-to-string):
The insertion of automatically generated comments into tangled code
is now customizable through the `org-babel-tangle-w-comments'
variable.
* contrib/babel/lisp/org-babel.el
(org-babel-params-from-properties):
Check for language-specific header arguments
(org-babel-parse-src-block-match):
Pass lang parameter when checking properties for header args
(org-babel-parse-inline-src-block-match):
Pass lang parameter when checking properties for header args
Carsten Dominik <carsten.dominik@gmail.com> writes:
> On May 17, 2010, at 4:39 PM, Michael Sperber wrote:
>
>> In particular, fixing the require won't be enough: org-babel-python.el
>> uses `run-python' and interacts with the inferior Python, whereas
>> python-mode.el defines `py-shell'.
>>
>> Should I try to abstract over the differences?
>
> Yes, this would be much appreciated. (I think, Eric or Dan?)
OK, I've attached a patch that makes `org-babel-python' work on XEmacs.
Most of the issues are pure XEmacs issues. Notes:
- XEmacs doesn't have [[:digit:]] - I hope to rectify this in the
future, but it seems there's no downside in this particular case to
replacing by [0-9].
- XEmacs doesn't have `move-end-of-line', but does have `end-of-line'.
I don't understand the intent of having both of these, but the code
seems fine with `end-of-line'.
- It seems there are way too few `require's throughout org-babel. I
don't know if it's OK to add the ones I needed.
- `org-babel-python-evaluate' looked broken as-is: It doesn't use the
`body' argument properly, the result is (I think) processed in the
wrong order and not properly split into lines. I've fixed all these,
but a review is probably in order.