summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien <bzg@gnu.org>2018-12-08 14:54:48 +0100
committerBastien <bzg@gnu.org>2018-12-08 14:54:48 +0100
commit40111597c1f4d8bcd747e9e42b006865d937b4bf (patch)
tree3167962277ff0b4223a2fcd30d963d1df4268445
parent094cb8ecdc51b13a4688fffa68e3d0a26de82087 (diff)
parente9108043e1f9801ef1ee4d86186352b4671ddffa (diff)
downloadorg-mode-40111597c1f4d8bcd747e9e42b006865d937b4bf.tar.gz
Merge branch 'master' of code.orgmode.org:bzg/org-mode
-rw-r--r--lisp/org-capture.el8
-rw-r--r--testing/lisp/test-org-capture.el7
2 files changed, 9 insertions, 6 deletions
diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index 2d72c39..0446594 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -1670,11 +1670,9 @@ The template may still contain \"%?\" for cursor positioning."
;; Outside embedded Lisp, repeat leading
;; characters before initial place holder
;; every line.
- (let ((lead (buffer-substring-no-properties
- (line-beginning-position) (point))))
- (replace-regexp-in-string "\n\\(.\\)"
- (concat lead "\\1")
- v-i nil nil 1))))
+ (let ((lead (concat "\n"
+ (org-current-line-string t))))
+ (replace-regexp-in-string "\n" lead v-i nil t))))
(?a v-a)
(?A v-A)
(?c v-c)
diff --git a/testing/lisp/test-org-capture.el b/testing/lisp/test-org-capture.el
index fd4f21a..978f843 100644
--- a/testing/lisp/test-org-capture.el
+++ b/testing/lisp/test-org-capture.el
@@ -74,11 +74,16 @@
(org-capture-fill-template
"%i" "%(concat \"no \" \"evaluation\")"))))
;; When %i contents span over multiple line, repeat initial leading
- ;; characters over each line.
+ ;; characters over each line. Also try possibly problematic
+ ;; prefixes such as "\\".
(should
(equal "> line 1\n> line 2\n"
(let ((org-store-link-plist nil))
(org-capture-fill-template "> %i" "line 1\nline 2"))))
+ (should
+ (equal "\\ line 1\n\\ line 2\n"
+ (let ((org-store-link-plist nil))
+ (org-capture-fill-template "\\ %i" "line 1\nline 2"))))
;; Test %-escaping with \ character.
(should
(equal "%i\n"