;ELC   
;;; Compiled
;;; in Emacs version 24.5.1
;;; 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!\207" [require ob shell] 2)
(defvar org-babel-default-header-args:shell nil)
#@62 List of names of shell supported by babel shell code blocks.
(custom-declare-variable 'org-babel-shell-names ''("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh") '(#$ . 521) :group 'org-babel :type 'string :initialize #[(symbol value) "\302	\211A@\262\"\210\303\304	\211A@\262\"\207" [symbol value set-default mapc #[(name) "\301\302\303\304P!\305\306\307\"\310\311DC\312BB\257!\207" [name eval defun intern "org-babel-execute:" (body params) format "Execute a block of %s commands with Babel." let shell-file-name ((org-babel-execute:shell body params))] 8]] 4])
#@105 Execute a block of Shell commands with Babel.
This function is called by `org-babel-execute-src-block'.
(defalias 'org-babel-execute:shell #[(body params) "\306\307\310\"A!\307\311\"A\211\205 \312\313\n!!)\307\314\"A\315\f\316!#\317\320	\n%\321\307\322\"A\307\323\"A\"\321\307\324\"A\307\325\"A\"#,\207" [params session stdin cmdline body full-body org-babel-sh-initiate-session assoc :session :stdin org-babel-sh-var-to-string org-babel-ref-resolve :cmdline org-babel-expand-body:generic org-babel-variable-assignments:shell org-babel-reassemble-table org-babel-sh-evaluate org-babel-pick-name :colname-names :colnames :rowname-names :rownames] 9 (#$ . 1101)])
#@72 Prepare SESSION according to the header arguments specified in PARAMS.
(defalias 'org-babel-prep-session:shell #[(session params) "\305!\306	!\307!\204 \310\311\"\210\312 \313\216rq\210\314\315\316\n\"\210,*\207" [session params var-lines save-match-data-internal comint-input-filter org-babel-sh-initiate-session org-babel-variable-assignments:shell org-babel-comint-buffer-livep error "Buffer %s does not exist or has no process" match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) #[(input) "\300\207" [nil] 1] mapc #[(var) "c\210\302\303\304\"\210\305	!\207" [var session comint-send-input nil t org-babel-comint-wait-for-output] 3]] 3 (#$ . 1787)])
#@25 Load BODY into SESSION.
(defalias 'org-babel-load-session:shell #[(session body params) "\305 \306\216\307	\n\"rq\210\310\311p!!b\210\312\f!c\210)+\207" [#1=#:wconfig session params buffer body current-window-configuration ((set-window-configuration #1#)) org-babel-prep-session:shell process-mark get-buffer-process org-babel-chomp] 3 (#$ . 2503)])
#@74 Returns a list of statements declaring the values as a generic variable.
(defalias 'org-babel-variable-assignments:sh-generic #[(varname values &optional sep hline) "\304\305\306	\n##\207" [varname values sep hline format "%s=%s" org-babel-sh-var-to-sh] 7 (#$ . 2863)])
#@68 Returns a list of statements declaring the values as a bash array.
(defalias 'org-babel-variable-assignments:bash_array #[(varname values &optional sep hline) "\302\303\211\304\305	\306#$\207" [varname values format "unset %s\ndeclare -a %s=( %s )" mapconcat #[(value) "\303	\n#\207" [value sep hline org-babel-sh-var-to-sh] 4] " "] 8 (#$ . 3141)])
#@78 Returns a list of statements declaring the values as bash associative array.
(defalias 'org-babel-variable-assignments:bash_assoc #[(varname values &optional sep hline) "\302\303\211\304\305	\306#$\207" [varname values format "unset %s\ndeclare -A %s\n%s" mapconcat #[(items) "\304\305\306	@\n#\306	A\n#$\207" [varname items sep hline format "%s[%s]=%s" org-babel-sh-var-to-sh] 8] "\n"] 8 (#$ . 3498)])
#@59 Represents the parameters as useful Bash shell variables.
(defalias 'org-babel-variable-assignments:bash #[(varname values &optional sep hline) "<\203! @<\203 @G\304U\203 \305	\n$\207\306	\n$\207\307	\n$\207" [values varname sep hline 1 org-babel-variable-assignments:bash_array org-babel-variable-assignments:bash_assoc org-babel-variable-assignments:sh-generic] 5 (#$ . 3911)])
#@66 Return list of shell statements assigning the block's variables.
(defalias 'org-babel-variable-assignments:shell #[(params) "\303\304\"A\303\305\"A\306\230\205 \303\307\"A\206 \310\311\312\311\313\314\315\"\"\"*\207" [params hline sep assoc :separator :hlines "yes" :hline-string "hline" mapcar #[(pair) "\304\305\"\203 \306	@	A\n$\207\307	@	A\n$\207" [shell-file-name pair sep hline string-match "bash$" org-babel-variable-assignments:bash org-babel-variable-assignments:sh-generic] 5] cdr org-babel-get-header :var] 7 (#$ . 4308)])
#@134 Convert an elisp value to a shell variable.
Convert an elisp var into a string of shell commands specifying a
var of the same value.
(defalias 'org-babel-sh-var-to-sh #[(var &optional sep hline) "\303\304\303\305\306	\n##\303Q\207" [var sep hline "'" replace-regexp-in-string "'\"'\"'" org-babel-sh-var-to-string] 8 (#$ . 4861)])
#@37 Convert an elisp value to a string.
(defalias 'org-babel-sh-var-to-string #[(var &optional sep hline) "\304	<\203& 	@<\204 	@\303\232\203& \305	\306\n\206 \307\310\311\257\"\2026 	<\2033 \312	\313#\2026 	!)\207" [echo-var var sep hline #[(v) ";\203 \207\301\302\"\207" [v format "%S"] 3] orgtbl-to-generic :sep "	" :fmt :hline mapconcat "\n"] 8 (#$ . 5198)])
#@55 Initiate a session named SESSION according to PARAMS.
(defalias 'org-babel-sh-initiate-session #[(&optional session params) "\205# \303\230?\205# \304 \305\216\306!\206\" \307!\210\n`\310\223\210\311p!*\207" [session #1=#:wconfig comint-last-output-start "none" current-window-configuration ((set-window-configuration #1#)) org-babel-comint-buffer-livep shell nil get-buffer] 3 (#$ . 5575)])
#@51 String to indicate that evaluation has completed.
(defvar org-babel-sh-eoe-indicator "echo 'org_babel_sh_eoe'" (#$ . 5978))
#@51 String to indicate that evaluation has completed.
(defvar org-babel-sh-eoe-output "org_babel_sh_eoe" (#$ . 6108))
#@216 Pass BODY to the Shell process in BUFFER.
If RESULT-TYPE equals 'output then return a list of the outputs
of the statements in BODY, if RESULT-TYPE equals 'value then
return the value of the last statement in BODY.
(defalias 'org-babel-sh-evaluate #[(session body &optional params stdin cmdline) "\204 	\203\263 \306\307!\306\310!\311\312\n\"A\311\313\n\"A\314\230?\211@\315\316\317!!AB\320\216rAq\210\f\203: \f\321Pc\210\203A \321c\210Cc\210)rAq\210\322\323\211B\323\324%\210,\325@\326\"\210\315\316\317!!DE\327\216rDq\210\206q \330c\210)rDq\210\322\323\211E\323\324%\210,\331\332!FrFq\210\333\216\334\f\203\231 @\202\240 \335\336G@#	\205\247 \337	PPp#\210\340 .\202\342H\203o\341\342\343\344\345\346H!\204\312 \347\350H\"\210\351 I\352\216rHq\210\353J\330K\354LBL\323\211MN\355\356p!!b\210`dO\211PO{MPO|\210*\357\360\361\362\344C!\321\"QC\"\"\210Rb\210\212\363\364S!\323\365#\205'\363T\323\365#)\2044\366\356p!!\210\202\355\356p!!b\210Mc\210C\203_\367\370\321\371\364C\206O\330!#K\"\203_K\324\225\323ON\362KT\".\372\"\"\321#\202\342\311\312\n\"A\203\332\311\312\n\"AG\324V\203\332\306\307!\311\312\n\"A\311\313\n\"A\314\232?\211@\315\316\317!!UV\373\216rUq\210\f\203\260\f\321Pc\210\203\267\321c\210Cc\210)rUq\210\322\323\211V\323\324%\210,\325@\326\"\210\374@\330\"+\202\342\374G\344C!\"\211W\205\226\311\375\n\"A\211XY\376Y\235?\205\225\377Y\235\204[\201] Y\235\204[\201^ Y\235\204[\201_ Y\235\204[\201` Y\235\204[\201a Y\235\204[\201b Y\235\204R\201c Y\235\204R\201d Y\235\204R\201e Y\235\203`\201f Y\235\204`W\202\225\306\201g !\211Z\315\316\317!![\\\201h \216r[q\210Wc\210)r[q\210\322\323\211\\\323\324%\210,\201i Z!)*)\207" [stdin cmdline params padline shebang stdin-file org-babel-temp-file "sh-script-" "sh-stdin-" assoc :shebang :padline "no" get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n \302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) "\n" write-region nil 0 set-file-modes 493 ((byte-code "\301!\203\n \302!\210\301\207" [#2=#:temp-buffer buffer-name kill-buffer] 2)) "" generate-new-buffer " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#3=#:temp-buffer buffer-name kill-buffer] 2)) call-process-shell-command format "%s %s" " " buffer-string mapconcat org-babel-sh-strip-weird-long-prompt mapcar org-babel-trim butlast org-babel-comint-buffer-livep error "Buffer %s does not exist or has no process" match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) #[(input) "\300\207" [nil] 1] #[(text) "	P\211\207" [string-buffer text] 2] process-mark get-buffer-process mapc #[(line) "c\210\303\304\305\"\210\212	b\210\306\n\304\305#)?\205 \307\310p!!\210\202 \207" [line comint-last-input-end comint-prompt-regexp comint-send-input nil t re-search-forward accept-process-output get-buffer-process] 4] append split-string re-search-forward regexp-quote t accept-process-output string-match replace-regexp-in-string "[\n]+" 2 ((byte-code "\301!\203\n \302!\210\301\207" [#4=#:temp-buffer buffer-name kill-buffer] 2)) org-babel-eval :result-params "none" "scalar" script-file #1# #5=#:temp-file body #2# #6=#:temp-file #3# shell-file-name session save-match-data-internal comint-input-filter string-buffer comint-output-filter-functions dangling-text raw end start org-babel-sh-eoe-indicator comint-last-input-end org-babel-sh-eoe-output comint-prompt-regexp #4# #7=#:temp-file results result-params #8=#:--params tmp-file #9=#:temp-buffer #10=#:temp-file "verbatim" "html" "code" "pp" "file" "output" "raw" "org" "drawer" "table" "sh-" ((byte-code "\301!\203\n \302!\210\301\207" [#9# buffer-name kill-buffer] 2)) org-babel-import-elisp-from-file] 12 (#$ . 6229)])
#@52 Remove prompt cruft from a string of shell output.
(defalias 'org-babel-sh-strip-weird-long-prompt #[(string) "\301\302\"\203 \303\225\304O\202  \207" [string string-match "^% +[\n$]+ *" 0 nil] 3 (#$ . 10056)])
(provide 'ob-shell)
