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
Bram Moolenaar
c89d4b3530
patch 8.1.0167: lock flag in new dictitem is reset in many places
...
Problem: Lock flag in new dictitem is reset in many places.
Solution: Always reset the lock flag.
2018-07-08 17:19:02 +02:00
Bram Moolenaar
ad64809610
patch 8.1.0130: ":profdel func" does not work if func was called already
...
Problem: ":profdel func" does not work if func was called already.
(Dominique Pelle)
Solution: Reset uf_profiling and add a flag to indicate initialization was
done.
2018-06-30 18:28:03 +02:00
Bram Moolenaar
b4518563c7
patch 8.1.0019: error when defining a Lambda with index of a function result
...
Problem: Error when defining a Lambda with index of a function result.
Solution: When not evaluating an expression and skipping a function call,
set the return value to VAR_UNKNOWN.
2018-05-22 18:31:35 +02:00
Bram Moolenaar
f2bd8ef2b4
patch 8.0.1564: too many #ifdefs
...
Problem: Too many #ifdefs.
Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and
increases code size of tiny Vim by only 40 Kbyte.
2018-03-04 18:08:14 +01:00
Bram Moolenaar
c6f9f739d3
patch 8.0.1505: debugger can't break on a condition
...
Problem: Debugger can't break on a condition. (Charles Campbell)
Solution: Add ":breakadd expr". (Christian Brabandt, closes #859 )
2018-02-11 19:06:26 +01:00
Bram Moolenaar
d23a823669
patch 8.0.1496: clearing a pointer takes two lines
...
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629 )
2018-02-10 18:45:26 +01:00
Bram Moolenaar
fabaf753e2
patch 8.0.1423: error in return not caught by try/catch
...
Problem: Error in return not caught by try/catch.
Solution: Call update_force_abort(). (Yasuhiro Matsomoto, closes #2483 )
2017-12-23 17:26:11 +01:00
Bram Moolenaar
3388d33457
patch 8.0.1378: autoload script sources itself when defining function
...
Problem: Autoload script sources itself when defining function.
Solution: Pass TFN_NO_AUTOLOAD to trans_function_name(). (Yasuhiro
Matsumoto, closes #2423 )
2017-12-07 22:23:04 +01:00
Bram Moolenaar
6e65d594aa
patch 8.0.1377: cannot call a dict function in autoloaded dict
...
Problem: Cannot call a dict function in autoloaded dict.
Solution: Call get_lval() passing the read-only flag.
2017-12-07 22:11:27 +01:00
Bram Moolenaar
53564f7c1a
patch 8.0.0667: memory access error when command follows :endfunc
...
Problem: Memory access error when command follows :endfunction. (Nikolai
Pavlov)
Solution: Make memory handling in :function straightforward. (closes #1793 )
2017-06-24 14:48:11 +02:00
Bram Moolenaar
f8be461d02
patch 8.0.0663: unexpected error message only when 'verbose' is set
...
Problem: Giving an error message only when 'verbose' set is unexpected.
Solution: Give a warning message instead.
2017-06-23 20:52:40 +02:00
Bram Moolenaar
d6abcd154c
patch 8.0.0655: not easy to make sure a function does not exist
...
Problem: Not easy to make sure a function does not exist.
Solution: Add ! as an optional argument to :delfunc.
2017-06-22 19:15:24 +02:00
Bram Moolenaar
663bb23316
patch 8.0.0654: no warning for text after :endfunction
...
Problem: Text found after :endfunction is silently ignored.
Solution: Give a warning if 'verbose' is set. When | or \n are used,
execute the text as a command.
2017-06-22 19:12:10 +02:00
Bram Moolenaar
d4863aa99e
patch 8.0.0548: saving the redo buffer only works one time
...
Problem: Saving the redo buffer only works one time, resulting in the "."
command not working well for a function call inside another
function call. (Ingo Karkat)
Solution: Save the redo buffer at every user function call. (closes #1619 )
2017-04-07 19:50:12 +02:00
Bram Moolenaar
6914c64ee5
patch 8.0.0535: memory leak when exiting from within a user function
...
Problem: Memory leak when exiting from within a user function.
Solution: Clear the function call stack on exit.
2017-04-01 21:21:30 +02:00