Function: org-babel-read-element

org-babel-read-element is a byte-compiled function defined in ob-core.el.gz.

Signature

(org-babel-read-element ELEMENT)

Documentation

Read ELEMENT into emacs-lisp.

Return nil if ELEMENT cannot be read.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ob-core.el.gz
(defun org-babel-read-element (element)
  "Read ELEMENT into emacs-lisp.
Return nil if ELEMENT cannot be read."
  (org-with-wide-buffer
   (goto-char (org-element-post-affiliated element))
   (pcase (org-element-type element)
     (`fixed-width
      (let ((v (org-trim (org-element-property :value element))))
	(or (org-babel--string-to-number v) v)))
     (`table (org-babel-read-table))
     (`plain-list (org-babel-read-list))
     ((or `example-block `src-block)
      (let ((v (org-element-property :value element)))
	(if (org-src-preserve-indentation-p element) v
	  (org-remove-indentation v))))
     (`export-block
      (org-remove-indentation (org-element-property :value element)))
     (`paragraph
      ;; Treat paragraphs containing a single link specially.
      (skip-chars-forward " \t")
      (if (and (looking-at org-link-bracket-re)
	       (save-excursion
		 (goto-char (match-end 0))
		 (skip-chars-forward " \r\t\n")
		 (<= (org-element-end element)
		     (point))))
	  (org-babel-read-link)
	(buffer-substring-no-properties
	 (org-element-contents-begin element)
	 (org-element-contents-end element))))
     ((or `center-block `quote-block `verse-block `special-block)
      (org-remove-indentation
       (buffer-substring-no-properties
	(org-element-contents-begin element)
	(org-element-contents-end element))))
     (_ nil))))