# File lib/rake.rb, line 78
78:     def ext(newext='')
79:       return self.dup if ['.', '..'].include? self
80:       if newext != ''
81:         newext = (newext =~ /^\./) ? newext : ("." + newext)
82:       end
83:       dup.sub!(%r(([^/\\])\.[^./\\]*$)) { $1 + newext } || self + newext
84:     end