<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><br>Good morning.<div><br></div><div>Asking advice on approach to fixing this the right way. End result is at minimum a functioning class and a test to catch this stuff going forward.</div><div><br></div><div><br></div><div>On Squeak 5.1 16551</div><div><br></div><div>First, to recreate the issue..</div><div><br></div><div><br></div><div><br><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div>PG3SchemaMirror subclass: #MyDBSchemaMirror  </div><div><br></div><div><br></div></blockquote><span style="background-color: rgb(245, 245, 245);">(and get it talking to the db via instructions here: http://forum.world.st/Status-of-PostgresV3-td4780110.html)</span><br>Then, via those same instructions, get a Postgres Function downloaded to Squeak or attempt to enter one by hand.</div><div><br></div><div><br></div><div>Second, the symptoms </div><div><br></div><div>The SHParserST80) attempts to parse the code and a "Proceed for Truth" errors start popping up.</div><div><br></div><div><br></div><div>Debugging it, the culprit is in<br><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div>PG3ShoutParser(SHParserST80)>>scanIdentifier</div><div><br></div><div><br></div><div><br></div><div>(c := self nextChar) isAlphaNumeric</div><div><span style="white-space:pre">                 </span>or: [ allowUnderscoreSelectors and: [ c == $_ ] ] ] whileTrue.</div><div><span style="white-space:pre">                </span></div><div><span style="white-space:pre">      </span></div><div><span style="white-space: pre;">    </span> </div></blockquote><div><br></div>Where allowUnderscoreSelectors is undefined.<br><br></div><div>As a quick fix attempt, changing to <br><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div>Scanner allowUnderscoreAsAssignment </div></blockquote> makes that error go away. However, new ones start popping up, so I decided to dig into things a bit more.</div><div><br></div><div><br></div><div>Scanner is the wrong approach, because it and SHParserST80 are not related via inheritence (although they do share a common instance variable named "allowUnderscoreSelectors"</div><div><br></div><div>I wondering if SHParserST80 is superceded by Scanner and if so, I am wondering the best way to approach this bug.</div><div><br></div><div>Should I fix it within the SHParserST80 paradigm or is migration to Scanner in order?</div><div><br></div><div>Thx for your time.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br></body></html>