all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Re: help about the display iterator.
@ 2009-01-16 17:24 A. Soare
  2009-01-16 17:38 ` joakim
  0 siblings, 1 reply; 4+ messages in thread
From: A. Soare @ 2009-01-16 17:24 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Emacs   Dev  [emacs-devel]


Thanks.

Yes, I have read the beginning of xdisp.c.

I have also saw the trace of redisplay_internal. I did saw that redisplay_internal is the function that created the desired_matrix, i.e. the new image of the next refresh of screen. And also from redisplay_internal are called the low-level graphical functions that send the image to the video card.

What confuses me very hard is the number of variables that appear inside redisplay_internal. I do not understand where to start reading this function. For example, when I see

  /* The flag redisplay_performed_directly_p is set by
     direct_output_for_insert when it already did the whole screen
     update necessary.  */
  if (redisplay_performed_directly_p)
    {
      redisplay_performed_directly_p = 0;
      if (!hscroll_windows (selected_window))
	return;
    }

 I understand that when redisplay_internal is called after direct_output_for_insert, redisplay_internal stops here. But direct_output_for_insert is never called on my emacs. I use GTK+ now.

So it is almost impossible to understand what happens just looking at the code.

To be more specific, let us consider this simple case: suppose that I use the console, not graphics, and that I press the key 'x'; could you make me a brief description of the trace of the code, starting from the moment when the function read_char forces redisplay, until the character is send to the phisical display?

Thanks in advance for any help.

Alin.





> 
> "A. Soare" <alinsoar@voila.fr> writes:
> 
> > However, I do not understand the mechanism from `redisplay_ineternal'
> > (I have the impression that it's this function that creates the
> > desired_matrix of glyphs) and refresh the display.
> 
> You'll have to be more specific in asking these sorts of questions, I'm
> afraid.  Have you looked at the commentary at the beginning of xdisp.c?
> 
> 


____________________________________________________Avec Voila, réalisez en toute simplicité votre videoblog ! http://video.voila.fr/mktg/?op=videoblog






^ permalink raw reply	[flat|nested] 4+ messages in thread
* help about the display iterator.
@ 2009-01-15 18:21 A. Soare
  2009-01-16 15:21 ` Chong Yidong
  0 siblings, 1 reply; 4+ messages in thread
From: A. Soare @ 2009-01-15 18:21 UTC (permalink / raw)
  To: Emacs   Help  [help-gnu-emacs]; +Cc: Emacs   Dev  [emacs-devel]

Hello,

Please, can somebody make me a brief resume ( in a few words ) about how the `display iterator' works?

I saw that the low-level functions of the display of emacs there are called from `redisplay internal', which is called mainly from `redisplay' and from `redisplay_preserve_echo_area'.

I did understand that every line is filled with glyphs in `display_line' using an interator structure.

However, I do not understand the mechanism from `redisplay_ineternal' (I have the impression that it's this function that creates the desired_matrix of glyphs) and refresh the display.

Thanks in advance.




____________________________________________________Avec Voila, réalisez en toute simplicité votre videoblog ! http://video.voila.fr/mktg/?op=videoblog






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

end of thread, other threads:[~2009-01-16 17:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-16 17:24 help about the display iterator A. Soare
2009-01-16 17:38 ` joakim
  -- strict thread matches above, loose matches on Subject: below --
2009-01-15 18:21 A. Soare
2009-01-16 15:21 ` Chong Yidong

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.