Eliminating duplicated code (take 2...).
commitd128662fa3dd3c50509214b320b035915ca2a5ff
authorDan Davison <davison@stats.ox.ac.uk>
Thu, 16 Jul 2009 20:21:07 +0000 (16 16:21 -0400)
committerDan Davison <davison@stats.ox.ac.uk>
Thu, 16 Jul 2009 20:21:07 +0000 (16 16:21 -0400)
tree6b1ec3961299b9311529d26dc14ee625e012e65a
parentf74b084d99057bf10679194275b4fc4264600c91
Eliminating duplicated code (take 2...).

This proposal for code tidying uses multiple-value-bind to satisfy:

1. The various parsed/resolved components of the param list (session,
   vars, result-type) are available in the org-babel-execute:LANG
   functions.
2. Those functions don't duplicate the code for parsing the params
   list and resolving references
3. The functions still have the params list available to them, should
   they need to implement language-specific behaviour using it.

If the org-babel-execute:LANG functions need to be called directly,
then that would now have to be via
(multiple-value-bind (session vars result-params result-type)
      (org-babel-process-params params) (funcall cmd body params))

as in org-babel-exp.el. (But is it actually necessary to by-pass
org-babel-execute-src-block?)
lisp/langs/org-babel-R.el
lisp/langs/org-babel-lisp.el
lisp/langs/org-babel-python.el
lisp/langs/org-babel-ruby.el
lisp/langs/org-babel-sh.el
lisp/org-babel-exp.el
lisp/org-babel.el