]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.0207
authorBram Moolenaar <Bram@vim.org>
Sat, 25 Feb 2006 21:47:41 +0000 (21:47 +0000)
committerBram Moolenaar <Bram@vim.org>
Sat, 25 Feb 2006 21:47:41 +0000 (21:47 +0000)
runtime/doc/usr_08.txt
runtime/syntax/vim.vim
src/gui.c
src/keymap.h

index c4212ef10c0750172bf822d9091ec9106b444083..160bf6590be5a35f4b3108b4e188617a96e7a253 100644 (file)
@@ -1,4 +1,4 @@
-*usr_08.txt*   For Vim version 7.0aa.  Last change: 2006 Feb 24
+*usr_08.txt*   For Vim version 7.0aa.  Last change: 2006 Feb 25
 
                     VIM USER MANUAL - by Bram Moolenaar
 
@@ -520,7 +520,7 @@ This will edit the file "thatfile" in a window that occupies the whole Vim
 window.  And you will notice a bar at the top with the two file names:
 
        +----------------------------------+
-       |_thisfile_| thatfile ____________X|
+       | thisfile | /thatfile/ __________X|    (thatfile is bold)
        |/* thatfile */                    |
        |that                              |
        |that                              |
@@ -537,7 +537,7 @@ eachother, with a tab sticking out of each page showing the file name.
 Now use the mouse to click on "thisfile" in the top line.  The result is
 
        +----------------------------------+
-       | thisfile |_thatfile_____________X|
+       | /thisfile/ | thatfile __________X|    (thisfile is bold)
        |/* thisfile */                    |
        |this                              |
        |this                              |
@@ -559,7 +559,7 @@ This makes a new tab page with one window that is editing the same buffer as
 the window we were in:
 
        +-------------------------------------+
-       |_thisfile_| thisfile | _thatfile____X|
+       | thisfile | /thisfile/ | thatfile __X|   (thisfile is bold)
        |/* thisfile */                       |
        |this                                 |
        |this                                 |
index 0e659a12e08db031bf2ccd2765d9ba1e0b2b1909..f480301e39c0a22cb500fa83757c5a60b7cb6c78 100644 (file)
@@ -128,7 +128,7 @@ syn match  vimOper  "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}"       skipwhite n
 syn match  vimOper     "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
 syn region vimOperParen        matchgroup=vimOper start="(" end=")" contains=@vimOperGroup
 syn region vimOperParen        matchgroup=vimSep  start="{" end="}" contains=@vimOperGroup nextgroup=vimVar
-syn match  vimOperOk   "\<[aiAIrR][()]"
+syn match  vimOperOk   "\<[aiAIrR][()]" contained
 if !exists("g:vimsyntax_noerror")
  syn match  vimOperError       ")"
 endif
index 9b97ffd2fca76d49c6b85789ca618dd3ff607d2d..b3d57db2e65432ef54a7584a55d6420dee51313d 100644 (file)
--- a/src/gui.c
+++ b/src/gui.c
@@ -3199,7 +3199,8 @@ gui_init_which_components(oldval)
        fix_size = FALSE;
 
 #ifdef FEAT_GUI_TABLINE
-       /* Update the tab line, it may appear or disappear. */
+       /* Update the GUI tab line, it may appear or disappear.  This may
+        * cause the non-GUI tab line to disappear or appear. */
        using_tabline = gui_has_tabline();
        if (prev_has_tabline != using_tabline)
        {
@@ -3279,7 +3280,6 @@ gui_init_which_components(oldval)
        if (need_set_size)
        {
 #ifdef FEAT_GUI_GTK
-           long    r = Rows;
            long    c = Columns;
 #endif
            /* Adjust the size of the window to make the text area keep the
@@ -3295,13 +3295,20 @@ gui_init_which_components(oldval)
             * character here to avoid this effect.
             * If you remove this, please test this command for resizing
             * effects (with optional left scrollbar): ":vsp|q|vsp|q|vsp|q".
-            * Don't do this while starting up though. */
+            * Don't do this while starting up though.
+            * And don't change Rows, it may have be reduced intentionally
+            * when adding menu/toolbar/tabline. */
            if (!gui.starting)
                (void)char_avail();
-           Rows = r;
            Columns = c;
 #endif
        }
+#ifdef FEAT_WINDOWS
+       /* When the console tabline appears or disappears the window positions
+        * change. */
+       if (firstwin->w_winrow != tabline_height())
+           shell_new_rows();   /* recompute window positions and heights */
+#endif
     }
 }
 
@@ -3359,24 +3366,57 @@ get_tabline_label(tp)
     int                wincount;
     win_T      *wp;
 
-    /* Get the buffer name into NameBuff[] */
-    get_trans_bufname(tp == curtab ? curbuf : tp->tp_curwin->w_buffer);
+    /* Use 'guitablabel' if it's set. */
+    if (*p_gtl != NUL)
+    {
+       int     use_sandbox = FALSE;
+       int     save_called_emsg = called_emsg;
+       char_u  res[MAXPATHL];
 
-    wp = (tp == curtab) ? firstwin : tp->tp_firstwin;
-    for (wincount = 0; wp != NULL; wp = wp->w_next, ++wincount)
-       if (bufIsChanged(wp->w_buffer))
-           modified = TRUE;
-    if (modified || wincount > 1)
+       called_emsg = FALSE;
+
+       printer_page_num = tabpage_index(tp);
+# ifdef FEAT_EVAL
+       set_vim_var_nr(VV_LNUM, printer_page_num);
+       use_sandbox = was_set_insecurely((char_u *)"guitablabel", 0);
+# endif
+       /* Can't use NameBuff directly, build_stl_str_hl() uses it. */
+       build_stl_str_hl(tp == curtab ? curwin : tp->tp_curwin,
+               res, MAXPATHL, p_gtl, use_sandbox,
+               0, (int)Columns, NULL, NULL);
+       STRCPY(NameBuff, res);
+
+       if (called_emsg)
+       {
+           set_string_option_direct((char_u *)"guitablabel", -1,
+                                                     (char_u *)"", OPT_FREE);
+# ifdef FEAT_EVAL
+           set_option_scriptID((char_u *)"guitablabel", SID_ERROR);
+# endif
+       }
+       called_emsg |= save_called_emsg;
+    }
+    else
     {
-       if (wincount > 1)
-           vim_snprintf((char *)buf, sizeof(buf), "%d", wincount);
-       else
-           buf[0] = NUL;
-       if (modified)
-           STRCAT(buf, "+");
-       STRCAT(buf, " ");
-       mch_memmove(NameBuff + STRLEN(buf), NameBuff, STRLEN(NameBuff) + 1);
-       mch_memmove(NameBuff, buf, STRLEN(buf));
+       /* Get the buffer name into NameBuff[] */
+       get_trans_bufname(tp == curtab ? curbuf : tp->tp_curwin->w_buffer);
+
+       wp = (tp == curtab) ? firstwin : tp->tp_firstwin;
+       for (wincount = 0; wp != NULL; wp = wp->w_next, ++wincount)
+           if (bufIsChanged(wp->w_buffer))
+               modified = TRUE;
+       if (modified || wincount > 1)
+       {
+           if (wincount > 1)
+               vim_snprintf((char *)buf, sizeof(buf), "%d", wincount);
+           else
+               buf[0] = NUL;
+           if (modified)
+               STRCAT(buf, "+");
+           STRCAT(buf, " ");
+           mch_memmove(NameBuff + STRLEN(buf), NameBuff, STRLEN(NameBuff) + 1);
+           mch_memmove(NameBuff, buf, STRLEN(buf));
+       }
     }
 }
 
index 3ffea931976ae55923b06f25dbe3400c4f3c76e0..34521e4034d1392ffe385b76ed1676e619902461 100644 (file)
 /* Used for click in a tab pages label. */
 #define KS_TABLINE             240
 
+/* Used for menu in a tab pages line. */
+#define KS_TABMENU             239
+
 /*
  * Filler used after KS_SPECIAL and others
  */
@@ -403,6 +406,7 @@ enum key_extra
 #define K_TEAROFF      TERMCAP2KEY(KS_TEAROFF, KE_FILLER)
 
 #define K_TABLINE      TERMCAP2KEY(KS_TABLINE, KE_FILLER)
+#define K_TABMENU      TERMCAP2KEY(KS_TABMENU, KE_FILLER)
 
 /*
  * Symbols for pseudo keys which are translated from the real key symbols