;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302\303\304#\210\300\305\303\304#\210\306\307\310\311\312DD\313\314\315\316\317\320\321\322\323& \207" [require ob geiser nil t geiser-impl custom-declare-variable org-babel-scheme-null-to funcall function #[0 "\300\207" [hline] 1] "Replace `null' and empty lists in scheme tables with this before returning." :group org-babel :version "26.1" :package-version (Org . "9.1") :type symbol] 12) #@50 Default header arguments for scheme code blocks. (defvar org-babel-default-header-args:scheme nil (#$ . 830)) #@78 Expand BODY according to PARAMS, return the expanded body. (fn BODY PARAMS) (defalias 'org-babel-expand-body:scheme #[514 "\300!\301\236A\302\236A\205\303P\204\202%\304\305\306\307\310##\205,\303PQ\207" [org-babel--get-vars :prologue :epilogue "\n" format "(let (%s)\n%s\n)" mapconcat #[257 "\300\301\302@\303ADD!\"\207" [format "%S" print quote] 7 "\n\n(fn VAR)"] "\n "] 12 (#$ . 946)]) #@42 Map of scheme sessions to session names. (defvar org-babel-scheme-repl-map (make-hash-table :test 'equal) (#$ . 1367)) #@40 Remove dead buffers from the REPL map. (defalias 'org-babel-scheme-cleanse-repl-map #[0 "\301\302\"\207" [org-babel-scheme-repl-map maphash #[514 "\301!?\205 \302\"\207" [org-babel-scheme-repl-map buffer-name remhash] 5 "\n\n(fn X Y)"]] 3 (#$ . 1492)]) #@93 Look up the scheme buffer for a session; return nil if it doesn't exist. (fn SESSION-NAME) (defalias 'org-babel-scheme-get-session-buffer #[257 "\301 \210\302\"\207" [org-babel-scheme-repl-map org-babel-scheme-cleanse-repl-map gethash] 4 (#$ . 1756)]) #@78 Record the scheme buffer used for a given session. (fn SESSION-NAME BUFFER) (defalias 'org-babel-scheme-set-session-buffer #[514 "\301#\207" [org-babel-scheme-repl-map puthash] 6 (#$ . 2017)]) #@82 Return the scheme implementation geiser associates with the buffer. (fn BUFFER) (defalias 'org-babel-scheme-get-buffer-impl #[257 "r\211qq\210)\207" [geiser-impl--implementation] 2 (#$ . 2220)]) #@75 Switch to a scheme REPL, creating it if it doesn't exist: (fn IMPL NAME) (defalias 'org-babel-scheme-get-repl #[514 "\300!\211\206\301!\210\203\302\303\"\210\304p\"\210p\207" [org-babel-scheme-get-session-buffer run-geiser rename-buffer t org-babel-scheme-set-session-buffer] 6 (#$ . 2423)]) #@307 Generate a name for the session buffer. For a named session, the buffer name will be the session name. If the session is unnamed (nil), generate a name. If the session is `none', use nil for the session name, and org-babel-scheme-execute-with-geiser will use a temporary session. (fn BUFFER NAME IMPL) (defalias 'org-babel-scheme-make-session-name #[771 "\204\f\300\301!\302R\207\303\230\203\304\207\207" [" " symbol-name " REPL" "none" nil] 7 (#$ . 2732)]) #@87 Capture current message in both interactive and noninteractive mode. (fn &rest BODY) (defalias 'org-babel-scheme-capture-current-message '(macro . #[128 "\300\301\302\303\304\305\306\307\310\"BB\311BBE\305\307\312\"BF\207" [if noninteractive let ((original-message (symbol-function 'message)) (current-message nil)) unwind-protect progn (defun message (&rest args) (setq current-message (apply original-message args))) append (current-message) ((fset 'message original-message)) ((current-message))] 11 (#$ . 3208)])) #@246 Execute code in specified REPL. If the REPL doesn't exist, create it using the given scheme implementation. Returns the output of executing the code if the OUTPUT parameter is true; otherwise returns the last value. (fn CODE OUTPUT IMPL REPL) (defalias 'org-babel-scheme-execute-with-geiser #[1028 "\306\307\310!r\211q\210\311\312\313\314\315!\316\"\317$\216\320\321\"c\210\322 \210c\210\323 \210\306\211r\324\")\325p!=\204D\326\327\2119\325p!\325p!9%\210\211\306\211\306\330ed\"\203_\331!\206c\332\202c\333\334\"\262\210*\204~r\211q\210\335 \210)\336\337!\306\"\210\340!\210\210,\210\211\207" [geiser-repl-use-other-window geiser-repl-window-allow-split geiser-repl--repl geiser-impl--implementation geiser-debug-show-debug-p geiser-debug-jump-to-debug-p nil generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 format ";; -*- geiser-scheme-implementation: %s -*-" newline geiser-mode org-babel-scheme-get-repl org-babel-scheme-get-buffer-impl message "Implementation mismatch: %s (%s) %s (%s)" geiser-eval-region geiser-eval--retort-output "Geiser Interpreter produced no output" geiser-eval--retort-result-str "" geiser-repl-exit set-process-query-on-exit-flag get-buffer-process kill-buffer] 15 (#$ . 3737)]) #@192 Convert RESULTS into an appropriate elisp value. If the results look like a list or tuple, then convert them into an Emacs-lisp table, otherwise return the results as a string. (fn RESULTS) (defalias 'org-babel-scheme--table-or-string #[257 "\300!\211<\203\301\302\"\202\211\207" [org-babel-script-escape mapcar #[257 "\211\203\n\211\301=\203\f\207\207" [org-babel-scheme-null-to null] 3 "\n\n(fn EL)"]] 5 (#$ . 5054)]) #@124 Execute a block of Scheme code with org-babel. This function is called by `org-babel-execute-src-block'. (fn BODY PARAMS) (defalias 'org-babel-execute:scheme #[514 "p\303\304\305\306!#\212\307\236A\310\236A\203\311\310\236A!\206'\206' \206'\n@\312\313\236A#\314\"\315\236A\316\317\230\320\230?\205M$\321\322\323\f\236A\324 \236A\"\322\325 \236A\326\236A\"#\320\235?\205\272\327\235\204\263\330\235\204\263\331\235\204\263\332\235\204\263\333\235\204\263\334\235\204\263\317\235\204\255\335\235\204\255\336\235\204\255\337\235\203\267\340\235\204\267\202\272\341!\262\262\266\206)\207" [geiser-scheme-implementation geiser-default-implementation geiser-active-implementations replace-regexp-in-string "^ ?\\*\\([^*]+\\)\\*" "\\1" buffer-name :result-type :scheme intern org-babel-scheme-make-session-name :session org-babel-expand-body:scheme :result-params org-babel-scheme-execute-with-geiser "output" "none" org-babel-reassemble-table org-babel-pick-name :colname-names :colnames :rowname-names :rownames "scalar" "verbatim" "html" "code" "pp" "file" "raw" "org" "drawer" "table" org-babel-scheme--table-or-string] 17 (#$ . 5491)]) (provide 'ob-scheme)