0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

98 Commits

Author SHA1 Message Date
Luuk van Baal
cb204e688e
patch 9.1.0258: half-page scrolling broke backward compatibility
Problem:  Support for 'smoothscroll' in (half-)page scrolling
          broke backward compatibility and can be made to work better.
          (after v9.1.215)
Solution: Restore the previous cursor and end-of-buffer behavior for
          half-page scrolling and improve 'smoothscroll' support.
          (Luuk van Baal)

fixes: #14338
closes: #14377

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-02 20:49:45 +02:00
John Marriott
bfcc895482
patch 9.1.0168: too many STRLEN() calls
Problem:  too many STRLEN() calls
Solution: Make use of ml_get_len() calls instead
          (John Marriott)

closes: #14123

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-11 22:04:45 +01:00
zeertzjq
82e079df81
patch 9.1.0163: Calling STRLEN() to compute ml_line_textlen when not needed
Problem:  Calling STRLEN() to compute ml_line_textlen when not needed.
Solution: Use 0 when STRLEN() will be required and call STRLEN() later.
          (zeertzjq)

closes: #14155

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-10 08:55:42 +01:00
Christian Brabandt
a72d1be5a9
patch 9.1.0151: ml_get_buf_len() does not consider text properties
Problem:  ml_get_buf_len() does not consider text properties
          (zeertzj)
Solution: Store text length excluding text properties length
          in addition in the memline

related #14123
closes: #14133

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-05 20:43:25 +01:00
zeertzjq
f2d90a3511
patch 9.1.0100: Redrawing can be improved with undo and 'spell'
Problem:  When undoing with 'spell', redrawWinline() is called after
          changed_lines(), while later win_update() sets redraw type to
          UPD_NOT_VALID, even though w_redraw_top and w_redraw_bot are
          still valid.
Solution: Only set redraw type to UPD_NOT_VALID when inserting/deleting
          lines after parts of window has pending redraw, i.e., when
          changed_lines() is called after redrawWinline().
          (zeertzjq)

closes: #14019

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-12 20:28:01 +01:00
zeertzjq
7ce34c9a94
patch 9.1.0082: Redrawing can be improved when deleting lines with 'cursorline'
Problem:  Redrawing can be improved when deleting lines with 'cursorline'.
Solution: Use smarter invalidation and adjustment.  Remove unnecessary
          UPD_VALID as it is already set at the top of the loop.  Make
          the test for #4862 fail without the fix.
          (zeertzjq)

closes: #13986

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-08 11:34:55 +01:00
Luuk van Baal
24b62ec825 patch 9.0.1551: position of marker for 'smoothscroll' not computed correctly
Problem:    Position of marker for 'smoothscroll' not computed correctly.
Solution:   Take 'list' and other options into account. (Luuk van Baal,
            closes #12393)
2023-05-13 14:12:15 +01:00
Luuk van Baal
5d01f86d99 patch 9.0.1543: display errors when making topline shorter
Problem:    Display errors when making topline shorter and 'smoothscroll' is
            set.
Solution:   Reset w_skipcol when the topline becomes shorter than its current
            value. (Luuk van Baal, closes #12367)
2023-05-11 19:24:20 +01:00
Bram Moolenaar
61fdbfa1e3 patch 9.0.1279: display shows lines scrolled down erroneously
Problem:    Display shows lines scrolled down erroneously. (Yishai Lerner)
Solution:   Do not change "wl_lnum" at index zero. (closes #11938)
2023-02-04 13:57:55 +00:00
Brandon Simmons
da3dd7d857 patch 9.0.1213: adding a line below the last one does not expand fold
Problem:    Adding a line below the last one does not expand fold.
Solution:   Do not skip mark_adjust() when adding lines below the last one.
            (Brandon Simmons, closes #11832, closes #10698)
2023-01-17 19:48:07 +00:00
Bram Moolenaar
c96b7f5d2a patch 9.0.0990: callback name argument is changed by setqflist()
Problem:    Callback name argument is changed by setqflist().
Solution:   Use the expanded function name for the callback, do not store it
            in the argument. (closes #11653)
2022-12-02 15:58:38 +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
1577537f10 patch 9.0.0819 2022-10-29 20:01:52 +01:00
Yegappan Lakshmanan
3f0092c141 patch 9.0.0777: code is indented too much
Problem:    Code is indented too much.
Solution:   Use an early return. (Yegappan Lakshmanan, closes #11386)
2022-10-16 21:43:07 +01:00
Bram Moolenaar
49846fb1a3 patch 9.0.0761: cannot use 'indentexpr' for Lisp indenting
Problem:    Cannot use 'indentexpr' for Lisp indenting.
Solution:   Add the 'lispoptions' option.
2022-10-15 16:05:33 +01:00
Bram Moolenaar
a79b35b578 patch 9.0.0754: 'indentexpr' overrules lisp indenting in one situation
Problem:    'indentexpr' overrules lisp indenting in one situation.
Solution:   Add "else" to keep the lisp indent. (issue #11327)
2022-10-15 10:49:36 +01:00
Bram Moolenaar
f3ef026c98 patch 9.0.0664: bad redrawing with spell checking, using "C" and "$" in 'cpo'
Problem:    Bad redrawing with spell checking, using "C" and "$" in 'cpo'.
Solution:   Do not redraw the next line when "$" is in 'cpo'. (closes #11285)
2022-10-05 13:29:15 +01:00
Bram Moolenaar
26f09ea54b patch 9.0.0608: with spelling, deleting a full stop does not update next line
Problem:    With spell checking, deleting a full stop at the end of a line
            does not update SpellCap at the start of the next line.
Solution:   Update the next line when characters have been deleted.  Also when
            using undo.
2022-09-27 16:29:38 +01:00
Bram Moolenaar
ebd0e8bb85 patch 9.0.0466: virtual text wrong after adding line break after line
Problem:    Virtual text wrong after adding line break after line.
Solution:   Pass an "eol" flag to where text properties are adjusted.
            (closes #11131)
2022-09-14 22:13:59 +01:00
Yegappan Lakshmanan
956be4678f patch 9.0.0361: removing a listener may result in a memory leak
Problem:    Removing a listener may result in a memory leak and remove
            subsequent listerns.
Solution:   Init the "prev" pointer only once. (Yegappan Lakshmanan,
            closes #11039)
2022-09-02 17:12:07 +01:00
Bram Moolenaar
6d4b2f54df patch 9.0.0263: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Make some functions always available.
2022-08-25 15:11:15 +01:00
Bram Moolenaar
471c0fa3ee patch 9.0.0245: mechanism to prevent recursive screen updating is incomplete
Problem:    Mechanism to prevent recursive screen updating is incomplete.
Solution:   Add "redraw_not_allowed" and set it in build_stl_str_hl().
            (issue #10952)
2022-08-22 15:19:16 +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
326c5d36e7 patch 9.0.0194: cursor displayed in wrong position after removing text prop
Problem:    Cursor displayed in wrong position after removing text prop. (Ben
            Jackson)
Solution:   Invalidate the cursor position. (closes #10898)
2022-08-12 13:05:49 +01:00
Bram Moolenaar
113d9dec99 patch 9.0.0170: various minor code formatting issues
Problem:    Various minor code formatting issues.
Solution:   Improve code formatting.
2022-08-08 15:49:18 +01:00
Bram Moolenaar
d61efa50f8 patch 9.0.0063: too many type casts for dict_get functions
Problem:    Too many type casts for dict_get functions.
Solution:   Change the key argument from "char_u *" to "char *".
2022-07-23 09:52:04 +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
368137aa52 patch 8.2.5047: CurSearch highlight is often wrong
Problem:    CurSearch highlight is often wrong.
Solution:   Remember the last highlighted position and redraw when needed.
2022-05-31 13:43:12 +01:00
zeertzjq
cfe456543e patch 8.2.5029: "textlock" is always zero
Problem:    "textlock" is always zero.
Solution:   Remove "textlock" and rename "textwinlock" to "textlock".
            (closes #10489)
2022-05-27 17:26:55 +01:00
Bram Moolenaar
7e66778815 patch 8.2.5008: when 'formatoptions' contains "/" wrongly wrapping comment
Problem:    When 'formatoptions' contains "/" wrongly wrapping a long trailing
            comment.
Solution:   Pass the OPENLINE_FORMAT flag.
2022-05-23 13:10:48 +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
0d534d9cf2 patch 8.2.4988: textprop in wrong position when replacing multi-byte chars
Problem:    Textprop in wrong position when replacing multi-byte chars.
Solution:   Adjust textprop position. (closes #10461)
2022-05-21 11:20:42 +01:00
Bram Moolenaar
7ce5b2b590 patch 8.2.4969: changing text in Visual mode may cause invalid memory access
Problem:    Changing text in Visual mode may cause invalid memory access.
Solution:   Check the Visual position after making a change.
2022-05-16 19:40:59 +01:00
LemonBoy
788c06a249 patch 8.2.4955: text property in wrong position after auto-indent
Problem:    Text property in wrong position after auto-indent.
Solution:   Adjust text property columns. (closes #10422, closes #7719)
2022-05-14 18:48:05 +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
d0b1a09f44 patch 8.2.4944: text properties are wrong after "cc"
Problem:    Text properties are wrong after "cc". (Axel Forsman)
Solution:   Pass the deleted byte count to inserted_bytes(). (closes #10412,
            closes #7737, closes #5763)
2022-05-12 18:45:18 +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
2bf875f881 patch 8.2.4907: some users do not want a line comment always inserted
Problem:    Some users do not want a line comment always inserted.
Solution:   Add the '/' flag to 'formatoptions' to not repeat the comment
            leader after a statement when using "o".
2022-05-07 14:54:11 +01:00
Bram Moolenaar
1655619717 patch 8.2.4737: // in JavaScript string recognized as comment
Problem:    // in JavaScript string recognized as comment.
Solution:   Only check for linecomment if 'cindent' is set. (closes #10151)
2022-04-11 17:36:37 +01:00
zeertzjq
8c97960850 patch 8.2.4707: redrawing could be a bit more efficient
Problem:    Redrawing could be a bit more efficient.
Solution:   Optimize redrawing. (closes #10105)
2022-04-07 15:08:01 +01:00
Lewis Russell
1624639ec8 patch 8.2.4644: redrawing too often when 'relativenumber' is set
Problem:    Redrawing too often when 'relativenumber' is set.
Solution:   Only redraw when the cursor line changed. (Lewis Russell,
            closes #10040)
2022-03-29 11:38:17 +01:00
Bram Moolenaar
8329ab79b2 patch 8.2.4405: compiler warning for unused variable without +folding
Problem:    Compiler warning for unused variable without the +folding feature.
            (Tony Mechelynck)
Solution:   Add #ifdef.
2022-02-16 21:51:00 +00:00
Bram Moolenaar
9437737833 patch 8.2.4403: ml_get error with nested folds and deleting lines
Problem:    ml_get error with nested folds and deleting lines.
Solution:   Correct the last line number before calling hasFoldingWin().
2022-02-16 20:30:52 +00:00
Bram Moolenaar
55737c2a31 patch 8.2.4379: an empty change is reported to a listener
Problem:    An empty change is reported to a listener.
Solution:   Do not report an empty change. (closes #9768)  Remove unused
            return value.
2022-02-14 14:51: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
9a846fbaa5 patch 8.2.3977: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-01 21:59:18 +00:00
Bram Moolenaar
5ea5f37372 patch 8.2.3934: repeating line comment is undesired for "O" command
Problem:    Repeating line comment is undesired for "O" command.
Solution:   Do not copy line comment leader for "O". (closes #9426)
2021-12-29 15:15:47 +00:00
Bram Moolenaar
739f13a55b patch 8.2.3795: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate the jumplist feature.
2021-12-13 13:12:53 +00:00
Bram Moolenaar
d2439e0443 patch 8.2.3791: build error with +cindent but without +smartindent
Problem:    Build error with +cindent but without +smartindent.
Solution:   Move declaration of "do_cindent". (John Marriott)
2021-12-12 19:10:44 +00:00
Bram Moolenaar
6e371ecb27 patch 8.2.3787: no proper formatting of a C line comment after a statement
Problem:    No proper formatting of a C line comment after a statement.
Solution:   Find the start of the line comment, insert the comment leader and
            indent the comment properly.
2021-12-12 14:16:39 +00:00