Mercurial > vim
comparison src/vim9script.c @ 22250:dd42235ed626 v8.2.1674
patch 8.2.1674: Vim9: internal error when using variable that was not set
Commit: https://github.com/vim/vim/commit/f0afd9e18227d3459c888584d0658a1837d2aaf8
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Sep 13 18:57:47 2020 +0200
patch 8.2.1674: Vim9: internal error when using variable that was not set
Problem: Vim9: internal error when using variable that was not set.
Solution: Give a meaningful error. (closes https://github.com/vim/vim/issues/6937)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 13 Sep 2020 19:00:08 +0200 |
parents | 7899b4e2880c |
children | a9fb7efa31d6 |
comparison
equal
deleted
inserted
replaced
22249:ef6c936e63fb | 22250:dd42235ed626 |
---|---|
546 return p; | 546 return p; |
547 } | 547 } |
548 | 548 |
549 // Create the variable with 0/NULL value. | 549 // Create the variable with 0/NULL value. |
550 CLEAR_FIELD(init_tv); | 550 CLEAR_FIELD(init_tv); |
551 init_tv.v_type = type->tt_type; | 551 if (type->tt_type == VAR_ANY) |
552 // A variable of type "any" is not possible, just use zero instead | |
553 init_tv.v_type = VAR_NUMBER; | |
554 else | |
555 init_tv.v_type = type->tt_type; | |
552 set_var_const(name, type, &init_tv, FALSE, 0); | 556 set_var_const(name, type, &init_tv, FALSE, 0); |
553 | 557 |
554 vim_free(name); | 558 vim_free(name); |
555 return p; | 559 return p; |
556 } | 560 } |