X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fredisplay.c;h=6604dd2032d269647e1e6ebe8be737a58e166117;hp=a8a26c715093123e2b68a54c760c00037379e4c0;hb=59eec5f21669e81977b5b1fe9bf717cab49cf7fb;hpb=032d062ebcb2344e6245cea4214bc09835da97ee diff --git a/src/redisplay.c b/src/redisplay.c index a8a26c7..6604dd2 100644 --- a/src/redisplay.c +++ b/src/redisplay.c @@ -1659,7 +1659,7 @@ add_glyph_rune (pos_data *data, struct glyph_block *gb, int pos_type, else findex = get_builtin_face_cache_index (w, face); - instance = glyph_image_instance (gb->glyph, data->window, + instance = glyph_image_instance (gb->glyph, data->window, ERROR_ME_NOT, 1); if (TEXT_IMAGE_INSTANCEP (instance)) { @@ -3500,7 +3500,7 @@ generate_formatted_string_db (Lisp_Object format_str, Lisp_Object result_str, /* result_str is nil when we're building a frame or icon title. Otherwise, we're building a modeline, so the offset starts at the modeline - horizontal scrolling ammount */ + horizontal scrolling amount */ if (! NILP (result_str)) offset = w->modeline_hscroll; generate_fstring_runes (w, &data, 0, 0, -1, format_str, 0, @@ -4284,9 +4284,9 @@ create_string_text_block (struct window *w, Lisp_Object disp_string, int truncate_win = b ? window_truncation_on (w) : 0; int end_glyph_width = 0; - /* we're going to ditch selective display for static text, its an - FSF thing and invisble extents are the way to go - here. Implementing it also relies on a number of buffer-specific + /* We're going to ditch selective display for static text, it's an + FSF thing and invisible extents are the way to go here. + Implementing it also relies on a number of buffer-specific functions that we don't have the luxury of being able to use here. */ @@ -5989,7 +5989,7 @@ redisplay_window (Lisp_Object window, int skip_selected) && !(MINI_WINDOW_P (w) && f->buffers_changed) && !f->frame_changed && !truncation_changed - /* check whether start is really at the begining of a line GE */ + /* check whether start is really at the beginning of a line GE */ && (!w->start_at_line_beg || beginning_of_line_p (b, startp)) ) { @@ -6331,12 +6331,15 @@ redisplay_frame (struct frame *f, int preemption_check) if (f->clear) f->frame_changed = 1; - /* Invalidate the subwindow cache. We use subwindows_changed here to - cause subwindows to get instantiated. This is because + /* Invalidate the subwindow caches. We use subwindows_changed here + to cause subwindows to get instantiated. This is because subwindows_state_changed is less strict - dealing with things like the clicked state of button. We have to do this before redisplaying the gutters as subwindows get unmapped in the process.*/ + if (f->frame_changed) + reset_frame_subwindow_instance_cache (f); + if (f->frame_changed || f->subwindows_changed) { /* we have to do this so the gutter gets regenerated. */ @@ -7530,7 +7533,7 @@ point_would_be_visible (struct window *w, Bufpos startp, Bufpos point) displayed. The end of the last line is also know as the window end position. - WARNING: It is possible that rediplay failed to layout any lines for the + WARNING: It is possible that redisplay failed to layout any lines for the windows. Under normal circumstances this is rare. However it seems that it does occur in the following situation: A mouse event has come in and we need to compute its location in a window. That code (in @@ -8890,7 +8893,7 @@ input and is guaranteed to proceed to completion. redisplay_frame (f, 1); - /* If we don't reset the global redisplay flafs here, subsequent + /* If we don't reset the global redisplay flags here, subsequent changes to the display will not get registered by redisplay because it thinks it already has registered changes. If you really knew what you were doing you could confuse redisplay by