aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNoam Postavsky2017-11-11 11:10:49 -0500
committerNoam Postavsky2017-11-11 11:12:00 -0500
commit1fa0766cfa17e37be77a1566dbc775ab4ce7ff2e (patch)
tree66f1607d41b0bc490f3202c327ecb3fcdc5746bf /src
parent1ef6d2b0e679c035dd2a1f2f858865eeafc5bc28 (diff)
parent9533d76b0b5bfe2df1cccc55a92c2545b1de4e2b (diff)
downloademacs-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.c2
-rw-r--r--src/dispextern.h7
-rw-r--r--src/frame.c6
-rw-r--r--src/xdisp.c20
-rw-r--r--src/xfns.c6
-rw-r--r--src/xterm.c12
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 *);
3452void x_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object); 3452void x_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object);
3453void x_change_tool_bar_height (struct frame *f, int); 3453void 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. */
3455extern Lisp_Object tip_frame; 3461extern Lisp_Object tip_frame;
3462
3456extern Window tip_window; 3463extern Window tip_window;
3457extern frame_parm_handler x_frame_parm_handlers[]; 3464extern 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,