summaryrefslogtreecommitdiffstats
path: root/src/dict.c
AgeCommit message (Collapse)Author
2020-01-26patch 8.2.0149: maintaining a Vim9 branch separately is more workv8.2.0149Bram Moolenaar
Problem: Maintaining a Vim9 branch separately is more work. Solution: Merge the Vim9 script changes.
2020-01-11patch 8.2.0111: VAR_SPECIAL is also used for booleansv8.2.0111Bram Moolenaar
Problem: VAR_SPECIAL is also used for booleans. Solution: Add VAR_BOOL for better type checking.
2020-01-04patch 8.2.0086: build error for small versionv8.2.0086Bram Moolenaar
Problem: Build error for small version. (Tony Mechelynck) Solution: Only use "user_data" with the +eval feature. Remove unused variable.
2020-01-04patch 8.2.0084: complete item "user_data" can only be a stringv8.2.0084Bram Moolenaar
Problem: Complete item "user_data" can only be a string. Solution: Accept any type of variable. (closes #5412)
2019-12-01patch 8.1.2378: using old C style commentsv8.1.2378Bram Moolenaar
Problem: Using old C style comments. Solution: Use // comments where appropriate.
2019-09-28patch 8.1.2095: leaking memory when getting item from dictv8.1.2095Bram Moolenaar
Problem: Leaking memory when getting item from dict. Solution: Also free the key when not evaluating.
2019-08-30patch 8.1.1949: cannot scroll a popup window to the very bottomv8.1.1949Bram Moolenaar
Problem: Cannot scroll a popup window to the very bottom. Solution: Scroll to the bottom when the "firstline" property was set to -1. (closes #4577) Allow resetting min/max width/height.
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-07patch 8.1.1825: allocating more memory than needed for extended structsv8.1.1825Bram Moolenaar
Problem: Allocating more memory than needed for extended structs. Solution: Use offsetof() instead of sizeof(). (Dominique Pelle, closes #4785)
2019-07-27patch 8.1.1763: evalfunc.c is still too bigv8.1.1763Bram Moolenaar
Problem: Evalfunc.c is still too big. Solution: Move dict and list functions to a better place.
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-06-22patch 8.1.1579: dict and list could be GC'ed while displaying errorv8.1.1579Bram Moolenaar
Problem: Dict and list could be GC'ed while displaying error in a timer. (Yasuhiro Matsumoto) Solution: Block garbage collection when executing a timer. Add test_garbagecollect_soon(). Add "no_wait_return" to test_override(). (closes #4571)
2019-06-16patch 8.1.1561: popup_setoptions() is not implemented yetv8.1.1561Bram Moolenaar
Problem: Popup_setoptions() is not implemented yet. Solution: Implement popup_setoptions(). Also add more fields to popup_getoptions().
2019-06-02patch 8.1.1452: line and col property of popup windows not properly checkedv8.1.1452Bram Moolenaar
Problem: Line and col property of popup windows not properly checked. Solution: Check for "+" or "-" sign.
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-25patch 8.1.1393: unnecessary type castsv8.1.1393Bram Moolenaar
Problem: Unnecessary type casts. Solution: Remove type casts from alloc() and lalloc() calls. (Mike Williams)
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-04-28patch 8.1.1228: not possible to process tags with a functionv8.1.1228Bram Moolenaar
Problem: Not possible to process tags with a function. Solution: Add tagfunc() (Christian Brabandt, Andy Massimino, closes #4010)
2019-04-08patch 8.1.1138: plugins don't get notified when the popup menu changesv8.1.1138Bram Moolenaar
Problem: Plugins don't get notified when the popup menu changes. Solution: Add the CompleteChanged event. (Andy Massimino. closes #4176)
2019-02-11patch 8.1.0897: can modify a:000 when using a referencev8.1.0897Bram Moolenaar
Problem: Can modify a:000 when using a reference. Solution: Make check for locked variable stricter. (Ozaki Kiichi, closes #3930)
2019-01-13patch 8.1.0743: giving error messages is not flexiblev8.1.0743Bram Moolenaar
Problem: Giving error messages is not flexible. Solution: Add semsg(). Change argument from "char_u *" to "char *", also for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes #3302) Also make emsg() accept a "char *" argument. Get rid of an enormous number of type casts.
2018-12-26patch 8.1.0642: swapinfo() leaks memoryv8.1.0642Bram Moolenaar
Problem: swapinfo() leaks memory. Solution: Avoid allocating the strings twice.
2018-12-21patch 8.1.0615: get_tv function names are not consistentv8.1.0615Bram Moolenaar
Problem: Get_tv function names are not consistent. Solution: Rename to tv_get.
2018-12-14patch 8.1.0583: using illogical name for get_dict_number()/get_dict_string()v8.1.0583Bram Moolenaar
Problem: Using illogical name for get_dict_number()/get_dict_string(). Solution: Rename to start with dict_.
2018-11-11patch 8.1.0519: cannot save and restore the tag stackv8.1.0519Bram Moolenaar
Problem: Cannot save and restore the tag stack. Solution: Add gettagstack() and settagstack(). (Yegappan Lakshmanan, closes #3604)
2018-07-08patch 8.1.0167: lock flag in new dictitem is reset in many placesv8.1.0167Bram Moolenaar
Problem: Lock flag in new dictitem is reset in many places. Solution: Always reset the lock flag.
2018-07-08patch 8.1.0166: using dict_add_nr_str() is clumsyv8.1.0166Bram Moolenaar
Problem: Using dict_add_nr_str() is clumsy. Solution: Split into two functions. (Ozaki Kiichi, closes #3154)
2017-12-16patch 8.0.1394: cannot intercept a yank commandv8.0.1394Bram Moolenaar
Problem: Cannot intercept a yank command. Solution: Add the TextYankPost autocommand event. (Philippe Vaucher et al., closes #2333)
2017-04-30patch 8.0.0593: duplication of code for adding a list or dict return valuev8.0.0593Bram Moolenaar
Problem: Duplication of code for adding a list or dict return value. Solution: Add rettv_dict_set() and rettv_list_set(). (Yegappan Lakshmanan)
2017-03-14patch 8.0.0458: potential crash if adding list or dict to dict failsv8.0.0458Bram Moolenaar
Problem: Potential crash if adding list or dict to dict fails. Solution: Make sure the reference count is correct. (Nikolai Pavlov, closes #1555)
2017-02-25patch 8.0.0365: might free a dict item that wasn't allocatedv8.0.0365Bram Moolenaar
Problem: Might free a dict item that wasn't allocated. Solution: Call dictitem_free(). (Nikolai Pavlov) Use this for b:changedtick.
2016-11-10patch 8.0.0074v8.0.0074Bram Moolenaar
Problem: Cannot make Vim fail on an internal error. Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an internal error without mentioning where.
2016-08-29patch 7.4.2293v7.4.2293Bram Moolenaar
Problem: Modelines in source code are inconsistant. Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
2016-08-12patch 7.4.2204v7.4.2204Bram Moolenaar
Problem: It is not easy to get information about buffers, windows and tabpages. Solution: Add getbufinfo(), getwininfo() and gettabinfo(). (Yegappan Lakshmanan)
2016-08-05patch 7.4.2160v7.4.2160Bram Moolenaar
Problem: setmatches() mixes up values. (Nikolai Pavlov) Solution: Save the string instead of reusing a shared buffer.
2016-07-17patch 7.4.2057v7.4.2057Bram Moolenaar
Problem: eval.c is too big. Solution: Move List functions to list.c
2016-07-17patch 7.4.2055v7.4.2055Bram Moolenaar
Problem: eval.c is too big. Solution: Move Dictionary functions to dict.c.