212 lines
6.4 KiB
Plaintext
212 lines
6.4 KiB
Plaintext
|
To: vim_dev@googlegroups.com
|
||
|
Subject: Patch 7.4.213
|
||
|
Fcc: outbox
|
||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||
|
Mime-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
------------
|
||
|
|
||
|
Patch 7.4.213
|
||
|
Problem: It's not possible to open a new buffer without creating a swap
|
||
|
file.
|
||
|
Solution: Add the ":noswapfile" modifier. (Christian Brabandt)
|
||
|
Files: runtime/doc/recover.txt, src/ex_cmds.h, src/ex_docmd.c,
|
||
|
src/memline.c, src/structs.h
|
||
|
|
||
|
|
||
|
*** ../vim-7.4.212/runtime/doc/recover.txt 2013-08-10 13:25:00.000000000 +0200
|
||
|
--- runtime/doc/recover.txt 2014-03-23 16:01:59.655309841 +0100
|
||
|
***************
|
||
|
*** 81,87 ****
|
||
|
'maxmemtot'. And when making a change to a read-only file, the swap file is
|
||
|
created anyway.
|
||
|
|
||
|
! The 'swapfile' option can be reset to avoid creating a swapfile.
|
||
|
|
||
|
|
||
|
Detecting an existing swap file ~
|
||
|
--- 81,94 ----
|
||
|
'maxmemtot'. And when making a change to a read-only file, the swap file is
|
||
|
created anyway.
|
||
|
|
||
|
! The 'swapfile' option can be reset to avoid creating a swapfile. And the
|
||
|
! |:noswapfile| modifier can be used to not create a swapfile for a new buffer.
|
||
|
!
|
||
|
! :noswap[file] {command} *:noswap* *:noswapfile*
|
||
|
! Execute {command}. If it contains a command that loads a new
|
||
|
! buffer, it will be loaded without creating a swapfile and the
|
||
|
! 'swapfile' option will be reset. If a buffer already had a
|
||
|
! swapfile it is not removed and 'swapfile' is not reset.
|
||
|
|
||
|
|
||
|
Detecting an existing swap file ~
|
||
|
*** ../vim-7.4.212/src/ex_cmds.h 2014-03-22 13:29:57.693846167 +0100
|
||
|
--- src/ex_cmds.h 2014-03-23 15:36:42.399286592 +0100
|
||
|
***************
|
||
|
*** 655,660 ****
|
||
|
--- 655,662 ----
|
||
|
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
||
|
EX(CMD_noremenu, "noremenu", ex_menu,
|
||
|
RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
||
|
+ EX(CMD_noswapfile, "noswapfile", ex_wrongmodifier,
|
||
|
+ NEEDARG|EXTRA|NOTRLCOM),
|
||
|
EX(CMD_normal, "normal", ex_normal,
|
||
|
RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN),
|
||
|
EX(CMD_number, "number", ex_print,
|
||
|
*** ../vim-7.4.212/src/ex_docmd.c 2014-03-23 15:12:29.919264336 +0100
|
||
|
--- src/ex_docmd.c 2014-03-23 15:44:42.335293946 +0100
|
||
|
***************
|
||
|
*** 1874,1891 ****
|
||
|
#endif
|
||
|
continue;
|
||
|
|
||
|
! case 'n': if (!checkforcmd(&ea.cmd, "noautocmd", 3))
|
||
|
! break;
|
||
|
! #ifdef FEAT_AUTOCMD
|
||
|
! if (cmdmod.save_ei == NULL)
|
||
|
{
|
||
|
! /* Set 'eventignore' to "all". Restore the
|
||
|
! * existing option value later. */
|
||
|
! cmdmod.save_ei = vim_strsave(p_ei);
|
||
|
! set_string_option_direct((char_u *)"ei", -1,
|
||
|
(char_u *)"all", OPT_FREE, SID_NONE);
|
||
|
! }
|
||
|
#endif
|
||
|
continue;
|
||
|
|
||
|
case 'r': if (!checkforcmd(&ea.cmd, "rightbelow", 6))
|
||
|
--- 1874,1896 ----
|
||
|
#endif
|
||
|
continue;
|
||
|
|
||
|
! case 'n': if (checkforcmd(&ea.cmd, "noautocmd", 3))
|
||
|
{
|
||
|
! #ifdef FEAT_AUTOCMD
|
||
|
! if (cmdmod.save_ei == NULL)
|
||
|
! {
|
||
|
! /* Set 'eventignore' to "all". Restore the
|
||
|
! * existing option value later. */
|
||
|
! cmdmod.save_ei = vim_strsave(p_ei);
|
||
|
! set_string_option_direct((char_u *)"ei", -1,
|
||
|
(char_u *)"all", OPT_FREE, SID_NONE);
|
||
|
! }
|
||
|
#endif
|
||
|
+ continue;
|
||
|
+ }
|
||
|
+ if (!checkforcmd(&ea.cmd, "noswapfile", 6))
|
||
|
+ break;
|
||
|
+ cmdmod.noswapfile = TRUE;
|
||
|
continue;
|
||
|
|
||
|
case 'r': if (!checkforcmd(&ea.cmd, "rightbelow", 6))
|
||
|
***************
|
||
|
*** 2596,2601 ****
|
||
|
--- 2601,2608 ----
|
||
|
case CMD_lua:
|
||
|
case CMD_match:
|
||
|
case CMD_mzscheme:
|
||
|
+ case CMD_noautocmd:
|
||
|
+ case CMD_noswapfile:
|
||
|
case CMD_perl:
|
||
|
case CMD_psearch:
|
||
|
case CMD_python:
|
||
|
***************
|
||
|
*** 3099,3104 ****
|
||
|
--- 3106,3112 ----
|
||
|
{"leftabove", 5, FALSE},
|
||
|
{"lockmarks", 3, FALSE},
|
||
|
{"noautocmd", 3, FALSE},
|
||
|
+ {"noswapfile", 3, FALSE},
|
||
|
{"rightbelow", 6, FALSE},
|
||
|
{"sandbox", 3, FALSE},
|
||
|
{"silent", 3, FALSE},
|
||
|
***************
|
||
|
*** 3611,3616 ****
|
||
|
--- 3619,3626 ----
|
||
|
case CMD_keeppatterns:
|
||
|
case CMD_leftabove:
|
||
|
case CMD_lockmarks:
|
||
|
+ case CMD_noautocmd:
|
||
|
+ case CMD_noswapfile:
|
||
|
case CMD_rightbelow:
|
||
|
case CMD_sandbox:
|
||
|
case CMD_silent:
|
||
|
*** ../vim-7.4.212/src/memline.c 2014-02-11 15:23:27.942123631 +0100
|
||
|
--- src/memline.c 2014-03-23 15:48:05.679297062 +0100
|
||
|
***************
|
||
|
*** 289,294 ****
|
||
|
--- 289,297 ----
|
||
|
buf->b_ml.ml_chunksize = NULL;
|
||
|
#endif
|
||
|
|
||
|
+ if (cmdmod.noswapfile)
|
||
|
+ buf->b_p_swf = FALSE;
|
||
|
+
|
||
|
/*
|
||
|
* When 'updatecount' is non-zero swap file may be opened later.
|
||
|
*/
|
||
|
***************
|
||
|
*** 606,612 ****
|
||
|
* When 'updatecount' is 0 and 'noswapfile' there is no swap file.
|
||
|
* For help files we will make a swap file now.
|
||
|
*/
|
||
|
! if (p_uc != 0)
|
||
|
ml_open_file(buf); /* create a swap file */
|
||
|
return;
|
||
|
}
|
||
|
--- 609,615 ----
|
||
|
* When 'updatecount' is 0 and 'noswapfile' there is no swap file.
|
||
|
* For help files we will make a swap file now.
|
||
|
*/
|
||
|
! if (p_uc != 0 && !cmdmod.noswapfile)
|
||
|
ml_open_file(buf); /* create a swap file */
|
||
|
return;
|
||
|
}
|
||
|
***************
|
||
|
*** 719,725 ****
|
||
|
char_u *dirp;
|
||
|
|
||
|
mfp = buf->b_ml.ml_mfp;
|
||
|
! if (mfp == NULL || mfp->mf_fd >= 0 || !buf->b_p_swf)
|
||
|
return; /* nothing to do */
|
||
|
|
||
|
#ifdef FEAT_SPELL
|
||
|
--- 722,728 ----
|
||
|
char_u *dirp;
|
||
|
|
||
|
mfp = buf->b_ml.ml_mfp;
|
||
|
! if (mfp == NULL || mfp->mf_fd >= 0 || !buf->b_p_swf || cmdmod.noswapfile)
|
||
|
return; /* nothing to do */
|
||
|
|
||
|
#ifdef FEAT_SPELL
|
||
|
*** ../vim-7.4.212/src/structs.h 2014-03-23 15:12:29.943264337 +0100
|
||
|
--- src/structs.h 2014-03-23 15:36:42.407286592 +0100
|
||
|
***************
|
||
|
*** 545,550 ****
|
||
|
--- 545,551 ----
|
||
|
int keepjumps; /* TRUE when ":keepjumps" was used */
|
||
|
int lockmarks; /* TRUE when ":lockmarks" was used */
|
||
|
int keeppatterns; /* TRUE when ":keeppatterns" was used */
|
||
|
+ int noswapfile; /* TRUE when ":noswapfile" was used */
|
||
|
# ifdef FEAT_AUTOCMD
|
||
|
char_u *save_ei; /* saved value of 'eventignore' */
|
||
|
# endif
|
||
|
*** ../vim-7.4.212/src/version.c 2014-03-23 15:12:29.943264337 +0100
|
||
|
--- src/version.c 2014-03-23 16:02:16.519310100 +0100
|
||
|
***************
|
||
|
*** 736,737 ****
|
||
|
--- 736,739 ----
|
||
|
{ /* Add new patch number below this line */
|
||
|
+ /**/
|
||
|
+ 213,
|
||
|
/**/
|
||
|
|
||
|
--
|
||
|
Looking at Perl through Lisp glasses, Perl looks atrocious.
|
||
|
|
||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||
|
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|