summaryrefslogtreecommitdiffstats
path: root/src/diff.c
AgeCommit message (Collapse)Author
2021-05-24patch 8.2.2880: unified diff fails if actually usedv8.2.2880glacambre
Problem: Unified diff fails if actually used. Solution: Invoke :diffupdate in the test. Fix the check for working external diff. (Ghjuvan Lacambre, Christian Brabandt, closes #8197)
2021-02-10patch 8.2.2490: 'wrap' option is always reset when starting diff modev8.2.2490Bram Moolenaar
Problem: 'wrap' option is always reset when starting diff mode. Solution: Add the "followwrap" item in 'diffopt'. (Rick Howe, closes #7797)
2020-10-24patch 8.2.1898: command modifier parsing always uses global cmdmodv8.2.1898Bram Moolenaar
Problem: Command modifier parsing always uses global cmdmod. Solution: Pass in cmdmod_T to use. Rename struct fields consistently.
2020-06-09patch 8.2.0938: NFA regexp uses tolower ()to compare ignore-casev8.2.0938Bram Moolenaar
Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs) Solution: Use utf_fold() when possible. (ref. neovim #12456)
2020-06-07patch 8.2.0928: many type casts are used for vim_strnsave()v8.2.0928Bram Moolenaar
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.
2020-05-30patch 8.2.0853: ml_delete() often called with FALSE argumentv8.2.0853Bram Moolenaar
Problem: ml_delete() often called with FALSE argument. Solution: Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE.
2020-04-12patch 8.2.0559: clearing a struct is verbosev8.2.0559Bram Moolenaar
Problem: Clearing a struct is verbose. Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
2020-04-02patch 8.2.0500: using the same loop in many placesv8.2.0500Bram Moolenaar
Problem: Using the same loop in many places. Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339)
2019-12-01patch 8.1.2378: using old C style commentsv8.1.2378Bram Moolenaar
Problem: Using old C style comments. Solution: Use // comments where appropriate.
2019-11-16patch 8.1.2302: :lockmarks does not work for '[ and ']v8.1.2302Bram Moolenaar
Problem: :lockmarks does not work for '[ and ']. Solution: save and restore '[ and '] marks. (James McCoy, closes #5222)
2019-11-10patch 8.1.2289: after :diffsplit closing the window does not disable diffv8.1.2289Bram Moolenaar
Problem: After :diffsplit closing the window does not disable diff. Solution: Add "closeoff" to 'diffopt' and add it to the default.
2019-11-02patch 8.1.2243: typos in commentsv8.1.2243Bram Moolenaar
Problem: Typos in comments. Solution: Fix the typos. (Dominique Pelle, closes #5160) Also adjust formatting a bit.
2019-10-06patch 8.1.2120: some MB_ macros are more complicated than necessaryv8.1.2120Bram Moolenaar
Problem: Some MB_ macros are more complicated than necessary. (Dominique Pelle) Solution: Simplify the macros. Expand inline.
2019-09-05patch 8.1.1989: the evalfunc.c file is still too bigv8.1.1989Bram Moolenaar
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.
2019-08-24patch 8.1.1922: in diff mode global operations can be very slowv8.1.1922Bram Moolenaar
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.
2019-05-28patch 8.1.1414: alloc() returning "char_u *" causes a lot of type castsv8.1.1414Bram Moolenaar
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.
2019-05-26patch 8.1.1405: "highlight" option of popup windows not supportedv8.1.1405Bram Moolenaar
Problem: "highlight" option of popup windows not supported. Solution: Implement the "highlight" option.
2019-05-24patch 8.1.1386: unessesary type casts for lalloc()v8.1.1386Bram Moolenaar
Problem: Unessesary type casts for lalloc(). Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size).
2019-05-24patch 8.1.1384: using "int" for alloc() often results in compiler warningsv8.1.1384Bram Moolenaar
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.
2019-03-03patch 8.1.0991: cannot build with a mix of featuresv8.1.0991Bram Moolenaar
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)
2019-02-19patch 8.1.0956: using context:0 in 'diffopt' does not work wellv8.1.0956Bram Moolenaar
Problem: Using context:0 in 'diffopt' does not work well. Solution: Make zero context do the same as one line context. (closes #4005)
2019-02-15patch 8.1.0927: USE_CR is never definedv8.1.0927Bram Moolenaar
Problem: USE_CR is never defined. Solution: Remove usage of USE_CR. (Ken Takata, closes #3958)
2019-01-24patch 8.1.0805: too many #ifdefsv8.1.0805Bram Moolenaar
Problem: Too many #ifdefs. Solution: Graduate FEAT_MBYTE, part 1.
2019-01-15patch 8.1.0753: printf format not checked for semsg()v8.1.0753Bram Moolenaar
Problem: printf format not checked for semsg(). Solution: Add GNUC attribute and fix reported problems. (Dominique Pelle, closes #3805)
2019-01-13patch 8.1.0743: giving error messages is not flexiblev8.1.0743Bram Moolenaar
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.
2018-12-04patch 8.1.0562: parsing of 'diffopt' is slightly wrongv8.1.0562Bram Moolenaar
Problem: Parsing of 'diffopt' is slightly wrong. Solution: Fix the parsing and add a test. (Jason Franklin, Christian Brabandt)
2018-11-05patch 8.1.0513: no error for set diffopt+=algorithm:v8.1.0513Bram Moolenaar
Problem: No error for set diffopt+=algorithm:. Solution: Check for missing argument. (Hirohito Higashi, closes #3598)
2018-10-31patch 8.1.0502: internal diff fails when diffing a context diffv8.1.0502Bram Moolenaar
Problem: Internal diff fails when diffing a context diff. (Hirohito Higashi) Solution: Only use callback calls with one line. (closes #3581)
2018-10-25patch 8.1.0497: :%diffput changes order of linesv8.1.0497Bram Moolenaar
Problem: :%diffput changes order of lines. (Markus Braun) Solution: Do adjust marks when using internal diff.
2018-10-07patch 8.1.0458: ml_get error and crash when using "do"v8.1.0458Bram Moolenaar
Problem: Ml_get error and crash when using "do". Solution: Adjust cursor position also when diffupdate is not needed. (Hirohito Higashi)
2018-09-18patch 8.1.0402: the DiffUpdate event isn't triggered for :diffputv8.1.0402Bram Moolenaar
Problem: The DiffUpdate event isn't triggered for :diffput. Solution: Also trigger DiffUpdate for :diffget and :diffput.
2018-09-16patch 8.1.0400: using freed memory with :diffgetv8.1.0400Bram Moolenaar
Problem: Using freed memory with :diffget. Solution: Skip ex_diffupdate() while updating diffs. (closes #3442)
2018-09-16patch 8.1.0397: no event triggered after updating diffsv8.1.0397Bram Moolenaar
Problem: No event triggered after updating diffs. Solution: Add the DiffUpdated event.
2018-09-16patch 8.1.0395: compiler warning on 64-bit MS-Windowsv8.1.0395Bram Moolenaar
Problem: Compiler warning on 64-bit MS-Windows. Solution: Add type cast. (Mike Williams)
2018-09-16patch 8.1.0394: diffs are not always updated correctlyv8.1.0394Bram Moolenaar
Problem: Diffs are not always updated correctly. Solution: When using internal diff update for any changes properly.
2018-09-15patch 8.1.0393: not all white space difference options availablev8.1.0393Bram Moolenaar
Problem: Not all white space difference options available. Solution: Add "iblank", "iwhiteall" and "iwhiteeol" to 'diffopt'.
2018-09-13patch 8.1.0377: xdiff doesn't use the Vim memory allocation functionsv8.1.0377Bram Moolenaar
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".
2018-09-13patch 8.1.0375: cannot use diff mode with Cygwin diff.exev8.1.0375Bram Moolenaar
Problem: Cannot use diff mode with Cygwin diff.exe. (Igor Forca) Solution: Skip over unrecognized lines in the diff output.
2018-09-12patch 8.1.0370: not using internal diff if 'diffopt' is not changedv8.1.0370Bram Moolenaar
Problem: Not using internal diff if 'diffopt' is not changed. Solution: Correct initialization of diff_flags. (Christian Brabandt)
2018-09-10patch 8.1.0360: using an external diff program is slow and inflexiblev8.1.0360Bram Moolenaar
Problem: Using an external diff program is slow and inflexible. Solution: Include the xdiff library. (Christian Brabandt, closes #2732) Use it by default.
2018-06-03patch 8.1.0027: difficult to make a plugin that feeds a line to a jobv8.1.0027Bram Moolenaar
Problem: Difficult to make a plugin that feeds a line to a job. Solution: Add the nitial code for the "prompt" buftype.
2018-04-29patch 8.0.1773: dialog messages are not translatedv8.0.1773Bram Moolenaar
Problem: Dialog messages are not translated. Solution: Add N_() and _() where needed. (Sergey Alyoshin)
2018-03-04patch 8.0.1566: too many #ifdefsv8.0.1566Bram Moolenaar
Problem: Too many #ifdefs. Solution: Graduate FEAT_SCROLLBIND and FEAT_CURSORBIND.
2018-03-04patch 8.0.1564: too many #ifdefsv8.0.1564Bram Moolenaar
Problem: Too many #ifdefs. Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and increases code size of tiny Vim by only 40 Kbyte.
2017-12-01patch 8.0.1361: some users don't want to diff with hidden buffersv8.0.1361Bram Moolenaar
Problem: Some users don't want to diff with hidden buffers. Solution: Add the "hiddenoff" item to 'diffopt'. (Alisue, closes #2394)
2017-09-04patch 8.0.1056: cannot build with +diff but without +multi_bytev8.0.1056Bram Moolenaar
Problem: Cannot build with the diff feature but without the mutli-byte feature. Solution: Remove #ifdefs. (John Marriott)
2017-09-03patch 8.0.1046: code duplication in diff modev8.0.1046Bram Moolenaar
Problem: Code duplication in diff mode. Solution: Use diff_equal_char() also in diff_cmp(). (Rick Howe)
2017-09-02patch 8.0.1037: "icase" of 'diffopt' is not used for highlightingv8.0.1037Bram Moolenaar
Problem: "icase" of 'diffopt' is not used for highlighting differences. Solution: Also use "icase". (Rick Howe)
2017-07-19patch 8.0.0736: OptionSet not triggered when entering diff modev8.0.0736Bram Moolenaar
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)
2017-05-16patch 8.0.0599: diff mode is insufficiently testedv8.0.0599Bram Moolenaar
Problem: diff mode is insufficiently tested Solution: Add more test cases. (Dominique Pelle, closes #1685)