Commit Graph

4300 Commits

Author SHA1 Message Date
ZyX
2dd8e05f9f shada: Fix jump/change list merging code
Errors happens under following conditions:

1. Jump/change list is full.
2. New jump/change list item should go between some of the old ones.
2015-10-08 22:01:11 +03:00
ZyX
0a44d504c8 shada(documentation): Fix outdated comments 2015-10-08 22:01:10 +03:00
ZyX
b8e7915596 shada: Make sure that shada-r option correctly ignores case 2015-10-08 22:01:10 +03:00
ZyX
0966e92cf4 shada: When using shada-r normalize option path 2015-10-08 22:01:10 +03:00
ZyX
7085ea07d8 functests: Move exc_exec to test.functional.helpers 2015-10-08 22:01:10 +03:00
ZyX
56a2549ff8 functests: Do not disable pattern tests
Problem that led to this skip was fixed in [#3309][1].

[1]: 0a116c828d
2015-10-08 22:01:07 +03:00
ZyX
d283e758ea shada: Fix out-of-bounds array access
It leads to a memory leak as well. May overwrite wms->jumps_size.
2015-10-08 22:01:07 +03:00
ZyX
690d280fa8 shada: Save an allocation when writing local marks 2015-10-08 22:01:06 +03:00
ZyX
29a3e972de shada: Fix v:hlsearch save/restore and do not write empty patterns 2015-10-08 22:01:05 +03:00
ZyX
915a298223 shada,functests: Fix v:hlsearch saving/restoring handling 2015-10-08 22:01:04 +03:00
ZyX
e1dc9ed464 shada: First write temporary file and only then check any permissions
It is not logical that on UNIX permissions can prevent even writing temporary
file, while on other OS it will first write temporary file and then fail during
rename.
2015-10-08 22:01:03 +03:00
ZyX
6de5900c50 documentation: Extend shada error handling documentation 2015-10-08 22:01:03 +03:00
ZyX
ceb135a498 shada: Keep uid and gid of the file when working from root
It was the behaviour exhibited by Vim, but it got unintentionally removed. There
is a difference though: Vim runs fchown *before* populating the file, I run it
just before renaming.
2015-10-08 22:01:00 +03:00
ZyX
ad7b7716bb *: Fix lint errors found in new code in previously ignored files 2015-10-08 22:00:50 +03:00
ZyX
313b947e3f shada: Refactor code that works with hms.last_hist_entry 2015-10-08 22:00:49 +03:00
ZyX
48ba2f0109 documentation/functests: Replace NeoVim with Neovim 2015-10-08 22:00:49 +03:00
ZyX
0fe11fe70a shada: Add generator key to the header
For use in viminfo→shada converters, plugins that allow editing ShaDa files or
any other software which generates ShaDa files for whatever purpose.
2015-10-08 22:00:49 +03:00
ZyX
127e63fc17 shada: Use same iteration end conditions as with other iterators 2015-10-08 22:00:49 +03:00
ZyX
b87c65d7b9 eval: Use proper iteration end condition 2015-10-08 22:00:48 +03:00
ZyX
aa4d0bb728 eval: Reorder checks in var_shada_iter 2015-10-08 22:00:48 +03:00
ZyX
c57c569000 shada: Also expand file name obtained from &shada option 2015-10-08 22:00:48 +03:00
ZyX
5d47fe124a shada.h: Remove newline after INCLUDE_GENERATED_DECLARATIONS section 2015-10-08 22:00:47 +03:00
ZyX
f59ef120e1 eval: Remove incorrect NONNULL_RET attributes 2015-10-08 22:00:47 +03:00
ZyX
2ba138b2f9 *: Fix problems with clang+asan Release build 2015-10-08 22:00:47 +03:00
ZyX
22906265a2 mark: Clear marks in some cases, but do not do useless job in free_\* 2015-10-08 22:00:46 +03:00
ZyX
be45e75026 shada: Refuse to write ShaDa file when ShaDa was disabled 2015-10-08 22:00:46 +03:00
ZyX
e2c3ea4445 os/time: Make Timestamp be 64-bit unsigned integer 2015-10-08 22:00:46 +03:00
ZyX
0caf17d0e8 search: When freeing search patterns also clear them 2015-10-08 22:00:45 +03:00
ZyX
d1830e1433 config: Check order and endianess even when cross-compiling 2015-10-08 22:00:45 +03:00
ZyX
b249529676 functests: Make one recover_spec test also use gdb or valgrind 2015-10-08 22:00:45 +03:00
ZyX
804e074096 eval,functests: Reference all additional_* items created by ShaDa 2015-10-08 22:00:45 +03:00
ZyX
0d15b35d49 shada,config: Use CMake to determine endianess and be64toh existence 2015-10-08 22:00:44 +03:00
ZyX
8f7ddfb9a4 documentation: Update vim differences list, reference critical errors 2015-10-08 22:00:44 +03:00
ZyX
369081d1c4 shada: Fix crash in hmll_insert
This problem made test64 to crash. Description of the bug: when removing entry
from history when removed entry is not the last one it puts one element to
free_entries list, but ignores free entries starting from last_free_element.

Possible solutions:
1. First working: simply populate free_entries list with entries which are still
   free, starting from last_free_element.
2. Better (wastes less CPU): after free_entries list size goes to zero (which is
   the initial value) continue using last_free_element.
3. Even better (less memory): note that element from the list is *only* removed
   before adding another one. So replace free_entries array with one item.

Also renamed last_free_element to last_free_entry: in any case most of the lines
which mention it were altered.
2015-10-08 22:00:43 +03:00
ZyX
0960e16908 functests: Disable some tests when running with address sanitizer
Ref #1350
2015-10-08 22:00:43 +03:00
ZyX
9afa45e639 shada: Fix -Wstrict-aliasing gcc error
Also removes theoretically possible unaligned memory access when computing
be64toh() argument.
2015-10-08 22:00:43 +03:00
ZyX
bcb60b0a64 shada: Fix unused variable warning when using Release build 2015-10-08 22:00:42 +03:00
ZyX
bcd8789609 ex_getln: Return something from hist_type2char without asserts
Otherwise QuickBuild shows a warning that control may reach end of non-void
function.
2015-10-08 22:00:42 +03:00
ZyX
5941380f49 mark: Avoid address sanitizer error 2015-10-08 22:00:42 +03:00
ZyX
e4c0741206 ops: Fix access to unsaved register when iterating over registers 2015-10-08 22:00:41 +03:00
ZyX
689390210a mark: Fix out-of-bounds array access when iterating over global marks 2015-10-08 22:00:41 +03:00
ZyX
1a348f8ed8 ops: Fix “conditional … depends on unitialized …” error in op_yank_reg 2015-10-08 22:00:40 +03:00
ZyX
597da19777 shada: Fix incompatible pointer types error in non-glibc builds 2015-10-08 22:00:40 +03:00
ZyX
563f5c2650 shada: Fix memory leak when reading registers from ShaDa file
Occures once register from ShaDa file overwrites non-empty register in the
current instance.
2015-10-08 22:00:40 +03:00
ZyX
9b53acffb5 shada: Avoid “conditional … depends on initialized value” error
Error can be seen in some errors_spec.lua tests.
2015-10-08 22:00:40 +03:00
ZyX
1889ee329f shada: Allow moving jump index past the end
idx == len + 1 indicates that no jumplist entry is currently used.
2015-10-08 22:00:40 +03:00
ZyX
17c69258a7 shada: Use same merging code for jumps and changes 2015-10-08 22:00:39 +03:00
ZyX
9d8184c65a shada: Move common jump/change merging code into a macros 2015-10-08 22:00:39 +03:00
ZyX
f9ae1caf7e shada: Fix jump list merger code 2015-10-08 22:00:39 +03:00
ZyX
a4b2698a1f shada: Move all default values to an array of ShadaEntry structs 2015-10-08 22:00:39 +03:00