Mercurial > vim
comparison src/regexp.c @ 28692:bfd8e25fa207 v8.2.4870
patch 8.2.4870: Vim9: expression in :substitute is not compiled
Commit: https://github.com/vim/vim/commit/f3b4895f2727e3849ca10030b251cccd9d1383f3
Author: LemonBoy <thatlemon@gmail.com>
Date: Thu May 5 13:53:03 2022 +0100
patch 8.2.4870: Vim9: expression in :substitute is not compiled
Problem: Vim9: expression in :substitute is not compiled.
Solution: Use an INSTR instruction if possible. (closes https://github.com/vim/vim/issues/10334)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 05 May 2022 15:00:04 +0200 |
parents | 3c7f1b3ae427 |
children | c98fc7a4dde4 |
comparison
equal
deleted
inserted
replaced
28691:ca54846af861 | 28692:bfd8e25fa207 |
---|---|
2001 partial_T *partial = expr->vval.v_partial; | 2001 partial_T *partial = expr->vval.v_partial; |
2002 | 2002 |
2003 s = partial_name(partial); | 2003 s = partial_name(partial); |
2004 funcexe.fe_partial = partial; | 2004 funcexe.fe_partial = partial; |
2005 call_func(s, -1, &rettv, 1, argv, &funcexe); | 2005 call_func(s, -1, &rettv, 1, argv, &funcexe); |
2006 } | |
2007 else if (expr->v_type == VAR_INSTR) | |
2008 { | |
2009 exe_typval_instr(expr, &rettv); | |
2006 } | 2010 } |
2007 if (matchList.sl_list.lv_len > 0) | 2011 if (matchList.sl_list.lv_len > 0) |
2008 // fill_submatch_list() was called | 2012 // fill_submatch_list() was called |
2009 clear_submatch_list(&matchList); | 2013 clear_submatch_list(&matchList); |
2010 | 2014 |