Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

More about ${(l:e::s1::s2:)param}



The info says:

`l:'EXPR`::'STRING1`::'STRING2`:'
     Pad the resulting words on the left.  Each word will be truncated
     if required and placed in a field EXPR characters wide.  The space
     to the left will be filled with STRING1 (concatenated as often as
     needed) or spaces if STRING1 is not given.  If both STRING1 and
     STRING2 are given, this string will be placed exactly once
     directly to the left of the resulting word.

`r:'EXPR`::'STRING1`::'STRING2`:'
     As `l', but pad the words on the right.

Apparently "the resulting word" is "the word before padding with STRING1":

zagzig<1> foo=77
zagzig<2> print -- ${(l:5::0::x:)foo}
00x77
zagzig<3> print -- ${(r:5::0::x:)foo} 
77x00

The doc phrasing led me to expect x00077 and 77000x.  What needs fixing,
the doc or the code?

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com



Messages sorted by: Reverse Date, Date, Thread, Author