Sébastien Miquel writes: >>>  + the tangle gets very noisy: not only are the result of execution >>>    printed in the echo buffer, but emacs visits the tangling buffer >>>    and moves the point to each block. >>>    Perhaps this is a bug that can be fixed. >> Did you try to play with :results header argument to disable messages? >> What exactly went unexpected? > > I did. I might have missed something, but no combination of :results > argument to both the latex block and the string-escape block silences > the tangle (except for :results none, which doesn't tangle the content > of the block). During tangle, the contents of the latex block are > displayed (shortly) in the echo buffer (check *Messages*), and the > point very briefly moves to the latex block. This isn't very > noticeable with a single block. Point movement is normal, but usually invisible because it happens faster than redisplay cycle. As for displaying the resolved noweb references, I do think that it should not happen. Currently, every time Org resolves noweb references, the behaviour is resembling :results silent. That is, the results of evaluation are displayed, but not inserted after the executed source blocks. I propose to change this by using :results none that will display "results silenced" echo instead of messaging the whole result string. The proposed behaviour makes more sense compared with the default value because resolved noweb references are usually used to pipe data (including table data) between source blocks and to include generated code during noweb expansion. Such data tends to be fairly bulky and creates a lot of noise during export/tangling. Not to mention that displaying large messages also gives a considerable slowdown to the whole export/tangle process. Note that changing the current behaviour also triggered the way :results none are being processed. The de facto implementation in ob-core does not do any kind of return value post-processing on :results none, which is not consistent with the manual (16.6 Results of Evaluation). In the manual, "none" option is a part of the option class consisting of "replace", "silent", "none", "append", and "prepend". All other alternative options only influence how the results are inserted after evaluation and processing. The fact that "none" result is not being processed according to :file, :post, and other arguments is not consistent. I changed that. Now, :results "none" are being processed completely, and only the actual insertion is not performed. The above change affects the return value of org-babel-execute-src-block. Previously, it always returned nil with :results none. Now, it returns the actual post-processed result of evaluation. Let me know if you see any potential issues with the proposed change. Best, Ihor