From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Sperber Subject: Re: org-capture and XEmacs, indenting too far Date: Sun, 23 Oct 2011 10:15:51 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([140.186.70.92]:49813) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RHtDr-0000QA-SC for emacs-orgmode@gnu.org; Sun, 23 Oct 2011 04:16:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RHtDq-0002pX-CE for emacs-orgmode@gnu.org; Sun, 23 Oct 2011 04:15:59 -0400 Received: from h615406.serverkompetenz.net ([81.169.143.132]:21994) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RHtDq-0002pQ-5q for emacs-orgmode@gnu.org; Sun, 23 Oct 2011 04:15:58 -0400 In-Reply-To: (Michael Sperber's message of "Sat, 22 Oct 2011 16:46:07 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Cc: Robert Pluim , carsten.dominik@gmail.com Michael Sperber writes: > Robert Pluim 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 followin= g >> 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 work= s >> 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. Retu= rn 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 indirec= t buffer." (setq bname (concat prefix "-" (number-to-string (incf n)) "-" bas= e))) (condition-case nil (make-indirect-buffer buffer bname 'clone) - (error (make-indirect-buffer buffer bname))))) + (error=20 + (let ((buf (make-indirect-buffer buffer bname))) + (with-current-buffer buf (org-mode)) + buf))))) =20 =20 (defun org-capture-verify-tree (tree) Sorry about the snafu. --=20 Cheers =3D8-} Mike Friede, V=F6lkerverst=E4ndigung und =FCberhaupt blabla