THis looks like the right solution to me... - Carsten
On 23.10.2011, at 10:15, Michael Sperber wrote: > > Michael Sperber <sper...@deinprogramm.de> writes: > >> Robert Pluim <rpl...@gmail.com> 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