DONE Clarify situation re. org-babel-interpreters, org-babel-tangle-langs, src-lang-modes

  • State "DONE" from "STARTED" 2010-06-17 Thu 09:46
  • State "STARTED" from "TODO" 2010-06-17 Thu 07:51
  • State "TODO" from "" 2010-04-15 Thu 13:14

implementation

removed all language lists (`org-babel-interpreters' and `org-babel-tangle-langs') from Org-babel. We no longer explicitly check if languages are on lists of supported languages, but rather simply check that the appropriate functions (e.g. `org-babel-execute:sh') are defined at the times when they are needed.

changes

  • Instead of adding anything to external variables, we are going to rely on the existing header argument system to hold information on commentability and tangling of languages
  • From now on users will have to explicitly request comments in tangled code by setting the :comments header argument to yes.
  • We still want to be able to associate languages with file extensions, now done with `org-babel-tangle-lang-exts'. This is the only remaining list of languages used by Org-babel.

requirements

It seems that this has got overly complicated; time for some simplification and harmonisation.

See also bug Language mappings in org-src-lang-modes should be honoured by babel

-Lets just subvert org-src-lang-modes and use it for everything- (not actually making any changes to this variable). It would now hold

  • language major mode
  • language extension

Then when we need to check whether or not the language lang is executable we can just see if we have a org-babel-execute:lang function.

This can happen after the merge of our code into the main body of org-mode to make the shared variable a little bit more natural.