Commit Graph

8225 Commits

Author SHA1 Message Date
Björn Linse
6ddbe6d9be clipboard: fix let @+ = ... and add test 2014-12-08 22:05:05 +01:00
Björn Linse
cccc46acd7 clipboard: better error messages when provider not available 2014-12-08 22:05:05 +01:00
Björn Linse
5476250ba3 options: change "unnamedclip" back to "clipboard=unnamed/unnamedplus"
This allows to configure which of '*' and '+' should be used for
the unnamed clipboard, and is consistent with vim.
2014-12-08 22:05:05 +01:00
Björn Linse
61aaf815db clipboard: clean up unnamedclip logic 2014-12-08 22:05:02 +01:00
Björn Linse
63efb9b1f1 clipboard: handle linewise/charwise selections correctly 2014-12-08 22:01:00 +01:00
Björn Linse
c1854d2433 clipboard: support separate '+' and '*' clipboards 2014-12-08 21:38:35 +01:00
Justin M. Keyes
fa9d44374b Merge pull request #1589 from splinterofchaos/fix-const-atter
strings: Remove NONNUL_ALL from NULL-taking functions.
2014-12-06 20:20:33 -05:00
Justin M. Keyes
01fc0efdca Merge pull request #1341 from splinterofchaos/api-nul
Api: Improve Nul handling
2014-12-06 20:19:08 -05:00
Scott Prager
460843b4cd api: Handle NULs and newlines in buffer_*_line. 2014-12-06 17:29:38 -05:00
Scott Prager
4964d65362 strings: Remove NONNUL_ALL from NULL-taking functions.
vim_strup() is only used in a couple places, with no NULLs possible, so
keep the attribute and remove the NULL check.
2014-12-06 14:41:21 -05:00
Justin M. Keyes
dcee93f8ea Merge pull request #1618 from elmart/clang-analysis-fixes-5
Fix clang analysis warnings. (5)
2014-12-06 12:08:15 -05:00
Eliseo Martínez
734ac625bb Fix warnings: message.c: msg_attr_keep(): Np dereference: FP.
Problem    : Dereference of null pointer @ 179.
Diagnostic : False positive.
Rationale  : Error occurs if `s` paramater is null, which should not
             happen.
Resolution : Declare parameter as non null.
2014-12-06 17:40:12 +01:00
Eliseo Martínez
a71c5e9eb9 Fix warnings: edit.c: ins_compl_next_buf(): Np dereference: MI.
Problem    : Dereference of null pointer @ 3247.
Diagnostic : Multithreading issue.
Rationale  : Problem only occurs if global `ctrl_x_mode` is modified
             while calling function is executing.
Solution   : Use local copy instead of global.
2014-12-06 17:40:12 +01:00
Julian Mehne
6cba2eef21 Allow the rest of the old tests to pass with nocp.
test40.in, test60.in, test_breakindent.in, test_listlbr.in, test_listlbr_utf8.in:
    To avoid <tab> triggering wildmode, set wildchar to 'cp' default.

test_breakindent.ok:
    Modify expectations to avoid cpoptions+=n
2014-12-06 13:43:14 +01:00
Joel Teichroeb
62bd20b726 Allow most old tests to pass with nocp.
test69.in:
    because 'nocp' sets 'esckeys', add an extra <esc> to avoid 'tm' pause.
2014-12-06 13:43:14 +01:00
Thiago de Arruda
3b435621a5 shell: Fix shell command output
Shell command output was broken in @8a5a8db, which refactored nvim to no longer
switch to cooked mode(linefeeds are processed differently).

Fix the problem by refactoring write_output to accept to extra arguments that
control the flushing behavior and where data will be written to: buffer or
directly to the screen.
2014-12-06 07:50:03 -03:00
Rui Abreu Ferreira
91f61ced81 Only use SANITIZE for nvim target
- Clang's Address Sanitizer options may cause problems when running
  the unit tests, restrict the use of these options to the nvim target.
2014-12-04 16:27:15 +00:00
Michael Reed
497a688ebc Remove remaining crypto references
Closes https://github.com/neovim/docs/pull/26

Also added stubs for 'cryptmethod' and 'key', and placeholders for
explanation regarding removal of crypto functionality.
2014-12-03 14:46:37 -05:00
Justin M. Keyes
930e58c56d Merge pull request #1534 from oni-link/fix.leak.detected.in.1510
Fix memory leak detected in #1510.
2014-12-03 09:44:08 -05:00
Rui Abreu Ferreira
923d021c0f Don't use env vars for configuration time options
- As a general rule of thumb one shouldn't use environment variables
  for setting configuration options for CMake. The reason for this is
  we don't know when CMake will be executed and re-evaluate that variable.
- e.g. If we run cmake a first time with a var set, and then run make on
  a second session (with no var) and cmake is called because a
  dependency changed, the option would be disabled
- This commit removes the use of environment vars from
  src/nvim/CMakeLists.txt entirely
- Removed SKIP_UNITTEST since it could only be used to remove a target
  at configuration time (and the target was optional anyway)
- Turned SANITIZE into an option, clang-asan.sh now passes cmake
  -DSANITIZE=ON
- Removed SKIP_EXEC since it was disabling a target at configuration time
  (not being used)
2014-12-03 14:23:08 +00:00
Thiago de Arruda
8b6473bd41 shell: Remove kShellOptCooked from ShellOpts 2014-12-03 10:12:12 -03:00
Thiago de Arruda
bf3a94ee51 time: Inline microdelay into os_microdelay 2014-12-03 10:03:39 -03:00
oni-link
eae3105ee3 channel.c: Fix for heap-use-after-free
ASAN detected this heap-use-after-free.
A job started by channel_from_job() could terminate and result in a call
to free_channel(), while channel_send_call() was still active/pending
and accessing Channel elements.

Original patch by @tarruda.
2014-12-03 13:41:17 +01:00
oni-link
e2e63832e3 Fix memory leak detected in PR 1510.
LSAN/ASAN detected, on an error code path, that not all elements of a
struct ChannelCallFrame were freed.
2014-12-03 13:41:17 +01:00
John Szakmeister
41f1678767 Revert "Merge pull request #1587 from equalsraf/tb-env-configs"
This reverts commit 53bccaaf99, reversing
changes made to 4049002f6b.
2014-12-03 07:29:03 -05:00
John Szakmeister
53bccaaf99 Merge pull request #1587 from equalsraf/tb-env-configs
Don't use env vars for configuration time options
2014-12-03 06:53:09 -05:00
John Szakmeister
4049002f6b Merge pull request #877 from equalsraf/tb-gendeclarations-windows
Refactor declaration generation error detection
2014-12-03 06:47:01 -05:00
Eliseo Martínez
d146b7c7ca Fix newline substitution: Adapt to upstream patch.
Fix previous changes to be compatible with agreed changes to upstream
vim (https://code.google.com/p/vim/issues/detail?id=287).
2014-12-02 19:04:30 +01:00
Rui Abreu Ferreira
22f30cfca0 When SANITIZE=ON headers need -DEXITFREE 2014-12-02 16:21:26 +00:00
Björn Linse
1464b0eda2 systemlist: add keepempty option to preserve final newline 2014-12-02 16:50:52 +01:00
Rui Abreu Ferreira
823a7ae61a Only use SANITIZE for nvim target
- Clang's Address Sanitizer options may cause problems when running
  the unit tests, restrict the use of these options to the nvim target.
2014-12-02 14:36:47 +00:00
Rui Abreu Ferreira
6e9af3c5dc Don't use env vars for configuration time options
- As a general rule of thumb one shouldn't use environment variables
  for setting configuration options for CMake. The reason for this is
  we don't know when CMake will be executed and re-evaluate that variable.
- e.g. If we run cmake a first time with a var set, and then run make on
  a second session (with no var) and cmake is called because a
  dependency changed, the option would be disabled
- This commit removes the use of environment vars from
  src/nvim/CMakeLists.txt entirely
- Removed SKIP_UNITTEST since it could only be used to remove a target
  at configuration time (and the target was optional anyway)
- Turned SANITIZE into an option, clang-asan.sh now passes cmake
  -DSANITIZE=ON
- Removed SKIP_EXEC since it was disabling a target at configuration time
  (not being used)
2014-12-02 14:36:47 +00:00
Thiago de Arruda
6436908ffe mouse: Remove CHECK_DOUBLE_CLICK conditionals
This is now always defined.
2014-12-02 07:21:34 -03:00
Thiago de Arruda
14f88b6865 term: Move more mouse functions to mouse.c 2014-12-02 07:21:28 -03:00
Thiago de Arruda
8a5a8dbf0f term: Remove most calls to settmode
Nvim now relies much less on setting terminal mode to cooked mode, remove most
calls to settmode, except for those that happen on startup or when suspending.
Eventually even those will be handled by the UI layer.
2014-12-02 07:15:07 -03:00
Thiago de Arruda
05f8d261fe term: Move "set_shellsize" to screen.c as "screen_resize" 2014-12-02 07:15:06 -03:00
Justin M. Keyes
212cb13ca4 Merge pull request #1582 from LBEaston/FixSegFault
Fix SegFault when entering Command(q:) or Search(q/) History
2014-12-01 07:35:44 -05:00
LBEaston
8f0e76fc50 Fix SegFault when getting full path for files 2014-12-01 13:01:01 +11:00
Justin M. Keyes
3e665efea4 Merge pull request #1497 from splinterofchaos/const-attr
constify and func-attribute memory.c and strings.c
2014-11-29 22:48:23 -05:00
Rui Abreu Ferreira
05d72e9826 Refactor declaration generation
- Call compiler from CMake instead of lua script to generate a
  preprocessor file - allows for better/early error detection if
  the compiler fails
- Preprocessor files are saved along with the headers as .i files
- Accept preprocessor lines with trailing chars after # as is
  the case in Clang/Windows
- The fourth argument to gendeclarations.lua is now the path to
  the proprocessor output file
2014-11-29 23:39:52 +00:00
Justin M. Keyes
414199c54b Merge pull request #1491 from Pyrohh/os2-and-misc-cleanup
Remove MiNT, NeXTSTEP, OS/2 References
2014-11-28 15:38:43 -05:00
Justin M. Keyes
371594fe9a Merge pull request #1533 from elmart/fix-sub-newline-abort
Fix newline substitution causing abort
2014-11-28 15:38:22 -05:00
Justin M. Keyes
ad848ced11 Merge pull request #1186 from splinterofchaos/write
Non-unix-specific os_unix function.
2014-11-28 14:50:09 -05:00
Scott Prager
275f6e3a6b mch_early_init() -> early_init().
Move general initialization functions to early_init, which simplifies
test/unit/helpers.lua, which requires all these functions.
2014-11-28 14:27:58 -05:00
Scott Prager
d5ea183633 update mch_suspend
Use the portable uv_kill.
Don't bother with archaic BeOS.
2014-11-28 14:27:58 -05:00
Scott Prager
8d271bb57b mch_init -> term_init 2014-11-28 14:27:16 -05:00
Scott Prager
a3ef5723a9 mch_write -> term_write
Switch from POSIX's write() to fwrite(stdout,...) and disable buffering
since vim buffers output explicitly and flushes when needed, like when a
key is typed.
2014-11-28 14:24:27 -05:00
Eliseo Martínez
2072fd3058 Fix newline substitution.
Problem  : Command `s/\n//` is being translated into a call to do_join
           with a count of 1. But do_join asserts its precondition count
           >= 2, which is causing the program to abort.
Note     : This in fact revealed bigger problems: generated join command
           line count, as well as reported substitutions/lines were
           wrong in several cases, since patch 7.4.232.
           See:
           [patch] http://markmail.org/message/vo7ruair5raccawp
           [issue] https://code.google.com/p/vim/issues/detail?id=287
Solution : - Don't generate join command for single-line-range case.
           - Make generated join command include:
             * lines in range + 1, when range doesn't end at last line.
             * lines in range, when range ends at last line.
           - Make reported substitutions/lines always be
             number-of-lines-joined - 1.
2014-11-28 20:00:06 +01:00
Justin M. Keyes
3ef8e4f33e Wconversion: fix #1578 2014-11-28 18:19:38 +00:00
Michael Reed
ba1e2ce287 Remove OS/2 references
Paul Slootman was removed from the top of os_unix.c as OS/2 is no longer
supported, but is still credited in runtime/doc/intro.txt.
2014-11-27 23:42:40 -05:00