- Constify parameters and reduce char_u usage
- Modernize function signatures
- Modernize function comment blocks, rewriting if needed
- Factor out mainerr_arg_missing(); all the other ME_* macros lack
such a wrapper function.
main_errors[]
- Remove unneeded parentheses
- Remove an unused error string and its respective macro
mainerr()
- Don't print version when called. mainerr() only handles errors
related to command line arguments, so the version isn't much help at
all.
- Changed 'vim' instance to 'nvim'
Misc.
- Remove duplicate include
- Replace unneeded 'inttypes.h' include with 'stdint.h'
- Remove stray comments
- Remove excessive newlines
If you Google for this phrase found in the Vim documentation you'll find
almost exclusively hits from the Vim documentation. I think changing
"halfway a line" to "halfway through a line" makes more sense.
There seems to be an pervasive odd use of the word 'halfway' in the
original docs which I'm updating everywhere.
Problem: Setting the local value of 'backupcopy' empty gives an error.
(Peter Mattern)
Solution: When using an empty value set the flags to zero. (Hirohito
Higashi)
https://code.google.com/p/vim/source/detail?r=v7-4-462
Problem: In some situations, when setting up an environment to trigger an
autocommand, the environment is not properly restored.
Solution: Check the return value of switch_win() and call restore_win()
always. (Daniel Hahler)
https://code.google.com/p/vim/source/detail?r=v7-4-446
Problem: In Insert mode, after inserting a newline that inserts a comment
leader, CTRL-O moves to the right. (ZyX) Issue 57.
Solution: Correct the condition for moving the cursor back to the NUL.
(Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=v7-4-492
Problem : Operands don't affect results (CONSTANT_EXPRESSION_RESULT).
Diagnostic : Harmless issue.
Rationale : n >= LONG_MIN, n being intmax_t, is always true for
architectures where sizeof(intmax_t) == sizeof(long).
Resolution : Add sizes check.
These were found with -Wunused-macros. There are many more macros which
triggered that warning, but they were primarily part of larger sets of
macros so leave them alone.
Regarding dict_lookup() in eval.c: both definitions are the same, the
only difference being the spacing between the indirection operator and
the indentation level.
Problem : Assert can fail for legal values. Modulo-arithmetic of
unsigned types can make so that n * 100 > n, but n has
overflowed.
Solution : Use alternative form of expression.
- Set 't_Co' to 256 at startup. The value can be changed by the user for
compatibility with terminals that are less capable.
- `has('gui_running')` will return 1 if at least one rgb UI is attached.
Even though these changes are hacky, they are necessary to make the transition
to the new UI architecture smoother.