On Sun, Mar 31, 2013 at 07:37:38AM -0600, Eric Schulte wrote: > It is certainly true that Emacs Lisp is treated differently than all > other languages. There are also significant differences between > languages, e.g., session evaluation doesn't make sense for some > languages, and for other languages session evaluation is the only type > of evaluation that does make sense. > > In addition to that, with over 40 supported languages [1], There > undoubtedly are cases where we are doing a bad job of ensuring > inter-languages consistency. If you can find concise examples which use > demonstrate significant inconsistencies between languages, then we > should be able to resolve those on a case by case basis. In general I > think ob-sh is probably the most widely used code block language, and > can be treated as the gold standard against which other languages should > be compared. `sh' is probably not the best choice as a "gold standard" due to the fact that it only supports STDOUT ("output" and not "value"). Many of the languages are obviously not general purpose, or do not support (like shell), wrapped values (only STDOUT), or don't generate text, so consistency does not matter (e.g., css, sass, sql, sqlite, plantuml, dot). Regardless, the attached org file is a first step an comparing the result processing of some languages (specifically, sh, emacs-lisp, perl and ruby), which, I think, covers a good portion of the babel use of general purpose languages. The upshot, is that perl value results match shell value/output results and emacs-lisp, python and ruby all return about the same results (elisp returns the quote characters from a verbatim string). I still think that the scalar pipe-delimited processing from shell and perl is wrong in that pipe-delimited data ends up w/ an extra column if each line starts w/ a pipe, but not if the pipe is used like a csv separator (between columns but not at the beginning or end of the line). Also, looking at the manual (http://orgmode.org/manual/results.html#results) vs. the code, are there are actually four classes of :results arguments with type broken into type and format? - Type :: (file list vector table scalar verbatim) - Format :: (raw html latex org code pp drawer) rick