Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 92 by randy.th...@gmail.com: Cindent not behaving as expected after substitute.
http://code.google.com/p/vim/issues/detail?id=92

What steps will reproduce the problem?
1. vim -u NONE -U NONE
2. Enter the following exactly as shown:
:set cindent
:setf cpp
iint main(){
int a;
}<ESC>gg:%s/int a;/ /
iint a;
int b;
int c;

3. Alternatively, with expandtab:
:set cindent
:setf cpp
:set et
iint main(){
int a;
}<ESC>gg:%s/int a;/ /
iint a;
int b;
int c;


What is the expected output? What do you see instead?
Expected:
int main() {
         int a;
         int b;
         int c;
}

Actual:
int main() {
         int a;
        int b;
int c;
}

Expected with expandtab:
int main() {
        int a;
        int b;
        int c;
}

Actual with expandtab:
int main() {
        int a;
       int b;
      int c;
}


What version of the product are you using? On what operating system?
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Sep  1 2012 18:08:47)
MacOS X (unix) version
Included patches: 1-646
Compiled by Bjorn Winckler <bjorn.winck...@gmail.com>
Huge version with MacVim GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +fork() +fullscreen -gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname +mouse +mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +mouse_urxvt +mouse_sgr +multi_byte +multi_lang -mzscheme +netbeans_intg +odbeditor +path_extra +perl +persistent_undo +postscript +printer +profile +python -python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects
+title +toolbar +transparency +user_commands +vertsplit +virtualedit +visual
+visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup -X11
-xfontset +xim -xsmp -xterm_clipboard -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pr agmas -pipe -DMACOS_X_UNIX -no-cpp-precomp -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1

Linking: clang -L. -L. -L/usr/local/lib -o Vim -framework Cocoa -framework C arbon -lncurses -liconv -framework Cocoa -fstack-protector -L/usr/local/lib -L/ System/Library/Perl/5.12/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc -framework
 Python   -framework Ruby


Please provide any additional information below.
Setting the filetype to cpp is optional, it works without that too.
Indenting one space too far with the :s is intentional, it is to better show the effect, if you turn on expandtab, it will deindent one space for each line. Please note that if you enter insert mode using 'a' this issue does not occur, only when you use 'i'.

--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui