* [BUG] org-agenda-later sometimes creates a void display [9.7.11 (release_9.7.11 @ /usr/local/share/emacs/31.0.50/lisp/org/)]
@ 2025-01-05 0:29 Michael Heerdegen
2025-01-05 8:52 ` Ihor Radchenko
0 siblings, 1 reply; 6+ messages in thread
From: Michael Heerdegen @ 2025-01-05 0:29 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 778 bytes --]
Remember to cover the basics, that is, what you expected to happen and
what in fact did happen. You don't know how to make a good report? See
https://orgmode.org/manual/Feedback.html#Feedback
Your bug report will be posted to the Org mailing list.
------------------------------------------------------------------------
Hi,
especially after displaying the agenda when it didn't exist before, when
I display it (`org-agenda'), switch to it and then move point to the end
of the agenda buffer, and hit f (`org-agenda-later'), I see an purely
void window. I don't think I messed with agenda displaying, so others
may be able to reproduce this issue.
Hitting C-g suddenly shows everything as expected - do I just need a
redisplay? Yip, this fixes the issue for me:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-lisp-org-org-agenda.el-org-agenda-later-redisplay.patch --]
[-- Type: text/x-diff, Size: 923 bytes --]
From 3e706fef270cdac18d543e8814f76cfedac34916 Mon Sep 17 00:00:00 2001
From: Michael Heerdegen <michael_heerdegen@web.de>
Date: Sun, 5 Jan 2025 01:21:43 +0100
Subject: [PATCH] * lisp/org/org-agenda.el (org-agenda-later): redisplay
Without redisplay sometimes only a void looking window is displayed.
---
lisp/org/org-agenda.el | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 87eda4700b7..14201d2f592 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -8774,7 +8774,8 @@ org-agenda-later
(list (car args) sd span)))
(org-agenda-redo)
(org-agenda-find-same-or-today-or-agenda cnt))
- (set-window-start nil wstart)))
+ (set-window-start nil wstart)
+ (redisplay)))
(defun org-agenda-earlier (arg)
"Go backward in time by the current span in the agenda buffer.
--
2.39.5
[-- Attachment #3: Type: text/plain, Size: 451 bytes --]
Hope it's the right thing to do. Haven't looked whether the same might
be appropriate somewhere else.
TIA,
Michael.
Emacs : GNU Emacs 31.0.50 (build 22, x86_64-pc-linux-gnu, cairo version 1.16.0)
of 2025-01-04
Package: Org mode version 9.7.11 (release_9.7.11 @ /usr/local/share/emacs/31.0.50/lisp/org/)
current state:
==============
Sorry, I removed this stuff, it contained too many private information.
Ask me if you want anything. Thx.
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [BUG] org-agenda-later sometimes creates a void display [9.7.11 (release_9.7.11 @ /usr/local/share/emacs/31.0.50/lisp/org/)]
2025-01-05 0:29 [BUG] org-agenda-later sometimes creates a void display [9.7.11 (release_9.7.11 @ /usr/local/share/emacs/31.0.50/lisp/org/)] Michael Heerdegen
@ 2025-01-05 8:52 ` Ihor Radchenko
2025-01-05 18:18 ` Michael Heerdegen
0 siblings, 1 reply; 6+ messages in thread
From: Ihor Radchenko @ 2025-01-05 8:52 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: emacs-orgmode
Michael Heerdegen <michael_heerdegen@web.de> writes:
> especially after displaying the agenda when it didn't exist before, when
> I display it (`org-agenda'), switch to it and then move point to the end
> of the agenda buffer, and hit f (`org-agenda-later'), I see an purely
> void window. I don't think I messed with agenda displaying, so others
> may be able to reproduce this issue.
I am unable to reproduce.
May you please post detailed steps to recreate the issue starting from
emacs -Q? See https://orgmode.org/manual/Feedback.html#Feedback
--
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [BUG] org-agenda-later sometimes creates a void display [9.7.11 (release_9.7.11 @ /usr/local/share/emacs/31.0.50/lisp/org/)]
2025-01-05 8:52 ` Ihor Radchenko
@ 2025-01-05 18:18 ` Michael Heerdegen
2025-01-05 18:31 ` Ihor Radchenko
0 siblings, 1 reply; 6+ messages in thread
From: Michael Heerdegen @ 2025-01-05 18:18 UTC (permalink / raw)
To: emacs-orgmode
Ihor Radchenko <yantar92@posteo.net> writes:
> I am unable to reproduce.
> May you please post detailed steps to recreate the issue starting from
> emacs -Q? See https://orgmode.org/manual/Feedback.html#Feedback
I really just hit C-c a a M-> f as I said. C-c a is `org-agenda',
the following "a" means "current week or day" as usual.
I have a guess what the problem is. When you look at the implementation
of `org-agenda-later': at the end we are setting window-start to the
former value of (window-start), which we remembered.
In my case the current day (aka "today") contains much more entries than
any other day. When I hit f with point at point-max of the current wekk
agenda, the next, shorter week agenda view will be displayed with
window-start forced to position larger than the new `point-max'.
Are you maybe able to provoke a similar situation?
Thx,
Michael.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [BUG] org-agenda-later sometimes creates a void display [9.7.11 (release_9.7.11 @ /usr/local/share/emacs/31.0.50/lisp/org/)]
2025-01-05 18:18 ` Michael Heerdegen
@ 2025-01-05 18:31 ` Ihor Radchenko
2025-01-05 20:12 ` Michael Heerdegen
0 siblings, 1 reply; 6+ messages in thread
From: Ihor Radchenko @ 2025-01-05 18:31 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: emacs-orgmode
Michael Heerdegen <michael_heerdegen@web.de> writes:
>> May you please post detailed steps to recreate the issue starting from
>> emacs -Q? See https://orgmode.org/manual/Feedback.html#Feedback
>
> I really just hit C-c a a M-> f as I said. C-c a is `org-agenda',
> the following "a" means "current week or day" as usual.
That's what I tried myself.
I do not see any problem.
Please, do try to follow
https://orgmode.org/manual/Feedback.html#Feedback and provide detailed
steps showing how to reproduce the problem you are seeing without your
personal config.
> I have a guess what the problem is. ...
First, we need to establish whether the problem is with Org mode itself
or it is a combination of your config and Org mode.
For now, I simply do not know what is that problem you are
experiencing. Because I cannot see it locally on my side.
--
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [BUG] org-agenda-later sometimes creates a void display [9.7.11 (release_9.7.11 @ /usr/local/share/emacs/31.0.50/lisp/org/)]
2025-01-05 18:31 ` Ihor Radchenko
@ 2025-01-05 20:12 ` Michael Heerdegen
2025-01-11 14:39 ` Ihor Radchenko
0 siblings, 1 reply; 6+ messages in thread
From: Michael Heerdegen @ 2025-01-05 20:12 UTC (permalink / raw)
To: emacs-orgmode
Ihor Radchenko <yantar92@posteo.net> writes:
> That's what I tried myself.
> I do not see any problem.
> Please, do try to follow
> https://orgmode.org/manual/Feedback.html#Feedback and provide detailed
> steps showing how to reproduce the problem you are seeing without your
> personal config.
This will be a lot of work. I really hope we can avoid it.
> > I have a guess what the problem is. ...
>
> First, we need to establish whether the problem is with Org mode
> itself or it is a combination of your config and Org mode.
>
> For now, I simply do not know what is that problem you are
> experiencing. Because I cannot see it locally on my side.
What I am seeing is what one sees for any window showing a sufficiently
large buffer after evaluating something like
(setf (window-start) (+ 10 (point-max)))
and I have clearly shown that exactly that is what the code potentially
does. I really don't want to spend half an hour to create a recipe
until you at least think about what I said. I'm a big fan of recipes,
really, but in this case I would have to prepare a complete fake org
file with dozens of fake entries corresponding to suitable finely
composed dates ... this will take unnecessarily long, can't you please
just think about what I said? Five minutes? Please.
Does restoring the result of (window-start) from the old agenda view, as
a plain number(!), always give good results in your case? What happens
for you in the scenario I described, when (window-start) of the previous
view is larger than (point-max) of the new view? Emacs can't do
anything but to show nothing when the end of the buffer lies "before"
window-start. No?
Michael.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [BUG] org-agenda-later sometimes creates a void display [9.7.11 (release_9.7.11 @ /usr/local/share/emacs/31.0.50/lisp/org/)]
2025-01-05 20:12 ` Michael Heerdegen
@ 2025-01-11 14:39 ` Ihor Radchenko
0 siblings, 0 replies; 6+ messages in thread
From: Ihor Radchenko @ 2025-01-11 14:39 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 889 bytes --]
Michael Heerdegen <michael_heerdegen@web.de> writes:
>> Please, do try to follow
>> https://orgmode.org/manual/Feedback.html#Feedback and provide detailed
>> steps showing how to reproduce the problem you are seeing without your
>> personal config.
>
> This will be a lot of work. I really hope we can avoid it.
One way or another I need a reproducer to test whether any given fix
makes sense.
Now, I created one.
1. emacs -Q
2. Open the attached org file
3. M-x org-agenda < a RET
4. Move to the week of items
5. Move point to "Sunday"
6. f
7. Observe buffer being scrolled all the way up
> What I am seeing is what one sees for any window showing a sufficiently
> large buffer after evaluating something like
>
> (setf (window-start) (+ 10 (point-max)))
Thanks! That did help to create a reproducer.
Please try the attached patch.
Let me know if it fixes things on your side.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-agenda-later-Avoid-scrolling-the-window-past-poi.patch --]
[-- Type: text/x-patch, Size: 1370 bytes --]
From c3bc1954b7b0427b2ab9f7563c960841c1410a55 Mon Sep 17 00:00:00 2001
Message-ID: <c3bc1954b7b0427b2ab9f7563c960841c1410a55.1736606174.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Sat, 11 Jan 2025 15:33:31 +0100
Subject: [PATCH] org-agenda-later: Avoid scrolling the window past point
* lisp/org-agenda.el (org-agenda-later): When previous agenda buffer
is larger and its scroll position is beyond point position in the new
agenda buffer, do not try to restore scroll state. (Doing otherwise,
scrolls past the point, leading to unpredictable results - depending
on `scroll-conservatively'.
Reported-by: Michael Heerdegen <michael_heerdegen@web.de>
Link: https://orgmode.org/list/87ttadqati.fsf@web.de
---
lisp/org-agenda.el | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 884b9de782..2bab159795 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -8789,7 +8789,8 @@ (defun org-agenda-later (arg)
(list (car args) sd span)))
(org-agenda-redo)
(org-agenda-find-same-or-today-or-agenda cnt))
- (set-window-start nil wstart)))
+ (unless (< (point) wstart) ; do no scroll past the point
+ (set-window-start nil wstart))))
(defun org-agenda-earlier (arg)
"Go backward in time by the current span in the agenda buffer.
--
2.47.1
[-- Attachment #3: bug.org --]
[-- Type: application/vnd.lotus-organizer, Size: 1440 bytes --]
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO This
SCHEDULED: <2025-01-08 Wed>
* TODO That
SCHEDULED: <2025-01-13 Mon>
[-- Attachment #4: Type: text/plain, Size: 223 bytes --]
--
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-01-11 14:38 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-05 0:29 [BUG] org-agenda-later sometimes creates a void display [9.7.11 (release_9.7.11 @ /usr/local/share/emacs/31.0.50/lisp/org/)] Michael Heerdegen
2025-01-05 8:52 ` Ihor Radchenko
2025-01-05 18:18 ` Michael Heerdegen
2025-01-05 18:31 ` Ihor Radchenko
2025-01-05 20:12 ` Michael Heerdegen
2025-01-11 14:39 ` Ihor Radchenko
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).