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
Bram Moolenaar
889da2f243
patch 8.1.0868: crash if triggering garbage collector after a function call
...
Problem: Crash if triggering garbage collector after a function call.
(Michael Henry)
Solution: Don't call the garbage collector right away, do it later.
(closes #3894 )
2019-02-02 14:02:30 +01:00
Bram Moolenaar
29ddebef40
patch 8.1.0826: too many #ifdefs
...
Problem: Too many #ifdefs.
Solution: Graduate FEAT_VIRTUALEDIT. Adds about 10Kbyte to the code.
2019-01-26 17:28:26 +01:00
Bram Moolenaar
4456ab527a
patch 8.1.0800: may use a lot of memory when a function refers itself
...
Problem: May use a lot of memory when a function creates a cyclic
reference.
Solution: After saving a funccal many times, invoke the garbage collector.
(closes #3835 )
2019-01-23 23:00:30 +01:00
Bram Moolenaar
113e10721f
patch 8.1.0785: depending on the configuration some functions are unused
...
Problem: Depending on the configuration some functions are unused.
Solution: Add more #ifdefs, remove unused functions. (Dominique Pelle,
closes #3822 )
2019-01-20 15:30:40 +01:00
Bram Moolenaar
32526b3c18
patch 8.1.0779: argument for message functions is inconsistent
...
Problem: Argument for message functions is inconsistent.
Solution: Make first argument to msg() "char *".
2019-01-19 17:43:09 +01:00
Bram Moolenaar
f9e3e09fdc
patch 8.1.0743: giving error messages is not flexible
...
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.
2019-01-13 23:38:42 +01:00
Bram Moolenaar
98aefe7c32
patch 8.1.0579: cannot attach properties to text
...
Problem: Cannot attach properties to text.
Solution: First part of adding text properties.
2018-12-13 22:20:09 +01:00
Bram Moolenaar
ded5f1bed7
patch 8.1.0515: reloading a script gives errors for existing functions
...
Problem: Reloading a script gives errors for existing functions.
Solution: Allow redefining a function once when reloading a script.
2018-11-10 17:33:29 +01:00
Bram Moolenaar
9e353b5265
patch 8.1.0511: ml_get error when calling a function with a range
...
Problem: ml_get error when calling a function with a range.
Solution: Don't position the cursor after the last line.
2018-11-04 23:39:38 +01:00
Bram Moolenaar
f86db78fed
patch 8.1.0495: :filter only supports some commands
...
Problem: :filter only supports some commands.
Solution: Add :filter support for more commands. (Marcin Szamotulski,
closes #2856 )
2018-10-25 13:31:37 +02:00
Bram Moolenaar
27e80c885b
patch 8.1.0475: memory not freed on exit when quit in autocmd
...
Problem: Memory not freed on exit when quit in autocmd.
Solution: Remember funccal stack when executing autocmd.
2018-10-14 21:41:01 +02:00
Bram Moolenaar
4c7b08f640
patch 8.1.0365: function profile doesn't specify where it was defined
...
Problem: Function profile doesn't specify where it was defined.
Solution: Show the script name and line number.
2018-09-10 22:03:40 +02:00
Bram Moolenaar
f29c1c6aa3
patch 8.1.0362: cannot get the script line number when executing a function
...
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closes #3362 ) Also display the line number with ":verbose set".
2018-09-10 21:05:02 +02:00
Bram Moolenaar
79c2ad50b8
patch 8.1.0229: crash when dumping profiling data
...
Problem: Crash when dumping profiling data.
Solution: Reset flag indicating that initialization was done.
2018-07-29 17:40:43 +02:00
Bram Moolenaar
93343725b5
patch 8.1.0177: defining function in sandbox is inconsistent
...
Problem: Defining function in sandbox is inconsistent, cannot use :function
but can define a lambda.
Solution: Allow defining a function in the sandbox, but also use the sandbox
when executing it. (closes #3182 )
2018-07-10 19:39:18 +02:00