summaryrefslogtreecommitdiff
path: root/src/vim9expr.c
Commit message (Collapse)AuthorAgeFilesLines
...
* patch 8.2.4870: Vim9: expression in :substitute is not compiledv8.2.4870LemonBoy2022-05-051-13/+44
| | | | | Problem: Vim9: expression in :substitute is not compiled. Solution: Use an INSTR instruction if possible. (closes #10334)
* patch 8.2.4823: concat more than 2 strings in :def function is inefficientv8.2.4823LemonBoy2022-04-251-1/+2
| | | | | | Problem: Concatenating more than 2 strings in a :def function is inefficient. Solution: Add a count to the CONCAT instruction. (closes #10276)
* patch 8.2.4669: in compiled code len('string') is not inlinedv8.2.4669LemonBoy2022-04-021-2/+7
| | | | | Problem: In compiled code len('string') is not inlined. Solution: Compute the length at compile time if possible. (closes #10065)
* patch 8.2.4661: Coverity warning for using uninitialized variablev8.2.4661Bram Moolenaar2022-04-011-1/+1
| | | | | Problem: Coverity warning for using uninitialized variable. Solution: Initialize variable to NULL.
* patch 8.2.4657: errors for functions are sometimes hard to readv8.2.4657Bram Moolenaar2022-03-311-4/+4
| | | | | Problem: Errors for functions are sometimes hard to read. Solution: Use printable_func_name() in more places.
* patch 8.2.4656: Vim9: can't use item from "import autoload" with autoload dirv8.2.4656Bram Moolenaar2022-03-311-24/+30
| | | | | | | Problem: Vim9: can't use items from "import autoload" with autoload directory name. Solution: Let sn_autoload_prefix overrule sn_import_autoload. (closes #10054)
* patch 8.2.4650: "import autoload" only works with using 'runtimepath'v8.2.4650Bram Moolenaar2022-03-301-0/+21
| | | | | Problem: "import autoload" only works with using 'runtimepath'. Solution: Also support a relative and absolute file name.
* patch 8.2.4634: Vim9: cannot initialize a variable to null_listv8.2.4634Bram Moolenaar2022-03-271-2/+2
| | | | | | 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.4612: Vim9: cannot use a recursive call in a nested functionv8.2.4612Bram Moolenaar2022-03-231-1/+1
| | | | | | Problem: Vim9: cannot use a recursive call in a nested function. (Sergey Vlasov) Solution: Define the funcref before compiling the function. (closes #9989)
* patch 8.2.4580: Vim9: incorrect error for shadowing variablev8.2.4580Bram Moolenaar2022-03-161-1/+1
| | | | | Problem: Vim9: incorrect error for shadowing variable. Solution: Do not pass the context when compiling a referenced function.
* patch 8.2.4575: Vim9: test for profiling still failsv8.2.4575Bram Moolenaar2022-03-151-8/+11
| | | | | | | 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-0/+8
| | | | | | | | 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.4526: Vim9: cannot set variables to a null valuev8.2.4526Bram Moolenaar2022-03-081-6/+12
| | | | | Problem: Vim9: cannot set variables to a null value. Solution: Add null_list, null_job, etc.
* patch 8.2.4447: Vim9: can still use s:var in a compiled functionv8.2.4447Bram Moolenaar2022-02-221-2/+9
| | | | | Problem: Vim9: can still use s:var in a compiled function. Solution: Disallow using s:var for Vim9 script. (closes #9824)
* patch 8.2.4375: ctx_imports is not usedv8.2.4375Bram Moolenaar2022-02-131-3/+3
| | | | | Problem: ctx_imports is not used. Solution: Delete ctx_imports. Add missing dependency.
* patch 8.2.4333: cstack not always passed to where it is neededv8.2.4333Bram Moolenaar2022-02-081-2/+2
| | | | | Problem: cstack not always passed to where it is needed. Solution: Pass ctack through functions.
* patch 8.2.4332: Vim9: incomplete test for existing script variable in blockv8.2.4332Bram Moolenaar2022-02-081-1/+1
| | | | | Problem: Vim9: incomplete test for existing script variable in block. Solution: Add a couple more tests. Fix uncovered problem.
* patch 8.2.4313: Vim9: cannot change type of list after making a slicev8.2.4313Bram Moolenaar2022-02-061-0/+3
| | | | | Problem: Vim9: cannot change type of list after making a slice. Solution: Adjust the declared member type. (closes #9696)
* patch 8.2.4296: Vim9: not all code covered by testsv8.2.4296Bram Moolenaar2022-02-041-1/+3
| | | | | | Problem: Vim9: not all code covered by tests. Solution: Add a few more tests for corner cases. Fix hang when single quote is missing.
* patch 8.2.4280: list-dict test crashesv8.2.4280Bram Moolenaar2022-02-011-1/+1
| | | | | Problem: list-dict test crashes. Solution: Check declared type for add().
* patch 8.2.4260: Vim9: can still use a global function without g:v8.2.4260Bram Moolenaar2022-01-301-6/+7
| | | | | | Problem: Vim9: can still use a global function without g: at the script level. Solution: Also check for g: at the script level. (issue #9637)
* patch 8.2.4257: Vim9: finding global function without g: prefix inconsistentv8.2.4257Bram Moolenaar2022-01-291-11/+23
| | | | | | | | Problem: Vim9: finding global function without g: prefix but not finding global variable is inconsistent. Solution: Require using g: for a global function. Change the vim9.vim script into a Vim9 script with exports. Fix that import in legacy script does not work.
* patch 8.2.4216: Vim9: cannot use a function from an autoload import directlyv8.2.4216Bram Moolenaar2022-01-251-2/+3
| | | | | | 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.4161: Vim9: warning for missing white space after imported variablev8.2.4161Bram Moolenaar2022-01-201-1/+0
| | | | | Problem: Vim9: warning for missing white space after imported variable. Solution: Do not skip white space. (closes #9567)
* patch 8.2.4146: Vim9: shadowed function can be used in compiled functionv8.2.4146Bram Moolenaar2022-01-191-6/+15
| | | | | | Problem: Vim9: shadowed function can be used in compiled function but not at script level. Solution: Also give an error in a compiled function. (closes #9563)
* patch 8.2.4137: Vim9: calling import with and without method is inconsistentv8.2.4137Bram Moolenaar2022-01-181-2/+11
| | | | | | 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.4124: Vim9: method in compiled function may not see script itemv8.2.4124Bram Moolenaar2022-01-171-8/+15
| | | | | Problem: Vim9: method in compiled function may not see script item. Solution: Make sure not to skip to the next line. (closes #9496)
* patch 8.2.4116: Vim9: cannot use a method with a complex expression in :defv8.2.4116Bram Moolenaar2022-01-161-29/+69
| | | | | | Problem: Vim9: cannot use a method with a complex expression in a :def function. Solution: Implement compiling the expression.
* patch 8.2.4086: "cctx" argument of find_func_even_dead() is unusedv8.2.4086Bram Moolenaar2022-01-131-4/+4
| | | | | 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-1/+23
| | | | | | Problem: Vim9: compiling function fails when autoload script is not loaded yet. Solution: Depend on runtime loading.
* patch 8.2.4050: Vim9: need to prefix every item in an autoload scriptv8.2.4050Bram Moolenaar2022-01-091-2/+3
| | | | | | Problem: Vim9: need to prefix every item in an autoload script. Solution: First step in supporting "vim9script autoload" and "import autoload".
* patch 8.2.4049: Vim9: reading before the start of the line with "$"v8.2.4049Bram Moolenaar2022-01-091-1/+1
| | | | | Problem: Vim9: reading before the start of the line with "$" by itself. Solution: Do not subtract one when reporting the error.
* patch 8.2.4019: Vim9: import mechanism is too complicatedv8.2.4019Bram Moolenaar2022-01-061-49/+40
| | | | | Problem: Vim9: import mechanism is too complicated. Solution: Do not use the Javascript mechanism but a much simpler one.
* patch 8.2.3996: Vim9: type checking lacks information about declared typev8.2.3996Bram Moolenaar2022-01-041-44/+67
| | | | | | | Problem: Vim9: type checking for list and dict lacks information about declared type. Solution: Add dv_decl_type and lv_decl_type. Refactor the type stack to store two types in each entry.
* patch 8.2.3972: error messages are spread outv8.2.3972Bram Moolenaar2022-01-011-1/+1
| | | | | Problem: Error messages are spread out. Solution: Move the last errors from globals.h to errors.h.
* patch 8.2.3970: error messages are spread outv8.2.3970Bram Moolenaar2022-01-011-5/+5
| | | | | 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-1/+1
| | | | | Problem: Error messages are spread out. Solution: Move more errors to errors.h.
* patch 8.2.3913: help for expressions does not mention Vim9 syntaxv8.2.3913Bram Moolenaar2021-12-271-6/+6
| | | | | | Problem: Help for expressions does not mention Vim9 syntax. Solution: Add the rules for Vim9 to the expression help. Rename functions to match the help.
* patch 8.2.3869: Vim9: type checking for "any" is inconsistentv8.2.3869Bram Moolenaar2021-12-221-1/+2
| | | | | | Problem: Vim9: type checking for "any" is inconsistent. Solution: Always use a runtime type check for using "any" for a more specific type.
* patch 8.2.3866: Vim9: type checking global variables is inconsistentv8.2.3866Bram Moolenaar2021-12-211-6/+10
| | | | | Problem: Vim9: type checking global variables is inconsistent. Solution: Use the "unknown" type in more places.
* patch 8.2.3860: Vim9: codecov struggles with the file sizev8.2.3860Bram Moolenaar2021-12-201-0/+2893
Problem: Vim9: codecov struggles with the file size. Solution: Split vim9compile.c into four files.