updated for version 7.3.694
Problem: Now that 'shiftwidth' may use the value of 'tabstop' it is not so
easy to use in indent files.
Solution: Add the shiftwidth() function. (so8res)
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 12ea9c8..8934215 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1932,6 +1932,7 @@
shellescape( {string} [, {special}])
String escape {string} for use as shell
command argument
+shiftwidth() Number effective value of 'shiftwidth'
simplify( {filename}) String simplify filename as much as possible
sin( {expr}) Float sine of {expr}
sinh( {expr}) Float hyperbolic sine of {expr}
@@ -3754,10 +3755,10 @@
Like |input()|, but when the GUI is running and text dialogs
are supported, a dialog window pops up to input the text.
Example: >
- :let n = inputdialog("value for shiftwidth", &sw)
- :if n != ""
- : let &sw = n
- :endif
+ :let n = inputdialog("value for shiftwidth", shiftwidth())
+ :if n != ""
+ : let &sw = n
+ :endif
< When the dialog is cancelled {cancelreturn} is returned. When
omitted an empty string is returned.
Hitting <Enter> works like pressing the OK button. Hitting
@@ -5331,6 +5332,23 @@
:call system("chmod +w -- " . shellescape(expand("%")))
+shiftwidth() *shiftwidth()*
+ Returns the effective value of 'shiftwidth'. This is the
+ 'shiftwidth' value unless it is zero, in which case it is the
+ 'tabstop' value. To be backwards compatible in indent
+ plugins, use this: >
+ if exists('*shiftwidth')
+ func s:sw()
+ return shiftwidth()
+ endfunc
+ else
+ func s:sw()
+ return &sw
+ endfunc
+ endif
+< And then use s:sw() instead of &sw.
+
+
simplify({filename}) *simplify()*
Simplify the file name as much as possible without changing
the meaning. Shortcuts (on MS-Windows) or symbolic links (on