diff options
| author | Noam Postavsky | 2017-11-11 11:10:49 -0500 |
|---|---|---|
| committer | Noam Postavsky | 2017-11-11 11:12:00 -0500 |
| commit | 1fa0766cfa17e37be77a1566dbc775ab4ce7ff2e (patch) | |
| tree | 66f1607d41b0bc490f3202c327ecb3fcdc5746bf /src | |
| parent | 1ef6d2b0e679c035dd2a1f2f858865eeafc5bc28 (diff) | |
| parent | 9533d76b0b5bfe2df1cccc55a92c2545b1de4e2b (diff) | |
| download | emacs-1fa0766cfa17e37be77a1566dbc775ab4ce7ff2e.tar.gz emacs-1fa0766cfa17e37be77a1566dbc775ab4ce7ff2e.zip | |
; Merge from emacs-26
9533d76b0b Keep Man sections in natural order (bug#28998)
d63c9a96f5 * lisp/minibuffer.el: Install a workaround for bug#16274
7657a86709 Fix comparisons with tip_frame in GTK builds
603a0716a8 Improve the documentation of M-n for entering file names
72f813fb56 Fix desktop auto-save timer when linum-mode is used
44340b475f Fix "C-h k" in xterm-mouse-mode
05aa6d4a68 Fix off-by-1 bug in --enable-checking=stringbytes
096f638ddc Correct the indentation of C99's compound literals.
c52a2aa8f3 Improve the doc string of 'dired-isearch-filter-filenames'
e592b92482 * lisp/isearch.el (search-invisible): Doc fix. (Bug#29222)
f3e69a80ab Fix display of line numbers in GTK builds
e6f1fd4091 Fix previous change to flymake-diag-region (bug#29174)
89382780e1 flymake-diag-region really returns nil if region is invali...
535688a418 Flymake correctly highlights whole last line if eob (bug#2...
72e62d3fdb Protect Flymake checkdoc backend against checkdoc errors (...
b28de57411 Sort entries of the Flymake diagnostics buffer (bug#29175)
fc56bea142 Correctly indent C++14 brace lists which are a second argu...
9dde8be9cd Fix redisplay of overlay-arrows on GUI frames
0da08f2f8e Protect Flymake tests against older Ruby and Perl (bug#29187)
781f276cc1 Fix URL cookie expiration bug
Diffstat (limited to 'src')
| -rw-r--r-- | src/alloc.c | 2 | ||||
| -rw-r--r-- | src/dispextern.h | 7 | ||||
| -rw-r--r-- | src/frame.c | 6 | ||||
| -rw-r--r-- | src/xdisp.c | 20 | ||||
| -rw-r--r-- | src/xfns.c | 6 | ||||
| -rw-r--r-- | src/xterm.c | 12 |
6 files changed, 44 insertions, 9 deletions
diff --git a/src/alloc.c b/src/alloc.c index f479226845a..ae892e49d7d 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -1760,7 +1760,7 @@ static char const string_overrun_cookie[GC_STRING_OVERRUN_COOKIE_SIZE] = | |||
| 1760 | 1760 | ||
| 1761 | #ifdef GC_CHECK_STRING_BYTES | 1761 | #ifdef GC_CHECK_STRING_BYTES |
| 1762 | 1762 | ||
| 1763 | #define SDATA_SIZE(NBYTES) FLEXSIZEOF (struct sdata, data, NBYTES) | 1763 | #define SDATA_SIZE(NBYTES) FLEXSIZEOF (struct sdata, data, (NBYTES) + 1) |
| 1764 | 1764 | ||
| 1765 | #else /* not GC_CHECK_STRING_BYTES */ | 1765 | #else /* not GC_CHECK_STRING_BYTES */ |
| 1766 | 1766 | ||
diff --git a/src/dispextern.h b/src/dispextern.h index 2f55d8cbc87..430afbf09a3 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -3452,7 +3452,14 @@ void gamma_correct (struct frame *, COLORREF *); | |||
| 3452 | void x_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object); | 3452 | void x_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object); |
| 3453 | void x_change_tool_bar_height (struct frame *f, int); | 3453 | void x_change_tool_bar_height (struct frame *f, int); |
| 3454 | 3454 | ||
| 3455 | /* The frame used to display a tooltip. | ||
| 3456 | |||
| 3457 | Note: In a GTK build with non-zero x_gtk_use_system_tooltips, this | ||
| 3458 | variable holds the frame that shows the tooltip, not the frame of | ||
| 3459 | the tooltip itself, so checking whether a frame is a tooltip frame | ||
| 3460 | cannot just compare the frame to what this variable holds. */ | ||
| 3455 | extern Lisp_Object tip_frame; | 3461 | extern Lisp_Object tip_frame; |
| 3462 | |||
| 3456 | extern Window tip_window; | 3463 | extern Window tip_window; |
| 3457 | extern frame_parm_handler x_frame_parm_handlers[]; | 3464 | extern frame_parm_handler x_frame_parm_handlers[]; |
| 3458 | 3465 | ||
diff --git a/src/frame.c b/src/frame.c index fe1709e6ede..2b32751c0d3 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -1472,7 +1472,11 @@ DEFUN ("frame-list", Fframe_list, Sframe_list, | |||
| 1472 | Lisp_Object frames; | 1472 | Lisp_Object frames; |
| 1473 | frames = Fcopy_sequence (Vframe_list); | 1473 | frames = Fcopy_sequence (Vframe_list); |
| 1474 | #ifdef HAVE_WINDOW_SYSTEM | 1474 | #ifdef HAVE_WINDOW_SYSTEM |
| 1475 | if (FRAMEP (tip_frame)) | 1475 | if (FRAMEP (tip_frame) |
| 1476 | #ifdef USE_GTK | ||
| 1477 | && !NILP (Fframe_parameter (tip_frame, Qtooltip)) | ||
| 1478 | #endif | ||
| 1479 | ) | ||
| 1476 | frames = Fdelq (tip_frame, frames); | 1480 | frames = Fdelq (tip_frame, frames); |
| 1477 | #endif | 1481 | #endif |
| 1478 | return frames; | 1482 | return frames; |
diff --git a/src/xdisp.c b/src/xdisp.c index f1a6c622d09..f1c6b9ff699 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -16066,8 +16066,10 @@ try_cursor_movement (Lisp_Object window, struct text_pos startp, | |||
| 16066 | since the handling of this_line_start_pos, etc., in redisplay | 16066 | since the handling of this_line_start_pos, etc., in redisplay |
| 16067 | handles the same cases. */ | 16067 | handles the same cases. */ |
| 16068 | && !EQ (window, minibuf_window) | 16068 | && !EQ (window, minibuf_window) |
| 16069 | && (FRAME_WINDOW_P (f) | 16069 | /* When overlay arrow is shown in current buffer, point movement |
| 16070 | || !overlay_arrow_in_current_buffer_p ())) | 16070 | is no longer "simple", as it typically causes the overlay |
| 16071 | arrow to move as well. */ | ||
| 16072 | && !overlay_arrow_in_current_buffer_p ()) | ||
| 16071 | { | 16073 | { |
| 16072 | int this_scroll_margin, top_scroll_margin; | 16074 | int this_scroll_margin, top_scroll_margin; |
| 16073 | struct glyph_row *row = NULL; | 16075 | struct glyph_row *row = NULL; |
| @@ -17698,7 +17700,11 @@ try_window_reusing_current_matrix (struct window *w) | |||
| 17698 | /* Don't try to reuse the display if windows have been split | 17700 | /* Don't try to reuse the display if windows have been split |
| 17699 | or such. */ | 17701 | or such. */ |
| 17700 | || windows_or_buffers_changed | 17702 | || windows_or_buffers_changed |
| 17701 | || f->cursor_type_changed) | 17703 | || f->cursor_type_changed |
| 17704 | /* This function cannot handle buffers where the overlay arrow | ||
| 17705 | is shown on the fringes, because if the arrow position | ||
| 17706 | changes, we cannot just reuse the current matrix. */ | ||
| 17707 | || overlay_arrow_in_current_buffer_p ()) | ||
| 17702 | return false; | 17708 | return false; |
| 17703 | 17709 | ||
| 17704 | /* Can't do this if showing trailing whitespace. */ | 17710 | /* Can't do this if showing trailing whitespace. */ |
| @@ -21126,7 +21132,13 @@ should_produce_line_number (struct it *it) | |||
| 21126 | 21132 | ||
| 21127 | #ifdef HAVE_WINDOW_SYSTEM | 21133 | #ifdef HAVE_WINDOW_SYSTEM |
| 21128 | /* Don't display line number in tooltip frames. */ | 21134 | /* Don't display line number in tooltip frames. */ |
| 21129 | if (FRAMEP (tip_frame) && EQ (WINDOW_FRAME (it->w), tip_frame)) | 21135 | if (FRAMEP (tip_frame) && EQ (WINDOW_FRAME (it->w), tip_frame) |
| 21136 | #ifdef USE_GTK | ||
| 21137 | /* GTK builds store in tip_frame the frame that shows the tip, | ||
| 21138 | so we need an additional test. */ | ||
| 21139 | && !NILP (Fframe_parameter (tip_frame, Qtooltip)) | ||
| 21140 | #endif | ||
| 21141 | ) | ||
| 21130 | return false; | 21142 | return false; |
| 21131 | #endif | 21143 | #endif |
| 21132 | 21144 | ||
diff --git a/src/xfns.c b/src/xfns.c index 9022e4a9674..83fc07dc6cb 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -4915,7 +4915,11 @@ Internal use only, use `display-monitor-attributes-list' instead. */) | |||
| 4915 | struct frame *f = XFRAME (frame); | 4915 | struct frame *f = XFRAME (frame); |
| 4916 | 4916 | ||
| 4917 | if (FRAME_X_P (f) && FRAME_DISPLAY_INFO (f) == dpyinfo | 4917 | if (FRAME_X_P (f) && FRAME_DISPLAY_INFO (f) == dpyinfo |
| 4918 | && !EQ (frame, tip_frame)) | 4918 | && !(EQ (frame, tip_frame) |
| 4919 | #ifdef USE_GTK | ||
| 4920 | && !NILP (Fframe_parameter (tip_frame, Qtooltip)) | ||
| 4921 | #endif | ||
| 4922 | )) | ||
| 4919 | { | 4923 | { |
| 4920 | GdkWindow *gwin = gtk_widget_get_window (FRAME_GTK_WIDGET (f)); | 4924 | GdkWindow *gwin = gtk_widget_get_window (FRAME_GTK_WIDGET (f)); |
| 4921 | 4925 | ||
diff --git a/src/xterm.c b/src/xterm.c index dbb8349452d..e11cde771ab 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -997,7 +997,11 @@ x_update_begin (struct frame *f) | |||
| 997 | { | 997 | { |
| 998 | #ifdef USE_CAIRO | 998 | #ifdef USE_CAIRO |
| 999 | if (! NILP (tip_frame) && XFRAME (tip_frame) == f | 999 | if (! NILP (tip_frame) && XFRAME (tip_frame) == f |
| 1000 | && ! FRAME_VISIBLE_P (f)) | 1000 | && ! FRAME_VISIBLE_P (f) |
| 1001 | #ifdef USE_GTK | ||
| 1002 | && !NILP (Fframe_parameter (tip_frame, Qtooltip)) | ||
| 1003 | #endif | ||
| 1004 | ) | ||
| 1001 | return; | 1005 | return; |
| 1002 | 1006 | ||
| 1003 | if (! FRAME_CR_SURFACE (f)) | 1007 | if (! FRAME_CR_SURFACE (f)) |
| @@ -9960,7 +9964,11 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset) | |||
| 9960 | /* Don't change the size of a tip frame; there's no point in | 9964 | /* Don't change the size of a tip frame; there's no point in |
| 9961 | doing it because it's done in Fx_show_tip, and it leads to | 9965 | doing it because it's done in Fx_show_tip, and it leads to |
| 9962 | problems because the tip frame has no widget. */ | 9966 | problems because the tip frame has no widget. */ |
| 9963 | if (NILP (tip_frame) || XFRAME (tip_frame) != f) | 9967 | if (NILP (tip_frame) || XFRAME (tip_frame) != f |
| 9968 | #ifdef USE_GTK | ||
| 9969 | || NILP (Fframe_parameter (tip_frame, Qtooltip)) | ||
| 9970 | #endif | ||
| 9971 | ) | ||
| 9964 | { | 9972 | { |
| 9965 | adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), | 9973 | adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), |
| 9966 | FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, | 9974 | FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, |