1

I have the following source block of Scheme code:

#+BEGIN_SRC scheme :results value verbatim append
(define shift
  (lambda (list-with-sublists)
    (cond
     [(pair? (car list-with-sublists))
      (cons (car (car list-with-sublists))
            (cons (cdr (car list-with-sublists))
                  (cdr list-with-sublists)))]
     [else
      (cons (car list-with-sublists)
            (cdr list-with-sublists))])))

(shift '(a (b c) d))
#+END_SRC

However, it seems that org-mode cannot resist formatting the resulting list as a table and it will output tables, disregarding the verbatim argument:

#+RESULTS:
| a | (b c) | d |
| a | (b c) | d |
| a | (b c) | d |

I have tried it with silent and in the minibuffer the output is only a string (a (b c) d). So I went ahead and tried to output the same string in Python, to see, whether it is programming language related:

#+BEGIN_SRC python :results output verbatim replace
print("(a (b c) d)")
#+END_SRC

#+RESULTS:
: (a (b c) d)

This works just fine. verbatim only does not work for my Scheme code.

What am I doing wrong?

Versions

  • Emacs: GNU Emacs 26.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.0) of 2018-11-14
  • Org-mode: 9.1.9 (built-in)

Edit

By now I have figured out, that I can get a string output, but only, if I format the Scheme value as a string already in my code. Probably the issue is, that Org-babel does not know how to deal with arbitrary values from any programming language.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.