diff options
author | Bastien Guerry <bzg@altern.org> | 2013-06-28 09:13:28 +0200 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2013-06-28 09:13:28 +0200 |
commit | 1aaa934eb25681c5b99856311712cdf8cd52a97b (patch) | |
tree | 213f4a3a64d00526c7f82fede5ffaba863cde90e | |
parent | 39d1323eec8b944d1a19426795bac4bceeac8e0e (diff) | |
parent | 30581835bdfe172744b51130ccc9075ca2080b32 (diff) | |
download | org-mode-1aaa934eb25681c5b99856311712cdf8cd52a97b.tar.gz |
Merge branch 'maint' of orgmode.org:org-mode into 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 55d8f45..c79fc25 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -1472,22 +1472,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 cd7609d..7b91f36 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -1859,11 +1859,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 "")) |