Saturday, October 27, 2012

Re: :substitute behaves differently with and without individual substitute confirmation

On Fri, Oct 26, 2012 at 3:24 PM, Marcin Szamotulski <mszamot@gmail.com> wrote:
> On 15:11 Fri 26 Oct , Karthick Gururaj wrote:
>> On Thu, Oct 25, 2012 at 10:02 AM, Karthick Gururaj
>> <karthick.gururaj@gmail.com> wrote:
>> > Hello,
>> >
>> > On the input pattern:
>> > ,,X
>> >
>> > ..the following substitute command,
>> > %s;\(^\|,\)\ze\(,\|X\);\1N;gc
>> >
>> > ..changes it to (type 'y' for all prompts):
>> > N,N,NX
>> >
>> > As expected. But if you type 'a' instead (for replace all), you get:
>> > N,,NX
>> >
>> > Executing
>> > %s;\(^\|,\)\ze\(,\|X\);\1N;g
>> > behaves the same as typing 'a' with confirmation.
>> >
>> > :version
>> > VIM - Vi IMproved 7.3 (2010 Aug 15, compiled May 4 2012 04:10:13)
>> > Included patches: 1-429
>> > Modified by pkg-vim-maintainers@lists.alioth.debian.org
>> > Compiled by buildd@
>> > Huge version with GTK2 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() +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 +multi_byte +multi_lang -mzscheme
>> > +netbeans_intg +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 +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
>> > +vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim
>> > +xsmp_interact +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: "/usr/share/vim"
>> > Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK
>> > -pthread -I/usr/include/gtk-2.0
>> > -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0
>> > -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0
>> > -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/
>> > -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include
>> > -I/usr/include/pixman-1 -I/usr/include/freetype2
>> > -I/usr/include/libpng12 -g -O2 -fstack-protector
>> > --param=ssp-buffer-size=4 -Wformat -Wformat-security
>> > -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
>> > -I/usr/include/tcl8.5 -D_REENTRANT=1 -D_THREAD_SAFE=1
>> > -D_LARGEFILE64_SOURCE=1
>> > Linking: gcc -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -rdynamic
>> > -Wl,-export-dynamic -Wl,-E -Wl,-Bsymbolic-functions -Wl,-z,relro
>> > -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0
>> > -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo
>> > -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 -lSM
>> > -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl -lselinux
>> > -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.1 -Wl,-E
>> > -fstack-protector -L/usr/local/lib -L/usr/lib/perl/5.14/CORE -lperl
>> > -ldl -lm -lpthread -lcrypt -L/usr/lib/python2.7/config -lpython2.7
>> > -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1
>> > -Wl,-Bsymbolic-functions -L/usr/lib -ltcl8.5 -ldl -lpthread -lieee
>> > -lm -lruby1.8 -lpthread -lrt -ldl -lcrypt -lm -L/usr/lib -- INSERT
>> > ---- INSERT --
>> >
>> > - Karthick
>>
>> *Bump* - Can someone confirm this as a bug?
>
> I can confirm this behaviour. Also the following pattern is behaving in
> this way:
> %s;\(^\|,\)\(,\|X\)\@=;\1N;gc

Posted on vim_dev, please keep any followups there.

--
You received this message from the "vim_use" 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

No comments: