* Two patches I have been using for 6-12 months
@ 2014-06-14 14:46 Bernt Hansen
2014-06-14 14:46 ` [PATCH 1/2] Remove striction when finding task by id Bernt Hansen
2014-06-14 14:46 ` [PATCH 2/2] Keep window position in agenda when changing todo states Bernt Hansen
0 siblings, 2 replies; 11+ messages in thread
From: Bernt Hansen @ 2014-06-14 14:46 UTC (permalink / raw)
To: emacs-orgmode
Hi Bastien,
Attached are two patches I use on top of master. I have been using these
for 6-12 months so I consider them to be well tested.
Please consider including these in the code base.
Thanks,
Bernt
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/2] Remove striction when finding task by id
2014-06-14 14:46 Two patches I have been using for 6-12 months Bernt Hansen
@ 2014-06-14 14:46 ` Bernt Hansen
2014-06-14 15:12 ` Nicolas Goaziou
2014-06-14 14:46 ` [PATCH 2/2] Keep window position in agenda when changing todo states Bernt Hansen
1 sibling, 1 reply; 11+ messages in thread
From: Bernt Hansen @ 2014-06-14 14:46 UTC (permalink / raw)
To: emacs-orgmode; +Cc: Bernt Hansen
Allows find task by id to locate a task outside a current
restriction. I restrict to subtrees regularly and when I want to
jump to another task outside the current restriction but in the
same file this patch is required to locate the appropriate
heading. Without this patch point ends up at the top of my
restricted area which is on the wrong task.
---
lisp/org-macs.el | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/lisp/org-macs.el b/lisp/org-macs.el
index ddd6e2e..e6af5da 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -154,9 +154,11 @@ We use a macro so that the test can happen at compilation time."
`(let ((,mpom ,pom))
(save-excursion
(if (markerp ,mpom) (set-buffer (marker-buffer ,mpom)))
- (save-excursion
- (goto-char (or ,mpom (point)))
- ,@body)))))
+ (save-restriction
+ (widen)
+ (save-excursion
+ (goto-char (or ,mpom (point)))
+ ,@body))))))
(def-edebug-spec org-with-point-at (form body))
(put 'org-with-point-at 'lisp-indent-function 1)
--
1.7.9.48.g85da4d
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 1/2] Remove striction when finding task by id
2014-06-14 14:46 ` [PATCH 1/2] Remove striction when finding task by id Bernt Hansen
@ 2014-06-14 15:12 ` Nicolas Goaziou
2014-06-14 15:25 ` Bernt Hansen
0 siblings, 1 reply; 11+ messages in thread
From: Nicolas Goaziou @ 2014-06-14 15:12 UTC (permalink / raw)
To: Bernt Hansen; +Cc: emacs-orgmode
Hello,
Bernt Hansen <bernt@norang.ca> writes:
> Allows find task by id to locate a task outside a current
> restriction. I restrict to subtrees regularly and when I want to
> jump to another task outside the current restriction but in the
> same file this patch is required to locate the appropriate
> heading. Without this patch point ends up at the top of my
> restricted area which is on the wrong task.
Thank you. Could you provide a changelog with that?
> + (save-restriction
> + (widen)
> + (save-excursion
`save-restriction' + `widen' + `save-excursion' = `org-with-wide-buffer'
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/2] Remove striction when finding task by id
2014-06-14 15:12 ` Nicolas Goaziou
@ 2014-06-14 15:25 ` Bernt Hansen
2014-06-15 2:50 ` [PATCH] Remove restriction when locating markers Bernt Hansen
0 siblings, 1 reply; 11+ messages in thread
From: Bernt Hansen @ 2014-06-14 15:25 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: emacs-orgmode
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> Thank you. Could you provide a changelog with that?
>
>> + (save-restriction
>> + (widen)
>> + (save-excursion
>
> `save-restriction' + `widen' + `save-excursion' = `org-with-wide-buffer'
Sure thing!
I will update and resend both later today.
(and fix the typo in 'restriction' in the subject above)
Thanks,
Bernt
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] Remove restriction when locating markers
2014-06-14 15:25 ` Bernt Hansen
@ 2014-06-15 2:50 ` Bernt Hansen
2014-06-15 7:31 ` Nicolas Goaziou
0 siblings, 1 reply; 11+ messages in thread
From: Bernt Hansen @ 2014-06-15 2:50 UTC (permalink / raw)
To: emacs-orgmode; +Cc: Bernt Hansen
* org-macs.el: Remove restriction when locating markers
Allows org-with-point-at to locate point outside the current
restriction.
---
lisp/org-macs.el | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lisp/org-macs.el b/lisp/org-macs.el
index ddd6e2e..96265ec 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -154,9 +154,9 @@ We use a macro so that the test can happen at compilation time."
`(let ((,mpom ,pom))
(save-excursion
(if (markerp ,mpom) (set-buffer (marker-buffer ,mpom)))
- (save-excursion
- (goto-char (or ,mpom (point)))
- ,@body)))))
+ (org-with-wide-buffer
+ (goto-char (or ,mpom (point)))
+ ,@body)))))
(def-edebug-spec org-with-point-at (form body))
(put 'org-with-point-at 'lisp-indent-function 1)
--
1.7.9.48.g85da4d
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/2] Keep window position in agenda when changing todo states
2014-06-14 14:46 Two patches I have been using for 6-12 months Bernt Hansen
2014-06-14 14:46 ` [PATCH 1/2] Remove striction when finding task by id Bernt Hansen
@ 2014-06-14 14:46 ` Bernt Hansen
2014-06-14 15:51 ` Bastien
1 sibling, 1 reply; 11+ messages in thread
From: Bernt Hansen @ 2014-06-14 14:46 UTC (permalink / raw)
To: emacs-orgmode; +Cc: Bernt Hansen
Allow changing task state in agenda without moving point. I
use this when reviewing projects weekly and I need to change the
state of some of the tasks. I found jumping to the top of the
agenda after each state change especially annoying when it causes
the agenda to scroll.
---
lisp/org-agenda.el | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 2d1bafe..d7632b4 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -8907,9 +8907,10 @@ If FORCE-TAGS is non nil, the car of it returns the new tags."
(org-agenda-highlight-todo 'line)
(beginning-of-line 1))
(t (error "Line update did not work")))
- (save-restriction
- (narrow-to-region (point-at-bol) (point-at-eol))
- (org-agenda-finalize)))
+ (save-window-excursion
+ (save-restriction
+ (narrow-to-region (point-at-bol) (point-at-eol))
+ (org-agenda-finalize))))
(beginning-of-line 0)))))
(defun org-agenda-align-tags (&optional line)
--
1.7.9.48.g85da4d
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] Keep window position in agenda when changing todo states
2014-06-14 14:46 ` [PATCH 2/2] Keep window position in agenda when changing todo states Bernt Hansen
@ 2014-06-14 15:51 ` Bastien
2014-06-14 17:01 ` Bernt Hansen
0 siblings, 1 reply; 11+ messages in thread
From: Bastien @ 2014-06-14 15:51 UTC (permalink / raw)
To: Bernt Hansen; +Cc: emacs-orgmode
Hi Bernt,
Bernt Hansen <bernt@norang.ca> writes:
> Allow changing task state in agenda without moving point. I
> use this when reviewing projects weekly and I need to change the
> state of some of the tasks. I found jumping to the top of the
> agenda after each state change especially annoying when it causes
> the agenda to scroll.
I think the bug this patches is supposed to fix (i.e. point jumping
at the top when changing the state of an agenda item) does not exist
anymore, neither in the maint branch nor in the master one.
Can you double-check?
Also, `save-window-excursion' is sort of a brute-force approach when
we only need to save the point position in a window. There is a big
warning in `save-window-excursion' docstring that I slowly learned to
appreciate...
Anyway, I just looked at it quickly, maybe that's a correct fix.
Thanks for further confirmation.
--
Bastien
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] Keep window position in agenda when changing todo states
2014-06-14 15:51 ` Bastien
@ 2014-06-14 17:01 ` Bernt Hansen
2014-06-14 17:45 ` Bernt Hansen
0 siblings, 1 reply; 11+ messages in thread
From: Bernt Hansen @ 2014-06-14 17:01 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode@gnu.org
[-- Attachment #1: Type: text/plain, Size: 1034 bytes --]
Will check. Thanks.
Bernt
> On Jun 14, 2014, at 11:51 AM, Bastien <bzg@gnu.org> wrote:
>
> Hi Bernt,
>
> Bernt Hansen <bernt@norang.ca> writes:
>
>> Allow changing task state in agenda without moving point. I
>> use this when reviewing projects weekly and I need to change the
>> state of some of the tasks. I found jumping to the top of the
>> agenda after each state change especially annoying when it causes
>> the agenda to scroll.
>
> I think the bug this patches is supposed to fix (i.e. point jumping
> at the top when changing the state of an agenda item) does not exist
> anymore, neither in the maint branch nor in the master one.
>
> Can you double-check?
>
> Also, `save-window-excursion' is sort of a brute-force approach when
> we only need to save the point position in a window. There is a big
> warning in `save-window-excursion' docstring that I slowly learned to
> appreciate...
>
> Anyway, I just looked at it quickly, maybe that's a correct fix.
> Thanks for further confirmation.
>
> --
> Bastien
[-- Attachment #2: Type: text/html, Size: 1916 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] Keep window position in agenda when changing todo states
2014-06-14 17:01 ` Bernt Hansen
@ 2014-06-14 17:45 ` Bernt Hansen
2014-06-15 7:34 ` Bastien
0 siblings, 1 reply; 11+ messages in thread
From: Bernt Hansen @ 2014-06-14 17:45 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode@gnu.org
[-- Attachment #1: Type: text/plain, Size: 1243 bytes --]
Yes you are correct. This patch is no longer required.
Please disregard this patch.
Thanks,
Bernt
> On Jun 14, 2014, at 1:01 PM, Bernt Hansen <bernt@norang.ca> wrote:
>
> Will check. Thanks.
>
> Bernt
>
>> On Jun 14, 2014, at 11:51 AM, Bastien <bzg@gnu.org> wrote:
>>
>> Hi Bernt,
>>
>> Bernt Hansen <bernt@norang.ca> writes:
>>
>>> Allow changing task state in agenda without moving point. I
>>> use this when reviewing projects weekly and I need to change the
>>> state of some of the tasks. I found jumping to the top of the
>>> agenda after each state change especially annoying when it causes
>>> the agenda to scroll.
>>
>> I think the bug this patches is supposed to fix (i.e. point jumping
>> at the top when changing the state of an agenda item) does not exist
>> anymore, neither in the maint branch nor in the master one.
>>
>> Can you double-check?
>>
>> Also, `save-window-excursion' is sort of a brute-force approach when
>> we only need to save the point position in a window. There is a big
>> warning in `save-window-excursion' docstring that I slowly learned to
>> appreciate...
>>
>> Anyway, I just looked at it quickly, maybe that's a correct fix.
>> Thanks for further confirmation.
>>
>> --
>> Bastien
[-- Attachment #2: Type: text/html, Size: 2353 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-06-15 7:34 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-14 14:46 Two patches I have been using for 6-12 months Bernt Hansen
2014-06-14 14:46 ` [PATCH 1/2] Remove striction when finding task by id Bernt Hansen
2014-06-14 15:12 ` Nicolas Goaziou
2014-06-14 15:25 ` Bernt Hansen
2014-06-15 2:50 ` [PATCH] Remove restriction when locating markers Bernt Hansen
2014-06-15 7:31 ` Nicolas Goaziou
2014-06-14 14:46 ` [PATCH 2/2] Keep window position in agenda when changing todo states Bernt Hansen
2014-06-14 15:51 ` Bastien
2014-06-14 17:01 ` Bernt Hansen
2014-06-14 17:45 ` Bernt Hansen
2014-06-15 7:34 ` Bastien
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).