Did this code change? It looks exactly the same to me.

On Tue, Oct 19, 2010 at 7:37 PM, Markus Roberts <[email protected]> wrote:

> This was a regression, not covered by a test; previously the string
>
>    "foo/
>    bar"
>
> would be interpreded as "foobar" but this was changed to "foo\\\nbar" in
> 2.6.x with my string interpolation refactor.  This change restores the
> behaviour.
>
> Signed-off-by: Markus Roberts <[email protected]>
> ---
>  lib/puppet/parser/lexer.rb     |    3 ++-
>  spec/unit/parser/lexer_spec.rb |    1 +
>  2 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/lib/puppet/parser/lexer.rb b/lib/puppet/parser/lexer.rb
> index 9036d65..31d39ae 100644
> --- a/lib/puppet/parser/lexer.rb
> +++ b/lib/puppet/parser/lexer.rb
> @@ -522,13 +522,14 @@ class Puppet::Parser::Lexer
>     # backslash; the caret is there to match empty strings
>     str = @scanner.scan_until(/([^\\]|^|[^\\])([\\]{2})*[#{terminators}]/)
> or lex_error "Unclosed quote after '#{last}' in '#{rest}'"
>     @line += str.count("\n") # literal carriage returns add to the line
> count.
> -    str.gsub!(/\\(.)/) {
> +    str.gsub!(/\\(.)/m) {
>       ch = $1
>       if escapes.include? ch
>         case ch
>         when 'n'; "\n"
>         when 't'; "\t"
>         when 's'; " "
> +        when "\n": ''
>         else      ch
>         end
>       else
> diff --git a/spec/unit/parser/lexer_spec.rb
> b/spec/unit/parser/lexer_spec.rb
> index 2d67bf3..4ee693e 100755
> --- a/spec/unit/parser/lexer_spec.rb
> +++ b/spec/unit/parser/lexer_spec.rb
> @@ -424,6 +424,7 @@ describe Puppet::Parser::Lexer,"when lexing strings" do
>     %q{'single quoted string with an escaped "\\\\"'}               =>
> [[:STRING,'single quoted string with an escaped "\\\\"']],
>      %q{"string with an escaped '\\"'"}                              =>
> [[:STRING,"string with an escaped '\"'"]],
>     %q{"string with an escaped '\\$'"}                              =>
> [[:STRING,"string with an escaped '$'"]],
> +    %Q{"string with an escaped '\\\n'"}                             =>
> [[:STRING,"string with an escaped ''"]],
>      %q{"string with $v (but no braces)"}                            =>
> [[:DQPRE,"string with "],[:VARIABLE,'v'],[:DQPOST,' (but no braces)']],
>     %q["string with ${v} in braces"]                                =>
> [[:DQPRE,"string with "],[:VARIABLE,'v'],[:DQPOST,' in braces']],
>     %q["string with ${qualified::var} in braces"]                   =>
> [[:DQPRE,"string with "],[:VARIABLE,'qualified::var'],[:DQPOST,' in
> braces']],
> --
> 1.7.0.4
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<puppet-dev%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/puppet-dev?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to