diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-11-29 20:39:38 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-11-29 20:39:38 +0000 |
commit | 651fca85c71a4c5807f8f828f9ded30fbd754325 (patch) | |
tree | 8e8524432d917e2657b7717aeb40823b21b1c38c | |
parent | 0c359af5c0fd106d3f57cc0bb7cef1c89b5e1e10 (diff) | |
download | vim-git-651fca85c71a4c5807f8f828f9ded30fbd754325.tar.gz |
patch 8.2.3699: the +title feature adds a lot of #ifdef but little codev8.2.3699
Problem: The +title feature adds a lot of #ifdef but little code.
Solution: Graduate the +title feature.
-rw-r--r-- | runtime/doc/options.txt | 12 | ||||
-rw-r--r-- | runtime/doc/various.txt | 2 | ||||
-rw-r--r-- | src/alloc.c | 2 | ||||
-rw-r--r-- | src/arglist.c | 6 | ||||
-rw-r--r-- | src/autocmd.c | 2 | ||||
-rw-r--r-- | src/buffer.c | 8 | ||||
-rw-r--r-- | src/bufwrite.c | 2 | ||||
-rw-r--r-- | src/change.c | 4 | ||||
-rw-r--r-- | src/drawscreen.c | 7 | ||||
-rw-r--r-- | src/evalfunc.c | 8 | ||||
-rw-r--r-- | src/ex_cmds.c | 2 | ||||
-rw-r--r-- | src/ex_docmd.c | 10 | ||||
-rw-r--r-- | src/feature.h | 14 | ||||
-rw-r--r-- | src/globals.h | 15 | ||||
-rw-r--r-- | src/gui.c | 11 | ||||
-rw-r--r-- | src/gui_gtk_x11.c | 2 | ||||
-rw-r--r-- | src/if_xcmdsrv.c | 2 | ||||
-rw-r--r-- | src/locale.c | 2 | ||||
-rw-r--r-- | src/main.c | 4 | ||||
-rw-r--r-- | src/misc2.c | 2 | ||||
-rw-r--r-- | src/netbeans.c | 4 | ||||
-rw-r--r-- | src/option.c | 24 | ||||
-rw-r--r-- | src/option.h | 4 | ||||
-rw-r--r-- | src/optiondefs.h | 25 | ||||
-rw-r--r-- | src/optionstr.c | 14 | ||||
-rw-r--r-- | src/os_amiga.c | 6 | ||||
-rw-r--r-- | src/os_mswin.c | 30 | ||||
-rw-r--r-- | src/os_unix.c | 26 | ||||
-rw-r--r-- | src/os_win32.c | 28 | ||||
-rw-r--r-- | src/regexp.c | 3 | ||||
-rw-r--r-- | src/term.c | 8 | ||||
-rw-r--r-- | src/ui.c | 3 | ||||
-rw-r--r-- | src/version.c | 6 | ||||
-rw-r--r-- | src/window.c | 2 |
34 files changed, 56 insertions, 244 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index c7b280f68..6c589d142 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -4190,8 +4190,6 @@ A jump table for the options with a short description can be found at |Q_op|. *'icon'* *'noicon'* 'icon' boolean (default off, on when title can be restored) global - {not available when compiled without the |+title| - feature} When on, the icon text of the window will be set to the value of 'iconstring' (if it is not empty), or to the name of the file currently being edited. Only the last part of the name is used. @@ -4208,8 +4206,6 @@ A jump table for the options with a short description can be found at |Q_op|. *'iconstring'* 'iconstring' string (default "") global - {not available when compiled without the |+title| - feature} When this option is not empty, it will be used for the icon text of the window. This happens only when the 'icon' option is on. Only works if the terminal supports setting window icon text @@ -8141,8 +8137,6 @@ A jump table for the options with a short description can be found at |Q_op|. *'title'* *'notitle'* 'title' boolean (default off, on when title can be restored) global - {not available when compiled without the |+title| - feature} When on, the title of the window will be set to the value of 'titlestring' (if it is not empty), or to: filename [+=-] (path) - VIM @@ -8176,8 +8170,6 @@ A jump table for the options with a short description can be found at |Q_op|. *'titlelen'* 'titlelen' number (default 85) global - {not available when compiled without the |+title| - feature} Gives the percentage of 'columns' to use for the length of the window title. When the title is longer, only the end of the path name is shown. A '<' character before the path name is used to indicate this. @@ -8191,8 +8183,6 @@ A jump table for the options with a short description can be found at |Q_op|. *'titleold'* 'titleold' string (default "Thanks for flying Vim") global - {only available when compiled with the |+title| - feature} This option will be used for the window title when exiting Vim if the original title cannot be restored. Only happens if 'title' is on or 'titlestring' is not empty. @@ -8201,8 +8191,6 @@ A jump table for the options with a short description can be found at |Q_op|. *'titlestring'* 'titlestring' string (default "") global - {not available when compiled without the |+title| - feature} When this option is not empty, it will be used for the title of the window. This happens only when the 'title' option is on. Only works if the terminal supports setting window titles (currently diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index e9c6b7b55..290eb4f1c 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -471,7 +471,7 @@ N *+textobjects* |text-objects| selection N *+textprop* |text-properties| *+tgetent* non-Unix only: able to use external termcap N *+timers* the |timer_start()| function -N *+title* Setting the window 'title' and 'icon' +N *+title* Setting the window 'title' and 'icon'; Always enabled N *+toolbar* |gui-toolbar| T *+user_commands* User-defined commands. |user-commands| Always enabled since 8.1.1210. diff --git a/src/alloc.c b/src/alloc.c index d0901f473..42caa4180 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -421,9 +421,7 @@ free_all_mem(void) # endif } -# ifdef FEAT_TITLE free_titles(); -# endif # if defined(FEAT_SEARCHPATH) free_findfile(); # endif diff --git a/src/arglist.c b/src/arglist.c index 244dd0678..24b0a870e 100644 --- a/src/arglist.c +++ b/src/arglist.c @@ -770,9 +770,7 @@ ex_argedit(exarg_T *eap) if (do_arglist(eap->arg, AL_ADD, i, TRUE) == FAIL) return; -#ifdef FEAT_TITLE maketitle(); -#endif if (curwin->w_arg_idx == 0 && (curbuf->b_ml.ml_flags & ML_EMPTY) @@ -792,9 +790,7 @@ ex_argadd(exarg_T *eap) do_arglist(eap->arg, AL_ADD, eap->addr_count > 0 ? (int)eap->line2 : curwin->w_arg_idx + 1, FALSE); -#ifdef FEAT_TITLE maketitle(); -#endif } /* @@ -853,9 +849,7 @@ ex_argdelete(exarg_T *eap) } else do_arglist(eap->arg, AL_DEL, 0, FALSE); -#ifdef FEAT_TITLE maketitle(); -#endif } /* diff --git a/src/autocmd.c b/src/autocmd.c index ac21196b9..5ec911ab7 100644 --- a/src/autocmd.c +++ b/src/autocmd.c @@ -2253,10 +2253,8 @@ apply_autocmds_group( || event == EVENT_VIMLEAVE || event == EVENT_VIMLEAVEPRE)) { -#ifdef FEAT_TITLE if (curbuf->b_changed != save_changed) need_maketitle = TRUE; -#endif curbuf->b_changed = save_changed; } diff --git a/src/buffer.c b/src/buffer.c index e2732de7a..20a0d6660 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -44,9 +44,7 @@ static int buf_same_ino(buf_T *buf, stat_T *stp); #else static int otherfile_buf(buf_T *buf, char_u *ffname); #endif -#ifdef FEAT_TITLE static int value_changed(char_u *str, char_u **last); -#endif static int append_arg_number(win_T *wp, char_u *buf, int buflen, int add_file); static void free_buffer(buf_T *); static void free_buffer_stuff(buf_T *buf, int free_options); @@ -1856,9 +1854,7 @@ enter_buffer(buf_T *buf) buflist_getfpos(); check_arg_idx(curwin); // check for valid arg_idx -#ifdef FEAT_TITLE maketitle(); -#endif // when autocmds didn't change it if (curwin->w_topline == 1 && !curwin->w_topline_was_set) scroll_cursor_halfway(FALSE); // redisplay at correct position @@ -3461,9 +3457,7 @@ buf_name_changed(buf_T *buf) if (curwin->w_buffer == buf) check_arg_idx(curwin); // check file name for arg list -#ifdef FEAT_TITLE maketitle(); // set window title -#endif status_redraw_all(); // status lines need to be redrawn fmarks_check_names(buf); // check named file marks ml_timestamp(buf); // reset timestamp @@ -3780,7 +3774,6 @@ col_print( vim_snprintf((char *)buf, buflen, "%d-%d", col, vcol); } -#if defined(FEAT_TITLE) || defined(PROTO) static char_u *lasttitle = NULL; static char_u *lasticon = NULL; @@ -4045,7 +4038,6 @@ free_titles(void) } # endif -#endif // FEAT_TITLE #if defined(FEAT_STL_OPT) || defined(FEAT_GUI_TABLINE) || defined(PROTO) diff --git a/src/bufwrite.c b/src/bufwrite.c index 0313e0ce3..76c36e18e 100644 --- a/src/bufwrite.c +++ b/src/bufwrite.c @@ -1630,9 +1630,7 @@ buf_write( if (forceit && overwriting && vim_strchr(p_cpo, CPO_KEEPRO) == NULL) { buf->b_p_ro = FALSE; -#ifdef FEAT_TITLE need_maketitle = TRUE; // set window title later -#endif status_redraw_all(); // redraw status lines later } diff --git a/src/change.c b/src/change.c index e17195620..308cc1812 100644 --- a/src/change.c +++ b/src/change.c @@ -146,9 +146,7 @@ changed_internal(void) ml_setflags(curbuf); check_status(curbuf); redraw_tabline = TRUE; -#ifdef FEAT_TITLE need_maketitle = TRUE; // set window title later -#endif } #ifdef FEAT_EVAL @@ -892,9 +890,7 @@ unchanged(buf_T *buf, int ff, int always_inc_changedtick) save_file_ff(buf); check_status(buf); redraw_tabline = TRUE; -#ifdef FEAT_TITLE need_maketitle = TRUE; // set window title later -#endif ++CHANGEDTICK(buf); } else if (always_inc_changedtick) diff --git a/src/drawscreen.c b/src/drawscreen.c index 52f627345..f56ef91f2 100644 --- a/src/drawscreen.c +++ b/src/drawscreen.c @@ -610,15 +610,14 @@ showruler(int always) win_redr_ruler(curwin, always, FALSE); #endif -#ifdef FEAT_TITLE if (need_maketitle -# ifdef FEAT_STL_OPT +#ifdef FEAT_STL_OPT || (p_icon && (stl_syntax & STL_IN_ICON)) || (p_title && (stl_syntax & STL_IN_TITLE)) -# endif +#endif ) maketitle(); -#endif + // Redraw the tab pages line if needed. if (redraw_tabline) draw_tabline(); diff --git a/src/evalfunc.c b/src/evalfunc.c index ad9691efd..e04052b8a 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -5787,13 +5787,7 @@ f_has(typval_T *argvars, typval_T *rettv) 0 #endif }, - {"title", -#ifdef FEAT_TITLE - 1 -#else - 0 -#endif - }, + {"title", 1}, {"toolbar", #ifdef FEAT_TOOLBAR 1 diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 079dcf10e..10c8e617c 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -3082,9 +3082,7 @@ do_ecmd( // Even when cursor didn't move we need to recompute topline. changed_line_abv_curs(); -#ifdef FEAT_TITLE maketitle(); -#endif #if defined(FEAT_PROP_POPUP) && defined(FEAT_QUICKFIX) if (WIN_IS_POPUP(curwin) && curwin->w_p_pvw && retval != FAIL) popup_set_title(curwin); diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 523d8af30..d4863115d 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -6205,14 +6205,10 @@ ex_stop(exarg_T *eap) out_flush(); stoptermcap(); out_flush(); // needed for SUN to restore xterm buffer -#ifdef FEAT_TITLE mch_restore_title(SAVE_RESTORE_BOTH); // restore window titles -#endif ui_suspend(); // call machine specific function -#ifdef FEAT_TITLE maketitle(); resettitle(); // force updating the title -#endif starttermcap(); scroll_start(); // scroll screen before redrawing redraw_later_clear(); @@ -7047,14 +7043,10 @@ do_exedit( { if (eap->do_ecmd_cmd != NULL) do_cmd_argument(eap->do_ecmd_cmd); -#ifdef FEAT_TITLE n = curwin->w_arg_idx_invalid; -#endif check_arg_idx(curwin); -#ifdef FEAT_TITLE if (n != curwin->w_arg_idx_invalid) maketitle(); -#endif } /* @@ -8178,10 +8170,8 @@ ex_redraw(exarg_T *eap) validate_cursor(); update_topline(); update_screen(eap->forceit ? CLEAR : VIsual_active ? INVERTED : 0); -#ifdef FEAT_TITLE if (need_maketitle) maketitle(); -#endif #if defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL)) # ifdef VIMDLL if (!gui.in_use) diff --git a/src/feature.h b/src/feature.h index 2ae739aa8..36761ca49 100644 --- a/src/feature.h +++ b/src/feature.h @@ -109,6 +109,7 @@ * +insert_expand CTRL-N/CTRL-P/CTRL-X in insert mode. * +modify_fname modifiers for file name. E.g., "%:p:h". * +comments 'comments' option. + * +title 'title' and 'icon' options * * Obsolete: * +tag_old_static Old style static tags: "file:tag file ..". @@ -360,17 +361,9 @@ #endif /* - * +title 'title' and 'icon' options * +statusline 'statusline', 'rulerformat' and special format of * 'titlestring' and 'iconstring' options. - * +byte_offset '%o' in 'statusline' and builtin functions line2byte() - * and byte2line(). - * Note: Required for Macintosh. */ -#if defined(FEAT_NORMAL) -# define FEAT_TITLE -#endif - #ifdef FEAT_NORMAL # define FEAT_STL_OPT # ifndef FEAT_CMDL_INFO @@ -378,6 +371,11 @@ # endif #endif +/* + * +byte_offset '%o' in 'statusline' and builtin functions line2byte() + * and byte2line(). + * Note: Required for Macintosh. + */ #ifdef FEAT_NORMAL # define FEAT_BYTEOFF #endif diff --git a/src/globals.h b/src/globals.h index 8f4f5a575..f90dea20b 100644 --- a/src/globals.h +++ b/src/globals.h @@ -252,9 +252,7 @@ EXTERN int no_wait_return INIT(= 0); // don't wait for return for now EXTERN int need_wait_return INIT(= 0); // need to wait for return later EXTERN int did_wait_return INIT(= FALSE); // wait_return() was used and // nothing written since then -#ifdef FEAT_TITLE EXTERN int need_maketitle INIT(= TRUE); // call maketitle() soon -#endif EXTERN int quit_more INIT(= FALSE); // 'q' hit at "--more--" msg #if defined(UNIX) || defined(VMS) || defined(MACOS_X) @@ -1037,17 +1035,26 @@ EXTERN vimconv_T output_conv; // type of output conversion */ // length of char in bytes, including following composing chars EXTERN int (*mb_ptr2len)(char_u *p) INIT(= latin_ptr2len); + // idem, with limit on string length EXTERN int (*mb_ptr2len_len)(char_u *p, int size) INIT(= latin_ptr2len_len); + // byte length of char EXTERN int (*mb_char2len)(int c) INIT(= latin_char2len); -// convert char to bytes, return the length + +// Convert char "c" to bytes in "buf", return the length. "buf" must have room +// for at least 6 bytes. EXTERN int (*mb_char2bytes)(int c, char_u *buf) INIT(= latin_char2bytes); + EXTERN int (*mb_ptr2cells)(char_u *p) INIT(= latin_ptr2cells); EXTERN int (*mb_ptr2cells_len)(char_u *p, int size) INIT(= latin_ptr2cells_len); EXTERN int (*mb_char2cells)(int c) INIT(= latin_char2cells); EXTERN int (*mb_off2cells)(unsigned off, unsigned max_off) INIT(= latin_off2cells); EXTERN int (*mb_ptr2char)(char_u *p) INIT(= latin_ptr2char); + +// Byte offset from "p" to the start of a character, including any composing +// characters. "base" must be the start of the string, which must be NUL +// terminated. EXTERN int (*mb_head_off)(char_u *base, char_u *p) INIT(= latin_head_off); # if defined(USE_ICONV) && defined(DYNAMIC_ICONV) @@ -1402,7 +1409,7 @@ EXTERN struct subs_expr_S *substitute_instr INIT(= NULL); // table to store parsed 'wildmode' EXTERN char_u wim_flags[4]; -#if defined(FEAT_TITLE) && defined(FEAT_STL_OPT) +#if defined(FEAT_STL_OPT) // whether titlestring and iconstring contains statusline syntax # define STL_IN_ICON 1 # define STL_IN_TITLE 2 @@ -138,7 +138,7 @@ gui_start(char_u *arg UNUSED) // Back to old term settings // // FIXME: If we got here because a child process failed and flagged to - // the parent to resume, and X11 is enabled with FEAT_TITLE, this will + // the parent to resume, and X11 is enabled, this will // hit an X11 I/O error and do a longjmp(), leaving recursive // permanently set to 1. This is probably not as big a problem as it // sounds, because gui_mch_init() in both gui_x11.c and gui_gtk_x11.c @@ -146,9 +146,7 @@ gui_start(char_u *arg UNUSED) // actually hit this case. termcapinit(old_term); settmode(TMODE_RAW); // restart RAW mode -#ifdef FEAT_TITLE set_title_defaults(); // set 'title' and 'icon' again -#endif #if defined(GUI_MAY_SPAWN) && defined(EXPERIMENTAL_GUI_CMD) if (msg) emsg(msg); @@ -741,10 +739,9 @@ gui_init(void) */ if (gui_mch_open() != FAIL) { -#ifdef FEAT_TITLE maketitle(); resettitle(); -#endif + init_gui_options(); #ifdef FEAT_ARABIC // Our GUI can't do bidi. @@ -4413,10 +4410,8 @@ gui_update_scrollbars( } } -#ifdef FEAT_TITLE // update the title, it may show the scroll position maketitle(); -#endif prev_curwin = curwin; --hold_gui_events; @@ -5558,9 +5553,7 @@ drop_callback(void *cookie) # ifdef FEAT_MENU gui_update_menus(0); # endif -#ifdef FEAT_TITLE maketitle(); -#endif setcursor(); out_flush_cursor(FALSE, FALSE); } diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 6381a95f6..2d313f777 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -4540,7 +4540,6 @@ gui_mch_set_shellsize(int width, int height, gui_mch_update(); } -#if defined(FEAT_TITLE) || defined(PROTO) void gui_mch_settitle(char_u *title, char_u *icon UNUSED) { @@ -4552,7 +4551,6 @@ gui_mch_settitle(char_u *title, char_u *icon UNUSED) if (output_conv.vc_type != CONV_NONE) vim_free(title); } -#endif // FEAT_TITLE #if defined(FEAT_MENU) || defined(PROTO) void diff --git a/src/if_xcmdsrv.c b/src/if_xcmdsrv.c index 73f2c9e1a..901afc467 100644 --- a/src/if_xcmdsrv.c +++ b/src/if_xcmdsrv.c @@ -314,9 +314,7 @@ DoRegisterName(Display *dpy, char_u *name) set_vim_var_string(VV_SEND_SERVER, name, -1); #endif serverName = vim_strsave(name); -#ifdef FEAT_TITLE need_maketitle = TRUE; -#endif return 0; } return -2; diff --git a/src/locale.c b/src/locale.c index 7fad9d9fe..54f416161 100644 --- a/src/locale.c +++ b/src/locale.c @@ -390,9 +390,7 @@ ex_language(exarg_T *eap) // Set v:lang, v:lc_time, v:collate and v:ctype to the final result. set_lang_var(); # endif -# ifdef FEAT_TITLE maketitle(); -# endif } } } diff --git a/src/main.c b/src/main.c index 50047d555..268209e8d 100644 --- a/src/main.c +++ b/src/main.c @@ -668,7 +668,7 @@ vim_main2(void) scroll_region_reset(); // In case Rows changed scroll_start(); // may scroll the screen to the right position -#if defined(FEAT_TITLE) && (defined(UNIX) || defined(VMS) || defined(MACOS_X)) +#if defined(UNIX) || defined(VMS) || defined(MACOS_X) term_push_title(SAVE_RESTORE_BOTH); #endif @@ -1395,10 +1395,8 @@ main_loop( else if (redraw_cmdline || clear_cmdline) showmode(); redraw_statuslines(); -#ifdef FEAT_TITLE if (need_maketitle) maketitle(); -#endif #ifdef FEAT_VIMINFO curbuf->b_last_used = vim_time(); #endif diff --git a/src/misc2.c b/src/misc2.c index 8e01434ea..940708749 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -1735,9 +1735,7 @@ set_fileformat( // This may cause the buffer to become (un)modified. check_status(curbuf); redraw_tabline = TRUE; -#ifdef FEAT_TITLE need_maketitle = TRUE; // set window title later -#endif } /* diff --git a/src/netbeans.c b/src/netbeans.c index 003cc531d..00be244fb 100644 --- a/src/netbeans.c +++ b/src/netbeans.c @@ -1669,9 +1669,7 @@ nb_do_cmd( buf->bufp = curbuf; buf->initDone = TRUE; do_update = 1; -#if defined(FEAT_TITLE) maketitle(); -#endif #if defined(FEAT_MENU) && defined(FEAT_GUI) if (gui.in_use) gui_update_menus(0); @@ -1748,9 +1746,7 @@ nb_do_cmd( { check_status(buf->bufp); redraw_tabline = TRUE; -#ifdef FEAT_TITLE maketitle(); -#endif update_screen(0); } // ===================================================================== diff --git a/src/option.c b/src/option.c index 4422634e2..fd1910c6d 100644 --- a/src/option.c +++ b/src/option.c @@ -1102,9 +1102,7 @@ set_init_3(void) set_fileformat(default_fileformat(), OPT_LOCAL); } -#ifdef FEAT_TITLE set_title_defaults(); -#endif } #if defined(FEAT_MULTI_LANG) || defined(PROTO) @@ -1148,7 +1146,6 @@ set_helplang_default(char_u *lang) } #endif -#ifdef FEAT_TITLE /* * 'title' and 'icon' only default to true if they have not been set or reset * in .vimrc and we can read the old value. @@ -1192,7 +1189,6 @@ set_title_defaults(void) p_icon = val; } } -#endif void ex_set(exarg_T *eap) @@ -2272,7 +2268,6 @@ string_to_key(char_u *arg, int multi_byte) return *arg; } -#ifdef FEAT_TITLE /* * When changing 'title', 'titlestring', 'icon' or 'iconstring', call * maketitle() to create and display it. @@ -2289,7 +2284,6 @@ did_set_title(void) ) maketitle(); } -#endif /* * set_options_bin - called when 'bin' changes value. @@ -2558,7 +2552,6 @@ insecure_flag(int opt_idx, int opt_flags) } #endif -#if defined(FEAT_TITLE) || defined(PROTO) /* * Redraw the window title and/or tab page text later. */ @@ -2567,7 +2560,6 @@ void redraw_titles(void) need_maketitle = TRUE; redraw_tabline = TRUE; } -#endif /* * Return TRUE if "val" is a valid name: only consists of alphanumeric ASCII @@ -2809,9 +2801,7 @@ set_bool_option( if (curbuf->b_p_ro) curbuf->b_did_warn = FALSE; -#ifdef FEAT_TITLE redraw_titles(); -#endif } #ifdef FEAT_GUI @@ -2834,11 +2824,8 @@ set_bool_option( return N_("E946: Cannot make a terminal with running job modifiable"); } # endif -# ifdef FEAT_TITLE redraw_titles(); -# endif } -#ifdef FEAT_TITLE // when 'endofline' is changed, redraw the window title else if ((int *)varp == &curbuf->b_p_eol) { @@ -2854,15 +2841,12 @@ set_bool_option( { redraw_titles(); } -#endif // when 'bin' is set also set some other options else if ((int *)varp == &curbuf->b_p_bin) { set_options_bin(old_value, curbuf->b_p_bin, opt_flags); -#ifdef FEAT_TITLE redraw_titles(); -#endif } // when 'buflisted' changes, trigger autocommands @@ -2996,21 +2980,17 @@ set_bool_option( } #endif -#ifdef FEAT_TITLE // when 'title' changed, may need to change the title; same for 'icon' else if ((int *)varp == &p_title || (int *)varp == &p_icon) { did_set_title(); } -#endif else if ((int *)varp == &curbuf->b_changed) { if (!value) save_file_ff(curbuf); // Buffer is unchanged -#ifdef FEAT_TITLE redraw_titles(); -#endif modified_was_set = value; } @@ -3566,7 +3546,6 @@ set_num_option( p_imsearch = curbuf->b_p_imsearch; } -#ifdef FEAT_TITLE // if 'titlelen' has changed, redraw the title else if (pp == &p_titlelen) { @@ -3578,7 +3557,6 @@ set_num_option( if (starting != NO_SCREEN && old_value != p_titlelen) need_maketitle = TRUE; } -#endif // if p_ch changed value, change the command line height else if (pp == &p_ch) @@ -4971,9 +4949,7 @@ clear_termoptions(void) * screen will be cleared later, so this is OK. */ mch_setmouse(FALSE); // switch mouse off -#ifdef FEAT_TITLE mch_restore_title(SAVE_RESTORE_BOTH); // restore window titles -#endif #if defined(FEAT_XCLIPBOARD) && defined(FEAT_GUI) // When starting the GUI close the display opened for the clipboard. // After restoring the title, because that will need the display. diff --git a/src/option.h b/src/option.h index 21ee569b1..080d90d5c 100644 --- a/src/option.h +++ b/src/option.h @@ -657,10 +657,8 @@ EXTERN int p_hkmapp; // 'hkmapp' EXTERN int p_arshape; // 'arabicshape' # endif #endif -#ifdef FEAT_TITLE EXTERN int p_icon; // 'icon' EXTERN char_u *p_iconstring; // 'iconstring' -#endif EXTERN int p_ic; // 'ignorecase' #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK) EXTERN char_u *p_imak; // 'imactivatekey' @@ -986,12 +984,10 @@ EXTERN long p_tw; // 'textwidth' EXTERN int p_to; // 'tildeop' EXTERN int p_timeout; // 'timeout' EXTERN long p_tm; // 'timeoutlen' -#ifdef FEAT_TITLE EXTERN int p_title; // 'title' EXTERN long p_titlelen; // 'titlelen' EXTERN char_u *p_titleold; // 'titleold' EXTERN char_u *p_titlestring; // 'titlestring' -#endif EXTERN char_u *p_tsr; // 'thesaurus' EXTERN int p_ttimeout; // 'ttimeout' EXTERN long p_ttm; // 'ttimeoutlen' diff --git a/src/optiondefs.h b/src/optiondefs.h index d46cfadc0..5a9a67453 100644 --- a/src/optiondefs.h +++ b/src/optiondefs.h @@ -1313,18 +1313,10 @@ static struct vimoption options[] = (char_u *)&p_hls, PV_NONE, {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, {"icon", NULL, P_BOOL|P_VI_DEF, -#ifdef FEAT_TITLE (char_u *)&p_icon, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, {"iconstring", NULL, P_STRING|P_VI_DEF|P_MLE, -#ifdef FEAT_TITLE (char_u *)&p_iconstring, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif {(char_u *)"", (char_u *)0L} SCTX_INIT}, {"ignorecase", "ic", P_BOOL|P_VI_DEF, (char_u *)&p_ic, PV_NONE, @@ -2651,35 +2643,18 @@ static struct vimoption options[] = (char_u *)&p_tm, PV_NONE, {(char_u *)1000L, (char_u *)0L} SCTX_INIT}, {"title", NULL, P_BOOL|P_VI_DEF, -#ifdef FEAT_TITLE (char_u *)&p_title, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif {(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, {"titlelen", NULL, P_NUM|P_VI_DEF, -#ifdef FEAT_TITLE (char_u *)&p_titlelen, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif {(char_u *)85L, (char_u *)0L} SCTX_INIT}, {"titleold", NULL, P_STRING|P_VI_DEF|P_GETTEXT|P_SECURE|P_NO_MKRC, -#ifdef FEAT_TITLE (char_u *)&p_titleold, PV_NONE, {(char_u *)N_("Thanks for flying Vim"), (char_u *)0L} -#else - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} -#endif SCTX_INIT}, {"titlestring", NULL, P_STRING|P_VI_DEF|P_MLE, -#ifdef FEAT_TITLE (char_u *)&p_titlestring, PV_NONE, -#else - (char_u *)NULL, PV_NONE, -#endif {(char_u *)"", (char_u *)0L} SCTX_INIT}, {"toolbar", "tb", P_STRING|P_ONECOMMA|P_VI_DEF|P_NODUP, #if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_MSWIN) diff --git a/src/optionstr.c b/src/optionstr.c index 8948830c8..1b0d8a167 100644 --- a/src/optionstr.c +++ b/src/optionstr.c @@ -979,10 +979,8 @@ ambw_end: errmsg = e_invarg; else { -#ifdef FEAT_TITLE // May show a "+" in the title now. redraw_titles(); -#endif // Add 'fileencoding' to the swap file. ml_setflags(curbuf); } @@ -999,9 +997,7 @@ ambw_end: if (varp == &p_enc) { errmsg = mb_init(); -#ifdef FEAT_TITLE redraw_titles(); -#endif } } @@ -1141,9 +1137,7 @@ ambw_end: curbuf->b_p_tx = TRUE; else curbuf->b_p_tx = FALSE; -#ifdef FEAT_TITLE redraw_titles(); -#endif // update flag in swap file ml_setflags(curbuf); // Redraw needed when switching to/from "mac": a CR in the text @@ -1603,11 +1597,10 @@ ambw_end: fill_breakat_flags(); #endif -#ifdef FEAT_TITLE // 'titlestring' and 'iconstring' else if (varp == &p_titlestring || varp == &p_iconstring) { -# ifdef FEAT_STL_OPT +#ifdef FEAT_STL_OPT int flagval = (varp == &p_titlestring) ? STL_IN_TITLE : STL_IN_ICON; // NULL => statusline syntax @@ -1615,10 +1608,9 @@ ambw_end: stl_syntax |= flagval; else stl_syntax &= ~flagval; -# endif +#endif did_set_title(); } -#endif #ifdef FEAT_GUI // 'guioptions' @@ -1805,9 +1797,7 @@ ambw_end: redraw_later(VALID); } curbuf->b_help = (curbuf->b_p_bt[0] == 'h'); -#ifdef FEAT_TITLE redraw_titles(); -#endif } } diff --git a/src/os_amiga.c b/src/os_amiga.c index f157c0bd2..18f01928a 100644 --- a/src/os_amiga.c +++ b/src/os_amiga.c @@ -623,7 +623,6 @@ get_fib(char_u *fname) return fib; } -#ifdef FEAT_TITLE /* * set the title of our window * icon name is not set @@ -660,7 +659,6 @@ mch_can_restore_icon(void) { return FALSE; } -#endif void mch_setmouse(int on UNUSED) @@ -940,9 +938,7 @@ mch_exit(int r) out_flush(); } -#ifdef FEAT_TITLE mch_restore_title(SAVE_RESTORE_BOTH); // restore window title -#endif ml_close_all(TRUE); // remove all memfiles @@ -1442,9 +1438,7 @@ mch_call_shell( cur_tmode = TMODE_UNKNOWN; settmode(TMODE_RAW); // set to raw mode } -#ifdef FEAT_TITLE resettitle(); -#endif if (term_console) win_resize_on(); // window resize events activated return retval; diff --git a/src/os_mswin.c b/src/os_mswin.c index 096ac1bc5..360c456e5 100644 --- a/src/os_mswin.c +++ b/src/os_mswin.c @@ -32,7 +32,7 @@ #endif #ifndef PROTO -# if defined(FEAT_TITLE) && !defined(FEAT_GUI_MSWIN) +# if !defined(FEAT_GUI_MSWIN) # include <shellapi.h> # endif @@ -265,7 +265,6 @@ mch_input_isatty(void) #endif } -#ifdef FEAT_TITLE /* * mch_settitle(): set titlebar of our window */ @@ -274,16 +273,16 @@ mch_settitle( char_u *title, char_u *icon UNUSED) { -# ifdef FEAT_GUI_MSWIN -# ifdef VIMDLL +#ifdef FEAT_GUI_MSWIN +# ifdef VIMDLL if (gui.in_use) -# endif +# endif { gui_mch_settitle(title, icon); return; } -# endif -# if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) +#endif +#if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) if (title != NULL) { WCHAR *wp = enc_to_utf16(title, NULL); @@ -295,7 +294,7 @@ mch_settitle( vim_free(wp); return; } -# endif +#endif } @@ -309,12 +308,12 @@ mch_settitle( void mch_restore_title(int which UNUSED) { -# if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) -# ifdef VIMDLL +#if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL) +# ifdef VIMDLL if (!gui.in_use) -# endif - SetConsoleTitle(g_szOrigTitle); # endif + SetConsoleTitle(g_szOrigTitle); +#endif } @@ -336,7 +335,6 @@ mch_can_restore_icon(void) { return FALSE; } -#endif // FEAT_TITLE /* @@ -937,9 +935,7 @@ Trace( #endif //_DEBUG #if !defined(FEAT_GUI) || defined(VIMDLL) || defined(PROTO) -# ifdef FEAT_TITLE extern HWND g_hWnd; // This is in os_win32.c. -# endif /* * Showing the printer dialog is tricky since we have no GUI @@ -953,14 +949,12 @@ GetConsoleHwnd(void) if (s_hwnd != 0) return; -# ifdef FEAT_TITLE // Window handle may have been found by init code (Windows NT only) if (g_hWnd != 0) { s_hwnd = g_hWnd; return; } -# endif s_hwnd = GetConsoleWindow(); } @@ -2301,9 +2295,7 @@ serverSetName(char_u *name) { // Remember the name serverName = ok_name; -# ifdef FEAT_TITLE need_maketitle = TRUE; // update Vim window title later -# endif // Update the message window title SetWindowText(message_window, (LPCSTR)ok_name); diff --git a/src/os_unix.c b/src/os_unix.c index fa9c5f392..ef5533c4d 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -118,15 +118,12 @@ static void clip_update(void); static void xterm_update(void); # endif -# if defined(FEAT_XCLIPBOARD) || defined(FEAT_TITLE) Window x11_window = 0; -# endif Display *x11_display = NULL; #endif static int ignore_sigtstp = FALSE; -#ifdef FEAT_TITLE static int get_x11_title(int); static char_u *oldtitle = NULL; @@ -134,7 +131,6 @@ static volatile sig_atomic_t oldtitle_outdated = FALSE; static int unix_did_set_title = FALSE; static char_u *oldicon = NULL; static int did_set_icon = FALSE; -#endif static void may_core_dump(void); @@ -170,8 +166,7 @@ static RETSIGTYPE catch_sigusr1 SIGPROTOARG; #if defined(SIGPWR) static RETSIGTYPE catch_sigpwr SIGPROTOARG; #endif -#if defined(SIGALRM) && defined(FEAT_X11) \ - && defined(FEAT_TITLE) && !defined(FEAT_GUI_GTK) +#if defined(SIGALRM) && defined(FEAT_X11) && !defined(FEAT_GUI_GTK) # define SET_SIG_ALARM static RETSIGTYPE sig_alarm SIGPROTOARG; // volatile because it is used in signal handler sig_alarm(). @@ -1152,11 +1147,10 @@ deathtrap SIGDEFARG(sigarg) static void after_sigcont(void) { -# ifdef FEAT_TITLE // Don't change "oldtitle" in a signal handler, set a flag to obtain it // again later. oldtitle_outdated = TRUE; -# endif + settmode(TMODE_RAW); need_check_timestamps = TRUE; did_check_timestamps = FALSE; @@ -1579,8 +1573,7 @@ mch_input_isatty(void) #ifdef FEAT_X11 -# if defined(ELAPSED_TIMEVAL) \ - && (defined(FEAT_XCLIPBOARD) || defined(FEAT_TITLE)) +# if defined(ELAPSED_TIMEVAL) /* * Give a message about the elapsed time for opening the X window. @@ -1593,7 +1586,7 @@ xopen_message(long elapsed_msec) # endif #endif -#if defined(FEAT_X11) && (defined(FEAT_TITLE) || defined(FEAT_XCLIPBOARD)) +#if defined(FEAT_X11) /* * A few functions shared by X11 title and clipboard code. */ @@ -1776,7 +1769,6 @@ test_x11_window(Display *dpy) } #endif -#ifdef FEAT_TITLE #ifdef FEAT_X11 @@ -2316,7 +2308,6 @@ mch_restore_title(int which) } } -#endif // FEAT_TITLE /* * Return TRUE if "name" looks like some xterm name. @@ -3349,10 +3340,8 @@ mch_free_mem(void) # if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK) VIM_CLEAR(signal_stack); # endif -# ifdef FEAT_TITLE vim_free(oldtitle); vim_free(oldicon); -# endif } #endif @@ -3403,14 +3392,13 @@ mch_exit(int r) #endif { settmode(TMODE_COOK); -#ifdef FEAT_TITLE if (!is_not_a_term()) { // restore xterm title and icon name mch_restore_title(SAVE_RESTORE_BOTH); term_pop_title(SAVE_RESTORE_BOTH); } -#endif + /* * When t_ti is not empty but it doesn't cause swapping terminal * pages, need to output a newline when msg_didout is set. But when @@ -4600,9 +4588,7 @@ mch_call_shell_system( cur_tmode = TMODE_UNKNOWN; settmode(TMODE_RAW); // set to raw mode } -# ifdef FEAT_TITLE resettitle(); -# endif # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11) restore_clipboard(); # endif @@ -5441,9 +5427,7 @@ error: if (!did_settmode) if (tmode == TMODE_RAW) settmode(TMODE_RAW); // set to raw mode -# ifdef FEAT_TITLE resettitle(); -# endif vim_free(argv); vim_free(tofree1); vim_free(tofree2); diff --git a/src/os_win32.c b/src/os_win32.c index a8062a82f..7234fe8e2 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -46,7 +46,7 @@ #endif #ifndef PROTO -# if defined(FEAT_TITLE) && !defined(FEAT_GUI_MSWIN) +# if !defined(FEAT_GUI_MSWIN) # include <shellapi.h> # endif #endif @@ -2683,7 +2683,6 @@ static ConsoleBuffer g_cbOrig = { 0 }; static ConsoleBuffer g_cbNonTermcap = { 0 }; static ConsoleBuffer g_cbTermcap = { 0 }; -# ifdef FEAT_TITLE char g_szOrigTitle[256] = { 0 }; HWND g_hWnd = NULL; // also used in os_mswin.c static HICON g_hOrigIconSmall = NULL; @@ -2692,12 +2691,12 @@ static HICON g_hVimIcon = NULL; static BOOL g_fCanChangeIcon = FALSE; // ICON* are not defined in VC++ 4.0 -# ifndef ICON_SMALL -# define ICON_SMALL 0 -# endif -# ifndef ICON_BIG -# define ICON_BIG 1 -# endif +# ifndef ICON_SMALL +# define ICON_SMALL 0 +# endif +# ifndef ICON_BIG +# define ICON_BIG 1 +# endif /* * GetConsoleIcon() * Description: @@ -2789,7 +2788,6 @@ SaveConsoleTitleAndIcon(void) if (g_hVimIcon != NULL) g_fCanChangeIcon = TRUE; } -# endif static int g_fWindInitCalled = FALSE; static int g_fTermcapMode = FALSE; @@ -2850,7 +2848,6 @@ mch_init_c(void) GetConsoleMode(g_hConIn, &g_cmodein); GetConsoleMode(g_hConOut, &g_cmodeout); -# ifdef FEAT_TITLE SaveConsoleTitleAndIcon(); /* * Set both the small and big icons of the console window to Vim's icon. @@ -2859,7 +2856,6 @@ mch_init_c(void) */ if (g_fCanChangeIcon) SetConsoleIcon(g_hWnd, g_hVimIcon, g_hVimIcon); -# endif ui_get_shellsize(); @@ -2909,7 +2905,6 @@ mch_exit_c(int r) if (g_fWindInitCalled) { -# ifdef FEAT_TITLE mch_restore_title(SAVE_RESTORE_BOTH); /* * Restore both the small and big icons of the console window to @@ -2918,7 +2913,6 @@ mch_exit_c(int r) */ if (g_fCanChangeIcon && !g_fForceExit) SetConsoleIcon(g_hWnd, g_hOrigIconSmall, g_hOrigIcon); -# endif # ifdef MCH_WRITE_DUMP if (fdDump) @@ -4757,7 +4751,6 @@ mch_call_shell( { int x = 0; int tmode = cur_tmode; -#ifdef FEAT_TITLE WCHAR szShellTitle[512]; // Change the title to reflect that we are in a subshell. @@ -4780,7 +4773,6 @@ mch_call_shell( } } } -#endif out_flush(); @@ -4813,9 +4805,7 @@ mch_call_shell( { // Use a terminal window to run the command in. x = mch_call_shell_terminal(cmd, options); -# ifdef FEAT_TITLE resettitle(); -# endif return x; } } @@ -5062,9 +5052,7 @@ mch_call_shell( smsg(_("shell returned %d"), x); msg_putchar('\n'); } -#ifdef FEAT_TITLE resettitle(); -#endif signal(SIGINT, SIG_DFL); #if defined(__GNUC__) && !defined(__MINGW32__) @@ -5631,9 +5619,7 @@ termcap_mode_start(void) ResizeConBufAndWindow(g_hConOut, Columns, Rows); } -# ifdef FEAT_TITLE resettitle(); -# endif GetConsoleMode(g_hConIn, &cmodein); if (g_fMouseActive) diff --git a/src/regexp.c b/src/regexp.c index 4b1474579..45485f401 100644 --- a/src/regexp.c +++ b/src/regexp.c @@ -2746,8 +2746,7 @@ report_re_switch(char_u *pat) } #endif -#if (defined(FEAT_X11) && (defined(FEAT_TITLE) || defined(FEAT_XCLIPBOARD))) \ - || defined(PROTO) +#if defined(FEAT_X11) || defined(PROTO) /* * Return whether "prog" is currently being executed. */ diff --git a/src/term.c b/src/term.c index 52533e950..eb4dffaac 100644 --- a/src/term.c +++ b/src/term.c @@ -2123,9 +2123,7 @@ set_termname(char_u *term) { starttermcap(); // may change terminal mode setmouse(); // may start using the mouse -#ifdef FEAT_TITLE maketitle(); // may display window title -#endif } // display initial screen after ttest() checking. jw. @@ -3091,8 +3089,7 @@ term_ul_rgb_color(guicolor_T rgb) } #endif -#if (defined(FEAT_TITLE) && (defined(UNIX) || defined(VMS) \ - || defined(MACOS_X))) || defined(PROTO) +#if (defined(UNIX) || defined(VMS) || defined(MACOS_X)) || defined(PROTO) /* * Generic function to set window title, using t_ts and t_fs. */ @@ -3505,9 +3502,8 @@ set_shellsize(int width, int height, int mustset) if (starting != NO_SCREEN) { -#ifdef FEAT_TITLE maketitle(); -#endif + changed_line_abv_curs(); invalidate_botline(); @@ -1175,11 +1175,10 @@ ui_focus_change( gui_update_scrollbars(FALSE); # endif } -#ifdef FEAT_TITLE + // File may have been changed from 'readonly' to 'noreadonly' if (need_maketitle) maketitle(); -#endif } #if defined(HAVE_INPUT_METHOD) || defined(PROTO) diff --git a/src/version.c b/src/version.c index c032ee88f..f5f13a0de 100644 --- a/src/version.c +++ b/src/version.c @@ -652,11 +652,7 @@ static char *(features[]) = #else "-timers", #endif -#ifdef FEAT_TITLE "+title", -#else - "-title", -#endif #ifdef FEAT_TOOLBAR "+toolbar", #else @@ -758,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3699, +/**/ 3698, /**/ 3697, diff --git a/src/window.c b/src/window.c index 4fbf94428..c14abe489 100644 --- a/src/window.c +++ b/src/window.c @@ -4818,9 +4818,7 @@ win_enter_ext(win_T *wp, int flags) apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf); } -#ifdef FEAT_TITLE maketitle(); -#endif curwin->w_redr_status = TRUE; #ifdef FEAT_TERMINAL if (bt_terminal(curwin->w_buffer)) |