diff options
| author | Juri Linkov | 2019-10-01 23:01:08 +0300 |
|---|---|---|
| committer | Juri Linkov | 2019-10-01 23:01:08 +0300 |
| commit | 3f981a0a89bca47a207fb362485f07e7322bb145 (patch) | |
| tree | 95001fa93b9693684108dd114da2a0232640e32e /src/keyboard.c | |
| parent | 457a7edb4784869079eac2a47d2dc1738332c07a (diff) | |
| download | emacs-feature/tabs.tar.gz emacs-feature/tabs.zip | |
Remove unused code and reformat to 70 columns.feature/tabs
Diffstat (limited to 'src/keyboard.c')
| -rw-r--r-- | src/keyboard.c | 87 |
1 files changed, 8 insertions, 79 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 51040f067df..8b7c473690d 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -2385,7 +2385,8 @@ read_char (int commandflag, Lisp_Object map, | |||
| 2385 | if (used_mouse_menu | 2385 | if (used_mouse_menu |
| 2386 | /* Also check was_disabled so last-nonmenu-event won't return | 2386 | /* Also check was_disabled so last-nonmenu-event won't return |
| 2387 | a bad value when submenus are involved. (Bug#447) */ | 2387 | a bad value when submenus are involved. (Bug#447) */ |
| 2388 | && (EQ (c, Qtool_bar) || EQ (c, Qtab_bar) || EQ (c, Qmenu_bar) || was_disabled)) | 2388 | && (EQ (c, Qtool_bar) || EQ (c, Qtab_bar) || EQ (c, Qmenu_bar) |
| 2389 | || was_disabled)) | ||
| 2389 | *used_mouse_menu = true; | 2390 | *used_mouse_menu = true; |
| 2390 | 2391 | ||
| 2391 | goto reread_for_input_method; | 2392 | goto reread_for_input_method; |
| @@ -5043,14 +5044,15 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y, | |||
| 5043 | /* For mode line and header line clicks, return X, Y relative to | 5044 | /* For mode line and header line clicks, return X, Y relative to |
| 5044 | the left window edge. Use mode_line_string to look for a | 5045 | the left window edge. Use mode_line_string to look for a |
| 5045 | string on the click position. */ | 5046 | string on the click position. */ |
| 5046 | else if (part == ON_MODE_LINE || part == ON_TAB_LINE || part == ON_HEADER_LINE) | 5047 | else if (part == ON_MODE_LINE || part == ON_TAB_LINE |
| 5048 | || part == ON_HEADER_LINE) | ||
| 5047 | { | 5049 | { |
| 5048 | Lisp_Object string; | 5050 | Lisp_Object string; |
| 5049 | ptrdiff_t charpos; | 5051 | ptrdiff_t charpos; |
| 5050 | 5052 | ||
| 5051 | posn = (part == ON_MODE_LINE ? Qmode_line | 5053 | posn = (part == ON_MODE_LINE ? Qmode_line |
| 5052 | : (part == ON_TAB_LINE ? Qtab_line | 5054 | : (part == ON_TAB_LINE ? Qtab_line |
| 5053 | : Qheader_line)); | 5055 | : Qheader_line)); |
| 5054 | 5056 | ||
| 5055 | /* Note that mode_line_string takes COL, ROW as pixels and | 5057 | /* Note that mode_line_string takes COL, ROW as pixels and |
| 5056 | converts them to characters. */ | 5058 | converts them to characters. */ |
| @@ -8115,7 +8117,6 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item) | |||
| 8115 | Lisp_Object filter = Qnil; | 8117 | Lisp_Object filter = Qnil; |
| 8116 | Lisp_Object caption; | 8118 | Lisp_Object caption; |
| 8117 | int i; | 8119 | int i; |
| 8118 | bool have_label = false; | ||
| 8119 | 8120 | ||
| 8120 | /* Definition looks like `(menu-item CAPTION BINDING PROPS...)'. | 8121 | /* Definition looks like `(menu-item CAPTION BINDING PROPS...)'. |
| 8121 | Rule out items that aren't lists, don't start with | 8122 | 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) | |||
| 8164 | { | 8165 | { |
| 8165 | if (menu_separator_name_p (SSDATA (caption))) | 8166 | if (menu_separator_name_p (SSDATA (caption))) |
| 8166 | { | 8167 | { |
| 8167 | set_prop_tab_bar (TAB_BAR_ITEM_TYPE, Qt); | ||
| 8168 | /* If we use build_desired_tab_bar_string to render the | ||
| 8169 | tab bar, the separator is rendered as an image. */ | ||
| 8170 | set_prop_tab_bar (TAB_BAR_ITEM_IMAGES, | ||
| 8171 | (menu_item_eval_property | ||
| 8172 | (Vtab_bar_separator_image_expression))); | ||
| 8173 | set_prop_tab_bar (TAB_BAR_ITEM_ENABLED_P, Qnil); | 8168 | set_prop_tab_bar (TAB_BAR_ITEM_ENABLED_P, Qnil); |
| 8174 | set_prop_tab_bar (TAB_BAR_ITEM_SELECTED_P, Qnil); | 8169 | set_prop_tab_bar (TAB_BAR_ITEM_SELECTED_P, Qnil); |
| 8175 | set_prop_tab_bar (TAB_BAR_ITEM_CAPTION, Qnil); | 8170 | set_prop_tab_bar (TAB_BAR_ITEM_CAPTION, Qnil); |
| @@ -8212,17 +8207,6 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item) | |||
| 8212 | else if (EQ (ikey, QChelp)) | 8207 | else if (EQ (ikey, QChelp)) |
| 8213 | /* `:help HELP-STRING'. */ | 8208 | /* `:help HELP-STRING'. */ |
| 8214 | set_prop_tab_bar (TAB_BAR_ITEM_HELP, value); | 8209 | set_prop_tab_bar (TAB_BAR_ITEM_HELP, value); |
| 8215 | else if (EQ (ikey, QCvert_only)) | ||
| 8216 | /* `:vert-only t/nil'. */ | ||
| 8217 | set_prop_tab_bar (TAB_BAR_ITEM_VERT_ONLY, value); | ||
| 8218 | else if (EQ (ikey, QClabel)) | ||
| 8219 | { | ||
| 8220 | const char *bad_label = "!!?GARBLED ITEM?!!"; | ||
| 8221 | /* `:label LABEL-STRING'. */ | ||
| 8222 | set_prop_tab_bar (TAB_BAR_ITEM_LABEL, | ||
| 8223 | STRINGP (value) ? value : build_string (bad_label)); | ||
| 8224 | have_label = true; | ||
| 8225 | } | ||
| 8226 | else if (EQ (ikey, QCfilter)) | 8210 | else if (EQ (ikey, QCfilter)) |
| 8227 | /* ':filter FORM'. */ | 8211 | /* ':filter FORM'. */ |
| 8228 | filter = value; | 8212 | filter = value; |
| @@ -8236,64 +8220,8 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item) | |||
| 8236 | if (EQ (type, QCtoggle) || EQ (type, QCradio)) | 8220 | if (EQ (type, QCtoggle) || EQ (type, QCradio)) |
| 8237 | { | 8221 | { |
| 8238 | set_prop_tab_bar (TAB_BAR_ITEM_SELECTED_P, selected); | 8222 | set_prop_tab_bar (TAB_BAR_ITEM_SELECTED_P, selected); |
| 8239 | set_prop_tab_bar (TAB_BAR_ITEM_TYPE, type); | ||
| 8240 | } | 8223 | } |
| 8241 | } | 8224 | } |
| 8242 | else if (EQ (ikey, QCimage) | ||
| 8243 | && (CONSP (value) | ||
| 8244 | || (VECTORP (value) && ASIZE (value) == 4))) | ||
| 8245 | /* Value is either a single image specification or a vector | ||
| 8246 | of 4 such specifications for the different button states. */ | ||
| 8247 | set_prop_tab_bar (TAB_BAR_ITEM_IMAGES, value); | ||
| 8248 | else if (EQ (ikey, QCrtl)) | ||
| 8249 | /* ':rtl STRING' */ | ||
| 8250 | set_prop_tab_bar (TAB_BAR_ITEM_RTL_IMAGE, value); | ||
| 8251 | } | ||
| 8252 | |||
| 8253 | |||
| 8254 | if (!have_label) | ||
| 8255 | { | ||
| 8256 | /* Try to make one from caption and key. */ | ||
| 8257 | Lisp_Object tkey = PROP (TAB_BAR_ITEM_KEY); | ||
| 8258 | Lisp_Object tcapt = PROP (TAB_BAR_ITEM_CAPTION); | ||
| 8259 | const char *label = SYMBOLP (tkey) ? SSDATA (SYMBOL_NAME (tkey)) : ""; | ||
| 8260 | const char *capt = STRINGP (tcapt) ? SSDATA (tcapt) : ""; | ||
| 8261 | ptrdiff_t max_lbl_size = | ||
| 8262 | 2 * max (0, min (tab_bar_max_label_size, STRING_BYTES_BOUND / 2)) + 1; | ||
| 8263 | char *buf = xmalloc (max_lbl_size); | ||
| 8264 | Lisp_Object new_lbl; | ||
| 8265 | ptrdiff_t caption_len = strnlen (capt, max_lbl_size); | ||
| 8266 | |||
| 8267 | if (0 < caption_len && caption_len < max_lbl_size) | ||
| 8268 | { | ||
| 8269 | strcpy (buf, capt); | ||
| 8270 | while (caption_len > 0 && buf[caption_len - 1] == '.') | ||
| 8271 | caption_len--; | ||
| 8272 | buf[caption_len] = '\0'; | ||
| 8273 | label = capt = buf; | ||
| 8274 | } | ||
| 8275 | |||
| 8276 | ptrdiff_t label_len = strnlen (label, max_lbl_size); | ||
| 8277 | if (0 < label_len && label_len < max_lbl_size) | ||
| 8278 | { | ||
| 8279 | ptrdiff_t j; | ||
| 8280 | if (label != buf) | ||
| 8281 | strcpy (buf, label); | ||
| 8282 | |||
| 8283 | for (j = 0; buf[j] != '\0'; ++j) | ||
| 8284 | if (buf[j] == '-') | ||
| 8285 | buf[j] = ' '; | ||
| 8286 | label = buf; | ||
| 8287 | } | ||
| 8288 | else | ||
| 8289 | label = ""; | ||
| 8290 | |||
| 8291 | new_lbl = Fupcase_initials (build_string (label)); | ||
| 8292 | if (SCHARS (new_lbl) <= tab_bar_max_label_size) | ||
| 8293 | set_prop_tab_bar (TAB_BAR_ITEM_LABEL, new_lbl); | ||
| 8294 | else | ||
| 8295 | set_prop_tab_bar (TAB_BAR_ITEM_LABEL, empty_unibyte_string); | ||
| 8296 | xfree (buf); | ||
| 8297 | } | 8225 | } |
| 8298 | 8226 | ||
| 8299 | /* If got a filter apply it on binding. */ | 8227 | /* If got a filter apply it on binding. */ |
| @@ -10711,7 +10639,8 @@ On such systems, Emacs starts a subshell instead of suspending. */) | |||
| 10711 | get_tty_size (fileno (CURTTY ()->input), &width, &height); | 10639 | get_tty_size (fileno (CURTTY ()->input), &width, &height); |
| 10712 | if (width != old_width || height != old_height) | 10640 | if (width != old_width || height != old_height) |
| 10713 | change_frame_size (SELECTED_FRAME (), width, | 10641 | change_frame_size (SELECTED_FRAME (), width, |
| 10714 | height - FRAME_MENU_BAR_LINES (SELECTED_FRAME ()) - FRAME_TAB_BAR_LINES (SELECTED_FRAME ()), | 10642 | height - FRAME_MENU_BAR_LINES (SELECTED_FRAME ()) |
| 10643 | - FRAME_TAB_BAR_LINES (SELECTED_FRAME ()), | ||
| 10715 | 0, 0, 0, 0); | 10644 | 0, 0, 0, 0); |
| 10716 | 10645 | ||
| 10717 | run_hook (intern ("suspend-resume-hook")); | 10646 | run_hook (intern ("suspend-resume-hook")); |