Commit Graph

3052 Commits

Author SHA1 Message Date
John Szakmeister
d3a57b9b0b Fix a wrong expectation for vim_FullName() and FullName_save().
It's the second argument, buf, that cannot be NULL.  fname is allowed to
be NULL.  The issue only showed up on the release build when trying to
use NULL for fname and the test would segfault unexpectedly (because the
NULL check for fname was being optimized out due to the function
attributes).

FullName_save() also incorrectly assumes that fname cannot be NULL
(possibly because of the attribute on vim_FullName), so fix that site as
well.  This didn't have a corresponding test, so it wasn't visible as
test breakage, but did generate a tautological comparison warning in the
release build under Clang.
2015-05-09 09:28:38 -04:00
Björn Linse
bcfc559395 os/input.c: Eliminate conversion warning from gcc 5 #2617 2015-05-09 11:28:25 +02:00
David Bürgin
001209a2fe 'cpoptions': Remove "*" flag #2554
The "*" flag in 'cpoptions' makes the command :* execute the contents of
a register. Removed because
  1. the same functionality exists as :@
  2. it hides :* as a useful command-line shortcut for :'<,'>
  3. unlike :@ it cannot be used with the * register

Helped-by: Michael Reed <m.reed@mykolab.com>
2015-05-08 17:46:54 -04:00
Chris Hall
7fc7147ad6 coverity/62618: fixing "Wrong sizeof argument"
suspicious_sizeof: Passing argument 168UL /* sizeof (ufunc_T) */ * todo
to function xmalloc and then casting the return value to ufunc_T ** is
suspicious.
2015-05-08 10:08:53 +12:00
Chris Hall
2393074d5f coverity/109019: fixing "Sizeof not portable"
suspicious_sizeof: Passing argument 8UL /* sizeof (char const **) */ to
function xcalloc and then casting the return value to char ** is
suspicious.

In this particular case sizeof (char const **) happens to be
equal to sizeof (char const *), but this is not a portable as
2015-05-08 10:08:23 +12:00
Yamakaky
0b03399b8b refactor: remove USR_VIMRC_FILE4 #2580
It was 1) not used and 2) badly treated, compared to USR_VIMRC_FILE3.
2015-05-07 17:05:41 -04:00
Eliseo Martínez
f88cec8021 Merge #2470: Remove char_u (5)
Reviewed-by: Scott Prager <splinterofchaos@gmail.com>
Reviewed-by: Michael Reed <m.reed@mykolab.com>
Reviewed-by: Eliseo Martínez <eliseomarmol@gmail.com>
2015-05-07 08:08:31 +02:00
Bastian Winkler
a2cf628603 vim-patch:7.4.707 #2541
Problem:    Undo files can have their executable bit set.
Solution:   Strip of the executable bit. (Mikael Berthe)

https://github.com/vim/vim/commit/v7-4-707
2015-05-07 00:33:20 -04:00
David Bürgin
83a2a638a9 vim-patch:7.4.526 #2562
Problem:    matchstr() fails on long text. Daniel Hahler)
Solution:   Return NFA_TOO_EXPENSIVE from regexec_nl(). (Christian Brabandt)

https://github.com/vim/vim/commit/v7-4-526

Helped-by: Michael Reed <m.reed@mykolab.com>
2015-05-07 00:26:07 -04:00
Mark Bainter
2f60a69baf Update vim_FullName() to define fname as const 2015-05-06 21:34:19 -05:00
Mark Bainter
4ccf2740c8 Make fname const in path_get_absolute_path()
Also a minor change to remove an unneeded cast
2015-05-06 21:34:19 -05:00
Mark Bainter
a2273164b6 Refactor modname() to use add_pathsep
Based on splinterofchaos review
2015-05-06 21:34:19 -05:00
Mark Bainter
a56b09005a Passing by: wrap mb_ptr_adv(), mb_cptr_adv(), mb_ptr_back() macros in parenthesis. 2015-05-06 21:34:19 -05:00
Mark Bainter
7b35830fa4 Merge 'p' declaration with init in vim_version_dir() 2015-05-06 21:34:19 -05:00
Mark Bainter
bf2913bf74 Remove char_u: vim_settempdir() 2015-05-06 21:34:19 -05:00
Mark Bainter
c55e488079 Remove char_u: concat_fnames() 2015-05-06 21:34:19 -05:00
Mark Bainter
477b6a2c44 Remove char_u: make_percent_swname() 2015-05-06 21:25:05 -05:00
Mark Bainter
7774b97d57 Remove char_u: fix_fname() 2015-05-06 21:25:05 -05:00
Mark Bainter
80180bf94e Remove char_u: FullName_save() 2015-05-06 21:25:04 -05:00
Mark Bainter
657fd61973 Remove char_u: vim_FullName() 2015-05-06 21:25:04 -05:00
Mark Bainter
789c448d19 Remove char_u: path_with_url() 2015-05-06 21:25:04 -05:00
Mark Bainter
3128ff3798 Remove char_u: path_is_url() 2015-05-06 21:25:04 -05:00
Mark Bainter
1f76857232 Remove char_u: modname() 2015-05-06 21:25:04 -05:00
Mark Bainter
f813fdce38 Remove char_u: add_pathsep() 2015-05-06 21:25:04 -05:00
Yamakaky
dce0b98f80 vim-patch:7.4.590 #2592
Problem:    Using ctrl_x_mode as if it contains flags.
Solution:   Don't use AND with CTRL_X_OMNI. (Hirohito Higashi)

https://github.com/vim/vim/commit/v7-4-590

It was already included in neovim, see #2527.
2015-05-06 17:13:04 -04:00
David Bürgin
b6af1afee6 vim-patch:7.4.564 #2591
Problem:    FEAT_OSFILETYPE is used even though it's never defined.
Solution:   Remove the code. (Christian Brabandt)

https://github.com/vim/vim/commit/v7-4-564

Not applicable, this code has already been removed in Neovim. Included
some of the style tweaks.
2015-05-05 17:04:03 -04:00
David Bürgin
9e91bb461f tests: Migrate legacy test 96 #2220 2015-05-04 23:36:08 -04:00
David Bürgin
d6209fa9f0 'cpoptions': Remove "H" flag #2556 2015-05-04 14:20:28 -04:00
Bastian Winkler
115f137b12 vim-patch:7.4.574 #2539
Problem:    No error for eval('$').
Solution:   Check for empty name. (Yasuhiro Matsumoto)

https://github.com/vim/vim/commit/v7-4-574
2015-05-03 19:39:56 -04:00
Scott Prager
1eb3396922 unify jobstart, termopen, and system interfaces
For any of these functions, if {cmd} is a string, execute
"&shell &shellcmdflag '{cmd}'", or simply {cmd} if it's a list.

In termopen(), if the 'name' option is not supplied, try to guess using
'{cmd}' (string) or {cmd}[0] (list).  Simplify ex_terminal to use the
string form of termopen().

termopen: get name from argument

Convert list_to_argv to tv_to_argv.

Helped-by: Björn Linse <@bfredl>
Helped-by: oni-link <knil.ino@gmail.com>
Helped-by: Thiago de Arruda <@tarruda>
2015-05-02 09:47:30 -04:00
Scott Prager
74aef89720 term: use an argument vector for termopen().
Old behaviour: termopen('cmd') would run `&shell &shcf "cmd"`, which
caused the functional tests to fail on some systems due to the process
not "owning" the terminal. Also, it is inconsistent with jobstart().

Modify termopen() so that &shell is not invoked, but maintain the old
behaviour with :terminal. Factor the common code for building the
argument vector from jobstart() and modify the functional tests to call
termopen() instead of :terminal (fixes #2354).

Also:
 * Add a 'name' option for termopen() so that `:terminal {cmd}` produces
   a buffer named "term//{cwd}/{cmd}" and termopen() users can customize
   the name.
 * Update the documentation.
 * Add functional tests for `:terminal` sinse its behaviour now differs
   from termopen(). Add "test/functional/fixtures/shell-test.c" and move
   "test/functional/job/tty-test.c" there, too.

Helped-by: Justin M. Keyes <@justinmk>
2015-05-02 09:47:29 -04:00
Michael Reed
71592a06fd src: Misc. cleanup
These macros (and global) haven't been used since
3baba1e7bc
2015-05-01 16:45:02 -04:00
Michael Reed
98b3dc0571 vim-patch:7.4.659 + test
Problem:    When 'ruler' is set the preferred column is reset. (Issue 339)
Solution:   Don't set curswant when redrawing the status lines.

https://code.google.com/p/vim/source/detail?r=v7-4-659

Helped-by: David Bürgin <676c7473@gmail.com>
Based on #2347 by @pvinis
2015-05-01 16:45:02 -04:00
Michael Reed
28e60462c8 vim-patch:7.4.389
based on #2429 by @Hettomei

Problem:    Still sometimes Vim enters Replace mode when starting up.
Solution:   Use a different solution in detecting the termresponse and
            location response. (Hayaki Saito)

https://code.google.com/p/vim/source/detail?r=v7-4-389

The upstream patch touched a lot of files which don't exist in nvim,
hence the small size of this commit.
2015-05-01 16:45:02 -04:00
David Bürgin
cc76c5b0cf Remove obsolete vi options #2553
These options were never implemented in Vim. They are documented under
|missing-options| in runtime/doc/vi_diff.txt:
  'autoprint'
  'beautify'
  'flash'
  'graphic'
  'hardtabs'
  'mesg'
  'novice'
  'open'
  'optimize'
  'redraw'
  'slowopen'
  'sourceany'
  'w300'
  'w1200'
  'w9600'

References #2548.
2015-05-01 16:17:03 -04:00
Eliseo Martínez
88827f5834 Merge #2545: Fix clang analysis warnings. (12)
Reviewed-by: oni-link <knil.ino@gmail.com>
2015-05-01 19:38:55 +02:00
Eliseo Martínez
2fec6b7d4e Fix warnings: Support '%zu' in vim_snprintf(): Add support. 2015-05-01 17:02:40 +02:00
Eliseo Martínez
b158fbb280 Support '%zu' in vim_snprintf(): Cleanup.
Some style changes and minimal refactoring, to tidy up code.
No behavioural changes intended.
2015-05-01 17:02:05 +02:00
Eliseo Martínez
1eaaff3fc5 Fix warnings: ex_docmd.c: ex_tabonly(): Np dereference: FP.
Problem    : Dereference of null pointer @ 5816.
Diagnostic : False positive.
Rationale  : first_tabpage is assumed to be NULL after calling
             goto_tabpage(), which should not be possible (first_tabpage
             should be not NULL before calling it, and only changed to
             another valid tab page).
Resolution : Assert first_tabpage after calling goto_tabpage().

Helped-by: oni-link <knil.ino@gmail.com>
2015-05-01 11:23:46 +02:00
Eliseo Martínez
33adbf3139 Fix warnings: ex_cmds2.c: ex_listdo(): Np dereference: FP.
Problem    : Dereference of null pointer @ 1909.
Diagnostic : False positive.
Rationale  : Suggested path error first assumes tp == NULL and later one
             valid_tabpage(tp), which is not possible.
Resolution : Assert tp != NULL if valid_tabpage(tp).
2015-05-01 11:23:46 +02:00
Eliseo Martínez
21d40475bb Fix warnings: ex_cmds2.c: ex_listdo(): Np dereference: FP.
Problem    : Dereference of null pointer @ 1903.
Diagnostic : False positive.
Rationale  : Suggested error path first assumes wp == NULL and later one
             win_valid(wp), which is not possible.
Resolution : Assert wp != NULL if win_valid(wp).
2015-05-01 11:23:46 +02:00
Bastian Winkler
df3abf4df0 vim-patch:7.4.706 #2546
Problem:    Window drawn wrong when 'laststatus' is zero and there is a
            command-line window. (Yclept Nemo)
Solution:   Set the status height a bit later. (Christian Brabandt)

https://github.com/vim/vim/commit/v7-4-706
2015-04-30 15:20:16 -04:00
Felipe Morales
46871d159a Mark some patches re: command-ranges as included #2546
reported by @glts at https://github.com/neovim/neovim/pull/2041#issuecomment-97747833
2015-04-30 15:01:55 -04:00
Florian Walch
64a4ef679a vim-patch:7.4.653 #2527
Problem:    Insert mode completion with complete() may have CTRL-L work like
	    CTRL-P.
Solution:   Handle completion with complete() differently. (Yasuhiro
	    Matsumoto, Christian Brabandt, Hirohito Higashi)

https://github.com/vim/vim/commit/v7-4-653
2015-04-30 14:26:35 -04:00
Florian Walch
8130eb1191 jemalloc: Force use of prefixed functions.
* Set JEMALLOC_NO_DEMANGLE to be able to use `je_*` functions,
  regardless of how jemalloc was compiled (--with-jemalloc-prefix)
* Show jemalloc information in Neovim's version output.

Resolve #2449.
2015-04-29 22:26:55 +03:00
Florian Walch
07d4142a18 CMake: Refer to Unibilium instead of LibUnibilium. 2015-04-29 22:26:55 +03:00
Felipe Morales
b46746b93e vim-patch:7.4.595
Problem:    The test_command_count test fails when using Japanese.
Solution:   Force the language to C. (Hirohito Higashi)

https://code.google.com/p/vim/source/detail?name=v7-4-595
2015-04-28 23:08:32 -03:00
Felipe Morales
0c44d0ebfc vim-patch:7.4.588
Problem:    ":0argedit foo" puts the new argument in the second place
instead of the first.
Solution:   Adjust the range type. (Ingo Karkat)

https://code.google.com/p/vim/source/detail?name=v7-4-588
2015-04-28 23:08:32 -03:00
Felipe Morales
7e850a2f2a vim-patch:7.4.585
Problem:    Range for :bdelete does not work. (Ronald Schild)
Solution:   Also allow unloaded buffers.

https://code.google.com/p/vim/source/detail?name=v7-4-585
2015-04-28 23:08:32 -03:00
Felipe Morales
838c9aa31d vim-patch:7.4.580
Problem:    ":52wincmd v" still gives an invalid range error. (Charles
            Campbell)
Solution:   Skip over white space.

https://code.google.com/p/vim/source/detail?name=v7-4-580
2015-04-28 23:08:32 -03:00