Christian Brabandt
ffb13674d1
patch 9.0.1899: potential buffer overflow in PBYTE macro
...
Problem: potential buffer overflow in PBYTE macro
Solution: Check returned memline length
closes : #13083
the PBYTE macro is used to put byte c at a position lp of the returned
memline. However, in case of unexpected errors ml_get_buf() may return
either "???" or an empty line in which case it is quite likely that we
are causing a buffer overrun.
Therefore, switch the macro PBYTE (which is only used in ops.c anyhow)
to a function, that verifies that we will only try to access within the
given length of the buffer.
Also, since the macro is only used in ops.c, move the definition from
macros.h to ops.c
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-15 20:22:02 +02:00
Christian Brabandt
889f6af371
patch 9.0.1847: [security] potential oob write in do_addsub()
...
Problem: potential oob write in do_addsub()
Solution: don't overflow buf2, check size in for loop()
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 19:43:33 +02:00
zeertzjq
30b6d6104c
patch 9.0.1521: failing redo of command with control characters
...
Problem: Failing redo of command with control characters.
Solution: Use AppendToRedobuffLit() for colon commands. (closes #12354 )
2023-05-07 17:39:23 +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
5fb78c3fa5
patch 9.0.1380: CTRL-X on 2**64 subtracts two
...
Problem: CTRL-X on 2**64 subtracts two. (James McCoy)
Solution: Correct computation for large number. (closes #12103 )
2023-03-04 20:47:39 +00:00
Yegappan Lakshmanan
af93691b53
patch 9.0.1330: handling new value of an option has a long "else if" chain
...
Problem: Handling new value of an option has a long "else if" chain.
Solution: Use a function pointer. (Yegappan Lakshmanan, closes #12015 )
2023-02-20 12:16:39 +00:00
Yegappan Lakshmanan
f2e30d0c44
patch 9.0.1262: the did_set_string_option function is too long
...
Problem: The did_set_string_option function is too long.
Solution: Split off functionality to individual functions. (Yegappan
Lakshmanan, Lewis Russell, closes #11904 )
2023-01-30 13:04:42 +00:00
Yegappan Lakshmanan
a41e221935
patch 9.0.1208: code is indented more than necessary
...
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes #11819 )
2023-01-16 18:19:05 +00:00
Bram Moolenaar
24fe33a83a
patch 9.0.0934: various code formatting issues
...
Problem: Various code formatting issues.
Solution: Improve code formatting.
2022-11-24 00:09:02 +00:00
zeertzjq
cdeb65729d
patch 9.0.0884: mouse shape remains in op-pending mode after failed change
...
Problem: Mouse shape remains in op-pending mode after failed change.
Solution: Reset finish_op and restore it. (closes #11545 )
2022-11-15 13:46:12 +00:00
Bram Moolenaar
9954dc39ea
patch 9.0.0861: solution for "!!sort" in closed fold is not optimal
...
Problem: Solution for "!!sort" in closed fold is not optimal.
Solution: Use a different range instead of the subtle difference in handling
a range with an offset. (issue #11487 )
2022-11-11 22:58:36 +00:00
Bram Moolenaar
c8b6735573
patch 9.0.0764: indent and option tests fail
...
Problem: Indent and option tests fail.
Solution: Change OP_INDENT. Add entry to options test table.
2022-10-15 16:41:53 +01:00
Bram Moolenaar
c9121f798f
patch 9.0.0751: 'scrolloff' does not work well with 'smoothscroll'
...
Problem: 'scrolloff' does not work well with 'smoothscroll'.
Solution: Make positioning the cursor a bit better. Rename functions.
2022-10-14 20:09:04 +01:00
Bram Moolenaar
bf499c0e6f
patch 9.0.0699: tiny build fails
...
Problem: Tiny build fails.
Solution: Add #ifdef.
2022-10-08 17:55:32 +01:00
Bram Moolenaar
16dab41537
patch 9.0.0697: cursor in wrong position with Visual substitute
...
Problem: Cursor in wrong position with Visual substitute.
Solution: When restoring 'linebreak' mark the virtual column as invalid.
(closes #11309 , closes #11311 )
2022-10-08 16:41:32 +01:00
Bram Moolenaar
c249913edc
patch 9.0.0483: illegal memory access when replacing in virtualedit mode
...
Problem: Illegal memory access when replacing in virtualedit mode.
Solution: Check for replacing NUL after Tab.
2022-09-16 22:16:59 +01:00
Yegappan Lakshmanan
6b085b9d73
patch 9.0.0376: clang warns for dead assignments
...
Problem: Clang warns for dead assignments.
Solution: Adjust the code. (Yegappan Lakshmanan, closes #11048 )
2022-09-04 12:47:21 +01:00
Yegappan Lakshmanan
c99e182e1f
patch 9.0.0364: clang static analyzer gives warnings
...
Problem: Clang static analyzer gives warnings.
Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #11043 )
2022-09-03 10:52:24 +01:00
Bram Moolenaar
a2a8973e51
patch 9.0.0340: the 'cmdheight' zero support causes too much trouble
...
Problem: The 'cmdheight' zero support causes too much trouble.
Solution: Revert support for 'cmdheight' being zero.
2022-08-31 14:46:18 +01:00
Bram Moolenaar
a4d158b3c8
patch 9.0.0206: redraw flags are not named specifically
...
Problem: Redraw flags are not named specifically.
Solution: Prefix "UPD_" to the flags, for UPDate_screen().
2022-08-14 14:17:45 +01:00
Bram Moolenaar
7d0f7e9524
patch 9.0.0154: text properties wrong after splitting a line
...
Problem: Text properties wrong after splitting a line.
Solution: Check for text properties after the line. (closes #10857 )
2022-08-06 17:10:57 +01:00
Bram Moolenaar
e175dc6911
patch 9.0.0133: virtual text after line moves to joined line
...
Problem: Virtual text after line moves to joined line. (Yegappan
Lakshmanan)
Solution: When joining lines only keep virtual text after the last line.
2022-08-01 22:18:50 +01:00
Shougo Matsushita
f39cfb7262
patch 9.0.0114: the command line takes up space even when not used
...
Problem: The command line takes up space even when not used.
Solution: Allow for 'cmdheight' to be set to zero. (Shougo Matsushita,
closes #10675 , closes #940 )
2022-07-30 16:54:05 +01:00
Bram Moolenaar
7f9969c559
patch 9.0.0067: cannot show virtual text
...
Problem: Cannot show virtual text.
Solution: Initial changes for virtual text support, using text properties.
2022-07-25 18:13:54 +01:00
Bram Moolenaar
fa4873ccfc
patch 9.0.0013: reproducing memory access errors can be difficult
...
Problem: Reproducing memory access errors can be difficult.
Solution: When testing, copy each line to allocated memory, so that valgrind
can detect accessing memory before and/or after it. Fix uncovered
problems.
2022-06-30 22:13:59 +01:00
Bram Moolenaar
8e145b8246
patch 8.2.4993: smart/C/lisp indenting is optional
...
Problem: smart/C/lisp indenting is optional, which makes the code more
complex, while it only reduces the executable size a bit.
Solution: Graduate FEAT_CINDENT, FEAT_SMARTINDENT and FEAT_LISP.
2022-05-21 20:17:31 +01:00
LemonBoy
b559b302e0
patch 8.2.4957: text properties in a wrong position after a block change
...
Problem: Text properties in a wrong position after a block change.
Solution: Adjust the properties columns. (closes #10427 )
2022-05-15 13:08:02 +01:00
Bram Moolenaar
de5cf28781
patch 8.2.4951: smart indenting done when not enabled
...
Problem: Smart indenting done when not enabled.
Solution: Check option values before setting can_si. (closes #10420 )
2022-05-14 11:52:23 +01:00
LemonBoy
4b93674159
patch 8.2.4950: text properties position wrong after shifting text
...
Problem: Text properties position wrong after shifting text.
Solution: Adjust the text properties when shifting a block of text.
(closes #10418 )
2022-05-13 21:56:28 +01:00
Bram Moolenaar
6ed545e797
patch 8.2.4928: various white space and cosmetic mistakes
...
Problem: Various white space and cosmetic mistakes.
Solution: Change spaces to tabs, improve comments.
2022-05-09 20:09:23 +01:00
Bram Moolenaar
249591057b
patch 8.2.4911: the mode #defines are not clearly named
...
Problem: The mode #defines are not clearly named.
Solution: Prepend MODE_. Renumber them to put the mapped modes first.
2022-05-07 20:01:16 +01:00
Bram Moolenaar
fe154990c1
patch 8.2.4610: some conditions are always true
...
Problem: Some conditions are always true.
Solution: Remove the useless conditions. (closes #9993 )
2022-03-22 20:42:12 +00:00
zeertzjq
7745f14ef3
patch 8.2.4388: dead code in op_insert()
...
Problem: Dead code in op_insert().
Solution: Remove condition and else block. (closes #9782 )
2022-02-15 11:48:22 +00:00
K.Takata
6e1d31e9e3
patch 8.2.4288: preprocessor indents are inconsistent
...
Problem: Preprocessor indents are inconsistent.
Solution: Fix preprocessor indents. (Ken Takata, closes #9691 )
2022-02-03 13:05:32 +00:00
Bram Moolenaar
424bcae1fb
patch 8.2.4273: the EBCDIC support is outdated
...
Problem: The EBCDIC support is outdated.
Solution: Remove the EBCDIC support.
2022-01-31 14:59:41 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
420fabcd4f
patch 8.2.4241: some type casts are redundant
...
Problem: Some type casts are redundant.
Solution: Remove the type casts. (closes #9643 )
2022-01-28 15:28:04 +00:00
Shougo Matsushita
4ede01f188
patch 8.2.4160: cannot change the register used for Select mode delete
...
Problem: Cannot change the register used for Select mode delete.
Solution: Make CTRL-R set the register to be used when deleting text for
Select mode. (Shougo Matsushita, closes #9531 )
2022-01-20 15:26:03 +00:00
Bram Moolenaar
57df9e8a9f
patch 8.2.4151: reading beyond the end of a line
...
Problem: Reading beyond the end of a line.
Solution: For block insert only use the offset for correcting the length.
2022-01-20 12:10:48 +00:00
Bram Moolenaar
9f8c304c8a
patch 8.2.4120: block insert goes over the end of the line
...
Problem: Block insert goes over the end of the line.
Solution: Handle invalid byte better. Fix inserting the wrong text.
2022-01-17 17:30:21 +00:00
Bram Moolenaar
e32c3c462c
patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
...
Problem: Vim9: cannot use Vim9 syntax in mapping.
Solution: Add <ScriptCmd> to use the script context for a command.
2022-01-15 18:26:04 +00:00
Dominique Pelle
748b308eeb
patch 8.2.4038: various code not used when features are disabled
...
Problem: Various code not used when features are disabled.
Solution: Add #ifdefs. (Dominique Pellé, closes #9491 )
2022-01-08 12:41:16 +00:00
Bram Moolenaar
677658ae49
patch 8.2.4008: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
2022-01-05 16:09:06 +00:00
Bram Moolenaar
b3bd1d39e6
patch 8.2.3980: if 'operatorfunc' invokes an operator Visual mode is changed
...
Problem: If 'operatorfunc' invokes an operator the remembered Visual mode
may be changed. (Naohiro Ono)
Solution: Save and restore the information for redoing the Visual area.
(closes #9455 )
2022-01-02 13:05:45 +00:00
Bram Moolenaar
436b5adc97
patch 8.2.3961: error messages are spread out
...
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
2021-12-31 22:49:24 +00:00
Bram Moolenaar
8ee6028de3
patch 8.2.3820: "vrc" does not replace composing characters
...
Problem: "vrc" does not replace composing characters, while "rc" does.
Solution: Check the byte length including composing characters.
(closes #9351 )
2021-12-15 21:08:50 +00:00
Yegappan Lakshmanan
6ae8fae869
patch 8.2.3788: lambda for option that is a function may be freed
...
Problem: Lambda for option that is a function may be garbage collected.
Solution: Set a reference in the funcref. (Yegappan Lakshmanan,
closes #9330 )
2021-12-12 16:26:44 +00:00
Bram Moolenaar
59f4f9505a
patch 8.2.3687: blockwise insert does not handle autoindent properly
...
Problem: Blockwise insert does not handle autoindent properly when tab is
inserted.
Solution: Adjust text column for indent before computing column.
(closes #9229 )
2021-11-27 22:47:43 +00:00
Bram Moolenaar
e9b0b40b79
patch 8.2.3684: blockwise insert does not handle autoindent properly
...
Problem: Blockwise insert does not handle autoindent properly.
Solution: Adjust text column for indent. (closes #9229 )
2021-11-27 13:28:24 +00:00
Bram Moolenaar
2228cd72cf
patch 8.2.3644: count for 'operatorfunc' in Visual mode is not redone
...
Problem: Count for 'operatorfunc' in Visual mode is not redone.
Solution: Add the count to the redo buffer. (closes #9174 )
2021-11-22 14:16:08 +00:00
Yegappan Lakshmanan
777175b0df
patch 8.2.3619: cannot use a lambda for 'operatorfunc'
...
Problem: Cannot use a lambda for 'operatorfunc'.
Solution: Support using a lambda or partial. (Yegappan Lakshmanan,
closes #8775 )
2021-11-18 22:08:57 +00:00