| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Problem: Peeking and flushing output slows down execution.
Solution: Do not update the mode message when global_busy is set. Do not
flush when only peeking for a character. (Ken Takata)
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, part 4.
|
|
|
|
|
|
| |
Problem: Depending on the configuration some functions are unused.
Solution: Add more #ifdefs, remove unused functions. (Dominique Pelle,
closes #3822)
|
|
|
|
|
| |
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: Autocmd test fails.
Solution: Do call inchar() when flushing typeahead.
|
|
|
|
|
| |
Problem: Unnecessary static function prototypes.
Solution: Remove unnecessary prototypes.
|
|
|
|
|
|
|
| |
Problem: Recursive use of getcmdline() still not protected.
Solution: Instead of saving the command buffer when making a call which may
cause recursiveness, save the buffer when actually being called
recursively.
|
|
|
|
|
|
| |
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closes #3362) Also display the line number with ":verbose set".
|
|
|
|
|
| |
Problem: Part of file not indented properly.
Solution: Adjust the indent. (Ken Takata)
|
|
|
|
|
| |
Problem: Recording into a register has focus events. (Michael Naumann)
Solution: Don't record K_FOCUSGAINED and K_FOCUSLOST. (closes #3143)
|
|
|
|
|
|
| |
Problem: When a mapping to <Nop> times out the next mapping is skipped.
Solution: Reset "timedout" when waiting for a character. (Christian
Brabandt, closes #2921)
|
|
|
|
|
|
| |
Problem: Repeating put from expression register fails.
Solution: Re-evaluate the expression register. (Andy Massimino,
closes #2945)
|
|
|
|
|
|
|
|
| |
Problem: Cannot tell whether a register is being used for executing or
recording.
Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi,
closes #2745) Rename the global variables for consistency. Store
the register name in reg_executing.
|
|
|
|
|
| |
Problem: Various comment updates needed, missing white space.
Solution: Update comments, add white space.
|
|
|
|
|
| |
Problem: Might use NULL pointer when out of memory. (Coverity)
Solution: Handle NULL pointer better.
|
|
|
|
|
|
| |
Problem: No test for 'termwinkey'.
Solution: Add a test. Make feedkeys() handle terminal_loop() returning
before characters are consumed.
|
|
|
|
|
|
| |
Problem: Various warnings from a static analyser
Solution: Add type casts, remove unneeded conditions. (Christian Brabandt,
closes #2770)
|
|
|
|
|
|
| |
Problem: Flexible array member feature not supported by HP-UX. (John
Marriott)
Solution: Do not use the flexible array member feature of C99.
|
|
|
|
|
|
|
| |
Problem: Using one item array size declaration is misleading.
Solution: Instead of using "[1]" and actually using a larger array, use
"[]". This is to verify that this C99 feature works for all
compilers.
|
|
|
|
|
|
| |
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: Using feedkeys() in a terminal window may trigger mappings.
(Charles Sheridan)
Solution: Avoid triggering a mapping when peeking for a key.
|
|
|
|
|
| |
Problem: Insert mode completion state is confusing.
Solution: Move ctrl_x_mode into edit.c. Add CTRL_X_NORMAL for zero.
|
|
|
|
|
|
| |
Problem: Slow redrawing with DirectX.
Solution: Avoid calling gui_mch_flush() unnecessarily, especially when
updating the cursor. (Ken Takata, closes #2560)
|
|
|
|
|
| |
Problem: USE_IM_CONTROL is confusing and incomplete.
Solution: Just use FEAT_MBYTE. Call 'imactivatefunc' also without GUI.
|
|
|
|
|
|
| |
Problem: balloon_show() only works in terminal when compiled with the GUI.
Solution: Add FEAT_BEVAL_GUI and refactor to move common code out of the GUI
specific file.
|
|
|
|
|
|
| |
Problem: Cannot use 'balloonexpr' in a terminal.
Solution: Add 'balloonevalterm' and add code to handle mouse movements in a
terminal. Initial implementation for Unix with GUI.
|
|
|
|
|
|
| |
Problem: Mac features are confusing.
Solution: Make feature names more consistent, add "osxdarwin". Rename
feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)
|
|
|
|
|
| |
Problem: W_WIDTH() is always the same.
Solution: Expand the macro.
|
|
|
|
|
|
| |
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: Cannot specify mappings for the terminal window.
Solution: Add the :tmap command and associated code. (Jacob Askeland,
closes #2073)
|
|
|
|
|
|
| |
Problem: When imstyle is one, mapping <Left> breaks preediting.
Solution: Pass though preediting key-events. (Yasuhiro Matsumoto, closes
#2064, closes #2063)
|
|
|
|
|
| |
Problem: When a timer calls getchar(1) input is overwritten.
Solution: Increment tb_change_cnt in inchar(). (closes #1940)
|
|
|
|
|
|
| |
Problem: When a function invoked from a timer calls confirm() and the user
types CTRL-C then Vim hangs.
Solution: Reset typebuf_was_filled. (Ozaki Kiichi, closes #1791)
|
|
|
|
|
|
| |
Problem: Cursor disappears after silent mapping. (Ramel Eshed)
Solution: Do restore the cursor when it was changed, but don't change it in
the first place for a silent mapping.
|
|
|
|
|
|
| |
Problem: In the GUI the cursor may flicker.
Solution: Check the cmd_silent flag before updating the cursor shape.
(Hirohito Higashi, closes #1637)
|
|
|
|
|
| |
Problem: The typeahead buffer is reallocated too often.
Solution: Re-use the existing buffer if possible.
|
|
|
|
|
|
|
| |
Problem: Saving the redo buffer only works one time, resulting in the "."
command not working well for a function call inside another
function call. (Ingo Karkat)
Solution: Save the redo buffer at every user function call. (closes #1619)
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Problem: :map completion does not have <special>. (Dominique Pelle)
Solution: Recognize <special> in completion. Add a test.
|
|
|
|
|
|
| |
Problem: Vim does not support bracketed paste, as implemented by xterm and
other terminals.
Solution: Add t_BE, t_BD, t_PS and t_PE.
|
|
|
|
|
| |
Problem: Outdated and misplaced comments.
Solution: Fix the comments.
|
|
|
|
|
|
| |
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: :filter does not work for many commands. Can only get matching
messages.
Solution: Make :filter work for :command, :map, :list, :number and :print.
Make ":filter!" show non-matching lines.
|
|
|
|
|
| |
Problem: Buffer overflow when using latin1 character with feedkeys().
Solution: Check for an illegal character. Add a test.
|
|
|
|
|
|
|
| |
Problem: Sourcing a script where a character has 0x80 as a second byte does
not work. (Filipe L B Correia)
Solution: Turn 0x80 into K_SPECIAL KS_SPECIAL KE_FILLER. (Christian
Brabandt, closes #728) Add a test case.
|
|
|
|
|
| |
Problem: Various typos, long lines and style mistakes.
Solution: Fix the typos, wrap lines, improve style.
|
|
|
|
|
|
|
| |
Problem: When waiting for a character is interrupted by receiving channel
data and the first character of a mapping was typed, the mapping
times out. (Ramel Eshed)
Solution: When dealing with channel data don't return from mch_inchar().
|