On Sat, 23 Feb 2008, Junio C Hamano wrote: > Jakub Narebski <jnareb@xxxxxxxxx> writes: > > > # regexps: ending and beginning with word part up to $add_len > > my $endre = qr/.{0,$len}[^ \/\-_:\.@]{0,$add_len}/; > > my $begre = qr/[^ \/\-_:\.@]{0,$add_len}.{0,$len}/; > > I have no idea what these line noise characters inside [] are. > Did you mean something like "\w"? They were in original chop_str, written by Kay Sievers if I have checked correctly, I have only repeated it. But changing it to "\w" might be a good idea. > I have a suspicion that it may be easier to read and could be > even more efficient to split an overlong line at word boundaries > and to remove elements from the end you are removing from until > it fits. > > sub chop_whence { > my ($line, $max, $slop, $where) = @_; IMHO it is neither easier to read, nor more efficient. And changes semantic a bit. Original chop_str used to mean: chop_str($str, $len, $add_len) means: Try to chop on a word boundary between position $len and $len+$add_len. If there is no word boundary between $len and $len+$add_len, chop at $add_len, and replace chopped part by " ...". Do not chop if to be replaced part is shorter than ellipsis, i.e. " ..." replacement. (I think I add this description to gitweb). With this description the code is I think quite obvious. -- Jakub Narebski Poland - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html