0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-07-17 14:26:26 +00:00

Merge branch 'maint'

This commit is contained in:
Achim Gratz 2013-06-27 20:17:55 +02:00
commit 911c5d7093
2 changed files with 22 additions and 21 deletions

View file

@ -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."

View file

@ -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 ""))