summaryrefslogtreecommitdiff
path: root/src/xdisp.c
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2016-07-12 15:27:25 -0700
committerJohn Wiegley <johnw@newartisans.com>2016-07-12 15:27:25 -0700
commit54b7eb0dee2397f1430e81b7356f8efb19946ba0 (patch)
treea463da12f08f32dc78beb2f99a37eb1951f51a43 /src/xdisp.c
parent9c8c3a5478db6ff4b245e9128cbf24bd722ab1d6 (diff)
downloademacs-54b7eb0dee2397f1430e81b7356f8efb19946ba0.tar.gz
Revert "Cleanup tooltips"
This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921. I am reverting this change because it was applied without prior discussion on emacs-devel, and has been found to break the NS port. It needs more testing and review before it should be applied here.
Diffstat (limited to 'src/xdisp.c')
-rw-r--r--src/xdisp.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index b8dcdcec41f..14d6f8fcf93 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2841,7 +2841,11 @@ init_iterator (struct it *it, struct window *w,
frames when the fringes are turned off. But leave the dimensions
zero for tooltip frames, as these glyphs look ugly there and also
sabotage calculations of tooltip dimensions in x-show-tip. */
- if (!FRAME_TOOLTIP_P (it->f))
+#ifdef HAVE_WINDOW_SYSTEM
+ if (!(FRAME_WINDOW_P (it->f)
+ && FRAMEP (tip_frame)
+ && it->f == XFRAME (tip_frame)))
+#endif
{
if (it->line_wrap == TRUNCATE)
{
@@ -11709,7 +11713,7 @@ x_consider_frame_title (Lisp_Object frame)
if ((FRAME_WINDOW_P (f)
|| FRAME_MINIBUF_ONLY_P (f)
|| f->explicit_name)
- && !FRAME_TOOLTIP_P (f))
+ && NILP (Fframe_parameter (frame, Qtooltip)))
{
/* Do we have more than one visible frame on this X display? */
Lisp_Object tail, other_frame, fmt;
@@ -11726,7 +11730,7 @@ x_consider_frame_title (Lisp_Object frame)
if (tf != f
&& FRAME_KBOARD (tf) == FRAME_KBOARD (f)
&& !FRAME_MINIBUF_ONLY_P (tf)
- && !FRAME_TOOLTIP_P (tf)
+ && !EQ (other_frame, tip_frame)
&& (FRAME_VISIBLE_P (tf) || FRAME_ICONIFIED_P (tf)))
break;
}
@@ -11789,6 +11793,13 @@ prepare_menu_bars (void)
{
bool all_windows = windows_or_buffers_changed || update_mode_lines;
bool some_windows = REDISPLAY_SOME_P ();
+ Lisp_Object tooltip_frame;
+
+#ifdef HAVE_WINDOW_SYSTEM
+ tooltip_frame = tip_frame;
+#else
+ tooltip_frame = Qnil;
+#endif
if (FUNCTIONP (Vpre_redisplay_function))
{
@@ -11829,7 +11840,7 @@ prepare_menu_bars (void)
&& !XBUFFER (w->contents)->text->redisplay)
continue;
- if (!FRAME_TOOLTIP_P (f)
+ if (!EQ (frame, tooltip_frame)
&& (FRAME_ICONIFIED_P (f)
|| FRAME_VISIBLE_P (f) == 1
/* Exclude TTY frames that are obscured because they
@@ -11866,7 +11877,7 @@ prepare_menu_bars (void)
struct window *w = XWINDOW (FRAME_SELECTED_WINDOW (f));
/* Ignore tooltip frame. */
- if (FRAME_TOOLTIP_P (f))
+ if (EQ (frame, tooltip_frame))
continue;
if (some_windows