0
votes

I am working my way through Dybvig's "The Scheme Programming Language" book. I am using Chez Scheme 9.4.1 as my REPL. I am running said REPL within Emacs using Geiser. Chez Scheme has a transcript-on function that records the input and output of the REPL into a text file, which I find useful. By running this however within Emacs and Geiser, I am however getting also a running "commentary" from Geiser that renders the text file output unnecessarily verbose and cumbersome since it includes the very verbose Geiser output. e.g.

> (geiser:eval '#f '(geiser:autodoc '(1 1)))
((result "()") (output . ""))
> (geiser:eval '#f '(geiser:autodoc '(2 1)))
((result "()") (output . ""))
> (geiser:eval '#f '(geiser:autodoc '(3 1)))
((result "()") (output . ""))
> (geiser:eval '#f '(geiser:autodoc '(1)))
((result "()") (output . ""))
> (geiser:eval '#f '(geiser:autodoc '(1 1)))
((result "()") (output . ""))

How do I restrict the output going to the text file to just the "read" and "print" input and output of the REPL without the unnecessary Geiser "commentary", while still getting the benefits of running it within Emacs and Geiser?

1

1 Answers

0
votes

I'm not an expert in Geiser or Scheme, but I am familiar with lisp in emacs. I suspect that you won't be able to filter out the information that way- Geiser's requests for information are being entered at the same REPL as yours, it's just the emacs interface does not display them. However, Geiser is probably just using an emacs buffer to display the REPL, and like any other text buffer you should be able to copy its contents to a file pretty easily. If you get good at configuring emacs, it shouldn't be difficult to automate the procedure- emacs is pretty good at that sort of thing.