]> granicus.if.org Git - vim/commitdiff
patch 8.0.1794: duplicate term options after renaming v8.0.1794
authorBram Moolenaar <Bram@vim.org>
Sat, 5 May 2018 14:36:06 +0000 (16:36 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 5 May 2018 14:36:06 +0000 (16:36 +0200)
Problem:    Duplicate term options after renaming.
Solution:   Remove the old names 'termkey', 'termsize' and 'terminalscroll'.

src/option.c
src/option.h
src/terminal.c
src/testdir/gen_opt_test.vim
src/testdir/screendump.vim
src/version.c

index b4a0e6b858589df910d0ff90c5e0ef9ea09ebadf..7fd1dda99ce1195a67ab761b06f77f3325e5d11f 100644 (file)
@@ -375,7 +375,7 @@ static long p_wm;
 static char_u  *p_keymap;
 #endif
 #ifdef FEAT_TERMINAL
-static long    p_twsl;
+static long    p_twsl;         /* 'termwinscroll' */
 #endif
 
 /* Saved values for when 'bin' is set. */
@@ -2752,36 +2752,6 @@ static struct vimoption options[] =
 #else
                            (char_u*)NULL, PV_NONE,
                            {(char_u *)FALSE, (char_u *)FALSE}
-#endif
-                           SCRIPTID_INIT},
-    /* TODO: remove this deprecated entry */
-    {"terminalscroll", "tlsl", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
-#ifdef FEAT_TERMINAL
-                           (char_u *)&p_twsl, PV_TWSL,
-                           {(char_u *)10000L, (char_u *)10000L}
-#else
-                           (char_u *)NULL, PV_NONE,
-                           {(char_u *)NULL, (char_u *)0L}
-#endif
-                           SCRIPTID_INIT},
-    /* TODO: remove this deprecated entry */
-    {"termkey",            "tk",   P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
-#ifdef FEAT_TERMINAL
-                           (char_u *)VAR_WIN, PV_TWK,
-                           {(char_u *)"", (char_u *)NULL}
-#else
-                           (char_u *)NULL, PV_NONE,
-                           {(char_u *)NULL, (char_u *)0L}
-#endif
-                           SCRIPTID_INIT},
-    /* TODO: remove this deprecated entry */
-    {"termsize", "tms",            P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
-#ifdef FEAT_TERMINAL
-                           (char_u *)VAR_WIN, PV_TWS,
-                           {(char_u *)"", (char_u *)NULL}
-#else
-                           (char_u *)NULL, PV_NONE,
-                           {(char_u *)NULL, (char_u *)0L}
 #endif
                            SCRIPTID_INIT},
     {"termwinkey", "twk",   P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
@@ -3805,23 +3775,17 @@ set_option_default(
        dvi = ((flags & P_VI_DEF) || compatible) ? VI_DEFAULT : VIM_DEFAULT;
        if (flags & P_STRING)
        {
-           /* skip 'termkey' and 'termsize, they are duplicates of
-            * 'termwinkey' and 'termwinsize' */
-           if (STRCMP(options[opt_idx].fullname, "termkey") != 0
-                   && STRCMP(options[opt_idx].fullname, "termsize") != 0)
+           /* Use set_string_option_direct() for local options to handle
+            * freeing and allocating the value. */
+           if (options[opt_idx].indir != PV_NONE)
+               set_string_option_direct(NULL, opt_idx,
+                                options[opt_idx].def_val[dvi], opt_flags, 0);
+           else
            {
-               /* Use set_string_option_direct() for local options to handle
-                * freeing and allocating the value. */
-               if (options[opt_idx].indir != PV_NONE)
-                   set_string_option_direct(NULL, opt_idx,
-                                    options[opt_idx].def_val[dvi], opt_flags, 0);
-               else
-               {
-                   if ((opt_flags & OPT_FREE) && (flags & P_ALLOCED))
-                       free_string_option(*(char_u **)(varp));
-                   *(char_u **)varp = options[opt_idx].def_val[dvi];
-                   options[opt_idx].flags &= ~P_ALLOCED;
-               }
+               if ((opt_flags & OPT_FREE) && (flags & P_ALLOCED))
+                   free_string_option(*(char_u **)(varp));
+               *(char_u **)varp = options[opt_idx].def_val[dvi];
+               options[opt_idx].flags &= ~P_ALLOCED;
            }
        }
        else if (flags & P_NUM)
index 8f492c3613e4613a634136b0bfd0dc8e86565d80..3aaaba7bfae3e7c4912bc8fbaa0e70e5bc5313f7 100644 (file)
@@ -849,9 +849,6 @@ EXTERN char_u       *p_tcldll;      /* 'tcldll' */
 #ifdef FEAT_ARABIC
 EXTERN int     p_tbidi;        /* 'termbidi' */
 #endif
-#ifdef FEAT_TERMINAL
-EXTERN long    p_tlsl;         /* 'terminalscroll' */
-#endif
 #ifdef FEAT_MBYTE
 EXTERN char_u  *p_tenc;        /* 'termencoding' */
 #endif
index 56e08db50f2b568164807f58040e395bace8b2b4..7ad1f8f657ee3cd87e7a770de25bf7d52f008c8c 100644 (file)
@@ -51,6 +51,9 @@
  *   a redraw is faster.
  * - Copy text in the vterm to the Vim buffer once in a while, so that
  *   completion works.
+ * - When the job only outputs lines, we could handle resizing the terminal
+ *   better: store lines separated by line breaks, instead of screen lines,
+ *   then when the window is resized redraw those lines.
  * - Redrawing is slow with Athena and Motif.  Also other GUI? (Ramel Eshed)
  * - For the GUI fill termios with default values, perhaps like pangoterm:
  *   http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
@@ -202,13 +205,13 @@ static int        desired_cursor_blink = -1;
  */
 
 /*
- * Parse 'termsize' and set "rows" and "cols" for the terminal size in the
+ * Parse 'termwinsize' and set "rows" and "cols" for the terminal size in the
  * current window.
  * Sets "rows" and/or "cols" to zero when it should follow the window size.
  * Return TRUE if the size is the minimum size: "24*80".
  */
     static int
-parse_termsize(win_T *wp, int *rows, int *cols)
+parse_termwinsize(win_T *wp, int *rows, int *cols)
 {
     int        minsize = FALSE;
 
@@ -232,7 +235,7 @@ parse_termsize(win_T *wp, int *rows, int *cols)
 }
 
 /*
- * Determine the terminal size from 'termsize' and the current window.
+ * Determine the terminal size from 'termwinsize' and the current window.
  */
     static void
 set_term_and_win_size(term_T *term)
@@ -247,7 +250,7 @@ set_term_and_win_size(term_T *term)
        return;
     }
 #endif
-    if (parse_termsize(curwin, &term->tl_rows, &term->tl_cols))
+    if (parse_termwinsize(curwin, &term->tl_rows, &term->tl_cols))
     {
        if (term->tl_rows != 0)
            term->tl_rows = MAX(term->tl_rows, curwin->w_height);
@@ -1982,7 +1985,7 @@ term_win_entered()
 terminal_loop(int blocking)
 {
     int                c;
-    int                termkey = 0;
+    int                termwinkey = 0;
     int                ret;
 #ifdef UNIX
     int                tty_fd = curbuf->b_term->tl_job->jv_channel
@@ -1997,7 +2000,7 @@ terminal_loop(int blocking)
     in_terminal_loop = curbuf->b_term;
 
     if (*curwin->w_p_twk != NUL)
-       termkey = string_to_key(curwin->w_p_twk, TRUE);
+       termwinkey = string_to_key(curwin->w_p_twk, TRUE);
     position_cursor(curwin, &curbuf->b_term->tl_cursor_pos);
     may_set_cursor_props(curbuf->b_term);
 
@@ -2049,9 +2052,9 @@ terminal_loop(int blocking)
        if (ctrl_break_was_pressed)
            mch_signal_job(curbuf->b_term->tl_job, (char_u *)"kill");
 #endif
-       /* Was either CTRL-W (termkey) or CTRL-\ pressed?
+       /* Was either CTRL-W (termwinkey) or CTRL-\ pressed?
         * Not in a system terminal. */
-       if ((c == (termkey == 0 ? Ctrl_W : termkey) || c == Ctrl_BSL)
+       if ((c == (termwinkey == 0 ? Ctrl_W : termwinkey) || c == Ctrl_BSL)
 #ifdef FEAT_GUI
                && !curbuf->b_term->tl_system
 #endif
@@ -2085,15 +2088,15 @@ terminal_loop(int blocking)
            }
            else if (c == Ctrl_C)
            {
-               /* "CTRL-W CTRL-C" or 'termkey' CTRL-C: end the job */
+               /* "CTRL-W CTRL-C" or 'termwinkey' CTRL-C: end the job */
                mch_signal_job(curbuf->b_term->tl_job, (char_u *)"kill");
            }
-           else if (termkey == 0 && c == '.')
+           else if (termwinkey == 0 && c == '.')
            {
                /* "CTRL-W .": send CTRL-W to the job */
                c = Ctrl_W;
            }
-           else if (termkey == 0 && c == Ctrl_BSL)
+           else if (termwinkey == 0 && c == Ctrl_BSL)
            {
                /* "CTRL-W CTRL-\": send CTRL-\ to the job */
                c = Ctrl_BSL;
@@ -2110,7 +2113,7 @@ terminal_loop(int blocking)
                term_paste_register(prev_c);
                continue;
            }
-           else if (termkey == 0 || c != termkey)
+           else if (termwinkey == 0 || c != termwinkey)
            {
                stuffcharReadbuff(Ctrl_W);
                stuffcharReadbuff(c);
@@ -2886,9 +2889,9 @@ term_update_window(win_T *wp)
 
     /*
      * If the window was resized a redraw will be triggered and we get here.
-     * Adjust the size of the vterm unless 'termsize' specifies a fixed size.
+     * Adjust the size of the vterm unless 'termwinsize' specifies a fixed size.
      */
-    minsize = parse_termsize(wp, &rows, &cols);
+    minsize = parse_termwinsize(wp, &rows, &cols);
 
     newrows = 99999;
     newcols = 99999;
index 58db1f90a9495b167ad910b415d534bb708dceb1..9d12ea08da81347569970a73ca5e68ae6e516d6b 100644 (file)
@@ -131,7 +131,6 @@ let test_values = {
       \ 'term': [[], []],
       \ 'termguicolors': [[], []],
       \ 'termencoding': [has('gui_gtk') ? [] : ['', 'utf-8'], ['xxx']],
-      \ 'termsize': [['', '24x80', '0x80', '32x0', '0x0'], ['xxx', '80', '8ax9', '24x80b']],
       \ 'termwinsize': [['', '24x80', '0x80', '32x0', '0x0'], ['xxx', '80', '8ax9', '24x80b']],
       \ 'toolbar': [['', 'icons', 'text'], ['xxx']],
       \ 'toolbariconsize': [['', 'tiny', 'huge'], ['xxx']],
index 7065fa051041604b78715b80989cd8f46f3aaa28..3c424a093cba7e3b85c56425d7f7bf8ff0d50730 100644 (file)
@@ -57,7 +57,7 @@ func RunVimInTerminal(arguments, options)
   " Add -v to have gvim run in the terminal (if possible)
   let cmd .= ' -v ' . a:arguments
   let buf = term_start(cmd, {'curwin': 1, 'term_rows': rows, 'term_cols': cols})
-  if &termsize == ''
+  if &termwinsize == ''
     call assert_equal([rows, cols], term_getsize(buf))
   else
     let rows = term_getsize(buf)[0]
index e4fa0c5416c10fd352d4a1cf96c1c730f79ca1f0..a73c485288de819cb7deb93bdbe16a31332c0d56 100644 (file)
@@ -761,6 +761,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1794,
 /**/
     1793,
 /**/