Ihor Radchenko writes: > Yes. See `org-babel-common-header-args-w-values'. In particular, take a > look at (results ...). Thanks, it took me some time to get my head around how to use this. > I now ported a bit of documentation from my refactor branch. > See https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=f268819d1 I'm having some problems getting: `:tangle > [import/export/both/skip]' to work nicely with the existing framework. The main issue lies in the `:any` keyword in `org-babel-common-header-args-w-values' for the tangle entry making it difficult to determine where one exclusionary group begins and where the other ends. e.g. (defconst org-babel-common-header-args-w-values ... (tangle . ((tangle yes no :any) (import export skip sync))) ... ) If I remove the :any keyword, these two groups work with the existing framework in `org-babel-merge-params', but this would then mean that the first tangle argument can't just be a filename string. I can get around it by changing `:any' to `file' and then letting users describe their tangle headers via e.g. `:tangle file import file: /some/file' but this would be a breaking change. In the meantime I put together a hacky solution that parses the tangle header independently (`org-babel--handle-tangle-args') with the aim that the first argument should ideally define a tangle filename action and the second argument should ideally define a tangle sync action. Please see the attached minor patch (diff) and a toy org example file.