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


#@109 The command location for screen.
In case you want to use a different screen than one selected by your $PATH
(byte-code "\300\301!\210\300\302!\207" [require org-macs ob] 2)
(defvar org-babel-screen-location "screen" (#$ . 84))#@61 Default arguments to use when running screen source blocks.
(defvar org-babel-default-header-args:screen (byte-code "\301\302\303\304\305B\257\207" [null-device (:results . "silent") (:session . "default") (:cmd . "sh") (:terminal . "xterm") :screenrc] 6) (#$ . 316))#@152 Send BODY via screen to a terminal using Babel, according to PARAMS.
"default" session is used when none is specified in the PARAMS.

(fn BODY PARAMS)
(defalias 'org-babel-execute:screen #[514 "\204 \301\302!\210\303 \304\305\"\216\306\236A\307!\211\204 \310\"\210\311\312\"\")\207" [noninteractive message "Sending source code block to interactive terminal session..." current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] :session org-babel-screen-session-socketname org-babel-prep-session:screen org-babel-screen-session-execute-string org-babel-expand-body:generic] 10 (#$ . 592)])#@93 Prepare SESSION according to the header arguments specified in PARAMS.

(fn SESSION PARAMS)
(defalias 'org-babel-prep-session:screen #[514 "\301\236A\302\236A\303\236A\304\236A\305\306Q\307\310\311\312\nP\313\314\n\315&\f\210\316!?\2054 \202* \207" [org-babel-screen-location :session :cmd :terminal :screenrc "org-babel: terminal (" ")" start-process "*Messages*" "-T" "org-babel: " "-e" "-c" "-mS" org-babel-screen-session-socketname] 20 (#$ . 1237)])#@56 If SESSION exists, send BODY to it.

(fn SESSION BODY)
(defalias 'org-babel-screen-session-execute-string #[514 "\301!\211\205! \302\"\303\304\305Q\306\307\310\311\312\313\nP\314&\n\262\207" [org-babel-screen-location org-babel-screen-session-socketname org-babel-screen-session-write-temp-file start-process "org-babel: screen (" ")" "*Messages*" "-S" "-X" "eval" "msgwait 0" "readreg z " "paste z"] 15 (#$ . 1711)])#@74 Check if SESSION exists by parsing output of "screen -ls".

(fn SESSION)#@10 

(fn X)
(defalias 'org-babel-screen-session-socketname #[257 "\300\301!\302\303\304\305\306\307\"\"\"\302\303\304\310\311\"\"\"@\211\205! \306!@\207" [shell-command-to-string "screen -ls" delq nil mapcar #[257 "\300\301\"\205 \211\207" [string-match "\\(?:(\\(?:\\(?:At\\|De\\)tached)\\)\\)"] 4 (#$ . 2221)] split-string "\n" make-closure #[257 "\301\300!\302\303\304$\266\203\205 \211\207" [V0 regexp-quote nil string-match t] 9 (#$ . 2221)]] 9 (#$ . 2143)])#@74 Save BODY in a temp file that is named after SESSION.

(fn SESSION BODY)
(defalias 'org-babel-screen-session-write-temp-file #[514 "\300\301!\302\303\304\"\305\306\"\216r\211q\210c\210\307c\210eb\210\310\311!)\210r\211q\210\312\313\211\313\314%*\266\207" [org-babel-temp-file "screen-" generate-new-buffer " *temp file*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] "\n" delete-matching-lines "^ +$" write-region nil 0] 10 (#$ . 2699)])#@71 Test if the default setup works.
The terminal should shortly flicker.
(defalias 'org-babel-screen-test #[0 "\301\302\303\304!\"\305\306!\307\310\311\260\312\313\"\210\314!\204# \315\316!\210\202 \317\320\321\"r\211q\210\322\323\"\216\324!\210ed{*\266\202\325!\210\315\326\327\"\203L \330\202M \331P!\207" [org-babel-default-header-args:screen format "%s" random 99999 org-babel-temp-file "ob-screen-test-" "echo '" "' > " "\nexit\n" nil org-babel-execute:screen file-readable-p message "org-babel-screen: File not readable yet." generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents-literally delete-file "org-babel-screen: Setup " string-match "WORKS." "DOESN'T work."] 9 (#$ . 3182) nil])
(provide 'ob-screen)
