В org-mode таблицы в сборках под виндовс (23.2, 23.3) создаются таким образом, что все строки располагаются в одной строке. я сначала думал, что может для виндовса используется неверный символ перевода строки - вместо «\n» надо «\r\n», но попробовав для теста
(insert "\nHello, ELisp!")
вижу, что «\n» работает. Может, есть какой-то меxанизм глобальный, который отключает переводы строк? Перепробовал разные моды для таблиц, везде проблема одна и таже - строки в одну строку лепятся.
В самом коде создания таблицы криминала не вижу:
emacs/lisp/org/org-table.el:
(defun org-table-create (&optional size)
"Query for a size and insert a table skeleton.
SIZE is a string Columns x Rows like for example \"3x2\"."
(interactive "P")
(unless size
(setq size (read-string
(concat "Table size Columns x Rows [e.g. "
org-table-default-size "]: ")
"" nil org-table-default-size)))
(let* ((pos (point))
(indent (make-string (current-column) ?\ ))
(split (org-split-string size " *x *"))
(rows (string-to-number (nth 1 split)))
(columns (string-to-number (car split)))
(line (concat (apply 'concat indent "|" (make-list columns " |"))
"\n")))
(if (string-match "^[ \t]*$" (buffer-substring-no-properties
(point-at-bol) (point)))
(beginning-of-line 1)
(newline))
;; (mapcar (lambda (x) (insert line)) (make-list rows t))
(dotimes (i rows)
(insert line))
(goto-char pos)
(if (> rows 1)
;; Insert a hline after the first row.
(progn
(end-of-line 1)
(insert "\n|-")
(goto-char pos)))
(org-table-align)))