0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00

106 Commits

Author SHA1 Message Date
Bram Moolenaar
0f18b6d17b patch 8.2.0199: Vim9 script commands not sufficiently tested
Problem:    Vim9 script commands not sufficiently tested.
Solution:   Add more tests.  Fix script-local function use.
2020-02-02 17:22:27 +01:00
Bram Moolenaar
a259d8d30b patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Problem:    Vim9 script: cannot use "if has()" to skip lines.
Solution:   Evaluate constant expression at runtime.
2020-01-31 20:10:50 +01:00
Bram Moolenaar
9a5e5a3e33 patch 8.2.0171: Coverity warning for using uninitialized buffer
Problem:    Coverity warning for using uninitialized buffer.
Solution:   Check the skip flag.
2020-01-28 23:09:23 +01:00
Bram Moolenaar
50985eb1f0 patch 8.2.0159: non-materialized range() list causes problems
Problem:    Non-materialized range() list causes problems. (Fujiwara Takuya)
Solution:   Materialize the list where needed.
2020-01-27 22:09:39 +01:00
Bram Moolenaar
673660ab00 patch 8.2.0150: cannot define python function when using :execute
Problem:    Cannot define python function when using :execute. (Yasuhiro
            Matsumoto)
Solution:   Do not recognize "def" inside "function.
2020-01-26 16:50:05 +01:00
Bram Moolenaar
8a7d6542b3 patch 8.2.0149: maintaining a Vim9 branch separately is more work
Problem:    Maintaining a Vim9 branch separately is more work.
Solution:   Merge the Vim9 script changes.
2020-01-26 15:56:19 +01:00
Bram Moolenaar
e31ee86859 patch 8.2.0098: exe stack length can be wrong without being detected
Problem:    Exe stack length can be wrong without being detected.
Solution:   Add a check when ABORT_ON_INTERNAL_ERROR is defined.
2020-01-07 20:59:34 +01:00
Bram Moolenaar
b9adef79ec patch 8.2.0078: expanding <sfile> works differently the second time
Problem:    Expanding <sfile> works differently the second time.
Solution:   Keep the expanded name when redefining a function. (closes #5425)
2020-01-02 14:31:22 +01:00
Bram Moolenaar
ef140544f6 patch 8.2.0067: ERROR_UNKNOWN clashes on some systems
Problem:    ERROR_UNKNOWN clashes on some systems.
Solution:   Rename ERROR_ to FCERR_. (Ola Söder, closes #5415)
2019-12-31 21:27:13 +01:00
Bram Moolenaar
1a47ae32cd patch 8.2.0056: execution stack is incomplete and inefficient
Problem:    Execution stack is incomplete and inefficient.
Solution:   Introduce a proper execution stack and use it instead of
            sourcing_name/sourcing_lnum.  Create a string only when used.
2019-12-29 23:04:25 +01:00
Bram Moolenaar
eac7ce01e9 patch 8.2.0042: clearing funccal values twice
Problem:    Clearing funccal values twice.
Solution:   Remove clearing individual fields.
2019-12-25 15:04:03 +01:00
Bram Moolenaar
ddef129160 patch 8.2.0013: not using a typedef for condstack
Problem:    Not using a typedef for condstack.
Solution:   Add a typedef.
2019-12-16 17:10:33 +01:00
Bram Moolenaar
e38eab22c1 patch 8.1.2396: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-05 21:50:01 +01:00
Bram Moolenaar
4c054e9fb2 patch 8.1.2282: crash when passing many arguments through a partial
Problem:    Crash when passing many arguments through a partial. (Andy
            Massimino)
Solution:   Check the number of arguments. (closes #5186)
2019-11-10 00:13:50 +01:00
Bram Moolenaar
b0745b221d patch 8.1.2280: crash when passing partial to substitute()
Problem:    Crash when passing partial to substitute().
Solution:   Take extra arguments into account. (closes #5186)
2019-11-09 22:28:11 +01:00
Bram Moolenaar
1e673b9eb6 patch 8.1.2262: unpack assignment in function not recognized
Problem:    Unpack assignment in function not recognized.
Solution:   Skip over "[a, b]". (closes #5051)
2019-11-06 15:02:50 +01:00
Bram Moolenaar
14c01f8348 patch 8.1.2127: the indent.c file is a bit big
Problem:    The indent.c file is a bit big.
Solution:   Move C-indent code a a new cindent.c file.  Move other
            indent-related code to indent.c. (Yegappan Lakshmanan,
            closes #5031)
2019-10-09 22:53:08 +02:00
Bram Moolenaar
0e57dd859e patch 8.1.2047: cannot check the current state
Problem:    Cannot check the current state.
Solution:   Add the state() function.
2019-09-16 22:56:03 +02:00
Bram Moolenaar
c507a2d164 patch 8.1.1938: may crash when out of memory
Problem:    May crash when out of memory.
Solution:   Initialize v_type to VAR_UNKNOWN. (Dominique Pelle, closes #4871)
2019-08-29 21:32:55 +02:00
Bram Moolenaar
e2c453d38f patch 8.1.1901: the +insert_expand feature is not always available
Problem:    The +insert_expand feature is not always available.
Solution:   Graduate the +insert_expand feature.
2019-08-21 14:37:09 +02:00
Bram Moolenaar
0a52df50a0 patch 8.1.1887: the +cmdline_compl feature is not in the tiny version
Problem:    The +cmdline_compl feature is not in the tiny version.
Solution:   Graduate the +cmdline_compl feature.
2019-08-18 22:26:31 +02:00
Bram Moolenaar
9cfe8f6e68 patch 8.1.1878: negative float before method not parsed correctly
Problem:    Negative float before method not parsed correctly.
Solution:   Apply "!" and "-" in front of expression before using ->.
2019-08-17 21:04:16 +02:00
Bram Moolenaar
9174639a82 patch 8.1.1863: confusing error when using a builtin function as method
Problem:    Confusing error when using a builtin function as method while it
            does not support that.
Solution:   Add a specific error message.
2019-08-16 22:22:31 +02:00
Bram Moolenaar
47ed553fd5 patch 8.1.1827: allocating more memory than needed for extended structs
Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4786)
2019-08-08 20:49:14 +02:00
Bram Moolenaar
761fdf01c6 patch 8.1.1820: using expr->FuncRef() does not work
Problem:    Using expr->FuncRef() does not work.
Solution:   Make FuncRef work as a method.
2019-08-05 23:10:16 +02:00
Bram Moolenaar
fcfe1a9b89 patch 8.1.1816: cannot use a user defined function 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)
2019-08-04 23:04:39 +02:00
Bram Moolenaar
ac92e25a33 patch 8.1.1803: all builtin functions are global
Problem:    All builtin functions are global.
Solution:   Add the method call operator ->.  Implemented for a limited number
            of functions.
2019-08-03 21:58:38 +02:00
Bram Moolenaar
c6538bcc1c patch 8.1.1800: function call functions have too many arguments
Problem:    Function call functions have too many arguments.
Solution:   Pass values in a funcexe_T struct.
2019-08-03 18:17:11 +02:00
Bram Moolenaar
ecaa75b4ce patch 8.1.1729: heredoc with trim not properly handled in function
Problem:    Heredoc with trim not properly handled in function.
Solution:   Allow for missing indent. (FUJIWARA Takuya, closes #4713)
2019-07-21 23:04:21 +02:00
Bram Moolenaar
660a10ad41 patch 8.1.1689: profiling code is spread out
Problem:    Profiling code is spread out.
Solution:   Move more profiling code to profiler.c. (Yegappan Lakshmanan,
            closes #4668)
2019-07-14 15:48:38 +02:00
Bram Moolenaar
fa55cfc69d patch 8.1.1684: profiling functionality is spread out
Problem:    Profiling functionality is spread out.
Solution:   Put profiling functionality in profiling.c. (Yegappan Lakshmanan,
            closes #4666)
2019-07-13 22:59:32 +02:00
Bram Moolenaar
bc2cfe4672 patch 8.1.1625: script line numbers are not exactly right
Problem:    Script line numbers are not exactly right.
Solution:   Handle heredoc and continuation lines better. (Ozaki Kiichi,
            closes #4611, closes #4511)
2019-07-04 14:57:12 +02:00
Bram Moolenaar
e96a2498f9 patch 8.1.1588: in :let-heredoc line continuation is recognized
Problem:    In :let-heredoc line continuation is recognized.
Solution:   Do not consume line continuation. (Ozaki Kiichi, closes #4580)
2019-06-25 04:12:16 +02:00
Bram Moolenaar
7be3ab2589 patch 8.1.1583: set_ref_in_list() only sets ref in items
Problem:    Set_ref_in_list() only sets ref in items.
Solution:   Rename to set_ref_in_list_items() to avoid confusion.
2019-06-23 01:46:15 +02:00
Bram Moolenaar
75a1a9415b patch 8.1.1575: callbacks may be garbage collected
Problem:    Callbacks may be garbage collected.
Solution:   Set reference in callbacks. (Ozaki Kiichi, closes #4564)
2019-06-20 03:45:36 +02:00
Bram Moolenaar
6e5000d493 patch 8.1.1563: crash when using closures
Problem:    Crash when using closures.
Solution:   Set reference in varlist of funccal when running the garbage
            collector. (Ozaki Kiichi, closes #4554, closes #4547)
2019-06-17 21:18:41 +02:00
Bram Moolenaar
c07f67ad0e patch 8.1.1485: double free when garbage_collect() is used in autocommand
Problem:    Double free when garbage_collect() is used in autocommand.
Solution:   Have garbage collection also set the copyID in funccal_stack.
2019-06-06 19:03:17 +02:00
Bram Moolenaar
3a97bb3f0f patch 8.1.1437: code to handle callbacks is duplicated
Problem:    Code to handle callbacks is duplicated.
Solution:   Add callback_T and functions to deal with it.
2019-06-01 13:28:35 +02:00
Bram Moolenaar
c799fe206e patch 8.1.1414: alloc() returning "char_u *" causes a lot of type casts
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-28 23:08:19 +02:00
Bram Moolenaar
18a4ba29ae patch 8.1.1386: unessesary type casts for lalloc()
Problem:    Unessesary type casts for lalloc().
Solution:   Remove type casts.  Change lalloc(size, TRUE) to alloc(size).
2019-05-24 19:39:03 +02:00
Bram Moolenaar
964b3746b9 patch 8.1.1384: using "int" for alloc() often results in compiler warnings
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-24 18:54:09 +02:00
Bram Moolenaar
8471e57026 patch 8.1.1356: some text in heredoc assignment ends the text
Problem:    Some text in heredoc assignment ends the text. (Ozaki Kiichi)
Solution:   Recognize "let v =<<" and skip until the end.
2019-05-19 21:37:18 +02:00
Bram Moolenaar
6ed8819822 patch 8.1.1319: computing function length name in many places
Problem:    Computing function length name in many places.
Solution:   compute name length in call_func().
2019-05-11 18:37:44 +02:00
Bram Moolenaar
42ae78cfff patch 8.1.1310: named function arguments are never optional
Problem:    Named function arguments are never optional.
Solution:   Support optional function arguments with a default value. (Andy
            Massimino, closes #3952)
2019-05-09 21:08:58 +02:00
Bram Moolenaar
eae1b91fea patch 8.1.1306: Borland support is outdated and doesn't work
Problem:    Borland support is outdated and doesn't work.
Solution:   Remove Borland support, there are other (free) compilers
            available. (Thomas Dziedzic, Ken Takata, closes #4364)
2019-05-09 15:12:55 +02:00
Bram Moolenaar
ad3ec76bb8 patch 8.1.1194: typos and small problems in source files
Problem:    Typos and small problems in source files.
Solution:   Small fixes.
2019-04-21 00:00:13 +02:00
Bram Moolenaar
209b8e3e3b patch 8.1.1007: using closure may consume a lot of memory
Problem:    Using closure may consume a lot of memory.
Solution:   unreference items that are no longer needed. Add a test. (Ozaki
            Kiichi, closes #3961)
2019-03-14 13:43:24 +01:00
Bram Moolenaar
445e71c5ee patch 8.1.0917: double free when running out of memory
Problem:    Double free when running out of memory.
Solution:   Remove one free. (Ken Takata, closes #3955)
2019-02-14 13:43:36 +01:00
Bram Moolenaar
05c00c038b patch 8.1.0897: can modify a:000 when using a reference
Problem:    Can modify a:000 when using a reference.
Solution:   Make check for locked variable stricter. (Ozaki Kiichi,
            closes #3930)
2019-02-11 22:00:11 +01:00
Bram Moolenaar
31b816042f patch 8.1.0888: the a: dict is not immutable as documented
Problem:    The a: dict is not immutable as documented.
Solution:   Make the a:dict immutable, add a test. (Ozaki Kiichi, Yasuhiro
            Matsumoto, closes #3929)
2019-02-10 22:14:27 +01:00