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