To: vim_dev@googlegroups.com Subject: Patch 8.2.0913 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.0913 Problem: Code for resetting v:register is duplicated. Solution: Add reset_reg_var(). Files: src/evalvars.c, src/proto/evalvars.pro, src/main.c, src/normal.c *** ../vim-8.2.0912/src/evalvars.c 2020-05-25 20:33:51.766542661 +0200 --- src/evalvars.c 2020-06-06 15:56:50.535199121 +0200 *************** *** 244,250 **** set_vim_var_nr(VV_ECHOSPACE, sc_col - 1); ! set_reg_var(0); // default for v:register is not 0 but '"' } #if defined(EXITFREE) || defined(PROTO) --- 244,252 ---- set_vim_var_nr(VV_ECHOSPACE, sc_col - 1); ! // Default for v:register is not 0 but '"'. This is adjusted once the ! // clipboard has been setup by calling reset_reg_var(). ! set_reg_var(0); } #if defined(EXITFREE) || defined(PROTO) *************** *** 2192,2197 **** --- 2194,2215 ---- } /* + * Reset v:register, taking the 'clipboard' setting into account. + */ + void + reset_reg_var(void) + { + int regname = 0; + + // Adjust the register according to 'clipboard', so that when + // "unnamed" is present it becomes '*' or '+' instead of '"'. + #ifdef FEAT_CLIPBOARD + adjust_clip_reg(®name); + #endif + set_reg_var(regname); + } + + /* * Set v:register if needed. */ void *** ../vim-8.2.0912/src/proto/evalvars.pro 2020-05-25 20:33:51.766542661 +0200 --- src/proto/evalvars.pro 2020-06-06 15:57:16.523158847 +0200 *************** *** 46,51 **** --- 46,52 ---- void set_vim_var_list(int idx, list_T *val); void set_vim_var_dict(int idx, dict_T *val); void set_argv_var(char **argv, int argc); + void reset_reg_var(void); void set_reg_var(int c); char_u *v_exception(char_u *oldval); char_u *v_throwpoint(char_u *oldval); *** ../vim-8.2.0912/src/main.c 2020-05-16 16:08:30.098714978 +0200 --- src/main.c 2020-06-06 15:54:53.519351584 +0200 *************** *** 826,837 **** // done after the clipboard is available and all initial commands that may // modify the 'clipboard' setting have run; i.e. just before entering the // main loop. ! { ! int default_regname = 0; ! ! adjust_clip_reg(&default_regname); ! set_reg_var(default_regname); ! } #endif #if defined(FEAT_DIFF) --- 826,832 ---- // done after the clipboard is available and all initial commands that may // modify the 'clipboard' setting have run; i.e. just before entering the // main loop. ! reset_reg_var(); #endif #if defined(FEAT_DIFF) *** ../vim-8.2.0912/src/normal.c 2020-05-30 20:30:42.896816552 +0200 --- src/normal.c 2020-06-06 15:55:11.295331706 +0200 *************** *** 1080,1095 **** { clearop(oap); #ifdef FEAT_EVAL ! { ! int regname = 0; ! ! // Adjust the register according to 'clipboard', so that when ! // "unnamed" is present it becomes '*' or '+' instead of '"'. ! # ifdef FEAT_CLIPBOARD ! adjust_clip_reg(®name); ! # endif ! set_reg_var(regname); ! } #endif } --- 1080,1086 ---- { clearop(oap); #ifdef FEAT_EVAL ! reset_reg_var(); #endif } *** ../vim-8.2.0912/src/version.c 2020-06-06 15:23:22.836373760 +0200 --- src/version.c 2020-06-06 15:57:31.567134537 +0200 *************** *** 756,757 **** --- 756,759 ---- { /* Add new patch number below this line */ + /**/ + 913, /**/ -- Facepalm statement #8: "Drive faster, the petrol is running out" /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///