Loading ...
Sorry, an error occurred while loading the content.

Re: Indentation of perl scripts with the key word 'when' are not correct

Expand Messages
  • ZyX
    Reply to message «Indentation of perl scripts with the key word when are not correct», sent 06:10:16 28 June 2011, Tuesday ... I guess it is not `when`,
    Message 1 of 3 , Jun 27, 2011
    • 0 Attachment
      Reply to message «Indentation of perl scripts with the key word 'when' are not
      correct»,
      sent 06:10:16 28 June 2011, Tuesday
      by Peng Yu:

      > It seem that default perl indentation in vim is not correct with
      > 'when' (see example at the end of email). Could anybody let me know
      > how to fix the problem?
      I guess it is not `when`, but `\`. It was a known issue arised because in
      collection `[\[]' there are two characters: `\` and `\[`, not one `[` which is
      weird (but described in POSIX). I have wrote a patch for this, but sended it
      only to vim-dev mailing list, not to all maintainers of all scripts that have
      this error (there were way too many scripts and too many maintainers).

      Original message:
      > Hi,
      >
      > It seem that default perl indentation in vim is not correct with
      > 'when' (see example at the end of email). Could anybody let me know
      > how to fix the problem?
      >
      > $ vim --version
      > VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Mar 24 2011 07:07:34)
      > Included patches: 1-35
      > Modified by pkg-vim-maintainers@...
      > Compiled by buildd@
      > Huge version with GTK2-GNOME 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/dyn +menu +mksession
      > +modify_fname +mouse +mouseshape +mouse_dec +mouse_gpm -mouse_jsbterm
      > +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -
      > mzscheme
      > +netbeans_intg -osfiletype +path_extra +perl/dyn +persistent_undo
      > +postscript
      > +printer +profile +python/dyn +python3/dyn +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/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/
      > gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/
      > glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/
      > usr/include/libdrm -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -
      > I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/
      > pixman-1 -pthread -DORBIT2=1 -D_REENTRANT -I/usr/include/glib-2.0 -I/
      > usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pango-1.0 -I/
      > usr/include/freetype2 -I/usr/include/atk-1.0 -I/usr/include/gio-
      > unix-2.0/ -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/
      > libgnomeui-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/
      > include/gnome-keyring-1 -I/usr/include/libgnome-2.0 -I/usr/include/
      > libbonoboui-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/
      > gtk-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gnome-vfs-2.0 -I/
      > usr/lib/gnome-vfs-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/
      > libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/
      > libxml2 -I/usr/include/gail-1.0 -I/usr/lib/gtk-2.0/include -I/usr/
      > include/cairo -I/usr/include/pixman-1 -Wall -g -O2 -
      > D_FORTIFY_SOURCE=1 -I/usr/include/tcl8.4 -D_REENTRANT=1 -
      > D_THREAD_SAFE=1 -D_LARGEFILE64_SOURCE=1 -I/usr/lib/ruby/1.8/x86_64-
      > linux -DRUBY_VERSION=18
      > Linking: gcc -L/usr/lib/x86_64-linux-gnu -L. -Wl,-Bsymbolic-
      > functions -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,--as-needed -o
      > vim -pthread -L/usr/lib/x86_64-linux-gnu -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 -lgmodule-2.0
      > -lgthread-2.0 -lrt -lglib-2.0 -L/usr/lib/x86_64-linux-gnu -
      > lgnomeui-2 -lbonoboui-2 -lgnomevfs-2 -lgnomecanvas-2 -lgnome-2 -lpopt -
      > lbonobo-2 -lbonobo-activation -lORBit-2 -lart_lgpl_2 -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 -lgconf-2 -
      > lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lXt -
      > lncurses -lselinux -lacl -lgpm -Wl,-E -fstack-protector -L/usr/
      > local/lib -L/usr/lib/perl/5.10/CORE -L/usr/lib -ltcl8.4 -lieee -
      > lruby1.8 -lrt -lm
      >
      >
      > Regard,
      > Peng
      >
      >
      > $ cat main.pl
      > #!/usr/bin/env perl
      >
      > use strict;
      > use warnings;
      >
      > #use feature ":5.10";
      > use feature "switch";
      >
      > sub test_given {
      > my ($foo)=@_;
      > given($foo) {
      > when (undef) {
      > print '$foo is undefined';
      > }
      > when ("foo") {
      > print '$foo is the string "foo"';
      > }
      > when ([1,3,5,7,9]) {
      > print '$foo is an odd digit';
      > continue; # Fall through
      > }
      > when ($_ < 100) {
      > print '$foo is numerically less than 100';
      > }
      > when (\&complicated_check) {
      > print 'a complicated check for $foo is true';
      > }
      > default {
      > die q(I don't know what to do with $foo);
      > }
      > }
      > }
      >
      >
      > test_given('foo')
    Your message has been successfully submitted and would be delivered to recipients shortly.