To: vim-dev@vim.org
Subject: Patch 7.1.262
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.262
Problem: Can't get the process ID of Vim.
Solution: Implement getpid().
Files: src/eval.c, runtime/doc/eval.txt
*** ../vim-7.1.261/src/eval.c Wed Feb 20 12:22:59 2008
--- src/eval.c Wed Feb 20 11:08:21 2008
***************
*** 532,537 ****
--- 532,538 ----
static void f_getftype __ARGS((typval_T *argvars, typval_T *rettv));
static void f_getline __ARGS((typval_T *argvars, typval_T *rettv));
static void f_getmatches __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_getpid __ARGS((typval_T *argvars, typval_T *rettv));
static void f_getpos __ARGS((typval_T *argvars, typval_T *rettv));
static void f_getqflist __ARGS((typval_T *argvars, typval_T *rettv));
static void f_getreg __ARGS((typval_T *argvars, typval_T *rettv));
***************
*** 7132,7137 ****
--- 7133,7139 ----
{"getline", 1, 2, f_getline},
{"getloclist", 1, 1, f_getqflist},
{"getmatches", 0, 0, f_getmatches},
+ {"getpid", 0, 0, f_getpid},
{"getpos", 1, 1, f_getpos},
{"getqflist", 0, 0, f_getqflist},
{"getreg", 0, 2, f_getreg},
***************
*** 10371,10376 ****
--- 10373,10390 ----
}
}
#endif
+ }
+
+ /*
+ * "getpid()" function
+ */
+ /*ARGSUSED*/
+ static void
+ f_getpid(argvars, rettv)
+ typval_T *argvars;
+ typval_T *rettv;
+ {
+ rettv->vval.v_number = mch_get_pid();
}
/*
*** ../vim-7.1.261/runtime/doc/eval.txt Wed Feb 13 12:41:30 2008
--- runtime/doc/eval.txt Wed Feb 20 11:10:17 2008
***************
*** 1,4 ****
! *eval.txt* For Vim version 7.1. Last change: 2008 Feb 13
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *eval.txt* For Vim version 7.1. Last change: 2008 Feb 20
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 1638,1643 ****
--- 1638,1644 ----
getline( {lnum}, {end}) List lines {lnum} to {end} of current buffer
getloclist({nr}) List list of location list items
getmatches() List list of current matches
+ getpid() Number process ID of Vim
getpos( {expr}) List position of cursor, mark, etc.
getqflist() List list of quickfix items
getreg( [{regname} [, 1]]) String contents of register
***************
*** 3833,3838 ****
--- 3837,3846 ----
characters. nr2char(0) is a real NUL and terminates the
string, thus results in an empty string.
+ *getpid()*
+ getpid() Return a Number which is the process ID of the Vim process.
+ On Unix this is a unique number. On MS-DOS it's always zero.
+
*getpos()*
getpos({expr}) Get the position for {expr}. For possible values of {expr}
see |line()|.
*** ../vim-7.1.261/src/version.c Wed Feb 20 18:14:25 2008
--- src/version.c Wed Feb 20 20:04:14 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 262,
/**/
--
Those who live by the sword get shot by those who don't.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///