| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Problem: There are still a few macros that should be all-caps.
Solution: Make a few more macros all-caps.
|
|
|
|
|
|
| |
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case. Avoid lower case macros use an
argument twice.
|
|
|
|
|
| |
Problem: compiler warnings
Solution: Add type casts. (Christian Brabandt)
|
|
|
|
|
|
| |
Problem: Might free a dict item that wasn't allocated.
Solution: Call dictitem_free(). (Nikolai Pavlov) Use this for
b:changedtick.
|
|
|
|
|
|
| |
Problem: Invalid memory access in :recover command.
Solution: Avoid access before directory name. (Dominique Pelle,
closes #1488)
|
|
|
|
|
|
| |
Problem: Can't access b:changedtick from a dict reference.
Solution: Make changedtick a member of the b: dict. (inspired by neovim
#6112)
|
|
|
|
|
|
|
|
| |
Problem: When opening a buffer on a directory and inside a try/catch then
the BufEnter event is not triggered.
Solution: Return NOTDONE from readfile() for a directory and deal with the
three possible return values. (Justin M. Keyes, closes #1375,
closes #1353)
|
|
|
|
|
|
| |
Problem: Cannot make Vim fail on an internal error.
Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an
internal error without mentioning where.
|
|
|
|
|
| |
Problem: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
|
|
|
|
|
| |
Problem: Looping over windows, buffers and tab pages is inconsistant.
Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
|
|
|
|
|
| |
Problem: There is still code and help for unsupported systems.
Solution: Remove the code and text. (Hirohito Higashi)
|
|
|
|
|
|
| |
Problem: On MS-Windows large files (> 2Gbyte) cause problems.
Solution: Use "off_T" instead of "off_t". Use "stat_T" instead of "struct
stat". Use 64 bit system functions if available. (Ken Takata)
|
|
|
|
|
| |
Problem: Can't build without +spell but with +quickfix. (Charles)
Solution: Add better #ifdef around ml_append_buf(). (closes #864)
|
|
|
|
|
| |
Problem: Too many feature flags for pipes, jobs and channels.
Solution: Only use FEAT_JOB_CHANNEL.
|
|
|
|
|
|
| |
Problem: Writing last-but-one line of buffer to a channel isn't implemented
yet.
Solution: Implement it. Fix leaving a swap file behind.
|
|
|
|
|
| |
Problem: The MS-DOS code does not build.
Solution: Remove the old MS-DOS code.
|
|
|
|
|
| |
Problem: Warning for not using return value of fcntl().
Solution: Explicitly ignore the return value.
|
|
|
|
|
| |
Problem: Can't translate message without adding a line break.
Solution: Join the two parts of the message.
|
|
|
|
|
|
| |
Problem: Using old style function declarations.
Solution: Change to new style function declarations. (script by Hirohito
Higashi)
|
|
|
|
|
|
| |
Problem: Still using __ARGS.
Solution: Remove __ARGS in several files. (script by Hirohito Higashi)
Also remove use of HAVE_STDARG_H.
|
|
|
|
|
| |
Problem: There are still #ifdefs for ARCHIE.
Solution: Remove references to ARCHIE, the code was removed in Vim 5.
|
|
|
|
|
| |
Problem: The OS/2 code pollutes the source while nobody uses it these days.
Solution: Drop the support for OS/2.
|
|
|
|
|
|
| |
Problem: Gcc sanitizer complains about using a NULL pointer to memmove().
Solution: Only call memmove when there is something to move. (Vittorio
Zecca)
|
|
|
|
|
|
| |
Problem: On some systems automatically adding the missing EOL causes
problems. Setting 'binary' has too many side effects.
Solution: Add the 'fixeol' option, default on. (Pavel Samarkin)
|
|
|
|
|
| |
Problem: line2byte() returns one less when 'bin' and 'noeol' are set.
Solution: Only adjust the size for the last line. (Rob Wu)
|
|
|
|
|
|
|
|
| |
Problem: When setting the crypt key and using a swap file, text may be
encrypted twice or unencrypted text remains in the swap file.
(Issue 369)
Solution: Call ml_preserve() before re-encrypting. Set correct index for
next pointer block.
|
|
|
|
|
|
| |
Problem: When starting several Vim instances in diff mode, the temp files
used may not be unique. (Issue 353)
Solution: Add an argument to vim_tempname() to keep the file.
|
|
|
|
|
| |
Problem: May leak memory or crash when vim_realloc() returns NULL.
Solution: Handle a NULL value properly. (Mike Williams)
|
|
|
|
|
|
| |
Problem: Valgrind reports errors when running test 72. (Dominique Pelle)
Solution: Reset the local 'cryptmethod' option before storing the seed.
Set the seed in the memfile even when there is no block0 yet.
|
|
|
|
|
|
|
|
|
| |
Problem: Encryption implementation is messy. Blowfish encryption has a
weakness.
Solution: Refactor the encryption, store the state in an allocated struct
instead of using a save/restore mechanism. Introduce the
"blowfish2" method, which does not have the weakness and encrypts
the whole undo file. (largely by David Leadbeater)
|
|
|
|
|
|
| |
Problem: It's not possible to open a new buffer without creating a swap
file.
Solution: Add the ":noswapfile" modifier. (Christian Brabandt)
|
|
|
|
|
|
| |
Problem: The blowfish code mentions output feedback, but the code is
actually doing cipher feedback.
Solution: Adjust names and comments.
|
|
|
|
|
| |
Problem: "zG" and "zW" leave temp files around on MS-Windows.
Solution: Delete the temp files when exiting. (Ken Takata)
|
|
|
|
|
|
| |
Problem: MS-Windows: When there is a colon in the file name (sub-stream
feature) the swap file name is wrong.
Solution: Change the colon to "%". (Yasuhiro Matsumoto)
|
|
|
|
|
| |
Problem: Typos in source files.
Solution: Fix the typos. (Ken Takata)
|
|
|
|
|
|
| |
Problem: buf_spname() is used inconsistently.
Solution: Make the return type a char_u pointer. Check the size of the
returned string.
|
|
|
|
|
|
| |
Problem: When running out of memory during startup trying to open a
swapfile will loop forever.
Solution: Let findswapname() set dirp to NULL if out of memory.
|
|
|
|
|
|
| |
Problem: When recovering a file a range of lines is missing. (Charles Jie)
Solution: Reset the index when advancing to the next pointer block. Add a
test to verify recovery works.
|
|
|
|
|
| |
Problem: The RISC OS port has obvious errors and is not being maintained.
Solution: Remove the RISC OS files and code.
|
|
|
|
|
|
| |
Problem: The message for an existing swap file is too long to fit in a 25
line terminal.
Solution: Make the message shorter. (Chad Miller)
|
|
|
|
|
|
|
|
| |
Problem: When using ":make", typing the next command and then getting the
"reload" prompt the next command is (partly) eaten by the reload
prompt.
Solution: Accept ':' as a special character at the reload prompt to accept
the default choice and execute the command.
|
|
|
|
|
| |
Problem: EINTR is not always defined.
Solution: Include errno.h in vim.h.
|
|
|
|
|
| |
Problem: Inconsistency with preproc symbols. void * computation.
Solution: Include vimio.h from vim.h. Add type cast.
|
|
|
|
|
| |
Problem: When a read() or write() is interrupted by a signal it fails.
Solution: Add read_eintr() and write_eintr().
|
|
|
|
|
|
| |
Problem: When updating crypt of swapfile fails there is no error message.
(Carlo Teubner)
Solution: Add the error message.
|
| |
|