Age | Commit message (Collapse) | Author |
|
Problem: outstanding exceptions may be skipped
Solution: When restoring exception state, process remaining outstanding
exceptions
closes: #13386
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|
Problem: Vim9: crash with deferred function call and exception
Solution: Save and restore exception state
Crash when a deferred function is called after an exception and another
exception is thrown
closes: #13376
closes: #13377
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|
Problem: Bogus error when string used after :elseif.
Solution: Do not consider a double quote the start of a comment.
(closes #11534)
|
|
Problem: Evaluating "expr" options has more overhead than needed.
Solution: Use call_simple_func() for 'foldtext', 'includeexpr', 'printexpr',
"expr" of 'spellsuggest', 'diffexpr', 'patchexpr', 'balloonexpr',
'formatexpr', 'indentexpr' and 'charconvert'.
|
|
Problem: Buffer underflow with unexpected :finally.
Solution: Check CSF_TRY can be found.
|
|
Problem: Closure gets wrong value in for loop with two loop variables.
Solution: Correctly compute the number of loop variables to clear.
|
|
Problem: Loop variable can't be found.
Solution: Adjust block_id of the loop variable each round.
|
|
Problem: Vim9: block in for loop doesn't behave like a code block.
Solution: Use a new block ID for each loop at the script level.
|
|
Problem: Coverity warns for NULL check and unused return value.
Solution: Remove the NULL check, it was already checked earlier. Add (void)
to ignore the return value.
|
|
Problem: "eval 123" gives an error, "eval 'abc'" does not.
Solution: Also give an error when evaluating only a string. (closes #10434)
|
|
Problem: Vim9: misplaced elseif causes invalid memory access.
Solution: Check cs_idx not to be negative.
|
|
Problem: Vim9: using "else" differs from using "endif/if !cond".
Solution: Leave the block and enter another one. (closes #10320)
|
|
Problem: Vim9: no error for using an expression only at the script level
when followed by an empty line.
Solution: Do not check the line number but whether something follows.
(closes #10357)
|
|
Problem: No error for missing expression after :elseif. (Ernie Rael)
Solution: Check for missing expression. (closes #10068)
|
|
Problem: Vim9: at the script level declarations leak from try block to
catch and finally block.
Solution: End the block and start a new one. (closes #9883)
|
|
Problem: Some type casts are redundant.
Solution: Remove the type casts. (closes #9643)
|
|
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move the last errors from globals.h to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
Problem: Vim9: no error for an evironment variable by itself.
Solution: Give a "without effect" error. (closes #9166)
|
|
Problem: Vim9: error for variable declared in while loop.
Solution: Do not keep the first variable. (closes #9191)
|
|
Problem: Vim9: The "no effect" error is not given for all registers.
Solution: Include any character following '@'. (closes #8779)
|
|
Problem: Loop variable recreated every time.
Solution: Keep the loop variable when looping.
|
|
Problem: Illegal memory access with invalid sequence of commands.
Solution: Do not call leave_block() when not in a try block. (closes #8966)
Reset did_emsg so that exception is shown as an error.
|
|
Problem: Still crash with error in :catch and also in :finally.
Solution: Only call finish_exception() once. (closes #8954)
|
|
Problem: Crash with error in :catch and also in :finally.
Solution: Only discard an exception if there is one. (closes #8954)
|
|
Problem: Vim9: no warning that "@r" does not do anything.
Solution: Give a "no effect" error. (closes #8779)
|
|
Problem: Vim9: Cannot use :silent with :endwhile.
Solution: Allow for using the :silent modifier. (closes #8737)
|
|
Problem: Vim9: :finally in skipped block not handled correctly.
Solution: Check whether :finally is in a skipped block. (Naruhiko Nishino,
closes #8724)
|
|
Problem: Cannot use all commands inside a {} block after :command and
:autocmd.
Solution: Do consider \n to separate commands. (closes #8620)
|
|
Problem: Vim9: crash when using variable in a loop at script level.
Solution: Do not clear the variable if a function was defined.
Do not create a new entry in sn_var_vals every time.
(closes #8628)
|
|
Problem: Error messages are spread out.
Solution: Move error messages to errors.h and give them a clear name.
|
|
Problem: Vim9: no error when a line only has a variable name.
Solution: Give an error when an expression is evaluated without an effect.
(closes #8538)
|
|
Problem: Vim9: for loop error reports wrong line number.
Solution: Save and restore the line number when evaluating the expression.
(closes #8514)
|
|
Problem: Vim9: missing catch/finally not reported at script level.
Solution: Give an error. (closes #8487)
|
|
Problem: Vim9: message about compiling is wrong when using try/catch.
Solution: Store the compiling flag with the message. (closes #8071)
|
|
Problem: Vim9: error message for declaring variable in for loop.
Solution: Clear variables when entering block again. (closes #8012)
|
|
Problem: Vim9: can use command modifier without an effect.
Solution: Give an error for a misplaced command modifier. Fix error message
number.
|
|
Problem: Vim9: Cannot put "|" after "{".
Solution: Add the EX_TRLBAR flag. (issue #7904)
|
|
Problem: Condition stack values may be used when not set.
Solution: Clear cs_script_var_len and cs_block_id just in case they get used
later. (issue #7733)
|
|
Problem: Vim9: 'cpo' can become empty.
Solution: Use empty_option instead of an empty string. Update quickfix
buffer after restoring 'cpo'. (closes #7608)
|
|
Problem: Crash when discarded exception is the current exception.
Solution: Compare the execption with current_exception. (closes #7499)
|
|
Problem: Vim9: no need to keep all script variables.
Solution: Only keep script variables when a function was defined that could
use them. Fix freeing static string on exit.
|
|
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.
|
|
Problem: Vim9: function defined in a block can't use variables defined in
that block.
Solution: First step: Make a second hashtab that holds all script variables,
also block-local ones, with more information.
|