Mercurial > vim
changeset 762:8a6982d59d8e v7.0224
updated for version 7.0224
author | vimboss |
---|---|
date | Tue, 14 Mar 2006 23:08:30 +0000 |
parents | 6252da4e8223 |
children | fa0447b7a8a0 |
files | src/ex_cmds.c src/ex_cmds.h |
diffstat | 2 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -1811,6 +1811,15 @@ write_viminfo(file, forceit) if (tempname != NULL) { +#ifdef VMS + /* fdopen() fails for some reason */ + if (fp_out == NULL) + { + umask_save = umask(077); + fp_out = mch_fopen((char *)tempname, WRITEBIN); + (void)umask(umask_save); + } +#else int fd; /* Use mch_open() to be able to use O_NOFOLLOW and set file @@ -1818,20 +1827,21 @@ write_viminfo(file, forceit) * Unix: same as original file, but strip s-bit. Reset umask to * avoid it getting in the way. * Others: r&w for user only. */ -#ifdef UNIX +# ifdef UNIX umask_save = umask(0); fd = mch_open((char *)tempname, O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW, (int)((st_old.st_mode & 0777) | 0600)); (void)umask(umask_save); -#else +# else fd = mch_open((char *)tempname, O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW, 0600); -#endif +# endif if (fd < 0) fp_out = NULL; else fp_out = fdopen(fd, WRITEBIN); +#endif /* VMS */ /* * If we can't create in the same directory, try creating a
--- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -331,6 +331,8 @@ EX(CMD_dsplit, "dsplit", ex_findpat, BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA), EX(CMD_edit, "edit", ex_edit, BANG|FILE1|EDITCMD|ARGOPT|TRLBAR), +EX(CMD_earlier, "earlier", ex_later, + TRLBAR|EXTRA|NOSPC|CMDWIN), EX(CMD_echo, "echo", ex_echo, EXTRA|NOTRLCOM|SBOXOK|CMDWIN), EX(CMD_echoerr, "echoerr", ex_execute, @@ -489,6 +491,8 @@ EX(CMD_laddbuffer, "laddbuffer", ex_cbuf RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_laddfile, "laddfile", ex_cfile, TRLBAR|FILE1), +EX(CMD_later, "later", ex_later, + TRLBAR|EXTRA|NOSPC|CMDWIN), EX(CMD_lbuffer, "lbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_lcd, "lcd", ex_cd,