aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2014-09-02 21:21:40 -0700
committerGlenn Morris2014-09-02 21:21:40 -0700
commit62fca47221fc9d248511cd94fbcb41ddb46763e6 (patch)
treed039e0d0580f884abbfd7515b63ef7bc4aabeaaa /src
parente6769f18909edfd1bbf6473a1f754ab29e2fb114 (diff)
parentaf86b05fd4b79c3d1c3b71c6193c4295a1265594 (diff)
downloademacs-62fca47221fc9d248511cd94fbcb41ddb46763e6.tar.gz
emacs-62fca47221fc9d248511cd94fbcb41ddb46763e6.zip
Merge from emacs-24; up to 2014-07-04T02:28:54Z!dmantipov@yandex.ru
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog22
-rw-r--r--src/conf_post.h4
-rw-r--r--src/dispnew.c16
-rw-r--r--src/eval.c2
-rw-r--r--src/xdisp.c4
5 files changed, 39 insertions, 9 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index fbe5f597d9c..cfafd9d8fa3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,25 @@
12014-09-03 Eli Zaretskii <eliz@gnu.org>
2
3 * dispnew.c (buffer_posn_from_coords): Fix an off-by-one error in
4 the reported row in the case of a window with a header line, by
5 improving on the fix committed in 2011-10-08T10:58:50Z!eliz@gnu.org
6 eliz@gnu.org-20111008105850-ht4tvsayohvr1kjc. (Bug#18384)
7
82014-09-03 Paul Eggert <eggert@cs.ucla.edu>
9
10 * eval.c (internal_lisp_condition_case): Don't overrun the stack
11 when configured --with-wide-int on typical 32-bit platforms.
12
132014-09-03 Eli Zaretskii <eliz@gnu.org>
14
15 * xdisp.c (display_and_set_cursor): Call erase_phys_cursor also
16 when HPOS is negative, for the benefit of R2L glyph rows whose
17 newline overflows into the fringe.
18
192014-09-03 Ken Brown <kbrown@cornell.edu>
20
21 * conf_post.h (strnicmp) [CYGWIN && HAVE_NTGUI]: Define. (Bug#18366)
22
12014-09-02 Paul Eggert <eggert@cs.ucla.edu> 232014-09-02 Paul Eggert <eggert@cs.ucla.edu>
2 24
3 Minor cleanup of recent strlen-avoiding patch. 25 Minor cleanup of recent strlen-avoiding patch.
diff --git a/src/conf_post.h b/src/conf_post.h
index 35d9e6d1385..8667e2554cd 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -193,6 +193,10 @@ extern void _DebPrint (const char *fmt, ...);
193#if defined CYGWIN && defined HAVE_NTGUI 193#if defined CYGWIN && defined HAVE_NTGUI
194# define NTGUI_UNICODE /* Cygwin runs only on UNICODE-supporting systems */ 194# define NTGUI_UNICODE /* Cygwin runs only on UNICODE-supporting systems */
195# define _WIN32_WINNT 0x500 /* Win2k */ 195# define _WIN32_WINNT 0x500 /* Win2k */
196/* The following was in /usr/include/string.h prior to Cygwin 1.7.33. */
197#ifndef strnicmp
198#define strnicmp strncasecmp
199#endif
196#endif 200#endif
197 201
198#ifdef emacs /* Don't do this for lib-src. */ 202#ifdef emacs /* Don't do this for lib-src. */
diff --git a/src/dispnew.c b/src/dispnew.c
index 43ffca7c181..73b6253e124 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -5121,7 +5121,7 @@ buffer_posn_from_coords (struct window *w, int *x, int *y, struct display_pos *p
5121#ifdef HAVE_WINDOW_SYSTEM 5121#ifdef HAVE_WINDOW_SYSTEM
5122 struct image *img = 0; 5122 struct image *img = 0;
5123#endif 5123#endif
5124 int x0, x1, to_x; 5124 int x0, x1, to_x, it_vpos;
5125 void *itdata = NULL; 5125 void *itdata = NULL;
5126 5126
5127 /* We used to set current_buffer directly here, but that does the 5127 /* We used to set current_buffer directly here, but that does the
@@ -5130,11 +5130,6 @@ buffer_posn_from_coords (struct window *w, int *x, int *y, struct display_pos *p
5130 itdata = bidi_shelve_cache (); 5130 itdata = bidi_shelve_cache ();
5131 CLIP_TEXT_POS_FROM_MARKER (startp, w->start); 5131 CLIP_TEXT_POS_FROM_MARKER (startp, w->start);
5132 start_display (&it, w, startp); 5132 start_display (&it, w, startp);
5133 /* start_display takes into account the header-line row, but IT's
5134 vpos still counts from the glyph row that includes the window's
5135 start position. Adjust for a possible header-line row. */
5136 it.vpos += WINDOW_WANTS_HEADER_LINE_P (w);
5137
5138 x0 = *x; 5133 x0 = *x;
5139 5134
5140 /* First, move to the beginning of the row corresponding to *Y. We 5135 /* First, move to the beginning of the row corresponding to *Y. We
@@ -5204,8 +5199,13 @@ buffer_posn_from_coords (struct window *w, int *x, int *y, struct display_pos *p
5204 } 5199 }
5205#endif 5200#endif
5206 5201
5207 if (it.vpos < w->current_matrix->nrows 5202 /* IT's vpos counts from the glyph row that includes the window's
5208 && (row = MATRIX_ROW (w->current_matrix, it.vpos), 5203 start position, i.e. it excludes the header-line row, but
5204 MATRIX_ROW includes the header-line row. Adjust for a possible
5205 header-line row. */
5206 it_vpos = it.vpos + WINDOW_WANTS_MODELINE_P (w);
5207 if (it_vpos < w->current_matrix->nrows
5208 && (row = MATRIX_ROW (w->current_matrix, it_vpos),
5209 row->enabled_p)) 5209 row->enabled_p))
5210 { 5210 {
5211 if (it.hpos < row->used[TEXT_AREA]) 5211 if (it.hpos < row->used[TEXT_AREA])
diff --git a/src/eval.c b/src/eval.c
index 4b2e256a722..02fc3426f83 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1273,7 +1273,7 @@ internal_lisp_condition_case (volatile Lisp_Object var, Lisp_Object bodyform,
1273 { /* The first clause is the one that should be checked first, so it should 1273 { /* The first clause is the one that should be checked first, so it should
1274 be added to handlerlist last. So we build in `clauses' a table that 1274 be added to handlerlist last. So we build in `clauses' a table that
1275 contains `handlers' but in reverse order. */ 1275 contains `handlers' but in reverse order. */
1276 Lisp_Object *clauses = alloca (clausenb * sizeof (Lisp_Object *)); 1276 Lisp_Object *clauses = alloca (clausenb * sizeof *clauses);
1277 Lisp_Object *volatile clauses_volatile = clauses; 1277 Lisp_Object *volatile clauses_volatile = clauses;
1278 int i = clausenb; 1278 int i = clausenb;
1279 for (val = handlers; CONSP (val); val = XCDR (val)) 1279 for (val = handlers; CONSP (val); val = XCDR (val))
diff --git a/src/xdisp.c b/src/xdisp.c
index 4383c497d7a..93eea2c2b34 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -27513,6 +27513,10 @@ display_and_set_cursor (struct window *w, bool on,
27513 && (!on 27513 && (!on
27514 || w->phys_cursor.x != x 27514 || w->phys_cursor.x != x
27515 || w->phys_cursor.y != y 27515 || w->phys_cursor.y != y
27516 /* HPOS can be negative in R2L rows whose
27517 exact_window_width_line_p flag is set (i.e. their newline
27518 would "overflow into the fringe"). */
27519 || hpos < 0
27516 || new_cursor_type != w->phys_cursor_type 27520 || new_cursor_type != w->phys_cursor_type
27517 || ((new_cursor_type == BAR_CURSOR || new_cursor_type == HBAR_CURSOR) 27521 || ((new_cursor_type == BAR_CURSOR || new_cursor_type == HBAR_CURSOR)
27518 && new_cursor_width != w->phys_cursor_width))) 27522 && new_cursor_width != w->phys_cursor_width)))