summaryrefslogtreecommitdiffstats
path: root/src/eval.c
AgeCommit message (Collapse)Author
2019-09-02patch 8.1.1964: crash when using nested map() and filter()v8.1.1964Bram Moolenaar
Problem: Crash when using nested map() and filter(). Solution: Do not set the v:key type to string without clearing the pointer.
2019-09-01patch 8.1.1957: more code can be moved to evalvars.cv8.1.1957Bram Moolenaar
Problem: More code can be moved to evalvars.c. Solution: Move code to where it fits better. (Yegappan Lakshmanan, closes #4883)
2019-08-30patch 8.1.1943: more code can be moved to evalvars.cv8.1.1943Bram Moolenaar
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)
2019-08-29patch 8.1.1940: script tests failv8.1.1940Bram Moolenaar
Problem: Script tests fail. Solution: Don't set vimvars type in set_vim_var_nr().
2019-08-29patch 8.1.1939: code for handling v: variables in generic eval filev8.1.1939Bram Moolenaar
Problem: Code for handling v: variables in generic eval file. Solution: Move v: variables to evalvars.c. (Yegappan Lakshmanan, closes #4872)
2019-08-27patch 8.1.1933: the eval.c file is too bigv8.1.1933Bram Moolenaar
Problem: The eval.c file is too big. Solution: Move code related to variables to evalvars.c. (Yegappan Lakshmanan, closes #4868)
2019-08-23patch 8.1.1913: not easy to compute the space on the command linev8.1.1913Bram Moolenaar
Problem: Not easy to compute the space on the command line. Solution: Add v:echospace. (Daniel Hahler, closes #4732)
2019-08-20patch 8.1.1894: not checking for out-of-memory of autoload_name()v8.1.1894Bram Moolenaar
Problem: Not checking for out-of-memory of autoload_name(). Solution: Check for NULL. (Dominique Pelle, closes #4846)
2019-08-20patch 8.1.1891: functions used in one file are globalv8.1.1891Bram Moolenaar
Problem: Functions used in one file are global. Solution: Add "static". (Yegappan Lakshmanan, closes #4840)
2019-08-18patch 8.1.1887: the +cmdline_compl feature is not in the tiny versionv8.1.1887Bram Moolenaar
Problem: The +cmdline_compl feature is not in the tiny version. Solution: Graduate the +cmdline_compl feature.
2019-08-17patch 8.1.1878: negative float before method not parsed correctlyv8.1.1878Bram Moolenaar
Problem: Negative float before method not parsed correctly. Solution: Apply "!" and "-" in front of expression before using ->.
2019-08-09patch 8.1.1834: cannot use a lambda as a methodv8.1.1834Bram Moolenaar
Problem: Cannot use a lambda as a method. Solution: Implement ->{lambda}(). (closes #4768)
2019-08-08patch 8.1.1828: not strict enough checking syntax of method invocationv8.1.1828Bram Moolenaar
Problem: Not strict enough checking syntax of method invocation. Solution: Check there is no white space inside ->method(.
2019-08-05patch 8.1.1820: using expr->FuncRef() does not workv8.1.1820Bram Moolenaar
Problem: Using expr->FuncRef() does not work. Solution: Make FuncRef work as a method.
2019-08-04patch 8.1.1816: cannot use a user defined function as a methodv8.1.1816Bram Moolenaar
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)
2019-08-03patch 8.1.1803: all builtin functions are globalv8.1.1803Bram Moolenaar
Problem: All builtin functions are global. Solution: Add the method call operator ->. Implemented for a limited number of functions.
2019-08-03patch 8.1.1800: function call functions have too many argumentsv8.1.1800Bram Moolenaar
Problem: Function call functions have too many arguments. Solution: Pass values in a funcexe_T struct.
2019-07-28patch 8.1.1766: code for writing session file is spread outv8.1.1766Bram Moolenaar
Problem: Code for writing session file is spread out. Solution: Put it in one file. (Yegappan Lakshmanan, closes #4728)
2019-07-21patch 8.1.1727: code for viminfo support is spread outv8.1.1727Bram Moolenaar
Problem: Code for viminfo support is spread out. Solution: Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686)
2019-07-21patch 8.1.1723: heredoc assignment has no room for new featuresv8.1.1723Bram Moolenaar
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)
2019-07-20patch 8.1.1722: error when scriptversion is 2 a making a dictionary accessv8.1.1722Bram Moolenaar
Problem: Error when scriptversion is 2 a making a dictionary access. Solution: Parse the subscript even when not evaluating the sub-expression. (closes #4704)
2019-07-16patch 8.1.1705: using ~{} for a literal dict is not nicev8.1.1705Bram Moolenaar
Problem: Using ~{} for a literal dict is not nice. Solution: Use #{} instead.
2019-07-14patch 8.1.1692: using *{} for literal dict is not backwards compatiblev8.1.1692Bram Moolenaar
Problem: Using *{} for literal dict is not backwards compatible. (Yasuhiro Matsumoto) Solution: Use ~{} instead.
2019-07-14patch 8.1.1687: the evalfunc.c file is too bigv8.1.1687Bram Moolenaar
Problem: The evalfunc.c file is too big. Solution: Move testing support to a separate file.
2019-07-14patch 8.1.1686: "*" of "*{" is recognized as multipy operatorv8.1.1686Bram Moolenaar
Problem: "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto) Solution: Check for the "{".
2019-07-13patch 8.1.1683: dictionary with string keys is longer than neededv8.1.1683Bram Moolenaar
Problem: Dictionary with string keys is longer than needed. Solution: Use *{key: val} for literaly keys.
2019-07-10patch 8.1.1660: assert_fails() does not fail inside try/catchv8.1.1660Bram Moolenaar
Problem: Assert_fails() does not fail inside try/catch. Solution: Set trylevel to zero. (Ozaki Kiichi, closes #4639)
2019-07-05patch 8.1.1639: changing an autoload name into a file name is inefficientv8.1.1639Bram Moolenaar
Problem: Changing an autoload name into a script file name is inefficient. Solution: Remember the last replaced #. (Ozaki Kiichi, closes #4618)
2019-06-25patch 8.1.1588: in :let-heredoc line continuation is recognizedv8.1.1588Bram Moolenaar
Problem: In :let-heredoc line continuation is recognized. Solution: Do not consume line continuation. (Ozaki Kiichi, closes #4580)
2019-06-24patch 8.1.1585: :let-heredoc does not trim enoughv8.1.1585Bram Moolenaar
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.
2019-06-23patch 8.1.1583: set_ref_in_list() only sets ref in itemsv8.1.1583Bram Moolenaar
Problem: Set_ref_in_list() only sets ref in items. Solution: Rename to set_ref_in_list_items() to avoid confusion.
2019-06-20patch 8.1.1575: callbacks may be garbage collectedv8.1.1575Bram Moolenaar
Problem: Callbacks may be garbage collected. Solution: Set reference in callbacks. (Ozaki Kiichi, closes #4564)
2019-06-15patch 8.1.1542: an OptionSet autocommand does not get enough infov8.1.1542Bram Moolenaar
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)
2019-06-15patch 8.1.1539: not easy to define a variable and lock itv8.1.1539Bram Moolenaar
Problem: Not easy to define a variable and lock it. Solution: Add ":const".
2019-06-14patch 8.1.1526: no numerical value for the patchlevelv8.1.1526Bram Moolenaar
Problem: No numerical value for the patchlevel. Solution: Add v:versionlong.
2019-06-07patch 8.1.1491: when skipping over code a function call may cause troublev8.1.1491Bram Moolenaar
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)
2019-06-06patch 8.1.1485: double free when garbage_collect() is used in autocommandv8.1.1485Bram Moolenaar
Problem: Double free when garbage_collect() is used in autocommand. Solution: Have garbage collection also set the copyID in funccal_stack.
2019-06-06patch 8.1.1484: some tests are slowv8.1.1484Bram Moolenaar
Problem: Some tests are slow. Solution: Add timing to the test messages. Fix double free when quitting in VimLeavePre autocmd.
2019-06-01patch 8.1.1437: code to handle callbacks is duplicatedv8.1.1437Bram Moolenaar
Problem: Code to handle callbacks is duplicated. Solution: Add callback_T and functions to deal with it.
2019-05-28patch 8.1.1414: alloc() returning "char_u *" causes a lot of type castsv8.1.1414Bram Moolenaar
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.
2019-05-26patch 8.1.1400: using global pointer for tab-local popups is clumsyv8.1.1400Bram Moolenaar
Problem: Using global pointer for tab-local popups is clumsy. Solution: Use the pointer in tabpage_T.
2019-05-25patch 8.1.1391: no popup window supportv8.1.1391Bram Moolenaar
Problem: No popup window support. Solution: Add initial code for popup windows. Add the 'wincolor' option.
2019-05-24patch 8.1.1386: unessesary type casts for lalloc()v8.1.1386Bram Moolenaar
Problem: Unessesary type casts for lalloc(). Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size).
2019-05-24patch 8.1.1384: using "int" for alloc() often results in compiler warningsv8.1.1384Bram Moolenaar
Problem: Using "int" for alloc() often results in compiler warnings. Solution: Use "size_t" and remove type casts. Remove alloc_check(), Vim only works with 32 bit ints anyway.
2019-05-19patch 8.1.1355: obvious mistakes are accepted as valid expressionsv8.1.1355Bram Moolenaar
Problem: Obvious mistakes are accepted as valid expressions. Solution: Be more strict about parsing numbers. (Yasuhiro Matsumoto, closes #3981)
2019-05-19patch 8.1.1354: getting a list of text lines is clumsyv8.1.1354Bram Moolenaar
Problem: Getting a list of text lines is clumsy. Solution: Add the =<< assignment. (Yegappan Lakshmanan, closes #4386)
2019-05-11patch 8.1.1319: computing function length name in many placesv8.1.1319Bram Moolenaar
Problem: Computing function length name in many places. Solution: compute name length in call_func().
2019-05-04patch 8.1.1261: no error for quickfix commands with negative rangev8.1.1261Bram Moolenaar
Problem: No error for quickfix commands with negative range. Solution: Add ADDR_UNSIGNED and use it for quickfix commands. Make assert_fails() show the command if the error doesn't match.
2019-04-27patch 8.1.1218: cannot set a directory for a tab pagev8.1.1218Bram Moolenaar
Problem: Cannot set a directory for a tab page. Solution: Add the tab-local directory. (Yegappan Lakshmanan, closes #4212)
2019-04-27patch 8.1.1210: support for user commands is spread outv8.1.1210Bram Moolenaar
Problem: Support for user commands is spread out. No good reason to make user commands optional. Solution: Move user command support to usercmd.c. Always enable the user_commands feature.