# HG changeset patch # User Claus Gittinger # Date 1425089757 -3600 # Node ID cab2f398e8da249500ea19dc3524930a40bb78d4 # Parent abf44e74df2fad31aec7f071a86f2bd866817a66 class: SyntaxHighlighter2 changed: #rememberVariableElementFor:from:to:assigned: diff -r abf44e74df2f -r cab2f398e8da SyntaxHighlighter2.st --- a/SyntaxHighlighter2.st Sat Feb 28 03:09:29 2015 +0100 +++ b/SyntaxHighlighter2.st Sat Feb 28 03:15:57 2015 +0100 @@ -1047,17 +1047,19 @@ ! rememberVariableElementFor:node from:pos1 to:pos2 assigned:assigned - |name typeSymbol key element prev| + |name typeSymbol key element prev dict| node startPosition: pos1 endPosition: pos2. name := node name. typeSymbol := key := node type. + (typeSymbol == #BlockArg or:[typeSymbol == #BlockVariable]) ifTrue:[ - key := (typeSymbol -> node block) + key := (typeSymbol -> currentBlock "node block") ]. - prev := (lastVariableElements at:key ifAbsentPut:[Dictionary new]) at:name ifAbsent:[nil]. + dict := lastVariableElements at:key ifAbsentPut:[Dictionary new]. + prev := dict at:name ifAbsent:[nil]. (prev notNil and:[prev start == pos1]) ifTrue:[ "/ prev assigned:assigned. ^ self @@ -1066,7 +1068,7 @@ element := elements newElementFor: node. prev notNil ifTrue:[prev nextElement:element]. - (lastVariableElements at:key) at:name put:element. + dict at:name put:element. elements add: element. @@ -1076,14 +1078,14 @@ !SyntaxHighlighter2 class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.25 2015-02-27 20:20:50 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.26 2015-02-28 02:15:57 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.25 2015-02-27 20:20:50 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.26 2015-02-28 02:15:57 cg Exp $' ! version_SVN - ^ '$Id: SyntaxHighlighter2.st,v 1.25 2015-02-27 20:20:50 cg Exp $' + ^ '$Id: SyntaxHighlighter2.st,v 1.26 2015-02-28 02:15:57 cg Exp $' ! !