Hi everyone, setting a property in an org file like
'#+PROPERTY: header-args :tangle "file.ext"' with a source block of the form: (note no language is specified for the block) #+begin_src <1: this block won't get tangled> #+end_src won't tangle the block Adding any string as a language to the code block, like #+begin_src random_string <2: this block will get tangled> #+end_src tangles the code block what's weirder is, just adding to a block the ":tangle" header without or with any value, even with the value no, makes the tangling process respect the header-args property value and thus the block will tangle successfully. (note no language is specified for the block) #+begin_src :tangle no <3: this block will get tangled!!> #+end_src Adding again a language value make the tangle header act normally #+begin_src C :tangle no <4: this block won't get tangled> #+end_src The behaviour doesn't seem super consistent. Ideally, I think having a source block like the first one gettin tangled would be good, and having the third one not tangle would be better as well. The documentation states: [Working with source code > Structure of Code Blocks] "When ‘<language>’ identifier is omitted, the block also cannot have ‘<switches>’ and ‘<header arguments>’." but, to my knowledge, there is no mention regarding the fact that the headers assigned through the "header-args" property should not be applied if a block has no language identifier. I tested using org-mode pulled from the repo "GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.2)" "Org mode version 9.8-pre (release_9.7.16-174-gb9637e @ /home/thibaut/tmp/org-mode/lisp/)" Cheers