<!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 >I will download a fresh image tomorrow and try to reproduce. Thx<div id="signid"></div><br><br><div id="replyid"><br><br><br>---- On Tue, 27 Feb 2018 20:51:00 -0500 <b>leves@caesar.elte.hu</b> wrote ---- <blockquote style="border-left: 1px solid rgb(0, 0, 255); padding-left: 6px;"><div><BR /> On Tue, 27 Feb 2018, gettimothy wrote: <BR /> <br> <BR /> <br>> <BR /> <br>> Good morning. <BR /> <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 /> <br>> <BR /> <br>> On Squeak 5.1 16551 <BR /> <br>> <BR /> <br>> First, to recreate the issue.. <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> PG3SchemaMirror subclass: #MyDBSchemaMirror   <BR /> <br>> <BR /> <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 /> <br>> Then, via those same instructions, get a Postgres Function downloaded to Squeak or attempt to enter one by hand. <BR /> <br>> <BR /> <br>> <BR /> <br>> Second, the symptoms  <BR /> <br>> <BR /> <br>> The SHParserST80) attempts to parse the code and a "Proceed for Truth" errors start popping up. <BR /> <br>> <BR /> <br>> <BR /> <br>> Debugging it, the culprit is in <BR /> <br>> PG3ShoutParser(SHParserST80)>>scanIdentifier <BR /> <br> <BR /> <br>Somehow it was not initialized properly. <BR /> <br> <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> (c := self nextChar) isAlphaNumeric <BR /> <br>> or: [ allowUnderscoreSelectors and: [ c == $_ ] ] ] whileTrue. <BR /> <br>>   <BR /> <br>> <BR /> <br>> <BR /> <br>> Where allowUnderscoreSelectors is undefined. <BR /> <br>> <BR /> <br>> As a quick fix attempt, changing to <BR /> <br>> Scanner allowUnderscoreAsAssignment  <BR /> <br>> <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> <BR /> <br>allowUnderscoreSelectors should be initialized by SHParserST80 >> #parse: <BR /> <br>to the value of the expression: Scanner prefAllowUnderscoreSelectors. <BR /> <br>What does that expression evaluate to in your image? <BR /> <br> <BR /> <br>> <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>> <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> <BR /> <br>No, the two are somewhat unrelated. <BR /> <br>Scanner is the scanner used by the Compiler. <BR /> <br>SHParserST80 is the parser used for syntax highlighting only. <BR /> <br>The former is there to compile your code within a few hundred <BR /> <br>milliseconds (on slower machines). <BR /> <br>The latter is there to highlight your code within a few milliseconds <BR /> <br>(on slower machines). It does that every time you press a key. <BR /> <br> <BR /> <br>> <BR /> <br>> Should I fix it within the SHParserST80 paradigm or is migration to Scanner in order? <BR /> <br> <BR /> <br>No, and no. Something is fishy in your image. Answering my question above <BR /> <br>should get you closer to the solution. <BR /> <br> <BR /> <br>Levente <BR /> <br> <BR /> <br>> <BR /> <br>> Thx for your time. <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>> <BR /> <br>><BR /> <br><BR /></div></blockquote></div><br></body></html>