Subject: bug#52545: 29.0.50; Make org-babel-execute-buffer ignore irrelevant src blocks

From: Max Nikulin <[email-masked]>
Date: Fri, 31 Dec 2021 19:05:50 +0700

On 30/12/2021 15:00, Rudolf Adamkovič wrote:
> 
> #+property: header-args:bibtex+ :eval yes

Why do you set ":eval yes" explicitly for bibtex if you believe that it 
should not be executed?

I suppose, the following may be considered as a complete example 
suitable to compare behavior of `org-babel-execute-buffer' and export:

---- >8 ----
#+property: header-args:bibtex+ :exports none

Test file with =bibtex= (to tangle)
and =elisp= (to execute) code blocks.

#+begin_src bibtex :tangle yes
   @misc{ex1,
     title = "Example"
   }
#+end_src

#+begin_src elisp
   (message "From elisp")
#+end_src
---- 8< ----

To solve the problem avoiding per-file configuration you can try

    (setq org-babel-default-header-args:bibtex '((:eval . "no")))

Unsure if it should be default. Since LaTeX export is important part of 
Org it is reasonable to expect that Org have some notion of BibTeX 
allowing to avoid execution of such source blocks.

Currently there is no BibTeX babel backend, but some user might create 
one that e.g. formats entries as some alternative to org-cite. Can 
default header arguments cause a problem in such case?

Should some function a macro be provided to facilitate declaring 
languages as data format (config files, JSON, YAML, etc.) rather than 
executable source code?