diff options
| author | Glenn Morris | 2014-09-02 21:21:40 -0700 |
|---|---|---|
| committer | Glenn Morris | 2014-09-02 21:21:40 -0700 |
| commit | 62fca47221fc9d248511cd94fbcb41ddb46763e6 (patch) | |
| tree | d039e0d0580f884abbfd7515b63ef7bc4aabeaaa /src | |
| parent | e6769f18909edfd1bbf6473a1f754ab29e2fb114 (diff) | |
| parent | af86b05fd4b79c3d1c3b71c6193c4295a1265594 (diff) | |
| download | emacs-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/ChangeLog | 22 | ||||
| -rw-r--r-- | src/conf_post.h | 4 | ||||
| -rw-r--r-- | src/dispnew.c | 16 | ||||
| -rw-r--r-- | src/eval.c | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 4 |
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 @@ | |||
| 1 | 2014-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 | |||
| 8 | 2014-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 | |||
| 13 | 2014-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 | |||
| 19 | 2014-09-03 Ken Brown <kbrown@cornell.edu> | ||
| 20 | |||
| 21 | * conf_post.h (strnicmp) [CYGWIN && HAVE_NTGUI]: Define. (Bug#18366) | ||
| 22 | |||
| 1 | 2014-09-02 Paul Eggert <eggert@cs.ucla.edu> | 23 | 2014-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))) |