Thanks Iavor, nothing ventured nothing gained I went ahead and made that change.

I can't find any difference in behaviour for well-formed code. I can't find any difference in whether code is accepted/rejected.

But there's a difference in error messages for ill-formed code, specifically ill-formed qualified vars/constrs:

* standard-issue Hugs reports 
    Undefined qualified variable "Mod1.Sub2.Subsub3.
    "
    -- that is, shows trailing spaces and newline after the trailing dot.

* modified Hugs reports
    Syntax error in expression (unexpected `;', possibly due to bad layout)
    -- or unexpected `}'  -- these are pseudo- semicolon/closing brace, not actually in the file
    -- that is, it's 'munched' the trailing spaces and newline, then bumped into start of next statement
    -- so layout-control inserts the pseudo-'s

Then perhaps that smelly code is deliberate, to give a more helpful rejection message? hmm hmm

I still can't see why/how the parsing works for well-formed qualified vars/constrs. But best to let sleeping dogs lie.

AntC

On Tue, 15 Jun 2021 at 03:13, Iavor Diatchki <iavor.diatchki@gmail.com> wrote:
I don't not know that code either, but looking at the comments and the surrounding code, my guess is that the 2nd `c0` should be `c1`,
and it is checking for something like `.` followed by either a lower case or upper case or symbol operator.