summaryrefslogtreecommitdiff
path: root/src/vim9compile.c
Commit message (Collapse)AuthorAgeFilesLines
* patch 8.2.2107: Vim9: some errors not testedv8.2.2107Bram Moolenaar2020-12-071-1/+2
| | | | | Problem: Vim9: some errors not tested. Solution: Add tests. Fix getting the right error.
* patch 8.2.2103: Vim9: unreachable codev8.2.2103Bram Moolenaar2020-12-061-12/+2
| | | | | Problem: Vim9: unreachable code. Solution: Remove the code to prepend s: to the variable name
* patch 8.2.2101: Vim9: memory leak when literal dict has an errorv8.2.2101Bram Moolenaar2020-12-061-0/+3
| | | | | | Problem: Vim9: memory leak when literal dict has an error and when an expression is not complete. Solution: Clear the typval and the growarray.
* patch 8.2.2099: Vim9: some checks are not testedv8.2.2099Bram Moolenaar2020-12-061-7/+8
| | | | | Problem: Vim9: some checks are not tested. Solution: Add a few more tests. Give better error messages.
* patch 8.2.2096: Vim9: command modifiers not restored after assignmentv8.2.2096Bram Moolenaar2020-12-051-11/+5
| | | | | Problem: Vim9: command modifiers not restored after assignment. Solution: Jump to nextline instead of using continue.
* patch 8.2.2090: Vim9: dict does not accept a key in quotesv8.2.2090Bram Moolenaar2020-12-041-17/+13
| | | | | Problem: Vim9: dict does not accept a key in quotes. Solution: Recognize a key in single or double quotes.
* patch 8.2.2087: Vim9: memory leak when statement is truncatedv8.2.2087Bram Moolenaar2020-12-041-0/+4
| | | | | Problem: Vim9: memory leak when statement is truncated. Solution: Increment the number of local variables.
* patch 8.2.2082: Vim9: can still use the depricated #{} dict syntaxv8.2.2082Bram Moolenaar2020-12-021-54/+21
| | | | | Problem: Vim9: can still use the depricated #{} dict syntax. Solution: Remove support for #{} in Vim9 script. (closes #7406, closes #7405)
* patch 8.2.2081: Vim9: cannot handle a linebreak after "=" in assignmentv8.2.2081Bram Moolenaar2020-12-021-2/+6
| | | | | Problem: Vim9: cannot handle a linebreak after "=" in assignment. Solution: Skip over linebreak. (closes #7407)
* patch 8.2.2080: Vim9: no proper error message for using s:var in for loopv8.2.2080Bram Moolenaar2020-12-021-0/+6
| | | | | Problem: Vim9: no proper error message for using s:var in for loop. Solution: Give a specific error.
* patch 8.2.2079: Vim9: cannot put a linebreak before or after "in" of ":for"v8.2.2079Bram Moolenaar2020-12-021-2/+9
| | | | | Problem: Vim9: cannot put a linebreak before or after "in" of ":for". Solution: Skip over linebreak.
* patch 8.2.2073: Vim9: for with unpack only works for local variablesv8.2.2073Bram Moolenaar2020-12-011-216/+279
| | | | | Problem: Vim9: for with unpack only works for local variables. Solution: Recognize different destinations.
* patch 8.2.2072: Vim9: list assign not well testedv8.2.2072Bram Moolenaar2020-11-301-2/+8
| | | | | Problem: Vim9: list assign not well tested. Solution: Test with different destinations. Fix white space error.
* patch 8.2.2063: Vim9: only one level of indexing supportedv8.2.2063Bram Moolenaar2020-11-281-15/+92
| | | | | Problem: Vim9: only one level of indexing supported. Solution: Handle more than one index in an assignment.
* patch 8.2.2034: Vim9: list unpack in for statement not compiled yetv8.2.2034Bram Moolenaar2020-11-231-30/+99
| | | | | Problem: Vim9: list unpack in for statement not compiled yet. Solution: Compile list unpack. (closes #7345)
* patch 8.2.2033: Vim9: :def without argument gives compilation errorv8.2.2033Bram Moolenaar2020-11-221-7/+49
| | | | | Problem: Vim9: :def without argument gives compilation error. Solution: Add the DEF instruction. (closes #7344)
* patch 8.2.2020: some compilers do not like the "namespace" argumentv8.2.2020Bram Moolenaar2020-11-201-3/+3
| | | | | Problem: Some compilers do not like the "namespace" argument. Solution: Rename to "use_namespace". (closes #7332)
* patch 8.2.2015: Vim9: literal dict #{} is not like any other languagev8.2.2015Bram Moolenaar2020-11-191-8/+26
| | | | | Problem: Vim9: literal dict #{} is not like any other language. Solution: Support the JavaScript syntax.
* patch 8.2.2013: Vim9: not skipping white space after unary minusv8.2.2013Bram Moolenaar2020-11-181-0/+2
| | | | | Problem: Vim9: not skipping white space after unary minus. Solution: Skip whitespace. (closes #7324)
* patch 8.2.2010: Vim9: compiling fails for unreachable return statementv8.2.2010Bram Moolenaar2020-11-181-14/+16
| | | | | Problem: Vim9: compiling fails for unreachable return statement. Solution: Fix it. (closes #7319)
* patch 8.2.2004: compiler warning for uninitialized variablev8.2.2004Bram Moolenaar2020-11-171-1/+1
| | | | | Problem: Compiler warning for uninitialized variable. Solution: Initialize "ufunc". (John Marriott)
* patch 8.2.2002: Vim9: lambda argument shadowed by function namev8.2.2002Bram Moolenaar2020-11-171-7/+13
| | | | | Problem: Vim9: lambda argument shadowed by function name. Solution: Let function name be shadowed by lambda argument. (closes #7313)
* patch 8.2.2000: Vim9: dict.key assignment not implemented yetv8.2.2000Bram Moolenaar2020-11-161-11/+23
| | | | | Problem: Vim9: dict.key assignment not implemented yet. Solution: Implement dict.key assignment. (closes #7312)
* patch 8.2.1996: Vim9: invalid error for argument of extend()v8.2.1996Bram Moolenaar2020-11-161-1/+1
| | | | | Problem: Vim9: invalid error for argument of extend(). Solution: Check if the type could match. (closes #7299)
* patch 8.2.1977: Vim9: error for using a string in a condition is confusingv8.2.1977Bram Moolenaar2020-11-121-27/+37
| | | | | | Problem: Vim9: error for using a string in a condition is confusing. Solution: Give a more specific error. Also adjust the compile time type checking for || and &&.
* patch 8.2.1968: Vim9: has() assumes a feature does not change dynamicallyv8.2.1968Bram Moolenaar2020-11-081-1/+2
| | | | | Problem: Vim9: has() assumes a feature does not change dynamically. Solution: Check whether a feature may change dynamically. (closes #7265)
* patch 8.2.1956: Vim9: cannot specify argument types for lambdav8.2.1956Bram Moolenaar2020-11-051-4/+29
| | | | | | Problem: Vim9: cannot specify argument types for lambda. Solution: Allow adding argument types. Check arguments when calling a function reference.
* patch 8.2.1934: Vim9: command modifiers in :def function not testedv8.2.1934Bram Moolenaar2020-11-011-4/+11
| | | | | Problem: Vim9: command modifiers in :def function not tested. Solution: Add tests. Fix using modifier before filter command.
* patch 8.2.1927: Vim9: get unknown error with an error in a timer functionv8.2.1927Bram Moolenaar2020-10-301-5/+3
| | | | | Problem: Vim9: get unknown error with an error in a timer function. Solution: Use did_emsg instead of called_emsg. (closes #7231)
* patch 8.2.1915: Vim9: error for wrong number of arguments is not usefulv8.2.1915Bram Moolenaar2020-10-281-2/+2
| | | | | Problem: Vim9: error for wrong number of arguments is not useful. Solution: Mention whatever we have for the name. (closes #7208)
* patch 8.2.1900: Vim9: command modifiers do not workv8.2.1900Bram Moolenaar2020-10-241-17/+31
| | | | | Problem: Vim9: command modifiers do not work. Solution: Make most command modifiers work.
* patch 8.2.1898: command modifier parsing always uses global cmdmodv8.2.1898Bram Moolenaar2020-10-241-12/+10
| | | | | Problem: Command modifier parsing always uses global cmdmod. Solution: Pass in cmdmod_T to use. Rename struct fields consistently.
* patch 8.2.1897: command modifiers are saved and set inconsistentlyv8.2.1897Bram Moolenaar2020-10-241-4/+4
| | | | | | Problem: Command modifiers are saved and set inconsistently. Solution: Separate parsing and applying command modifiers. Save values in cmdmod_T.
* patch 8.2.1894: Vim9: command modifiers are not supportedv8.2.1894Bram Moolenaar2020-10-231-1/+43
| | | | | Problem: Vim9: command modifiers are not supported. Solution: Support "silent" and "silent!".
* patch 8.2.1891: Vim9: skipping over expression doesn't handle line breaksv8.2.1891Bram Moolenaar2020-10-221-1/+5
| | | | | Problem: Vim9: skipping over expression doesn't handle line breaks. Solution: Pass evalarg to skip_expr(). (closes #7157)
* patch 8.2.1884: compiler warning for uninitialized variablev8.2.1884Bram Moolenaar2020-10-221-1/+1
| | | | | Problem: Compiler warning for uninitialized variable. (John Marriott) Solution: Initialize with NULL.
* patch 8.2.1882: Vim9: v:disallow_let is no longer neededv8.2.1882Bram Moolenaar2020-10-211-6/+2
| | | | | Problem: Vim9: v:disallow_let is no longer needed. Solution: Remove v:disallow_let.
* patch 8.2.1880: Vim9: asan complains about adding zero to NULLv8.2.1880Bram Moolenaar2020-10-211-4/+6
| | | | | Problem: Vim9: Asan complains about adding zero to NULL. Solution: Check for argument count first.
* patch 8.2.1879: Vim9: argument types of insert() not checked when compilingv8.2.1879Bram Moolenaar2020-10-211-1/+1
| | | | | Problem: Vim9: argument types of insert() not checked when compiling. Solution: Add argument type checks for insert().
* patch 8.2.1876: Vim9: argument types are not checked at compile timev8.2.1876Bram Moolenaar2020-10-211-7/+10
| | | | | | | Problem: Vim9: argument types for builtin functions are not checked at compile time. Solution: Add an argument type checking mechanism. Implement type checks for one function.
* patch 8.2.1868: Vim9: no error for missing space after comma in dictv8.2.1868Bram Moolenaar2020-10-191-0/+5
| | | | | Problem: Vim9: no error for missing space after comma in dict. Solution: Check for white space. (closes #6672)
* patch 8.2.1867: Vim9: argument to add() not checked for blobv8.2.1867Bram Moolenaar2020-10-191-2/+30
| | | | | Problem: Vim9: argument to add() not checked for blob. Solution: Add the BLOBAPPEND instruction.
* patch 8.2.1865: Vim9: add() does not check type of argumentv8.2.1865Bram Moolenaar2020-10-191-1/+46
| | | | | Problem: Vim9: add() does not check type of argument. Solution: Inline the add() call. (closes #7160)
* patch 8.2.1864: Vim9: no error for wrong list typev8.2.1864Bram Moolenaar2020-10-191-41/+95
| | | | | Problem: Vim9: no error for wrong list type. Solution: Add flag to indicate a constant. (closes #7160)
* patch 8.2.1862: vim9: memory leak when compiling lambda failsv8.2.1862Bram Moolenaar2020-10-181-0/+3
| | | | | Problem: vim9: memory leak when compiling lambda fails. Solution: Call clear_evalarg().
* patch 8.2.1855: Vim9: get error message when nothing is wrongv8.2.1855Bram Moolenaar2020-10-161-2/+4
| | | | | Problem: Vim9: get error message when nothing is wrong. Solution: Check called_emsg instead of did_emsg. (closes #7143)
* patch 8.2.1851: Vim9: "!" followed by space incorrectly usedv8.2.1851Bram Moolenaar2020-10-151-4/+5
| | | | | Problem: Vim9: "!" followed by space incorrectly used. Solution: Skip over trailing spaces. (closes #7131)
* patch 8.2.1847: Vim9: using negative value for unsigned typev8.2.1847Bram Moolenaar2020-10-151-1/+1
| | | | | Problem: Vim9: using negative value for unsigned type. Solution: Use zero instead of -1.
* patch 8.2.1846: Vim9: block variables are not found in compiled functionv8.2.1846Bram Moolenaar2020-10-151-33/+130
| | | | | | Problem: Vim9: variables declared in a local block are not found in when a function is compiled. Solution: Look for script variables in sn_all_vars.
* patch 8.2.1840: Vim9: error message is not clear about compilation errorv8.2.1840Bram Moolenaar2020-10-121-0/+3
| | | | | Problem: Vim9: error message is not clear about compilation error. Solution: Say "compiling" instead of "processing".