From 34aacc9aa037e8f17c8d32ed61a25f0a350713a0 Mon Sep 17 00:00:00 2001 From: Eric Schulte Date: Fri, 18 Jun 2010 12:38:26 -0700 Subject: [PATCH] org-table: will now strip newlines from the text of table cells * lisp/org-table.el (orgtbl-to-generic): added the :remove-newlines option which will strip newline characters from the text of table cells and replace then with "\n" (orgtbl-to-orgtbl): now using the new :remove-newlines option to orgtbl-to-generic --- lisp/org-table.el | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lisp/org-table.el b/lisp/org-table.el index 46efc28..e81a855 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -4119,6 +4119,7 @@ directly by `orgtbl-send-table'. See manual." (let* ((splicep (plist-get params :splice)) (hline (plist-get params :hline)) (remove-nil-linesp (plist-get params :remove-nil-lines)) + (remove-newlines (plist-get params :remove-newlines)) (*orgtbl-hline* hline) (*orgtbl-table* table) (*orgtbl-sep* (plist-get params :sep)) @@ -4173,9 +4174,13 @@ directly by `orgtbl-send-table'. See manual." (let ((tend (orgtbl-eval-str (plist-get params :tend)))) (if tend (push tend *orgtbl-rtn*))))) - (mapconcat 'identity (nreverse (if remove-nil-linesp - (remq nil *orgtbl-rtn*) - *orgtbl-rtn*)) "\n"))) + (mapconcat (if remove-newlines + (lambda (tend) + (replace-regexp-in-string "[\n\r\t\f]" "\\\\n" tend)) + 'identity) + (nreverse (if remove-nil-linesp + (remq nil *orgtbl-rtn*) + *orgtbl-rtn*)) "\n"))) (defun orgtbl-to-tsv (table params) "Convert the orgtbl-mode table to TAB separated material." @@ -4301,6 +4306,7 @@ and :tend suppress strings without splicing; they can be set to provide ORGTBL directives for the generated table." (let* ((params2 (list + :remove-newlines t :tstart nil :tend nil :hline "|---" :sep " | " -- 1.7.0.4