<!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;'>Problem solved.<div><br></div><div>I had loaded PostgresV3 from smalltalkhub(?) insteak of squeaksource.</div><div><br></div><div>The other repo is out of date.</div><div><br></div><div>thanks!<br><div class="zmail_extra"><div id="1"><br>---- On Tue, 27 Feb 2018 20:51:00 -0500 <b>Levente Uzonyi <leves@caesar.elte.hu></b> wrote ---- <br></div><blockquote style="border-left: 1px solid #0000FF;padding-left: 6px; margin: 0 0 0 5px"><div> On Tue, 27 Feb 2018, gettimothy wrote: <br> <br>> <br>> Good morning. <br>> 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. <br>> <br>> <br>> On Squeak 5.1 16551 <br>> <br>> First, to recreate the issue.. <br>> <br>> <br>> <br>> PG3SchemaMirror subclass: #MyDBSchemaMirror <br>> <br>> <br>> (and get it talking to the db via instructions here: <a href="http://forum.world.st/Status-of-PostgresV3-td4780110.html" target="_blank">http://forum.world.st/Status-of-PostgresV3-td4780110.html</a>) <br>> Then, via those same instructions, get a Postgres Function downloaded to Squeak or attempt to enter one by hand. <br>> <br>> <br>> Second, the symptoms <br>> <br>> The SHParserST80) attempts to parse the code and a "Proceed for Truth" errors start popping up. <br>> <br>> <br>> Debugging it, the culprit is in <br>> PG3ShoutParser(SHParserST80)>>scanIdentifier <br> <br>Somehow it was not initialized properly. <br> <br>> <br>> <br>> <br>> (c := self nextChar) isAlphaNumeric <br>> or: [ allowUnderscoreSelectors and: [ c == $_ ] ] ] whileTrue. <br>> <br>> <br>> <br>> Where allowUnderscoreSelectors is undefined. <br>> <br>> As a quick fix attempt, changing to <br>> Scanner allowUnderscoreAsAssignment <br>> <br>> makes that error go away. However, new ones start popping up, so I decided to dig into things a bit more. <br> <br>allowUnderscoreSelectors should be initialized by SHParserST80 >> #parse: <br>to the value of the expression: Scanner prefAllowUnderscoreSelectors. <br>What does that expression evaluate to in your image? <br> <br>> <br>> <br>> Scanner is the wrong approach, because it and SHParserST80 are not related via inheritence (although they do share a common instance variable named "allowUnderscoreSelectors" <br>> <br>> I wondering if SHParserST80 is superceded by Scanner and if so, I am wondering the best way to approach this bug. <br> <br>No, the two are somewhat unrelated. <br>Scanner is the scanner used by the Compiler. <br>SHParserST80 is the parser used for syntax highlighting only. <br>The former is there to compile your code within a few hundred <br>milliseconds (on slower machines). <br>The latter is there to highlight your code within a few milliseconds <br>(on slower machines). It does that every time you press a key. <br> <br>> <br>> Should I fix it within the SHParserST80 paradigm or is migration to Scanner in order? <br> <br>No, and no. Something is fishy in your image. Answering my question above <br>should get you closer to the solution. <br> <br>Levente <br> <br>> <br>> Thx for your time. <br>> <br>> <br>> <br>> <br>> <br>> <br>> <br>> <br>> <br>> <br>> <br>> <br> </div></blockquote><br></div><br></div></div><br></body></html>