patch 9.1.0122: Some minor issues with the getregion() function
Commit:
https://github.com/vim/vim/commit/9ca335aad295fdaf4b75d3969b093422c1cc48ee
Author: Maxim Kim <[email protected]>
Date: Wed Feb 21 19:48:37 2024 +0100
patch 9.1.0122: Some minor issues with the getregion() function
Problem: Some minor issues with the getregion() function
Solution: Fix examples in the help, use OP_NOP op_type and MBLOCK
as motion_type in f_getreg(), update vim syntax to
for getregion() (Maxim Kim)
```
:xnoremap <CR>
\ <Cmd>echow getregion('v', '.', mode())<CR>
```
`echo` while in visual mode has no visible effect, thus people trying
example might be frustrated as it looks like nothing happens.
So the option is to change it to `echow` or `echom`.
With `echom` it is again has no visible effect but one can at least inspect
`:messages`.
On the other hand `echow` showes selected text in a popup window.
```
Can also be used as a |method|: >
'.'->getregion("'a', 'v')
```
Here is the typo, which makes example invalid, should be `("'a", ...`
closes: #14064
Signed-off-by: Maxim Kim <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 93b300018..2dc8f615f 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt* For Vim version 9.1. Last change: 2024 Feb 20
+*builtin.txt* For Vim version 9.1. Last change: 2024 Feb 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4300,10 +4300,10 @@ getregion({pos1}, {pos2}, {type})
*getregion()*
Examples: >
:xnoremap <CR>
- \ <Cmd>echo getregion('v', '.', mode())<CR>
+ \ <Cmd>echow getregion('v', '.', mode())<CR>
<
Can also be used as a |method|: >
- '.'->getregion("'a', 'v')
+ '.'->getregion("'a", 'v')
<
getregtype([{regname}]) *getregtype()*
The result is a String, which is type of register {regname}.
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 0f9967421..978cd0e31 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -3,7 +3,7 @@
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
" Doug Kearns <[email protected]>
" URL: https://github.com/vim-jp/syntax-vim-ex
-" Last Change: Feb 18, 2024
+" Last Change: Feb 21, 2024
" Former Maintainer: Charles E. Campbell
" Base File URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
" Base File Version: 9.0-25
@@ -110,12 +110,12 @@ syn case match
" GEN_SYN_VIM: vimFuncName, START_STR='syn keyword vimFuncName contained',
END_STR=''
syn keyword vimFuncName contained abs acos add and append appendbufline argc
argidx arglistid argv asin assert_beeps assert_equal assert_equalfile
assert_exception assert_fails assert_false assert_inrange assert_match
assert_nobeep assert_notequal assert_notmatch assert_report assert_true atan
atan2 autocmd_add autocmd_delete autocmd_get balloon_gettext balloon_show
balloon_split blob2list browse browsedir bufadd bufexists buflisted bufload
bufloaded bufname bufnr bufwinid bufwinnr byte2line byteidx byteidxcomp call
ceil ch_canread ch_close ch_close_in ch_evalexpr ch_evalraw ch_getbufnr
ch_getjob ch_info ch_log ch_logfile ch_open ch_read ch_readblob ch_readraw
ch_sendexpr ch_sendraw ch_setoptions ch_status changenr char2nr charclass
charcol charidx chdir cindent
syn keyword vimFuncName contained clearmatches col complete complete_add
complete_check complete_info confirm copy cos cosh count cscope_connection
cursor debugbreak deepcopy delete deletebufline did_filetype diff diff_filler
diff_hlID digraph_get digraph_getlist digraph_set digraph_setlist echoraw empty
environ err_teapot escape eval eventhandler executable execute exepath exists
exists_compiled exp expand expandcmd extend extendnew feedkeys filereadable
filewritable filter finddir findfile flatten flattennew float2nr floor fmod
fnameescape fnamemodify foldclosed foldclosedend foldlevel foldtext
foldtextresult foreach foreground fullcommand funcref function garbagecollect
get getbufinfo getbufline getbufoneline getbufvar getcellwidths getchangelist
getchar getcharmod
-syn keyword vimFuncName contained getcharpos getcharsearch getcharstr
getcmdcompltype getcmdline getcmdpos getcmdscreenpos getcmdtype getcmdwintype
getcompletion getcurpos getcursorcharpos getcwd getenv getfontname getfperm
getfsize getftime getftype getimstatus getjumplist getline getloclist
getmarklist getmatches getmousepos getmouseshape getpid getpos getqflist getreg
getreginfo getregtype getscriptinfo gettabinfo gettabvar gettabwinvar
gettagstack gettext getwininfo getwinpos getwinposx getwinposy getwinvar glob
glob2regpat globpath has has_key haslocaldir hasmapto histadd histdel histget
histnr hlID hlexists hlget hlset hostname iconv indent index indexof input
inputdialog inputlist inputrestore inputsave inputsecret insert instanceof
interrupt invert isabsolutepath
-syn keyword vimFuncName contained isdirectory isinf islocked isnan items
job_getchannel job_info job_setoptions job_start job_status job_stop join
js_decode js_encode json_decode json_encode keys keytrans len libcall libcallnr
line line2byte lispindent list2blob list2str listener_add listener_flush
listener_remove localtime log log10 luaeval map maparg mapcheck maplist mapnew
mapset match matchadd matchaddpos matcharg matchbufline matchdelete matchend
matchfuzzy matchfuzzypos matchlist matchstr matchstrlist matchstrpos max
menu_info min mkdir mode mzeval nextnonblank nr2char or pathshorten perleval
popup_atcursor popup_beval popup_clear popup_close popup_create popup_dialog
popup_filter_menu popup_filter_yesno popup_findecho popup_findinfo
popup_findpreview popup_getoptions
-syn keyword vimFuncName contained popup_getpos popup_hide popup_list
popup_locate popup_menu popup_move popup_notification popup_setoptions
popup_settext popup_show pow prevnonblank printf prompt_getprompt
prompt_setcallback prompt_setinterrupt prompt_setprompt prop_add prop_add_list
prop_clear prop_find prop_list prop_remove prop_type_add prop_type_change
prop_type_delete prop_type_get prop_type_list pum_getpos pumvisible py3eval
pyeval pyxeval rand range readblob readdir readdirex readfile reduce
reg_executing reg_recording reltime reltimefloat reltimestr remote_expr
remote_foreground remote_peek remote_read remote_send remote_startserver remove
rename repeat resolve reverse round rubyeval screenattr screenchar screenchars
screencol screenpos screenrow screenstring
-syn keyword vimFuncName contained search searchcount searchdecl searchpair
searchpairpos searchpos server2client serverlist setbufline setbufvar
setcellwidths setcharpos setcharsearch setcmdline setcmdpos setcursorcharpos
setenv setfperm setline setloclist setmatches setpos setqflist setreg settabvar
settabwinvar settagstack setwinvar sha256 shellescape shiftwidth sign_define
sign_getdefined sign_getplaced sign_jump sign_place sign_placelist
sign_undefine sign_unplace sign_unplacelist simplify sin sinh slice sort
sound_clear sound_playevent sound_playfile sound_stop soundfold spellbadword
spellsuggest split sqrt srand state str2float str2list str2nr strcharlen
strcharpart strchars strdisplaywidth strftime strgetchar stridx string strlen
strpart strptime strridx
-syn keyword vimFuncName contained strtrans strutf16len strwidth submatch
substitute swapfilelist swapinfo swapname synID synIDattr synIDtrans
synconcealed synstack system systemlist tabpagebuflist tabpagenr tabpagewinnr
tagfiles taglist tan tanh tempname term_dumpdiff term_dumpload term_dumpwrite
term_getaltscreen term_getansicolors term_getattr term_getcursor term_getjob
term_getline term_getscrolled term_getsize term_getstatus term_gettitle
term_gettty term_list term_scrape term_sendkeys term_setansicolors term_setapi
term_setkill term_setrestore term_setsize term_start term_wait terminalprops
test_alloc_fail test_autochdir test_feedinput test_garbagecollect_now
test_garbagecollect_soon test_getvalue test_gui_event test_ignore_error
test_mswin_event test_null_blob
-syn keyword vimFuncName contained test_null_channel test_null_dict
test_null_function test_null_job test_null_list test_null_partial
test_null_string test_option_not_set test_override test_refcount test_setmouse
test_settime test_srand_seed test_unknown test_void timer_info timer_pause
timer_start timer_stop timer_stopall tolower toupper tr trim trunc type
typename undofile undotree uniq utf16idx values virtcol virtcol2col visualmode
wildmenumode win_execute win_findbuf win_getid win_gettype win_gotoid
win_id2tabwin win_id2win win_move_separator win_move_statusline win_screenpos
win_splitmove winbufnr wincol windowsversion winheight winlayout winline winnr
winrestcmd winrestview winsaveview winwidth wordcount writefile xor
+syn keyword vimFuncName contained getcharpos getcharsearch getcharstr
getcmdcompltype getcmdline getcmdpos getcmdscreenpos getcmdtype getcmdwintype
getcompletion getcurpos getcursorcharpos getcwd getenv getfontname getfperm
getfsize getftime getftype getimstatus getjumplist getline getloclist
getmarklist getmatches getmousepos getmouseshape getpid getpos getqflist getreg
getreginfo getregion getregtype getscriptinfo gettabinfo gettabvar gettabwinvar
gettagstack gettext getwininfo getwinpos getwinposx getwinposy getwinvar glob
glob2regpat globpath has has_key haslocaldir hasmapto histadd histdel histget
histnr hlID hlexists hlget hlset hostname iconv indent index indexof input
inputdialog inputlist inputrestore inputsave inputsecret insert instanceof
interrupt
+syn keyword vimFuncName contained invert isabsolutepath isdirectory isinf
islocked isnan items job_getchannel job_info job_setoptions job_start
job_status job_stop join js_decode js_encode json_decode json_encode keys
keytrans len libcall libcallnr line line2byte lispindent list2blob list2str
listener_add listener_flush listener_remove localtime log log10 luaeval map
maparg mapcheck maplist mapnew mapset match matchadd matchaddpos matcharg
matchbufline matchdelete matchend matchfuzzy matchfuzzypos matchlist matchstr
matchstrlist matchstrpos max menu_info min mkdir mode mzeval nextnonblank
nr2char or pathshorten perleval popup_atcursor popup_beval popup_clear
popup_close popup_create popup_dialog popup_filter_menu popup_filter_yesno
popup_findecho popup_findinfo
+syn keyword vimFuncName contained popup_findpreview popup_getoptions
popup_getpos popup_hide popup_list popup_locate popup_menu popup_move
popup_notification popup_setoptions popup_settext popup_show pow prevnonblank
printf prompt_getprompt prompt_setcallback prompt_setinterrupt prompt_setprompt
prop_add prop_add_list prop_clear prop_find prop_list prop_remove prop_type_add
prop_type_change prop_type_delete prop_type_get prop_type_list pum_getpos
pumvisible py3eval pyeval pyxeval rand range readblob readdir readdirex
readfile reduce reg_executing reg_recording reltime reltimefloat reltimestr
remote_expr remote_foreground remote_peek remote_read remote_send
remote_startserver remove rename repeat resolve reverse round rubyeval
screenattr screenchar screenchars
+syn keyword vimFuncName contained screencol screenpos screenrow screenstring
search searchcount searchdecl searchpair searchpairpos searchpos server2client
serverlist setbufline setbufvar setcellwidths setcharpos setcharsearch
setcmdline setcmdpos setcursorcharpos setenv setfperm setline setloclist
setmatches setpos setqflist setreg settabvar settabwinvar settagstack setwinvar
sha256 shellescape shiftwidth sign_define sign_getdefined sign_getplaced
sign_jump sign_place sign_placelist sign_undefine sign_unplace sign_unplacelist
simplify sin sinh slice sort sound_clear sound_playevent sound_playfile
sound_stop soundfold spellbadword spellsuggest split sqrt srand state str2float
str2list str2nr strcharlen strcharpart strchars strdisplaywidth strftime
strgetchar stridx
+syn keyword vimFuncName contained string strlen strpart strptime strridx
strtrans strutf16len strwidth submatch substitute swapfilelist swapinfo
swapname synID synIDattr synIDtrans synconcealed synstack system systemlist
tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tan tanh tempname
term_dumpdiff term_dumpload term_dumpwrite term_getaltscreen term_getansicolors
term_getattr term_getcursor term_getjob term_getline term_getscrolled
term_getsize term_getstatus term_gettitle term_gettty term_list term_scrape
term_sendkeys term_setansicolors term_setapi term_setkill term_setrestore
term_setsize term_start term_wait terminalprops test_alloc_fail test_autochdir
test_feedinput test_garbagecollect_now test_garbagecollect_soon test_getvalue
test_gui_event test_ignore_error
+syn keyword vimFuncName contained test_mswin_event test_null_blob
test_null_channel test_null_dict test_null_function test_null_job
test_null_list test_null_partial test_null_string test_option_not_set
test_override test_refcount test_setmouse test_settime test_srand_seed
test_unknown test_void timer_info timer_pause timer_start timer_stop
timer_stopall tolower toupper tr trim trunc type typename undofile undotree
uniq utf16idx values virtcol virtcol2col visualmode wildmenumode win_execute
win_findbuf win_getid win_gettype win_gotoid win_id2tabwin win_id2win
win_move_separator win_move_statusline win_screenpos win_splitmove winbufnr
wincol windowsversion winheight winlayout winline winnr winrestcmd winrestview
winsaveview winwidth wordcount writefile xor
"--- syntax here and above generated by mkvimvim ---
" Special Vim Highlighting (not automatic) {{{1
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 81f747f84..071bf7d0f 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -5584,8 +5584,9 @@ f_getregion(typval_T *argvars, typval_T *rettv)
getvvcol(curwin, &p1, &sc1, NULL, &ec1);
getvvcol(curwin, &p2, &sc2, NULL, &ec2);
- oap.motion_type = OP_NOP;
+ oap.motion_type = MBLOCK;
oap.inclusive = TRUE;
+ oap.op_type = OP_NOP;
oap.start = p1;
oap.end = p2;
oap.start_vcol = MIN(sc1, sc2);
diff --git a/src/version.c b/src/version.c
index 471ecd83c..a0bec9150 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 122,
/**/
121,
/**/
--
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/E1rcrp6-00Az7X-2S%40256bit.org.