Yegappan Lakshmanan
92d9ee5f4c
patch 9.0.1906: Vim9: Interfaces should not support class methods and variables
...
Problem: Vim9: Interfaces should not support class methods and
variables
Solution: Make sure interface follow the interface specification
Vim9 interface changes to follow the new interface specification:
1) An interface can have only read-only and read-write instance
variables.
2) An interface can have only public instance methods.
3) An interface cannot have class variables and class methods.
4) An interface cannot have private instance variables and private
instance methods.
5) A interface can extend another interface using "extends". The
sub-interface gets all the variables and methods in the super
interface.
That means:
- Interfaces should not support class methods and variables.
- Adjust error numbers and add additional tests.
- Interface methods can be defined in one of the super classes.
- Interface variables can be defined in one of the super classes.
and instance variables can be repeated in sub interfaces.
- Check the class variable types with the type in interface.
closes : #13100
Signed-off-by: Christian Brabandt <cb@256bit.org >
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com >
2023-09-17 17:03:19 +02:00
Christian Brabandt
e5f7cd0a60
patch 9.0.1894: CI: trailing whitespace in tests
...
Problem: CI: trailing white space in tests
Solution: clean up the trailing white space
Signed-off-by: Christian Brabandt <cb@256bit.org >
2023-09-10 19:26:47 +02:00
Christian Brabandt
983d808674
patch 9.0.1893: CI: strptime test fails on BSD14
...
Problem: CI: strptime test fails on BSD14
Solution: Skip the test
Signed-off-by: Christian Brabandt <cb@256bit.org >
2023-09-10 19:06:09 +02:00
Yegappan Lakshmanan
b49ad28d73
patch 9.0.1801: Vim9 instanceof() fails in a def func
...
Problem: Vim9 instanceof() fails in a def func
Solution: allow Objects in compile time check
closes : #12907
Signed-off-by: Christian Brabandt <cb@256bit.org >
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com >
2023-08-27 19:08:40 +02:00
LemonBoy
afe0466fb1
patch 9.0.1786: Vim9: need instanceof() function
...
Problem: Vim9: need instanceof() function
Solution: Implement instanceof() builtin
Implemented in the same form as Python's isinstance because it allows
for checking multiple class types at the same time.
closes : #12867
Signed-off-by: Christian Brabandt <cb@256bit.org >
Co-authored-by: LemonBoy <thatlemon@gmail.com >
2023-08-23 21:08:11 +02:00
rhysd
0bbc1be0a3
patch 9.0.1750: CI: fails because of changed error messages
...
Problem: CI: fails because of changed error messages
(after: 9.0.1741)
Solution: Adjust expected error messages
closes : #12853
Signed-off-by: Christian Brabandt <cb@256bit.org >
Co-authored-by: rhysd <lin90162@yahoo.co.jp >
2023-08-19 15:42:54 +02:00
zeertzjq
825cf813fa
patch 9.0.1728: missing winid argument for virtcol()
...
Problem: missing winid argument for virtcol()
Solution: Add a {winid} argument to virtcol()
Other functions col(), charcol() and virtcol2col() support a {winid}
argument, so it makes sense for virtcol() to also support than.
Also add test for virtcol2col() with 'showbreak' and {winid}.
closes : #12633
Signed-off-by: Christian Brabandt <cb@256bit.org >
Co-authored-by: zeertzjq <zeertzjq@outlook.com >
2023-08-17 22:55:25 +02:00
Yegappan Lakshmanan
2d8e998544
patch 9.0.1660: error for using matchfuzzy() returning a list of dicts
...
Problem: Error for using matchfuzzy() in Vim9 script returning a list of
dicts.
Solution: Make return type of matchfuzzy() list<any>. (Yegappan Lakshmanan,
closes #12574 )
2023-06-24 16:42:25 +01:00
zeertzjq
4c7cb372c1
patch 9.0.1631: passing wrong variable type to option gives multiple errors
...
Problem: Passing a wrong variable type to an option gives multiple errors.
Solution: Bail out early on failure. (closes #12504 )
2023-06-14 16:39:54 +01:00
Yegappan Lakshmanan
577922b917
patch 9.0.1617: charidx() result is not consistent with byteidx()
...
Problem: charidx() and utf16idx() result is not consistent with byteidx().
Solution: When the index is equal to the length of the text return the
lenght of the text instead of -1. (Yegappan Lakshmanan,
closes #12503 )
2023-06-08 17:09:45 +01:00
Yegappan Lakshmanan
f9dc278946
patch 9.0.1540: reverse() on string doesn't work in compiled function
...
Problem: reverse() on string doesn't work in compiled function.
Solution: Accept string in argument type check. (Yegappan Lakshmanan,
closes #12377 )
2023-05-11 15:02:56 +01:00
Bram Moolenaar
c142d6513e
patch 9.0.1382: failing test for strptime() doesn't show returned value
...
Problem: Failing test for strptime() doesn't show returned value.
Solution: Use assert_equal() instead of assert_true().
2023-03-05 19:27:49 +00:00
Bram Moolenaar
32517c4c14
patch 9.0.1203: return type of values() is always list<any>
...
Problem: Return type of values() is always list<any>.
Solution: Use the member type if possible. (issue #11822 )
2023-01-15 18:17:12 +00:00
Bram Moolenaar
267db7c3e3
patch 9.0.0994: tests for empty prop type name fail
...
Problem: Tests for empty prop type name fail.
Solution: Correct the error number.
2022-12-02 21:37:45 +00:00
Bram Moolenaar
89469d157a
patch 9.0.0993: display errors when adding or removing text property type
...
Problem: Display errors when adding or removing text property type.
Solution: Perform a full redraw. Only use text properties for which the
type is defined. (closes #11655 )
2022-12-02 20:46:26 +00:00
Bram Moolenaar
ce30ccc06a
patch 9.0.0916: getbufline() is inefficient for getting a single line
...
Problem: getbufline() is inefficient for getting a single line.
Solution: Add getbufoneline().
2022-11-21 19:57:04 +00:00
Yegappan Lakshmanan
4c8d2f02b3
patch 9.0.0863: col() and charcol() only work for the current window
...
Problem: col() and charcol() only work for the current window.
Solution: Add an optional winid argument. (Yegappan Lakshmanan,
closes #11466 , closes #11461 )
2022-11-12 16:07:47 +00:00
Bram Moolenaar
cd9c8d400c
patch 9.0.0837: append() reports failure when not appending anything
...
Problem: append() reports failure when not appending anything.
Solution: Only report failure when appending something. (closes #11498 )
2022-11-05 23:46:43 +00:00
Bram Moolenaar
0e9bdad545
patch 9.0.0766: too many delete() calls in tests
...
Problem: Too many delete() calls in tests.
Solution: Use deferred delete where possible.
2022-10-15 20:06:33 +01:00
Bram Moolenaar
a4962cd7ba
patch 9.0.0728: extend() test fails
...
Problem: extend() test fails.
Solution: Item is final, not const.
2022-10-11 23:12:59 +01:00
Bram Moolenaar
a5d1a67bee
patch 9.0.0629: get an error for using const only when executing
...
Problem: Get an error for using const only when executing.
Solution: Check for const at compile time for filter(), map(), remove(),
reverse(), sort() and uniq().
2022-09-30 17:57:47 +01:00
Bram Moolenaar
6586a01514
patch 9.0.0627: "const" and "final" both make the type a constant
...
Problem: "const" and "final" both make the type a constant. (Daniel
Steinberg)
Solution: Only have "const" make the type a constant.
2022-09-30 11:04:50 +01:00
Bram Moolenaar
fa1039760e
patch 9.0.0623: error for modifying a const is not detected at compile time
...
Problem: Error for modifying a const is not detected at compile time.
Solution: Add TTFLAG_CONST and check for it in add() and extend().
2022-09-29 19:14:42 +01:00
Bram Moolenaar
a9b0f8f7f3
patch 9.0.0563: timer_info() test fails
...
Problem: Timer_info() test fails.
Solution: Ignore test timeout timer. Don't use test_null_job() when not
available.
2022-09-23 21:01:54 +01:00
Bram Moolenaar
73e28dcc61
patch 9.0.0491: no good reason to build without the float feature
...
Problem: No good reason to build without the float feature.
Solution: Remove configure check for float and "#ifdef FEAT_FLOAT".
2022-09-17 21:08:33 +01:00
Bram Moolenaar
aa5341477c
patch 9.0.0473: fullcommand() only works for the current script version
...
Problem: fullcommand() only works for the current script version.
Solution: Add an optional argument for the script version.
2022-09-15 21:46:02 +01:00
Bakudankun
375141e1f8
patch 9.0.0430: cannot use repeat() with a blob
...
Problem: Cannot use repeat() with a blob.
Solution: Implement blob repeat. (closes #11090 )
2022-09-09 18:46:47 +01:00
Yegappan Lakshmanan
8deb2b30c7
patch 9.0.0359: error message for wrong argument type is not specific
...
Problem: Error message for wrong argument type is not specific.
Solution: Include more information in the error. (Yegappan Lakshmanan,
closes #11037 )
2022-09-02 15:15:27 +01:00
Bram Moolenaar
3e518a8ec7
patch 9.0.0331: cannot use items() on a string
...
Problem: Cannot use items() on a string.
Solution: Make items() work on a string. (closes #11016 )
2022-08-30 17:45:33 +01:00
Bram Moolenaar
976f859763
patch 9.0.0327: items() does not work on a list
...
Problem: items() does not work on a list. (Sergey Vlasov)
Solution: Make items() work on a list. (closes #11013 )
2022-08-30 14:34:52 +01:00
Yegappan Lakshmanan
2f892d8663
patch 9.0.0303: it is not easy to get information about a script
...
Problem: It is not easy to get information about a script.
Solution: Make getscriptinf() return the version. When selecting a specific
script return functions and variables. (Yegappan Lakshmanan,
closes #10991 )
2022-08-28 18:52:10 +01:00
Yegappan Lakshmanan
25f1e55562
patch 9.0.0299: error messages for setcmdline() could be better
...
Problem: Error messages for setcmdline() could be better.
Solution: Use more specific error messages. (Yegappan Lakshmanan,
closes #10995 )
2022-08-28 17:25:04 +01:00
Shougo Matsushita
07ea5f1509
patch 9.0.0285: it is not easy to change the command line from a plugin
...
Problem: It is not easy to change the command line from a plugin.
Solution: Add setcmdline(). (Shougo Matsushita, closes #10869 )
2022-08-27 12:22:25 +01:00
Yegappan Lakshmanan
520f6ef60a
patch 9.0.0269: getscriptinfo() does not include the version
...
Problem: getscriptinfo() does not include the version. Cannot select
entries by script name.
Solution: Add the "version" item and the "name" argument. (Yegappan
Lakshmanan, closes #10962 )
2022-08-25 17:40:40 +01:00
Bram Moolenaar
9e043181ad
patch 9.0.0226: job_start() test may fail under valgrind
...
Problem: job_start() test may fail under valgrind.
Solution: Wait until the job is running.
2022-08-18 15:22:09 +01:00
Yegappan Lakshmanan
63acae13f5
patch 9.0.0204: indexof() may leak memory
...
Problem: indexof() may leak memory.
Solution: Free allocated values. (Yegappan Lakshmanan, closes #10916 )
2022-08-14 12:07:11 +01:00
Yegappan Lakshmanan
3fbf6cd355
patch 9.0.0202: code and help for indexof() is not ideal
...
Problem: Code and help for indexof() is not ideal.
Solution: Refactor the code, improve the help. (Yegappan Lakshmanan,
closes #10908 )
2022-08-13 21:35:13 +01:00
Yegappan Lakshmanan
b218655d5a
patch 9.0.0196: finding value in list may require a for loop
...
Problem: Finding value in list may require a for loop.
Solution: Add indexof(). (Yegappan Lakshmanan, closes #10903 )
2022-08-13 13:09:20 +01:00
Bram Moolenaar
28f84e17b0
patch 9.0.0090: no error when assigning bool to a string option
...
Problem: No error when assigning bool to a string option with setwinvar().
Solution: Give an error (closes #10766 )
2022-07-27 12:30:13 +01:00
Yegappan Lakshmanan
ee47eaceaa
patch 9.0.0003: functions are global while they could be local
...
Problem: Functions are global while they could be local.
Solution: Add "static". Add a few tests. (Yegappan Lakshmanan,
closes #10612 )
2022-06-29 12:55:36 +01:00
LemonBoy
0f7a3e1de6
patch 8.2.5019: cannot get the first screen column of a character
...
Problem: Cannot get the first screen column of a character.
Solution: Let virtcol() optionally return a list. (closes #10482 ,
closes #7964 )
2022-05-26 12:10:37 +01:00
Yegappan Lakshmanan
1755a91851
patch 8.2.4981: it is not possible to manipulate autocommands
...
Problem: It is not possible to manipulate autocommands.
Solution: Add functions to add, get and set autocommands. (Yegappan
Lakshmanan, closes #10291 )
2022-05-19 10:31:47 +01:00
Bram Moolenaar
7f8a3b11bf
patch 8.2.4946: Vim9: some code not covered by tests
...
Problem: Vim9: some code not covered by tests.
Solution: Add a few more test cases. Remove dead code.
2022-05-12 22:03:01 +01:00
Bram Moolenaar
d0132f4862
patch 8.2.4940: some code is never used
...
Problem: Some code is never used.
Solution: Remove dead code. Add a few more test cases.
2022-05-12 11:05:40 +01:00
Ernie Rael
d8f5f76621
patch 8.2.4932: not easy to filter the output of maplist()
...
Problem: Not easy to filter the output of maplist().
Solution: Add mode_bits to the dictionary. (Ernie Rael, closes #10356 )
2022-05-10 17:50:39 +01:00
Bram Moolenaar
2ac037f54b
patch 8.2.4927: return type of remove() incorrect when using three arguments
...
Problem: Return type of remove() incorrect when using three arguments.
Solution: Use first argument type when there are three arguments.
(closes #10387 )
2022-05-09 14:12:14 +01:00
Bram Moolenaar
ec89223478
patch 8.2.4892: test failures because of changed error messages
...
Problem: Test failures because of changed error messages.
Solution: Adjust the exptected error messages.
2022-05-06 17:53:06 +01:00
Bram Moolenaar
3e79427803
patch 8.2.4879: screendump test may fail when using valgrind
...
Problem: Screendump test may fail when using valgrind.
Solution: Wait longer for the first screendump.
2022-05-06 11:21:19 +01:00
LemonBoy
f3b4895f27
patch 8.2.4870: Vim9: expression in :substitute is not compiled
...
Problem: Vim9: expression in :substitute is not compiled.
Solution: Use an INSTR instruction if possible. (closes #10334 )
2022-05-05 13:53:03 +01:00
Ernie Rael
51d04d16f2
patch 8.2.4861: it is not easy to restore saved mappings
...
Problem: It is not easy to restore saved mappings.
Solution: Make mapset() accept a dict argument. (Ernie Rael, closes #10295 )
2022-05-04 15:40:22 +01:00