]> granicus.if.org Git - vim/commitdiff
updated for version 7.0170 v7.0170
authorBram Moolenaar <Bram@vim.org>
Wed, 14 Dec 2005 22:08:35 +0000 (22:08 +0000)
committerBram Moolenaar <Bram@vim.org>
Wed, 14 Dec 2005 22:08:35 +0000 (22:08 +0000)
runtime/doc/todo.txt
runtime/doc/version7.txt
src/ex_cmds.c
src/ex_cmds.h

index c0030b0ab9483798fc46bbe386837c85abb18493..5bc0035a44a84b1a3e09f003fdb52a36c6265908 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Dec 13
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Dec 14
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -30,13 +30,12 @@ be worked on, but only if you sponsor Vim development.  See |sponsor|.
                                                        *known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-ml_get error with specific vimrc and lots of plugins. (Tomi Mickelsson)
+Using pipes to decrypt text still doesn't work, can't get the password.
+    :set shell=/bin/sh noshelltemp
+    :%!gpg --decrypt --no-tty --passphrase-fd 2
 
-Win32: preserve the hidden attribute of the viminfo file.
-
-Add ":startgreplace" to do "gR", like ":startreplace" does "R".
-
-Alt-mousekey is currently ignored.  Use it for Visual/select block?
+When inside input() and using "CTRL-R =" causing an exception the command line
+isn't abandoned. (Yukihiro Nakadaira)
 
 When 'delcombine' is set in Select mode before a character with a combining
 char the combining char is deleted when it shouldn't. (Tony Mechelynck, Nov
index c598635a1367c27380ccfc6c639e291a0e51c7d5..afc3497df57ac145c856d33474f7d0407ecd4bce 100644 (file)
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Dec 13
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Dec 14
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -367,6 +367,9 @@ CTRL-W <Enter>              In the quickfix window: opens a new window to show the
 
 |at| and |it| text objects select a block of text between HTML or XML tags.
 
+<A-LeftMouse> ('mousemodel' "popup" or "popup-setpos")
+<A-RightMouse> ('mousemodel' "extend")
+                       Make a blockwise selection. |<A-LeftMouse>|
 
 Insert mode commands: ~
 
@@ -407,6 +410,7 @@ Ex commands: ~
 Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
 
 |:startreplace|                Start Replace mode. (Charles Campbell)
+|:startgreplace|       Start Virtual Replace mode.
 
 |:0file|               Removes the name of the buffer. (Charles Campbell)
 
@@ -431,6 +435,7 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
 |:cexpr|               Read error messages from a Vim expression (Yegappan
                        Lakshmanan).
 
+
 Ex command modifiers: ~
 
 |:keepalt|             Do not change the alternate file.
@@ -902,6 +907,9 @@ When starting to edit a new file and the directory for the file doesn't exist
 then Vim will report "[New DIRECTORY]" instead of "[New File] to give the user
 a hint that something might be wrong.
 
+Win32: Preserve the hidden attribute of the viminfo file.
+
+
 ==============================================================================
 COMPILE TIME CHANGES                                   *compile-changes-7*
 
index 1dcbb2be09391f3d5c6afa7502ad8689777c6233..1d8348d297ce45e3e4cb9e01e7a31d476f64cf25 100644 (file)
@@ -1656,6 +1656,9 @@ write_viminfo(file, forceit)
     int                shortname = FALSE;      /* use 8.3 file name */
     struct stat        st_old;         /* mch_stat() of existing viminfo file */
 #endif
+#ifdef WIN3264
+    long       perm = -1;
+#endif
 
     if (no_viminfo())
        return;
@@ -1713,6 +1716,10 @@ write_viminfo(file, forceit)
            goto end;
        }
 #endif
+#ifdef WIN3264
+       /* Get the file attributes of the existing viminfo file. */
+       perm = mch_getperm(fname);
+#endif
 
        /*
         * Make tempname.
@@ -1803,15 +1810,16 @@ write_viminfo(file, forceit)
            int fd;
 
            /* Use mch_open() to be able to use O_NOFOLLOW and set file
-            * protection same as original file, but strip s-bit. */
+            * protection:
+            * Unix: same as original file, but strip s-bit.
+            * Others: r&w for user only. */
 #ifdef UNIX
            fd = mch_open((char *)tempname,
                    O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW,
                                       (int)((st_old.st_mode & 0777) | 0600));
 #else
            fd = mch_open((char *)tempname,
-                   O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW,
-                                      0600);   /* r&w for user only */
+                   O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW, 0600);
 #endif
            if (fd < 0)
                fp_out = NULL;
@@ -1866,12 +1874,21 @@ write_viminfo(file, forceit)
     if (fp_in != NULL)
     {
        fclose(fp_in);
+
        /*
-        * In case of an error, don't overwrite the original viminfo file.
+        * In case of an error keep the original viminfo file.
+        * Otherwise rename the newly written file.
         */
        if (viminfo_errcnt || vim_rename(tempname, fname) == -1)
            mch_remove(tempname);
+
+#ifdef WIN3264
+       /* If the viminfo file was hidden then also hide the new file. */
+       if (perm > 0 && (perm & FILE_ATTRIBUTE_HIDDEN))
+           mch_hide(fname);
+#endif
     }
+
 end:
     vim_free(fname);
     vim_free(tempname);
index 87c9e6a232b5ab8ca90707b8ab4f24f2b9db6cff..4c4ab6ff0744490f82868c9b48ff49d8234d9341 100644 (file)
@@ -781,6 +781,8 @@ EX(CMD_stag,                "stag",         ex_stag,
                        RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
 EX(CMD_startinsert,    "startinsert",  ex_startinsert,
                        BANG|TRLBAR|CMDWIN),
+EX(CMD_startgreplace,  "startgreplace", ex_startinsert,
+                       BANG|TRLBAR|CMDWIN),
 EX(CMD_startreplace,   "startreplace", ex_startinsert,
                        BANG|TRLBAR|CMDWIN),
 EX(CMD_stopinsert,     "stopinsert",   ex_stopinsert,