From 9bbfc37ab059e923c57eaa99e3a2d81144c80218 Mon Sep 17 00:00:00 2001 From: York Zhao Date: Wed, 9 Apr 2014 13:39:16 -0400 Subject: [PATCH] testing/org-test.el (org-test-with-temp-text): Fix point position According to the docstring, if the string "" appears in TEXT then the string "" is removed and point is placed there. The problem was that after string "" was removed, the point was *not* placed at the position of the removed text, rather, it was placed one character before that position which is wrong. The reason is that Emacs buffer position is a number started from 1, instead of 0, in other words, the value of `(point-min)' is 1 not 0. The problem is addressed by adding 1 to the calculated position. TINYCHANGE --- testing/org-test.el | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/testing/org-test.el b/testing/org-test.el index 879d45e..983c012 100644 --- a/testing/org-test.el +++ b/testing/org-test.el @@ -209,11 +209,12 @@ otherwise place the point at the beginning of the inserted text." (with-temp-buffer (org-mode) (let ((point (string-match (regexp-quote "") inside-text))) - (if point - (progn (insert (replace-match "" nil nil inside-text)) - (goto-char (match-beginning 0))) - (progn (insert inside-text) - (goto-char (point-min))))) + (if point + (progn + (insert (replace-match "" nil nil inside-text)) + (goto-char (1+ (match-beginning 0)))) + (progn (insert inside-text) + (goto-char (point-min))))) ,@body))) (def-edebug-spec org-test-with-temp-text (form body)) -- 1.8.4