aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* use wchar_t instead of WCHAR #6998Matt Kline2018-06-18
| | | | wchar_t has better cross-platform support and seems to fix an issue on MinGW when building with `-std=c99`.
* Merge #8502 from janlazo/vim-8.0.0481Justin M. Keyes2018-06-17
|\
| * syntax: refactor syn_finish_line to return boolJan Edmund Lazo2018-06-16
| |
| * vim-patch:8.0.0481: unnecessary if statementJan Edmund Lazo2018-06-16
| | | | | | | | | | | | | | Problem: Unnecessary if statement. Solution: Remove the statement. Fix "it's" vs "its" mistakes. (Dominique Pelle, closes vim/vim#1568) https://github.com/vim/vim/commit/aab93b12cb54fbe5efe9e8f6fde1c46802a3031e
* | startup: fix -E/-Es without `-u NONE`Justin M. Keyes2018-06-17
| | | | | | | | | | | | | | | | | | | | Before this change, -E/-Es without `-u NONE` reads stdin as Ex commands. It should always read stdin as text (into buffer 1), like this: echo foo | nvim -Es +'%p' foo echo foo | nvim -Es -u NORC +'%p' foo
* | Ex mode: use getexline() instead of getexmodeline()Justin M. Keyes2018-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes Ex mode (Q, -e) to work like Vim's "improved Ex mode" (gQ, -E). That brings some small behavior differences, but should not impact most Ex scripts (unless, for example, they depend on mappings being disabled--but that can be solved for -e by skipping user config). Before this change: * the screen test hangs. After this change: * Q acts like gQ. * -e/-es differs from -E/-Es only in its treatment of stdin. This moves towards potentially removing getexmodeline(). (HINT: That does NOT mean "removing Ex mode", it means removing the Vi-compatible Ex mode, which differs from Vim's "improved Ex mode" only in some minor details (e.g. mappings are disabled).) ref #1089 :-)~
* | vim-patch:8.0.0609: some people still don't know how to quit (#8571)Jan Edmund Lazo2018-06-17
| | | | | | | | | | | | | | | | Problem: For some people the hint about quitting is not sufficient. Solution: Put <Enter> separately. Also use ":qa!" to get out even when there are changes. https://github.com/vim/vim/commit/28a8193e3113f676f89fb6312b099d849df881d3
* | vim-patch:8.0.0625: shellescape() always escapes a newline (#8573)Jan Edmund Lazo2018-06-17
| | | | | | | | | | | | | | Problem: shellescape() always escapes a newline, which does not work with some shells. (Harm te Hennepe) Solution: Only escape a newline when the "special" argument is non-zero. (Christian Brabandt, closes vim/vim#1590) https://github.com/vim/vim/commit/206155280def51160a9d81d983aed639015ffb44
* | Merge #8570 'gen_events.lua: define NUM_EVENTS as enum'Justin M. Keyes2018-06-16
|\ \
| * | gen_events.lua: define NUM_EVENTS as an enum valueJustin M. Keyes2018-06-16
| |/ | | | | | | | | | | | | | | | | | | Fix PVS warnings: fileio.c:7293 Medium V547 Expression is always true. fileio.c:7351 Medium V547 Expression 'event == 100' is always false. event_name2nr returns event_T, so PVS infers that nothing outside of that range could possibly be returned.
* | Merge #8569 from janlazo/vim-8.0.0602Justin M. Keyes2018-06-16
|\ \
| * | vim-patch:8.0.0604: gF test fails still on MS-WindowsJan Edmund Lazo2018-06-16
| | | | | | | | | | | | | | | | | | Problem: gF test fails still on MS-Windows. Solution: Use : before the line number and remove it from 'isfname'. https://github.com/vim/vim/commit/712598f210570627534246cb5dcbb4f213367997
| * | vim-patch:8.0.0603: gF test fails on MS-WindowsJan Edmund Lazo2018-06-16
| | | | | | | | | | | | | | | | | | Problem: gF test fails on MS-Windows. Solution: Use @ instead of : before the line number https://github.com/vim/vim/commit/d7aca7a71c7254501c08f04db1798df479df0e89
| * | vim-patch:8.0.0602: when gF fails to edit the file the cursor still movesJan Edmund Lazo2018-06-16
| |/ | | | | | | | | | | | | Problem: When gF fails to edit the file the cursor still moves to the found line number. Solution: Check the return value of do_ecmd(). (Michael Hwang) https://github.com/vim/vim/commit/2a79ed293c077ba791db962f0e121cf97ba4f7a7
* | fix lintckelsel2018-06-16
| |
* | vim-patch:8.0.0545: edit test may fail on some systemsckelsel2018-06-16
| | | | | | | | | | | | Problem: Edit test may fail on some systems. Solution: If creating a directory with a very long path fails, bail out. https://github.com/vim/vim/commit/15ecbd6f3d39ff04862999a577962ef9369a9e53
* | vim-patch:8.0.0543: test_edit causes older xfce4-terminal to closeckelsel2018-06-16
| | | | | | | | | | | | | | Problem: Test_edit causes older xfce4-terminal to close. (Dominique Pelle) Solution: Reduce number of columns to 2000. Try to restore the window position. https://github.com/vim/vim/commit/ba6ec182973af726ce9b7b7eb3753fc3a7ae7d1b
* | vim-patch:8.0.0532: test with long directory name fails on Macckelsel2018-06-16
| | | | | | | | | | | | Problem: Test with long directory name fails on Mac. Solution: Skip the test on Mac systems. https://github.com/vim/vim/commit/c77d6757471fa207520586bbdbc1b30af84cf5c8
* | vim-patch:8.0.0531: test with long directory name fails on non-unix systemsckelsel2018-06-16
| | | | | | | | | | | | Problem: Test with long directory name fails on non-unix systems. Solution: Skip the test on non-unix systems. https://github.com/vim/vim/commit/9b81079ddd839a666682f6bdbc24890bf4d1a42c
* | vim-patch:8.0.0530: buffer overflow when 'columns' is very bigckelsel2018-06-16
|/ | | | | | | Problem: Buffer overflow when 'columns' is very big. (Nikolai Pavlov) Solution: Correctly compute where to truncate. Fix translation. (closes vim/vim#1600) https://github.com/vim/vim/commit/658a3a2caf5852d071b6b1be92d9d6614a6208dc
* Merge #8565 from janlazo/vim-8.0.0575Justin M. Keyes2018-06-16
|\
| * vim-patch:8.0.0577: warning for uninitialized variableJan Edmund Lazo2018-06-16
| | | | | | | | | | | | Problem: Warning for uninitialized variable. (John Marriott) Solution: Initialize "indent". https://github.com/vim/vim/commit/97db5541a65e4614f8753af27996c204946061a9
| * vim-patch:8.0.0575: using freed memory when resetting 'indentexpr'Jan Edmund Lazo2018-06-16
| | | | | | | | | | | | | | Problem: Using freed memory when resetting 'indentexpr' while evaluating it. (Dominique Pelle) Solution: Make a copy of 'indentexpr'. https://github.com/vim/vim/commit/a701b3b6f0f06ac0c9fcc75c6c34a1258fc3b1a2
* | Merge #8543 from janlazo/vim-8.0.0596Justin M. Keyes2018-06-16
|\ \
| * | lintJan Edmund Lazo2018-06-13
| | |
| * | vim-patch:8.0.0596: crash when complete() called after complete_add()Jan Edmund Lazo2018-06-13
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Crash when complete() is called after complete_add() in 'completefunc'. (Lifepillar) Solution: Bail out if compl_pattern is NULL. (closes vim/vim#1668) Also avoid using freed memory. https://github.com/vim/vim/commit/4475b623960671898dac6a72b13a8d140402afa6
* | | Merge #8526 from janlazo/vim-8.0.0451Justin M. Keyes2018-06-16
|\ \ \ | |_|/ |/| |
| * | charset: include option_defs.h for breakat_flagsJan Edmund Lazo2018-06-12
| | |
| * | vim-patch:8.0.0451: some macros are in lower caseJan Edmund Lazo2018-06-12
| |/ | | | | | | | | | | | | Problem: Some macros are in lower case. Solution: Make a few more macros upper case. Avoid lower case macros use an argument twice. https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
* | get_maphash: fix off-by-oneJustin M. Keyes2018-06-14
| | | | | | | | | | | | Patch-by: oni-link <knil.ino@gmail.com> ref: https://github.com/neovim/neovim/pull/6236#discussion_r195113807
* | fillchars: make checks more strict and improve testsBjörn Linse2018-06-14
| |
* | Add ‘eob’ option to fillcharsJack Bracewell2018-06-13
| | | | | | | | | | This option allows configuring what character is shown on the empty lines at the end of a buffer, previously hardcoded to ‘~’
* | Merge pull request #7992 from bfredl/mbscreenBjörn Linse2018-06-13
|\ \ | | | | | | Represent Screen state as UTF-8
| * | options: remove 'maxcombine` option (always use 6)Björn Linse2018-06-13
| | |
| * | screen: use UTF-8 representationBjörn Linse2018-06-13
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Store text in ScreenLines as UTF-8, so it can be sent as-is to the UI layer. `utfc_char2bytes(off,buf)` is removed, as `ScreenLines[off]` now already contains this representation. To recover the codepoints that the screen arrays previously contained, use utfc_ptr2char (or utf_ptr2char to ignore composing chars). NB: This commit does NOT change how screen.c processes incoming UTF-8 data from buffers, cmdline, messages etc. Any algorithm that operates on UCS-4 (like arabic shaping, treatment of non-printable chars) is left unchanged for now.
* / Fix implicit conversion warning (#8536)Marco Hinz2018-06-13
|/
* doc: job/channel, misc #7783Justin M. Keyes2018-06-11
| | | | | | | | | | | doc: termios defaults. ref #6992 doc: :help shell-powershell doc: provider: Python minimum version is 2.7, 3.4 doc: remove :!start special-case. #5844 doc: mention #7917 change which accepts empty Array for Dictionary parameter doc: <Cmd> pseudokey doc: lmap change #5658 doc: -s, -es
* Merge #7679 'startup: treat stdin as text instead of commands'Justin M. Keyes2018-06-10
|\
| * cleanup, test interactive -EJustin M. Keyes2018-06-04
| |
| * win/startup: remove --literalJustin M. Keyes2018-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes 2 failing tests in startup_spec.lua. The Windows-only `--literal` option complicates support of "stdin-as-text + file-args" (#7679). Could work around it, but it's not worth the trouble: - users have a reasonable (and englightening) alternative: nvim +"n *" - "always literal" is more consistent/predictable - avoids platform-specific special-case Unrelated changes: - Replace fileno(stdxx) with STDXX_FILENO for consistency (not motivated by any observed technical reason).
| * startup: allow explicit "-" file arg with --headlessJustin M. Keyes2018-06-04
| |
| * startup: fix -es/-Es so they are actually silentJustin M. Keyes2018-06-04
| | | | | | | | | | | | silent-mode (-es/-Es) has been broken for years. The workaround up to now was to include --headless. But --headless is not equivalent because it prints all messages, not the limited subset defined by silent-mode.
| * startup: silent-mode is not `full_screen`Justin M. Keyes2018-06-04
| | | | | | | | | | | | | | | | | | silent-mode (AKA batch-mode, -es/-Es) by definition should not behave like a UI. There are still some places that check `full_screen` to decide behavior, e.g. msg_start(). Future: maybe eliminate `full_screen`, check `ui_active()` instead?
| * lintJustin M. Keyes2018-06-04
| |
| * startup: stdin-text with -E, -Es (improved Ex-mode)Justin M. Keyes2018-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Special-case for -E/-Es (as opposed to -e/-es). -es/-Es is the only mode that really allows N/Vim to work as a batch script engine. Adding a new flag (say `-x`) would involve a lot of churn: -es/-Es is implemented by checking `exmode_active` in numerous places. This commit does not change -es because some scripts use it. But scripts are unlikely to use -Es because it is not functionally different from -es. Also, both -es and -Es were broken in Nvim for years and no one mentioned it...
| * startup: stdin-text with file argsJustin M. Keyes2018-06-04
| |
| * startup: stdin as text instead of commandsJustin M. Keyes2018-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Treat stdin as text by default (so the "-" file is not needed): echo foo | nvim It works with file args (implemented in next commit), too: echo foo | nvim file1.txt file2.txt Why? Because: - Execution of input is (1) almost always unintentional/confusing, and (2) potentially destructive. - Avoids the need for time-delayed warning. #7659 - The _common_ case is to open text in a buffer, not send commands. Note: - Not for Ex-mode (-es) because it is used by scripts. But maybe `-Es`? - Not for --headless, because stdio may be a protocol stream and may be used for any purpose by stdioopen(). To treat stdin as Normal-mode commands, use `-s -` instead: echo ifoo | nvim -s - Other alternatives: - Replay a register. E.g. the following mostly works, except @q aborts on any "beep" (e.g. if the cursor can't move). nvim -c '%d q|norm @q' - - Future: Let `:%source` work with unsaved buffer contents? closes #2087 closes #7659
| * main.c: remove check_tty(), delayed warningJustin M. Keyes2018-06-04
| | | | | | | | | | | | | | | | This code was essentially dead because this condition: (!parmp->err_isatty && (!parmp->output_isatty || !parmp->input_isatty)) is almost never true. ref #7659
| * lintJustin M. Keyes2018-06-04
| |
* | Merge #8499 from janlazo/vim-8.0.0533Justin M. Keyes2018-06-10
|\ \