]> granicus.if.org Git - vim/commitdiff
patch 8.2.1356: Vim9: cannot get the percent register v8.2.1356
authorBram Moolenaar <Bram@vim.org>
Sun, 2 Aug 2020 15:33:26 +0000 (17:33 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 2 Aug 2020 15:33:26 +0000 (17:33 +0200)
Problem:    Vim9: cannot get the percent register.
Solution:   Check for readable registers instead of writable. (closes #6566)

src/testdir/test_vim9_expr.vim
src/version.c
src/vim9compile.c

index 226db83f8086b55f39cb48d527a443f56e776575..ef8797f8f8fe658556aafd894e4f0e89cb69673f 100644 (file)
@@ -1430,6 +1430,15 @@ enddef
 def Test_expr7_register()
   @a = 'register a'
   assert_equal('register a', @a)
+
+  let fname = expand('%')
+  assert_equal(fname, @%)
+
+  feedkeys(":echo 'some'\<CR>", "xt")
+  assert_equal("echo 'some'", @:)
+
+  normal axyz
+  assert_equal("xyz", @.)
 enddef
 
 def Test_expr7_namespace()
index c27c94a2cce6bd8963276d822f7bbcab7433faf7..b04f4feb8d3b7ebd5b6d4f6369f399937803bf3e 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1356,
 /**/
     1355,
 /**/
index 5999c39614a796b436c07038fa3820ef26e97bf8..cfd4ff19060e064cba0f85fe1821249f17de11a1 100644 (file)
@@ -3565,7 +3565,7 @@ compile_get_register(char_u **arg, cctx_T *cctx)
        semsg(_(e_syntax_at), *arg - 1);
        return FAIL;
     }
-    if (!valid_yank_reg(**arg, TRUE))
+    if (!valid_yank_reg(**arg, FALSE))
     {
        emsg_invreg(**arg);
        return FAIL;