From 97a780f0be734ac661460c39526f97ad41ea0bac Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Wed, 7 Dec 2022 16:59:21 +0300 Subject: [PATCH] org-table-justify-field-maybe: Do not allow newlines inside cells * lisp/org-table.el (org-table-justify-field-maybe): Remove newlines from cell values, when present. Newlines will alter the table cell structure. Reported-by: Julien Palard Link: https://orgmode.org/list/638faf1b.050a0220.2bd96.904b@mx.google.com --- lisp/org-table.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lisp/org-table.el b/lisp/org-table.el index 8e0e8e6cf..70ebde205 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -4448,6 +4448,13 @@ FIELD is a string. WIDTH is a number. ALIGN is either \"c\", (defun org-table-justify-field-maybe (&optional new) "Justify the current field, text to left, number to right. Optional argument NEW may specify text to replace the current field content." + ;; FIXME: Prevent newlines inside field. They are currently not + ;; supported. + (when (and (stringp new) (string-match-p "\n" new)) + (message "Removing newlines from formula result: %S" new) + (setq new (replace-regexp-in-string + "\n" " " + (replace-regexp-in-string "\\(^\n+\\)\\|\\(\n+$\\)" "" new)))) (cond ((and (not new) org-table-may-need-update)) ; Realignment will happen anyway ((org-at-table-hline-p))