updated for version 7.4.235
Problem:    It is not easy to get the full path of a command.
Solution:   Add the exepath() function.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 66ee3aa..66b3038 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1562,6 +1562,10 @@
 v:progpath	Contains the command with which Vim was invoked, including the
 		path.  Useful if you want to message a Vim server using a
 		|--remote-expr|.
+		To get the full path use: >
+			echo exepath(v:progpath)
+<		NOTE: This does not work when the command is a relative path
+		and the current directory has changed.
 		Read-only.
 
 					*v:register* *register-variable*
@@ -1762,6 +1766,7 @@
 eval( {string})			any	evaluate {string} into its value
 eventhandler( )			Number	TRUE if inside an event handler
 executable( {expr})		Number	1 if executable {expr} exists
+exepath( {expr})		String  full path of the command {expr}
 exists( {expr})			Number	TRUE if {expr} exists
 extend( {expr1}, {expr2} [, {expr3}])
 				List/Dict insert items of {expr2} into {expr1}
@@ -2706,6 +2711,15 @@
 			0	does not exist
 			-1	not implemented on this system
 
+exepath({expr})						*exepath()*
+		If {expr} is an executable and is either an absolute path, a
+		relative path or found in $PATH, return the full path.
+		Note that the current directory is used when {expr} starts
+		with "./", which may be a problem for Vim: >
+			echo exepath(v:progpath)
+< 		If {expr} cannot be found in $PATH or is not executable then
+		an empty string is returned.
+
 							*exists()*
 exists({expr})	The result is a Number, which is non-zero if {expr} is
 		defined, zero otherwise.  The {expr} argument is a string,