emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* org-capture and XEmacs, indenting too far
@ 2010-11-30 10:09 Robert Pluim
  2011-10-22 14:46 ` Michael Sperber
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Pluim @ 2010-11-30 10:09 UTC (permalink / raw)
  To: emacs-orgmode

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)?

Thanks

Robert

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: org-capture and XEmacs, indenting too far
  2010-11-30 10:09 org-capture and XEmacs, indenting too far Robert Pluim
@ 2011-10-22 14:46 ` Michael Sperber
  2011-10-23  8:15   ` Michael Sperber
  2011-10-26 17:50   ` [Accepted] " Bastien Guerry
  0 siblings, 2 replies; 7+ messages in thread
From: Michael Sperber @ 2011-10-22 14:46 UTC (permalink / raw)
  To: emacs-orgmode, Robert Pluim, carsten.dominik


Robert Pluim <rpluim@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,
which is off by one compared to org-mode's.  I used this patch to fix
it:

diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index e1b8a4f..cfa35d5 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

Could somebody review and maybe apply this?

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: org-capture and XEmacs, indenting too far
  2011-10-22 14:46 ` Michael Sperber
@ 2011-10-23  8:15   ` Michael Sperber
  2011-10-23  9:54     ` Carsten Dominik
                       ` (2 more replies)
  2011-10-26 17:50   ` [Accepted] " Bastien Guerry
  1 sibling, 3 replies; 7+ messages in thread
From: Michael Sperber @ 2011-10-23  8:15 UTC (permalink / raw)
  To: emacs-orgmode; +Cc: Robert Pluim, carsten.dominik


Michael Sperber <sperber@deinprogramm.de> writes:

> Robert Pluim <rpluim@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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: org-capture and XEmacs, indenting too far
  2011-10-23  8:15   ` Michael Sperber
@ 2011-10-23  9:54     ` Carsten Dominik
  2011-10-23 17:53     ` Bastien
  2011-10-26 17:43     ` Bastien
  2 siblings, 0 replies; 7+ messages in thread
From: Carsten Dominik @ 2011-10-23  9:54 UTC (permalink / raw)
  To: Michael Sperber; +Cc: Robert Pluim, emacs-orgmode

THis looks like the right solution to me...

- Carsten

On 23.10.2011, at 10:15, Michael Sperber wrote:

> 
> Michael Sperber <sperber@deinprogramm.de> writes:
> 
>> Robert Pluim <rpluim@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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: org-capture and XEmacs, indenting too far
  2011-10-23  8:15   ` Michael Sperber
  2011-10-23  9:54     ` Carsten Dominik
@ 2011-10-23 17:53     ` Bastien
  2011-10-26 17:43     ` Bastien
  2 siblings, 0 replies; 7+ messages in thread
From: Bastien @ 2011-10-23 17:53 UTC (permalink / raw)
  To: Michael Sperber; +Cc: Robert Pluim, emacs-orgmode, carsten.dominik

Hello Michael,

Michael Sperber <sperber@deinprogramm.de> writes:

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

Thanks for the analysis and solution.

May I ask you to resend the patch with a proper ChangeLog?
The simple way is to commit your changes on a newbranch then 
to create the patches with 

  ~$ git format-patch master..newbranch

Thanks a lot for your effort,

-- 
 Bastien

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: org-capture and XEmacs, indenting too far
  2011-10-23  8:15   ` Michael Sperber
  2011-10-23  9:54     ` Carsten Dominik
  2011-10-23 17:53     ` Bastien
@ 2011-10-26 17:43     ` Bastien
  2 siblings, 0 replies; 7+ messages in thread
From: Bastien @ 2011-10-26 17:43 UTC (permalink / raw)
  To: Michael Sperber; +Cc: Robert Pluim, emacs-orgmode, carsten.dominik

Hi Michael,

Michael Sperber <sperber@deinprogramm.de> writes:

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

Applied, thanks for this.

-- 
 Bastien

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Accepted]  org-capture and XEmacs, indenting too far
  2011-10-22 14:46 ` Michael Sperber
  2011-10-23  8:15   ` Michael Sperber
@ 2011-10-26 17:50   ` Bastien Guerry
  1 sibling, 0 replies; 7+ messages in thread
From: Bastien Guerry @ 2011-10-26 17:50 UTC (permalink / raw)
  To: emacs-orgmode

Patch 1002 (http://patchwork.newartisans.com/patch/1002/) is now "Accepted".

Maintainer comment: none

This relates to the following submission:

http://mid.gmane.org/%3Cy9lipnhjd8w.fsf%40deinprogramm.de%3E

Here is the original message containing the patch:

> Content-Type: text/plain; charset="utf-8"
> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Subject: [O] org-capture and XEmacs, indenting too far
> Date: Sat, 22 Oct 2011 19:46:07 -0000
> From: Michael Sperber <sperber@deinprogramm.de>
> X-Patchwork-Id: 1002
> Message-Id: <y9lipnhjd8w.fsf@deinprogramm.de>
> To: emacs-orgmode@gnu.org, Robert Pluim <rpluim@gmail.com>,
> 	carsten.dominik@gmail.com
> 
> Robert Pluim <rpluim@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,
> which is off by one compared to org-mode's.  I used this patch to fix
> it:
> 
> 
> Could somebody review and maybe apply this?
> 
> 
> diff --git a/lisp/org-capture.el b/lisp/org-capture.el
> index e1b8a4f..cfa35d5 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
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-10-26 17:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-30 10:09 org-capture and XEmacs, indenting too far Robert Pluim
2011-10-22 14:46 ` Michael Sperber
2011-10-23  8:15   ` Michael Sperber
2011-10-23  9:54     ` Carsten Dominik
2011-10-23 17:53     ` Bastien
2011-10-26 17:43     ` Bastien
2011-10-26 17:50   ` [Accepted] " Bastien Guerry

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).