emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] org-capture and XEmacs, indenting too far


From: Michael Sperber
Subject: Re: [O] org-capture and XEmacs, indenting too far
Date: Sun, 23 Oct 2011 10:15:51 +0200
User-agent: Gnus/5.110011 (No Gnus v0.11) XEmacs/21.5-b31 (darwin)

Michael Sperber <address@hidden> writes:

> Robert Pluim <address@hidden> writes:
>
>> Hi, I'm using XEmacs 21.5  (beta29) "garbanzo" d27c1ee1943b+ [Lucid]
>> (i686-pc-cygwin, Mule) of Mon Oct 18 2010 on RPluim, with the following
>> org-capture-templates
>>
>> (("t" "Todo" entry (file+headline "~/org/notes.org" "Tasks") "* TODO %?"))
>>
>> The problem is that for some reason the resulting TODO heading is has 2
>> extra spaces, and is placed at too deep a level, giving:
>>
>> * Tasks
>> ***   TODO a task
>>
>> I've tested this on a fairly recent emacs24 build, and everything works
>> fine there, so this is probably something XEmacs specific.  Can anyone
>> suggest any way to track this down (I'd bisect, but I've yet to find a
>> 'good' version)?
>
> I finally got around to looking into this: The reason is that, in
> org-capture mode, `outline-level' is bound to outline.el's function,

Looking at this again, my analysis was stupid: The problem is that the
indirect buffer used for capture is not in org-mode at all, and that is
indeed an XEmacs-specific problem, as `make-indirect-buffer' does not
accept the 'clone argument on XEmacs.  I therefore retract the rubbish I
sent earlier and suggest this one instead:

diff --git a/lisp/ob-calc.el b/lisp/ob-calc.el
index 14d7d5d..44ed82b 100644
--- a/lisp/ob-calc.el
+++ b/lisp/ob-calc.el
@@ -28,7 +28,6 @@
 ;;; Code:
 (require 'ob)
 (require 'calc)
-(require 'calc-store)
 (unless (featurep 'xemacs)
   (require 'calc-trail)
   (require 'calc-store))
diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index e1b8a4f..fa9895f 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -848,6 +848,7 @@ it.  When it is a variable, retrieve the value.  Return 
whatever we get."
   (goto-char (org-capture-get :pos))
   (org-set-local 'org-capture-target-marker
                 (move-marker (make-marker) (point)))
+  (org-set-local 'outline-level 'org-outline-level)
   (let* ((template (org-capture-get :template))
         (type (org-capture-get :type)))
     (case type
@@ -1213,7 +1214,10 @@ Use PREFIX as a prefix for the name of the indirect 
buffer."
       (setq bname (concat prefix "-" (number-to-string (incf n)) "-" base)))
     (condition-case nil
         (make-indirect-buffer buffer bname 'clone)
-      (error (make-indirect-buffer buffer bname)))))
+      (error 
+       (let ((buf (make-indirect-buffer buffer bname)))
+        (with-current-buffer buf (org-mode))
+        buf)))))
 
 
 (defun org-capture-verify-tree (tree)

Sorry about the snafu.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla



reply via email to

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