updated for version 7.4.191
Problem: Escaping a file name for shell commands can't be done without a
function.
Solution: Add the :S file name modifier.
diff --git a/runtime/doc/usr_30.txt b/runtime/doc/usr_30.txt
index 52f4375..b2be512 100644
--- a/runtime/doc/usr_30.txt
+++ b/runtime/doc/usr_30.txt
@@ -128,7 +128,7 @@
You can include special Vim keywords in the command specification. The %
character expands to the name of the current file. So if you execute the
command: >
- :set makeprg=make\ %
+ :set makeprg=make\ %:S
When you are editing main.c, then ":make" executes the following command: >
@@ -137,7 +137,7 @@
This is not too useful, so you will refine the command a little and use the :r
(root) modifier: >
- :set makeprg=make\ %:r.o
+ :set makeprg=make\ %:r:S.o
Now the command executed is as follows: >