| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Listener callback called at the wrong moment
Solution: Invoke listeners before calling ml_delete_int(). (closes #4657)
|
|
|
|
|
| |
Problem: Listener callback called for the wrong buffer.
Solution: Invoke listeners before calling ml_append_int().
|
|
|
|
|
| |
Problem: Insert stray "{" when listener gets buffer line. (Paul Jolly)
Solution: Flush the cached line after invoking listeners. (closes #4455)
|
|
|
|
|
| |
Problem: Localtime_r() does not respond to $TZ changes.
Solution: If $TZ changes then call tzset(). (Tom Ryder)
|
|
|
|
|
|
| |
Problem: ":write" increments b:changedtick even though nothing changed.
(Daniel Hahler)
Solution: Only increment b:changedtick if the modified flag is reset.
|
|
|
|
|
|
| |
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: Saving for undo may access invalid memory. (Dominique Pelle)
Solution: Set ml_line_len also when returning a constant string.
|
|
|
|
|
|
| |
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 recover from a swap file.
Solution: Do not expand environment variables in the swap file name.
Do not check the extension when we already know a file is a swap
file. (Ken Takata, closes 4415, closes #4369)
|
|
|
|
|
|
|
| |
Problem: Coverity complains about possibly using a NULL pointer and copying
a string into a fixed size buffer.
Solution: Check for NULL, even though it should not happen. Use
vim_strncpy() instead of strcpy().
|
|
|
|
|
|
| |
Problem: Listener callback is called after inserting text.
Solution: Flush the changes before inserting or deleting a line. Store
changes per buffer.
|
|
|
|
|
| |
Problem: Code for text changes is in a "misc" file.
Solution: Move the code to change.c.
|
|
|
|
|
| |
Problem: Warnings for using localtime() and ctime().
Solution: Use localtime_r() if available. Avoid using ctime().
|
|
|
|
|
| |
Problem: Can't build on MS-Windows.
Solution: Define process_still_running.
|
|
|
|
|
|
| |
Problem: Asking about existing swap file unnecessarily.
Solution: When it is safe, delete the swap file. Remove
HAS_SWAP_EXISTS_ACTION, it is always defined. (closes #1237)
|
|
|
|
|
|
| |
Problem: A lot of code is shared between vim.exe and gvim.exe.
Solution: Optionally put the shared code in vim.dll. (Ken Takata,
closes #4287)
|
|
|
|
|
|
| |
Problem: Too many curly braces.
Solution: Remove curly braces where they are not needed. (Hirohito Higashi,
closes #3982)
|
|
|
|
|
|
|
| |
Problem: Macros for MS-Windows are inconsistent, using "32", "3264 and
others.
Solution: Use MSWIN for all MS-Windows builds. Use FEAT_GUI_MSWIN for the
GUI build. (Hirohito Higashi, closes #3932)
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_VIRTUALEDIT. Adds about 10Kbyte to the code.
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, part 2.
|
|
|
|
|
| |
Problem: Argument for message functions is inconsistent.
Solution: Make first argument to msg() "char *".
|
|
|
|
|
|
|
|
| |
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: Text properties are not restored by undo.
Solution: Also save text properties for undo.
|
|
|
|
|
| |
Problem: Warnings from 64-bit compiler.
Solution: Add type casts. (Mike Williams)
|
|
|
|
|
| |
Problem: When appending a line text property flags are not added.
Solution: Add text properties to a newly added line.
|
|
|
|
|
| |
Problem: When deleting a line text property flags are not adjusted.
Solution: Adjust text property flags in preceding and following lines.
|
|
|
|
|
| |
Problem: Computing byte offset wrong. (Bjorn Linse)
Solution: Use the right variable for array index.
|
|
|
|
|
| |
Problem: swapinfo() leaks memory.
Solution: Avoid allocating the strings twice.
|
|
|
|
|
|
| |
Problem: line2byte() gives wrong values with text properties. (Bjorn Linse)
Solution: Compute byte offsets differently when text properties were added.
(closes #3718)
|
|
|
|
|
| |
Problem: A few compiler warnings.
Solution: Add type casts. (Mike Williams)
|
|
|
|
|
| |
Problem: Double free without the text properties feature.
Solution: Reset the dirty flag.
|
|
|
|
|
| |
Problem: Cannot attach properties to text.
Solution: First part of adding text properties.
|
|
|
|
|
| |
Problem: Cppcheck warns for using array index before bounds check.
Solution: Swap the conditions. (Dominique Pelle)
|
|
|
|
|
|
| |
Problem: User doesn't notice file does not exist when swap file does.
Solution: Add a note that the file cannot be found. Make the "still
running" notice stand out.
|
|
|
|
|
| |
Problem: Autocmd test fails.
Solution: Do call inchar() when flushing typeahead.
|
|
|
|
|
|
| |
Problem: "simalt ~x" in .vimrc blocks swap file prompt.
Solution: Flush buffers before prompting. (Yasuhiro Matsumoto,
closes #3518, closes #2192)
|
|
|
|
|
| |
Problem: Unnecessary static function prototypes.
Solution: Remove unnecessary prototypes.
|
|
|
|
|
| |
Problem: Strings in swap file may not be NUL terminated. (Coverity)
Solution: Limit the length of the used string.
|
|
|
|
|
| |
Problem: Build failure without the +eval feature. (Brenton Horne)
Solution: Add #ifdef. Also add the "dirty" item.
|
|
|
|
|
| |
Problem: Information about a swap file is unavailable.
Solution: Add swapinfo(). (Enzo Ferber)
|
|
|
|
|
|
| |
Problem: File info message not always suppressed with 'F' in 'shortmess'.
(Asheq Imran)
Solution: Save and restore msg_silent. (Christian Brabandt, closes #3221)
|
|
|
|
|
| |
Problem: line2byte() is wrong for last line with 'noeol' and 'nofixeol'.
Solution: Fix off-by-one error. (Shane Harper, closes #3351)
|
|
|
|
|
|
| |
Problem: Using a full path is supported for 'directory' but not for
'backupdir'. (Mikolaj Machowski)
Solution: Support 'backupdir' as well. (Christian Brabandt, closes #179)
|
|
|
|
|
| |
Problem: gcc 8.1 warns for use of strncpy(). (John Marriott)
Solution: Use mch_memmove() instead of STRNCPY().
|
|
|
|
|
|
| |
Problem: Swap file warning for a file in a non-existing directory, if there
is another with the same file name. (Juergen Weigert)
Solution: When expanding the file name fails compare the file names.
|
|
|
|
|
|
| |
Problem: Some macros are used without a semicolon, causing auto-indent to be
wrong.
Solution: Use the do-while(0) trick. (Ozaki Kiichi, closes #2729)
|
|
|
|
|
|
| |
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: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
|
|
|
|
|
|
| |
Problem: Recovering does not work when swap file ends in .stz.
Solution: Check for all possible swap file names. (Elfling, closes #2395,
closes #2396)
|
|
|
|
|
|
| |
Problem: FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always
enabled and only adds 7% to the binary size of the tiny build.
Solution: Graduate FEAT_WINDOWS.
|