I've got this code in an org-mode buffer (from HTDP)

#+name: letter
#+header:
#+begin_src scheme :exports both :session ch1
(define (letter fst lst signature-name)
  (print (string-append
   (opening fst)
   "\n\n"
   (body fst lst)
   "\n\n"
   (closing signature-name))))

(define (opening fst)
  (string-append "Dear " fst ","))

(define (body fst lst)
  (string-append
   "We have discovered that all people with the last name " "\n"
   lst " have won our lottery. So, " fst ", " "\n"
   "hurry and pick up your prize."))

(define (closing signature-name)
  (string-append
   "Sincerely,"
   "\n\n"
   signature-name
   "\n"))
#+end_src

. . . nothing earth-shaking, and it is accepted and works in the "ch1" REPL
buffer. But if I try this with C-c C-c

#+BEGIN_SRC scheme :session ch1
(letter "Lawrence" "Bottorff" "The Grand Nagus")
#+END_SRC

I get

#+RESULTS:
: #<unspecified>

and a new Geiser dbg buffer with this output:

=> #<unspecified>

Dear Lawrence,

We have discovered that all people with the last name
Bottorff have won our lottery. So, Lawrence,
hurry and pick up your prize.

Sincerely,

The Grand Nagus

;; -*- geiser-scheme-implementation: chicken -*-
(letter "Lawrence" "Bottorff" "The Grand Nagus")

This is the proper output -- but as a guile dbg buffer displacing the ch1
REPL? Please advise if this is a ob-scheme.el issue. (We've tracked down
one major issue already.) ob-scheme is designed to work only with geiser,
BTW.

LB

Reply via email to