summaryrefslogtreecommitdiff
path: root/src/vim9execute.c
Commit message (Collapse)AuthorAgeFilesLines
* patch 8.2.4698: Vim9: script variable has no flag that it was setv8.2.4698Bram Moolenaar2022-04-051-3/+4
| | | | | | Problem: Vim9: script variable has no flag that it was set. Solution: Add a flag that it was set, to avoid giving it a value when used. (closes #10088)
* patch 8.2.4697: Vim9: crash when adding a duplicate key to a dictionaryv8.2.4697Bram Moolenaar2022-04-051-2/+4
| | | | | | Problem: Vim9: crash when adding a duplicate key to a dictionary. Solution: Clear the stack item when it has been moved into the dictionary. (closes #10087)
* patch 8.2.4680: build failure without +postscriptv8.2.4680Bram Moolenaar2022-04-031-1/+1
| | | | | Problem: Build failure without +postscript. Solution: Use another error message.
* patch 8.2.4678: Vim9: not all code is testedv8.2.4678Bram Moolenaar2022-04-031-0/+3
| | | | | Problem: Vim9: not all code is tested. Solution: Add a few more tests.
* patch 8.2.4662: no error for using out of range list indexv8.2.4662Bram Moolenaar2022-04-011-1/+1
| | | | | | Problem: No error for using out of range list index. Solution: Check list index at script level like in compiled function. (closes #10051)
* patch 8.2.4657: errors for functions are sometimes hard to readv8.2.4657Bram Moolenaar2022-03-311-11/+8
| | | | | Problem: Errors for functions are sometimes hard to read. Solution: Use printable_func_name() in more places.
* patch 8.2.4652: leaking memory if assignment failsv8.2.4652Bram Moolenaar2022-03-311-0/+2
| | | | | Problem: Leaking memory if assignment fails. Solution: Clear assigned value on failure.
* patch 8.2.4650: "import autoload" only works with using 'runtimepath'v8.2.4650Bram Moolenaar2022-03-301-15/+94
| | | | | Problem: "import autoload" only works with using 'runtimepath'. Solution: Also support a relative and absolute file name.
* patch 8.2.4643: Vim9: variable may be locked unintentionallyv8.2.4643Bram Moolenaar2022-03-281-0/+1
| | | | | Problem: Vim9: variable may be locked unintentionally. Solution: Clear "v_lock". (closes #10036)
* patch 8.2.4642: Vim9: in :def function script var cannot be nullv8.2.4642Bram Moolenaar2022-03-281-5/+7
| | | | | | Problem: Vim9: in :def function script var cannot be null. Solution: Only initialize a script variable when not set to a null value. (closes #10034)
* patch 8.2.4634: Vim9: cannot initialize a variable to null_listv8.2.4634Bram Moolenaar2022-03-271-55/+86
| | | | | | Problem: Vim9: cannot initialize a variable to null_list. Solution: Give negative count to NEWLIST. (closes #10027) Also fix inconsistencies in comparing with null values.
* patch 8.2.4602: Vim9: not enough test coverage for executing :def functionv8.2.4602Bram Moolenaar2022-03-201-22/+8
| | | | | Problem: Vim9: not enough test coverage for executing :def function. Solution: Add a few more tests. Fix uncovered problem. Remove dead code.
* patch 8.2.4600: Vim9: not enough test coverage for executing :def functionv8.2.4600Bram Moolenaar2022-03-201-8/+3
| | | | | Problem: Vim9: not enough test coverage for executing :def function. Solution: Add a few more tests. Fix inconsistencies.
* patch 8.2.4590: Vim9: range type check has wrong offsetv8.2.4590Bram Moolenaar2022-03-181-60/+35
| | | | | Problem: Vim9: range type check has wrong offset. Solution: Adjust offset for CHECKTYPE. Remove other type check.
* patch 8.2.4587: Vim9: double free after unpacking a listv8.2.4587Bram Moolenaar2022-03-181-1/+4
| | | | | Problem: Vim9: double free after unpacking a list. Solution: Make a copy of the value instead of moving it. (closes #9968)
* patch 8.2.4575: Vim9: test for profiling still failsv8.2.4575Bram Moolenaar2022-03-151-12/+8
| | | | | | | Problem: Vim9: test for profiling still fails. Solution: Update flags for profiling and breakpoints when obtaining the compile type. Do not set the FC_CLOSURE flag for a toplevel function.
* patch 8.2.4573: a nested function is compiled for debugging without contextv8.2.4573Bram Moolenaar2022-03-151-1/+1
| | | | | | | | Problem: A nested function (closure) is compiled for debugging without context. Solution: Check if a nested function is marked for debugging before compiling it. Give an error when trying to compile a closure without its context. (closes #9951)
* patch 8.2.4541: Crash in debugger when a variable is not availablev8.2.4541Bram Moolenaar2022-03-101-1/+4
| | | | | | Problem: Crash in debugger when a variable is not available in the current block. Solution: Check for a NULL name. (closes #9926)
* patch 8.2.4534: Vim9: "is" operator with empty string and null returns truev8.2.4534Bram Moolenaar2022-03-101-3/+2
| | | | | Problem: Vim9: "is" operator with empty string and null returns true. Solution: Consider empty string and null to be different for "is".
* patch 8.2.4526: Vim9: cannot set variables to a null valuev8.2.4526Bram Moolenaar2022-03-081-0/+14
| | | | | Problem: Vim9: cannot set variables to a null value. Solution: Add null_list, null_job, etc.
* patch 8.2.4487: Vim9: cannot compare with v:nullv8.2.4487Bram Moolenaar2022-03-011-0/+21
| | | | | Problem: Vim9: cannot compare with v:null. Solution: Allow comparing anything with v:null. (closes #9866)
* patch 8.2.4484: Vim9: some error messages are not testedv8.2.4484Bram Moolenaar2022-02-281-5/+3
| | | | | Problem: Vim9: some error messages are not tested. Solution: Add a few more test cases. Delete dead code.
* patch 8.2.4446: Vim9: cannot refer to a global function like a local onev8.2.4446Bram Moolenaar2022-02-221-5/+22
| | | | | | Problem: Vim9: cannot refer to a global function like a local one. Solution: When g:name is not a variable but a function, use a function reference. (closes #9826)
* patch 8.2.4413: Vim9: Coverity warns for using NULL pointerv8.2.4413Bram Moolenaar2022-02-181-0/+6
| | | | | Problem: Vim9: Coverity warns for using NULL pointer. Solution: Give an internal error when funcref function can't be found.
* patch 8.2.4410: Vim9: some code not covered by testsv8.2.4410Bram Moolenaar2022-02-171-32/+4
| | | | | Problem: Vim9: some code not covered by tests. Solution: Add a few more tests. Remove dead code.
* patch 8.2.4409: Vim9: some code not covered by testsv8.2.4409Bram Moolenaar2022-02-171-4/+8
| | | | | Problem: Vim9: some code not covered by tests. Solution: Add a few more tests. Fix reported line number.
* patch 8.2.4408: Vim9: some code not covered by testsv8.2.4408Bram Moolenaar2022-02-171-8/+16
| | | | | | Problem: Vim9: some code not covered by tests. Solution: Add a few more tests. Correct error message. Allow unlet on dict with a number key.
* patch 8.2.4407: Vim9: some code not covered by testsv8.2.4407Bram Moolenaar2022-02-171-99/+95
| | | | | Problem: Vim9: some code not covered by tests. Solution: Add more tests. Avoid giving two errors. Remove dead code.
* patch 8.2.4404: Vim9: some code not covered by testsv8.2.4404Bram Moolenaar2022-02-161-0/+10
| | | | | Problem: Vim9: some code not covered by tests. Solution: Add a few specific test cases.
* patch 8.2.4358: Vim9: line number of exception is not setv8.2.4358Bram Moolenaar2022-02-121-0/+1
| | | | | Problem: Vim9: line number of exception is not set. Solution: Set the line number before throwing an exception. (closes #9755)
* patch 8.2.4322: Vim9: crash when using funcref with closurev8.2.4322Bram Moolenaar2022-02-071-4/+23
| | | | | | Problem: Vim9: crash when using funcref with closure. Solution: Keep a reference to the funcref that has the outer context. (closes #9716)
* patch 8.2.4319: :put does not work properly in compiled functionv8.2.4319Bram Moolenaar2022-02-071-1/+6
| | | | | Problem: :put does not work properly in compiled function. (John Beckett) Solution: Adjust the direction when using line zero.
* patch 8.2.4309: Vim9: crash when using a partial in the wrong contextv8.2.4309Bram Moolenaar2022-02-061-5/+9
| | | | | Problem: Vim9: crash when using a partial in the wrong context. Solution: Don't use an NULL outer pointer. (closes #9706)
* patch 8.2.4286: Vim9: strict type checking after copy() and deepcopy()v8.2.4286Bram Moolenaar2022-02-021-16/+3
| | | | | Problem: Vim9: strict type checking after copy() and deepcopy(). Solution: Allow type to change after making a copy. (closes #9644)
* patch 8.2.4225: Vim9: depth argument of :lockvar not parsed in :def functionv8.2.4225Bram Moolenaar2022-01-261-2/+3
| | | | | | Problem: Vim9: depth argument of :lockvar not parsed in :def function. Solution: Parse the optional depth argument. (closes #9629) Fix that locking doesn't work for a non-materialize list.
* patch 8.2.4216: Vim9: cannot use a function from an autoload import directlyv8.2.4216Bram Moolenaar2022-01-251-58/+105
| | | | | | Problem: Vim9: cannot use a function from an autoload import directly. Solution: Add the AUTOLOAD instruction to figure out at runtime. (closes #9620)
* patch 8.2.4198: Vim9: the switch for executing instructions is too longv8.2.4198Bram Moolenaar2022-01-231-532/+584
| | | | | Problem: Vim9: the switch for executing instructions is too long. Solution: Move some code to separate functions.
* patch 8.2.4137: Vim9: calling import with and without method is inconsistentv8.2.4137Bram Moolenaar2022-01-181-22/+8
| | | | | | Problem: Vim9: calling import with and without method is inconsistent. Solution: Set a flag that a parenthsis follows to compile_load_scriptvar(). Add some more tests. Improve error message.
* patch 8.2.4131: Vim9: calling function in autoload import does not workv8.2.4131Bram Moolenaar2022-01-181-7/+31
| | | | | | | Problem: Vim9: calling function in autoload import does not work in a :def function. Solution: When a variable is not found and a PCALL follows use a funcref. (closes #9550)
* patch 8.2.4086: "cctx" argument of find_func_even_dead() is unusedv8.2.4086Bram Moolenaar2022-01-131-5/+5
| | | | | Problem: "cctx" argument of find_func_even_dead() is unused. Solution: Remove the argument.
* patch 8.2.4072: Vim9: compiling function fails when autoload is not loadedv8.2.4072Bram Moolenaar2022-01-121-0/+10
| | | | | | Problem: Vim9: compiling function fails when autoload script is not loaded yet. Solution: Depend on runtime loading.
* patch 8.2.4043: using int for second argument of ga_init2()v8.2.4043Bram Moolenaar2022-01-081-1/+1
| | | | | Problem: Using int for second argument of ga_init2(). Solution: Remove unnessary type cast (int) when using sizeof().
* patch 8.2.4042: Vim9: build errorv8.2.4042Bram Moolenaar2022-01-081-4/+5
| | | | | Problem: Vim9: build error. Solution: Use grow array instead of character pointer.
* patch 8.2.4019: Vim9: import mechanism is too complicatedv8.2.4019Bram Moolenaar2022-01-061-2/+2
| | | | | Problem: Vim9: import mechanism is too complicated. Solution: Do not use the Javascript mechanism but a much simpler one.
* patch 8.2.3974: Vim9: LISTAPPEND instruction does not check for a locked listv8.2.3974Bram Moolenaar2022-01-011-1/+3
| | | | | Problem: Vim9: LISTAPPEND instruction does not check for a locked list. Solution: Check whether the list is locked. (closes #9452)
* patch 8.2.3970: error messages are spread outv8.2.3970Bram Moolenaar2022-01-011-1/+1
| | | | | Problem: Error messages are spread out. Solution: Move more errors to errors.h.
* patch 8.2.3967: error messages are spread outv8.2.3967Bram Moolenaar2022-01-011-10/+10
| | | | | Problem: Error messages are spread out. Solution: Move more errors to errors.h.
* patch 8.2.3961: error messages are spread outv8.2.3961Bram Moolenaar2021-12-311-1/+1
| | | | | Problem: Error messages are spread out. Solution: Move more errors to errors.h.
* patch 8.2.3914: various spelling mistakes in commentsv8.2.3914Dominique Pelle2021-12-271-1/+1
| | | | | Problem: Various spelling mistakes in comments. Solution: Fix the mistakes. (Dominique Pellé, closes #9416)
* patch 8.2.3902: Vim9: double free with nested :def functionv8.2.3902Bram Moolenaar2021-12-261-1/+3
| | | | | | Problem: Vim9: double free with nested :def function. Solution: Pass "line_to_free" from compile_def_function() and make sure cmdlinep is valid.