Yegappan Lakshmanan
cd7293bf6c
patch 9.0.1804: Vim9: no support for private object methods
...
Problem: Vim9: no support for private object methods
Solution: Add support for private object/class methods
closes : #12920
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-27 19:18:23 +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
Yegappan Lakshmanan
6ac1544e13
patch 9.0.1760: vim9 class problem with new() constructor
...
Problem: vim9 class problem with new() constructor
Solution: Don't allow a return type for the new() class constructor.
closes : #12863
closes : #12040
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-20 18:20:17 +02:00
LemonBoy
c5d2744c04
patch 9.0.1741: No type checking in interfaces
...
Problem: No type checking in interfaces
Solution: Implement member type check in vim9 interfaces
Most of the code is a small refactoring to allow the use of a where_T
for signaling the type mismatch, the type checking itself is pretty
simple.
Improve where_T error reports
Let the caller explicitly define the kind of location it's referring to
and free the WT_ARGUMENT enum from its catch-all role.
Implement type checking for interface methods
Follows closely the logic used for type-checking the members.
closes : #12844
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2023-08-19 13:04:53 +02:00
zeertzjq
4f389e7c0f
patch 9.0.1722: wrong error messages when passing wrong types to count()
...
Problem: wrong error messages when passing wrong types to count()
Solution: fix it
This fixes two problems:
1. When passing wrong type to {ic} argument of count(), two error
messages are given, the second of which is misleading.
2. When passing wrong type to {comp} argument of count(), the error
message doesn't mention that {comp} may be a String.
closes : #12825
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-17 22:11:16 +02:00
Christ van Willegen
0c6181fec4
patch 9.0.1704: Cannot use positional arguments for printf()
...
Problem: Cannot use positional arguments for printf()
Solution: Support positional arguments in string formatting
closes : #12140
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
2023-08-13 18:06:00 +02:00
Bram Moolenaar
80adaa8ae8
patch 9.0.1673: cannot produce a status 418 or 503 message
...
Problem: Cannot produce a status 418 or 503 message.
Solution: Add err_teapot().
2023-07-07 18:57:40 +01:00
RestorerZ
68ebcee023
patch 9.0.1594: some internal error messages are translated
...
Problem: Some internal error messages are translated.
Solution: Consistently do not translate internal error messages.
(closes #12459 )
2023-05-31 17:12:14 +01:00
Bram Moolenaar
a1d5f9f33c
patch 9.0.1581: translation does not work for plural argument
...
Problem: Translation does not work for plural argument.
Solution: Use PLURAL_MSG() for errors and with xgettext. (closes #12443 )
2023-05-27 13:40:11 +01:00
RestorerZ
d87dec0582
patch 9.0.1579: some error messages are not translated
...
Problem: Some error messages are not translated.
Solution: Add the N_() marker on messages. (closes #12427 )
2023-05-25 20:13:48 +01:00
Bram Moolenaar
097c5370ea
patch 9.0.1576: users may not know what to do with an internal error
...
Problem: Users may not know what to do with an internal error.
Solution: Add a translated message with instructions.
2023-05-24 21:02:24 +01:00
Bram Moolenaar
a2c0028fdf
patch 9.0.1558: wrong error for unreachable code after :throw
...
Problem: Wrong error for unreachable code after :throw.
Solution: Adjust the error message.
2023-05-14 22:05:15 +01:00
zeertzjq
3ab3a86481
patch 9.0.1516: cannot use special keys in <Cmd> mapping
...
Problem: Cannot use special keys in <Cmd> mapping.
Solution: Do allow for special keys in <Cmd> and <ScriptCmd> mappings.
(closes #12326 )
2023-05-06 16:22:04 +01:00
Bram Moolenaar
70e8028a4d
patch 9.0.1510: misleading variable name for error message
...
Problem: Misleading variable name for error message.
Solution: Change "name" to "number". (closes #12345 )
2023-05-05 22:58:34 +01:00
Bram Moolenaar
b67ba03d3e
patch 9.0.1477: crash when recovering from corrupted swap file
...
Problem: Crash when recovering from corrupted swap file.
Solution: Check for a valid page count. (closes #12275 )
2023-04-22 21:14:26 +01:00
Bram Moolenaar
08210f8def
patch 9.0.1450: MacOS: building fails if clock_gettime() is not available
...
Problem: MacOS: building fails if clock_gettime() is not available.
Solution: Add a configure check for clock_gettime(). (closes #12242 )
2023-04-13 19:15:54 +01:00
Dominique Pelle
e764d1b421
patch 9.0.1403: unused variables and functions
...
Problem: Unused variables and functions.
Solution: Delete items and adjust #ifdefs. (Dominique Pellé, closes #12145 )
2023-03-12 21:20:59 +00:00
Ernie Rael
f77a7f704f
patch 9.0.1375: crash when getting member of obj of unknown class
...
Problem: Crash when getting member of obj of unknown class.
Solution: Check for NULL class and give an error message. (Ernie Rael,
closes #12096 )
2023-03-03 15:05:30 +00:00
Bram Moolenaar
c4e1b86cb0
patch 9.0.1357: using null_object results in an internal error
...
Problem: Using null_object results in an internal error. (Ernie Rael)
Solution: Add instructions for pushing an object and class. (closes #12044 )
2023-02-26 18:58:23 +00:00
Bram Moolenaar
5b9f57262f
patch 9.0.1328: error when using "none" for GUI color is confusing
...
Problem: Error when using "none" for GUI color is confusing.
Solution: Mention that the name should perhaps be "NONE". (closes #1400 )
2023-02-19 20:49:38 +00:00
Bram Moolenaar
552bdca781
patch 9.0.1317: crash when using an unset object variable
...
Problem: Crash when using an unset object variable.
Solution: Give an error instead. (closes #12005 )
2023-02-17 21:08:50 +00:00
Bram Moolenaar
657aea7fc4
patch 9.0.1249: cannot export an abstract class
...
Problem: Cannot export an abstract class. (Ernie Rael)
Solution: Add the EX_EXPORT flag to :abstract. (closes #11884 )
2023-01-27 13:16:19 +00:00
K.Takata
7193323b77
patch 9.0.1223: cannot use setcellwidths() below 0x100
...
Problem: Cannot use setcellwidths() below 0x100.
Solution: Also accept characters between 0x80 and 0x100. (Ken Takata,
closes #11834 )
2023-01-20 16:00:55 +00:00
Bram Moolenaar
24a8d06d7f
patch 9.0.1198: abstract class not supported yet
...
Problem: Abstract class not supported yet.
Solution: Implement abstract class and add tests.
2023-01-14 13:12:06 +00:00
Bram Moolenaar
6aa0937fb8
patch 9.0.1179: not all errors around inheritance are tested
...
Problem: Not all errors around inheritance are tested.
Solution: Add more tests. Fix uncovered problems.
2023-01-11 17:59:38 +00:00
Bram Moolenaar
58b40092e6
patch 9.0.1178: a child class cannot override functions from a base class
...
Problem: A child class cannot override functions from a base class.
Solution: Allow overriding and implement "super".
2023-01-11 15:59:05 +00:00
Bram Moolenaar
8367716a6e
patch 9.0.1159: extends argument for class not implemented yet
...
Problem: Extends argument for class not implemented yet.
Solution: Basic implementation of "extends".
2023-01-08 19:54:10 +00:00
Bram Moolenaar
df8f947359
patch 9.0.1157: "implements" only handles one interface name
...
Problem: "implements" only handles one interface name.
Solution: Handle a comma separated list of names. Check for duplicate
names.
2023-01-07 14:51:03 +00:00
Bram Moolenaar
94674f2223
patch 9.0.1152: class "implements" argument not implemented
...
Problem: Class "implements" argument not implemented.
Solution: Implement "implements" argument. Add basic checks for when a
class implements an interface.
2023-01-06 18:42:20 +00:00
Bram Moolenaar
554d031302
patch 9.0.1150: :interface is not implemented yet
...
Problem: :interface is not implemented yet.
Solution: Implement the basics of :interface.
2023-01-05 19:59:18 +00:00
Bram Moolenaar
a9fa8c58fb
patch 9.0.1133: error message names do not match the items
...
Problem: Error message names do not match the items.
Solution: Add "_str" when the text contains "%s".
2023-01-02 18:10:04 +00:00
Bram Moolenaar
993dbc33a8
patch 9.0.1128: build failure
...
Problem: Build failure.
Solution: Add type cast. Add missing error messages.
2023-01-01 20:31:30 +00:00
Bram Moolenaar
4ce1f99a2d
patch 9.0.1077: can add text property with negative ID before virtual text
...
Problem: Can add text property with negative ID before virtual text
property.
Solution: Remember that a text property with a negative ID was used and give
an appropriate error message. (closes #11725 )
Fix index computation.
2022-12-19 13:31:06 +00:00
Bram Moolenaar
d505d17885
patch 9.0.1074: class members are not supported yet
...
Problem: Class members are not supported yet.
Solution: Add initial support for class members.
2022-12-18 21:42:55 +00:00
Christian Brabandt
9aee8ec400
patch 9.0.1064: code for making 'shortmess' temporarily empty is repeated
...
Problem: Code for making 'shortmess' temporarily empty is repeated.
Solution: Add functions for making 'shortmess' empty and restoring it.
(Christian Brabandt, closes #11709 )
2022-12-16 16:41:23 +00:00
Bram Moolenaar
3d473ee1a6
patch 9.0.1060: private and public object members are not implemented yet
...
problem: Private and public object members are not implemented yet.
Solution: Implement private and public object members.
2022-12-14 20:59:32 +00:00
Bram Moolenaar
74e1274edf
patch 9.0.1054: object member can't get type from initializer
...
Problem: Object member can't get type from initializer.
Solution: If there is no type specified try to use the type of the
initializer. Check for a valid type.
2022-12-13 21:14:28 +00:00
Bram Moolenaar
65b0d16768
patch 9.0.1053: default constructor arguments are not optional
...
Problem: Default constructor arguments are not optional.
Solution: Use "= v:none" to make constructor arguments optional.
2022-12-13 18:43:22 +00:00
Bram Moolenaar
ffdaca9e6f
patch 9.0.1041: cannot define a method in a class
...
Problem: Cannot define a method in a class.
Solution: Implement defining an object method. Make calling an object
method work.
2022-12-09 21:41:48 +00:00
Bram Moolenaar
00b28d6c23
patch 9.0.1031: Vim9 class is not implemented yet
...
Problem: Vim9 class is not implemented yet.
Solution: Add very basic class support.
2022-12-08 15:32:33 +00:00
Bram Moolenaar
3d3e2aa826
patch 9.0.1003: tiny build fails
...
Problem: Tiny build fails.
Solution: Remove #ifdef from error message.
2022-12-04 21:40:51 +00:00
Bram Moolenaar
c1c365c1ca
patch 9.0.1001: classes are not documented or implemented yet
...
Problem: Classes are not documented or implemented yet.
Solution: Make the first steps at documenting Vim9 objects, classes and
interfaces. Make initial choices for the syntax. Add a skeleton
implementation. Add "public" and "this" in the command table.
2022-12-04 20:13:24 +00:00
Bram Moolenaar
ef2c325f5e
patch 9.0.0949: crash when unletting a variable while listing variables
...
Problem: Crash when unletting a variable while listing variables.
Solution: Disallow changing a hashtable while going over the entries.
(closes #11435 )
2022-11-25 16:31:51 +00:00
Bram Moolenaar
d63a85592c
patch 9.0.0907: restoring window after WinScrolled may fail
...
Problem: Restoring window after WinScrolled may fail.
Solution: Lock the window layout when triggering WinScrolled.
2022-11-19 11:41:30 +00:00
Bram Moolenaar
cf2594fbf3
patch 9.0.0877: using freed memory with :comclear while listing commands
...
Problem: Using freed memory with :comclear while listing commands.
Solution: Bail out when the command list has changed. (closes #11440 )
2022-11-13 23:30:06 +00:00
Bram Moolenaar
920d311480
patch 9.0.0874: using freed memory when executing unmenu at more prompt
...
Problem: Using freed memory when executing unmenu at the more prompt.
Solution: Do not clear menus while listing them. (closes #11439 )
2022-11-13 21:10:02 +00:00
Bram Moolenaar
bf533e4e88
patch 9.0.0873: using freed memory when executing mapclear at more prompt
...
Problem: Using freed memory when executing mapclear at the more prompt.
Solution: Do not clear mappings while listing them. (closes #11438 )
2022-11-13 20:43:19 +00:00
dundargoc
c57b5bcd22
patch 9.0.0828: various typos
...
Problem: Various typos.
Solution: Correct typos. (closes #11432 )
2022-11-02 13:30:51 +00:00
Bram Moolenaar
86e6717ace
patch 9.0.0820: memory leak with empty shell command
...
Problem: Memory leak with empty shell command.
Solution: Free the empty string.
2022-10-31 12:24:12 +00:00
Martin Tournoij
ba43e76fcd
patch 9.0.0747: too many #ifdefs
...
Problem: Too many #ifdefs.
Solution: Gradudate the +cmdline_info feature. (Martin Tournoij,
closes #11330 )
2022-10-13 22:12:15 +01:00