diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2017-01-12 15:28:33 +0100 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2017-01-12 15:28:33 +0100 |
commit | 400d46e547d265623e8af75dc436b67526def04c (patch) | |
tree | da4721f544385d1b3a6d7c7ef4586b75f25c0dc8 | |
parent | 343417bcdb630d4ac1bfd481c8aeb0da47db3199 (diff) | |
parent | 1749dfe091308d33799de20fb839cb3604afacc2 (diff) | |
download | org-mode-400d46e547d265623e8af75dc436b67526def04c.tar.gz |
Merge branch 'maint'
-rw-r--r-- | lisp/ox-odt.el | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/lisp/ox-odt.el b/lisp/ox-odt.el index 9aed837..b088442 100644 --- a/lisp/ox-odt.el +++ b/lisp/ox-odt.el @@ -2883,15 +2883,10 @@ contextual information." (defun org-odt--encode-tabs-and-spaces (line) (replace-regexp-in-string - "\\([\t]\\|\\([ ]+\\)\\)" + "\\(\t\\| \\{2,\\}\\)" (lambda (s) - (cond - ((string= s "\t") "<text:tab/>") - (t (let ((n (length s))) - (cond - ((= n 1) " ") - ((> n 1) (concat " " (format "<text:s text:c=\"%d\"/>" (1- n)))) - (t "")))))) + (if (string= s "\t") "<text:tab/>" + (format " <text:s text:c=\"%d\"/>" (1- (length s))))) line)) (defun org-odt--encode-plain-text (text &optional no-whitespace-filling) @@ -3674,15 +3669,13 @@ channel." "Transcode a VERSE-BLOCK element from Org to ODT. CONTENTS is verse block contents. INFO is a plist holding contextual information." - ;; Add line breaks to each line of verse. - (setq contents (replace-regexp-in-string - "\\(<text:line-break/>\\)?[ \t]*\n" - "<text:line-break/>" contents)) - ;; Replace tabs and spaces. - (setq contents (org-odt--encode-tabs-and-spaces contents)) - ;; Surround it in a verse environment. - (format "\n<text:p text:style-name=\"%s\">%s</text:p>" - "OrgVerse" contents)) + (format "\n<text:p text:style-name=\"OrgVerse\">%s</text:p>" + (replace-regexp-in-string + ;; Replace leading tabs and spaces. + "^[ \t]+" #'org-odt--encode-tabs-and-spaces + ;; Add line breaks to each line of verse. + (replace-regexp-in-string + "\\(<text:line-break/>\\)?[ \t]*$" "<text:line-break/>" contents)))) |