From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vladimir Nikishkin Subject: Bug: ob-scheme.el has two problems: not killing a misbehaving interpreter and sometimes returns nil [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.2/lisp/org/)] Date: Mon, 19 Aug 2019 12:19:54 +0800 Message-ID: <87d0h1eqhh.fsf@delllaptop.lockywolf.net> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:36005) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1hzZ9Y-0006Ht-B0 for emacs-orgmode@gnu.org; Mon, 19 Aug 2019 00:20:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hzZ9W-0007Lu-CC for emacs-orgmode@gnu.org; Mon, 19 Aug 2019 00:20:20 -0400 Received: from mail-ed1-x543.google.com ([2a00:1450:4864:20::543]:38646) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hzZ9W-0007KM-3k for emacs-orgmode@gnu.org; Mon, 19 Aug 2019 00:20:18 -0400 Received: by mail-ed1-x543.google.com with SMTP id r12so380230edo.5 for ; Sun, 18 Aug 2019 21:20:17 -0700 (PDT) Received: from delllaptop.lockywolf.net ([95.85.18.95]) by smtp.gmail.com with ESMTPSA id h13sm1466445edw.78.2019.08.18.21.20.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Aug 2019 21:20:14 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See https://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org mailing list. ------------------------------------------------------------------------ Hello, everyone. I am trying to write a quasi coursework solution for SICP with org and Chibi-scheme. Unfortunately, chibi is not very well supported in geiser (although some evaluation features work), so I am having the following difficulties with the following code: #+BEGIN_SRC scheme :export both :results output :session (import (scheme small)) (display "Hello 1\n") t #+END_SRC Note that t is not a registered symbol in scheme (should be #t), but is shows two errors: 1. The buffer "myfile.org chibi REPL" is not killed after the execution is finished. Maybe ob-scheme tries to run some internal exit function in the interpreter, which fails, or whatever, but I am left with a dangling buffer. (Maybe line 184 in ob-scheme.el, kill-buffer is not doing its job?) 2. In this case, org-babel-scheme-execute-with-geiser returns nil. This is wrong, because org-babel-reassemble-table does not expect nil as an input. Moreover, since all of this is not exception-handled, it turns out into a silent error. 3. In this case, the output of the interpreter is "ERROR: undefined variable: t", printed to stderr. Geiser processes this by forwarding back the (error . "<...> error output") cons cell, but org doesn't seem to be using this. I mean, if I change :results to be "value", I am getting the exception message into the org buffer, but I suspect that is should also be displayed when ":results output" since that is what the interpreter is actually printing. 4. Is there some legitimate way to get all three output channels of a block of code together? By "all three" I mean, "STDOUT", "STDERR" and the expression return value? Cheers, everyone, thanks for your work! Emacs : GNU Emacs 26.2 (build 1, x86_64-slackware-linux-gnu, GTK+ Version 3.24.10) of 2019-07-18 Package: Org mode version 9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.2/lisp/org/) current state: ============== (setq org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-after-todo-state-change-hook '(org-clock-out-if-current) org-babel-after-execute-hook '((lambda nil (if org-inline-image-overlays (progn (org-redisplay-inline-images))) ) ) org-metadown-hook '(org-babel-pop-to-session-maybe) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-html-format-inlinetask-function 'org-html-format-inlinetask-default-function org-pretty-entities t org-odt-format-headline-function 'org-odt-format-headline-default-function org-agenda-files '("~/Personal_Planner/Planner.org") org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default org-reveal-start-hook '(org-decrypt-entry) org-modules '(org-habits org-w3m org-bbdb org-bibtex org-docview org-gnus org-info org-irc org-mhe org-rmail) org-plantuml-jar-path "/usr/local/bin/plantuml.jar" org-mode-hook '((lambda nil (imenu-add-to-menubar "Imenu")) #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-block-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-odt-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"] org-archive-hook '(org-attach-archive-delete-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-agenda-before-write-hook '(org-agenda-add-entry-text) org-metaup-hook '(org-babel-load-in-session-maybe) org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"] org-babel-pre-tangle-hook '(save-buffer) org-latex-compiler "lualatex" org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-babel-load-languages '((plantuml . t) (C . t) (scheme . t)) org-log-done 'time org-startup-align-all-tables t org-ascii-format-drawer-function #[771 "\207" [] 4 "\n\n(fn NAME CONTENTS WIDTH)"] org-catch-invisible-edits t org-occur-hook '(org-first-headline-recenter) org-edit-src-auto-save-idle-delay 15 org-agenda-include-diary t org-structure-template-alist '(("p" "#+begin_src plantuml :export both :file ? \n#+end_src ") ("s" "#+BEGIN_SRC ?\n\n#+END_SRC") ("e" "#+BEGIN_EXAMPLE\n?\n#+END_EXAMPLE") ("q" "#+BEGIN_QUOTE\n?\n#+END_QUOTE") ("v" "#+BEGIN_VERSE\n?\n#+END_VERSE") ("V" "#+BEGIN_VERBATIM\n?\n#+END_VERBATIM") ("c" "#+BEGIN_CENTER\n?\n#+END_CENTER") ("C" "#+BEGIN_COMMENT\n?\n#+END_COMMENT") ("l" "#+BEGIN_EXPORT latex\n?\n#+END_EXPORT") ("L" "#+LaTeX: ") ("h" "#+BEGIN_EXPORT html\n?\n#+END_EXPORT") ("H" "#+HTML: ") ("a" "#+BEGIN_EXPORT ascii\n?\n#+END_EXPORT") ("A" "#+ASCII: ") ("i" "#+INDEX: ?") ("I" "#+INCLUDE: %file ?")) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-edit-src-turn-on-auto-save t org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-odt-format-inlinetask-function 'org-odt-format-inlinetask-default-function org-babel-tangle-lang-exts '(("D" . "d") ("C++" . "cpp") ("emacs-lisp" . "el") ("elisp" . "el")) org-confirm-shell-link-function 'yes-or-no-p org-link-parameters '(("id" :follow org-id-open) ("rmail" :follow org-rmail-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link) ("info" :follow org-info-open :export org-info-export :store org-info-store-link) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("doi" :follow org--open-doi-link) ("elisp" :follow org--open-elisp-link) ("file" :complete org-file-complete-link) ("ftp" :follow (lambda (path) (browse-url (concat "ftp:" path)))) ("help" :follow org--open-help-link) ("http" :follow (lambda (path) (browse-url (concat "http:" path)))) ("https" :follow (lambda (path) (browse-url (concat "https:" path)))) ("mailto" :follow (lambda (path) (browse-url (concat "mailto:" path)))) ("news" :follow (lambda (path) (browse-url (concat "news:" path)))) ("shell" :follow org--open-shell-link)) org-latex-format-headline-function 'org-latex-format-headline-default-function org-agenda-start-with-follow-mode t org-latex-format-inlinetask-function 'org-latex-format-inlinetask-default-function org-html-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"] org-image-actual-width nil org-html-use-infojs t org-html-format-headline-function 'org-html-format-headline-default-function org-confirm-babel-evaluate 'my-org-confirm-babel-evaluate org-use-speed-commands t org-latex-bib-compiler "biber" org-default-notes-file "~/org/notes.org" ) -- -- Vladimir Nikishkin (MiEr, lockywolf)