| Server IP : 217.160.0.212 / Your IP : 216.73.217.5 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/org/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(require 'ob)
#@109 The command location for screen.
In case you want to use a different screen than one selected by your $PATH
(defvar org-babel-screen-location "screen" (#$ . 99))
#@61 Default arguments to use when running screen source blocks.
(defvar org-babel-default-header-args:screen (byte-code "\301\302\303\304\305B\257\207" [null-device (:results . "silent") (:session . "default") (:cmd . "sh") (:terminal . "xterm") :screenrc] 6) (#$ . 267))
#@128 Send a block of code via screen to a terminal using Babel.
"default" session is used when none is specified.
(fn BODY PARAMS)
(defalias 'org-babel-execute:screen #[514 "\300\301!\210\302 \303\304\"\216\305\236A\306!\211\204 \307\"\210\310\311\"\"\266\202)\207" [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 (#$ . 544)])
#@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\313P\314\315\316\257 %\210\317!?\2057 \202- \207" [org-babel-screen-location :session :cmd :terminal :screenrc "org-babel: terminal (" ")" apply start-process "*Messages*" "-T" "org-babel: " "-e" "-c" "-mS" org-babel-screen-session-socketname] 21 (#$ . 1152)])
#@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\305\306Q\307\310\311\312\313\314P\315BBBBBB%\262\207" [org-babel-screen-location org-babel-screen-session-socketname org-babel-screen-session-write-temp-file apply start-process "org-babel: screen (" ")" "*Messages*" "-S" "-X" "eval" "msgwait 0" "readreg z " ("paste z")] 16 (#$ . 1639)])
#@74 Check if SESSION exists by parsing output of "screen -ls".
(fn SESSION)
(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 "\n\n(fn X)"] split-string "\n" make-closure #[257 "\302\300!\303\304\305#)\266\203\205 \211\207" [V0 inhibit-changing-match-data regexp-quote nil t string-match] 8 "\n\n(fn X)"]] 9 (#$ . 2088)])
#@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\210c\210\307c\210eb\210\310\311!\210)r\211q\210\312\313\211\313\314%\210*\210\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 (#$ . 2663)])
#@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{*\262\262\325!\210\315\326\327\"\203N \330\202O \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 (#$ . 3150) nil])
(provide 'ob-screen)