Commit Graph

23 Commits

Author SHA1 Message Date
Justin M. Keyes
29fe883aa9
feat: ignore swapfile for running Nvim processes #25336
Problem:
The swapfile "E325: ATTENTION" dialog is displayed when editing a file
already open in another (running) Nvim. Usually this behavior is
annoying and irrelevant:
- "Recover" and the other options ("Open readonly", "Quit", "Abort") are
  almost never wanted.
- swapfiles are less relevant for "multi-Nvim" since 'autoread' is
  enabled by default.
  - Even less relevant if user enables 'autowrite'.

Solution:
Define a default SwapExists handler which does the following:
1. If the swapfile is owned by a running Nvim process, automatically
   chooses "(E)dit anyway" (caveat: this creates a new, extra swapfile,
   which is mostly harmless and ignored except by `:recover` or `nvim -r`.
2. Shows a 1-line "ignoring swapfile..." message.
3. Users can disable the default SwapExists handler via `autocmd! nvim_swapfile`.
2023-10-04 06:31:25 -07:00
Christian Clason
e3f36377c1
vim-patch:71badf9547e8 (#23285)
Update runtime files

71badf9547

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-04-23 15:22:55 +02:00
zeertzjq
f5a3edb0c0
refactor: remove cpo-& behavior (#17745)
cpo-& has been removed, but its behavior was accidentally made the
default behavior. That should be removed instead.
2022-03-23 19:52:50 +08:00
Jan Edmund Lazo
9f54d125d2
vim-patch:3d1cde8a2f28
Update runtime files.
3d1cde8a2f
2021-04-29 21:08:09 -04:00
Jan Edmund Lazo
0185625c04
vim-patch:47e13953ffdb
Update runtime files
47e13953ff

Ignore *.rej files, generated by vim-patch.sh.
Source of mistakes for 1st-time contributors.
2021-04-28 21:29:57 -04:00
Jan Edmund Lazo
d894b3da1e
vim-patch:191acfdecabf
Update runtime files
191acfdeca

Skip has() changes for the "check" optional argument.
Patch v8.2.0427 is not ported yet.

Skip Vim9 (ex. :def).
2021-04-27 21:47:42 -04:00
Jan Edmund Lazo
ae362c2120
vim-patch:5666fcd0bd79
Update runtime files.
5666fcd0bd

Do not manually port E290 error message.
Neovim has E5030,E5031 error messages to replace E290.
2021-04-27 09:21:33 -04:00
Justin M. Keyes
17c26d0dcf vim-patch:95bafa296ae9
Update runtime files.
95bafa296a
2018-10-30 00:02:22 +01:00
Justin M. Keyes
07fdbba9d0 vim-patch:91f84f6e11cd
Update runtime files.
91f84f6e11
2018-10-29 09:55:07 +01:00
Justin M. Keyes
e46534b423 Merge #4486 'refactor: Remove maxmem, maxmemtot options'
After this change we never release blocks from memory (in practice it
never happened because the memory limits are never reached).  Let the OS
take care of that.

---

On today's systems the 'maxmem' and 'maxmemtot' values are huge (4+ GB)
so the limits are never reached in practice, but Vim wastes a lot of
time checking if the limit was reached.

If the limit is reached Vim starts saving pieces of the swap file that were in
memory to the disk. Said in a different way: Vim implements its own
memory-paging mechanism. This is unnecessary and inefficient since the
operating system already has virtual memory and will swap to the disk if
programs start using too much memory.

This change does...

1. Reduce the number of config options and need for documentation.
2. Make the code more efficient as we don't have to keep track of memory
   usage nor check if the memory limits were reached to start swapping
   to disk every time we need memory for buffers.
3. Simplify the code. Once memfile.c is simple enough it could be
   replaced by actual operating system memory mapping (mmap,
   MemoryViewOfFile...). This change does not prevent Vim to recover
   changes from swap files since the swapping code is never triggered
   with the huge limits set by default.
2018-05-02 10:14:42 +02:00
Justin M. Keyes
7068370560 help, man.vim: change "outline" map to gO (#7405) 2017-10-21 02:33:58 +02:00
Justin M. Keyes
45ef3d9d0c doc: Replace hardcoded TOCs with <M-]> advice. 2017-05-01 17:48:06 +02:00
Felipe Oliveira Carvalho
9ea111d1af Remove maxmem and maxmemtot options
> The option 'maxmem' ('mm') is used to set the maximum memory used for one
> buffer (in kilobytes).  'maxmemtot' is used to set the maximum memory used for
> all buffers (in kilobytes).  The defaults depend on the system used.  These
> are not hard limits, but tell Vim when to move text into a swap file.  If you
> don't like Vim to swap to a file, set 'maxmem' and 'maxmemtot' to a very large
> value.  The swap file will then only be used for recovery.  If you don't want
> a swap file at all, set 'updatecount' to 0, or use the "-n" argument when
> starting Vim.

On today's systems these values are huge (4GB in my machine with 8GB of RAM
since it's set as half the available memory by default) so the limits are
never reached in practice, but Vim wastes a lot of time checking if the limit
was reached.

If the limit is reached Vim starts saving pieces of the swap file that were in
memory to the disk. Said in a different way: Vim implements its own memory
swapping mechanism. This is unnecessary and inefficient since the operating
system already virtualized the memory and will swap to the disk if programs
start using too much memory.

This change does...

1. Reduce the number of config options and need for documentation.
2. Make the code more efficient as we don't have to keep track of memory usage
   nor check if the memory limits were reached to start swapping to disk every
   time we need memory for buffers.
3. Simplify the code. Once `memfile.c` is simple enough it could be replaced by
   actual operating system memory mapping (`mmap`, `MemoryViewOfFile`...).

This change does not prevent Vim to recover changes from swap files since the
swapping code is never triggered with the huge limits set by default.
2017-04-11 00:33:09 +02:00
Justin M. Keyes
82c67768fa doc: Replace "For Vim ... Last change ..." headers (#6328) 2017-03-21 17:08:19 +01:00
Seth Jackson
e4fb777252 doc: Remove more references to MS-DOS
Among other things, this includes:
- lies about command.com
- references to pcterm
2016-01-16 14:12:56 -05:00
Seth Jackson
62d137ce09 Remove swapsync.
It's complete overkill.
2016-01-14 13:13:32 -05:00
ZyX
1cdc3298cf documentation: Update documentation
Note about ~/.local/share/nvim/site used in one usr_\* file: this one talks
about user-local installation of third-party plugins, and
~/.local/share/nvim/site is the proper place for them. Most other files talk
about user own configuration and this is ~/.config.
2015-10-23 14:54:10 +03:00
Michael Reed
b19afa52c4 Remove POSIX 'cpoptions': '&' 2015-07-19 15:14:22 -04:00
Michael Reed
818f7aefd2 doc: Remove Vi annotations
This removes all instances of '{not in Vi}', '{Vi: ... }', etc.
We don't care about Vi compatibility, so all of these annotations are
useless in nvim. This also removed the syntax definitions for these
items.

In addition, remove instances of '{only when compiled with +feature}'
adjacent to instances of '{not in Vi}' and friends.

Helped-by: David Bürgin <676c7473@gmail.com>
Helped-by: Felipe Morales <hel.sheep@gmail.com>

closes #2535
2015-05-03 17:47:31 -04:00
Michael Reed
a62fe49d3c Remove Amiga remnants
Notes regarding the removal of specific items:

  - Aztec C: only on the Amiga.
  - mch_check_win(): doesn't exist anymore.
  - Comment in ex_cmds.c: It seems the context for this comment was
    removed, but the comment was inadvertantly left alone.
2014-12-19 15:28:49 -05:00
Michael Reed
8b35090c64 docs: Remove shortname references.
In addition, align the removal notice next to 'key' with other
such notices (options.txt).
2014-12-07 02:32:39 -05: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
a98a6996c2 re-integrate runtime/ vim-patch:0 #938
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7

Excluding:
  Amiga icons (*.info, icons/)
  doc/hangulin.txt
  tutor/
  spell/
  lang/ (only used for menu translations)
  macros/maze/, macros/hanoi/, macros/life/, macros/urm/
      These were used to test vi compatibility.
  termcap
      "Demonstration of a termcap file (for the Amiga and Archimedes)"

Helped-by: Rich Wareham <rjw57@cam.ac.uk>
Helped-by: John <john.schmidt.h@gmail.com>
Helped-by: Yann <yann@yann-salaun.com>
Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com>
Helped-by: drasill <github@tof2k.com>
Helped-by: Tae Sandoval Murgan <taecilla@gmail.com>
Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
2014-07-29 02:12:31 +00:00