;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\302 \303\232\204 \304\305\306\"\210\300\307!\210\300\310\311\312#\210\300\313\311\312#\210\314\315\316\317\320DD\321\322\323\324\325\326\327\330\331&\207" [require org-macs org-release "9.6.15" warn "Org version mismatch.\nThis warning usually appears when a built-in Org version is loaded\nprior to the more recent Org version.\n\nVersion mismatch is commonly encountered in the following situations:\n\n1. Emacs is loaded using literate Org config and more recent Org\n   version is loaded inside the file loaded by `org-babel-load-file'.\n   `org-babel-load-file' triggers the built-in Org version clashing\n   the newer Org version attempt to be loaded later.\n\n   It is recommended to move the Org loading code before the\n   `org-babel-load-file' call.\n\n2. New Org version is loaded manually by setting `load-path', but some\n   other package depending on Org is loaded before the `load-path' is\n   configured.\n   This \"other package\" is triggering built-in Org version, again\n   causing the version mismatch.\n\n   It is recommended to set `load-path' as early in the config as\n   possible.\n\n3. New Org version is loaded using straight.el package manager and\n   other package depending on Org is loaded before straight triggers\n   loading of the newer Org version.\n\n   It is recommended to put\n\n    %s\n\n   early in the config.  Ideally, right after the straight.el\n   bootstrap.  Moving `use-package' :straight declaration may not be\n   sufficient if the corresponding `use-package' statement is\n   deferring the loading.\n\n4. A new Org version is synchronized with Emacs git repository and\n   stale .elc files are still left from the previous build.\n\n   It is recommended to remove .elc files from lisp/org directory and\n   re-compile." "(straight-use-package 'org)" 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 (#$ . 2196))#@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, \303PQ\207" [org-babel--get-vars :prologue :epilogue "\n" format "(let (%s)\n%s\n)" mapconcat #[257 "\300\301\302@\303ADD!\"\207" [format "%S" print quote] 7 "\n\n(fn VAR)"] "\n      "] 12 (#$ . 2312)])#@42 Map of scheme sessions to session names.
(defvar org-babel-scheme-repl-map (make-hash-table :test 'equal) (#$ . 2733))#@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 (#$ . 2857)])#@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 (#$ . 3120)])#@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 (#$ . 3380)])#@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 (#$ . 3582)])#@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\302!\203 \302!\210\202 \303!\210\203& \304\305\"\210\306p\"\210p\207" [org-babel-scheme-get-session-buffer fboundp geiser run-geiser rename-buffer t org-babel-scheme-set-session-buffer] 6 (#$ . 3784)])#@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 (#$ . 4138)])#@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 (#$ . 4613)]))#@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\311\"r\211q\210\312\313\"\216\314\315\"c\210\316 \210c\210\317 \210\306\211r\320\")\321p!=\204> \322\323\2119\321p!\321p!9%\210\211\306\211\306\324\325!\203P \325\202Q \326ed\"\203c \327!\206g \330\202g \331\332\"*\262\210\204\202 r\211q\210\333 )\210\334\335!\306\"\210\336!\210,\266\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*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 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)" fboundp geiser-eval-region/wait 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 (#$ . 5141)])#@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\"\207\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 (#$ . 6484)])#@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\"#\327\235?\205\271 \330\235\204\262 \331\235\204\262 \332\235\204\262 \333\235\204\262 \334\235\204\262 \335\235\204\262 \317\235\204\254 \336\235\204\254 \337\235\204\254 \340\235\203\266 \341\235\204\266 \202\271 \342!\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 "discard" "scalar" "verbatim" "html" "code" "pp" "file" "raw" "org" "drawer" "table" org-babel-scheme--table-or-string] 17 (#$ . 6914)])
(provide 'ob-scheme)
