diff options
author | Achim Gratz <Stromeko@Stromeko.DE> | 2013-06-27 20:17:55 +0200 |
---|---|---|
committer | Achim Gratz <Stromeko@Stromeko.DE> | 2013-06-27 20:17:55 +0200 |
commit | 911c5d70938921a03d2e131e53b44f81e7b21070 (patch) | |
tree | 362fb3dae7971616561b0e12658198ec21c50f06 | |
parent | aa500b1eaaeec071f8eb6ec3c022144d74b6249c (diff) | |
parent | 30581835bdfe172744b51130ccc9075ca2080b32 (diff) | |
download | org-mode-911c5d70938921a03d2e131e53b44f81e7b21070.tar.gz |
Merge branch 'maint'
-rw-r--r-- | lisp/ob-core.el | 28 | ||||
-rw-r--r-- | lisp/org-table.el | 15 |
2 files changed, 22 insertions, 21 deletions
diff --git a/lisp/ob-core.el b/lisp/ob-core.el index c5ed939..4115912 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -1513,22 +1513,18 @@ names." (defun org-babel-get-rownames (table) "Return the row names of TABLE. Return a cons cell, the `car' of which contains the TABLE less -colnames, and the `cdr' of which contains a list of the column -names. Note: this function removes any hlines in TABLE." - (let* ((trans (lambda (table) (apply #'mapcar* #'list table))) - (width (apply 'max - (mapcar (lambda (el) (if (listp el) (length el) 0)) table))) - (table (funcall trans (mapcar (lambda (row) - (if (not (equal row 'hline)) - row - (setq row '()) - (dotimes (n width) - (setq row (cons 'hline row))) - row)) - table)))) - (cons (mapcar (lambda (row) (if (equal (car row) 'hline) 'hline row)) - (funcall trans (cdr table))) - (remove 'hline (car table))))) +rownames, and the `cdr' of which contains a list of the rownames. +Note: this function removes any hlines in TABLE." + (let* ((table (org-babel-del-hlines table)) + (rownames (funcall (lambda () + (let ((tp table)) + (mapcar + (lambda (row) + (prog1 + (pop (car tp)) + (setq tp (cdr tp)))) + table)))))) + (cons table rownames))) (defun org-babel-put-colnames (table colnames) "Add COLNAMES to TABLE if they exist." diff --git a/lisp/org-table.el b/lisp/org-table.el index aec0165..b6d0fbb 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -1829,11 +1829,16 @@ will be transposed as Note that horizontal lines disappeared." (interactive) - (let ((contents - (apply #'mapcar* #'list - ;; remove 'hline from list - (delq nil (mapcar (lambda (x) (when (listp x) x)) - (org-table-to-lisp)))))) + (let* ((table (delete 'hline (org-table-to-lisp))) + (contents (mapcar (lambda (p) + (let ((tp table)) + (mapcar + (lambda (rown) + (prog1 + (pop (car tp)) + (setq tp (cdr tp)))) + table))) + (car table)))) (delete-region (org-table-begin) (org-table-end)) (insert (mapconcat (lambda(x) (concat "| " (mapconcat 'identity x " | " ) " |\n" )) contents "")) |