aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2016-01-30 11:43:26 -0800
committerPaul Eggert2016-01-30 11:43:26 -0800
commitcb4e054e41cdb7e398351a5ae8224759e721349e (patch)
treeae2bec4f10425bd61e2a90563edc178d382bb4b8 /src
parente6d575316a42946aac6d83c9587f09afd1a59d98 (diff)
parent60902756b0d794b16b9c1c67c4c40a3ac04d1c1b (diff)
downloademacs-cb4e054e41cdb7e398351a5ae8224759e721349e.tar.gz
emacs-cb4e054e41cdb7e398351a5ae8224759e721349e.zip
-
Diffstat (limited to 'src')
-rw-r--r--src/bidi.c2
-rw-r--r--src/emacs.c2
-rw-r--r--src/lisp.h2
-rw-r--r--src/nsterm.m45
-rw-r--r--src/w32.c2
-rw-r--r--src/w32heap.c4
-rw-r--r--src/w32term.c4
-rw-r--r--src/window.c2
-rw-r--r--src/xdisp.c4
-rw-r--r--src/xfaces.c2
-rw-r--r--src/xwidget.c12
11 files changed, 49 insertions, 32 deletions
diff --git a/src/bidi.c b/src/bidi.c
index 7f5d16b39ed..9b714543dd2 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -3001,7 +3001,7 @@ bidi_resolve_neutral (struct bidi_it *bidi_it)
3001 { 3001 {
3002 /* Arrrgh!! The UAX#9 algorithm is too deeply entrenched in 3002 /* Arrrgh!! The UAX#9 algorithm is too deeply entrenched in
3003 the assumption of batch-style processing; see clauses W4, 3003 the assumption of batch-style processing; see clauses W4,
3004 W5, and especially N1, which require to look far forward 3004 W5, and especially N1, which require looking far forward
3005 (as well as back) in the buffer/string. May the fleas of 3005 (as well as back) in the buffer/string. May the fleas of
3006 a thousand camels infest the armpits of those who design 3006 a thousand camels infest the armpits of those who design
3007 supposedly general-purpose algorithms by looking at their 3007 supposedly general-purpose algorithms by looking at their
diff --git a/src/emacs.c b/src/emacs.c
index f661196313f..7c818f59c5c 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -2191,7 +2191,7 @@ synchronize_locale (int category, Lisp_Object *plocale, Lisp_Object desired_loca
2191 { 2191 {
2192 *plocale = desired_locale; 2192 *plocale = desired_locale;
2193#ifdef WINDOWSNT 2193#ifdef WINDOWSNT
2194 /* Changing categories like LC_TIME usually requires to specify 2194 /* Changing categories like LC_TIME usually requires specifying
2195 an encoding suitable for the new locale, but MS-Windows's 2195 an encoding suitable for the new locale, but MS-Windows's
2196 'setlocale' will only switch the encoding when LC_ALL is 2196 'setlocale' will only switch the encoding when LC_ALL is
2197 specified. So we ignore CATEGORY, use LC_ALL instead, and 2197 specified. So we ignore CATEGORY, use LC_ALL instead, and
diff --git a/src/lisp.h b/src/lisp.h
index ee055e90699..6be2104ef9e 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2090,7 +2090,7 @@ struct Lisp_Marker
2090 /* For markers that point somewhere, 2090 /* For markers that point somewhere,
2091 this is used to chain of all the markers in a given buffer. */ 2091 this is used to chain of all the markers in a given buffer. */
2092 /* We could remove it and use an array in buffer_text instead. 2092 /* We could remove it and use an array in buffer_text instead.
2093 That would also allow to preserve it ordered. */ 2093 That would also allow us to preserve it ordered. */
2094 struct Lisp_Marker *next; 2094 struct Lisp_Marker *next;
2095 /* This is the char position where the marker points. */ 2095 /* This is the char position where the marker points. */
2096 ptrdiff_t charpos; 2096 ptrdiff_t charpos;
diff --git a/src/nsterm.m b/src/nsterm.m
index 860c55de70f..f77aadba67c 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -637,10 +637,11 @@ ns_menu_bar_should_be_hidden (void)
637 637
638static CGFloat 638static CGFloat
639ns_menu_bar_height (NSScreen *screen) 639ns_menu_bar_height (NSScreen *screen)
640/* The height of the menu bar, if visible. */ 640/* The height of the menu bar, if visible.
641{
642 // NSTRACE ("ns_menu_bar_height");
643 641
642 Note: Don't use this when fullscreen is enabled -- the screen
643 sometimes includes, sometimes excludes the menu bar area. */
644{
644 CGFloat res; 645 CGFloat res;
645 646
646 if (ns_menu_bar_should_be_hidden()) 647 if (ns_menu_bar_should_be_hidden())
@@ -660,7 +661,7 @@ ns_menu_bar_height (NSScreen *screen)
660 661
661 } 662 }
662 663
663 // NSTRACE_MSG (NSTRACE_FMT_RETURN "%.0f", res); 664 NSTRACE ("ns_menu_bar_height " NSTRACE_FMT_RETURN " %.0f", res);
664 665
665 return res; 666 return res;
666} 667}
@@ -714,7 +715,7 @@ ns_menu_bar_height (NSScreen *screen)
714// Result: Menu bar visible, frame placed immediately below the menu. 715// Result: Menu bar visible, frame placed immediately below the menu.
715// 716//
716 717
717static NSRect constrain_frame_rect(NSRect frameRect) 718static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
718{ 719{
719 NSTRACE ("constrain_frame_rect(" NSTRACE_FMT_RECT ")", 720 NSTRACE ("constrain_frame_rect(" NSTRACE_FMT_RECT ")",
720 NSTRACE_ARG_RECT (frameRect)); 721 NSTRACE_ARG_RECT (frameRect));
@@ -746,7 +747,11 @@ static NSRect constrain_frame_rect(NSRect frameRect)
746 { 747 {
747 multiscreenRect = NSUnionRect (multiscreenRect, scrRect); 748 multiscreenRect = NSUnionRect (multiscreenRect, scrRect);
748 749
749 menu_bar_height = max(menu_bar_height, ns_menu_bar_height (s)); 750 if (!isFullscreen)
751 {
752 CGFloat screen_menu_bar_height = ns_menu_bar_height (s);
753 menu_bar_height = max(menu_bar_height, screen_menu_bar_height);
754 }
750 } 755 }
751 } 756 }
752 757
@@ -840,7 +845,7 @@ ns_constrain_all_frames (void)
840 if (![view isFullscreen]) 845 if (![view isFullscreen])
841 { 846 {
842 [[view window] 847 [[view window]
843 setFrame:constrain_frame_rect([[view window] frame]) 848 setFrame:constrain_frame_rect([[view window] frame], false)
844 display:NO]; 849 display:NO];
845 } 850 }
846 } 851 }
@@ -1170,7 +1175,7 @@ ns_clip_to_row (struct window *w, struct glyph_row *row,
1170 // GNUstep doesn't provide named images. This was reported in 1175 // GNUstep doesn't provide named images. This was reported in
1171 // 2011, see https://savannah.gnu.org/bugs/?33396 1176 // 2011, see https://savannah.gnu.org/bugs/?33396
1172 // 1177 //
1173 // As a drop in replacment, a semi tranparent gray square is used. 1178 // As a drop in replacement, a semitransparent gray square is used.
1174 self.image = [[NSImage alloc] initWithSize:NSMakeSize(32, 32)]; 1179 self.image = [[NSImage alloc] initWithSize:NSMakeSize(32, 32)];
1175 [self.image lockFocus]; 1180 [self.image lockFocus];
1176 [[NSColor colorForEmacsRed:0.5 green:0.5 blue:0.5 alpha:0.5] set]; 1181 [[NSColor colorForEmacsRed:0.5 green:0.5 blue:0.5 alpha:0.5] set];
@@ -6650,7 +6655,7 @@ not_in_argv (NSString *arg)
6650 NSString *name; 6655 NSString *name;
6651 6656
6652 NSTRACE ("[EmacsView initFrameFromEmacs:]"); 6657 NSTRACE ("[EmacsView initFrameFromEmacs:]");
6653 NSTRACE_MSG ("cols:%d lines:%d\n", f->text_cols, f->text_lines); 6658 NSTRACE_MSG ("cols:%d lines:%d", f->text_cols, f->text_lines);
6654 6659
6655 windowClosing = NO; 6660 windowClosing = NO;
6656 processingCompose = NO; 6661 processingCompose = NO;
@@ -7099,14 +7104,25 @@ not_in_argv (NSString *arg)
7099 7104
7100- (BOOL)isFullscreen 7105- (BOOL)isFullscreen
7101{ 7106{
7102 NSTRACE ("[EmacsView isFullscreen]"); 7107 BOOL res;
7103 7108
7104 if (! fs_is_native) return nonfs_window != nil; 7109 if (! fs_is_native)
7110 {
7111 res = (nonfs_window != nil);
7112 }
7113 else
7114 {
7105#ifdef HAVE_NATIVE_FS 7115#ifdef HAVE_NATIVE_FS
7106 return ([[self window] styleMask] & NSFullScreenWindowMask) != 0; 7116 res = (([[self window] styleMask] & NSFullScreenWindowMask) != 0);
7107#else 7117#else
7108 return NO; 7118 res = NO;
7109#endif 7119#endif
7120 }
7121
7122 NSTRACE ("[EmacsView isFullscreen] " NSTRACE_FMT_RETURN " %d",
7123 (int) res);
7124
7125 return res;
7110} 7126}
7111 7127
7112#ifdef HAVE_NATIVE_FS 7128#ifdef HAVE_NATIVE_FS
@@ -7772,7 +7788,8 @@ not_in_argv (NSString *arg)
7772#endif 7788#endif
7773#endif 7789#endif
7774 7790
7775 return constrain_frame_rect(frameRect); 7791 return constrain_frame_rect(frameRect,
7792 [(EmacsView *)[self delegate] isFullscreen]);
7776} 7793}
7777 7794
7778 7795
diff --git a/src/w32.c b/src/w32.c
index 6f1d5fd1698..067bb3d7cad 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -95,7 +95,7 @@ typedef struct _MEMORY_STATUS_EX {
95} MEMORY_STATUS_EX,*LPMEMORY_STATUS_EX; 95} MEMORY_STATUS_EX,*LPMEMORY_STATUS_EX;
96 96
97/* These are here so that GDB would know about these data types. This 97/* These are here so that GDB would know about these data types. This
98 allows to attach GDB to Emacs when a fatal exception is triggered 98 allows attaching GDB to Emacs when a fatal exception is triggered
99 and Windows pops up the "application needs to be closed" dialog. 99 and Windows pops up the "application needs to be closed" dialog.
100 At that point, _gnu_exception_handler, the top-level exception 100 At that point, _gnu_exception_handler, the top-level exception
101 handler installed by the MinGW startup code, is somewhere on the 101 handler installed by the MinGW startup code, is somewhere on the
diff --git a/src/w32heap.c b/src/w32heap.c
index 3d1c5ff50a2..00da86a9598 100644
--- a/src/w32heap.c
+++ b/src/w32heap.c
@@ -100,8 +100,8 @@ typedef struct _RTL_HEAP_PARAMETERS {
100 special segment to the executable. In order to be able to do this 100 special segment to the executable. In order to be able to do this
101 without losing too much space, we need to create a Windows heap at 101 without losing too much space, we need to create a Windows heap at
102 the specific address of the static array. The RtlCreateHeap 102 the specific address of the static array. The RtlCreateHeap
103 available inside the NT kernel since XP will do this. It allows to 103 available inside the NT kernel since XP will do this. It allows the
104 create a non-growable heap at a specific address. So before 104 creation of a non-growable heap at a specific address. So before
105 dumping, we create a non-growable heap at the address of the 105 dumping, we create a non-growable heap at the address of the
106 dumped_data[] array. After dumping, we reuse memory allocated 106 dumped_data[] array. After dumping, we reuse memory allocated
107 there without being able to free it (but most of it is not meant to 107 there without being able to free it (but most of it is not meant to
diff --git a/src/w32term.c b/src/w32term.c
index 54fd2953d76..36a50212372 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -3616,8 +3616,8 @@ w32_set_horizontal_scroll_bar_thumb (struct scroll_bar *bar,
3616 si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE; 3616 si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE;
3617 si.nMin = 0; 3617 si.nMin = 0;
3618 si.nMax = whole; 3618 si.nMax = whole;
3619 /* Allow nPage to be one larger than nPos so we don't allow to scroll 3619 /* Allow nPage to be one larger than nPos so we don't allow the scrolling
3620 an already fully visible buffer. */ 3620 of an already fully visible buffer. */
3621 si.nPage = min (portion, si.nMax) + 1; 3621 si.nPage = min (portion, si.nMax) + 1;
3622 si.nPos = min (position, si.nMax); 3622 si.nPos = min (position, si.nMax);
3623 SetScrollInfo (w, SB_CTL, &si, TRUE); 3623 SetScrollInfo (w, SB_CTL, &si, TRUE);
diff --git a/src/window.c b/src/window.c
index 70b7e58feb5..e1a30ee5714 100644
--- a/src/window.c
+++ b/src/window.c
@@ -7261,7 +7261,7 @@ resizing a window preferably resizes one adjacent window only.
7261 7261
7262If this variable is t, splitting a window tries to get the space 7262If this variable is t, splitting a window tries to get the space
7263proportionally from all windows in the same combination. This also 7263proportionally from all windows in the same combination. This also
7264allows to split a window that is otherwise too small or of fixed size. 7264allows splitting a window that is otherwise too small or of fixed size.
7265Resizing and deleting a window proportionally resize all windows in the 7265Resizing and deleting a window proportionally resize all windows in the
7266same combination. 7266same combination.
7267 7267
diff --git a/src/xdisp.c b/src/xdisp.c
index 5185e777324..78fddd60fc0 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13139,7 +13139,7 @@ text_outside_line_unchanged_p (struct window *w,
13139 beginning of a paragraph, before the first strong directional 13139 beginning of a paragraph, before the first strong directional
13140 character, can change the base direction of the paragraph (unless 13140 character, can change the base direction of the paragraph (unless
13141 the buffer specifies a fixed paragraph direction), which will 13141 the buffer specifies a fixed paragraph direction), which will
13142 require to redisplay the whole paragraph. It might be worthwhile 13142 require redisplaying the whole paragraph. It might be worthwhile
13143 to find the paragraph limits and widen the range of redisplayed 13143 to find the paragraph limits and widen the range of redisplayed
13144 lines to that, but for now just give up this optimization. */ 13144 lines to that, but for now just give up this optimization. */
13145 if (!NILP (BVAR (XBUFFER (w->contents), bidi_display_reordering)) 13145 if (!NILP (BVAR (XBUFFER (w->contents), bidi_display_reordering))
@@ -18067,7 +18067,7 @@ try_window_id (struct window *w)
18067 beginning of a paragraph, before the first strong directional 18067 beginning of a paragraph, before the first strong directional
18068 character, can change the base direction of the paragraph (unless 18068 character, can change the base direction of the paragraph (unless
18069 the buffer specifies a fixed paragraph direction), which will 18069 the buffer specifies a fixed paragraph direction), which will
18070 require to redisplay the whole paragraph. It might be worthwhile 18070 require redisplaying the whole paragraph. It might be worthwhile
18071 to find the paragraph limits and widen the range of redisplayed 18071 to find the paragraph limits and widen the range of redisplayed
18072 lines to that, but for now just give up this optimization and 18072 lines to that, but for now just give up this optimization and
18073 redisplay from scratch. */ 18073 redisplay from scratch. */
diff --git a/src/xfaces.c b/src/xfaces.c
index 0bf4f0cefd6..2880eedc1e5 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -80,7 +80,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
80 specs overwrite the font-spec in the 14th attribute. 80 specs overwrite the font-spec in the 14th attribute.
81 81
82 82
83 Faces are frame-local by nature because Emacs allows to define the 83 Faces are frame-local by nature because Emacs allows you to define the
84 same named face (face names are symbols) differently for different 84 same named face (face names are symbols) differently for different
85 frames. Each frame has an alist of face definitions for all named 85 frames. Each frame has an alist of face definitions for all named
86 faces. The value of a named face in such an alist is a Lisp vector 86 faces. The value of a named face in such an alist is a Lisp vector
diff --git a/src/xwidget.c b/src/xwidget.c
index be3e4ca5732..8745416f3db 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -393,7 +393,7 @@ webkit_mime_type_policy_typedecision_requested_cb
393{ 393{
394 /* This function makes webkit send a download signal for all unknown 394 /* This function makes webkit send a download signal for all unknown
395 mime types. TODO: Defer the decision to Lisp, so that it's 395 mime types. TODO: Defer the decision to Lisp, so that it's
396 possible to make Emacs handle teext mime for instance.xs. */ 396 possible to make Emacs handle mime text for instance. */
397 if (!webkit_web_view_can_show_mime_type (webView, mimetype)) 397 if (!webkit_web_view_can_show_mime_type (webView, mimetype))
398 { 398 {
399 webkit_web_policy_decision_download (policy_decision); 399 webkit_web_policy_decision_download (policy_decision);
@@ -530,7 +530,7 @@ xwidget_init_view (struct xwidget *xww,
530 container later. Drawing should crop container window if necessary 530 container later. Drawing should crop container window if necessary
531 to handle case where xwidget is partially obscured by other Emacs 531 to handle case where xwidget is partially obscured by other Emacs
532 windows. Other containers than gtk_fixed where explored, but 532 windows. Other containers than gtk_fixed where explored, but
533 gtk_fixed had the most predictable behaviour so far. */ 533 gtk_fixed had the most predictable behavior so far. */
534 534
535 xv->emacswindow = FRAME_GTK_WIDGET (s->f); 535 xv->emacswindow = FRAME_GTK_WIDGET (s->f);
536 xv->widgetwindow = gtk_fixed_new (); 536 xv->widgetwindow = gtk_fixed_new ();
@@ -594,7 +594,7 @@ x_draw_xwidget_glyph_string (struct glyph_string *s)
594 WINDOW_BOTTOM_EDGE_Y (s->w) - WINDOW_MODE_LINE_HEIGHT (s->w) - y); 594 WINDOW_BOTTOM_EDGE_Y (s->w) - WINDOW_MODE_LINE_HEIGHT (s->w) - y);
595 clip_top = max (0, WINDOW_TOP_EDGE_Y (s->w) - y); 595 clip_top = max (0, WINDOW_TOP_EDGE_Y (s->w) - y);
596 596
597 /* We are conserned with movement of the onscreen area. The area 597 /* We are concerned with movement of the onscreen area. The area
598 might sit still when the widget actually moves. This happens 598 might sit still when the widget actually moves. This happens
599 when an Emacs window border moves across a widget window. So, if 599 when an Emacs window border moves across a widget window. So, if
600 any corner of the outer widget clipping window moves, that counts 600 any corner of the outer widget clipping window moves, that counts
@@ -615,7 +615,7 @@ x_draw_xwidget_glyph_string (struct glyph_string *s)
615 /* Clip the widget window if some parts happen to be outside 615 /* Clip the widget window if some parts happen to be outside
616 drawable area. An Emacs window is not a gtk window. A gtk window 616 drawable area. An Emacs window is not a gtk window. A gtk window
617 covers the entire frame. Clipping might have changed even if we 617 covers the entire frame. Clipping might have changed even if we
618 havent actualy moved, we try figure out when we need to reclip 618 haven't actually moved; try to figure out when we need to reclip
619 for real. */ 619 for real. */
620 if (xv->clip_right != clip_right 620 if (xv->clip_right != clip_right
621 || xv->clip_bottom != clip_bottom 621 || xv->clip_bottom != clip_bottom
@@ -753,7 +753,7 @@ DEFUN ("xwidget-resize", Fxwidget_resize, Sxwidget_resize, 3, 3, 0,
753DEFUN ("xwidget-set-adjustment", 753DEFUN ("xwidget-set-adjustment",
754 Fxwidget_set_adjustment, Sxwidget_set_adjustment, 4, 4, 0, 754 Fxwidget_set_adjustment, Sxwidget_set_adjustment, 4, 4, 0,
755 doc: /* Set native scrolling for XWIDGET. 755 doc: /* Set native scrolling for XWIDGET.
756AXIS can be 'vertical or 'horizontal. 756AXIS can be `vertical' or `horizontal'.
757If RELATIVE is t, scroll relative, otherwise absolutely. 757If RELATIVE is t, scroll relative, otherwise absolutely.
758VALUE is the amount to scroll, either relatively or absolutely. */) 758VALUE is the amount to scroll, either relatively or absolutely. */)
759 (Lisp_Object xwidget, Lisp_Object axis, Lisp_Object relative, 759 (Lisp_Object xwidget, Lisp_Object axis, Lisp_Object relative,
@@ -1132,7 +1132,7 @@ xwidget_end_redisplay (struct window *w, struct glyph_matrix *matrix)
1132 not in the desired matrix. 1132 not in the desired matrix.
1133 1133
1134 This only takes care of xwidgets in active windows. If a window 1134 This only takes care of xwidgets in active windows. If a window
1135 goes away from screen xwidget views wust be deleted. 1135 goes away from the screen, xwidget views must be deleted.
1136 1136
1137 dump_glyph_matrix (matrix, 2); */ 1137 dump_glyph_matrix (matrix, 2); */
1138 for (i = 0; i < matrix->nrows; ++i) 1138 for (i = 0; i < matrix->nrows; ++i)