690 |
MOVE_NEWLINE_OR_CR |
MOVE_NEWLINE_OR_CR |
691 |
}; |
}; |
692 |
|
|
693 |
|
/* This counter is used to clear the face cache every once in a while |
694 |
|
in redisplay_internal. It is incremented for each redisplay. |
695 |
|
Every CLEAR_FACE_CACHE_COUNT full redisplays, the face cache is |
696 |
|
cleared. */ |
697 |
|
|
698 |
|
#define CLEAR_FACE_CACHE_COUNT 500 |
699 |
|
static int clear_face_cache_count; |
700 |
|
|
701 |
|
/* Record the previous terminal frame we displayed. */ |
702 |
|
|
703 |
|
static struct frame *previous_terminal_frame; |
704 |
|
|
705 |
|
/* Non-zero while redisplay_internal is in progress. */ |
706 |
|
|
707 |
|
int redisplaying_p; |
708 |
|
|
709 |
|
/* Non-zero while redisplay is updating the display. */ |
710 |
|
|
711 |
|
int redisplay_updating_p; |
712 |
|
|
713 |
|
|
714 |
/* Function prototypes. */ |
/* Function prototypes. */ |
1522 |
|
|
1523 |
/* If face attributes have been changed since the last redisplay, |
/* If face attributes have been changed since the last redisplay, |
1524 |
free realized faces now because they depend on face definitions |
free realized faces now because they depend on face definitions |
1525 |
that might have changed. */ |
that might have changed. Don't free faces while there might be |
1526 |
if (face_change_count) |
desired matrices pending which reference these faces. */ |
1527 |
|
if (face_change_count && !redisplay_updating_p) |
1528 |
{ |
{ |
1529 |
face_change_count = 0; |
face_change_count = 0; |
1530 |
free_all_realized_faces (Qnil); |
free_all_realized_faces (Qnil); |
8308 |
#endif /* GLYPH_DEBUG */ |
#endif /* GLYPH_DEBUG */ |
8309 |
|
|
8310 |
|
|
|
/* This counter is used to clear the face cache every once in a while |
|
|
in redisplay_internal. It is incremented for each redisplay. |
|
|
Every CLEAR_FACE_CACHE_COUNT full redisplays, the face cache is |
|
|
cleared. */ |
|
|
|
|
|
#define CLEAR_FACE_CACHE_COUNT 500 |
|
|
static int clear_face_cache_count; |
|
|
|
|
|
/* Record the previous terminal frame we displayed. */ |
|
|
|
|
|
static struct frame *previous_terminal_frame; |
|
|
|
|
|
/* Non-zero while redisplay_internal is in progress. */ |
|
|
|
|
|
int redisplaying_p; |
|
|
|
|
|
|
|
8311 |
/* Value is non-zero if all changes in window W, which displays |
/* Value is non-zero if all changes in window W, which displays |
8312 |
current_buffer, are in the text between START and END. START is a |
current_buffer, are in the text between START and END. START is a |
8313 |
buffer position, END is given as a distance from Z. Used in |
buffer position, END is given as a distance from Z. Used in |
8518 |
retry: |
retry: |
8519 |
pause = 0; |
pause = 0; |
8520 |
reconsider_clip_changes (w, current_buffer); |
reconsider_clip_changes (w, current_buffer); |
8521 |
|
redisplay_updating_p = 0; |
8522 |
|
|
8523 |
/* If new fonts have been loaded that make a glyph matrix adjustment |
/* If new fonts have been loaded that make a glyph matrix adjustment |
8524 |
necessary, do it. */ |
necessary, do it. */ |
9007 |
|
|
9008 |
/* Compare desired and current matrices, perform output. */ |
/* Compare desired and current matrices, perform output. */ |
9009 |
update: |
update: |
9010 |
|
redisplay_updating_p = 1; |
9011 |
|
|
9012 |
/* If fonts changed, display again. */ |
/* If fonts changed, display again. */ |
9013 |
if (fonts_changed_p) |
if (fonts_changed_p) |
9014 |
goto retry; |
goto retry; |
9133 |
if (windows_or_buffers_changed && !pause) |
if (windows_or_buffers_changed && !pause) |
9134 |
goto retry; |
goto retry; |
9135 |
|
|
9136 |
end_of_redisplay:; |
end_of_redisplay: |
9137 |
|
redisplay_updating_p = 0; |
9138 |
unbind_to (count, Qnil); |
unbind_to (count, Qnil); |
9139 |
} |
} |
9140 |
|
|