]> granicus.if.org Git - vim/commitdiff
patch 7.4.1161 v7.4.1161
authorBram Moolenaar <Bram@vim.org>
Sat, 23 Jan 2016 22:02:34 +0000 (23:02 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 23 Jan 2016 22:02:34 +0000 (23:02 +0100)
Problem:    ":argadd" without argument is supposed to add the current buffer
            name to the arglist.
Solution:   Make it work as documented. (Coot, closes #577)

src/ex_cmds.h
src/ex_cmds2.c
src/testdir/test_arglist.vim
src/version.c

index 4b5f68453afb0942fc7b12996e2ec3863bb7de43..78c0afa63e4e5c6d318bd94e950d5478d9f63f0e 100644 (file)
@@ -128,7 +128,7 @@ EX(CMD_args,                "args",         ex_args,
                        BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
                        ADDR_LINES),
 EX(CMD_argadd,         "argadd",       ex_argadd,
-                       BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR,
+                       BANG|RANGE|NOTADR|ZEROR|FILES|TRLBAR,
                        ADDR_ARGUMENTS),
 EX(CMD_argdelete,      "argdelete",    ex_argdelete,
                        BANG|RANGE|NOTADR|FILES|TRLBAR,
index 59bf945894a073671586806f6336c52850923f59..bc7193d12208d956c706255edfc8abb730b6e307 100644 (file)
@@ -2089,6 +2089,16 @@ do_arglist(str, what, after)
     int                match;
 #endif
 
+    /*
+     * Set default argument for ":argadd" command.
+     */
+    if (what == AL_ADD && *str == NUL)
+    {
+       if (curbuf->b_ffname == NULL)
+           return FAIL;
+       str = curbuf->b_fname;
+    }
+
     /*
      * Collect all file name arguments in "new_ga".
      */
index 281ac7ad44a5a652df28a27e3ff4f4526b4080ca..42443442700806d11db7dec53cff54b68794bac9 100644 (file)
@@ -57,6 +57,17 @@ func Test_argadd()
   +2argadd y
   call Assert_argc(['a', 'b', 'c', 'x', 'y'])
   call assert_equal(1, argidx())
+
+  %argd
+  edit d
+  arga
+  call assert_equal(len(argv()), 1)
+  call assert_equal(get(argv(), 0, ''), 'd')
+
+  %argd
+  new
+  arga
+  call assert_equal(len(argv()), 0)
 endfunc
 
 func Init_abc()
index 25ba3b97d7162d622dd800d4cb5984d92f71949e..ca83550cd425a3f3ef8c4d15074f989c44ab8474 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1161,
 /**/
     1160,
 /**/