Function: org-element-src-block-interpreter

org-element-src-block-interpreter is a byte-compiled function defined in org-element.el.gz.

Signature

(org-element-src-block-interpreter SRC-BLOCK _)

Documentation

Interpret SRC-BLOCK element as Org syntax.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-element.el.gz
(defun org-element-src-block-interpreter (src-block _)
  "Interpret SRC-BLOCK element as Org syntax."
  (let ((lang (org-element-property :language src-block))
	(switches (org-element-property :switches src-block))
	(params (org-element-property :parameters src-block))
	(value
	 (let ((val (org-element-property :value src-block)))
	   (cond
	    ((or org-src-preserve-indentation
		 (org-element-property :preserve-indent src-block))
	     val)
	    ((zerop org-edit-src-content-indentation)
	     (org-remove-indentation val))
	    (t
	     (let ((ind (make-string org-edit-src-content-indentation ?\s)))
	       (replace-regexp-in-string "^[ \t]*\\S-"
					 (concat ind "\\&")
					 (org-remove-indentation val))))))))
    (format "#+begin_src%s\n%s#+end_src"
	    (concat (and lang (concat " " lang))
		    (and switches (concat " " switches))
		    (and params (concat " " params)))
	    (org-element-normalize-string (org-escape-code-in-string value)))))