Changeset 15708 for dotfiles

Show
Ignore:
Timestamp:
07/12/08 23:22:25 (4 months ago)
Author:
cho45
Message:

更新

Location:
dotfiles
Files:
12 added
11 removed
7 modified

Legend:

Unmodified
Added
Removed
  • dotfiles/git/cho45-gitconfig

    r15535 r15708  
    77        di      = diff 
    88        co      = checkout 
    9         ci      = !sh -c 'git commit -av && [ "$(git config --bool svn-remote.svn.autodcommit)" = "true" ] && $HOME/.screen/asyncrun.rb git svn dcommit && echo "dcommit done!"' 
     9        ci      = !sh -c 'git commit -av && [ \"$(git config --bool svn-remote.svn.autodcommit)\" = "true" ] && $HOME/.screen/asyncrun.rb "git svn dcommit && echo dcommit done"' 
    1010        cii     = commit -v 
    1111        svn-ad  = config svn-remote.svn.autodcommit true 
  • dotfiles/vim/cho45/.vim/autoload/Align.vim

    r4521 r15708  
    11" Align: tool to align multiple fields based on one or more separators 
    22"   Author:             Charles E. Campbell, Jr. 
    3 "   Date:               Feb 23, 2006 
    4 "   Version:    29d     ASTRO-ONLY 
     3"   Date:               Mar 06, 2008 
     4"   Version:    33 
    55" GetLatestVimScripts: 294 1 :AutoInstall: Align.vim 
    6 " GetLatestVimScripts: 1066 1 cecutil.vim 
    7 " Copyright:    Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 
     6" GetLatestVimScripts: 1066 1 :AutoInstall: cecutil.vim 
     7" Copyright:    Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1 
    88"               Permission is hereby granted to use and distribute this code, 
    99"               with or without modifications, provided that this copyright 
     
    1515"               of this software. 
    1616" 
    17 "   Usage: Functions {{{1 
    18 "   AlignCtrl(style,..list..) 
    19 " 
    20 "        "default" : Sets AlignCtrl to its default values and clears stack 
    21 "                    AlignCtrl "Ilp1P1=<" '=' 
    22 " 
    23 "         Separators 
    24 "              "=" : all alignment demarcation patterns (separators) are 
    25 "                    equivalent and simultaneously active.  The list of 
    26 "                    separators is composed of such patterns 
    27 "                    (regular expressions, actually). 
    28 "              "C" : cycle through alignment demarcation patterns 
    29 "              "<" : separators aligned to left   if of differing lengths 
    30 "              ">" : separators aligned to right  if of differing lengths 
    31 "              "|" : separators aligned to center if of differing lengths 
    32 " 
    33 "         Alignment/Justification 
    34 "              "l" : left justify  (no list needed) 
    35 "              "r" : right justify (no list needed) 
    36 "              "c" : center        (no list needed) 
    37 "                    Justification styles are cylic: ie. "lcr" would 
    38 "                    mean first field is left-justifed, 
    39 "                        second field is centered, 
    40 "                        third  field is right-justified, 
    41 "                        fourth field is left-justified, etc. 
    42 "              "-" : skip this separator+ws+field 
    43 "              "+" : repeat last alignment/justification indefinitely 
    44 "              ":" : no more alignment/justifcation 
    45 " 
    46 "         Map Support 
    47 "              "m" : next call to Align will AlignPop at end. 
    48 "                    AlignCtrl will AlignPush first. 
    49 " 
    50 "         Padding 
    51 "              "p" : current argument supplies pre-field-padding parameter; 
    52 "                    ie. that many blanks will be applied before 
    53 "                    the field separator. ex. call AlignCtrl("p2"). 
    54 "                    Can have 0-9 spaces.  Will be cycled through. 
    55 "              "P" : current argument supplies post-field-padding parameter; 
    56 "                    ie. that many blanks will be applied after 
    57 "                    the field separator. ex. call AlignCtrl("P3") 
    58 "                    Can have 0-9 spaces.  Will be cycled through. 
    59 " 
    60 "         Initial White Space 
    61 "              "I" : preserve first line's leading whitespace and re-use 
    62 "                    subsequently 
    63 "              "W" : preserve leading whitespace on every line 
    64 "              "w" : don't preserve leading whitespace 
    65 " 
    66 "         Selection Patterns 
    67 "              "g" : restrict alignment to pattern 
    68 "              "v" : restrict alignment to not-pattern 
    69 " 
    70 "              If no arguments are supplied, AlignCtrl() will list 
    71 "              current settings. 
    72 " 
    73 "   [range]Align(..list..) 
    74 "              Takes a range and performs the specified alignment on the 
    75 "              text.  The range may be :line1,line2 etc, or visually selected. 
    76 "              The list is a list of patterns; the current s:AlignCtrl 
    77 "              will be used ('=' or 'C'). 
    78 " 
    79 "   Usage: Commands     {{{1 
    80 "   AlignCtrl                : lists current alignment settings 
    81 "   AlignCtrl style ..list.. : set alignment separators 
    82 "   AlignCtrl {gv} pattern   : apply alignment only to lines which match (g) 
    83 "                              or don't match (v) the given pattern 
    84 "   [range]Align ..list..    : applies Align() over the specified range 
    85 "                              The range may be specified via 
    86 "                              visual-selection as well as the usual 
    87 "                              [range] specification.  The ..list.. 
    88 "                              is a list of alignment separators. 
    89 " 
    9017" Romans 1:16,17a : For I am not ashamed of the gospel of Christ, for it is {{{1 
    9118" the power of God for salvation for everyone who believes; for the Jew first, 
     
    9825 finish 
    9926endif 
    100 let g:loaded_align = "v29d" 
     27let g:loaded_align = "v33" 
    10128let s:keepcpo      = &cpo 
    10229set cpo&vim 
    103  
    104 " debugging support 
     30"DechoTabOn 
     31 
     32" --------------------------------------------------------------------- 
     33" Debugging Support: 
    10534"if !exists("g:loaded_Decho") "Decho 
    10635" runtime plugin/Decho.vim 
     
    10837 
    10938" --------------------------------------------------------------------- 
    110  
    11139" AlignCtrl: enter alignment patterns here {{{1 
    11240" 
     
    14371fun! Align#AlignCtrl(...) 
    14472 
    145 "  call Dfunc("AlignCtrl()") 
     73"  call Dfunc("AlignCtrl(...) a:0=".a:0) 
    14674 
    14775  " save options that will be changed 
     
    15987    echomsg "Align needs at least Vim version 6.2 to clear visual-mode selection" 
    16088   endif 
    161   else 
     89  elseif exists("s:dovisclear") 
     90"   call Decho("clearing visual mode a:0=".a:0." a:1<".a:1.">") 
    16291   let clearvmode= visualmode(1) 
    16392  endif 
    16493 
     94  " set up a list akin to an argument list 
    16595  if a:0 > 0 
    166    let style = a:1 
     96   let A= s:QArgSplitter(a:1) 
     97  else 
     98   let A=[0] 
     99  endif 
     100 
     101  if A[0] > 0 
     102   let style = A[1] 
    167103 
    168104   " Check for bad separator patterns (zero-length matches) 
     
    170106   if style !~# '[gv]' 
    171107    let ipat= 2 
    172     while ipat <= a:0 
    173      if "" =~ a:{ipat} 
    174       echoerr "AlignCtrl: separator<".a:{ipat}."> matches zero-length string" 
     108    while ipat <= A[0] 
     109     if "" =~ A[ipat] 
     110      echoerr "AlignCtrl: separator<".A[ipat]."> matches zero-length string" 
    175111          let &ic= keep_ic 
    176112"      call Dret("AlignCtrl") 
     
    182118  endif 
    183119 
    184 "  call Decho("AlignCtrl() a:0=".a:0) 
     120"  call Decho("AlignCtrl() A[0]=".A[0]) 
    185121  if !exists("s:AlignStyle") 
    186122   let s:AlignStyle= "l" 
     
    196132  endif 
    197133 
    198   if a:0 == 0 
     134  if A[0] == 0 
    199135   " ---------------------- 
    200136   " List current selection 
     
    220156   " Process alignment control settings 
    221157   " ---------------------------------- 
     158"   call Decho("process the alignctrl settings") 
    222159"   call Decho("style<".style.">") 
    223160 
     
    228165          " clear AlignCtrl stack 
    229166      while s:AlignCtrlStackQty > 0 
    230            call AlignPop() 
     167           call Align#AlignPop() 
    231168          endwhile 
    232169          unlet s:AlignCtrlStackQty 
     
    236173         call Align#AlignCtrl("g") 
    237174         call Align#AlignCtrl("v") 
    238          let &ic= keep_ic 
    239          let @/ = keep_search 
     175         let s:dovisclear = 1 
     176         let &ic          = keep_ic 
     177         let @/           = keep_search 
    240178"     call Dret("AlignCtrl") 
    241179         return 
     
    245183        " map support: Do an AlignPush now and the next call to Align() 
    246184        "              will do an AlignPop at exit 
     185"       call Decho("style case m: do AlignPush") 
    247186        call Align#AlignPush() 
    248187        let s:DoAlignPop= 1 
     
    251190   " = : record a list of alignment patterns that are equivalent 
    252191   if style =~# "=" 
    253 "    call Decho("AlignCtrl: record list of alignment patterns") 
     192"       call Decho("style case =: record list of equiv alignment patterns") 
    254193    let s:AlignCtrl  = '=' 
    255         if a:0 >= 2 
     194        if A[0] >= 2 
    256195     let s:AlignPatQty= 1 
    257      let s:AlignPat_1 = a:2 
     196     let s:AlignPat_1 = A[2] 
    258197     let ipat         = 3 
    259      while ipat <= a:0 
    260       let s:AlignPat_1 = s:AlignPat_1.'\|'.a:{ipat} 
     198     while ipat <= A[0] 
     199      let s:AlignPat_1 = s:AlignPat_1.'\|'.A[ipat] 
    261200      let ipat         = ipat + 1 
    262201     endwhile 
     
    267206    "c : cycle through alignment pattern(s) 
    268207   elseif style =~# 'C' 
    269 "    call Decho("AlignCtrl: cycle through alignment pattern(s)") 
     208"       call Decho("style case C: cycle through alignment pattern(s)") 
    270209    let s:AlignCtrl  = 'C' 
    271         if a:0 >= 2 
    272      let s:AlignPatQty= a:0 - 1 
     210        if A[0] >= 2 
     211     let s:AlignPatQty= A[0] - 1 
    273212     let ipat         = 1 
    274      while ipat < a:0 
    275       let s:AlignPat_{ipat}= a:{ipat+1} 
     213     while ipat < A[0] 
     214      let s:AlignPat_{ipat}= A[ipat+1] 
    276215"     call Decho("AlignCtrl<".s:AlignCtrl."> AlignQty=".s:AlignPatQty." AlignPat_".ipat."<".s:AlignPat_{ipat}.">") 
    277216      let ipat= ipat + 1 
     
    282221   if style =~# 'p' 
    283222    let s:AlignPrePad= substitute(style,'^.*p\(\d\+\).*$','\1','') 
     223"       call Decho("style case p".s:AlignPrePad.": pre-separator padding") 
    284224    if s:AlignPrePad == "" 
    285225     echoerr "AlignCtrl: 'p' needs to be followed by a numeric argument' 
     
    293233   if style =~# 'P' 
    294234    let s:AlignPostPad= substitute(style,'^.*P\(\d\+\).*$','\1','') 
     235"       call Decho("style case P".s:AlignPostPad.": post-separator padding") 
    295236    if s:AlignPostPad == "" 
    296237     echoerr "AlignCtrl: 'P' needs to be followed by a numeric argument' 
     
    303244 
    304245   if     style =~# 'w' 
     246"       call Decho("style case w: ignore leading whitespace") 
    305247        let s:AlignLeadKeep= 'w' 
    306248   elseif style =~# 'W' 
     249"       call Decho("style case w: keep leading whitespace") 
    307250        let s:AlignLeadKeep= 'W' 
    308251   elseif style =~# 'I' 
     252"       call Decho("style case w: retain initial leading whitespace") 
    309253        let s:AlignLeadKeep= 'I' 
    310254   endif 
     
    312256   if style =~# 'g' 
    313257        " first list item is a "g" selector pattern 
    314         if a:0 < 2 
     258"       call Decho("style case g: global selector pattern") 
     259        if A[0] < 2 
    315260         if exists("s:AlignGPat") 
    316261          unlet s:AlignGPat 
     
    318263         endif 
    319264        else 
    320          let s:AlignGPat= a:2 
     265         let s:AlignGPat= A[2] 
    321266"        call Decho("s:AlignGPat<".s:AlignGPat.">") 
    322267        endif 
    323268   elseif style =~# 'v' 
    324269        " first list item is a "v" selector pattern 
    325         if a:0 < 2 
     270"       call Decho("style case v: global selector anti-pattern") 
     271        if A[0] < 2 
    326272         if exists("s:AlignVPat") 
    327273          unlet s:AlignVPat 
     
    329275         endif 
    330276        else 
    331          let s:AlignVPat= a:2 
     277         let s:AlignVPat= A[2] 
    332278"        call Decho("s:AlignVPat<".s:AlignVPat.">") 
    333279        endif 
     
    336282    "[-lrc+:] : set up s:AlignStyle 
    337283   if style =~# '[-lrc+:]' 
     284"       call Decho("style case [-lrc+:]: field justification") 
    338285    let s:AlignStyle= substitute(style,'[^-lrc:+]','','g') 
    339 "   call Decho("AlignStyle<".s:AlignStyle.">") 
     286"    call Decho("AlignStyle<".s:AlignStyle.">") 
    340287   endif 
    341288 
    342289   "[<>|] : set up s:AlignSep 
    343290   if style =~# '[<>|]' 
     291"       call Decho("style case [-lrc+:]: separator justification") 
    344292        let s:AlignSep= substitute(style,'[^<>|]','','g') 
    345293"       call Decho("AlignSep ".s:AlignSep) 
     
    356304  let &ic= keep_ic 
    357305 
    358 "  call Dret("AlignCtrl") 
     306"  call Dret("AlignCtrl ".s:AlignCtrl.'p'.s:AlignPrePad.'P'.s:AlignPostPad.s:AlignLeadKeep.s:AlignStyle) 
    359307  return s:AlignCtrl.'p'.s:AlignPrePad.'P'.s:AlignPostPad.s:AlignLeadKeep.s:AlignStyle 
    360308endfun 
     
    375323 
    376324" --------------------------------------------------------------------- 
    377 " Align: align selected text based on alignment pattern(s) {{{1 
    378 fun! Align#Align(...) range 
    379 "  call Dfunc("Align()") 
     325" Align#Align: align selected text based on alignment pattern(s) {{{1 
     326fun! Align#Align(hasctrl,...) range 
     327"  call Dfunc("Align#Align(hasctrl=".a:hasctrl.",...) a:0=".a:0) 
     328 
     329  " sanity check 
     330  if string(a:hasctrl) != "0" && string(a:hasctrl) != "1" 
     331   echohl Error|echo 'usage: Align#Align(hasctrl<'.a:hasctrl.'> (should be 0 or 1),"separator(s)"  (you have '.a:0.') )'|echohl None 
     332"   call Dret("Align#Align") 
     333   return 
     334  endif 
     335 
     336  " set up a list akin to an argument list 
     337  if a:0 > 0 
     338   let A= s:QArgSplitter(a:1) 
     339  else 
     340   let A=[0] 
     341  endif 
     342 
     343  " if :Align! was used, then the first argument is (should be!) an AlignCtrl string 
     344  " Note that any alignment control set this way will be temporary. 
     345  let hasctrl= a:hasctrl 
     346"  call Decho("hasctrl=".hasctrl) 
     347  if a:hasctrl && A[0] >= 1 
     348"   call Decho("Align! : using A[1]<".A[1]."> for AlignCtrl") 
     349   if A[1] =~ '[gv]' 
     350        let hasctrl= hasctrl + 1 
     351        call Align#AlignCtrl('m') 
     352    call Align#AlignCtrl(A[1],A[2]) 
     353"    call Decho("Align! : also using A[2]<".A[2]."> for AlignCtrl") 
     354   elseif A[1] !~ 'm' 
     355    call Align#AlignCtrl(A[1]."m") 
     356   else 
     357    call Align#AlignCtrl(A[1]) 
     358   endif 
     359  endif 
    380360 
    381361  " Check for bad separator patterns (zero-length matches) 
    382   let ipat= 1 
    383   while ipat <= a:0 
    384    if "" =~ a:{ipat} 
    385         echoerr "Align: separator<".a:{ipat}."> matches zero-length string" 
    386 "    call Dret("Align") 
     362  let ipat= 1 + hasctrl 
     363  while ipat <= A[0] 
     364   if "" =~ A[ipat] 
     365        echoerr "Align: separator<".A[ipat]."> matches zero-length string" 
     366"    call Dret("Align#Align") 
    387367        return 
    388368   endif 
     
    396376  set noic report=10000 
    397377 
     378  if A[0] > hasctrl 
    398379  " Align will accept a list of separator regexps 
    399   if a:0 > 0 
    400 "   call Decho("a:0=".a:0.": accepting list of separator regexp") 
     380"   call Decho("A[0]=".A[0].": accepting list of separator regexp") 
    401381 
    402382   if s:AlignCtrl =~# "=" 
    403 "    call Decho("AlignCtrl: record list of alignment patterns") 
     383        "= : consider all separators to be equivalent 
     384"    call Decho("AlignCtrl: record list of equivalent alignment patterns") 
    404385    let s:AlignCtrl  = '=' 
    405     let s:AlignPat_1 = a:1 
     386    let s:AlignPat_1 = A[1 + hasctrl] 
    406387    let s:AlignPatQty= 1 
    407     let ipat         = 2 
    408     while ipat <= a:0 
    409      let s:AlignPat_1 = s:AlignPat_1.'\|'.a:{ipat} 
     388    let ipat         = 2 + hasctrl 
     389    while ipat <= A[0] 
     390     let s:AlignPat_1 = s:AlignPat_1.'\|'.A[ipat] 
    410391     let ipat         = ipat + 1 
    411392    endwhile 
     
    413394"    call Decho("AlignCtrl<".s:AlignCtrl."> AlignPat<".s:AlignPat_1.">") 
    414395 
     396   elseif s:AlignCtrl =~# 'C' 
    415397    "c : cycle through alignment pattern(s) 
    416    elseif s:AlignCtrl =~# 'C' 
    417398"    call Decho("AlignCtrl: cycle through alignment pattern(s)") 
    418399    let s:AlignCtrl  = 'C' 
    419     let s:AlignPatQty= a:0 
     400    let s:AlignPatQty= A[0] - hasctrl 
    420401    let ipat         = 1 
    421     while ipat <= a:0 
    422      let s:AlignPat_{ipat}= a:{ipat} 
     402    while ipat <= s:AlignPatQty 
     403     let s:AlignPat_{ipat}= A[(ipat + hasctrl)] 
    423404"     call Decho("AlignCtrl<".s:AlignCtrl."> AlignQty=".s:AlignPatQty." AlignPat_".ipat."<".s:AlignPat_{ipat}.">") 
    424405     let ipat= ipat + 1 
     
    438419   let endcol  = virtcol("'<")-1 
    439420  endif 
     421"  call Decho("begcol=".begcol." endcol=".endcol) 
    440422  let begline  = a:firstline 
    441423  let endline  = a:lastline 
     
    444426   let endline = a:firstline 
    445427  endif 
     428"  call Decho("begline=".begline." endline=".endline) 
    446429  let fieldcnt = 0 
    447430  if (begline == line("'>") && endline == line("'<")) || (begline == line("'<") && endline == line("'>")) 
    448431   let vmode= visualmode() 
     432"   call Decho("vmode=".vmode) 
    449433   if vmode == "\<c-v>" 
    450     let ragged   = ( col("'>") > strlen(getline("'>")) || col("'<") > strlen(getline("'<")) ) 
     434        if exists("g:Align_xstrlen") && g:Align_xstrlen 
     435     let ragged   = ( col("'>") > s:Strlen(getline("'>")) || col("'<") > s:Strlen(getline("'<")) ) 
     436        else 
     437     let ragged   = ( col("'>") > strlen(getline("'>")) || col("'<") > strlen(getline("'<")) ) 
     438        endif 
    451439   else 
    452440        let ragged= 1 
     
    458446   let begcol= 0 
    459447  endif 
    460 "  call Decho("Align() lines[".begline.",".endline."] col[".begcol.",".endcol."] ragged=".ragged." AlignCtrl<".s:AlignCtrl.">") 
     448"  call Decho("lines[".begline.",".endline."] col[".begcol.",".endcol."] ragged=".ragged." AlignCtrl<".s:AlignCtrl.">") 
    461449 
    462450  " Keep user options 
    463451  let etkeep   = &et 
    464452  let pastekeep= &paste 
    465   set et paste 
     453  setlocal et paste 
    466454 
    467455  " convert selected range of lines to use spaces instead of tabs 
     
    489477    let txt = getline(line) 
    490478"    call Decho(" ") 
    491 "    call Decho("Line ".line." <".txt.">") 
     479"    call Decho("Pass".pass.": Line ".line." <".txt.">") 
    492480 
    493481    " AlignGPat support: allows a selector pattern (akin to g/selector/cmd ) 
    494482    if exists("s:AlignGPat") 
    495 "        call Decho("AlignGPat<".s:AlignGPat.">") 
     483"        call Decho("Pass".pass.": AlignGPat<".s:AlignGPat.">") 
    496484         if match(txt,s:AlignGPat) == -1 
    497 "         call Decho("skipping") 
     485"         call Decho("Pass".pass.": skipping") 
    498486          let line= line + 1 
    499487          continue 
     
    503491    " AlignVPat support: allows a selector pattern (akin to v/selector/cmd ) 
    504492    if exists("s:AlignVPat") 
    505 "        call Decho("AlignGPat<".s:AlignGPat.">") 
     493"        call Decho("Pass".pass.": AlignVPat<".s:AlignVPat.">") 
    506494         if match(txt,s:AlignVPat) != -1 
    507 "         call Decho("skipping") 
     495"         call Decho("Pass".pass.": skipping") 
    508496          let line= line + 1 
    509497          continue 
     
    513501        " Always skip blank lines 
    514502        if match(txt,'^\s*$') != -1 
    515 "         call Decho("skipping") 
     503"         call Decho("Pass".pass.": skipping") 
    516504         let line= line + 1 
    517505         continue 
     
    519507 
    520508    " Extract visual-block selected text (init bgntxt, endtxt) 
    521     let txtlen= strlen(txt) 
     509        if exists("g:Align_xstrlen") && g:Align_xstrlen 
     510     let txtlen= s:Strlen(txt) 
     511        else 
     512     let txtlen= strlen(txt) 
     513        endif 
    522514    if begcol > 0 
    523515         " Record text to left of selected area 
    524516     let bgntxt= strpart(txt,0,begcol) 
    525 "         call Decho("record text to left: bgntxt<".bgntxt.">") 
     517"         call Decho("Pass".pass.": record text to left: bgntxt<".bgntxt.">") 
    526518    elseif s:AlignLeadKeep == 'W' 
    527519         let bgntxt= substitute(txt,'^\(\s*\).\{-}$','\1','') 
    528 "         call Decho("retaining all leading ws: bgntxt<".bgntxt.">") 
     520"         call Decho("Pass".pass.": retaining all leading ws: bgntxt<".bgntxt.">") 
    529521    elseif s:AlignLeadKeep == 'w' || !exists("bgntxt") 
    530522         " No beginning text 
    531523         let bgntxt= "" 
    532 "         call Decho("no beginning text") 
     524"         call Decho("Pass".pass.": no beginning text") 
    533525    endif 
    534526    if ragged 
     
    540532    endif 
    541533"    call Decho(" ") 
    542 "    call Decho("bgntxt<".bgntxt.">") 
    543 "    call Decho("   txt<". txt  .">") 
    544 "    call Decho("endtxt<".endtxt.">") 
     534"    call Decho("Pass".pass.": bgntxt<".bgntxt.">") 
     535"    call Decho("Pass".pass.":    txt<". txt  .">") 
     536"    call Decho("Pass".pass.": endtxt<".endtxt.">") 
     537        if !exists("s:AlignPat_{1}") 
     538         echohl Error|echo "no separators specified!"|echohl None 
     539"     call Dret("Align#Align") 
     540         return 
     541        endif 
    545542 
    546543    " Initialize for both passes 
     
    558555        let alignophold = " " 
    559556        let alignop     = "l" 
    560 "       call Decho("initial alignstyle<".alignstyle."> seppat<".seppat.">") 
     557"       call Decho("Pass".pass.": initial alignstyle<".alignstyle."> seppat<".seppat.">") 
    561558 
    562559    " Process each field on the line 
     
    566563     if s:AlignCtrl == 'C' && doend == 1 
    567564          let seppat   = s:AlignPat_{ipat} 
    568 "         call Decho("processing field: AlignCtrl=".s:AlignCtrl." ipat=".ipat." seppat<".seppat.">") 
     565"         call Decho("Pass".pass.": processing field: AlignCtrl=".s:AlignCtrl." ipat=".ipat." seppat<".seppat.">") 
    569566