emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Final" version of tty child frames


From: Gerd Möllmann
Subject: Re: "Final" version of tty child frames
Date: Tue, 14 Jan 2025 10:37:24 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

martin rudalics <rudalics@gmx.at> writes:

>> 1. Evaluate (posframe-show " *test*" :string (concat "A\nB\n*long 
>> text*\nC\nD"))
>> 2. Now try to place the cursor on some text after one of the single
>> letter lines while still being in the root frame. (I've been using
>> M-x info since the directory node has lots of nice text)
>>
>> When I do this, my cursor always appears at the end of the line so
>> long as it is after the posframe. When the cursor is before the
>> posframe, the cursor is displayed fine.
>
> Confirmed.  But it happens only with cursor movement here.  Inserting
> text in the underlying window works normally.  Also mouse clicks in the
> part on the right of the child frame are handled correctly.
>
> martin

Maybe I have an idea, but that is only based on memories how things were
decades ago.

Around xdisp.c:20500, there should be something like this in master:

  /* Handle case where text has not changed, only point, and it has
     not moved off the frame, and we are not retrying after hscroll.
     (current_matrix_up_to_date_p is true when retrying.)  */
  if (current_matrix_up_to_date_p
      && (rc = try_cursor_movement (window, startp, &temp_scroll_step),
          rc != CURSOR_MOVEMENT_CANNOT_BE_USED))
    {

What happens if you add "false && " to the if-condition so that the body
isn't executed?

Background: I used the frame's current matrix to speed
up cursor movement redisplay. Haven't checked if that's still the case,
but I wouldn't know why not. And the root's current matrix is different
with a child frame on it.

And the question is of course why I can't reproduce this. Hm.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]