summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2013-06-28 07:13:28 (GMT)
committer Bastien Guerry <bzg@altern.org>2013-06-28 07:13:28 (GMT)
commit1aaa934eb25681c5b99856311712cdf8cd52a97b (patch)
tree213f4a3a64d00526c7f82fede5ffaba863cde90e
parent39d1323eec8b944d1a19426795bac4bceeac8e0e (diff)
parent30581835bdfe172744b51130ccc9075ca2080b32 (diff)
downloadorg-mode-1aaa934eb25681c5b99856311712cdf8cd52a97b.zip
org-mode-1aaa934eb25681c5b99856311712cdf8cd52a97b.tar.gz
Merge branch 'maint' of orgmode.org:org-mode into maint
-rw-r--r--lisp/ob-core.el28
-rw-r--r--lisp/org-table.el15
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 ""))