summaryrefslogtreecommitdiff
path: root/src/vim9.h
Commit message (Collapse)AuthorAgeFilesLines
* patch 8.2.4542: Vim9: "break" inside try/catch not handled correctlyv8.2.4542Bram Moolenaar2022-03-101-1/+1
| | | | | Problem: Vim9: "break" inside try/catch not handled correctly. Solution: First jump to :endtry. (closes #9927)
* patch 8.2.4526: Vim9: cannot set variables to a null valuev8.2.4526Bram Moolenaar2022-03-081-0/+1
| | | | | 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/+1
| | | | | Problem: Vim9: cannot compare with v:null. Solution: Allow comparing anything with v:null. (closes #9866)
* patch 8.2.4375: ctx_imports is not usedv8.2.4375Bram Moolenaar2022-02-131-3/+1
| | | | | Problem: ctx_imports is not used. Solution: Delete ctx_imports. Add missing dependency.
* patch 8.2.4216: Vim9: cannot use a function from an autoload import directlyv8.2.4216Bram Moolenaar2022-01-251-0/+2
| | | | | | 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.4071: Vim9: no detection of return in try/endtryv8.2.4071Bram Moolenaar2022-01-121-0/+2
| | | | | | Problem: Vim9: no detection of return in try/endtry. (Dominique Pellé) Solution: Check if any of the blocks inside try/endtry did not end in return.
* patch 8.2.3991: Vim9: error when extending dict<any>v8.2.3991Bram Moolenaar2022-01-031-0/+4
| | | | | | | Problem: Vim9: error when extending dict<any> with another type that it was initialized with. Solution: Also set the type for dict<any> if the initializer has a more specific type. (closes #9461)
* 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.3865: Vim9: compiler complains about using "try" as a struct memberv8.2.3865Bram Moolenaar2021-12-211-2/+2
| | | | | Problem: Vim9: compiler complains about using "try" as a struct member. Solution: Rename "try" to "tryref".
* patch 8.2.3860: Vim9: codecov struggles with the file sizev8.2.3860Bram Moolenaar2021-12-201-7/+201
| | | | | Problem: Vim9: codecov struggles with the file size. Solution: Split vim9compile.c into four files.
* patch 8.2.3765: Vim9: cannot use a lambda for 'opfunc' and othersv8.2.3765Bram Moolenaar2021-12-091-2/+3
| | | | | Problem: Vim9: cannot use a lambda for 'opfunc' and others. Solution: Convert the lambda to a string.
* patch 8.2.3716: Vim9: range without a command is not compiledv8.2.3716Bram Moolenaar2021-12-011-0/+1
| | | | | Problem: Vim9: range without a command is not compiled. Solution: Add the ISN_EXECRANGE byte code.
* patch 8.2.3692: Vim9: cannot use :func inside a :def functionv8.2.3692Bram Moolenaar2021-11-281-1/+2
| | | | | Problem: Vim9: cannot use :func inside a :def function. Solution: Make it work.
* patch 8.2.3442: Vim9: || and && are not handled at compile timev8.2.3442Bram Moolenaar2021-09-161-0/+1
| | | | | Problem: Vim9: || and && are not handled at compile time when possible. Solution: When using constants generate fewer instructions.
* patch 8.2.3435: Vim9: dict is not passed to dict functionv8.2.3435Bram Moolenaar2021-09-131-0/+3
| | | | | Problem: Vim9: dict is not passed to dict function. Solution: Keep the dict used until a function call.
* patch 8.2.3395: Vim9: expression breakpoint not checked in :def functionv8.2.3395Bram Moolenaar2021-09-021-2/+2
| | | | | | Problem: Vim9: expression breakpoint not checked in :def function. Solution: Always compile a function for debugging if there is an expression breakpoint. (closes #8803)
* patch 8.2.3339: Vim9: cannot lock a member in a local dictv8.2.3339Bram Moolenaar2021-08-131-0/+1
| | | | | Problem: Vim9: cannot lock a member in a local dict. Solution: Get the local dict from the stack and pass it to get_lval().
* patch 8.2.3307: Vim9: :echoconsole cannot access local variablesv8.2.3307Bram Moolenaar2021-08-071-4/+5
| | | | | Problem: Vim9: :echoconsole cannot access local variables. Solution: Handle like other :echo commands. (closes #8708)
* patch 8.2.3303: some structures could be smallerv8.2.3303Dominique Pelle2021-08-071-3/+3
| | | | | Problem: Some structures could be smaller. Solution: Rearrange members to reduce size. (Dominique Pellé, closes #8725)
* patch 8.2.3057: Vim9: debugger test fails with normal features and +terminalv8.2.3057Bram Moolenaar2021-06-261-1/+1
| | | | | | Problem: Vim9: debugger test fails with normal features and +terminal. (Dominique Pellé) Solution: Adjust the INSTRUCTIONS macro. (closes #8460)
* patch 8.2.3039: Vim9: breakpoint at a comment line does not workv8.2.3039Bram Moolenaar2021-06-231-2/+8
| | | | | | Problem: Vim9: breakpoint at a comment line does not work. Solution: Add the comment line number to the debug instruction. (closes #8429)
* patch 8.2.3029: Vim9: crash when using operator and list unpack assignmentv8.2.3029Bram Moolenaar2021-06-211-0/+7
| | | | | | Problem: Vim9: crash when using operator and list unpack assignment. (Naohiro Ono) Solution: Get variable value before operation. (closes #8416)
* patch 8.2.3026: Vim9: cannot set breakpoint in compiled functionv8.2.3026Bram Moolenaar2021-06-201-1/+1
| | | | | Problem: Vim9: cannot set breakpoint in compiled function. Solution: Check for breakpoint when calling a function.
* patch 8.2.3005: Vim9: using a void value does not give a proper error messagev8.2.3005Bram Moolenaar2021-06-151-1/+1
| | | | | Problem: Vim9: using a void value does not give a proper error message. Solution: Give a clear error message. (clodes #8387)
* patch 8.2.2996: Vim9: when debugging cannot inspect local variablesv8.2.2996Bram Moolenaar2021-06-141-1/+3
| | | | | Problem: Vim9: when debugging cannot inspect local variables. Solution: Make local variables available when debugging.
* patch 8.2.2988: Vim9: debugger test failsv8.2.2988Bram Moolenaar2021-06-131-3/+10
| | | | | Problem: Vim9: debugger test fails. Solution: Get the debugger instructions when needed.
* patch 8.2.2985: Vim9: a compiled function cannot be debuggedv8.2.2985Bram Moolenaar2021-06-131-0/+4
| | | | | Problem: Vim9: a compiled function cannot be debugged. Solution: Add initial debugging support.
* patch 8.2.2951: Vim9: cannot use heredoc for :python, :lua, etc.v8.2.2951Bram Moolenaar2021-06-061-0/+1
| | | | | | Problem: Vim9: cannot use heredoc in :def function for :python, :lua, etc. Solution: Concatenate the heredoc lines and pass them in the ISN_EXEC_SPLIT instruction.
* patch 8.2.2936: Vim9: converting number to bool uses wrong stack offsetv8.2.2936Bram Moolenaar2021-06-041-2/+16
| | | | | | Problem: Vim9: converting number to bool uses wrong stack offset. (Salman Halim) Solution: Include the offset in the 2BOOL command.
* patch 8.2.2861: Vim9: "legacy return" is not recognized as a return statementv8.2.2861Bram Moolenaar2021-05-171-0/+1
| | | | | Problem: Vim9: "legacy return" is not recognized as a return statement. Solution: Specifically check for a return command. (closes #8213)
* patch 8.2.2842: Vim9: skip argument to searchpair() is not compiledv8.2.2842Bram Moolenaar2021-05-071-0/+2
| | | | | Problem: Vim9: skip argument to searchpair() is not compiled. Solution: Add VAR_INSTR.
* patch 8.2.2834: Vim9: :cexpr does not work with local variablesv8.2.2834Bram Moolenaar2021-05-051-0/+16
| | | | | Problem: Vim9: :cexpr does not work with local variables. Solution: Compile :cexpr.
* patch 8.2.2812: Vim9: still crash when using substitute expressionv8.2.2812Bram Moolenaar2021-04-261-4/+6
| | | | | Problem: Vim9: still crash when using substitute expression. Solution: Put the instruction list in the stack frame. (closes #8154)
* patch 8.2.2785: Vim9: cannot redirect to local variablev8.2.2785Bram Moolenaar2021-04-191-0/+3
| | | | | Problem: Vim9: cannot redirect to local variable. Solution: Compile :redir when redirecting to a variable.
* patch 8.2.2784: Vim9: cannot use \=expr in :substitutev8.2.2784Bram Moolenaar2021-04-191-2/+13
| | | | | | Problem: Vim9: cannot use \=expr in :substitute. Solution: Compile the expression into instructions and execute them when invoked.
* patch 8.2.2757: Vim9: blob tests for legacy and Vim9 script are separatev8.2.2757Bram Moolenaar2021-04-121-0/+2
| | | | | Problem: Vim9: blob tests for legacy and Vim9 script are separate. Solution: Add CheckLegacyAndVim9Success(). Make blob index assign work.
* patch 8.2.2756: Vim9: blob index and slice not implemented yetv8.2.2756Bram Moolenaar2021-04-111-0/+2
| | | | | Problem: Vim9: blob index and slice not implemented yet. Solution: Implement blob index and slice.
* patch 8.2.2677: Vim9: cannot use only some of the default argumentsv8.2.2677Bram Moolenaar2021-03-291-0/+8
| | | | | | Problem: Vim9: cannot use only some of the default arguments. Solution: Use v:none to use default argument value. Remove uf_def_arg_idx[], use JUMP_IF_ARG_SET. (closes #6504)
* patch 8.2.2650: Vim9: command modifiers not handled in nested functionv8.2.2650Bram Moolenaar2021-03-241-2/+4
| | | | | Problem: Vim9: command modifiers not handled in nested function. Solution: Keep function-local info in a structure and save it on the stack.
* patch 8.2.2539: Vim9: return from finally block causes a hangv8.2.2539Bram Moolenaar2021-02-211-1/+8
| | | | | Problem: Vim9: return from finally block causes a hang. Solution: Store both the finally and endtry indexes. (closes #7885)
* patch 8.2.2533: Vim9: cannot use a range with :unletv8.2.2533Bram Moolenaar2021-02-201-0/+1
| | | | | Problem: Vim9: cannot use a range with :unlet. Solution: Implement ISN_UNLETRANGE.
* patch 8.2.2527: Vim9: lambda return type is not determined at script levelv8.2.2527Bram Moolenaar2021-02-171-2/+0
| | | | | Problem: Vim9: lambda return type is not determined at script level. Solution: Compile the lambda to get the return type. (closes #7843)
* patch 8.2.2506: Vim9: :continue does not work correctly in a :try blockv8.2.2506Bram Moolenaar2021-02-131-1/+9
| | | | | Problem: Vim9: :continue does not work correctly in a :try block Solution: Add the TRYCLEANUP instruction. (closes #7827)
* patch 8.2.2410: build failure without the +profiling featurev8.2.2410Bram Moolenaar2021-01-251-1/+1
| | | | | Problem: Build failure without the +profiling feature. Solution: Add dummy argument to macro.
* patch 8.2.2409: Vim9: profiling only works for one functionv8.2.2409Bram Moolenaar2021-01-251-0/+10
| | | | | | Problem: Vim9: profiling only works for one function. Solution: Select the right instructions when calling and returning. (closes #7743)
* patch 8.2.2401: build fails without +profiling featurev8.2.2401Bram Moolenaar2021-01-241-2/+4
| | | | | Problem: Build fails without +profiling feature. Solution: Add #ifdefs.
* patch 8.2.2400: Vim9: compiled functions are not profiledv8.2.2400Bram Moolenaar2021-01-241-1/+8
| | | | | | Problem: Vim9: compiled functions are not profiled. Solution: Add initial changes to profile compiled functions. Fix that a script-local function was hard to debug.
* patch 8.2.2390: Vim9: using positive offset is unexpectedv8.2.2390Bram Moolenaar2021-01-221-2/+2
| | | | | Problem: Vim9: using positive offset is unexpected. Solution: Use int8_T instead of char. (James McCoy)
* patch 8.2.2389: test failure on a few systemsv8.2.2389Bram Moolenaar2021-01-211-1/+1
| | | | | Problem: Test failure on a few systems. Solution: Avoid that "char" value is negative.
* patch 8.2.2387: runtime type check does not mention argument indexv8.2.2387Bram Moolenaar2021-01-211-1/+2
| | | | | Problem: Runtime type check does not mention argument index. Solution: Add ct_arg_idx. (closes #7720)