Function: org-table-to-lisp

org-table-to-lisp is an autoloaded and byte-compiled function defined in org-table.el.gz.

Signature

(org-table-to-lisp &optional TXT)

Documentation

Convert the table at point to a Lisp structure.

The structure will be a list. Each item is either the symbol hline for a horizontal separator line, or a list of field values as strings. The table is taken from the parameter TXT, or from the buffer at point.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-table.el.gz
;;;###autoload
(defun org-table-to-lisp (&optional txt)
  "Convert the table at point to a Lisp structure.

The structure will be a list.  Each item is either the symbol `hline'
for a horizontal separator line, or a list of field values as strings.
The table is taken from the parameter TXT, or from the buffer at point."
  (if txt
      (with-temp-buffer
        (insert txt)
        (goto-char (point-min))
        (org-table-to-lisp))
    (save-excursion
      (goto-char (org-table-begin))
      (let ((table nil))
        (while (re-search-forward "\\=[ \t]*|" nil t)
	  (let ((row nil))
	    (if (looking-at "-")
		(push 'hline table)
	      (while (not (progn (skip-chars-forward " \t") (eolp)))
		(push (buffer-substring
		       (point)
		       (progn (re-search-forward "[ \t]*\\(|\\|$\\)")
			      (match-beginning 0)))
		      row))
	      (push (nreverse row) table)))
	  (forward-line))
        (nreverse table)))))