Age | Commit message (Collapse) | Author |
|
Problem: is*() and to*() function may be unsafe
Solution: Add SAFE_* macros and start using those instead
(Keith Thompson)
Use SAFE_() macros for is*() and to*() functions
The standard is*() and to*() functions declared in <ctype.h> have
undefined behavior for negative arguments other than EOF. If plain char
is signed, passing an unchecked value from argv for from user input
to one of these functions has undefined behavior.
Solution: Add SAFE_*() macros that cast the argument to unsigned char.
Most implementations behave sanely for negative arguments, and most
character values in practice are non-negative, but it's still best
to avoid undefined behavior.
The change from #13347 has been omitted, as this has already been
separately fixed in commit ac709e2fc0db6d31abb7da96f743c40956b60c3a
(v9.0.2054)
fixes: #13332
closes: #13347
Signed-off-by: Keith Thompson <Keith.S.Thompson@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
|
|
Problem: Error messages are not translated.
Solution: Add _().
|
|
Problem: "clear" macros are not always used.
Solution: Use ALLOC_ONE, VIM_CLEAR, CLEAR_POINTER and CLEAR_FIELD in more
places. (Yegappan Lakshmanan, closes #12104)
|
|
Problem: The code style has to be checked manually.
Solution: Add basic code style checks in a test. Fix or avoid uncovered
problems.
|
|
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closes #11787)
|
|
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
Problem: Various spelling mistakes in comments.
Solution: Fix the mistakes. (Dominique Pellé, closes #9416)
|
|
Problem: Computing array length is done in various ways.
Solution: Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305)
|
|
Problem: CTRL-C in the GUI doesn't interrupt. (Sergey Vlasov)
Solution: Recognize "C" with CTRL modifier as CTRL-C. (issue #6565)
|
|
Problem: Scrollbars not flush against the window edges when maximised.
Solution: Add padding. (Ken Takata, closes #5602, closes #6466)
|
|
Problem: Various typos in source files and tests.
Solution: Fix the typos. (Emir Sari, closes #5532)
|
|
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
|
|
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: Too many curly braces.
Solution: Remove curly braces where they are not needed. (Hirohito Higashi,
closes #3982)
|
|
Problem: getchar(0) never returns a character in the terminal.
Solution: Call wait_func() at least once.
|
|
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, part 1.
|
|
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: Unnecessary static function prototypes.
Solution: Remove unnecessary prototypes.
|
|
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
|
|
Problem: Endless loop when gui_mch_stop_blink() is called while blink_state
is BLINK_OFF. (zdohnal)
Solution: Avoid calling gui_update_cursor() recursively.
|
|
Problem: Terminal window does not have colors in the GUI.
Solution: Lookup the GUI color.
|
|
Problem: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
|
|
Problem: Warning for assigning negative value to unsigned. (Danek Duvall)
Solution: Make cterm_normal_fg_gui_color and _bg_ guicolor_T, cast to long_u
only when an unsigned is needed.
|
|
Problem: GUI: cursor drawn in wrong place if a timer callback causes a
screen update. (David Samvelyan)
Solution: Also redraw the cursor when it's blinking and on.
|
|
Problem: GUI: When channel data is received the cursor blinking is
interrupted. (Ramel Eshed)
Solution: Don't update the cursor when it is blinking.
|
|
Problem: Color name decoding is implemented several times.
Solution: Move it to term.c. (Christian Brabandt)
|
|
Problem: Using old style function declarations.
Solution: Change to new style function declarations. (script by Hirohito
Higashi)
|
|
Problem: Typos in source files.
Solution: Fix the typos. (Ken Takata)
|
|
Problem: Cannot run new version of cproto, it fails on missing include
files.
Solution: Add lots of #ifndef PROTO
|
|
Problem: Code not following Vim style.
Solution: Fix the style. (Elias Diem)
|
|
Problem: Source code not in Vim style.
Solution: Adjust the style. (Elias Diem)
|
|
Problem: Built-in colors are different from rgb.txt.
Solution: Adjust the color values. (Benjamin Haskell)
|
|
Problem: Code not following Vim coding style.
Solution: Fix the style. (Elias Diem)
|
|
Problem: Photon code style doesn't match Vim style.
Solution: Clean up some of it. (Elias Diem)
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|