------------------------------------------------------------ revno: 117711 committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2014-08-17 17:58:04 +0300 message: Avoid overwriting the reversed_p flags in the glyph matrices. Avoid overwriting the reversed_p flags in the glyph matrices when init_iterator or start_display are called. src/xdisp.c (init_iterator): Don't initialize the reversed_p flag of the glyph row here. (tool_bar_height, redisplay_tool_bar, try_window) (try_window_reusing_current_matrix, try_window_id) (get_overlay_arrow_glyph_row, display_menu_bar): Initialize the reversed_p flag of the iterator's glyph row where the glyph row is going to be redrawn. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-08-16 16:10:50 +0000 +++ src/ChangeLog 2014-08-17 14:58:04 +0000 @@ -1,3 +1,15 @@ +2014-08-17 Eli Zaretskii + + Avoid overwriting the reversed_p flags in the glyph matrices when + init_iterator or start_display are called. + * xdisp.c (init_iterator): Don't initialize the reversed_p flag of + the glyph row here. + (tool_bar_height, redisplay_tool_bar, try_window) + (try_window_reusing_current_matrix, try_window_id) + (get_overlay_arrow_glyph_row, display_menu_bar): Initialize the + reversed_p flag of the iterator's glyph row where the glyph row + is going to be redrawn. + 2014-08-16 Paul Eggert * xdisp.c (set_horizontal_scroll_bar): Don't use uninitialized local. === modified file 'src/xdisp.c' --- src/xdisp.c 2014-08-16 16:10:50 +0000 +++ src/xdisp.c 2014-08-17 14:58:04 +0000 @@ -2971,10 +2971,6 @@ it->glyph_row = row; it->area = TEXT_AREA; - /* Forget any previous info about this row being reversed. */ - if (it->glyph_row) - it->glyph_row->reversed_p = 0; - /* Get the dimensions of the display area. The display area consists of the visible window area plus a horizontally scrolled part to the left of the window. All x-values are relative to the @@ -12294,6 +12290,7 @@ /* Initialize an iterator for iteration over F->desired_tool_bar_string in the tool-bar window of frame F. */ init_iterator (&it, w, -1, -1, temp_row, TOOL_BAR_FACE_ID); + temp_row->reversed_p = false; it.first_visible_x = 0; it.last_visible_x = WINDOW_PIXEL_WIDTH (w); reseat_to_string (&it, NULL, f->desired_tool_bar_string, 0, 0, 0, -1); @@ -12378,6 +12375,7 @@ it.first_visible_x = 0; it.last_visible_x = WINDOW_PIXEL_WIDTH (w); row = it.glyph_row; + row->reversed_p = false; /* Build a string that represents the contents of the tool-bar. */ build_desired_tool_bar_string (f); @@ -16898,6 +16896,7 @@ /* Initialize iterator and info to start at POS. */ start_display (&it, w, pos); + it.glyph_row->reversed_p = false; /* Display all lines of W. */ while (it.current_y < it.last_visible_y) @@ -17081,6 +17080,7 @@ && it.current.dpvec_index < 0) break; + it.glyph_row->reversed_p = false; if (display_line (&it)) last_text_row = it.glyph_row - 1; @@ -18101,6 +18101,11 @@ w->cursor.vpos = -1; last_text_row = NULL; overlay_arrow_seen = 0; + if (it.current_y < it.last_visible_y + && !f->fonts_changed + && (first_unchanged_at_end_row == NULL + || IT_CHARPOS (it) < stop_pos)) + it.glyph_row->reversed_p = false; while (it.current_y < it.last_visible_y && !f->fonts_changed && (first_unchanged_at_end_row == NULL @@ -18810,6 +18815,7 @@ set_buffer_temp (buffer); init_iterator (&it, w, -1, -1, &scratch_glyph_row, DEFAULT_FACE_ID); + scratch_glyph_row.reversed_p = false; it.glyph_row->used[TEXT_AREA] = 0; SET_TEXT_POS (it.position, 0, 0); @@ -21400,6 +21406,7 @@ clear_glyph_row (row); row->enabled_p = true; row->full_width_p = 1; + row->reversed_p = false; } /* Display all items of the menu bar. */ ------------------------------------------------------------ revno: 117710 committer: Andreas Schwab branch nick: emacs timestamp: Sat 2014-08-16 21:51:27 +0200 message: Handle missing space marker in unified diff during header fixup * vc/diff-mode.el (diff-fixup-modifs): Handle empty line in context of unified diff. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-08-16 16:50:32 +0000 +++ lisp/ChangeLog 2014-08-16 19:51:27 +0000 @@ -1,3 +1,8 @@ +2014-08-16 Andreas Schwab + + * vc/diff-mode.el (diff-fixup-modifs): Handle empty line in + context of unified diff. + 2014-08-16 Paul Eggert Add dependencies to fix loaddefs race during parallel builds. === modified file 'lisp/vc/diff-mode.el' --- lisp/vc/diff-mode.el 2014-06-18 08:48:49 +0000 +++ lisp/vc/diff-mode.el 2014-08-16 19:51:27 +0000 @@ -1220,6 +1220,9 @@ (?- (cl-incf minus)) (?! (cl-incf bang)) ((or ?\\ ?#) nil) + (?\n (if diff-valid-unified-empty-line + (cl-incf space) + (setq space 0 plus 0 minus 0 bang 0))) (_ (setq space 0 plus 0 minus 0 bang 0))) (cond ((looking-at diff-hunk-header-re-unified)