To: vim_dev@googlegroups.com
Subject: Patch 7.3.694
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 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)
Files: runtime/doc/eval.txt, src/eval.c
*** ../vim-7.3.693/runtime/doc/eval.txt 2012-06-29 12:54:32.000000000 +0200
--- runtime/doc/eval.txt 2012-10-21 00:43:22.000000000 +0200
***************
*** 1921,1926 ****
--- 1932,1938 ----
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}
***************
*** 3732,3741 ****
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
< When the dialog is cancelled {cancelreturn} is returned. When
omitted an empty string is returned.
Hitting <Enter> works like pressing the OK button. Hitting
--- 3755,3764 ----
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", 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
***************
*** 5308,5313 ****
--- 5332,5354 ----
: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
*** ../vim-7.3.693/src/eval.c 2012-08-08 14:33:16.000000000 +0200
--- src/eval.c 2012-10-21 00:29:15.000000000 +0200
***************
*** 687,692 ****
--- 687,693 ----
static void f_settabwinvar __ARGS((typval_T *argvars, typval_T *rettv));
static void f_setwinvar __ARGS((typval_T *argvars, typval_T *rettv));
static void f_shellescape __ARGS((typval_T *argvars, typval_T *rettv));
+ static void f_shiftwidth __ARGS((typval_T *argvars, typval_T *rettv));
static void f_simplify __ARGS((typval_T *argvars, typval_T *rettv));
#ifdef FEAT_FLOAT
static void f_sin __ARGS((typval_T *argvars, typval_T *rettv));
***************
*** 8051,8056 ****
--- 8052,8058 ----
{"settabwinvar", 4, 4, f_settabwinvar},
{"setwinvar", 3, 3, f_setwinvar},
{"shellescape", 1, 2, f_shellescape},
+ {"shiftwidth", 0, 0, f_shiftwidth},
{"simplify", 1, 1, f_simplify},
#ifdef FEAT_FLOAT
{"sin", 1, 1, f_sin},
***************
*** 16652,16657 ****
--- 16654,16670 ----
}
/*
+ * shiftwidth() function
+ */
+ static void
+ f_shiftwidth(argvars, rettv)
+ typval_T *argvars;
+ typval_T *rettv;
+ {
+ rettv->vval.v_number = get_sw_value();
+ }
+
+ /*
* "simplify()" function
*/
static void
*** ../vim-7.3.693/src/version.c 2012-10-21 00:10:29.000000000 +0200
--- src/version.c 2012-10-21 00:30:27.000000000 +0200
***************
*** 721,722 ****
--- 721,724 ----
{ /* Add new patch number below this line */
+ /**/
+ 694,
/**/
--
CRONE: Who sent you?
ARTHUR: The Knights Who Say GNU!
CRONE: Aaaagh! (she looks around in rear) No! We have no licenses here.
"Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///