[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] org-capture and XEmacs, indenting too far
From: |
Carsten Dominik |
Subject: |
Re: [O] org-capture and XEmacs, indenting too far |
Date: |
Sun, 23 Oct 2011 11:54:18 +0200 |
THis looks like the right solution to me...
- Carsten
On 23.10.2011, at 10:15, Michael Sperber wrote:
>
> 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