Updates: Cc: -siguctua Comment #8 on issue 3247 by stephane.ducasse: Remodel Text Constants http://code.google.com/p/pharo/issues/detail?id=3247 Then I do not understand why You changed | letter varAndValue tempArray width | "CtrlA..CtrlZ, Ctrla..Ctrlz" letter := $A. #( 212 230 228 196 194 226 241 243 214 229 200 217 246 245 216 202 210 239 211 240 197 198 209 215 242 231 1 166 228 132 130 12 232 179 150 165 136 153 182 14 15 138 17 18 19 11 21 134 145 151 178 167 ) do: [:kbd | TextContants at: ('Ctrl', letter asSymbol) asSymbol put: kbd asCharacter. letter := letter == $Z ifTrue: [$a] ifFalse: [(letter asciiValue + 1) asCharacter]]. into | letter varAndValue tempArray width | "CtrlA..CtrlZ, Ctrla..Ctrlz" letter := $A. #( 212 230 228 196 194 226 241 243 214 229 200 217 246 245 216 202 210 239 211 240 197 198 209 215 242 231 1 166 228 132 130 12 232 179 150 165 136 153 182 14 15 138 17 18 19 11 21 134 145 151 178 167 ) do: [:kbd | SharedDictionary at: ('Ctrl', letter asSymbol) asSymbol put: kbd asCharacter. letter := letter == $Z ifTrue: [$a] ifFalse: [(letter asciiValue + 1) asCharacter]]. The idea is to have TextConstant (the new shared) containing the constants and the other dictionary the variable part but here this is clearly constant.