Commit Graph

2626 Commits

Author SHA1 Message Date
Thiago de Arruda
7703fd328c ui: Use ui_linefeed to handle line breaks correctly
ui_linefeed will scroll the screen when it becomes full. This can happen when
executing external commands.
2015-01-12 09:47:41 -03:00
Thiago de Arruda
e1da130ca9 ui: Fix out_flush/ui_write behavior to always flush for abstract_ui 2015-01-12 09:47:41 -03:00
Thiago de Arruda
e3b2907f2f channel: Make pending_requests a field of the Channel type
This is required to send redraw notifications while a msgpack-rpc call is being
performed by another channel.
2015-01-12 09:47:41 -03:00
Thiago de Arruda
d992213678 ui: Reimplement :suspend command for remote UIs.
- Remove suspend method from the UI protocol
- Handle `:suspend` by disconnecting the last channel that sent a request to
  nvim.
2015-01-12 09:47:41 -03:00
Thiago de Arruda
abc147a977 ui: Don't parse abstract_ui codes if there are no attached UIs 2015-01-12 09:47:41 -03:00
Thiago de Arruda
cba9162215 channel: Free channels created from libuv streams 2015-01-12 09:47:41 -03:00
Thiago de Arruda
74c247f75b ui: Add 'rgb' parameter to ui_attach
When set to false, nvim will send cterm color numbers with `highlight_set`.
2015-01-12 09:47:41 -03:00
Thiago de Arruda
a8fe32040b ui: Dont resize screen if no UIs are attached
This prevents a race condition when a UI attaches early in the program and can
receive redraw commands for a invalid screen
2015-01-12 09:47:41 -03:00
Thiago de Arruda
869c734890 screen: Fix bug that causes separator to always be redraw for utf8 2015-01-12 09:47:41 -03:00
Thiago de Arruda
a4525bc523 screen: Remove abstract_ui test in reset_cterm_colors 2015-01-12 09:47:40 -03:00
Thiago de Arruda
4a28785c6e runtime: Fix plugin/matchparen.vim for abstract_ui 2015-01-12 09:47:40 -03:00
Thiago de Arruda
c1252a5615 syntax: Take rgb fg/bg when allocating cterm attr number 2015-01-12 09:47:40 -03:00
Thiago de Arruda
0887c5446e ui: Merge standout and reverse into one attribute 2015-01-12 09:47:40 -03:00
Thiago de Arruda
0219c87534 input: Ignore invalid "<" key sequences
Ignoring invalid key sequences simplifies input handling in UIs. The only
downside is having to use "<lt>" everytime a "<" is needed on functional tests.
2015-01-12 09:47:40 -03:00
Thiago de Arruda
d50d79831e test: Remove unnecessary command from highlight_spec 2015-01-12 09:47:40 -03:00
Thiago de Arruda
213c3c3e53 ui: Fix ui resizing and change some method names 2015-01-12 09:47:34 -03:00
Thiago de Arruda
9b30abcecb remote_ui: Move handler registration to remote_ui.c
Also don't defer attach_ui handling
2015-01-10 21:41:32 -03:00
Thiago de Arruda
748920d505 ui: Test for abstract_ui whenever a minimal t_colors value is required
t_colors should not be checked when abstract_ui is active, because nvim UI is
not limited to a terminal.
2015-01-10 21:41:32 -03:00
Thiago de Arruda
6815163606 ui: Add mising T_CSV code to abstract_ui termcap
This code is required for screen.c to set a vertical scroll region, which is a
great optimization when scrolling vertically split windows.
2015-01-10 21:41:32 -03:00
Thiago de Arruda
b17005edd9 ui: Increase cursor row when text being rendered would cross its limit 2015-01-10 21:41:31 -03:00
Thiago de Arruda
4f5f246a95 ui: Add update_fg/update_bg methods
It is necessary to notify the UI when the default background/foreground colors
change in order to render correctly.
2015-01-10 21:41:31 -03:00
Thiago de Arruda
209b5ed6ba test: Fix eol_clear in screen.lua
It should only clear to the end of the current scroll region(this is the
behavior expected by nvim)
2015-01-10 21:41:31 -03:00
Justin M. Keyes
a684cc175a Merge pull request #1761 from oni-link/speed.up.gc
Speed up garbage collection (Issue 1687).
2015-01-10 09:55:55 -05:00
Justin M. Keyes
f2460e93be Merge pull request #1788 from elmart/remove-long_u-4
Remove project-specific integer types: long_u. (4)
2015-01-10 09:33:27 -05:00
Eliseo Martínez
85904c992e Remove long_u: term: Remove dead code using long_u.
get_long_from_buf() seems not to be used anywhere, and is the only place
where instances of long_u remain at term.c.
2015-01-10 10:52:21 +01:00
Eliseo Martínez
31c8440fee Remove long_u: term: Enable -Wconversion. 2015-01-10 10:52:21 +01:00
Eliseo Martínez
2b93edde93 Remove long_u: hardcopy: Refactor long_u.
- <color_related_stuff>: long_u --> uint32_t

  Everywhere long_u was used to hold a color value.
  Color values are supposed to be 32 bits at most.
  Supported architectures have 32 bits ints, so we could have used plain
  ints. But this wouldn't be future-proof, and would be wasteful if a
  future architecture has ints bigger than 32 bits.
  So, uint32_t is perfect to achieve optimal packing no matter the
  architecture.

- bytes_to_print/bytes_printed: long_u --> size_t

  Seems like the correct thing, and gets rid of some casts.
2015-01-10 10:52:20 +01:00
Eliseo Martínez
ed8fbfaf5a Remove long_u: hardcopy: Enable -Wconversion. 2015-01-10 10:52:20 +01:00
Thiago de Arruda
515acf7224 Merge PR #1787 'Use versioned URLs for libtickit and dependencies' 2015-01-09 08:00:02 -03:00
Thiago de Arruda
ac193d86fd deps: Use versioned URLs for libtickit and dependencies 2015-01-09 07:56:56 -03:00
Justin M. Keyes
b16162b00f Merge pull request #1784 from elmart/coverity-issues-2
Fix coverity issues. (2)
2015-01-08 18:17:40 -05:00
Eliseo Martínez
aeb68bbb07 coverity/13763: Out-of-bounds read: FP.
Problem    : Out-of-bound read from a buffer.
Diagnostic : False positive.
Rationale  : nv_max_linear should always be less than nv_cmd_idx size
             (NV_CMDS_SIZE).
Resolution : Assert rationale.
2015-01-08 22:51:53 +01:00
Eliseo Martínez
d96e1c1ec3 coverity/13761: Out-of-bounds-write: FP.
Problem    : Out-of-bounds-write to a buffer.
Diagnostic : False positive.
Diagnostic : Suggested error location is under isupper(c) condition,
             which makes suggested error impossible. Coverity just fails
             to take isupper() postcondition into account.
Resolution : Assert isupper() postcondition.
2015-01-08 21:10:47 +01:00
Eliseo Martínez
0f029454ad coverity/13758: Out-of-bounds read: FP.
Problem    : Out-of-bounds read from a buffer.
Diagnostic : False positive.
Rationale  : Suggested error path implies isupper(*str) being true,
             which makes error vanish. Coverity just fails to take into
             account isupper() postcondition.
Resolution : Assert isupper() postcondition.
2015-01-08 21:10:46 +01:00
Justin M. Keyes
641f79099f Merge pull request #1779 from bfredl/itemlist
eval: fix incorrect refcount in list_append_list
2015-01-07 13:02:01 -05:00
Björn Linse
40d77a3d2b eval: fix incorrect refcount in list_append_list 2015-01-07 17:38:41 +01:00
Justin M. Keyes
050c6515f8 Merge pull request #1763 from epaulson10/vim-7.4.551
vim-patch:7.4.551
2015-01-06 00:12:53 -05:00
Justin M. Keyes
6bfe0daf63 Merge pull request #1772 from fwalch/vim-6921742
vim-patch:6921742,  vim-patch:37c2403 (runtime updates)
2015-01-04 22:05:54 -05:00
Florian Walch
099fdb49a7 Change 'history' default to 50.
Default as of Vim 7.4.336 (not yet ported). Runtime files already
mention this new default value.
2015-01-04 21:47:59 +01:00
Erik Paulson
55f00f44d3 vim-patch:7.4.551
Problem:    "ygn" may yank too much. (Fritzophrenic)  Issue 295.
Solution:   Check the width of the next match. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=v7-4-551
2015-01-04 12:23:48 -08:00
Florian Walch
2624d66045 vim-patch:37c2403
Update runtime files.

https://code.google.com/p/vim/source/detail?r=37c24033b2601a4a0953970a0ec85d5537101915
2015-01-04 20:28:08 +01:00
Florian Walch
b332aebe25 vim-patch:6921742
Update runtime files.

https://code.google.com/p/vim/source/detail?r=6921742f396a4abd21d7f69843b804ca0b96059c
2015-01-04 19:42:30 +01:00
Justin M. Keyes
10ff6ee0d7 Merge pull request #1762 from steveno/patch-1
Remove unneeded global WantQueryMouse
2015-01-03 16:06:25 -05:00
Justin M. Keyes
a0bcd7d5f5 Merge pull request #1768 from fwalch/vim-7.4.559
vim-patch:7.4.559
2015-01-03 13:15:10 -05:00
Florian Walch
ceb54c55ad vim-patch:7.4.559
Problem:    Appending a block in the middle of a tab does not work correctly
	    when virtualedit is set.
Solution:   Decrement spaces and count, don't reset them. (James McCoy)

https://code.google.com/p/vim/source/detail?r=v7-4-559
2015-01-03 16:08:51 +01:00
Steven Oliver
f3b06ba6d1 globals.h: Remove unused global variable 2015-01-02 21:10:08 -05:00
Justin M. Keyes
d611115305 Merge pull request #925 from splinterofchaos/sha256
sha256.c: clint, -Wconversion, stdbool, and other improvements.
2015-01-02 18:31:10 -05:00
Scott Prager
338dd10f33 sha: define SHA256_BUFFER_SIZE and SUM_SIZE. 2015-01-02 18:07:01 -05:00
Scott Prager
2e873c8767 sha256.c: Enable -Wconvert and clint.
* Add sha256.c/h to clint-files.txt.
* Add sha256.c to CONV_SRCS in src/nvim/CMakeLists.txt.
* Use size_t for lengths and const for read-only parameters.
* Use restrict keyword.
* Refine #includes.
2015-01-02 18:07:01 -05:00
oni-link
36ba1d9fba Speed up garbage collection.
For garbage collection all lists are kept in first_list, a list of all
lists.

free_unref_items() searches through first_list and removes unreferenced
lists from it (by calling list_free(..., FALSE)). But after a list was
removed, the search continues from the beginning of first_list (not sure
how many lists were really removed and where to continue in first_list).

This is not necessary anymore since vim-patch 7.0.135, because a call to
list_free(...,FALSE) makes sure, that no other lists (and dictionaries)
are freed. So we always know, that the next list in first_list is
still valid (allocated or NULL) and can be used to continue the search.

Likewise for dictionaries.

Original patch by Ariya Mizutani
https://groups.google.com/forum/#!searchin/vim_dev/GC/vim_dev/DBYOdHQWvqY/1WH04_dwETIJ
2014-12-31 17:08:26 +01:00