[O] org-map-entries moves point

2014-02-05 Thread Florian Beck
When I call org-map-entries with scope set to 'tree, the current heading 
gets realigned to the top.


Behold:

(org-map-entries (lambda ()
   ;; do something or even nothing
   ) nil 'tree)

I think the culprit is the call to `org-agenda-prepare-buffers', or 
rather commit fe3379bda6ca23474639b114592958bf14431c88, which replaces 
save-excursion with save-window-excursion.


What's interesting: This does NOT restore the window configuration. When 
I replace save-window-excursion with save-excursion the window 
configuration is restored again.


I'm not sure *why* this happens.


--
Florian Beck



Re: [O] org-map-entries moves point

2014-02-05 Thread Nick Dokos
Florian Beck f...@miszellen.de writes:

 When I call org-map-entries with scope set to 'tree, the current
 heading gets realigned to the top.

 Behold:

 (org-map-entries (lambda ()
  ;; do something or even nothing
  ) nil 'tree)

 I think the culprit is the call to `org-agenda-prepare-buffers', or
 rather commit fe3379bda6ca23474639b114592958bf14431c88, which replaces
 save-excursion with save-window-excursion.

 What's interesting: This does NOT restore the window
 configuration. When I replace save-window-excursion with
 save-excursion the window configuration is restored again.

 I'm not sure *why* this happens.

John Kitchin reported this last week and Bastien reverted that commit:

  http://thread.gmane.org/gmane.emacs.orgmode/81587

But it's not clear *why* that commit was done in the first place so if
you get some enlightenment from your experiments, please share.

Nick




Re: [O] org-map-entries moves point

2014-02-05 Thread Florian Beck

On 05.02.2014 21:59, Nick Dokos wrote:


John Kitchin reported this last week and Bastien reverted that commit:

   http://thread.gmane.org/gmane.emacs.orgmode/81587


Missed that. But this reverts commit
3ec38f5c064c3270f54876ba33c5ca1097b46853 [1] (in org-map-entries)

I was talking about
fe3379bda6ca23474639b114592958bf14431c88 [2] (which did the same to 
org-agenda-prepare-buffer)


In fact, the revert *caused* my bug. Again, the recipe:

The bug doesn't really move the point, rather it recenters the current 
line. To see it, move into the middle of a document, unfold a second 
level headline and in the middle of the window execute


(org-map-entries (lambda ()
   ;; do something or even nothing
   ) nil 'tree)

This works correctly if either commit [1] is restored or [2] is reverted.



But it's not clear *why* that commit was done in the first place so if
you get some enlightenment from your experiments, please share.


Will do.



Nick






--
Florian Beck



Re: [O] org-map-entries moves point

2014-02-05 Thread Nick Dokos
Florian Beck f...@miszellen.de writes:

 On 05.02.2014 21:59, Nick Dokos wrote:

 John Kitchin reported this last week and Bastien reverted that commit:

http://thread.gmane.org/gmane.emacs.orgmode/81587

 Missed that. But this reverts commit
 3ec38f5c064c3270f54876ba33c5ca1097b46853 [1] (in org-map-entries)

 I was talking about
 fe3379bda6ca23474639b114592958bf14431c88 [2] (which did the same to
 org-agenda-prepare-buffer)

 In fact, the revert *caused* my bug. Again, the recipe:

 The bug doesn't really move the point, rather it recenters the current
 line. To see it, move into the middle of a document, unfold a second
 level headline and in the middle of the window execute

 (org-map-entries (lambda ()
;; do something or even nothing
) nil 'tree)

 This works correctly if either commit [1] is restored or [2] is reverted.


Does all of [2] have to be reverted? Or can save-window-excursion be
changed back to save-excursion? AFAICT, the rest of the fix is
independent of that.

-- 
Nick




Re: [O] org-map-entries moves point

2014-02-05 Thread Bastien
Hi Florian,

Florian Beck f...@miszellen.de writes:

 Missed that. But this reverts commit
 3ec38f5c064c3270f54876ba33c5ca1097b46853 [1] (in org-map-entries)

 I was talking about
 fe3379bda6ca23474639b114592958bf14431c88 [2] (which did the same to
 org-agenda-prepare-buffer)

 In fact, the revert *caused* my bug. Again, the recipe:

 The bug doesn't really move the point, rather it recenters the current
 line. To see it, move into the middle of a document, unfold a second
 level headline and in the middle of the window execute

 (org-map-entries (lambda ()
;; do something or even nothing
) nil 'tree)

 This works correctly if either commit [1] is restored or [2] is
 reverted.

I partially revert [2] (only replacing `save-window-excursion' by
`save-excursion') and didn't touch [1] -- if we can produce a bug
from there, let's fix it the right way this time.

Thanks in advance for digging further,

-- 
 Bastien