Commit 3f981a0a authored by Juri Linkov's avatar Juri Linkov

Remove unused code and reformat to 70 columns.

parent 457a7edb
Pipeline #3413 passed with stage
in 79 minutes and 54 seconds
......@@ -1348,8 +1348,8 @@ button. @xref{Repeat Events}.
@var{position} slot of a click event, you should typically use the
functions documented in @ref{Accessing Mouse}. The explicit format of
the list depends on where the click occurred. For clicks in the text
area, mode line, header line, tab line, or in the fringe or marginal areas, the
mouse position list has the form
area, mode line, header line, tab line, or in the fringe or marginal
areas, the mouse position list has the form
@example
(@var{window} @var{pos-or-area} (@var{x} . @var{y}) @var{timestamp}
......@@ -1368,8 +1368,9 @@ The window in which the click occurred.
The buffer position of the character clicked on in the text area; or,
if the click was outside the text area, the window area where it
occurred. It is one of the symbols @code{mode-line},
@code{header-line}, @code{tab-line}, @code{vertical-line}, @code{left-margin},
@code{right-margin}, @code{left-fringe}, or @code{right-fringe}.
@code{header-line}, @code{tab-line}, @code{vertical-line},
@code{left-margin}, @code{right-margin}, @code{left-fringe}, or
@code{right-fringe}.
In one special case, @var{pos-or-area} is a list containing a symbol
(one of the symbols listed above) instead of just the symbol. This
......@@ -1380,12 +1381,12 @@ by Emacs. @xref{Key Sequence Input}.
The relative pixel coordinates of the click. For clicks in the text
area of a window, the coordinate origin @code{(0 . 0)} is taken to be
the top left corner of the text area. @xref{Window Sizes}. For
clicks in a mode line, header line or tab line, the coordinate origin is the top
left corner of the window itself. For fringes, margins, and the
vertical border, @var{x} does not have meaningful data. For fringes
and margins, @var{y} is relative to the bottom edge of the header
line. In all cases, the @var{x} and @var{y} coordinates increase
rightward and downward respectively.
clicks in a mode line, header line or tab line, the coordinate origin
is the top left corner of the window itself. For fringes, margins,
and the vertical border, @var{x} does not have meaningful data.
For fringes and margins, @var{y} is relative to the bottom edge of the
header line. In all cases, the @var{x} and @var{y} coordinates
increase rightward and downward respectively.
@item @var{timestamp}
The time at which the event occurred, as an integer number of
......@@ -1407,18 +1408,18 @@ The position in the string where the click occurred.
@item @var{text-pos}
For clicks on a marginal area or on a fringe, this is the buffer
position of the first visible character in the corresponding line in
the window. For clicks on the mode line, the header line or the tab line, this is
@code{nil}. For other events, it is the buffer position closest to
the click.
the window. For clicks on the mode line, the header line or the tab
line, this is @code{nil}. For other events, it is the buffer position
closest to the click.
@item @var{col}, @var{row}
These are the actual column and row coordinate numbers of the glyph
under the @var{x}, @var{y} position. If @var{x} lies beyond the last
column of actual text on its line, @var{col} is reported by adding
fictional extra columns that have the default character width. Row 0
is taken to be the header line if the window has one, or Row 1
if the window also has the tab line, or the topmost
row of the text area otherwise. Column 0 is taken to be the leftmost
fictional extra columns that have the default character width.
Row 0 is taken to be the header line if the window has one, or Row 1
if the window also has the tab line, or the topmost row of
the text area otherwise. Column 0 is taken to be the leftmost
column of the text area for clicks on a window text area, or the
leftmost mode line or header line column for clicks there. For clicks
on fringes or vertical borders, these have no meaningful data. For
......@@ -2095,7 +2096,8 @@ computed values.)
Note that @var{row} is counted from the top of the text area. If the
window given by @var{position} possesses a header line (@pxref{Header
Lines}) or a tab line, they are @emph{not} included in the @var{row} count.
Lines}) or a tab line, they are @emph{not} included in the @var{row}
count.
@end defun
@defun posn-actual-col-row position
......
......@@ -1885,7 +1885,7 @@ good replacement, even in very large source files.
** 'tab-bar-mode' enables the tab-bar at the top of each frame,
to switch named persistent window configurations in it using tabs.
New tab-based keybindings (similar to frame-based):
New tab-based keybindings (similar to frame-based commands):
'C-x 6 2' creates a new tab;
'C-x 6 0' deletes the current tab;
'C-x 6 b' switches to buffer in another tab;
......@@ -1897,7 +1897,7 @@ Also it's possible to switch named persistent window configurations
without having graphical access to the tab-bar, even on a tty
or when 'tab-bar-mode' is disabled, with these commands:
'tab-new' creates a new window configuration;
'tab-delete' deletes the current window configuration;
'tab-close' deletes the current window configuration;
'tab-select' switches to the window configuration by its name;
'tab-previous' switches to the previous window configuration;
'tab-next' switches to the next window configuration;
......
......@@ -591,7 +591,6 @@ since it could result in memory overflow and make Emacs crash."
(const :tag "Text-image-horiz" :value text-image-horiz)
(const :tag "System default" :value nil)) "24.1")
(tool-bar-max-label-size frames integer "24.1")
(tab-bar-max-label-size frames integer "27.1")
(auto-hscroll-mode scrolling
(choice
(const :tag "Don't scroll automatically"
......
......@@ -731,9 +731,7 @@ It is the default value of the variable `top-level'."
("--background-color" . "-bg")
("--color" . "-color")))
(defconst tab-bar-images-pixel-height 18
"Height in pixels of images in the tab-bar.")
;; FIXME: this var unused?
(defconst tool-bar-images-pixel-height 24
"Height in pixels of images in the tool-bar.")
......
......@@ -488,7 +488,7 @@ specified by `tab-bar-close-tab-select'."
(unless tab-bar-mode
(message "Added new tab with the current window configuration")))
(defun tab-delete ()
(defun tab-close ()
"Delete the current window configuration without clicking a close button."
(interactive)
(tab-bar-close-current-tab)
......
......@@ -3200,48 +3200,17 @@ enum tab_bar_item_idx
/* Caption. */
TAB_BAR_ITEM_CAPTION,
/* Image(s) to display. This is either a single image specification
or a vector of specifications. */
TAB_BAR_ITEM_IMAGES,
/* The binding. */
TAB_BAR_ITEM_BINDING,
/* Button type. One of nil (default button), t (a separator),
`:radio', or `:toggle'. The latter two currently do nothing. */
TAB_BAR_ITEM_TYPE,
/* Help string. */
TAB_BAR_ITEM_HELP,
/* Icon file name of right to left image when an RTL locale is used. */
TAB_BAR_ITEM_RTL_IMAGE,
/* Label to show when text labels are enabled. */
TAB_BAR_ITEM_LABEL,
/* If we shall show the label only below the icon and not beside it. */
TAB_BAR_ITEM_VERT_ONLY,
/* Sentinel = number of slots in tab_bar_items occupied by one
tab-bar item. */
TAB_BAR_ITEM_NSLOTS
};
/* An enumeration for the different images that can be specified
for a tab-bar item. */
enum tab_bar_item_image
{
TAB_BAR_IMAGE_ENABLED_SELECTED,
TAB_BAR_IMAGE_ENABLED_DESELECTED,
TAB_BAR_IMAGE_DISABLED_SELECTED,
TAB_BAR_IMAGE_DISABLED_DESELECTED
};
#define DEFAULT_TAB_BAR_LABEL_SIZE 14
/* Default values of the above variables. */
#define DEFAULT_TAB_BAR_BUTTON_MARGIN 4
......
......@@ -456,8 +456,10 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
|| (row == matrix->rows + dim.height - 1
&& window_wants_mode_line (w))
|| (row == matrix->rows && matrix->tab_line_p)
|| (row == matrix->rows && !matrix->tab_line_p && matrix->header_line_p)
|| (row == (matrix->rows + 1) && matrix->tab_line_p && matrix->header_line_p))
|| (row == matrix->rows
&& !matrix->tab_line_p && matrix->header_line_p)
|| (row == (matrix->rows + 1)
&& matrix->tab_line_p && matrix->header_line_p))
{
row->glyphs[TEXT_AREA]
= row->glyphs[LEFT_MARGIN_AREA];
......@@ -504,8 +506,10 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
if ((row == matrix->rows + dim.height - 1
&& !(w && window_wants_mode_line (w)))
|| (row == matrix->rows && matrix->tab_line_p)
|| (row == matrix->rows && !matrix->tab_line_p && matrix->header_line_p)
|| (row == (matrix->rows + 1) && matrix->tab_line_p && matrix->header_line_p))
|| (row == matrix->rows
&& !matrix->tab_line_p && matrix->header_line_p)
|| (row == (matrix->rows + 1)
&& matrix->tab_line_p && matrix->header_line_p))
{
row->glyphs[TEXT_AREA]
= row->glyphs[LEFT_MARGIN_AREA];
......@@ -3550,7 +3554,8 @@ update_window (struct window *w, bool force_p)
/* Try reusing part of the display by copying. */
if (row < end && !desired_matrix->no_scrolling_p)
{
int rc = scrolling_window (w, (tab_line_row != NULL ? 1 : 0) + (header_line_row != NULL ? 1 : 0));
int rc = scrolling_window (w, (tab_line_row != NULL ? 1 : 0)
+ (header_line_row != NULL ? 1 : 0));
if (rc < 0)
{
/* All rows were found to be equal. */
......@@ -5428,7 +5433,8 @@ buffer_posn_from_coords (struct window *w, int *x, int *y, struct display_pos *p
start position, i.e. it excludes the header-line row, but
MATRIX_ROW includes the header-line row. Adjust for a possible
header-line row. */
it_vpos = it.vpos + window_wants_header_line (w) + window_wants_tab_line (w);
it_vpos = it.vpos + window_wants_header_line (w)
+ window_wants_tab_line (w);
if (it_vpos < w->current_matrix->nrows
&& (row = MATRIX_ROW (w->current_matrix, it_vpos),
row->enabled_p))
......@@ -5675,7 +5681,8 @@ handle_window_change_signal (int sig)
structures now. Let that be done later outside of the
signal handler. */
change_frame_size (XFRAME (frame), width,
height - FRAME_MENU_BAR_LINES (XFRAME (frame)) - FRAME_TAB_BAR_LINES (XFRAME (frame)),
height - FRAME_MENU_BAR_LINES (XFRAME (frame))
- FRAME_TAB_BAR_LINES (XFRAME (frame)),
0, 1, 0, 0);
}
}
......@@ -6355,7 +6362,8 @@ init_display_interactive (void)
change_frame_size (XFRAME (selected_frame),
FrameCols (t->display_info.tty),
FrameRows (t->display_info.tty)
- FRAME_MENU_BAR_LINES (f) - FRAME_TAB_BAR_LINES (f), 0, 0, 1, 0);
- FRAME_MENU_BAR_LINES (f)
- FRAME_TAB_BAR_LINES (f), 0, 0, 1, 0);
/* Delete the initial terminal. */
if (--initial_terminal->reference_count == 0
......
......@@ -1191,10 +1191,12 @@ make_terminal_frame (struct terminal *terminal)
FRAME_MENU_BAR_LINES (f) = NILP (Vmenu_bar_mode) ? 0 : 1;
FRAME_TAB_BAR_LINES (f) = NILP (Vtab_bar_mode) ? 0 : 1;
FRAME_LINES (f) = FRAME_LINES (f) - FRAME_MENU_BAR_LINES (f) - FRAME_TAB_BAR_LINES (f);
FRAME_LINES (f) = FRAME_LINES (f) - FRAME_MENU_BAR_LINES (f)
- FRAME_TAB_BAR_LINES (f);
FRAME_MENU_BAR_HEIGHT (f) = FRAME_MENU_BAR_LINES (f) * FRAME_LINE_HEIGHT (f);
FRAME_TAB_BAR_HEIGHT (f) = FRAME_TAB_BAR_LINES (f) * FRAME_LINE_HEIGHT (f);
FRAME_TEXT_HEIGHT (f) = FRAME_TEXT_HEIGHT (f) - FRAME_MENU_BAR_HEIGHT (f) - FRAME_TAB_BAR_HEIGHT (f);
FRAME_TEXT_HEIGHT (f) = FRAME_TEXT_HEIGHT (f) - FRAME_MENU_BAR_HEIGHT (f)
- FRAME_TAB_BAR_HEIGHT (f);
/* Set the top frame to the newly created frame. */
if (FRAMEP (FRAME_TTY (f)->top_frame)
......@@ -1316,7 +1318,8 @@ affects all frames on the same terminal device. */)
{
int width, height;
get_tty_size (fileno (FRAME_TTY (f)->input), &width, &height);
adjust_frame_size (f, width, height - FRAME_MENU_BAR_LINES (f) - FRAME_TAB_BAR_LINES (f),
adjust_frame_size (f, width, height - FRAME_MENU_BAR_LINES (f)
- FRAME_TAB_BAR_LINES (f),
5, 0, Qterminal_frame);
}
......@@ -3444,23 +3447,6 @@ to `frame-height'). */)
return make_fixnum (FRAME_TOTAL_LINES (f));
}
DEFUN ("tab-bar-pixel-width", Ftab_bar_pixel_width,
Stab_bar_pixel_width, 0, 1, 0,
doc: /* Return width in pixels of FRAME's tab bar.
The result is greater than zero only when the tab bar is on the left
or right side of FRAME. If FRAME is omitted or nil, the selected frame
is used. */)
(Lisp_Object frame)
{
#ifdef FRAME_TABBAR_WIDTH
struct frame *f = decode_any_frame (frame);
if (FRAME_WINDOW_P (f))
return make_fixnum (FRAME_TABBAR_WIDTH (f));
#endif
return make_fixnum (0);
}
DEFUN ("tool-bar-pixel-width", Ftool_bar_pixel_width,
Stool_bar_pixel_width, 0, 1, 0,
doc: /* Return width in pixels of FRAME's tool bar.
......@@ -5464,8 +5450,8 @@ On Nextstep, this just calls `ns-parse-geometry'. */)
#define DEFAULT_COLS 80
long
gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p, bool toolbar_p,
int *x_width, int *x_height)
gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p,
bool toolbar_p, int *x_width, int *x_height)
{
Lisp_Object height, width, user_size, top, left, user_position;
long window_prompting = 0;
......@@ -6425,7 +6411,6 @@ iconify the top level frame instead. */);
defsubr (&Sframe_internal_border_width);
defsubr (&Sright_divider_width);
defsubr (&Sbottom_divider_width);
defsubr (&Stab_bar_pixel_width);
defsubr (&Stool_bar_pixel_width);
defsubr (&Sset_frame_height);
defsubr (&Sset_frame_width);
......
......@@ -634,7 +634,8 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o
/* Clear left fringe if no bitmap to draw or if bitmap doesn't fill
the fringe. */
p.bx = -1;
header_line_height = WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w);
header_line_height = WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w);
p.by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, row->y));
p.ny = row->visible_height;
if (left_p)
......@@ -1091,7 +1092,8 @@ update_window_fringes (struct window *w, bool keep_current_p)
struct glyph_row *row1;
int top_ind_max_y;
top_ind_min_y = WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w);
top_ind_min_y = WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w);
top_ind_max_y = top_ind_min_y + fb->height;
if (top_ind_max_y > yb)
top_ind_max_y = yb;
......@@ -1148,8 +1150,10 @@ update_window_fringes (struct window *w, bool keep_current_p)
bot_ind_max_y = row->y + row->visible_height;
bot_ind_min_y = bot_ind_max_y - fb->height;
if (bot_ind_min_y < WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w))
bot_ind_min_y = WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w);
if (bot_ind_min_y < WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w))
bot_ind_min_y = WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w);
for (y = row->y, rn = bot_ind_rn - 1;
y >= bot_ind_min_y && rn >= 0;
......
......@@ -951,8 +951,8 @@ xg_frame_set_char_size (struct frame *f, int width, int height)
Lisp_Object fullscreen = get_frame_param (f, Qfullscreen);
gint gwidth, gheight;
int totalheight
= pixelheight + FRAME_TOOLBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f) + FRAME_MENUBAR_HEIGHT (f);
int totalwidth = pixelwidth + FRAME_TABBAR_WIDTH (f) + FRAME_TOOLBAR_WIDTH (f);
= pixelheight + FRAME_TOOLBAR_HEIGHT (f) + FRAME_MENUBAR_HEIGHT (f);
int totalwidth = pixelwidth + FRAME_TOOLBAR_WIDTH (f);
if (FRAME_PIXEL_HEIGHT (f) == 0)
return;
......@@ -1437,9 +1437,9 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool user_position)
/* Use one row/col here so base_height/width does not become zero.
Gtk+ and/or Unity on Ubuntu 12.04 can't handle it.
Obviously this makes the row/col value displayed off by 1. */
base_width = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, 1) + FRAME_TABBAR_WIDTH (f) + FRAME_TOOLBAR_WIDTH (f);
base_width = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, 1) + FRAME_TOOLBAR_WIDTH (f);
base_height = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, 1)
+ FRAME_MENUBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f);
+ FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f);
size_hints.base_width = base_width;
size_hints.base_height = base_height;
......
......@@ -2385,7 +2385,8 @@ read_char (int commandflag, Lisp_Object map,
if (used_mouse_menu
/* Also check was_disabled so last-nonmenu-event won't return
a bad value when submenus are involved. (Bug#447) */
&& (EQ (c, Qtool_bar) || EQ (c, Qtab_bar) || EQ (c, Qmenu_bar) || was_disabled))
&& (EQ (c, Qtool_bar) || EQ (c, Qtab_bar) || EQ (c, Qmenu_bar)
|| was_disabled))
*used_mouse_menu = true;
goto reread_for_input_method;
......@@ -5043,14 +5044,15 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
/* For mode line and header line clicks, return X, Y relative to
the left window edge. Use mode_line_string to look for a
string on the click position. */
else if (part == ON_MODE_LINE || part == ON_TAB_LINE || part == ON_HEADER_LINE)
else if (part == ON_MODE_LINE || part == ON_TAB_LINE
|| part == ON_HEADER_LINE)
{
Lisp_Object string;
ptrdiff_t charpos;
posn = (part == ON_MODE_LINE ? Qmode_line
: (part == ON_TAB_LINE ? Qtab_line
: Qheader_line));
: (part == ON_TAB_LINE ? Qtab_line
: Qheader_line));
/* Note that mode_line_string takes COL, ROW as pixels and
converts them to characters. */
......@@ -8115,7 +8117,6 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item)
Lisp_Object filter = Qnil;
Lisp_Object caption;
int i;
bool have_label = false;
/* Definition looks like `(menu-item CAPTION BINDING PROPS...)'.
Rule out items that aren't lists, don't start with
......@@ -8164,12 +8165,6 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item)
{
if (menu_separator_name_p (SSDATA (caption)))
{
set_prop_tab_bar (TAB_BAR_ITEM_TYPE, Qt);
/* If we use build_desired_tab_bar_string to render the
tab bar, the separator is rendered as an image. */
set_prop_tab_bar (TAB_BAR_ITEM_IMAGES,
(menu_item_eval_property
(Vtab_bar_separator_image_expression)));
set_prop_tab_bar (TAB_BAR_ITEM_ENABLED_P, Qnil);
set_prop_tab_bar (TAB_BAR_ITEM_SELECTED_P, Qnil);
set_prop_tab_bar (TAB_BAR_ITEM_CAPTION, Qnil);
......@@ -8212,17 +8207,6 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item)
else if (EQ (ikey, QChelp))
/* `:help HELP-STRING'. */
set_prop_tab_bar (TAB_BAR_ITEM_HELP, value);
else if (EQ (ikey, QCvert_only))
/* `:vert-only t/nil'. */
set_prop_tab_bar (TAB_BAR_ITEM_VERT_ONLY, value);
else if (EQ (ikey, QClabel))
{
const char *bad_label = "!!?GARBLED ITEM?!!";
/* `:label LABEL-STRING'. */
set_prop_tab_bar (TAB_BAR_ITEM_LABEL,
STRINGP (value) ? value : build_string (bad_label));
have_label = true;
}
else if (EQ (ikey, QCfilter))
/* ':filter FORM'. */
filter = value;
......@@ -8236,64 +8220,8 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item)
if (EQ (type, QCtoggle) || EQ (type, QCradio))
{
set_prop_tab_bar (TAB_BAR_ITEM_SELECTED_P, selected);
set_prop_tab_bar (TAB_BAR_ITEM_TYPE, type);
}
}
else if (EQ (ikey, QCimage)
&& (CONSP (value)
|| (VECTORP (value) && ASIZE (value) == 4)))
/* Value is either a single image specification or a vector
of 4 such specifications for the different button states. */
set_prop_tab_bar (TAB_BAR_ITEM_IMAGES, value);
else if (EQ (ikey, QCrtl))
/* ':rtl STRING' */
set_prop_tab_bar (TAB_BAR_ITEM_RTL_IMAGE, value);
}
if (!have_label)
{
/* Try to make one from caption and key. */
Lisp_Object tkey = PROP (TAB_BAR_ITEM_KEY);
Lisp_Object tcapt = PROP (TAB_BAR_ITEM_CAPTION);
const char *label = SYMBOLP (tkey) ? SSDATA (SYMBOL_NAME (tkey)) : "";
const char *capt = STRINGP (tcapt) ? SSDATA (tcapt) : "";
ptrdiff_t max_lbl_size =
2 * max (0, min (tab_bar_max_label_size, STRING_BYTES_BOUND / 2)) + 1;
char *buf = xmalloc (max_lbl_size);
Lisp_Object new_lbl;
ptrdiff_t caption_len = strnlen (capt, max_lbl_size);
if (0 < caption_len && caption_len < max_lbl_size)
{
strcpy (buf, capt);
while (caption_len > 0 && buf[caption_len - 1] == '.')
caption_len--;
buf[caption_len] = '\0';
label = capt = buf;
}
ptrdiff_t label_len = strnlen (label, max_lbl_size);
if (0 < label_len && label_len < max_lbl_size)
{
ptrdiff_t j;
if (label != buf)
strcpy (buf, label);
for (j = 0; buf[j] != '\0'; ++j)
if (buf[j] == '-')
buf[j] = ' ';
label = buf;
}
else
label = "";
new_lbl = Fupcase_initials (build_string (label));
if (SCHARS (new_lbl) <= tab_bar_max_label_size)
set_prop_tab_bar (TAB_BAR_ITEM_LABEL, new_lbl);
else
set_prop_tab_bar (TAB_BAR_ITEM_LABEL, empty_unibyte_string);
xfree (buf);
}
/* If got a filter apply it on binding. */
......@@ -10711,7 +10639,8 @@ On such systems, Emacs starts a subshell instead of suspending. */)
get_tty_size (fileno (CURTTY ()->input), &width, &height);
if (width != old_width || height != old_height)
change_frame_size (SELECTED_FRAME (), width,
height - FRAME_MENU_BAR_LINES (SELECTED_FRAME ()) - FRAME_TAB_BAR_LINES (SELECTED_FRAME ()),
height - FRAME_MENU_BAR_LINES (SELECTED_FRAME ())
- FRAME_TAB_BAR_LINES (SELECTED_FRAME ()),
0, 0, 0, 0);
run_hook (intern ("suspend-resume-hook"));
......
......@@ -3663,7 +3663,8 @@ be preferred. */);
DEFSYM (Qmode_line, "mode-line");
staticpro (&Vmouse_events);
Vmouse_events = pure_list (Qmenu_bar, Qtab_bar, Qtool_bar, Qtab_line, Qheader_line, Qmode_line,
Vmouse_events = pure_list (Qmenu_bar, Qtab_bar, Qtool_bar,
Qtab_line, Qheader_line, Qmode_line,
intern_c_string ("mouse-1"),
intern_c_string ("mouse-2"),
intern_c_string ("mouse-3"),
......
......@@ -2342,7 +2342,8 @@ frame's terminal). */)
was suspended. */
get_tty_size (fileno (t->display_info.tty->input), &width, &height);
if (width != old_width || height != old_height)
change_frame_size (f, width, height - FRAME_MENU_BAR_LINES (f) - FRAME_TAB_BAR_LINES (f),
change_frame_size (f, width, height - FRAME_MENU_BAR_LINES (f)
- FRAME_TAB_BAR_LINES (f),
0, 0, 0, 0);
SET_FRAME_VISIBLE (XFRAME (t->display_info.tty->top_frame), 1);
}
......
......@@ -5994,7 +5994,8 @@ w32_draw_window_cursor (struct window *w, struct glyph_row *glyph_row,
= (WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y)
+ glyph_row->ascent - w->phys_cursor_ascent);
w32_system_caret_window = w;
w32_system_caret_hdr_height = WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w);
w32_system_caret_hdr_height = WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w);
w32_system_caret_mode_height = WINDOW_MODE_LINE_HEIGHT (w);
PostMessage (hwnd, WM_IME_STARTCOMPOSITION, 0, 0);
......
......@@ -1321,7 +1321,8 @@ coordinates_in_window (register struct window *w, int x, int y)
&& y < top_y + CURRENT_TAB_LINE_HEIGHT (w)
&& (part = ON_TAB_LINE))
|| (window_wants_header_line (w)
&& y < top_y + CURRENT_TAB_LINE_HEIGHT (w) + CURRENT_HEADER_LINE_HEIGHT (w)
&& y < top_y + CURRENT_TAB_LINE_HEIGHT (w)
+ CURRENT_HEADER_LINE_HEIGHT (w)
&& (part = ON_HEADER_LINE)))
{
/* If it's under/over the scroll bar portion of the mode/header
......@@ -5808,8 +5809,9 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
if (IT_CHARPOS (it) == PT
&& it.current_y >= this_scroll_margin
&& it.current_y <= last_y - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w)
&& (NILP (Vscroll_preserve_screen_position)
&& it.current_y <= last_y - WINDOW_TAB_LINE_HEIGHT (w)
- WINDOW_HEADER_LINE_HEIGHT (w)
&& (NILP (Vscroll_preserve_screen_position)
|| EQ (Vscroll_preserve_screen_position, Qt)))
/* We found PT at a legitimate height. Leave it alone. */
;
......@@ -5824,7 +5826,8 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
is necessary because we set it.current_y to 0, above. */
move_it_to (&it, -1,
window_scroll_pixel_based_preserve_x,
goal_y - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w),
goal_y - WINDOW_TAB_LINE_HEIGHT (w)
- WINDOW_HEADER_LINE_HEIGHT (w),
-1, MOVE_TO_Y | MOVE_TO_X);
}
......@@ -5860,8 +5863,9 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
/* We subtract WINDOW_HEADER_LINE_HEIGHT because
it.y is relative to the bottom of the header
line, see above. */
(it.last_visible_y - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w)
- partial_line_height (&it) - this_scroll_margin - 1),
(it.last_visible_y - WINDOW_TAB_LINE_HEIGHT (w)
- WINDOW_HEADER_LINE_HEIGHT (w)
- partial_line_height (&it) - this_scroll_margin - 1),
-1,
MOVE_TO_POS | MOVE_TO_Y);
......@@ -5899,13 +5903,15 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
if (it.what == IT_EOB)
partial_p =
it.current_y + it.ascent + it.descent
> it.last_visible_y - this_scroll_margin - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w);
> it.last_visible_y - this_scroll_margin
- WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w);
else
{
move_it_by_lines (&it, 1);
partial_p =
it.current_y
> it.last_visible_y - this_scroll_margin - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w);
> it.last_visible_y - this_scroll_margin
- WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w);
}
if (charpos == PT && !partial_p
......
......@@ -1809,7 +1809,7 @@ pos_visible_p (struct window *w, ptrdiff_t charpos, int *x, int *y,
*rowh = max (0, (min (it2.current_y + it2.max_ascent + it2.max_descent,
it.last_visible_y)
- max (max (it2.current_y,
WINDOW_TAB_LINE_HEIGHT (w)),
WINDOW_TAB_LINE_HEIGHT (w)),
WINDOW_HEADER_LINE_HEIGHT (w))));
*vpos = it2.vpos;
if (it2.bidi_it.paragraph_dir == R2L)
......@@ -2532,8 +2532,8 @@ remember_mouse_glyph (struct frame *f, int gx, int gy, NativeRectangle *rect)
gr = (part == ON_TAB_LINE
? MATRIX_TAB_LINE_ROW (w->current_matrix)
: (part == ON_HEADER_LINE
? MATRIX_HEADER_LINE_ROW (w->current_matrix)
: MATRIX_MODE_LINE_ROW (w->current_matrix)));
? MATRIX_HEADER_LINE_ROW (w->current_matrix)
: MATRIX_MODE_LINE_ROW (w->current_matrix)));
gy = gr->y;
area = TEXT_AREA;
goto text_glyph_row_found;
......@@ -2579,7 +2579,8 @@ remember_mouse_glyph (struct frame *f, int gx, int gy, NativeRectangle *rect)
gx += (x / width) * width;
}
if (part != ON_MODE_LINE && part != ON_HEADER_LINE && part != ON_TAB_LINE)
if (part != ON_MODE_LINE && part != ON_HEADER_LINE
&& part != ON_TAB_LINE)
{
gx += window_box_left_offset (w, area);
/* Don't expand over the modeline to make sure the vertical
......@@ -2594,7 +2595,8 @@ remember_mouse_glyph (struct frame *f, int gx, int gy, NativeRectangle *rect)
gx = (x / width) * width;
y -= gy;
gy += (y / height) * height;
if (part != ON_MODE_LINE && part != ON_HEADER_LINE && part != ON_TAB_LINE)
if (part != ON_MODE_LINE && part != ON_HEADER_LINE
&& part != ON_TAB_LINE)
/* See comment above. */
height = min (height,
max (0, WINDOW_BOX_HEIGHT_NO_MODE_LINE (w) - gy));
......@@ -12688,7 +12690,9 @@ display_tab_bar (struct window *w)
#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
eassert (!FRAME_WINDOW_P (f));
init_iterator (&it, w, -1, -1, f->desired_matrix->rows + (FRAME_MENU_BAR_LINES (f) > 0 ? 1 : 0), TAB_BAR_FACE_ID);
init_iterator (&it, w, -1, -1, f->desired_matrix->rows
+ (FRAME_MENU_BAR_LINES (f) > 0 ? 1 : 0),
TAB_BAR_FACE_ID);
it.first_visible_x = 0;
it.last_visible_x = FRAME_PIXEL_WIDTH (f);
#elif defined (HAVE_X_WINDOWS) /* X without toolkit. */
......@@ -12708,7 +12712,8 @@ display_tab_bar (struct window *w)
{
/* This is a TTY frame, i.e. character hpos/vpos are used as
pixel x/y. */
init_iterator (&it, w, -1, -1, f->desired_matrix->rows + (FRAME_MENU_BAR_LINES (f) > 0 ? 1 : 0),
init_iterator (&it, w, -1, -1, f->desired_matrix->rows
+ (FRAME_MENU_BAR_LINES (f) > 0 ? 1 : 0),
TAB_BAR_FACE_ID);
it.first_visible_x = 0;
it.last_visible_x = FRAME_COLS (f);
......@@ -17164,7 +17169,8 @@ compute_window_start_on_continuation_line (struct window *w)
/* Find the start of the continued line. This should be fast
because find_newline is fast (newline cache). */
row = w->desired_matrix->rows + window_wants_tab_line (w) + window_wants_header_line (w);
row = w->desired_matrix->rows + window_wants_tab_line (w)
+ window_wants_header_line (w);
init_iterator (&it, w, CHARPOS (start_pos), BYTEPOS (start_pos),
row, DEFAULT_FACE_ID);
reseat_at_previous_visible_line_start (&it);
......@@ -18677,7 +18683,7 @@ redisplay_window (Lisp_Object window, bool just_this_one_p)
/* This means that the window has a mode line. */
&& (window_wants_mode_line (w)
|| window_wants_header_line (w)
|| window_wants_tab_line (w)))
|| window_wants_tab_line (w)))
{