summaryrefslogtreecommitdiffstats
path: root/src/map.c
AgeCommit message (Collapse)Author
2024-04-16patch 9.1.0341: Problem: a few memory leaks are foundv9.1.0341Christian Brabandt
Problem: a few memory leaks are found (LuMingYinDetect ) Solution: properly free the memory Fixes the following problems: - Memory leak in f_maplist() fixes: #14486 - Memory leak in option.c fixes: #14485 - Memory leak in f_resolve() fixes: #14484 - Memory leak in f_autocmd_get() related: #14474 - Memory leak in dict_extend_func() fixes: #14477 fixes: #14238 closes: #14517 Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05patch 9.0.2153: no support to build on OpenVMSv9.0.2153Zoltan Arpadffy
Problem: no support to build on OpenVMS Solution: Add OpenVMS X86_64 platform port closes: #13623 Co-authored-by: errael <errael@raelity.com> Co-authored-by: K.Takata <kentkt@csc.jp> Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01patch 9.0.2142: [security]: stack-buffer-overflow in option callback functionsv9.0.2142Christian Brabandt
Problem: [security]: stack-buffer-overflow in option callback functions Solution: pass size of errbuf down the call stack, use snprintf() instead of sprintf() We pass the error buffer down to the option callback functions, but in some parts of the code, we simply use sprintf(buf) to write into the error buffer, which can overflow. So let's pass down the length of the error buffer and use sprintf(buf, size) instead. Reported by @henices, thanks! Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-11patch 9.0.1687: mapset() not properly handling script IDv9.0.1687zeertzjq
Problem: mapset() not properly handling script ID Solution: replace_termcodes() may accept a script ID closes: #12699 closes: #12697 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-05-31patch 9.0.1594: some internal error messages are translatedv9.0.1594RestorerZ
Problem: Some internal error messages are translated. Solution: Consistently do not translate internal error messages. (closes #12459)
2023-04-15patch 9.0.1454: code indenting is confused by macrosv9.0.1454ichizok
Problem: Code indenting is confused by macros. Solution: Put semicolon after the macros instead of inside. (Ozaki Kiichi, closes #12257)
2023-04-07patch 9.0.1442: mapset() does not restore non-script contextv9.0.1442zeertzjq
Problem: mapset() does not restore non-script context. Solution: Also accept negative sid. (closes #12132)
2023-02-27patch 9.0.1359: too many "else if" statements in handling optionsv9.0.1359Yegappan Lakshmanan
Problem: Too many "else if" statements in handling options. Solution: Add more functions for handling option changes. (Yegappan Lakshmanan, closes #12060)
2023-02-20patch 9.0.1330: handling new value of an option has a long "else if" chainv9.0.1330Yegappan Lakshmanan
Problem: Handling new value of an option has a long "else if" chain. Solution: Use a function pointer. (Yegappan Lakshmanan, closes #12015)
2023-02-19patch 9.0.1329: completion of map includes simplified onesv9.0.1329zeertzjq
Problem: Completion of map includes simplified ones. Solution: Do not complete simplified mappings. (closes #12013)
2023-01-27patch 9.0.1251: checking returned value of ga_grow() is inconsistentv9.0.1251Yegappan Lakshmanan
Problem: Checking returned value of ga_grow() is inconsistent. Solution: Check for FAIL instaed of "not OK". (Yegappan Lakshmanan, closes #11897)
2023-01-14patch 9.0.1196: code is indented more than necessaryv9.0.1196Yegappan Lakshmanan
Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes #11813)
2022-12-16patch 9.0.1065: a shell command switching screens may still have a problemv9.0.1065Bram Moolenaar
Problem: A shell command switching screens may still have a problem with the kitty keyboard protocol. Solution: Disable the kitty keyboard protocol both in the current and the alternate screen, if there are indications it might be needed. (issue #11705) Also fix naming.
2022-11-26patch 9.0.0954: cannot detect whether modifyOtherKeys is enabledv9.0.0954Bram Moolenaar
Problem: Cannot detect whether modifyOtherKeys is enabled. Solution: Use XTQMODKEYS introduced by xterm version 377 to request the modifyOtherKeys level. Update the keycode check results.
2022-11-23patch 9.0.0930: cannot debug the Kitty keyboard protocol with TermDebugv9.0.0930Bram Moolenaar
Problem: Cannot debug the Kitty keyboard protocol with TermDebug. Solution: Add Kitty keyboard protocol support to the libvterm fork. Recognize the escape sequences that the protocol generates. Add the 'keyprotocol' option to allow the user to specify for which terminal what protocol is to be used, instead of hard-coding this. Add recognizing the kitty keyboard protocol status.
2022-11-13patch 9.0.0873: using freed memory when executing mapclear at more promptv9.0.0873Bram Moolenaar
Problem: Using freed memory when executing mapclear at the more prompt. Solution: Do not clear mappings while listing them. (closes #11438)
2022-10-19patch 9.0.0794: there is no way to find out if modifyOtherKeys has been seenv9.0.0794Bram Moolenaar
Problem: There is no way to find out if an escape sequence with modifyOtherKeys has been seen. Solution: Add a notice with ":verbose map".
2022-10-04patch 9.0.0660: mapping with CTRL keys does not work in the GUIv9.0.0660zeertzjq
Problem: Mapping with CTRL keys does not work in the GUI. Solution: Recognize CSI next to K_SPECIAL. (closes #11275, closes #11270)
2022-10-04patch 9.0.0657: too many #ifdefsv9.0.0657Martin Tournoij
Problem: Too many #ifdefs. Solution: Graduate the +cmdwin feature. Now the tiny and small builds are equal, drop the small build. (Martin Tournoij, closes #11268)
2022-10-01patch 9.0.0634: evaluating "expr" options has more overhead than neededv9.0.0634Bram Moolenaar
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'.
2022-09-12patch 9.0.0449: there is no easy way to translate a key code into a stringv9.0.0449zeertzjq
Problem: There is no easy way to translate a string with a key code into a readable string. Solution: Add the keytrans() function. (closes #11114)
2022-08-31patch 9.0.0341: mapset() does not restore <Nop> mapping properlyv9.0.0341zeertzjq
Problem: mapset() does not restore <Nop> mapping properly. Solution: Use an empty string for <Nop>. (closes #11022)
2022-08-30patch 9.0.0335: checks for Dictionary argument often give a vague errorv9.0.0335Yegappan Lakshmanan
Problem: Checks for Dictionary argument often give a vague error message. Solution: Give a useful error message. (Yegappan Lakshmanan, closes #11009)
2022-08-01patch 9.0.0127: unused variablev9.0.0127zeertzjq
Problem: Unused variable. Solution: Remove the variable. (closes #10829)
2022-07-23patch 9.0.0063: too many type casts for dict_get functionsv9.0.0063Bram Moolenaar
Problem: Too many type casts for dict_get functions. Solution: Change the key argument from "char_u *" to "char *".
2022-06-29patch 9.0.0002: map functionality outside of map.cv9.0.0002zeertzjq
Problem: Map functionality outside of map.c. Solution: Move f_hasmapto() to map.c. Rename a function. (closes #10611)
2022-06-18patch 8.2.5125: MS-Windows: warnings from MinGW compilerv8.2.5125Yasuhiro Matsumoto
Problem: MS-Windows: warnings from MinGW compyler. Solution: Use "volatile". (Yasuhiro Matsumoto, closes #10589) Initialize variable.
2022-06-16patch 8.2.5107: some callers of rettv_list_alloc() check for not OKv8.2.5107Bram Moolenaar
Problem: Some callers of rettv_list_alloc() check for not OK. (Christ van Willegen) Solution: Use "==" instead of "!=" when checking the return value.
2022-06-16patch 8.2.5106: default cmdwin mappings are re-mappablev8.2.5106zeertzjq
Problem: Default cmdwin mappings are re-mappable. Solution: Make the default mappings not re-mappable. (closes #10580) Use symbols for the first do_map() argument.
2022-05-27patch 8.2.5029: "textlock" is always zerov8.2.5029zeertzjq
Problem: "textlock" is always zero. Solution: Remove "textlock" and rename "textwinlock" to "textlock". (closes #10489)
2022-05-10patch 8.2.4932: not easy to filter the output of maplist()v8.2.4932Ernie Rael
Problem: Not easy to filter the output of maplist(). Solution: Add mode_bits to the dictionary. (Ernie Rael, closes #10356)
2022-05-07patch 8.2.4911: the mode #defines are not clearly namedv8.2.4911Bram Moolenaar
Problem: The mode #defines are not clearly named. Solution: Prepend MODE_. Renumber them to put the mapped modes first.
2022-05-04patch 8.2.4867: listing of mapping with K_SPECIAL is wrongv8.2.4867zeertzjq
Problem: Listing of mapping with K_SPECIAL is wrong. Solution: Adjust escaping of special characters. (closes #10351)
2022-05-04patch 8.2.4861: it is not easy to restore saved mappingsv8.2.4861Ernie Rael
Problem: It is not easy to restore saved mappings. Solution: Make mapset() accept a dict argument. (Ernie Rael, closes #10295)
2022-04-26patch 8.2.4831: crash when using maparg() and unmapping simplified keysv8.2.4831zeertzjq
Problem: Crash when using maparg() and unmapping simplified keys. Solution: Do not keep a mapblock pointer. (closes #10294)
2022-04-26patch 8.2.4828: fix for unmapping simplified key not fully testedv8.2.4828zeertzjq
Problem: Fix for unmapping simplified key not fully tested. Solution: Add a test case. (closes #10292)
2022-04-25patch 8.2.4827: typo in variable namev8.2.4827Bram Moolenaar
Problem: Typo in variable name. (Gabriel Dupras) Solution: Rename the variable.
2022-04-25patch 8.2.4825: can only get a list of mappingsv8.2.4825Ernie Rael
Problem: Can only get a list of mappings. Solution: Add the optional {abbr} argument. (Ernie Rael, closes #10277) Rename to maplist(). Rename test file.
2022-04-25patch 8.2.4824: expression is evaluated multiple timesv8.2.4824zeertzjq
Problem: Expression is evaluated multiple times. Solution: Evaluate expression once and store the result. (closes #10278)
2022-04-24patch 8.2.4820: not simple programmatic way to find a specific mappingv8.2.4820Ernie Rael
Problem: Not simple programmatic way to find a specific mapping. Solution: Add getmappings(). (Ernie Rael, closes #10273)
2022-04-24patch 8.2.4819: unmapping simplified keys also deletes other mappingv8.2.4819zeertzjq
Problem: Unmapping simplified keys also deletes other mapping. Solution: Only unmap a mapping with m_simplified set. (closes #10270)
2022-02-28patch 8.2.4483: command completion makes two rounds to collect matchesv8.2.4483Yegappan Lakshmanan
Problem: Command completion makes two rounds to collect matches. Solution: Use a growarray to collect matches. (Yegappan Lakshmanan, closes #9860)
2022-02-27patch 8.2.4479: no fuzzy completieon for maps and abbreviationsv8.2.4479Yegappan Lakshmanan
Problem: No fuzzy completieon for maps and abbreviations. Solution: Fuzzy complete maps and abbreviations. (Yegappan Lakshmanan, closes #9856)
2022-02-16patch 8.2.4401: map listing does not clear the rest of the command linev8.2.4401Bram Moolenaar
Problem: Map listing does not clear the rest of the command line. Solution: Call msg_clear_eos(). (closes #5623, closes #5962)
2022-01-31patch 8.2.4273: the EBCDIC support is outdatedv8.2.4273Bram Moolenaar
Problem: The EBCDIC support is outdated. Solution: Remove the EBCDIC support.
2022-01-20patch 8.2.4150: Coverity warns for using pointer after freev8.2.4150Bram Moolenaar
Problem: Coverity warns for using pointer after free. Solution: Swap statements, even though using the pointer is no problem.
2022-01-19patch 8.2.4148: deleting any mapping may cause <ScritpCmd> to failv8.2.4148Bram Moolenaar
Problem: Deleting any mapping may cause <ScritpCmd> to not set the script context. Solution: Only reset last_used_map if it is the deleted mapping. (closes #9568)
2022-01-18patch 8.2.4140: maparg() does not indicate the type of scriptv8.2.4140Bram Moolenaar
Problem: maparg() does not indicate the type of script where it was defined. Solution: Add "scriptversion".
2022-01-18patch 8.2.4139: using freed memory in expression abbreviationv8.2.4139Bram Moolenaar
Problem: Using freed memory if an expression abbreviation deletes the abbreviation. Solution: Do not access the pointer after evaluating the expression.
2022-01-16patch 8.2.4111: potential proglem when map is deleted while executingv8.2.4111Bram Moolenaar
Problem: Potential proglem when map is deleted while executing. Solution: Reset last used map pointer when deleting a mapping.