According to :help getregtype(), it returns 0 for empty or unknown
register. But it returns "" for empty register. And it returns unnamed
register's type for unknown register.
Steps to reproduce:
$ vim -u NONE -i NONE
:" test for empty register
:echo getregtype('a') is ''
:" test for unknown register
:echo getregtype('^') is ''
:call setreg('"', 'v')
:echo getregtype('^') is ''
Result:
1
1
0
Expected:
1
1
1
I think it should be fixed as following. Please check it.
diff -r 2f856c7c1d43 runtime/doc/eval.txt
--- a/runtime/doc/eval.txt Sun Dec 15 10:02:33 2013 +0100
+++ b/runtime/doc/eval.txt Thu Dec 26 21:40:45 2013 +0900
@@ -3460,7 +3460,7 @@
"v" for |characterwise| text
"V" for |linewise| text
"<CTRL-V>{width}" for |blockwise-visual| text
- 0 for an empty or unknown register
+ "" for an empty or unknown register
<CTRL-V> is one character with value 0x16.
If {regname} is not specified, |v:register| is used.
diff -r 2f856c7c1d43 src/ops.c
--- a/src/ops.c Sun Dec 15 10:02:33 2013 +0100
+++ b/src/ops.c Thu Dec 26 21:40:45 2013 +0900
@@ -6240,7 +6240,9 @@
regname = may_get_selection(regname);
#endif
- /* Should we check for a valid name? */
+ if (regname != NUL && !valid_yank_reg(regname, FALSE))
+ return MAUTO;
+
get_yank_register(regname, FALSE);
if (y_current->y_array != NULL)
--
Yukihiro Nakadaira - [email protected]
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.