emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] org-capture does not fully clean up after C-c C-k


From: Bastien
Subject: Re: [O] org-capture does not fully clean up after C-c C-k
Date: Tue, 12 Jul 2011 01:00:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Hi Leo,

Leo <address@hidden> writes:

> On 2011-06-16 15:51 +0800, Carsten Dominik wrote:
>> Hi Leo,
>>
>> I am unable to reproduce this.  I do get an empty line the first time,
>> but when the empty line is already there, then there is no problem.
>>
>> Do you find the insertion of this one empty line a problem?
>>
>> - Carsten
>
> Sorry for the long delay. I can reproduce this in Emacs -q with
>
>   (setq org-blank-before-new-entry '((heading)))

Please let me know if the attached patch fixes this issue.

Thanks,

>From 38334f29f4c949cad76c199433f60250a824878d Mon Sep 17 00:00:00 2001
From: Bastien Guerry <address@hidden>
Date: Tue, 12 Jul 2011 00:57:57 +0200
Subject: [PATCH] org-capture.el: Fix bug about insert blank line when
 aborting.

* org-capture.el (org-capture-finalize): bugfix about
inserted blank line when killing the capture buffer and
`org-blank-before-new-entry' tells to not insert anything
before a heading.

Thanks to Leo for reporting this.
---
 lisp/org-capture.el |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index d547f3d..dd74ecc 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -551,6 +551,9 @@ captured item after finalizing."
              (m2 (org-capture-get :end-marker 'local)))
          (if (and m1 m2 (= m1 beg) (= m2 end))
              (progn
+               (setq m2 (if (cdr (assoc 'heading org-blank-before-new-entry))
+                            m2 (1+ m2))
+                     m2 (if (< (point-max) m2) (point-max) m2))
                (setq abort-note 'clean)
                (kill-region m1 m2))
            (setq abort-note 'dirty)))
@@ -576,16 +579,14 @@ captured item after finalizing."
                   (org-at-table-p))
          (if (org-table-get-stored-formulas)
              (org-table-recalculate 'all) ;; FIXME: Should we iterate???
-           (org-table-align)))
-       )
+           (org-table-align))))
       ;; Store this place as the last one where we stored something
       ;; Do the marking in the base buffer, so that it makes sense after
       ;; the indirect buffer has been killed.
       (org-capture-bookmark-last-stored-position)
 
       ;; Run the hook
-      (run-hooks 'org-capture-before-finalize-hook)
-      )
+      (run-hooks 'org-capture-before-finalize-hook))
 
     ;; Kill the indirect buffer
     (save-buffer)
@@ -665,7 +666,8 @@ already gone.  Any prefix argument will be passed to the 
refile command."
   (interactive)
   ;; FIXME: This does not do the right thing, we need to remove the new stuff
   ;; By hand it is easy: undo, then kill the buffer
-  (let ((org-note-abort t) (org-capture-before-finalize-hook nil))
+  (let ((org-note-abort t) 
+       (org-capture-before-finalize-hook nil))
     (org-capture-finalize)))
 
 (defun org-capture-goto-last-stored ()
-- 
1.7.5.2

-- 
 Bastien

reply via email to

[Prev in Thread] Current Thread [Next in Thread]