summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2017-01-12 15:28:33 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2017-01-12 15:28:33 +0100
commit400d46e547d265623e8af75dc436b67526def04c (patch)
treeda4721f544385d1b3a6d7c7ef4586b75f25c0dc8
parent343417bcdb630d4ac1bfd481c8aeb0da47db3199 (diff)
parent1749dfe091308d33799de20fb839cb3604afacc2 (diff)
downloadorg-mode-400d46e547d265623e8af75dc436b67526def04c.tar.gz
Merge branch 'maint'
-rw-r--r--lisp/ox-odt.el27
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))))