]> granicus.if.org Git - vim/commitdiff
updated for version 7.0026 v7.0026
authorBram Moolenaar <Bram@vim.org>
Wed, 29 Dec 2004 21:03:02 +0000 (21:03 +0000)
committerBram Moolenaar <Bram@vim.org>
Wed, 29 Dec 2004 21:03:02 +0000 (21:03 +0000)
runtime/doc/quickfix.txt
runtime/doc/starting.txt
runtime/doc/todo.txt
runtime/doc/usr_05.txt
runtime/doc/usr_12.txt
runtime/doc/version7.txt
src/eval.c
src/main.c
src/memline.c
src/proto/quickfix.pro

index 23a7146616b04c33b1a5fa6d4087a7d9b346c3c7..4aeafdd08a999e59f857757e7b13a7cc61c0aa25 100644 (file)
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.0aa.  Last change: 2004 Dec 27
+*quickfix.txt*  For Vim version 7.0aa.  Last change: 2004 Dec 28
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -281,10 +281,13 @@ advantage of the internal grep is that it works on all systems and uses the
 powerful Vim search patterns.  An external grep program can be used when the
 Vim grep does not do what you want.
 
-The internal method may be a bit slower, because files are read into memory.
-The advantage is that line separators and encoding are automatically
-recognized, as if a file is being edited.  And multi-line patterns can be
-used.
+The internal method will be slower, because files are read into memory.  The
+advantages are:
+- Line separators and encoding are automatically recognized, as if a file is
+  being edited.
+- Uses Vim search patterns.  Multi-line patterns can be used.
+- When plugins are enabled: compressed and remote files can be searched.
+       |gzip| |netrw|
 
 
 5.1 using Vim's internal grep
@@ -294,11 +297,22 @@ used.
                        Search for {pattern} in the files {file} ... and set
                        the error list to the matches.
                        {pattern} if a Vim search pattern.  Instead of
-                       enclosing it in / any character can be used, so long
-                       as it does not appear in {pattern}.
-
+                       enclosing it in / any non-ID character |'isident'|
+                       can be used, so long as it does not appear in
+                       {pattern}.
+                       Examples: >
+                               :vimgrep /an error/ *.c
+                               :vimgrep /\<FileName\>/ *.h include/*
+
+:vim[grep][!] {pattern} {file} ...
+                       Like above, but instead of enclosing the pattern in a
+                       non-ID character use a white-separated pattern.  The
+                       pattern must start with an ID character.
+                       Example: >
+                               :vimgrep Error *.c
+<
                                                *:vimgrepa* *:vimgrepadd*
-:vimgrepa[dd][!] /{pattern}/ {file} ...
+:vimgrepa[dd][!] [/]{pattern}[/] {file} ...
                        Just like ":vimgrep", but instead of making a new list
                        of errors the matches are appended to the current
                        list.
index 5f3f9e97d3606121bcee5e19dabbaedd4be4e1ba..cc6abf63ce30e126811739f0f9b1a71f42256ad5 100644 (file)
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.0aa.  Last change: 2004 Jul 13
+*starting.txt*  For Vim version 7.0aa.  Last change: 2004 Dec 29
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -423,8 +423,8 @@ a slash.  Thus "-R" means recovery and "-/R" readonly.
                                                        *-U* *E230*
 -U {gvimrc}    The file "gvimrc" is read for initializations when the GUI
                starts.  Other GUI initializations are skipped. When {gvimrc}
-               is equal to "NONE", no file is read for initializations at
-               all.
+               is equal to "NONE", no file is read for GUI initializations at
+               all.  |gui-init|
                Exception: Reading the system-wide menu file is always done.
                {not in Vi}
 
index 7abbd5bdcd873ed0a85e4dd495c57389f89d0b89..abc1db47fc87e211faf0f887d52347734eb67467 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2004 Dec 27
+*todo.txt*      For Vim version 7.0aa.  Last change: 2004 Dec 29
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -30,48 +30,37 @@ be worked on, but only if you sponsor Vim development.  See |sponsor|.
                                                        *known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Python 2.4 breaks uploading with rsync, 2.3 is OK.
-
--   Use a builtin grep command for ":grep"?  Makes it possible to add the
-    column number.
-    Patch from Yegappan Lakshmanan, Nov 4.
-Don't expand wildcards in pattern (first arg)
-completion for all files after first arg.
-Use a buffer to load the file, so that gzip files can be searched and long
-lines work.
-
-Patch for mch_FullName() also in Vim 6.3?  os_mswin.c
-
-Win32: "gvim -V100" should use dialog with scrollbar.  Using
-gui_mch_dialog() would be good, but need to move display_errors() to after
-creating the window, so that s_hwnd is valid.
-How to add a scrollbar to the dialog?
-
-Win32: tearoff menu window should have a scrollbar when it's taller than the
-screen.
+Go through patches from Martin Dalecki.  /tmp/dalecki/README
+
+Awaiting response:
+-   Patch for mch_FullName() also in Vim 6.3?  os_mswin.c
+-   Win32: "gvim -V100" should use dialog with scrollbar.  Using
+    gui_mch_dialog() would be good, but need to move display_errors() to after
+    creating the window, so that s_hwnd is valid.
+    How to add a scrollbar to the dialog?
+-   Win32: tearoff menu window should have a scrollbar when it's taller than
+    the screen.
+-   Included NetBeans patches (Gordon Prieur, Oct 20)
+       See two messages for list of changed files.  Additionally:
+           doc/eval.txt
+       Docs for message E680.
+       Docs for ":nbkey".
+       Asked Gordon to send the differences again, some parts apparently are
+       missing.
+-   Browsefilter support for KDE. (Dan Sharp, 2004 July)
+-   Better configure check for KDE include files from Dan Sharp.
 
-Included NetBeans patches (Gordon Prieur, Oct 20)
-    See two messages for list of changed files.  Additionally:
-       doc/eval.txt
-    Docs for message E680.
-    Docs for ":nbkey".
-    Asked Gordon to send the differences again, some parts apparently are
-    missing.
 
 PLANNED FOR VERSION 7.0:
 
--   Drop the kvim support?  There is no maintenance and "yzis" is supposed to
-    replace it.
--   In the kvim/KDE source files fix the formatting.
--   KDE version is called "kvim".  Make it "gvim", like the others?
--   Better configure check for KDE include files from Dan Sharp.
--   KDE GUI Input method patch. (Yasuhiro Matsumoto) (upd. Oct 25 2004)
-
-After including patches:
 -   For string variables, use length instead of NUL termination?
        + can include NUL characters
        - setline() will have problems with NL vs NUL.
--   new DATA TYPES: lists, dictionaries and function references.
+-   new DATA TYPES:
+       - None?  (or use empty string?)
+       - list
+       - dictionary
+       - function reference
        Check old patch from Robert Webb for array support.
     Add type checking?  See ~/vim/ideas.txt.
 -   Add SPELLCHECKER, with easy to add support for many languages.
@@ -427,8 +416,9 @@ GTK+ GUI known bugs:
 7   DND doesn't work with KDE (also with GTK 1).
 
 KDE GUI known bugs:
--   The default font is ugly.  bold text isn't displayed correctly.
-    (bold characters are half the width of normal characters)
+-   There is no active maintenance and "yzis" is supposed to replace it.
+-   With the default 'guifont' value bold text differs in size from normal
+    text, causing the display to be messed up.
 -   Error messages when starting up.  The "tip of the day" box is empty.
 -   Encoding of menu items needs to be converted. (Yasuhiro Matsumoto)
 
index 42346f22f3333b115203fecf65e5ece73bf4555c..2aa2b92b8735d8a76ff63ae21f2982ea5ed0eec0 100644 (file)
@@ -1,4 +1,4 @@
-*usr_05.txt*   For Vim version 7.0aa.  Last change: 2004 Aug 27
+*usr_05.txt*   For Vim version 7.0aa.  Last change: 2004 Dec 29
 
                     VIM USER MANUAL - by Bram Moolenaar
 
@@ -150,12 +150,11 @@ it worked before Vim 5.0.  Otherwise the "Q" command starts Ex mode, but you
 will not need it.
 
 >
-       vnoremap p <Esc>:let current_reg = @"<CR>gvs<C-R>=current_reg<CR><Esc>
+       vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR>
 
-This is a complicated mapping.  It will not be explained how it works here.
-What it does is to make "p" in Visual mode overwrite the selected text with
-the previously yanked text.  You can see that mappings can be used to do quite
-complicated things.  Still, it is just a sequence of commands that are
+This mapping yanks the visually selected text and searches for it in C files.
+This is a complicated mapping.  You can see that mappings can be used to do
+quite complicated things.  Still, it is just a sequence of commands that are
 executed like you typed them.
 
 >
index 6abf24659c97852d9fe473756ab30dd4cf8f7769..24d6101e34b617449c6b6508d20301a0bdfbfaa3 100644 (file)
@@ -1,4 +1,4 @@
-*usr_12.txt*   For Vim version 7.0aa.  Last change: 2004 May 01
+*usr_12.txt*   For Vim version 7.0aa.  Last change: 2004 Dec 29
 
                     VIM USER MANUAL - by Bram Moolenaar
 
@@ -345,7 +345,7 @@ program files, for example, enter the following command: >
 This causes Vim to search for the string "error_string" in all the specified
 files (*.c).  The editor will now open the first file where a match is found
 and position the cursor on the first matching line.  To go to the next
-matching line (no matter in what it is file), use the ":cnext" command.  To go
+matching line (no matter in what file it is), use the ":cnext" command.  To go
 to the previous match, use the ":cprev" command.  Use ":clist" to see all the
 matches and where they are.
    The ":grep" command uses the external commands grep (on Unix) or findstr
index 39d0946575e118411ecbe26012f367f15805811c..cb76e93796d03e98155600930c6cec303377f040 100644 (file)
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2004 Dec 24
+*version7.txt*  For Vim version 7.0aa.  Last change: 2004 Dec 28
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -20,6 +20,7 @@ NEW FEATURES                          |new-7|
 New data types                         |new-data-types|
 KDE support                            |new-KDE|
 Translated manual pages                        |new-manpage-trans|
+Internal grep                          |new-vimgrep|
 Various new items                      |new-items-7|
 
 IMPROVEMENTS                           |improvements-7|
@@ -133,6 +134,16 @@ Italian (translated by Antonio Colombo).  More languages will follow.
 The Unix Makefile installs the Italian manual pages in .../man/it/man1/.
 
 
+Internal grep                                          *new-vimgrep*
+-------------
+
+The ":vimgrep" command can be used to search for a pattern in a list of files.
+This is like the ":grep" command, but no external program is used.  Besides
+better portability, handling of different file encodings and using multi-line
+patterns, this also allows grepping in compressed and remote files.
+|:vimgrep|.
+
+
 Various new items                                      *new-items-7*
 -----------------
 
index dcd86e519ac5c2206994b9a9b94ecf6788c1422c..13a5b1bf6b37e13e3d3b5dfe8b71188b1692df27 100644 (file)
@@ -3427,25 +3427,12 @@ find_buffer(avar)
     VAR                avar;
 {
     buf_T      *buf = NULL;
-    char_u     *name;
 
     if (avar->var_type == VAR_NUMBER)
        buf = buflist_findnr((int)avar->var_val.var_number);
     else if (avar->var_val.var_string != NULL)
     {
-       /* First make the name into a full path name */
-       name = FullName_save(avar->var_val.var_string,
-#ifdef UNIX
-               TRUE        /* force expansion, get rid of symbolic links */
-#else
-               FALSE
-#endif
-               );
-       if (name != NULL)
-       {
-           buf = buflist_findname(name);
-           vim_free(name);
-       }
+       buf = buflist_findname_exp(avar->var_val.var_string);
        if (buf == NULL)
        {
            /* No full path name match, try a match with a URL or a "nofile"
index d71ef605fd0180dd6622078caf0f30b36f2cd9ab..78639a2c22af1af91b2addf7d0022138c9544d27 100644 (file)
@@ -141,7 +141,8 @@ main
     int                full_path = FALSE;
 #endif
 #ifdef FEAT_CLIENTSERVER
-    char_u     *serverStr = NULL;
+    char_u     *serverStr = NULL;      /* remote server command */
+    char_u     *serverStrEnc = NULL;   /* encoding of serverStr */
     char_u     *serverName_arg = NULL; /* cmdline arg for server name */
     int                serverArg = FALSE;      /* TRUE when argument for a server */
     char_u     *servername = NULL;     /* allocated name for our server */
@@ -378,10 +379,16 @@ main
 
        /*
         * When a command server argument was found, execute it.  This may
-        * exit Vim when it was successful.
+        * exit Vim when it was successful.  Otherwise it's executed further
+        * on.  Remember the encoding used here in "serverStrEnc".
         */
        if (serverArg)
+       {
            cmdsrv_main(&argc, argv, serverName_arg, &serverStr);
+# ifdef FEAT_MBYTE
+           serverStrEnc = vim_strsave(p_enc);
+# endif
+       }
 
        /* If we're still running, get the name to register ourselves.
         * On Win32 can register right now, for X11 need to setup the
@@ -1662,7 +1669,10 @@ scripterror:
      * else we would have exited above).
      */
     if (serverStr != NULL)
-       server_to_input_buf(serverStr);
+    {
+       server_to_input_buf(serverConvert(serverStrEnc, serverStr, &p));
+       vim_free(p);
+    }
 #endif
 
     /*
index 13f35c2afaa192813d4da513789de116bf762473..e18b8954533a55484f28cdf5aae8067c9984b9e9 100644 (file)
@@ -425,7 +425,8 @@ ml_setname(buf)
     {
        if (*dirp == NUL)           /* tried all directories, fail */
            break;
-       fname = findswapname(buf, &dirp, mfp->mf_fname); /* alloc's fname */
+       fname = findswapname(buf, &dirp, mfp->mf_fname);
+                                                   /* alloc's fname */
        if (fname == NULL)          /* no file name found for this dir */
            continue;
 
@@ -529,7 +530,7 @@ ml_open_file(buf)
        /* There is a small chance that between chosing the swap file name and
         * creating it, another Vim creates the file.  In that case the
         * creation will fail and we will use another directory. */
-       fname = findswapname(buf, &dirp, NULL); /* allocates fname */
+       fname = findswapname(buf, &dirp, NULL); /* allocates fname */
        if (fname == NULL)
            continue;
        if (mf_open_file(mfp, fname) == OK)     /* consumes fname! */
@@ -3731,7 +3732,8 @@ findswapname(buf, dirp, old_fname)
             * viewing a help file or when the path of the file is different
             * (happens when all .swp files are in one directory).
             */
-           if (!recoverymode && buf->b_fname != NULL && !buf->b_help)
+           if (!recoverymode && buf->b_fname != NULL
+                               && !buf->b_help && !(buf->b_flags & BF_DUMMY))
            {
                int             fd;
                struct block0   b0;
index adec72f0fedf5a31d45acd9329ffc488ae71e3fd..dbdca5f092b375250ceb2af546047ba7ba4a9ec9 100644 (file)
@@ -13,7 +13,7 @@ int bt_nofile __ARGS((buf_T *buf));
 int bt_dontwrite __ARGS((buf_T *buf));
 int bt_dontwrite_msg __ARGS((buf_T *buf));
 int buf_hide __ARGS((buf_T *buf));
-int grep_internal __ARGS((exarg_T *eap));
+int grep_internal __ARGS((cmdidx_T cmdidx));
 void ex_make __ARGS((exarg_T *eap));
 void ex_cc __ARGS((exarg_T *eap));
 void ex_cnext __ARGS((exarg_T *eap));