Age | Commit message (Collapse) | Author |
|
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
|
|
Problem: FEAT_TEXT_PROP is a confusing name.
Solution: Use FEAT_PROP_POPUP. (Naruhiko Nishino, closes #5291)
|
|
Problem: :const cannot be followed by "| endif".
Solution: Check following command for :const. (closes #5269)
Also fix completion after :const.
|
|
Problem: Cannot map <C-H> when modifyOtherKeys is enabled.
Solution: Add the <C-H> mapping twice, both with modifier and as 0x08. Use
only the first one when modifyOtherKeys has been detected.
|
|
Problem: Some MB_ macros are more complicated than necessary. (Dominique
Pelle)
Solution: Simplify the macros. Expand inline.
|
|
Problem: Various memory leaks reported by asan.
Solution: Free the memory. (Ozaki Kiichi, closes #5003)
|
|
Problem: Recognizing octal numbers is confusing.
Solution: Introduce scriptversion 4: do not use octal and allow for single
quote inside numbers.
|
|
Problem: Code for handling file names is spread out.
Solution: Move code to new filepath.c file. Graduate FEAT_MODIFY_FNAME.
|
|
Problem: The eval.c file is too big.
Solution: Move filter() and map() to list.c.
|
|
Problem: Crash when using nested map() and filter().
Solution: Do not set the v:key type to string without clearing the pointer.
|
|
Problem: More code can be moved to evalvars.c.
Solution: Move code to where it fits better. (Yegappan Lakshmanan,
closes #4883)
|
|
Problem: More code can be moved to evalvars.c.
Solution: Move it, clean up comments. Also move some window related
functions to window.c. (Yegappan Lakshmanan, closes #4874)
|
|
Problem: Script tests fail.
Solution: Don't set vimvars type in set_vim_var_nr().
|
|
Problem: Code for handling v: variables in generic eval file.
Solution: Move v: variables to evalvars.c. (Yegappan Lakshmanan,
closes #4872)
|
|
Problem: The eval.c file is too big.
Solution: Move code related to variables to evalvars.c. (Yegappan
Lakshmanan, closes #4868)
|
|
Problem: Not easy to compute the space on the command line.
Solution: Add v:echospace. (Daniel Hahler, closes #4732)
|
|
Problem: Not checking for out-of-memory of autoload_name().
Solution: Check for NULL. (Dominique Pelle, closes #4846)
|
|
Problem: Functions used in one file are global.
Solution: Add "static". (Yegappan Lakshmanan, closes #4840)
|
|
Problem: The +cmdline_compl feature is not in the tiny version.
Solution: Graduate the +cmdline_compl feature.
|
|
Problem: Negative float before method not parsed correctly.
Solution: Apply "!" and "-" in front of expression before using ->.
|
|
Problem: Cannot use a lambda as a method.
Solution: Implement ->{lambda}(). (closes #4768)
|
|
Problem: Not strict enough checking syntax of method invocation.
Solution: Check there is no white space inside ->method(.
|
|
Problem: Using expr->FuncRef() does not work.
Solution: Make FuncRef work as a method.
|
|
Problem: Cannot use a user defined function as a method.
Solution: Pass the base as the first argument to the user defined function
after "->". (partly by FUJIWARA Takuya)
|
|
Problem: All builtin functions are global.
Solution: Add the method call operator ->. Implemented for a limited number
of functions.
|
|
Problem: Function call functions have too many arguments.
Solution: Pass values in a funcexe_T struct.
|
|
Problem: Code for writing session file is spread out.
Solution: Put it in one file. (Yegappan Lakshmanan, closes #4728)
|
|
Problem: Code for viminfo support is spread out.
Solution: Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686)
|
|
Problem: Heredoc assignment has no room for new features. (FUJIWARA Takuya)
Solution: Require the marker does not start with a lower case character.
(closes #4705)
|
|
Problem: Error when scriptversion is 2 a making a dictionary access.
Solution: Parse the subscript even when not evaluating the sub-expression.
(closes #4704)
|
|
Problem: Using ~{} for a literal dict is not nice.
Solution: Use #{} instead.
|
|
Problem: Using *{} for literal dict is not backwards compatible. (Yasuhiro
Matsumoto)
Solution: Use ~{} instead.
|
|
Problem: The evalfunc.c file is too big.
Solution: Move testing support to a separate file.
|
|
Problem: "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto)
Solution: Check for the "{".
|
|
Problem: Dictionary with string keys is longer than needed.
Solution: Use *{key: val} for literaly keys.
|
|
Problem: Assert_fails() does not fail inside try/catch.
Solution: Set trylevel to zero. (Ozaki Kiichi, closes #4639)
|
|
Problem: Changing an autoload name into a script file name is inefficient.
Solution: Remember the last replaced #. (Ozaki Kiichi, closes #4618)
|
|
Problem: In :let-heredoc line continuation is recognized.
Solution: Do not consume line continuation. (Ozaki Kiichi, closes #4580)
|
|
Problem: :let-heredoc does not trim enough.
Solution: Trim indent from the contents based on the indent of the first
line. Use let-heredoc in more tests.
|
|
Problem: Set_ref_in_list() only sets ref in items.
Solution: Rename to set_ref_in_list_items() to avoid confusion.
|
|
Problem: Callbacks may be garbage collected.
Solution: Set reference in callbacks. (Ozaki Kiichi, closes #4564)
|
|
Problem: An OptionSet autocommand does not get enough info.
Solution: Add v:option_command, v:option_oldlocal and v:option_oldglobal.
(Latrice Wilgus, closes #4118)
|
|
Problem: Not easy to define a variable and lock it.
Solution: Add ":const".
|
|
Problem: No numerical value for the patchlevel.
Solution: Add v:versionlong.
|
|
Problem: When skipping over code after an exception was thrown expression
evaluation is aborted after a function call. (Ingo Karkat)
Solution: Do not fail if not executing the expression. (closes #4507)
|
|
Problem: Double free when garbage_collect() is used in autocommand.
Solution: Have garbage collection also set the copyID in funccal_stack.
|
|
Problem: Some tests are slow.
Solution: Add timing to the test messages. Fix double free when quitting in
VimLeavePre autocmd.
|
|
Problem: Code to handle callbacks is duplicated.
Solution: Add callback_T and functions to deal with it.
|
|
Problem: Alloc() returning "char_u *" causes a lot of type casts.
Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to
check the simple allocations.
|
|
Problem: Using global pointer for tab-local popups is clumsy.
Solution: Use the pointer in tabpage_T.
|