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