| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Command modifier parsing always uses global cmdmod.
Solution: Pass in cmdmod_T to use. Rename struct fields consistently.
|
|
|
|
|
| |
Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs)
Solution: Use utf_fold() when possible. (ref. neovim #12456)
|
|
|
|
|
|
| |
Problem: Many type casts are used for vim_strnsave().
Solution: Make the length argument size_t instead of int. (Ken Takata,
closes #5633) Remove some type casts.
|
|
|
|
|
| |
Problem: ml_delete() often called with FALSE argument.
Solution: Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE.
|
|
|
|
|
| |
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
|
|
|
|
|
| |
Problem: Using the same loop in many places.
Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339)
|
|
|
|
|
| |
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
|
|
|
|
|
| |
Problem: :lockmarks does not work for '[ and '].
Solution: save and restore '[ and '] marks. (James McCoy, closes #5222)
|
|
|
|
|
| |
Problem: After :diffsplit closing the window does not disable diff.
Solution: Add "closeoff" to 'diffopt' and add it to the default.
|
|
|
|
|
|
| |
Problem: Typos in comments.
Solution: Fix the typos. (Dominique Pelle, closes #5160) Also adjust
formatting a bit.
|
|
|
|
|
|
| |
Problem: Some MB_ macros are more complicated than necessary. (Dominique
Pelle)
Solution: Simplify the macros. Expand inline.
|
|
|
|
|
|
|
| |
Problem: The evalfunc.c file is still too big.
Solution: Move f_pathshorten() to filepath.c. Move f_cscope_connection() to
if_cscope.c. Move diff_ functions to diff.c. Move timer_
functions to ex_cmds2.c. move callback functions to evalvars.c.
|
|
|
|
|
|
| |
Problem: In diff mode global operations can be very slow.
Solution: Do not call diff_redraw() many times, call it once when redrawing.
And also don't update folds multiple times.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Problem: "highlight" option of popup windows not supported.
Solution: Implement the "highlight" option.
|
|
|
|
|
| |
Problem: Unessesary type casts for lalloc().
Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size).
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Problem: Cannot build with FEAT_EVAL defined and FEAT_SEARCH_EXTRA
undefined, and with FEAT_DIFF defined and FEAT_EVAL undefined.
Solution: Add a couple of #ifdefs. (closes #4067)
|
|
|
|
|
| |
Problem: Using context:0 in 'diffopt' does not work well.
Solution: Make zero context do the same as one line context. (closes #4005)
|
|
|
|
|
| |
Problem: USE_CR is never defined.
Solution: Remove usage of USE_CR. (Ken Takata, closes #3958)
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, part 1.
|
|
|
|
|
|
| |
Problem: printf format not checked for semsg().
Solution: Add GNUC attribute and fix reported problems. (Dominique Pelle,
closes #3805)
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Problem: Parsing of 'diffopt' is slightly wrong.
Solution: Fix the parsing and add a test. (Jason Franklin, Christian
Brabandt)
|
|
|
|
|
| |
Problem: No error for set diffopt+=algorithm:.
Solution: Check for missing argument. (Hirohito Higashi, closes #3598)
|
|
|
|
|
| |
Problem: Internal diff fails when diffing a context diff. (Hirohito Higashi)
Solution: Only use callback calls with one line. (closes #3581)
|
|
|
|
|
| |
Problem: :%diffput changes order of lines. (Markus Braun)
Solution: Do adjust marks when using internal diff.
|
|
|
|
|
|
| |
Problem: Ml_get error and crash when using "do".
Solution: Adjust cursor position also when diffupdate is not needed.
(Hirohito Higashi)
|
|
|
|
|
| |
Problem: The DiffUpdate event isn't triggered for :diffput.
Solution: Also trigger DiffUpdate for :diffget and :diffput.
|
|
|
|
|
| |
Problem: Using freed memory with :diffget.
Solution: Skip ex_diffupdate() while updating diffs. (closes #3442)
|
|
|
|
|
| |
Problem: No event triggered after updating diffs.
Solution: Add the DiffUpdated event.
|
|
|
|
|
| |
Problem: Compiler warning on 64-bit MS-Windows.
Solution: Add type cast. (Mike Williams)
|
|
|
|
|
| |
Problem: Diffs are not always updated correctly.
Solution: When using internal diff update for any changes properly.
|
|
|
|
|
| |
Problem: Not all white space difference options available.
Solution: Add "iblank", "iwhiteall" and "iwhiteeol" to 'diffopt'.
|
|
|
|
|
|
| |
Problem: Xdiff doesn't use the Vim memory allocation functions.
Solution: Change the xdl_ defines. Check for out-of-memory. Rename
"ignored" to "vim_ignored".
|
|
|
|
|
| |
Problem: Cannot use diff mode with Cygwin diff.exe. (Igor Forca)
Solution: Skip over unrecognized lines in the diff output.
|
|
|
|
|
| |
Problem: Not using internal diff if 'diffopt' is not changed.
Solution: Correct initialization of diff_flags. (Christian Brabandt)
|
|
|
|
|
|
| |
Problem: Using an external diff program is slow and inflexible.
Solution: Include the xdiff library. (Christian Brabandt, closes #2732)
Use it by default.
|
|
|
|
|
| |
Problem: Difficult to make a plugin that feeds a line to a job.
Solution: Add the nitial code for the "prompt" buftype.
|
|
|
|
|
| |
Problem: Dialog messages are not translated.
Solution: Add N_() and _() where needed. (Sergey Alyoshin)
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_SCROLLBIND and FEAT_CURSORBIND.
|
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and
increases code size of tiny Vim by only 40 Kbyte.
|
|
|
|
|
| |
Problem: Some users don't want to diff with hidden buffers.
Solution: Add the "hiddenoff" item to 'diffopt'. (Alisue, closes #2394)
|
|
|
|
|
|
| |
Problem: Cannot build with the diff feature but without the mutli-byte
feature.
Solution: Remove #ifdefs. (John Marriott)
|
|
|
|
|
| |
Problem: Code duplication in diff mode.
Solution: Use diff_equal_char() also in diff_cmp(). (Rick Howe)
|
|
|
|
|
| |
Problem: "icase" of 'diffopt' is not used for highlighting differences.
Solution: Also use "icase". (Rick Howe)
|
|
|
|
|
|
|
| |
Problem: The OptionSet autocommand event is not triggered when entering
diff mode.
Solution: use set_option_value() instead of setting the option directly.
Change the tests from old to new style. (Christian Brabandt)
|
|
|
|
|
| |
Problem: diff mode is insufficiently tested
Solution: Add more test cases. (Dominique Pelle, closes #1685)
|
|
|
|
|
| |
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case.
|
|
|
|
|
| |
Problem: Some macros are in lower case, which can be confusing.
Solution: Make a few lower case macros upper case.
|