[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: |
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