aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2015-03-03 14:29:22 -0800
committerPaul Eggert2015-03-03 14:29:22 -0800
commitf15c8583198c3d6c26ca0c0a5b6fb019f98d6c3c (patch)
tree7068ac99c5729e94a93a4a0ae7ddd1acbb7d2c01 /src
parent118a31a3b1eb08cba14887c3134054e9b4383688 (diff)
parentec26c23f4815fbc6bbd16d20f400721bc7b58344 (diff)
downloademacs-f15c8583198c3d6c26ca0c0a5b6fb019f98d6c3c.tar.gz
emacs-f15c8583198c3d6c26ca0c0a5b6fb019f98d6c3c.zip
Merge from origin/emacs-24
ec26c23 authors.el: Add missing ignored and renamed files e589765 A more thorough fix for bug#19307 4e8d586 Fix last commit d6fee01 Tramp: Don't use a tempfile for ControlPath. 27e11c0 Fix display of overlay strings with faces after ellipsis (Bug#19307) e9a7e10 Fix redrawing of mode lines when exposed (Bug#19721) 50f3811 net/tramp.el (tramp-ssh-controlmaster-options): Use "%C" Conflicts: lisp/ChangeLog src/ChangeLog src/xdisp.c
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog27
-rw-r--r--src/dispnew.c6
-rw-r--r--src/xdisp.c32
3 files changed, 49 insertions, 16 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0bc5d650caf..0a05b544d98 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,30 @@
12015-03-03 Eli Zaretskii <eliz@gnu.org>
2
3 * xdisp.c (handle_stop, handle_single_display_spec)
4 (next-element_from_image): Don't reset the
5 ignore_overlay_strings_at_pos_p flag here.
6 (next_element_from_buffer): Reset ignore_overlay_strings_at_pos_p
7 here.
8 (next_overlay_string): Set ignore_overlay_strings_at_pos_p here,
9 after we've exhausted all the overlay strings at the current
10 position. (Bug#19307)
11
122015-03-03 Eli Zaretskii <eliz@gnu.org>
13
14 * xdisp.c (set_iterator_to_next): Set value of stop_charpos
15 according to the object we are about to resume iterating.
16 (Bug#19307)
17
18 * dispnew.c (adjust_glyph_matrix): Set the update_mode_line flag
19 of the window whose current glyph matrix was resized, which
20 disables the mode-line row as side effect.
21
22 * xdisp.c (redisplay_window): Don't avoid redisplay of a window
23 whose update_mode_line flag is set. (Bug#19721)
24
252015-03-03 Eli Zaretskii <eliz@gnu.org>
26
27 * dispextern.h (FACE_FOR_CHAR): Fix the commentary.
12015-03-03 Daniel Colascione <dancol@dancol.org> 282015-03-03 Daniel Colascione <dancol@dancol.org>
2 29
3 * alloc.c (syms_of_alloc): Rename `gc-precise-p' to `gc-precise'. 30 * alloc.c (syms_of_alloc): Rename `gc-precise-p' to `gc-precise'.
diff --git a/src/dispnew.c b/src/dispnew.c
index 6bc24697cb7..693dd49825c 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -567,6 +567,12 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
567 for (i = 0; i < matrix->nrows; ++i) 567 for (i = 0; i < matrix->nrows; ++i)
568 matrix->rows[i].enabled_p = false; 568 matrix->rows[i].enabled_p = false;
569 } 569 }
570 /* We've disabled the mode-line row, so force redrawing of
571 the mode line, if any, since otherwise it will remain
572 disabled in the current matrix, and expose events won't
573 redraw it. */
574 if (WINDOW_WANTS_MODELINE_P (w))
575 w->update_mode_line = 1;
570 } 576 }
571 else if (matrix == w->desired_matrix) 577 else if (matrix == w->desired_matrix)
572 { 578 {
diff --git a/src/xdisp.c b/src/xdisp.c
index 3f57841ac13..5ef839eb865 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -3241,7 +3241,6 @@ handle_stop (struct it *it)
3241 it->dpvec = NULL; 3241 it->dpvec = NULL;
3242 it->current.dpvec_index = -1; 3242 it->current.dpvec_index = -1;
3243 handle_overlay_change_p = !it->ignore_overlay_strings_at_pos_p; 3243 handle_overlay_change_p = !it->ignore_overlay_strings_at_pos_p;
3244 it->ignore_overlay_strings_at_pos_p = false;
3245 it->ellipsis_p = false; 3244 it->ellipsis_p = false;
3246 3245
3247 /* Use face of preceding text for ellipsis (if invisible) */ 3246 /* Use face of preceding text for ellipsis (if invisible) */
@@ -3331,7 +3330,6 @@ handle_stop (struct it *it)
3331 pop_it (it); 3330 pop_it (it);
3332 else 3331 else
3333 { 3332 {
3334 it->ignore_overlay_strings_at_pos_p = true;
3335 it->string_from_display_prop_p = false; 3333 it->string_from_display_prop_p = false;
3336 it->from_disp_prop_p = false; 3334 it->from_disp_prop_p = false;
3337 handle_overlay_change_p = false; 3335 handle_overlay_change_p = false;
@@ -4925,11 +4923,6 @@ handle_single_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object,
4925 iterate_out_of_display_property (it); 4923 iterate_out_of_display_property (it);
4926 *position = it->position; 4924 *position = it->position;
4927 } 4925 }
4928 /* If we were to display this fringe bitmap,
4929 next_element_from_image would have reset this flag.
4930 Do the same, to avoid affecting overlays that
4931 follow. */
4932 it->ignore_overlay_strings_at_pos_p = false;
4933 return 1; 4926 return 1;
4934 } 4927 }
4935 } 4928 }
@@ -4949,9 +4942,6 @@ handle_single_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object,
4949 iterate_out_of_display_property (it); 4942 iterate_out_of_display_property (it);
4950 *position = it->position; 4943 *position = it->position;
4951 } 4944 }
4952 if (it)
4953 /* Reset this flag like next_element_from_image would. */
4954 it->ignore_overlay_strings_at_pos_p = false;
4955 return 1; 4945 return 1;
4956 } 4946 }
4957 4947
@@ -5445,6 +5435,12 @@ next_overlay_string (struct it *it)
5445 if (it->sp > 0 && STRINGP (it->string) && !SCHARS (it->string)) 5435 if (it->sp > 0 && STRINGP (it->string) && !SCHARS (it->string))
5446 pop_it (it); 5436 pop_it (it);
5447 5437
5438 /* Since we've exhausted overlay strings at this buffer
5439 position, set the flag to ignore overlays until we move to
5440 another position. The flag is reset in
5441 next_element_from_buffer. */
5442 it->ignore_overlay_strings_at_pos_p = true;
5443
5448 /* If we're at the end of the buffer, record that we have 5444 /* If we're at the end of the buffer, record that we have
5449 processed the overlay strings there already, so that 5445 processed the overlay strings there already, so that
5450 next_element_from_buffer doesn't try it again. */ 5446 next_element_from_buffer doesn't try it again. */
@@ -7289,17 +7285,18 @@ set_iterator_to_next (struct it *it, bool reseat_p)
7289 reseat_at_next_visible_line_start (it, true); 7285 reseat_at_next_visible_line_start (it, true);
7290 else if (it->dpvec_char_len > 0) 7286 else if (it->dpvec_char_len > 0)
7291 { 7287 {
7292 if (it->method == GET_FROM_STRING
7293 && it->current.overlay_string_index >= 0
7294 && it->n_overlay_strings > 0)
7295 it->ignore_overlay_strings_at_pos_p = true;
7296 it->len = it->dpvec_char_len; 7288 it->len = it->dpvec_char_len;
7297 set_iterator_to_next (it, reseat_p); 7289 set_iterator_to_next (it, reseat_p);
7298 } 7290 }
7299 7291
7300 /* Maybe recheck faces after display vector. */ 7292 /* Maybe recheck faces after display vector. */
7301 if (recheck_faces) 7293 if (recheck_faces)
7302 it->stop_charpos = IT_CHARPOS (*it); 7294 {
7295 if (it->method == GET_FROM_STRING)
7296 it->stop_charpos = IT_STRING_CHARPOS (*it);
7297 else
7298 it->stop_charpos = IT_CHARPOS (*it);
7299 }
7303 } 7300 }
7304 break; 7301 break;
7305 7302
@@ -7916,7 +7913,6 @@ static bool
7916next_element_from_image (struct it *it) 7913next_element_from_image (struct it *it)
7917{ 7914{
7918 it->what = IT_IMAGE; 7915 it->what = IT_IMAGE;
7919 it->ignore_overlay_strings_at_pos_p = false;
7920 return true; 7916 return true;
7921} 7917}
7922 7918
@@ -8086,6 +8082,7 @@ next_element_from_buffer (struct it *it)
8086 and handle the last stop_charpos that precedes our 8082 and handle the last stop_charpos that precedes our
8087 current position. */ 8083 current position. */
8088 handle_stop_backwards (it, it->stop_charpos); 8084 handle_stop_backwards (it, it->stop_charpos);
8085 it->ignore_overlay_strings_at_pos_p = false;
8089 return GET_NEXT_DISPLAY_ELEMENT (it); 8086 return GET_NEXT_DISPLAY_ELEMENT (it);
8090 } 8087 }
8091 else 8088 else
@@ -8102,6 +8099,7 @@ next_element_from_buffer (struct it *it)
8102 it->base_level_stop = it->stop_charpos; 8099 it->base_level_stop = it->stop_charpos;
8103 } 8100 }
8104 handle_stop (it); 8101 handle_stop (it);
8102 it->ignore_overlay_strings_at_pos_p = false;
8105 return GET_NEXT_DISPLAY_ELEMENT (it); 8103 return GET_NEXT_DISPLAY_ELEMENT (it);
8106 } 8104 }
8107 } 8105 }
@@ -8129,6 +8127,7 @@ next_element_from_buffer (struct it *it)
8129 } 8127 }
8130 else 8128 else
8131 handle_stop_backwards (it, it->base_level_stop); 8129 handle_stop_backwards (it, it->base_level_stop);
8130 it->ignore_overlay_strings_at_pos_p = false;
8132 return GET_NEXT_DISPLAY_ELEMENT (it); 8131 return GET_NEXT_DISPLAY_ELEMENT (it);
8133 } 8132 }
8134 else 8133 else
@@ -15799,6 +15798,7 @@ redisplay_window (Lisp_Object window, bool just_this_one_p)
15799 if (!just_this_one_p 15798 if (!just_this_one_p
15800 && REDISPLAY_SOME_P () 15799 && REDISPLAY_SOME_P ()
15801 && !w->redisplay 15800 && !w->redisplay
15801 && !w->update_mode_line
15802 && !f->redisplay 15802 && !f->redisplay
15803 && !buffer->text->redisplay 15803 && !buffer->text->redisplay
15804 && BUF_PT (buffer) == w->last_point) 15804 && BUF_PT (buffer) == w->last_point)