Mercurial > vim
comparison src/evalvars.c @ 27330:aeadf4315bef v8.2.4193
patch 8.2.4193: cannot use an import in 'charconvert'
Commit: https://github.com/vim/vim/commit/f4e88f2152c5975a6f4cfa7ccd745575fe4d1c78
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 23 14:17:28 2022 +0000
patch 8.2.4193: cannot use an import in 'charconvert'
Problem: Cannot use an import in 'charconvert'.
Solution: Set the script context when evaluating 'charconvert'. Also expand
script-local functions in 'charconvert'.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 23 Jan 2022 15:30:03 +0100 |
parents | 7382135dac01 |
children | c62006deb5c1 |
comparison
equal
deleted
inserted
replaced
27329:10ee4c6ab635 | 27330:aeadf4315bef |
---|---|
367 char_u *enc_to, | 367 char_u *enc_to, |
368 char_u *fname_from, | 368 char_u *fname_from, |
369 char_u *fname_to) | 369 char_u *fname_to) |
370 { | 370 { |
371 int err = FALSE; | 371 int err = FALSE; |
372 sctx_T saved_sctx = current_sctx; | |
373 sctx_T *ctx; | |
372 | 374 |
373 set_vim_var_string(VV_CC_FROM, enc_from, -1); | 375 set_vim_var_string(VV_CC_FROM, enc_from, -1); |
374 set_vim_var_string(VV_CC_TO, enc_to, -1); | 376 set_vim_var_string(VV_CC_TO, enc_to, -1); |
375 set_vim_var_string(VV_FNAME_IN, fname_from, -1); | 377 set_vim_var_string(VV_FNAME_IN, fname_from, -1); |
376 set_vim_var_string(VV_FNAME_OUT, fname_to, -1); | 378 set_vim_var_string(VV_FNAME_OUT, fname_to, -1); |
379 ctx = get_option_sctx("charconvert"); | |
380 if (ctx != NULL) | |
381 current_sctx = *ctx; | |
382 | |
377 if (eval_to_bool(p_ccv, &err, NULL, FALSE)) | 383 if (eval_to_bool(p_ccv, &err, NULL, FALSE)) |
378 err = TRUE; | 384 err = TRUE; |
385 | |
379 set_vim_var_string(VV_CC_FROM, NULL, -1); | 386 set_vim_var_string(VV_CC_FROM, NULL, -1); |
380 set_vim_var_string(VV_CC_TO, NULL, -1); | 387 set_vim_var_string(VV_CC_TO, NULL, -1); |
381 set_vim_var_string(VV_FNAME_IN, NULL, -1); | 388 set_vim_var_string(VV_FNAME_IN, NULL, -1); |
382 set_vim_var_string(VV_FNAME_OUT, NULL, -1); | 389 set_vim_var_string(VV_FNAME_OUT, NULL, -1); |
390 current_sctx = saved_sctx; | |
383 | 391 |
384 if (err) | 392 if (err) |
385 return FAIL; | 393 return FAIL; |
386 return OK; | 394 return OK; |
387 } | 395 } |