Commit Graph

8225 Commits

Author SHA1 Message Date
André Twupack
16fb7fa960 vim-patch:7.4.365
Problem:    Crash when using ":botright split" when there isn't much space.
Solution:   Add a check for the minimum width/height. (Yukihiro Nakadaira)

https://code.google.com/p/vim/source/detail?r=v7-4-365
2014-09-18 22:31:01 +02:00
Shougo Matsushita
b57d6ef09a vim-patch:7.4.392
Problem:    Not easy to detect type of command line window.
Solution:   Add the getcmdwintype() function. (Jacob Niehus)

https://code.google.com/p/vim/source/detail?r=v7-4-392
2014-09-18 20:44:36 +09:00
Shougo Matsushita
693bf89f2a vim-patch:7.4.383
Problem:    Bad interaction between preview window and omnifunc.
Solution:   Avoid redrawing the status line. (Hirohito Higashi)

https://code.google.com/p/vim/source/detail?r=v7-4-383
2014-09-18 20:19:03 +09:00
Shougo Matsushita
3b9a44fbea vim-patch: 7.4.381
Problem:    Get u_undo error when backspacing in Insert mode deletes more than
            one line break. (Ayberk Ozgur)
Solution:   Also decrement Insstart.lnum.

https://code.google.com/p/vim/source/detail?r=v7-4-381
2014-09-18 20:08:42 +09:00
Shougo Matsushita
1a2338bbad vim-patch:7.4.379
Problem:    Accessing freed memory after using setqflist(list, 'r'). (Lcd)
Solution:   Reset qf_index.

https://code.google.com/p/vim/source/detail?r=v7-4-379
2014-09-18 20:06:17 +09:00
Justin M. Keyes
a447160a6c Merge pull request #953 from splinterofchaos/patch235-exepath
vim-patch:7.4.235
2014-09-17 01:28:35 -04:00
Scott Prager
9445eaa297 vim-patch:7.4.235
Problem:    It is not easy to get the full path of a command.
Solution:   Add the exepath() function.

https://code.google.com/p/vim/source/detail?r=5ab2946f7ce560985830fbc3c453bb0f7a01f385
2014-09-17 01:00:24 -04:00
Scott Prager
899878d347 path: learn save_absolute_path(). 2014-09-17 00:57:27 -04:00
Damián Silvani
e32d338c87 vim-patch:7.4.313
Problem:    Changing the return value of getpos() causes an error.  (Jie Zhu)
Solution:   Revert getpos() and add getcurpos().

https://code.google.com/p/vim/source/detail?r=332a5c2b2956d9b18d85268a724d01deea27ec83
2014-09-16 23:35:12 -03:00
Damián Silvani
27f423e734 vim-patch:7.4.310
Problem:    getpos()/setpos() don't include curswant.
Solution:   Add a fifth number when getting/setting the cursor.

https://code.google.com/p/vim/source/detail?r=ccac0aa34eeaf46dad4b831461a532fc3fe71096
2014-09-16 22:43:40 -03:00
Justin M. Keyes
8d6540f876 Merge pull request #1129 from justinmk/clang
clang: Null pointer passed as an argument to a 'nonnull' parameter
2014-09-16 19:01:37 -04:00
Shougo Matsushita
aa66f2487e vim-patch:7.4.369
Problem:    Using freed memory when exiting while compiled with EXITFREE.
Solution:   Set curwin to NULL and check for that. (Dominique Pelle)

https://code.google.com/p/vim/source/detail?r=v7-4-369
2014-09-17 07:01:01 +09:00
Justin M. Keyes
fd60b8ee7e Merge pull request #1183 from Shougo/vim-patch-7.4.368
vim-patch:7.4.368
2014-09-16 14:16:29 -04:00
Thiago de Arruda
0669c5c0b1 channel: Fix unpacker loop condition 2014-09-16 14:17:36 -03:00
Shougo Matsushita
f5320f645b vim-patch:7.4.368
Problem:    Restoring the window sizes after closing the command line window
            doesn't work properly if there are nested splits.
Solution:   Restore the sizes twice. (Hirohito Higashi)

https://code.google.com/p/vim/source/detail?r=v7-4-368
2014-09-16 22:51:16 +09:00
Justin M. Keyes
3b7b79e37d Merge pull request #1140 from atwupack/vp-7.4.341
vim-patch:7.4.341, 7.4.347, 7.4.351, 7.4.358
2014-09-15 14:08:55 -04:00
Justin M. Keyes
874296331b Merge pull request #1177 from NOLFXceptMe/vp-7.4.387
vim-patch:7.4.387
2014-09-15 13:53:21 -04:00
Thiago de Arruda
037ca796a0 eval.c: Rename has('neovim') feature to has('nvim')
To follow the convention of 'nvim' for technical references
2014-09-15 08:21:31 -03:00
Naveen Kumar Molleti
4f3d49d921 vim-patch:7.4.387
Problem:    "4gro" replaces one character then executes "ooo". (Urtica
Dioica)
Solution:   Write the ESC in the second stuff buffer.

https://code.google.com/p/vim/source/detail?r=v7-4-387
2014-09-15 15:35:49 +05:30
Justin M. Keyes
5d35484203 Merge pull request #1169 from splinterofchaos/arglistid
vim-patch:7.4.312
2014-09-15 04:35:49 -04:00
Justin M. Keyes
0838b97739 Merge pull request #1165 from splinterofchaos/fix-patch-371
7.4.371.
2014-09-14 01:01:46 -04:00
Scott Prager
959ebfd5c2 7.4.371 2014-09-14 00:26:23 -04:00
Thiago de Arruda
f928c0a3a0 eval.c: Rename msgpack-rpc functions for consistency 2014-09-13 21:35:47 -03:00
Thiago de Arruda
f0b88466a3 eval.c: Rename jobwrite to jobsend 2014-09-13 21:35:47 -03:00
Thiago de Arruda
2d1b5589e8 server: Rename address environment variable
To follow the pattern of using NVIM for technical descriptions, it was renamed
to NVIM_LISTEN_ADDRESS
2014-09-13 21:35:47 -03:00
Scott Prager
def28adfdd vim-patch:7.4.312
Problem:    Cannot figure out what argument list is being used for a window.
Solution:   Add the arglistid() function. (Marcin Szamotulski)

https://code.google.com/p/vim/source/detail?r=v7-4-312
2014-09-13 18:28:32 -04:00
André Twupack
eeef120c86 vim-patch:7.4.358
Problem:    Sort is not always stable.
Solution:   Add an index instead of relying on the pointer to remain the same.
            Idea by Jun Takimoto.

https://code.google.com/p/vim/source/detail?r=v7-4-358
2014-09-13 19:11:46 +02:00
André Twupack
75413496ae vim-patch:7.4.351
Problem:    sort() is not stable.
Solution:   When the items are identical, compare the pointers.

https://code.google.com/p/vim/source/detail?r=v7-4-351
2014-09-13 19:11:07 +02:00
André Twupack
c68468500f vim-patch:7.4.347
Problem:    test55 fails on some systems.
Solution:   Remove the elements that all result in zero and can end up in an arbitrary position.

https://code.google.com/p/vim/source/detail?r=v7-4-347
2014-09-13 19:11:07 +02:00
André Twupack
9f252554e3 vim-patch:7.4.341
Problem:    sort() doesn't handle numbers well.
Solution:   Add an argument to specify sorting on numbers. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=adc4a84f72eb44dae657af713922a6e2c1f64ae3
2014-09-13 19:10:18 +02:00
André Twupack
abdcc5fe85 ex_cmds2.c:fix for issue #1164
fix condition while iterating over all buffers
2014-09-13 18:50:57 +02:00
André Twupack
ae33dc0d5a vim-patch:7.4.376
Problem:    Popup menu flickers too much.
Solution:   Remove the forced redraw. (Hirohito Higashi)

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

Includes: vim-patch:7.4.357 vim-patch:7.4.367 vim-patch:7.4.376
2014-09-12 21:02:50 +02:00
Thiago de Arruda
545acf2024 api metadata: Allow typed container information in api functions
Adapt gendeclarations.lua/msgpack-gen.lua to allow the `ArrayOf(...)` and
`DictionaryOf(...)` types in function headers. These are simple macros that
expand to Array and Dictionary respectively, but the information is kept in the
metadata object, which is useful for building clients in statically typed
languages.
2014-09-12 13:50:07 -03:00
Thiago de Arruda
cd2e46c078 api/msgpack-rpc: Refactor metadata object construction
Instead of building all metadata from msgpack-gen.lua, we now merge the
generated part with manual information(such as types and features). The metadata
is accessible through the api method `vim_get_api_info`.

This was done to simplify the generator while also increasing flexibility(by
being able to add more metadata)
2014-09-12 13:50:07 -03:00
Thiago de Arruda
15ca58d79f api: Implement vim_report_error function
This function is used to report errors caused by remote functions called by
channel_send_call
2014-09-12 13:50:07 -03:00
Thiago de Arruda
d29b62daab api: initialize capacity in the array_dict_macro 2014-09-12 13:50:07 -03:00
Thiago de Arruda
a1ce3a3acc provider: Major refactor
- Providers for features are now registered as a unit. For example, instead of
  calling `register_provider("clipboard_get")` and
  `register_provider("clipboard_set")`, clients call
  `register_provider("clipboard")` and nvim will assume it implements all
  methods of the "clipboard" feature
- Bootstrapping code was removed. With the `api_spawn` function exposed to
  vimscript, it's no longer necessary and will be handled by plugins
  distributed with nvim.
- Now the `has` function will return true if there's a live channel that
  has registered as a provider for the feature.
- 'initpython'/'initclipboard' options were removed
- A new API function was exposed: `vim_discover_features` which returns an
  object with information about pluggable features such as 'python' or
  'clipboard'
2014-09-12 13:25:29 -03:00
Thiago de Arruda
5060902930 api/msgpack-rpc: Implement channel_close and expose to vimscript
Simple function for closing a channel by id
2014-09-12 13:25:29 -03:00
Thiago de Arruda
03f4d17fc9 wstream: Fix close/free
The current code was leading to an invalid free when the wstream was closed
2014-09-12 13:25:28 -03:00
Thiago de Arruda
3f15d34056 job: Fix crash when passing a non-executable path to job_start 2014-09-12 13:25:28 -03:00
Thiago de Arruda
551b76c516 api/msgpack-rpc: Expose channel_from_job to vimscript as api_spawn 2014-09-12 13:25:28 -03:00
Thiago de Arruda
af61a286b2 main: Rename --embedded-mode and --api-msgpack-metadata options
--embedded-mode        -> --embed
--api-msgpack-metadata -> --api-info
2014-09-12 13:25:28 -03:00
Thiago de Arruda
cac24cb06d api/msgpack-rpc: Refactor msgpack_rpc_helpers.{c,h}
- Move helpers that are specific to API types to api/private/helpers.{c,h}
- Include headers with generated declarations
- Delete unused macros
2014-09-12 13:25:28 -03:00
Thiago de Arruda
2792a0e33c api/msgpack-rpc: Remove Position type, using arrays instead. 2014-09-12 13:25:28 -03:00
Thiago de Arruda
38dcfb6062 api/msgpack-rpc: Use EXT type to serialize Buffer/Window/Tabpage 2014-09-12 13:25:28 -03:00
Thiago de Arruda
2f566c83d9 api/msgpack-rpc: Parse type information from api/private/defs.h
Enhance msgpack-gen.lua to extract custom api type codes from the ObjectType
enum in api/private/defs.h. The type information is made available from the api
metadata and clients can use to correctly serialize/deserialize these types
using msgpack EXT type.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
d5a60d17fb api/msgpack-rpc: Remove specialized array types
Specialized array types(BufferArray, WindowArray, etc) were added to the API for
two main reasons:

- msgpack used to lack a way of serializing appliaction-specific types and there
  was no obvious way of making an API function accept/return arrays of custom
  objects such as buffers(which are represented as integers, so clients didn't
  have a way to distinguish from normal numbers)
- Let clients in statically-typed languages that support generics have a better
  typed API

With msgpack 2.0 EXT type the first item is no longer a factor and this commit
starts by removing the specialized array types. The second item will be
addressed in the future by making the API metadata return extra useful
information for statically-typed languages.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
505985b870 msgpack-rpc: Remove the msgpack_rpc_unpack function
The `msgpack_rpc_unpack` function was created to work around a deficiency in the
msgpack unpack API, which did not let the caller know if parsing failed due to
needing more data or to invalid input. The deficiency does not exist in the
latest version of `msgpack_unpacker_next`, so it can safely be removed.
2014-09-12 13:25:28 -03:00
Thiago de Arruda
41a48a3fc7 memory: Use i18n messages for memory-related errors 2014-09-12 13:25:28 -03:00
Thiago de Arruda
d5e3cede28 msgpack-rpc: Remove support for integer ids in methods
There's no need to have integer and string ids, and since we now fully support
msgpack-RPC, support for integer ids was removed.
2014-09-12 13:25:28 -03:00