summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAchim Gratz <Stromeko@Stromeko.DE>2013-06-27 20:17:55 +0200
committerAchim Gratz <Stromeko@Stromeko.DE>2013-06-27 20:17:55 +0200
commit911c5d70938921a03d2e131e53b44f81e7b21070 (patch)
tree362fb3dae7971616561b0e12658198ec21c50f06
parentaa500b1eaaeec071f8eb6ec3c022144d74b6249c (diff)
parent30581835bdfe172744b51130ccc9075ca2080b32 (diff)
downloadorg-mode-911c5d70938921a03d2e131e53b44f81e7b21070.tar.gz
Merge branch '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 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 ""))